79 Commits

Author SHA1 Message Date
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
ebd12eb46e refactor(miniapp): extract shell states and finance visuals 2026-03-11 18:44:12 +04:00
b193f8ddce refactor(miniapp): add rewrite foundation and demo fixtures 2026-03-11 18:41:36 +04:00
d40f5e1d84 feat(miniapp): simplify ready state layout 2026-03-11 17:57:35 +04:00
e07dfeadf5 refactor(miniapp): compact finance and admin editors 2026-03-11 17:22:48 +04:00
69a914711f fix(miniapp): bundle telegram webapp sdk 2026-03-11 16:21:22 +04:00
6ed99b68f4 feat(miniapp): add finance overview visualizations 2026-03-11 15:33:19 +04:00
0787847c19 feat(member): improve assistant roster awareness 2026-03-11 15:10:20 +04:00
79f96ba45b feat(payments): add transparent balance guidance 2026-03-11 14:52:09 +04:00
8401688032 feat(purchase): add per-purchase participant splits 2026-03-11 14:34:27 +04:00