Files
household-bot/packages/ports/src/index.ts
whekin 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

76 lines
2.3 KiB
TypeScript

export {
REMINDER_TYPES,
type ClaimReminderDispatchInput,
type ClaimReminderDispatchResult,
type ReminderDispatchRepository,
type ReminderTarget,
type ReminderType
} from './reminders'
export type {
ClaimProcessedBotMessageInput,
ClaimProcessedBotMessageResult,
ProcessedBotMessageRepository,
ReleaseProcessedBotMessageInput
} from './processed-bot-messages'
export {
HOUSEHOLD_MEMBER_ABSENCE_POLICIES,
HOUSEHOLD_MEMBER_LIFECYCLE_STATUSES,
HOUSEHOLD_PAYMENT_BALANCE_ADJUSTMENT_POLICIES,
HOUSEHOLD_TOPIC_ROLES,
type HouseholdMemberAbsencePolicy,
type HouseholdMemberAbsencePolicyRecord,
type HouseholdAssistantConfigRecord,
type HouseholdRentPaymentDestination,
type HouseholdPaymentBalanceAdjustmentPolicy,
type HouseholdConfigurationRepository,
type HouseholdBillingSettingsRecord,
type HouseholdJoinTokenRecord,
type HouseholdMemberLifecycleStatus,
type HouseholdMemberRecord,
type HouseholdPendingMemberRecord,
type HouseholdTelegramChatRecord,
type HouseholdTopicBindingRecord,
type HouseholdTopicRole,
type HouseholdUtilityCategoryRecord,
type RegisterTelegramHouseholdChatInput,
type RegisterTelegramHouseholdChatResult
} from './household-config'
export type {
AnonymousFeedbackMemberRecord,
AnonymousFeedbackModerationStatus,
AnonymousFeedbackRateLimitSnapshot,
AnonymousFeedbackRejectionReason,
AnonymousFeedbackRepository,
AnonymousFeedbackSubmissionRecord
} from './anonymous-feedback'
export type {
FinanceCycleRecord,
FinanceCycleExchangeRateRecord,
FinancePaymentConfirmationReviewReason,
FinancePaymentConfirmationSaveInput,
FinancePaymentConfirmationSaveResult,
FinancePaymentKind,
FinancePaymentRecord,
FinanceSettlementSnapshotLineRecord,
FinanceMemberRecord,
FinanceParsedPurchaseRecord,
FinanceRentRuleRecord,
FinanceRepository,
FinanceUtilityBillRecord,
SettlementSnapshotLineRecord,
SettlementSnapshotRecord
} from './finance'
export type { ExchangeRateProvider, ExchangeRateQuote } from './exchange-rates'
export {
TELEGRAM_PENDING_ACTION_TYPES,
type TelegramPendingActionRecord,
type TelegramPendingActionRepository,
type TelegramPendingActionType
} from './telegram-pending-actions'
export type {
ListRecentChatTopicMessagesInput,
ListRecentThreadTopicMessagesInput,
TopicMessageHistoryRecord,
TopicMessageHistoryRepository
} from './topic-message-history'