Commit Graph

88 Commits

Author SHA1 Message Date
ee8c53d89b feat(infra): add aws lambda pulumi deployment target 2026-03-23 13:56:15 +04:00
2688d66f33 fix(miniapp): hide paid rent reminders on home 2026-03-23 01:04:33 +04:00
5196d8484a fix(miniapp): remove duplicate Your balance card from home screen 2026-03-17 02:37:49 +04:00
2c36802d6d fix(miniapp): translate Split By and Admin Access fields 2026-03-17 02:25:05 +04:00
a91bb00041 fix(miniapp): translate Exact amounts and Percentages split options 2026-03-17 02:21:30 +04:00
58cf69b9b6 fix(miniapp): update balance summary titles to reflect actual values 2026-03-17 00:47:35 +04:00
b981c7cf80 fix(miniapp): use correct totals in balance summary (totalDue, purchase ledger, utility ledger) 2026-03-17 00:39:22 +04:00
748878e789 feat(miniapp): add purchase-only and utilities balance sections to balances view 2026-03-17 00:28:35 +04:00
02c79ae629 feat: add payer control for purchases
- Add explicit payerMemberId field to purchase ledger entries
- Add 'Paid by' selector in mini app purchase add/edit forms
- Default payer to current user when creating new purchases
- Allow admins to change who made existing purchases
- Update backend handlers to accept and persist payerMemberId
- Add i18n translations for 'Paid by' label (EN/RU)

All quality gates pass: build, typecheck, lint, format, test

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-16 17:44:20 +04:00
b71480e9f1 fix(miniapp): prevent focus loss in destinations form 2026-03-16 04:46:09 +04:00
594c370677 refactor(miniapp): unify settings design with editable-list pattern 2026-03-15 03:48:40 +04:00
f8ab08a7cb fix(miniapp): use type import for JSX from solid-js 2026-03-15 03:22:07 +04:00
87f0ad0e8d feat(miniapp): restore utility categories CRUD in settings 2026-03-15 03:16:02 +04:00
25018a3c33 fix(miniapp): translate chat topic role in settings 2026-03-15 03:08:59 +04:00
9c3bb100e3 feat(miniapp): remove members count from home screen purchases card
- Remove 'Members' row from Purchases card in 'no payment' mode
- Remove unused homeMembersCountLabel i18n key from en/ru locales
2026-03-14 12:50:59 +04:00
62d62091a3 feat: add skeleton loading states for initial data load
- Add loading signal to DashboardContext
- Update Skeleton component to accept style prop
- Add skeleton UI to HomeRoute, LedgerRoute, and BalancesRoute
- Use Switch/Match pattern for three-state handling (loading/empty/content)
2026-03-14 11:08:35 +04:00
488a488137 feat: add quick payment action and improve copy button UX
Mini App Home Screen:
- Add 'Record Payment' button to utilities and rent period cards
- Pre-fill payment amount with member's share (rentShare/utilityShare)
- Modal dialog with amount input and currency display
- Toast notifications for copy and payment success/failure feedback

Copy Button Improvements:
- Increase spacing between icon and text (4px → 8px)
- Add hover background and padding for better touch target
- Green background highlight when copied (in addition to icon color change)
- Toast notification appears when copying any value

Backend:
- Add /api/miniapp/payments/add endpoint for quick payments
- Payment notifications sent to 'reminders' topic in Telegram
- Include member name, payment type, amount, and period in notification

Files:
- New: apps/miniapp/src/components/ui/toast.tsx
- Modified: apps/miniapp/src/routes/home.tsx, apps/miniapp/src/index.css,
  apps/miniapp/src/theme.css, apps/miniapp/src/i18n.ts,
  apps/bot/src/miniapp-billing.ts, apps/bot/src/server.ts

