75 lines
3.4 KiB
TypeScript
75 lines
3.4 KiB
TypeScript
import type { AgentLoanCategory, CollectionMode, NewAccountType, SmsType } from '../types/agentTypes';
|
|
import type { CategoryHue } from '../../../theme';
|
|
|
|
export const COLLECTION_MODES: { id: CollectionMode; label: string; icon: string }[] = [
|
|
{ id: 'cash', label: 'Cash', icon: 'cash-outline' },
|
|
{ id: 'upi', label: 'UPI', icon: 'phone-portrait-outline' },
|
|
{ id: 'bank_transfer', label: 'Bank Transfer', icon: 'swap-horizontal-outline' },
|
|
];
|
|
|
|
export const ACCOUNT_TYPES: { id: NewAccountType; label: string; description: string; icon: string }[] = [
|
|
{ id: 'DDS', label: 'DDS Account', description: 'Daily Deposit Scheme for regular savings', icon: 'calendar-outline' },
|
|
{ id: 'RD', label: 'RD Account', description: 'Recurring Deposit with fixed monthly installments', icon: 'trending-up-outline' },
|
|
{ id: 'Savings', label: 'Savings Account', description: 'Standard savings account with interest', icon: 'wallet-outline' },
|
|
];
|
|
|
|
/**
|
|
* The loan types an agent can raise a request for.
|
|
*
|
|
* Each carries a categorical HUE rather than a hex. These are labels, not
|
|
* states — nothing about a housing loan is "worse" than a personal one — so
|
|
* they resolve through `theme.colors.category`, which hands back a tone that
|
|
* is legible on whichever ramp is live plus a matching tint for the chip.
|
|
*
|
|
* Seven types, seven distinct hues. Business was a Tailwind red and Agriculture
|
|
* a second green; a red that means nothing sits badly next to a red that means
|
|
* "declined", and two greens next to each other defeat the point of colouring
|
|
* them at all.
|
|
*/
|
|
export const LOAN_CATEGORIES: {
|
|
id: AgentLoanCategory;
|
|
label: string;
|
|
icon: string;
|
|
hue: CategoryHue;
|
|
}[] = [
|
|
{ id: 'Personal', label: 'Personal Loan', icon: 'person-outline', hue: 'blue' },
|
|
{ id: 'Gold', label: 'Gold Loan', icon: 'diamond-outline', hue: 'amber' },
|
|
{ id: 'Vehicle', label: 'Vehicle Loan', icon: 'car-outline', hue: 'green' },
|
|
{ id: 'Housing', label: 'Housing Loan', icon: 'home-outline', hue: 'indigo' },
|
|
{ id: 'Agriculture', label: 'Agriculture Loan', icon: 'leaf-outline', hue: 'teal' },
|
|
{ id: 'Business', label: 'Business Loan', icon: 'briefcase-outline', hue: 'violet' },
|
|
{ id: 'DDS', label: 'Loan Against DDS Deposit', icon: 'wallet-outline', hue: 'sky' },
|
|
];
|
|
|
|
export const SMS_TYPES: { id: SmsType; label: string; icon: string }[] = [
|
|
{ id: 'balance', label: 'Balance Confirmation', icon: 'wallet-outline' },
|
|
{ id: 'payment_success', label: 'Payment Success', icon: 'checkmark-circle-outline' },
|
|
{ id: 'due_reminder', label: 'Due Reminder', icon: 'alarm-outline' },
|
|
{ id: 'loan_status', label: 'Loan Status', icon: 'document-text-outline' },
|
|
{ id: 'account_created', label: 'Account Created', icon: 'person-add-outline' },
|
|
];
|
|
|
|
export const CUSTOMER_FILTERS = [
|
|
{ id: 'all', label: 'All' },
|
|
{ id: 'paid', label: 'Paid' },
|
|
{ id: 'pending', label: 'Pending' },
|
|
{ id: 'overdue', label: 'Overdue' },
|
|
] as const;
|
|
|
|
export const DEFAULT_COMMISSION_RATE = 2.5; // percentage
|
|
|
|
export const ACCOUNT_OPENING_STEPS: { id: string; label: string }[] = [
|
|
{ id: 'type', label: 'Account Type' },
|
|
{ id: 'personal', label: 'Personal Info' },
|
|
{ id: 'kyc', label: 'KYC Details' },
|
|
{ id: 'deposit', label: 'Initial Deposit' },
|
|
{ id: 'review', label: 'Review' },
|
|
];
|
|
|
|
export const LOAN_REQUEST_STEPS: { id: string; label: string }[] = [
|
|
{ id: 'customer', label: 'Customer' },
|
|
{ id: 'details', label: 'Loan Details' },
|
|
{ id: 'documents', label: 'Documents' },
|
|
{ id: 'review', label: 'Review' },
|
|
];
|