Amba-Agent-App/lib/routes.ts
2026-01-16 00:22:35 +03:00

140 lines
3.1 KiB
TypeScript

/**
* Centralized route configuration for the Amba Pay app
* This file contains all route paths as constants to avoid hardcoded strings
* and make route management easier across the application.
*/
export const ROUTES = {
// Main app routes
HOME: "/",
SIGNIN: "/auth/signin",
PHONE_SETUP: "/auth/phone-setup",
GOOGLE_SETUP: "/auth/google-setup",
OTP: "/auth/otp",
AGENT_SIGNUP: "/auth/agent-signup",
AGENT_SIGNIN: "/auth/agent-signin",
// Profile and account routes
PROFILE: "/profile",
EDIT_PROFILE: "/editprofile",
CHANGE_PIN: "/changepin",
HELP_SUPPORT: "/helpsupport",
TERMS: "/terms",
KYC: "/kyc",
FORGOT_PASSWORD: "/auth/forgot",
NOTIFICATION: "/notification",
NOTIFICATION_OPTION: "/notificationOption",
// Transaction routes
SEND_OR_REQUEST_MONEY: "/sendorrequestmoney",
CASH_OUT: "/cashout",
SEND_BANK: "/sendbank",
ADD_CARD: "/addcard",
ADD_CASH: "/addcash",
CHECKOUT: "/checkout",
DONATION: "/donation",
SELECT_ACCOUNT: "/selectacc",
HISTORY: "/history",
TRANSACTION_DETAIL: "/transdetail",
TRANSACTION_CONFIRM: "/transconfirm",
CARD_ADDED: "/cardaddedcomp",
// Recipient routes
ADD_RECIPIENT: "/addrecipient",
LIST_RECIPIENTS: "/listrecipient",
SELECT_RECIPIENT: "/selectrecip",
RECIPIENT_DETAIL: "/recipdetail",
SELECT_DONOR: "/selectdonor",
RECIPIENT_ADDED: "/recipaddedcomp",
// Other features
CROWDFUNDING: "/crowdfunding",
TASK_COMPLETION: "/taskcomp",
CASHOUT_COMPLETION: "/cashoutcomp",
ADDCASH_COMPLETION: "/addcashcomp",
MONEY_REQUESTED: "/moneyrequested",
MONEY_DONATED: "/moneydonated",
REQUEST_PROVIDER: "/requestprovider",
SCHEDULES: "/schedules",
SCHEDULES_ALL: "/schedulesall",
SEND_NOTIFICATION: "/sendnotification",
EVENTS: "/events",
EVENT_DETAIL: "/eventdetail",
MY_TICKETS: "/mytickets",
EVENT_QR: "/eventqrscreen",
// QR
QR_SCREEN: "/qrscreen",
SCAN_PROFILE_QR: "/scanprofileqr",
POINTS: "/points",
POINTS_ACTIVITY: "/pointsactivity",
LIST_CARD: "/cardmang",
} as const;
// Type for route values
export type RouteValue = (typeof ROUTES)[keyof typeof ROUTES];
// Helper function to check if a route is valid
export const isValidRoute = (route: string): route is RouteValue => {
return Object.values(ROUTES).includes(route as RouteValue);
};
// Export individual routes for easier imports
export const {
HOME,
SIGNIN,
PHONE_SETUP,
GOOGLE_SETUP,
OTP,
PROFILE,
EDIT_PROFILE,
CHANGE_PIN,
HELP_SUPPORT,
TERMS,
KYC,
FORGOT_PASSWORD,
NOTIFICATION,
NOTIFICATION_OPTION,
SEND_OR_REQUEST_MONEY,
CASH_OUT,
SEND_BANK,
ADD_CARD,
ADD_CASH,
CHECKOUT,
HISTORY,
TRANSACTION_DETAIL,
TRANSACTION_CONFIRM,
CARD_ADDED,
DONATION,
ADD_RECIPIENT,
LIST_RECIPIENTS,
SELECT_RECIPIENT,
RECIPIENT_DETAIL,
SELECT_DONOR,
RECIPIENT_ADDED,
CROWDFUNDING,
TASK_COMPLETION,
CASHOUT_COMPLETION,
ADDCASH_COMPLETION,
MONEY_REQUESTED,
MONEY_DONATED,
REQUEST_PROVIDER,
SCHEDULES,
SCHEDULES_ALL,
SEND_NOTIFICATION,
EVENTS,
EVENT_DETAIL,
MY_TICKETS,
EVENT_QR,
POINTS,
POINTS_ACTIVITY,
QR_SCREEN,
SCAN_PROFILE_QR,
} = ROUTES;