Yaltopia-Tickets-App/lib/routes.ts
2026-06-05 13:39:37 +03:00

310 lines
7.2 KiB
TypeScript

import { defineRoutes } from "@sirou/core";
export const routes = defineRoutes({
// Root and Layouts
root: {
path: "/",
guards: ["auth"],
meta: { requiresAuth: true },
},
"(tabs)": {
path: "/(tabs)",
guards: ["auth"],
meta: { requiresAuth: true },
},
// Tabs
"(tabs)/index": {
path: "/(tabs)/index",
guards: ["auth"],
meta: { requiresAuth: true },
},
"(tabs)/payments": {
path: "/(tabs)/payments",
guards: ["auth"],
meta: { requiresAuth: true },
},
"(tabs)/scan": {
path: "/(tabs)/scan",
guards: ["auth"],
meta: { requiresAuth: true },
},
"(tabs)/proforma": {
path: "/(tabs)/proforma",
guards: ["auth"],
meta: { requiresAuth: true },
},
"(tabs)/invoices": {
path: "/(tabs)/invoices",
guards: ["auth"],
meta: { requiresAuth: true },
},
history: {
path: "/history",
guards: ["auth"],
meta: { requiresAuth: true },
},
help: {
path: "/help",
guards: ["auth"],
meta: { requiresAuth: true, title: "Help & Support" },
},
faq: {
path: "/faq",
guards: ["auth"],
meta: { requiresAuth: true, title: "FAQ" },
},
privacy: {
path: "/privacy",
guards: ["auth"],
meta: { requiresAuth: true, title: "Privacy Policy" },
},
terms: {
path: "/terms",
guards: ["auth"],
meta: { requiresAuth: true, title: "Terms of Service" },
},
// Stacks
"proforma/[id]": {
path: "/proforma/:id",
params: { id: "string" },
guards: ["auth"],
meta: { requiresAuth: true },
},
"proforma": {
path: "/proforma",
guards: ["auth"],
meta: { requiresAuth: true, title: "Proforma" },
},
"proforma/create": {
path: "/proforma/create",
guards: ["auth"],
meta: { requiresAuth: true },
},
"proforma/edit": {
path: "/proforma/edit",
params: { id: "string" },
guards: ["auth"],
meta: { requiresAuth: true },
},
"payments/[id]": {
path: "/payments/:id",
params: { id: "string" },
guards: ["auth"],
meta: { requiresAuth: true },
},
"payment-requests/[id]": {
path: "/payment-requests/:id",
params: { id: "string" },
guards: ["auth"],
meta: { requiresAuth: true },
},
"payment-requests/create": {
path: "/payment-requests/create",
guards: ["auth"],
meta: { requiresAuth: true },
},
"customers/create": {
path: "/customers/create",
guards: ["auth"],
meta: { requiresAuth: true },
},
"customers/[id]": {
path: "/customers/:id",
params: { id: "string" },
guards: ["auth"],
meta: { requiresAuth: true },
},
"payments/create": {
path: "/payments/create",
guards: ["auth"],
meta: { requiresAuth: true, title: "Create Payment" },
},
"invoices/index": {
path: "/invoices/index",
guards: ["auth"],
meta: { requiresAuth: true, title: "Invoices" },
},
"invoices/[id]": {
path: "/invoices/:id",
params: { id: "string" },
guards: ["auth"],
meta: { requiresAuth: true },
},
"invoices/create": {
path: "/invoices/create",
guards: ["auth"],
meta: { requiresAuth: true },
},
"invoices/edit": {
path: "/invoices/edit",
params: { id: "string" },
guards: ["auth"],
meta: { requiresAuth: true },
},
"news/index": {
path: "/news/index",
guards: ["auth"],
meta: { requiresAuth: true, title: "News" },
},
"news/[id]": {
path: "/news/:id",
params: { id: "string" },
guards: ["auth"],
meta: { requiresAuth: true },
},
"notifications/index": {
path: "/notifications/index",
guards: ["auth"],
meta: { requiresAuth: true },
},
"notifications/settings": {
path: "/notifications/settings",
guards: ["auth"],
meta: { requiresAuth: true },
},
"reports/index": {
path: "/reports/index",
guards: ["auth"],
meta: { requiresAuth: true },
},
"documents/index": {
path: "/documents/index",
guards: ["auth"],
meta: { requiresAuth: true },
},
profile: {
path: "/profile",
guards: ["auth"],
meta: { requiresAuth: true },
},
"edit-profile": {
path: "/edit-profile",
guards: ["auth"],
meta: { requiresAuth: true, title: "Edit Profile" },
},
"change-pin": {
path: "/change-pin",
guards: ["auth"],
meta: { requiresAuth: true, title: "Change PIN" },
},
settings: {
path: "/settings",
guards: ["auth"],
meta: { requiresAuth: true },
},
"sms-scan": {
path: "/sms-scan",
guards: ["auth"],
meta: { requiresAuth: true },
},
"verify-payment": {
path: "/verify-payment",
guards: ["auth"],
meta: { requiresAuth: true, title: "Verify Payment" },
},
"verify-payment-result": {
path: "/verify-payment-result",
guards: ["auth"],
meta: { requiresAuth: true, title: "Verification Result" },
},
"add-receipt": {
path: "/add-receipt",
guards: ["auth"],
meta: { requiresAuth: true, title: "Add Receipt" },
},
company: {
path: "/company",
guards: ["auth"],
meta: { requiresAuth: true, title: "Company" },
},
"company-details": {
path: "/company/details",
guards: ["auth"],
meta: { requiresAuth: true, title: "Company details" },
},
"company/edit": {
path: "/company/edit",
guards: ["auth"],
meta: { requiresAuth: true, title: "Edit Company" },
},
"team/index": {
path: "/team",
guards: ["auth"],
meta: { requiresAuth: true, title: "Workers" },
},
"team/[id]/details": {
path: "/team/:id/details",
params: { id: "string" },
guards: ["auth"],
meta: { requiresAuth: true, title: "Worker Details" },
},
"user/create": {
path: "/user/create",
guards: ["auth"],
meta: { requiresAuth: true, title: "Add User" },
},
"declarations/index": {
path: "/declarations/index",
guards: ["auth"],
meta: { requiresAuth: true, title: "Declarations" },
},
"declarations/create": {
path: "/declarations/create",
guards: ["auth"],
meta: { requiresAuth: true, title: "Create Declaration" },
},
"declarations/edit": {
path: "/declarations/edit",
params: { id: "string" },
guards: ["auth"],
meta: { requiresAuth: true, title: "Edit Declaration" },
},
"declarations/[id]": {
path: "/declarations/:id",
params: { id: "string" },
guards: ["auth"],
meta: { requiresAuth: true, title: "Declaration Details" },
},
// Public
login: {
path: "/login",
guards: ["guest"],
meta: { requiresAuth: false, guestOnly: true },
},
otp: {
path: "/otp",
params: { phone: "string", verificationId: "string" },
guards: ["guest"],
meta: { requiresAuth: false, guestOnly: true },
},
register: {
path: "/register",
guards: ["guest"],
meta: { requiresAuth: false, guestOnly: true },
},
"set-pin": {
path: "/set-pin",
guards: ["auth"],
meta: { requiresAuth: true },
},
"pin-lock": {
path: "/pin-lock",
guards: ["auth"],
meta: { requiresAuth: true },
},
"forgot-pin": {
path: "/forgot-pin",
guards: ["auth"],
meta: { requiresAuth: true },
},
"forgot-pin-verify": {
path: "/forgot-pin-verify",
params: { phone: "string", verificationId: "string" },
guards: ["auth"],
meta: { requiresAuth: true },
},
});
export type AppRoutes = typeof routes;