Quality Gates:  format, lint, typecheck, build, test

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-14 08:51:53 +04:00
771d64aa4e miniapp: refresh after mutations, activity expand, squash chart palette 2026-03-14 02:40:14 +04:00
1274cefc0f Stabilize purchase functionality: fix ID prefix, uniqueness, and split participant inclusion 2026-03-13 22:29:17 +04:00
31dd1dc2ee fix: purchase split rebalancing and input focus issues
- Add onBlur handler to Input component for rebalancing on blur
- Rewrite rebalancePurchaseSplit to calculate delta vs total and distribute
- Extract ParticipantSplitInputs component with proper SolidJS reactivity
- Button shows 'Balance' when validation fails, 'Save' when valid
- Add i18n keys for purchaseBalanceAction and purchaseRebalanceAction
2026-03-13 10:40:42 +04:00
588174fa52 Support rebalance and validate purchase splits
Add ParticipantShare type and client-side rebalance/validation helpers for purchase splits (rebalancePurchaseSplit, recalculatePercentages, calculateRemainingToAllocate, validatePurchaseDraft). Integrate rebalancing and validation into the miniapp ledger UI (auto-adjust shares, percentage<>amount syncing, remaining/error display, prefill participants on new purchase, disable save when invalid). On the backend, tighten input validation in finance-command-service for custom_amounts (require explicit shares and sum match) and make settlement-engine more lenient when reading legacy/malformed custom splits (ignore missing shares, accept explicit subset). Also add a test ensuring dashboard generation doesn't 500 on legacy malformed purchases.
2026-03-13 07:54:30 +04:00
ba99460a34 fix(feedback): normalize anonymous rate limit timestamps 2026-03-13 06:16:21 +04:00
94a5904f54 feat(miniapp): refine UI and add utility bill management
- Fix collapsible padding and button spacing
- Add subtotal to balance card
- Add utility bill management for admins
- Fix lints and type checks across the monorepo
- Implement rejectPendingHouseholdMember in repository and service
2026-03-13 05:52:34 +04:00
0d2065fd5e feat(miniapp): redesign balance and due-state flows 2026-03-12 14:08:55 +04:00
6053379f31 fix(miniapp): clarify cycle summary and balance sections 2026-03-12 13:12:39 +04:00
a38686c8b0 fix(miniapp): tighten house layout and restore balance details 2026-03-12 12:45:00 +04:00
ae2a54a7bf fix(miniapp): clean up russian household copy 2026-03-12 11:42:21 +04:00
5f37b3cc23 fix(miniapp): refresh data after locale changes 2026-03-12 11:41:08 +04:00
bfe6ae65ae fix(miniapp): tighten add and delete controls 2026-03-12 11:40:11 +04:00
a50b826b40 feat(miniapp): improve billing settings controls 2026-03-12 11:37:57 +04:00
4c19ee798d feat(miniapp): add household general settings 2026-03-12 11:30:11 +04:00
8160f644cc fix(miniapp): keep date-only values stable across timezones 2026-03-12 04:34:45 +04:00
6e49cd1dfd fix(miniapp): refresh billing state and clean up controls 2026-03-12 04:27:46 +04:00
9afa9fc845 feat(miniapp): simplify current-cycle navigation and home summary 2026-03-12 04:11:57 +04:00
4e7400e908 feat(bot): add configurable household assistant behavior 2026-03-12 03:22:43 +04:00
146f5294f4 fix(miniapp): remove balance debug text 2026-03-12 02:57:53 +04:00
789854358e fix(miniapp): address review feedback 2026-03-12 02:28:56 +04:00
135a2301ca feat(miniapp): redesign member balance surfaces 2026-03-12 02:10:22 +04:00
7467d3a4cf fix(miniapp): make dashboard screens react to initial load 2026-03-12 01:32:05 +04:00
7005efbc7b Add category draft state 2026-03-12 01:02:23 +04:00
fa80474f6e fix(miniapp): react to initial dashboard load 2026-03-12 00:21:47 +04:00
a78eb88fa4 fix(bot): hand off reminder dashboard opens through dm 2026-03-11 22:36:43 +04:00
523b5144d8 refactor(miniapp): simplify dashboard layout and controls 2026-03-11 20:57:44 +04:00
e36d3b5d66 refactor(miniapp): polish toolbar and control affordances 2026-03-11 20:21:42 +04:00
74080c32c6 fix(miniapp): consolidate member editor actions 2026-03-11 20:13:04 +04:00
ac48cece8a refactor(miniapp): tighten overview screen density 2026-03-11 19:58:09 +04:00
53d9dea48d feat(miniapp): back data loads with query cache 2026-03-11 19:52:50 +04:00
7035300e03 refactor(miniapp): extract house admin screen 2026-03-11 19:50:33 +04:00
8891c5d471 refactor(miniapp): extract ledger screen 2026-03-11 19:41:37 +04:00
63f31a46db refactor(miniapp): split home and balances screens 2026-03-11 18:48:29 +04:00