Commit Graph
15 Commits
Author SHA1 Message Date
isaaccladandCursor 49ff64eda3 Add hero sections to Transfers and Files index pages.
Deploy Ladill Transfer / deploy (push) Successful in 31s
Surface wallet balance and key stats at a glance, matching the layout used across other Ladill apps.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-04 20:47:15 +00:00
isaaccladandClaude Opus 4.8 a0a706093b Transfer: two-step add-funds modal on insufficient balance
Deploy Ladill Transfer / deploy (push) Successful in 48s
Creating a transfer that the wallet can't cover used to flash a bare error.
Detect the insufficient-balance case and open an in-app two-step modal (billing
explainer -> amount -> Paystack) on the create page instead, with an 'Add funds'
button to top up on demand.

- BillingClient::topup -> POST /api/billing/topup (Transfer already holds its key)
- WalletTopupController + route POST /wallet/topup (user.wallet.topup)
- store() flashes open_topup_modal on TransferWalletErrors::isInsufficientBalance
- service-topup-modal made two-step (uses <x-modal>, plain POST -> checkout)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-26 07:15:38 +00:00
isaaccladandCursor 75fdd0255d Replace native confirm dialogs with Ladill modal for file deletes.
Deploy Ladill Transfer / deploy (push) Successful in 36s
Use the existing ladillConfirm store on the Files page and x-confirm-dialog on transfer delete so confirmations match the rest of Transfer.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-14 23:01:23 +00:00
isaaccladandCursor 9f0822d1ba Unify primary buttons with gradient pill design across the app.
Deploy Ladill Transfer / deploy (push) Successful in 26s
Add shared btn-primary components and plus icons on create/new actions; limit overview recent transfers to three.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-08 22:40:41 +00:00
isaaccladandCursor 1a95915e21 Separate share transfers from Files storage and add folder upload to New transfer.
Deploy Ladill Transfer / deploy (push) Successful in 28s
Transfers lists only intentional shares while Files shows all storage, and New transfer accepts folder picks with flattened file uploads.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-08 22:31:45 +00:00
isaaccladandCursor 1f8f816f34 Widen filter dropdowns so labels clear the chevron icons.
Deploy Ladill Transfer / deploy (push) Successful in 25s
Give status and sort selects minimum width and extra right padding on Transfers and Files toolbars.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-08 21:54:19 +00:00
isaaccladandCursor f458dccd49 Polish Files UI and scope search to mobile-only transfers/files.
Deploy Ladill Transfer / deploy (push) Successful in 41s
Remove desktop header search, wire mobile search to the transfers and files page, refine file icons and Shared badge, and align Transfers toolbar with Files.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-08 21:47:33 +00:00
isaaccladandCursor 19170d6bc7 Add transfer search and OneDrive-style Files storage UI.
Deploy Ladill Transfer / deploy (push) Successful in 29s
Transfers now lists all shares with filters and pagination; Files becomes a selectable cloud view with download, share, delete, move, and open-in-email actions.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-08 20:59:05 +00:00
isaaccladandCursor b36148eeb6 Move Support under Account and fix transfer billing copy.
Deploy Ladill Transfer / deploy (push) Successful in 29s
Align new-transfer and billing page wording with monthly wallet debits instead of implying transfers stay active indefinitely.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-08 20:28:06 +00:00
isaaccladandCursor 6cd2a75498 Fix transfer create uploads getting stuck and failing on submit.
Deploy Ladill Transfer / deploy (push) Successful in 31s
All files now upload through chunked sessions only, the file picker no longer
rewrites the queue on change, and create submits upload_ids instead of a broken
multipart files field.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-08 13:36:27 +00:00
isaaccladandCursor 4b616a7f04 Simplify recipient emails and add live upload progress on create.
Deploy Ladill Transfer / deploy (push) Successful in 47s
Recipients always get the download link immediately when an email is set.
Large files upload in the background with per-file and overall progress bars.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-08 13:25:43 +00:00
isaaccladandCursor 7c4673adb6 Add recipient email and milestone notifications on transfer create.
Deploy Ladill Transfer / deploy (push) Successful in 44s
Recipients can be emailed the download link immediately and at optional
reminders (7/3/1 days before unavailable, or when grace period starts).

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-08 12:38:58 +00:00
isaaccladandCursor 311b5b40bb Bill transfer storage monthly with a 15-day grace period before deletion.
Deploy Ladill Transfer / deploy (push) Successful in 51s
Files stay available while wallet renewals succeed each month. Failed renewals
keep files for TRANSFER_GRACE_PERIOD_DAYS (default 15) before automatic cleanup.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-08 12:28:33 +00:00
isaaccladandCursor 65b634bb0b Add chunked uploads and raise storage rate to GHS 0.30/GB/month.
Deploy Ladill Transfer / deploy (push) Successful in 39s
Large files upload in 5 MB chunks (hosting file manager pattern) for the
transfer UI and Ladill Mail S2S API, with no app-level file size cap when
TRANSFER_MAX_FILE_BYTES=0.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-08 12:07:27 +00:00
isaaccladandCursor c1e3d8b3ac Initial Ladill Transfer app — file sharing with QR links.
Scaffolded from the Ladill mini/events extraction pattern: multi-file transfers,
retention controls, public landing pages, analytics, and Gitea deploy workflow.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-08 09:25:30 +00:00