Skip to content

Commit 8c79a94

Browse files
committed
chore: release version packages
1 parent 57881b3 commit 8c79a94

File tree

7 files changed

+51
-22
lines changed

7 files changed

+51
-22
lines changed

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
# mpesa2csv
22

3+
## 0.7.5
4+
5+
### Patch Changes
6+
7+
- fix: improve sheets stacking
8+
39
## 0.7.4
410

511
### Patch Changes

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "mpesa2csv",
33
"private": true,
4-
"version": "0.7.4",
4+
"version": "0.7.5",
55
"type": "module",
66
"scripts": {
77
"dev": "vite",

src-tauri/Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src-tauri/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "mpesa2csv"
3-
version = "0.7.4"
3+
version = "0.7.5"
44
description = "Convert M-PESA Statements to CSV/Excel Files"
55
authors = ["David Amunga"]
66
edition = "2021"

src-tauri/tauri.conf.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"$schema": "https://schema.tauri.app/config/2",
33
"productName": "mpesa2csv",
4-
"version": "0.7.4",
4+
"version": "0.7.5",
55
"identifier": "com.amunga.david.mpesa2csv",
66
"build": {
77
"beforeDevCommand": "pnpm dev",

src/App.tsx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -423,10 +423,10 @@ function App() {
423423
}, [exportLink]);
424424

425425
return (
426-
<div className="min-h-screen max-h-screen flex flex-col overflow-hidden">
426+
<div className="min-h-screen flex flex-col">
427427
<UpdateChecker autoCheck={true} />
428-
<div className="flex-1 mx-auto px-4 py-4 flex flex-col max-w-4xl w-full">
429-
<main className="flex-1 flex items-center justify-center">
428+
<div className="flex-1 mx-auto px-4 py-4 flex flex-col max-w-4xl w-full overflow-y-auto">
429+
<main className="flex-1 flex items-center justify-center py-4">
430430
<div className="w-full max-w-2xl transition-all duration-300 ease-in-out">
431431
{status === FileStatus.IDLE ||
432432
status === FileStatus.LOADING ||
@@ -493,7 +493,7 @@ function App() {
493493
)}
494494
</div>
495495
) : status === FileStatus.SUCCESS && statements.length > 0 ? (
496-
<div className="rounded-lg px-6 py-6 transition-all duration-300 ">
496+
<div className="rounded-lg px-6 py-6 transition-all duration-300 max-h-full overflow-y-auto">
497497
<div className="text-center mb-5">
498498
<h2 className="text-xl font-semibold text-primary mb-2">
499499
✅ Your Data is Ready!
@@ -575,7 +575,7 @@ function App() {
575575
</div>
576576
</main>
577577

578-
<footer className="flex-shrink-0 text-center text-xs border-t py-3 mt-0">
578+
<footer className="flex-shrink-0 text-center text-xs border-t py-3 mt-4 sticky bottom-0 ">
579579
<div className="flex flex-col sm:flex-row items-center justify-between gap-2">
580580
<p>
581581
Built by{" "}

src/components/export-options.tsx

Lines changed: 36 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -214,29 +214,52 @@ export default function ExportOptions({
214214

215215
{exportFormat === ExportFormat.XLSX && (
216216
<div>
217-
<Label className="block text-sm font-medium mb-3">
218-
Additional Sheets
219-
</Label>
220-
<div className="grid grid-cols-1 gap-3">
217+
<div className="flex items-center justify-between mb-3">
218+
<Label className="text-sm font-medium">Additional Sheets</Label>
219+
<button
220+
type="button"
221+
onClick={() => {
222+
const allSelected = SHEET_OPTIONS.every(
223+
(opt) => exportOptions[opt.key]
224+
);
225+
const newOptions: ExportOptionsType = { ...exportOptions };
226+
SHEET_OPTIONS.forEach((opt) => {
227+
(newOptions as any)[opt.key] = !allSelected;
228+
});
229+
onOptionsChange(newOptions);
230+
}}
231+
className="text-xs text-primary hover:text-primary/80 font-medium transition-colors"
232+
>
233+
{SHEET_OPTIONS.every((opt) => exportOptions[opt.key])
234+
? "Deselect All"
235+
: "Select All"}
236+
</button>
237+
</div>
238+
<div className="grid grid-cols-1 sm:grid-cols-2 gap-3">
221239
{SHEET_OPTIONS.map((option) => (
222-
<div key={option.key} className="flex items-center space-x-2">
240+
<div
241+
key={option.key}
242+
className="flex items-start space-x-2 p-2.5 rounded-lg border border-border/50 hover:border-border hover:bg-muted/30 transition-colors"
243+
>
223244
<Checkbox
224245
id={`sheet-${option.key}`}
225246
checked={Boolean(exportOptions[option.key]) || false}
226247
onCheckedChange={(value) =>
227248
handleOptionChange(option.key, Boolean(value))
228249
}
229-
className="rounded border-gray-300 text-primary focus:ring-primary"
250+
className="rounded border-gray-300 text-primary focus:ring-primary mt-0.5"
230251
/>
231-
<Label
232-
htmlFor={`sheet-${option.key}`}
233-
className="flex-1 text-sm cursor-pointer"
234-
>
235-
{option.name}
236-
</Label>
252+
<div className="flex-1 min-w-0">
253+
<Label
254+
htmlFor={`sheet-${option.key}`}
255+
className="text-sm cursor-pointer font-medium block leading-tight"
256+
>
257+
{option.name}
258+
</Label>
259+
</div>
237260
<Tooltip>
238261
<TooltipTrigger asChild>
239-
<Info className="w-4 h-4 text-gray-400 hover:text-gray-600 cursor-help" />
262+
<Info className="w-4 h-4 text-gray-400 hover:text-gray-600 cursor-help flex-shrink-0 mt-0.5" />
240263
</TooltipTrigger>
241264
<TooltipContent className="max-w-xs">
242265
<p>{option.description}</p>

0 commit comments

Comments
 (0)