import { type RouteConfig, index, layout, route } from "@react-router/dev/routes";

export default [
  index("routes/_index.tsx"),
  route("app", "routes/app.tsx", [
    index("routes/app._index.tsx"),
    route("billing", "routes/app.billing.tsx"),
    route("knowledge", "routes/app.knowledge.tsx"),
    route("notifications", "routes/app.notifications.tsx"),
    route("settings", "routes/app.settings.tsx"),
  ]),
  route("saas-admin/export/stores", "routes/saas-admin-export-stores.ts"),
  route("saas-admin/export/customers", "routes/saas-admin-export-customers.ts"),
  route("saas-admin/export/transactions", "routes/saas-admin-export-transactions.ts"),
  route("saas-admin/export/revenue", "routes/saas-admin-export-revenue.ts"),
  route("api/saas-admin/export", "routes/api.saas-admin-export.ts"),
  route("saas-admin", "routes/saas-admin.tsx", { id: "route-saas-admin" }),
  route("admin/stores", "routes/saas-admin.tsx", { id: "route-admin-stores" }),
  route("api/saas-admin", "routes/saas-admin.tsx", { id: "route-api-saas-admin" }),
  route("api/admin", "routes/saas-admin.tsx", { id: "route-api-admin" }),
  route("api/admin/stores", "routes/saas-admin.tsx", { id: "route-api-admin-stores" }),
  route("apps/conversecart/saas-admin", "routes/saas-admin.tsx", { id: "route-apps-saas-admin" }),
  route("apps/conversecart/admin", "routes/saas-admin.tsx", { id: "route-apps-admin" }),
  route("apps/conversecart/admin/stores", "routes/saas-admin.tsx", { id: "route-apps-admin-stores" }),
  route("notifications", "routes/app.notifications.tsx", { id: "route-root-notifications" }),
  route("settings", "routes/app.settings.tsx", { id: "route-root-settings" }),
  route("billing", "routes/app.billing.tsx", { id: "route-root-billing" }),
  route("knowledge", "routes/app.knowledge.tsx", { id: "route-root-knowledge" }),
  route("auth/*", "routes/auth$.tsx"),
  route("api/auth/*", "routes/auth$.tsx", { id: "route-api-auth" }),
  route("api/notifications/read-all", "routes/api.notifications.read-all.ts"),
  route("api/notifications/unread-count", "routes/api.notifications.unread-count.ts"),
  route("api/notifications/:id/read", "routes/api.notifications.$id.read.ts"),
  route("api/notifications", "routes/api.notifications.ts"),
  route("api/chat/session", "routes/api.chat.session.ts"),
  route("api/chat/message", "routes/api.chat.message.ts"),
  route("apps/conversecart/chat/session", "routes/api.chat.session.ts", { id: "route-apps-chat-session" }),
  route("apps/conversecart/chat/message", "routes/api.chat.message.ts", { id: "route-apps-chat-message" }),
  route("apps/conversecart/api/chat/session", "routes/api.chat.session.ts", { id: "route-apps-api-chat-session" }),
  route("apps/conversecart/api/chat/message", "routes/api.chat.message.ts", { id: "route-apps-api-chat-message" }),
  route("chat/session", "routes/api.chat.session.ts", { id: "route-chat-session" }),
  route("chat/message", "routes/api.chat.message.ts", { id: "route-chat-message" }),
  route("session", "routes/api.chat.session.ts", { id: "route-session" }),
  route("message", "routes/api.chat.message.ts", { id: "route-message" }),
  route("api/chat", "routes/api.chat.ts"),
  route("api/sync", "routes/api.sync.ts"),
  route("api/plans", "routes/api.plans.ts"),
  route("api/webhooks", "routes/api.webhooks.ts"),
  route("api/webhooks/products", "routes/api.webhooks.ts", { id: "route-webhooks-products" }),
  route("api/webhooks/app-uninstalled", "routes/api.webhooks.ts", { id: "route-webhooks-uninstalled" }),
  route("api/webhooks/privacy", "routes/api.webhooks.privacy.ts"),
  route("api/webhooks/privacy/customers-redact", "routes/api.webhooks.privacy.ts", { id: "route-privacy-cust-redact" }),
  route("api/webhooks/privacy/customers-data-request", "routes/api.webhooks.privacy.ts", { id: "route-privacy-cust-data" }),
  route("api/webhooks/privacy/shop-redact", "routes/api.webhooks.privacy.ts", { id: "route-privacy-shop-redact" }),
  route("api/widget-config", "routes/api.widget-config.ts"),
  route("apps/conversecart/widget-config", "routes/api.widget-config.ts", { id: "route-apps-widget-config" }),
  route("apps/conversecart/api/widget-config", "routes/api.widget-config.ts", { id: "route-apps-api-widget-config" }),
  route("widget-config", "routes/api.widget-config.ts", { id: "route-widget-config" }),
  route("api/customer/auth", "routes/api.customer.auth.ts"),
  route("apps/conversecart/customer/auth", "routes/api.customer.auth.ts", { id: "route-apps-customer-auth" }),
  route("apps/conversecart/api/customer/auth", "routes/api.customer.auth.ts", { id: "route-apps-api-customer-auth" }),
  route("favicon.ico", "routes/favicon.ico.ts"),
  route("privacy", "routes/privacy.tsx"),
  route("help",    "routes/help.tsx"),
] satisfies RouteConfig;
