diff --git a/packages/web/src/components/Hero.tsx b/packages/web/src/components/Hero.tsx
index 5d55eca6..00bd670e 100644
--- a/packages/web/src/components/Hero.tsx
+++ b/packages/web/src/components/Hero.tsx
@@ -20,7 +20,7 @@ export default function Hero() {
real-time collaboration, and automation that improve transparency and efficiency at
every stage.
-
+
Start a Review Project
diff --git a/packages/web/src/components/dashboard/ContactPrompt.tsx b/packages/web/src/components/dashboard/ContactPrompt.tsx
index 90e753e1..25110215 100644
--- a/packages/web/src/components/dashboard/ContactPrompt.tsx
+++ b/packages/web/src/components/dashboard/ContactPrompt.tsx
@@ -10,12 +10,12 @@ interface ContactPromptProps {
export function ContactPrompt({ restrictionType, projectCount, quotaLimit }: ContactPromptProps) {
const title =
- restrictionType === 'entitlement' ? 'Early Access Testing' : 'Project Limit Reached';
+ restrictionType === 'entitlement' ? 'Ready to Collaborate?' : 'Project Limit Reached';
const message =
restrictionType === 'entitlement' ?
- "CoRATES is currently in early access testing as we test and refine project-based features in collaboration with early users. If you're interested in creating a project and sharing feedback, please contact us to request access. Individual appraisals are always available and free to use."
- : `You've reached your project limit (${projectCount}/${quotaLimit === null || quotaLimit === -1 ? 'unlimited' : quotaLimit}). Request early access for more projects.`;
+ 'Projects let your team appraise studies independently and resolve disagreements together. Start a 14-day free trial to create your first project -- no credit card required.'
+ : `You've reached your project limit (${projectCount}/${quotaLimit === null || quotaLimit === -1 ? 'unlimited' : quotaLimit}). Upgrade your plan to create more projects.`;
return (
@@ -24,12 +24,10 @@ export function ContactPrompt({ restrictionType, projectCount, quotaLimit }: Con
{message}
- Contact Us
+ View Plans
);
diff --git a/packages/web/src/components/dashboard/Dashboard.tsx b/packages/web/src/components/dashboard/Dashboard.tsx
index 6d675780..3a130092 100644
--- a/packages/web/src/components/dashboard/Dashboard.tsx
+++ b/packages/web/src/components/dashboard/Dashboard.tsx
@@ -11,10 +11,13 @@ import { useSubscription } from '@/hooks/useSubscription';
import { Alert } from '@/components/ui/alert';
import { DashboardHeader } from './DashboardHeader';
+import { WelcomeCard } from './WelcomeCard';
import { ProjectsSection } from './ProjectsSection';
import { LocalAppraisalsSection } from './LocalAppraisalsSection';
import { useInitialAnimation, AnimationContext } from './useInitialAnimation';
+const WELCOME_DISMISSED_KEY = 'corates-welcome-dismissed';
+
export function Dashboard() {
const animation = useInitialAnimation();
@@ -23,6 +26,24 @@ export function Dashboard() {
const { subscriptionFetchFailed } = useSubscription();
const [createModalOpen, setCreateModalOpen] = useState(false);
+ const [welcomeDismissed, setWelcomeDismissed] = useState(() => {
+ try {
+ return localStorage.getItem(WELCOME_DISMISSED_KEY) === 'true';
+ } catch {
+ return false;
+ }
+ });
+
+ const dismissWelcome = () => {
+ try {
+ localStorage.setItem(WELCOME_DISMISSED_KEY, 'true');
+ } catch {
+ // localStorage unavailable
+ }
+ setWelcomeDismissed(true);
+ };
+
+ const showWelcomeCard = isLoggedIn && !welcomeDismissed;
return (
@@ -33,7 +54,9 @@ export function Dashboard() {
)}
-
+ {showWelcomeCard ?
+
+ : }
{isLoggedIn && (
diff --git a/packages/web/src/components/dashboard/LocalAppraisalsSection.tsx b/packages/web/src/components/dashboard/LocalAppraisalsSection.tsx
index 2fb46e75..24cc2fd4 100644
--- a/packages/web/src/components/dashboard/LocalAppraisalsSection.tsx
+++ b/packages/web/src/components/dashboard/LocalAppraisalsSection.tsx
@@ -259,8 +259,9 @@ export function LocalAppraisalsSection({
No local appraisals
-
- Create appraisals that stay on this device
+
+ Use AMSTAR 2, ROBINS-I, or RoB 2 to appraise studies on this device with optional PDF
+ annotation
void;
- onStartAMSTAR2: () => void;
- onLearnMore: () => void;
-}
+import { useNavigate } from '@tanstack/react-router';
+import { PlayCircleIcon } from 'lucide-react';
const ACTIONS = [
{
- id: 'robins-i',
- title: 'Start ROBINS-I',
- description: 'Risk of bias for non-randomized studies',
- icon: ,
+ type: 'AMSTAR2',
+ title: 'AMSTAR 2',
+ description: 'Quality assessment of systematic reviews',
+ iconColor: 'text-blue-600',
iconBg: 'bg-blue-50',
border: 'border-blue-100 hover:border-blue-200',
},
{
- id: 'amstar-2',
- title: 'Start AMSTAR 2',
- description: 'Quality assessment for systematic reviews',
- icon: ,
- iconBg: 'bg-success-bg',
- border: 'border-success-border/50 hover:border-success-border',
+ type: 'ROBINS_I',
+ title: 'ROBINS-I',
+ description: 'Risk of bias in non-randomized studies',
+ iconColor: 'text-emerald-600',
+ iconBg: 'bg-emerald-50',
+ border: 'border-emerald-100 hover:border-emerald-200',
},
{
- id: 'learn-more',
- title: 'Learn More',
- description: 'View documentation and guides',
- icon: ,
+ type: 'ROB2',
+ title: 'RoB 2',
+ description: 'Risk of bias in randomized trials',
+ iconColor: 'text-violet-600',
iconBg: 'bg-violet-50',
border: 'border-violet-100 hover:border-violet-200',
},
];
-export function QuickActions({ onStartROBINSI, onStartAMSTAR2, onLearnMore }: QuickActionsProps) {
- const animation = useAnimation();
-
- const handlers: Record void> = {
- 'robins-i': onStartROBINSI,
- 'amstar-2': onStartAMSTAR2,
- 'learn-more': onLearnMore,
- };
+export function QuickActions() {
+ const navigate = useNavigate();
return (
-
-
- Quick Start
-
-
- {ACTIONS.map(action => (
-
+ {ACTIONS.map(action => (
+ navigate({ to: '/checklist' as string, search: { type: action.type } })}
+ className={`group bg-card flex items-center gap-3 rounded-xl border p-4 text-left transition-all duration-200 hover:shadow-md ${action.border}`}
+ >
+
-
- {action.icon}
-
-
-
{action.title}
-
{action.description}
-
-
- ))}
-
-
+
+
+
+
{action.title}
+
{action.description}
+
+
+ ))}
+
);
}
diff --git a/packages/web/src/components/dashboard/WelcomeCard.tsx b/packages/web/src/components/dashboard/WelcomeCard.tsx
new file mode 100644
index 00000000..686a18e9
--- /dev/null
+++ b/packages/web/src/components/dashboard/WelcomeCard.tsx
@@ -0,0 +1,60 @@
+/**
+ * WelcomeCard - First-time user onboarding with quick actions
+ *
+ * Shown on the dashboard for logged-in users who haven't dismissed it.
+ * Replaces the standard DashboardHeader greeting until dismissed.
+ */
+
+import { Link } from '@tanstack/react-router';
+import { XIcon } from 'lucide-react';
+import type { AuthUser } from '@/stores/authStore';
+import { useAnimation } from './useInitialAnimation';
+import { QuickActions } from './QuickActions';
+
+interface WelcomeCardProps {
+ user: AuthUser;
+ onDismiss: () => void;
+}
+
+export function WelcomeCard({ user, onDismiss }: WelcomeCardProps) {
+ const animation = useAnimation();
+ const firstName = user.givenName || user.name || '';
+
+ return (
+
+
+
+
+
+
+
+
+ Welcome{firstName ? `, ${firstName}` : ''}
+
+
+ Start appraising studies right away. Pick a tool below to create your first appraisal.
+
+
+
+
+
+
+
+ Local appraisals are saved on this
+ device and always free. Projects {' '}
+ let teams appraise independently and resolve disagreements together.{' '}
+
+ Explore plans
+ {' '}
+ when you're ready to collaborate.
+
+
+
+
+ );
+}
diff --git a/packages/web/src/routeTree.gen.ts b/packages/web/src/routeTree.gen.ts
index 816fe73d..de6fa997 100644
--- a/packages/web/src/routeTree.gen.ts
+++ b/packages/web/src/routeTree.gen.ts
@@ -8,656 +8,635 @@
// You should NOT make any changes in this file as it will be overwritten.
// Additionally, you should also exclude this file from your linter and/or formatter to prevent it from being checked or modified.
-import { Route as rootRouteImport } from './routes/__root'
-import { Route as TermsRouteImport } from './routes/terms'
-import { Route as SecurityRouteImport } from './routes/security'
-import { Route as PrivacyRouteImport } from './routes/privacy'
-import { Route as PricingRouteImport } from './routes/pricing'
-import { Route as HealthzRouteImport } from './routes/healthz'
-import { Route as HealthRouteImport } from './routes/health'
-import { Route as ContactRouteImport } from './routes/contact'
-import { Route as AboutRouteImport } from './routes/about'
-import { Route as AuthRouteImport } from './routes/_auth'
-import { Route as AppRouteImport } from './routes/_app'
-import { Route as IndexRouteImport } from './routes/index'
-import { Route as ResourcesIndexRouteImport } from './routes/resources/index'
-import { Route as ResourcesRobinsIRouteImport } from './routes/resources/robins-i'
-import { Route as ResourcesRob2RouteImport } from './routes/resources/rob2'
-import { Route as ResourcesAmstar2RouteImport } from './routes/resources/amstar2'
-import { Route as ApiSplatRouteImport } from './routes/api/$'
-import { Route as AuthSignupRouteImport } from './routes/_auth/signup'
-import { Route as AuthSigninRouteImport } from './routes/_auth/signin'
-import { Route as AuthResetPasswordRouteImport } from './routes/_auth/reset-password'
-import { Route as AuthCompleteProfileRouteImport } from './routes/_auth/complete-profile'
-import { Route as AuthCheckEmailRouteImport } from './routes/_auth/check-email'
-import { Route as AppDashboardRouteImport } from './routes/_app/dashboard'
-import { Route as AppChecklistRouteImport } from './routes/_app/checklist'
-import { Route as AppProtectedRouteImport } from './routes/_app/_protected'
-import { Route as AppChecklistIndexRouteImport } from './routes/_app/checklist.index'
-import { Route as ApiUsersAvatarRouteImport } from './routes/api/users/avatar'
-import { Route as ApiTestVerifyEmailRouteImport } from './routes/api/test/verify-email'
-import { Route as ApiTestUpdateSubscriptionRouteImport } from './routes/api/test/update-subscription'
-import { Route as ApiTestSessionRouteImport } from './routes/api/test/session'
-import { Route as ApiTestSeedRouteImport } from './routes/api/test/seed'
-import { Route as ApiTestResetRouteImport } from './routes/api/test/reset'
-import { Route as ApiTestHealthRouteImport } from './routes/api/test/health'
-import { Route as ApiTestCleanupUserByEmailRouteImport } from './routes/api/test/cleanup-user-by-email'
-import { Route as ApiTestCleanupRouteImport } from './routes/api/test/cleanup'
-import { Route as ApiTestAuthUrlRouteImport } from './routes/api/test/auth-url'
-import { Route as ApiTestAddProjectMemberRouteImport } from './routes/api/test/add-project-member'
-import { Route as ApiAuthVerifyEmailRouteImport } from './routes/api/auth/verify-email'
-import { Route as ApiAuthSessionRouteImport } from './routes/api/auth/session'
-import { Route as ApiAuthSplatRouteImport } from './routes/api/auth/$'
-import { Route as AppChecklistChecklistIdRouteImport } from './routes/_app/checklist.$checklistId'
-import { Route as AppProtectedSettingsRouteImport } from './routes/_app/_protected/settings'
-import { Route as AppProtectedAdminRouteImport } from './routes/_app/_protected/admin'
-import { Route as AppProtectedSettingsIndexRouteImport } from './routes/_app/_protected/settings/index'
-import { Route as AppProtectedAdminIndexRouteImport } from './routes/_app/_protected/admin/index'
-import { Route as ApiUsersAvatarUserIdRouteImport } from './routes/api/users/avatar/$userId'
-import { Route as ApiAuthStripeWebhookRouteImport } from './routes/api/auth/stripe/webhook'
-import { Route as AppProtectedSettingsSecurityRouteImport } from './routes/_app/_protected/settings/security'
-import { Route as AppProtectedSettingsProfileRouteImport } from './routes/_app/_protected/settings/profile'
-import { Route as AppProtectedSettingsPlansRouteImport } from './routes/_app/_protected/settings/plans'
-import { Route as AppProtectedSettingsNotificationsRouteImport } from './routes/_app/_protected/settings/notifications'
-import { Route as AppProtectedSettingsIntegrationsRouteImport } from './routes/_app/_protected/settings/integrations'
-import { Route as AppProtectedSettingsBillingRouteImport } from './routes/_app/_protected/settings/billing'
-import { Route as AppProtectedProjectsProjectIdRouteImport } from './routes/_app/_protected/projects.$projectId'
-import { Route as AppProtectedOrgsNewRouteImport } from './routes/_app/_protected/orgs.new'
-import { Route as AppProtectedAdminStorageRouteImport } from './routes/_app/_protected/admin/storage'
-import { Route as AppProtectedAdminDatabaseRouteImport } from './routes/_app/_protected/admin/database'
-import { Route as AppProtectedAdminProjectsIndexRouteImport } from './routes/_app/_protected/admin/projects.index'
-import { Route as AppProtectedAdminOrgsIndexRouteImport } from './routes/_app/_protected/admin/orgs.index'
-import { Route as AppProtectedAdminUsersUserIdRouteImport } from './routes/_app/_protected/admin/users.$userId'
-import { Route as AppProtectedAdminProjectsProjectIdRouteImport } from './routes/_app/_protected/admin/projects.$projectId'
-import { Route as AppProtectedAdminOrgsOrgIdRouteImport } from './routes/_app/_protected/admin/orgs.$orgId'
-import { Route as AppProtectedAdminBillingStuckStatesRouteImport } from './routes/_app/_protected/admin/billing.stuck-states'
-import { Route as AppProtectedAdminBillingStripeToolsRouteImport } from './routes/_app/_protected/admin/billing.stripe-tools'
-import { Route as AppProtectedAdminBillingLedgerRouteImport } from './routes/_app/_protected/admin/billing.ledger'
-import { Route as ApiOrgsOrgIdProjectsProjectIdDevAddStudyRouteImport } from './routes/api/orgs/$orgId/projects/$projectId/dev/add-study'
-import { Route as ApiOrgsOrgIdProjectsProjectIdStudiesStudyIdPdfsRouteImport } from './routes/api/orgs/$orgId/projects/$projectId/studies/$studyId/pdfs'
-import { Route as AppProtectedProjectsProjectIdStudiesStudyIdChecklistsChecklistIdRouteImport } from './routes/_app/_protected/projects.$projectId/studies.$studyId.checklists.$checklistId'
-import { Route as ApiOrgsOrgIdProjectsProjectIdStudiesStudyIdPdfsFileNameRouteImport } from './routes/api/orgs/$orgId/projects/$projectId/studies/$studyId/pdfs/$fileName'
-import { Route as AppProtectedProjectsProjectIdStudiesStudyIdReconcileChecklist1IdChecklist2IdRouteImport } from './routes/_app/_protected/projects.$projectId/studies.$studyId.reconcile.$checklist1Id.$checklist2Id'
+import { Route as rootRouteImport } from './routes/__root';
+import { Route as TermsRouteImport } from './routes/terms';
+import { Route as SecurityRouteImport } from './routes/security';
+import { Route as PrivacyRouteImport } from './routes/privacy';
+import { Route as PricingRouteImport } from './routes/pricing';
+import { Route as HealthzRouteImport } from './routes/healthz';
+import { Route as HealthRouteImport } from './routes/health';
+import { Route as ContactRouteImport } from './routes/contact';
+import { Route as AboutRouteImport } from './routes/about';
+import { Route as AuthRouteImport } from './routes/_auth';
+import { Route as AppRouteImport } from './routes/_app';
+import { Route as IndexRouteImport } from './routes/index';
+import { Route as ResourcesIndexRouteImport } from './routes/resources/index';
+import { Route as ResourcesRobinsIRouteImport } from './routes/resources/robins-i';
+import { Route as ResourcesRob2RouteImport } from './routes/resources/rob2';
+import { Route as ResourcesAmstar2RouteImport } from './routes/resources/amstar2';
+import { Route as ApiSplatRouteImport } from './routes/api/$';
+import { Route as AuthSignupRouteImport } from './routes/_auth/signup';
+import { Route as AuthSigninRouteImport } from './routes/_auth/signin';
+import { Route as AuthResetPasswordRouteImport } from './routes/_auth/reset-password';
+import { Route as AuthCompleteProfileRouteImport } from './routes/_auth/complete-profile';
+import { Route as AuthCheckEmailRouteImport } from './routes/_auth/check-email';
+import { Route as AppDashboardRouteImport } from './routes/_app/dashboard';
+import { Route as AppChecklistRouteImport } from './routes/_app/checklist';
+import { Route as AppProtectedRouteImport } from './routes/_app/_protected';
+import { Route as AppChecklistIndexRouteImport } from './routes/_app/checklist.index';
+import { Route as ApiUsersAvatarRouteImport } from './routes/api/users/avatar';
+import { Route as ApiTestVerifyEmailRouteImport } from './routes/api/test/verify-email';
+import { Route as ApiTestUpdateSubscriptionRouteImport } from './routes/api/test/update-subscription';
+import { Route as ApiTestSessionRouteImport } from './routes/api/test/session';
+import { Route as ApiTestSeedRouteImport } from './routes/api/test/seed';
+import { Route as ApiTestResetRouteImport } from './routes/api/test/reset';
+import { Route as ApiTestHealthRouteImport } from './routes/api/test/health';
+import { Route as ApiTestCleanupUserByEmailRouteImport } from './routes/api/test/cleanup-user-by-email';
+import { Route as ApiTestCleanupRouteImport } from './routes/api/test/cleanup';
+import { Route as ApiTestAuthUrlRouteImport } from './routes/api/test/auth-url';
+import { Route as ApiTestAddProjectMemberRouteImport } from './routes/api/test/add-project-member';
+import { Route as ApiAuthVerifyEmailRouteImport } from './routes/api/auth/verify-email';
+import { Route as ApiAuthSessionRouteImport } from './routes/api/auth/session';
+import { Route as ApiAuthSplatRouteImport } from './routes/api/auth/$';
+import { Route as AppChecklistChecklistIdRouteImport } from './routes/_app/checklist.$checklistId';
+import { Route as AppProtectedSettingsRouteImport } from './routes/_app/_protected/settings';
+import { Route as AppProtectedAdminRouteImport } from './routes/_app/_protected/admin';
+import { Route as AppProtectedSettingsIndexRouteImport } from './routes/_app/_protected/settings/index';
+import { Route as AppProtectedAdminIndexRouteImport } from './routes/_app/_protected/admin/index';
+import { Route as ApiUsersAvatarUserIdRouteImport } from './routes/api/users/avatar/$userId';
+import { Route as ApiAuthStripeWebhookRouteImport } from './routes/api/auth/stripe/webhook';
+import { Route as AppProtectedSettingsSecurityRouteImport } from './routes/_app/_protected/settings/security';
+import { Route as AppProtectedSettingsProfileRouteImport } from './routes/_app/_protected/settings/profile';
+import { Route as AppProtectedSettingsPlansRouteImport } from './routes/_app/_protected/settings/plans';
+import { Route as AppProtectedSettingsNotificationsRouteImport } from './routes/_app/_protected/settings/notifications';
+import { Route as AppProtectedSettingsIntegrationsRouteImport } from './routes/_app/_protected/settings/integrations';
+import { Route as AppProtectedSettingsBillingRouteImport } from './routes/_app/_protected/settings/billing';
+import { Route as AppProtectedProjectsProjectIdRouteImport } from './routes/_app/_protected/projects.$projectId';
+import { Route as AppProtectedOrgsNewRouteImport } from './routes/_app/_protected/orgs.new';
+import { Route as AppProtectedAdminStorageRouteImport } from './routes/_app/_protected/admin/storage';
+import { Route as AppProtectedAdminDatabaseRouteImport } from './routes/_app/_protected/admin/database';
+import { Route as AppProtectedAdminProjectsIndexRouteImport } from './routes/_app/_protected/admin/projects.index';
+import { Route as AppProtectedAdminOrgsIndexRouteImport } from './routes/_app/_protected/admin/orgs.index';
+import { Route as AppProtectedAdminUsersUserIdRouteImport } from './routes/_app/_protected/admin/users.$userId';
+import { Route as AppProtectedAdminProjectsProjectIdRouteImport } from './routes/_app/_protected/admin/projects.$projectId';
+import { Route as AppProtectedAdminOrgsOrgIdRouteImport } from './routes/_app/_protected/admin/orgs.$orgId';
+import { Route as AppProtectedAdminBillingStuckStatesRouteImport } from './routes/_app/_protected/admin/billing.stuck-states';
+import { Route as AppProtectedAdminBillingStripeToolsRouteImport } from './routes/_app/_protected/admin/billing.stripe-tools';
+import { Route as AppProtectedAdminBillingLedgerRouteImport } from './routes/_app/_protected/admin/billing.ledger';
+import { Route as ApiOrgsOrgIdProjectsProjectIdDevAddStudyRouteImport } from './routes/api/orgs/$orgId/projects/$projectId/dev/add-study';
+import { Route as ApiOrgsOrgIdProjectsProjectIdStudiesStudyIdPdfsRouteImport } from './routes/api/orgs/$orgId/projects/$projectId/studies/$studyId/pdfs';
+import { Route as AppProtectedProjectsProjectIdStudiesStudyIdChecklistsChecklistIdRouteImport } from './routes/_app/_protected/projects.$projectId/studies.$studyId.checklists.$checklistId';
+import { Route as ApiOrgsOrgIdProjectsProjectIdStudiesStudyIdPdfsFileNameRouteImport } from './routes/api/orgs/$orgId/projects/$projectId/studies/$studyId/pdfs/$fileName';
+import { Route as AppProtectedProjectsProjectIdStudiesStudyIdReconcileChecklist1IdChecklist2IdRouteImport } from './routes/_app/_protected/projects.$projectId/studies.$studyId.reconcile.$checklist1Id.$checklist2Id';
const TermsRoute = TermsRouteImport.update({
id: '/terms',
path: '/terms',
getParentRoute: () => rootRouteImport,
-} as any)
+} as any);
const SecurityRoute = SecurityRouteImport.update({
id: '/security',
path: '/security',
getParentRoute: () => rootRouteImport,
-} as any)
+} as any);
const PrivacyRoute = PrivacyRouteImport.update({
id: '/privacy',
path: '/privacy',
getParentRoute: () => rootRouteImport,
-} as any)
+} as any);
const PricingRoute = PricingRouteImport.update({
id: '/pricing',
path: '/pricing',
getParentRoute: () => rootRouteImport,
-} as any)
+} as any);
const HealthzRoute = HealthzRouteImport.update({
id: '/healthz',
path: '/healthz',
getParentRoute: () => rootRouteImport,
-} as any)
+} as any);
const HealthRoute = HealthRouteImport.update({
id: '/health',
path: '/health',
getParentRoute: () => rootRouteImport,
-} as any)
+} as any);
const ContactRoute = ContactRouteImport.update({
id: '/contact',
path: '/contact',
getParentRoute: () => rootRouteImport,
-} as any)
+} as any);
const AboutRoute = AboutRouteImport.update({
id: '/about',
path: '/about',
getParentRoute: () => rootRouteImport,
-} as any)
+} as any);
const AuthRoute = AuthRouteImport.update({
id: '/_auth',
getParentRoute: () => rootRouteImport,
-} as any)
+} as any);
const AppRoute = AppRouteImport.update({
id: '/_app',
getParentRoute: () => rootRouteImport,
-} as any)
+} as any);
const IndexRoute = IndexRouteImport.update({
id: '/',
path: '/',
getParentRoute: () => rootRouteImport,
-} as any)
+} as any);
const ResourcesIndexRoute = ResourcesIndexRouteImport.update({
id: '/resources/',
path: '/resources/',
getParentRoute: () => rootRouteImport,
-} as any)
+} as any);
const ResourcesRobinsIRoute = ResourcesRobinsIRouteImport.update({
id: '/resources/robins-i',
path: '/resources/robins-i',
getParentRoute: () => rootRouteImport,
-} as any)
+} as any);
const ResourcesRob2Route = ResourcesRob2RouteImport.update({
id: '/resources/rob2',
path: '/resources/rob2',
getParentRoute: () => rootRouteImport,
-} as any)
+} as any);
const ResourcesAmstar2Route = ResourcesAmstar2RouteImport.update({
id: '/resources/amstar2',
path: '/resources/amstar2',
getParentRoute: () => rootRouteImport,
-} as any)
+} as any);
const ApiSplatRoute = ApiSplatRouteImport.update({
id: '/api/$',
path: '/api/$',
getParentRoute: () => rootRouteImport,
-} as any)
+} as any);
const AuthSignupRoute = AuthSignupRouteImport.update({
id: '/signup',
path: '/signup',
getParentRoute: () => AuthRoute,
-} as any)
+} as any);
const AuthSigninRoute = AuthSigninRouteImport.update({
id: '/signin',
path: '/signin',
getParentRoute: () => AuthRoute,
-} as any)
+} as any);
const AuthResetPasswordRoute = AuthResetPasswordRouteImport.update({
id: '/reset-password',
path: '/reset-password',
getParentRoute: () => AuthRoute,
-} as any)
+} as any);
const AuthCompleteProfileRoute = AuthCompleteProfileRouteImport.update({
id: '/complete-profile',
path: '/complete-profile',
getParentRoute: () => AuthRoute,
-} as any)
+} as any);
const AuthCheckEmailRoute = AuthCheckEmailRouteImport.update({
id: '/check-email',
path: '/check-email',
getParentRoute: () => AuthRoute,
-} as any)
+} as any);
const AppDashboardRoute = AppDashboardRouteImport.update({
id: '/dashboard',
path: '/dashboard',
getParentRoute: () => AppRoute,
-} as any)
+} as any);
const AppChecklistRoute = AppChecklistRouteImport.update({
id: '/checklist',
path: '/checklist',
getParentRoute: () => AppRoute,
-} as any)
+} as any);
const AppProtectedRoute = AppProtectedRouteImport.update({
id: '/_protected',
getParentRoute: () => AppRoute,
-} as any)
+} as any);
const AppChecklistIndexRoute = AppChecklistIndexRouteImport.update({
id: '/',
path: '/',
getParentRoute: () => AppChecklistRoute,
-} as any)
+} as any);
const ApiUsersAvatarRoute = ApiUsersAvatarRouteImport.update({
id: '/api/users/avatar',
path: '/api/users/avatar',
getParentRoute: () => rootRouteImport,
-} as any)
+} as any);
const ApiTestVerifyEmailRoute = ApiTestVerifyEmailRouteImport.update({
id: '/api/test/verify-email',
path: '/api/test/verify-email',
getParentRoute: () => rootRouteImport,
-} as any)
-const ApiTestUpdateSubscriptionRoute =
- ApiTestUpdateSubscriptionRouteImport.update({
- id: '/api/test/update-subscription',
- path: '/api/test/update-subscription',
- getParentRoute: () => rootRouteImport,
- } as any)
+} as any);
+const ApiTestUpdateSubscriptionRoute = ApiTestUpdateSubscriptionRouteImport.update({
+ id: '/api/test/update-subscription',
+ path: '/api/test/update-subscription',
+ getParentRoute: () => rootRouteImport,
+} as any);
const ApiTestSessionRoute = ApiTestSessionRouteImport.update({
id: '/api/test/session',
path: '/api/test/session',
getParentRoute: () => rootRouteImport,
-} as any)
+} as any);
const ApiTestSeedRoute = ApiTestSeedRouteImport.update({
id: '/api/test/seed',
path: '/api/test/seed',
getParentRoute: () => rootRouteImport,
-} as any)
+} as any);
const ApiTestResetRoute = ApiTestResetRouteImport.update({
id: '/api/test/reset',
path: '/api/test/reset',
getParentRoute: () => rootRouteImport,
-} as any)
+} as any);
const ApiTestHealthRoute = ApiTestHealthRouteImport.update({
id: '/api/test/health',
path: '/api/test/health',
getParentRoute: () => rootRouteImport,
-} as any)
-const ApiTestCleanupUserByEmailRoute =
- ApiTestCleanupUserByEmailRouteImport.update({
- id: '/api/test/cleanup-user-by-email',
- path: '/api/test/cleanup-user-by-email',
- getParentRoute: () => rootRouteImport,
- } as any)
+} as any);
+const ApiTestCleanupUserByEmailRoute = ApiTestCleanupUserByEmailRouteImport.update({
+ id: '/api/test/cleanup-user-by-email',
+ path: '/api/test/cleanup-user-by-email',
+ getParentRoute: () => rootRouteImport,
+} as any);
const ApiTestCleanupRoute = ApiTestCleanupRouteImport.update({
id: '/api/test/cleanup',
path: '/api/test/cleanup',
getParentRoute: () => rootRouteImport,
-} as any)
+} as any);
const ApiTestAuthUrlRoute = ApiTestAuthUrlRouteImport.update({
id: '/api/test/auth-url',
path: '/api/test/auth-url',
getParentRoute: () => rootRouteImport,
-} as any)
+} as any);
const ApiTestAddProjectMemberRoute = ApiTestAddProjectMemberRouteImport.update({
id: '/api/test/add-project-member',
path: '/api/test/add-project-member',
getParentRoute: () => rootRouteImport,
-} as any)
+} as any);
const ApiAuthVerifyEmailRoute = ApiAuthVerifyEmailRouteImport.update({
id: '/api/auth/verify-email',
path: '/api/auth/verify-email',
getParentRoute: () => rootRouteImport,
-} as any)
+} as any);
const ApiAuthSessionRoute = ApiAuthSessionRouteImport.update({
id: '/api/auth/session',
path: '/api/auth/session',
getParentRoute: () => rootRouteImport,
-} as any)
+} as any);
const ApiAuthSplatRoute = ApiAuthSplatRouteImport.update({
id: '/api/auth/$',
path: '/api/auth/$',
getParentRoute: () => rootRouteImport,
-} as any)
+} as any);
const AppChecklistChecklistIdRoute = AppChecklistChecklistIdRouteImport.update({
id: '/$checklistId',
path: '/$checklistId',
getParentRoute: () => AppChecklistRoute,
-} as any)
+} as any);
const AppProtectedSettingsRoute = AppProtectedSettingsRouteImport.update({
id: '/settings',
path: '/settings',
getParentRoute: () => AppProtectedRoute,
-} as any)
+} as any);
const AppProtectedAdminRoute = AppProtectedAdminRouteImport.update({
id: '/admin',
path: '/admin',
getParentRoute: () => AppProtectedRoute,
-} as any)
-const AppProtectedSettingsIndexRoute =
- AppProtectedSettingsIndexRouteImport.update({
- id: '/',
- path: '/',
- getParentRoute: () => AppProtectedSettingsRoute,
- } as any)
+} as any);
+const AppProtectedSettingsIndexRoute = AppProtectedSettingsIndexRouteImport.update({
+ id: '/',
+ path: '/',
+ getParentRoute: () => AppProtectedSettingsRoute,
+} as any);
const AppProtectedAdminIndexRoute = AppProtectedAdminIndexRouteImport.update({
id: '/',
path: '/',
getParentRoute: () => AppProtectedAdminRoute,
-} as any)
+} as any);
const ApiUsersAvatarUserIdRoute = ApiUsersAvatarUserIdRouteImport.update({
id: '/$userId',
path: '/$userId',
getParentRoute: () => ApiUsersAvatarRoute,
-} as any)
+} as any);
const ApiAuthStripeWebhookRoute = ApiAuthStripeWebhookRouteImport.update({
id: '/api/auth/stripe/webhook',
path: '/api/auth/stripe/webhook',
getParentRoute: () => rootRouteImport,
-} as any)
-const AppProtectedSettingsSecurityRoute =
- AppProtectedSettingsSecurityRouteImport.update({
- id: '/security',
- path: '/security',
- getParentRoute: () => AppProtectedSettingsRoute,
- } as any)
-const AppProtectedSettingsProfileRoute =
- AppProtectedSettingsProfileRouteImport.update({
- id: '/profile',
- path: '/profile',
- getParentRoute: () => AppProtectedSettingsRoute,
- } as any)
-const AppProtectedSettingsPlansRoute =
- AppProtectedSettingsPlansRouteImport.update({
- id: '/plans',
- path: '/plans',
- getParentRoute: () => AppProtectedSettingsRoute,
- } as any)
-const AppProtectedSettingsNotificationsRoute =
- AppProtectedSettingsNotificationsRouteImport.update({
- id: '/notifications',
- path: '/notifications',
- getParentRoute: () => AppProtectedSettingsRoute,
- } as any)
-const AppProtectedSettingsIntegrationsRoute =
- AppProtectedSettingsIntegrationsRouteImport.update({
- id: '/integrations',
- path: '/integrations',
- getParentRoute: () => AppProtectedSettingsRoute,
- } as any)
-const AppProtectedSettingsBillingRoute =
- AppProtectedSettingsBillingRouteImport.update({
- id: '/billing',
- path: '/billing',
- getParentRoute: () => AppProtectedSettingsRoute,
- } as any)
-const AppProtectedProjectsProjectIdRoute =
- AppProtectedProjectsProjectIdRouteImport.update({
- id: '/projects/$projectId',
- path: '/projects/$projectId',
- getParentRoute: () => AppProtectedRoute,
- } as any)
+} as any);
+const AppProtectedSettingsSecurityRoute = AppProtectedSettingsSecurityRouteImport.update({
+ id: '/security',
+ path: '/security',
+ getParentRoute: () => AppProtectedSettingsRoute,
+} as any);
+const AppProtectedSettingsProfileRoute = AppProtectedSettingsProfileRouteImport.update({
+ id: '/profile',
+ path: '/profile',
+ getParentRoute: () => AppProtectedSettingsRoute,
+} as any);
+const AppProtectedSettingsPlansRoute = AppProtectedSettingsPlansRouteImport.update({
+ id: '/plans',
+ path: '/plans',
+ getParentRoute: () => AppProtectedSettingsRoute,
+} as any);
+const AppProtectedSettingsNotificationsRoute = AppProtectedSettingsNotificationsRouteImport.update({
+ id: '/notifications',
+ path: '/notifications',
+ getParentRoute: () => AppProtectedSettingsRoute,
+} as any);
+const AppProtectedSettingsIntegrationsRoute = AppProtectedSettingsIntegrationsRouteImport.update({
+ id: '/integrations',
+ path: '/integrations',
+ getParentRoute: () => AppProtectedSettingsRoute,
+} as any);
+const AppProtectedSettingsBillingRoute = AppProtectedSettingsBillingRouteImport.update({
+ id: '/billing',
+ path: '/billing',
+ getParentRoute: () => AppProtectedSettingsRoute,
+} as any);
+const AppProtectedProjectsProjectIdRoute = AppProtectedProjectsProjectIdRouteImport.update({
+ id: '/projects/$projectId',
+ path: '/projects/$projectId',
+ getParentRoute: () => AppProtectedRoute,
+} as any);
const AppProtectedOrgsNewRoute = AppProtectedOrgsNewRouteImport.update({
id: '/orgs/new',
path: '/orgs/new',
getParentRoute: () => AppProtectedRoute,
-} as any)
-const AppProtectedAdminStorageRoute =
- AppProtectedAdminStorageRouteImport.update({
- id: '/storage',
- path: '/storage',
- getParentRoute: () => AppProtectedAdminRoute,
- } as any)
-const AppProtectedAdminDatabaseRoute =
- AppProtectedAdminDatabaseRouteImport.update({
- id: '/database',
- path: '/database',
- getParentRoute: () => AppProtectedAdminRoute,
- } as any)
-const AppProtectedAdminProjectsIndexRoute =
- AppProtectedAdminProjectsIndexRouteImport.update({
- id: '/projects/',
- path: '/projects/',
- getParentRoute: () => AppProtectedAdminRoute,
- } as any)
-const AppProtectedAdminOrgsIndexRoute =
- AppProtectedAdminOrgsIndexRouteImport.update({
- id: '/orgs/',
- path: '/orgs/',
- getParentRoute: () => AppProtectedAdminRoute,
- } as any)
-const AppProtectedAdminUsersUserIdRoute =
- AppProtectedAdminUsersUserIdRouteImport.update({
- id: '/users/$userId',
- path: '/users/$userId',
- getParentRoute: () => AppProtectedAdminRoute,
- } as any)
+} as any);
+const AppProtectedAdminStorageRoute = AppProtectedAdminStorageRouteImport.update({
+ id: '/storage',
+ path: '/storage',
+ getParentRoute: () => AppProtectedAdminRoute,
+} as any);
+const AppProtectedAdminDatabaseRoute = AppProtectedAdminDatabaseRouteImport.update({
+ id: '/database',
+ path: '/database',
+ getParentRoute: () => AppProtectedAdminRoute,
+} as any);
+const AppProtectedAdminProjectsIndexRoute = AppProtectedAdminProjectsIndexRouteImport.update({
+ id: '/projects/',
+ path: '/projects/',
+ getParentRoute: () => AppProtectedAdminRoute,
+} as any);
+const AppProtectedAdminOrgsIndexRoute = AppProtectedAdminOrgsIndexRouteImport.update({
+ id: '/orgs/',
+ path: '/orgs/',
+ getParentRoute: () => AppProtectedAdminRoute,
+} as any);
+const AppProtectedAdminUsersUserIdRoute = AppProtectedAdminUsersUserIdRouteImport.update({
+ id: '/users/$userId',
+ path: '/users/$userId',
+ getParentRoute: () => AppProtectedAdminRoute,
+} as any);
const AppProtectedAdminProjectsProjectIdRoute =
AppProtectedAdminProjectsProjectIdRouteImport.update({
id: '/projects/$projectId',
path: '/projects/$projectId',
getParentRoute: () => AppProtectedAdminRoute,
- } as any)
-const AppProtectedAdminOrgsOrgIdRoute =
- AppProtectedAdminOrgsOrgIdRouteImport.update({
- id: '/orgs/$orgId',
- path: '/orgs/$orgId',
- getParentRoute: () => AppProtectedAdminRoute,
- } as any)
+ } as any);
+const AppProtectedAdminOrgsOrgIdRoute = AppProtectedAdminOrgsOrgIdRouteImport.update({
+ id: '/orgs/$orgId',
+ path: '/orgs/$orgId',
+ getParentRoute: () => AppProtectedAdminRoute,
+} as any);
const AppProtectedAdminBillingStuckStatesRoute =
AppProtectedAdminBillingStuckStatesRouteImport.update({
id: '/billing/stuck-states',
path: '/billing/stuck-states',
getParentRoute: () => AppProtectedAdminRoute,
- } as any)
+ } as any);
const AppProtectedAdminBillingStripeToolsRoute =
AppProtectedAdminBillingStripeToolsRouteImport.update({
id: '/billing/stripe-tools',
path: '/billing/stripe-tools',
getParentRoute: () => AppProtectedAdminRoute,
- } as any)
-const AppProtectedAdminBillingLedgerRoute =
- AppProtectedAdminBillingLedgerRouteImport.update({
- id: '/billing/ledger',
- path: '/billing/ledger',
- getParentRoute: () => AppProtectedAdminRoute,
- } as any)
+ } as any);
+const AppProtectedAdminBillingLedgerRoute = AppProtectedAdminBillingLedgerRouteImport.update({
+ id: '/billing/ledger',
+ path: '/billing/ledger',
+ getParentRoute: () => AppProtectedAdminRoute,
+} as any);
const ApiOrgsOrgIdProjectsProjectIdDevAddStudyRoute =
ApiOrgsOrgIdProjectsProjectIdDevAddStudyRouteImport.update({
id: '/api/orgs/$orgId/projects/$projectId/dev/add-study',
path: '/api/orgs/$orgId/projects/$projectId/dev/add-study',
getParentRoute: () => rootRouteImport,
- } as any)
+ } as any);
const ApiOrgsOrgIdProjectsProjectIdStudiesStudyIdPdfsRoute =
ApiOrgsOrgIdProjectsProjectIdStudiesStudyIdPdfsRouteImport.update({
id: '/api/orgs/$orgId/projects/$projectId/studies/$studyId/pdfs',
path: '/api/orgs/$orgId/projects/$projectId/studies/$studyId/pdfs',
getParentRoute: () => rootRouteImport,
- } as any)
+ } as any);
const AppProtectedProjectsProjectIdStudiesStudyIdChecklistsChecklistIdRoute =
- AppProtectedProjectsProjectIdStudiesStudyIdChecklistsChecklistIdRouteImport.update(
- {
- id: '/studies/$studyId/checklists/$checklistId',
- path: '/studies/$studyId/checklists/$checklistId',
- getParentRoute: () => AppProtectedProjectsProjectIdRoute,
- } as any,
- )
+ AppProtectedProjectsProjectIdStudiesStudyIdChecklistsChecklistIdRouteImport.update({
+ id: '/studies/$studyId/checklists/$checklistId',
+ path: '/studies/$studyId/checklists/$checklistId',
+ getParentRoute: () => AppProtectedProjectsProjectIdRoute,
+ } as any);
const ApiOrgsOrgIdProjectsProjectIdStudiesStudyIdPdfsFileNameRoute =
ApiOrgsOrgIdProjectsProjectIdStudiesStudyIdPdfsFileNameRouteImport.update({
id: '/$fileName',
path: '/$fileName',
getParentRoute: () => ApiOrgsOrgIdProjectsProjectIdStudiesStudyIdPdfsRoute,
- } as any)
+ } as any);
const AppProtectedProjectsProjectIdStudiesStudyIdReconcileChecklist1IdChecklist2IdRoute =
- AppProtectedProjectsProjectIdStudiesStudyIdReconcileChecklist1IdChecklist2IdRouteImport.update(
- {
- id: '/studies/$studyId/reconcile/$checklist1Id/$checklist2Id',
- path: '/studies/$studyId/reconcile/$checklist1Id/$checklist2Id',
- getParentRoute: () => AppProtectedProjectsProjectIdRoute,
- } as any,
- )
+ AppProtectedProjectsProjectIdStudiesStudyIdReconcileChecklist1IdChecklist2IdRouteImport.update({
+ id: '/studies/$studyId/reconcile/$checklist1Id/$checklist2Id',
+ path: '/studies/$studyId/reconcile/$checklist1Id/$checklist2Id',
+ getParentRoute: () => AppProtectedProjectsProjectIdRoute,
+ } as any);
export interface FileRoutesByFullPath {
- '/': typeof IndexRoute
- '/about': typeof AboutRoute
- '/contact': typeof ContactRoute
- '/health': typeof HealthRoute
- '/healthz': typeof HealthzRoute
- '/pricing': typeof PricingRoute
- '/privacy': typeof PrivacyRoute
- '/security': typeof SecurityRoute
- '/terms': typeof TermsRoute
- '/checklist': typeof AppChecklistRouteWithChildren
- '/dashboard': typeof AppDashboardRoute
- '/check-email': typeof AuthCheckEmailRoute
- '/complete-profile': typeof AuthCompleteProfileRoute
- '/reset-password': typeof AuthResetPasswordRoute
- '/signin': typeof AuthSigninRoute
- '/signup': typeof AuthSignupRoute
- '/api/$': typeof ApiSplatRoute
- '/resources/amstar2': typeof ResourcesAmstar2Route
- '/resources/rob2': typeof ResourcesRob2Route
- '/resources/robins-i': typeof ResourcesRobinsIRoute
- '/resources/': typeof ResourcesIndexRoute
- '/admin': typeof AppProtectedAdminRouteWithChildren
- '/settings': typeof AppProtectedSettingsRouteWithChildren
- '/checklist/$checklistId': typeof AppChecklistChecklistIdRoute
- '/api/auth/$': typeof ApiAuthSplatRoute
- '/api/auth/session': typeof ApiAuthSessionRoute
- '/api/auth/verify-email': typeof ApiAuthVerifyEmailRoute
- '/api/test/add-project-member': typeof ApiTestAddProjectMemberRoute
- '/api/test/auth-url': typeof ApiTestAuthUrlRoute
- '/api/test/cleanup': typeof ApiTestCleanupRoute
- '/api/test/cleanup-user-by-email': typeof ApiTestCleanupUserByEmailRoute
- '/api/test/health': typeof ApiTestHealthRoute
- '/api/test/reset': typeof ApiTestResetRoute
- '/api/test/seed': typeof ApiTestSeedRoute
- '/api/test/session': typeof ApiTestSessionRoute
- '/api/test/update-subscription': typeof ApiTestUpdateSubscriptionRoute
- '/api/test/verify-email': typeof ApiTestVerifyEmailRoute
- '/api/users/avatar': typeof ApiUsersAvatarRouteWithChildren
- '/checklist/': typeof AppChecklistIndexRoute
- '/admin/database': typeof AppProtectedAdminDatabaseRoute
- '/admin/storage': typeof AppProtectedAdminStorageRoute
- '/orgs/new': typeof AppProtectedOrgsNewRoute
- '/projects/$projectId': typeof AppProtectedProjectsProjectIdRouteWithChildren
- '/settings/billing': typeof AppProtectedSettingsBillingRoute
- '/settings/integrations': typeof AppProtectedSettingsIntegrationsRoute
- '/settings/notifications': typeof AppProtectedSettingsNotificationsRoute
- '/settings/plans': typeof AppProtectedSettingsPlansRoute
- '/settings/profile': typeof AppProtectedSettingsProfileRoute
- '/settings/security': typeof AppProtectedSettingsSecurityRoute
- '/api/auth/stripe/webhook': typeof ApiAuthStripeWebhookRoute
- '/api/users/avatar/$userId': typeof ApiUsersAvatarUserIdRoute
- '/admin/': typeof AppProtectedAdminIndexRoute
- '/settings/': typeof AppProtectedSettingsIndexRoute
- '/admin/billing/ledger': typeof AppProtectedAdminBillingLedgerRoute
- '/admin/billing/stripe-tools': typeof AppProtectedAdminBillingStripeToolsRoute
- '/admin/billing/stuck-states': typeof AppProtectedAdminBillingStuckStatesRoute
- '/admin/orgs/$orgId': typeof AppProtectedAdminOrgsOrgIdRoute
- '/admin/projects/$projectId': typeof AppProtectedAdminProjectsProjectIdRoute
- '/admin/users/$userId': typeof AppProtectedAdminUsersUserIdRoute
- '/admin/orgs/': typeof AppProtectedAdminOrgsIndexRoute
- '/admin/projects/': typeof AppProtectedAdminProjectsIndexRoute
- '/api/orgs/$orgId/projects/$projectId/dev/add-study': typeof ApiOrgsOrgIdProjectsProjectIdDevAddStudyRoute
- '/projects/$projectId/studies/$studyId/checklists/$checklistId': typeof AppProtectedProjectsProjectIdStudiesStudyIdChecklistsChecklistIdRoute
- '/api/orgs/$orgId/projects/$projectId/studies/$studyId/pdfs': typeof ApiOrgsOrgIdProjectsProjectIdStudiesStudyIdPdfsRouteWithChildren
- '/projects/$projectId/studies/$studyId/reconcile/$checklist1Id/$checklist2Id': typeof AppProtectedProjectsProjectIdStudiesStudyIdReconcileChecklist1IdChecklist2IdRoute
- '/api/orgs/$orgId/projects/$projectId/studies/$studyId/pdfs/$fileName': typeof ApiOrgsOrgIdProjectsProjectIdStudiesStudyIdPdfsFileNameRoute
+ '/': typeof IndexRoute;
+ '/about': typeof AboutRoute;
+ '/contact': typeof ContactRoute;
+ '/health': typeof HealthRoute;
+ '/healthz': typeof HealthzRoute;
+ '/pricing': typeof PricingRoute;
+ '/privacy': typeof PrivacyRoute;
+ '/security': typeof SecurityRoute;
+ '/terms': typeof TermsRoute;
+ '/checklist': typeof AppChecklistRouteWithChildren;
+ '/dashboard': typeof AppDashboardRoute;
+ '/check-email': typeof AuthCheckEmailRoute;
+ '/complete-profile': typeof AuthCompleteProfileRoute;
+ '/reset-password': typeof AuthResetPasswordRoute;
+ '/signin': typeof AuthSigninRoute;
+ '/signup': typeof AuthSignupRoute;
+ '/api/$': typeof ApiSplatRoute;
+ '/resources/amstar2': typeof ResourcesAmstar2Route;
+ '/resources/rob2': typeof ResourcesRob2Route;
+ '/resources/robins-i': typeof ResourcesRobinsIRoute;
+ '/resources/': typeof ResourcesIndexRoute;
+ '/admin': typeof AppProtectedAdminRouteWithChildren;
+ '/settings': typeof AppProtectedSettingsRouteWithChildren;
+ '/checklist/$checklistId': typeof AppChecklistChecklistIdRoute;
+ '/api/auth/$': typeof ApiAuthSplatRoute;
+ '/api/auth/session': typeof ApiAuthSessionRoute;
+ '/api/auth/verify-email': typeof ApiAuthVerifyEmailRoute;
+ '/api/test/add-project-member': typeof ApiTestAddProjectMemberRoute;
+ '/api/test/auth-url': typeof ApiTestAuthUrlRoute;
+ '/api/test/cleanup': typeof ApiTestCleanupRoute;
+ '/api/test/cleanup-user-by-email': typeof ApiTestCleanupUserByEmailRoute;
+ '/api/test/health': typeof ApiTestHealthRoute;
+ '/api/test/reset': typeof ApiTestResetRoute;
+ '/api/test/seed': typeof ApiTestSeedRoute;
+ '/api/test/session': typeof ApiTestSessionRoute;
+ '/api/test/update-subscription': typeof ApiTestUpdateSubscriptionRoute;
+ '/api/test/verify-email': typeof ApiTestVerifyEmailRoute;
+ '/api/users/avatar': typeof ApiUsersAvatarRouteWithChildren;
+ '/checklist/': typeof AppChecklistIndexRoute;
+ '/admin/database': typeof AppProtectedAdminDatabaseRoute;
+ '/admin/storage': typeof AppProtectedAdminStorageRoute;
+ '/orgs/new': typeof AppProtectedOrgsNewRoute;
+ '/projects/$projectId': typeof AppProtectedProjectsProjectIdRouteWithChildren;
+ '/settings/billing': typeof AppProtectedSettingsBillingRoute;
+ '/settings/integrations': typeof AppProtectedSettingsIntegrationsRoute;
+ '/settings/notifications': typeof AppProtectedSettingsNotificationsRoute;
+ '/settings/plans': typeof AppProtectedSettingsPlansRoute;
+ '/settings/profile': typeof AppProtectedSettingsProfileRoute;
+ '/settings/security': typeof AppProtectedSettingsSecurityRoute;
+ '/api/auth/stripe/webhook': typeof ApiAuthStripeWebhookRoute;
+ '/api/users/avatar/$userId': typeof ApiUsersAvatarUserIdRoute;
+ '/admin/': typeof AppProtectedAdminIndexRoute;
+ '/settings/': typeof AppProtectedSettingsIndexRoute;
+ '/admin/billing/ledger': typeof AppProtectedAdminBillingLedgerRoute;
+ '/admin/billing/stripe-tools': typeof AppProtectedAdminBillingStripeToolsRoute;
+ '/admin/billing/stuck-states': typeof AppProtectedAdminBillingStuckStatesRoute;
+ '/admin/orgs/$orgId': typeof AppProtectedAdminOrgsOrgIdRoute;
+ '/admin/projects/$projectId': typeof AppProtectedAdminProjectsProjectIdRoute;
+ '/admin/users/$userId': typeof AppProtectedAdminUsersUserIdRoute;
+ '/admin/orgs/': typeof AppProtectedAdminOrgsIndexRoute;
+ '/admin/projects/': typeof AppProtectedAdminProjectsIndexRoute;
+ '/api/orgs/$orgId/projects/$projectId/dev/add-study': typeof ApiOrgsOrgIdProjectsProjectIdDevAddStudyRoute;
+ '/projects/$projectId/studies/$studyId/checklists/$checklistId': typeof AppProtectedProjectsProjectIdStudiesStudyIdChecklistsChecklistIdRoute;
+ '/api/orgs/$orgId/projects/$projectId/studies/$studyId/pdfs': typeof ApiOrgsOrgIdProjectsProjectIdStudiesStudyIdPdfsRouteWithChildren;
+ '/projects/$projectId/studies/$studyId/reconcile/$checklist1Id/$checklist2Id': typeof AppProtectedProjectsProjectIdStudiesStudyIdReconcileChecklist1IdChecklist2IdRoute;
+ '/api/orgs/$orgId/projects/$projectId/studies/$studyId/pdfs/$fileName': typeof ApiOrgsOrgIdProjectsProjectIdStudiesStudyIdPdfsFileNameRoute;
}
export interface FileRoutesByTo {
- '/': typeof IndexRoute
- '/about': typeof AboutRoute
- '/contact': typeof ContactRoute
- '/health': typeof HealthRoute
- '/healthz': typeof HealthzRoute
- '/pricing': typeof PricingRoute
- '/privacy': typeof PrivacyRoute
- '/security': typeof SecurityRoute
- '/terms': typeof TermsRoute
- '/dashboard': typeof AppDashboardRoute
- '/check-email': typeof AuthCheckEmailRoute
- '/complete-profile': typeof AuthCompleteProfileRoute
- '/reset-password': typeof AuthResetPasswordRoute
- '/signin': typeof AuthSigninRoute
- '/signup': typeof AuthSignupRoute
- '/api/$': typeof ApiSplatRoute
- '/resources/amstar2': typeof ResourcesAmstar2Route
- '/resources/rob2': typeof ResourcesRob2Route
- '/resources/robins-i': typeof ResourcesRobinsIRoute
- '/resources': typeof ResourcesIndexRoute
- '/checklist/$checklistId': typeof AppChecklistChecklistIdRoute
- '/api/auth/$': typeof ApiAuthSplatRoute
- '/api/auth/session': typeof ApiAuthSessionRoute
- '/api/auth/verify-email': typeof ApiAuthVerifyEmailRoute
- '/api/test/add-project-member': typeof ApiTestAddProjectMemberRoute
- '/api/test/auth-url': typeof ApiTestAuthUrlRoute
- '/api/test/cleanup': typeof ApiTestCleanupRoute
- '/api/test/cleanup-user-by-email': typeof ApiTestCleanupUserByEmailRoute
- '/api/test/health': typeof ApiTestHealthRoute
- '/api/test/reset': typeof ApiTestResetRoute
- '/api/test/seed': typeof ApiTestSeedRoute
- '/api/test/session': typeof ApiTestSessionRoute
- '/api/test/update-subscription': typeof ApiTestUpdateSubscriptionRoute
- '/api/test/verify-email': typeof ApiTestVerifyEmailRoute
- '/api/users/avatar': typeof ApiUsersAvatarRouteWithChildren
- '/checklist': typeof AppChecklistIndexRoute
- '/admin/database': typeof AppProtectedAdminDatabaseRoute
- '/admin/storage': typeof AppProtectedAdminStorageRoute
- '/orgs/new': typeof AppProtectedOrgsNewRoute
- '/projects/$projectId': typeof AppProtectedProjectsProjectIdRouteWithChildren
- '/settings/billing': typeof AppProtectedSettingsBillingRoute
- '/settings/integrations': typeof AppProtectedSettingsIntegrationsRoute
- '/settings/notifications': typeof AppProtectedSettingsNotificationsRoute
- '/settings/plans': typeof AppProtectedSettingsPlansRoute
- '/settings/profile': typeof AppProtectedSettingsProfileRoute
- '/settings/security': typeof AppProtectedSettingsSecurityRoute
- '/api/auth/stripe/webhook': typeof ApiAuthStripeWebhookRoute
- '/api/users/avatar/$userId': typeof ApiUsersAvatarUserIdRoute
- '/admin': typeof AppProtectedAdminIndexRoute
- '/settings': typeof AppProtectedSettingsIndexRoute
- '/admin/billing/ledger': typeof AppProtectedAdminBillingLedgerRoute
- '/admin/billing/stripe-tools': typeof AppProtectedAdminBillingStripeToolsRoute
- '/admin/billing/stuck-states': typeof AppProtectedAdminBillingStuckStatesRoute
- '/admin/orgs/$orgId': typeof AppProtectedAdminOrgsOrgIdRoute
- '/admin/projects/$projectId': typeof AppProtectedAdminProjectsProjectIdRoute
- '/admin/users/$userId': typeof AppProtectedAdminUsersUserIdRoute
- '/admin/orgs': typeof AppProtectedAdminOrgsIndexRoute
- '/admin/projects': typeof AppProtectedAdminProjectsIndexRoute
- '/api/orgs/$orgId/projects/$projectId/dev/add-study': typeof ApiOrgsOrgIdProjectsProjectIdDevAddStudyRoute
- '/projects/$projectId/studies/$studyId/checklists/$checklistId': typeof AppProtectedProjectsProjectIdStudiesStudyIdChecklistsChecklistIdRoute
- '/api/orgs/$orgId/projects/$projectId/studies/$studyId/pdfs': typeof ApiOrgsOrgIdProjectsProjectIdStudiesStudyIdPdfsRouteWithChildren
- '/projects/$projectId/studies/$studyId/reconcile/$checklist1Id/$checklist2Id': typeof AppProtectedProjectsProjectIdStudiesStudyIdReconcileChecklist1IdChecklist2IdRoute
- '/api/orgs/$orgId/projects/$projectId/studies/$studyId/pdfs/$fileName': typeof ApiOrgsOrgIdProjectsProjectIdStudiesStudyIdPdfsFileNameRoute
+ '/': typeof IndexRoute;
+ '/about': typeof AboutRoute;
+ '/contact': typeof ContactRoute;
+ '/health': typeof HealthRoute;
+ '/healthz': typeof HealthzRoute;
+ '/pricing': typeof PricingRoute;
+ '/privacy': typeof PrivacyRoute;
+ '/security': typeof SecurityRoute;
+ '/terms': typeof TermsRoute;
+ '/dashboard': typeof AppDashboardRoute;
+ '/check-email': typeof AuthCheckEmailRoute;
+ '/complete-profile': typeof AuthCompleteProfileRoute;
+ '/reset-password': typeof AuthResetPasswordRoute;
+ '/signin': typeof AuthSigninRoute;
+ '/signup': typeof AuthSignupRoute;
+ '/api/$': typeof ApiSplatRoute;
+ '/resources/amstar2': typeof ResourcesAmstar2Route;
+ '/resources/rob2': typeof ResourcesRob2Route;
+ '/resources/robins-i': typeof ResourcesRobinsIRoute;
+ '/resources': typeof ResourcesIndexRoute;
+ '/checklist/$checklistId': typeof AppChecklistChecklistIdRoute;
+ '/api/auth/$': typeof ApiAuthSplatRoute;
+ '/api/auth/session': typeof ApiAuthSessionRoute;
+ '/api/auth/verify-email': typeof ApiAuthVerifyEmailRoute;
+ '/api/test/add-project-member': typeof ApiTestAddProjectMemberRoute;
+ '/api/test/auth-url': typeof ApiTestAuthUrlRoute;
+ '/api/test/cleanup': typeof ApiTestCleanupRoute;
+ '/api/test/cleanup-user-by-email': typeof ApiTestCleanupUserByEmailRoute;
+ '/api/test/health': typeof ApiTestHealthRoute;
+ '/api/test/reset': typeof ApiTestResetRoute;
+ '/api/test/seed': typeof ApiTestSeedRoute;
+ '/api/test/session': typeof ApiTestSessionRoute;
+ '/api/test/update-subscription': typeof ApiTestUpdateSubscriptionRoute;
+ '/api/test/verify-email': typeof ApiTestVerifyEmailRoute;
+ '/api/users/avatar': typeof ApiUsersAvatarRouteWithChildren;
+ '/checklist': typeof AppChecklistIndexRoute;
+ '/admin/database': typeof AppProtectedAdminDatabaseRoute;
+ '/admin/storage': typeof AppProtectedAdminStorageRoute;
+ '/orgs/new': typeof AppProtectedOrgsNewRoute;
+ '/projects/$projectId': typeof AppProtectedProjectsProjectIdRouteWithChildren;
+ '/settings/billing': typeof AppProtectedSettingsBillingRoute;
+ '/settings/integrations': typeof AppProtectedSettingsIntegrationsRoute;
+ '/settings/notifications': typeof AppProtectedSettingsNotificationsRoute;
+ '/settings/plans': typeof AppProtectedSettingsPlansRoute;
+ '/settings/profile': typeof AppProtectedSettingsProfileRoute;
+ '/settings/security': typeof AppProtectedSettingsSecurityRoute;
+ '/api/auth/stripe/webhook': typeof ApiAuthStripeWebhookRoute;
+ '/api/users/avatar/$userId': typeof ApiUsersAvatarUserIdRoute;
+ '/admin': typeof AppProtectedAdminIndexRoute;
+ '/settings': typeof AppProtectedSettingsIndexRoute;
+ '/admin/billing/ledger': typeof AppProtectedAdminBillingLedgerRoute;
+ '/admin/billing/stripe-tools': typeof AppProtectedAdminBillingStripeToolsRoute;
+ '/admin/billing/stuck-states': typeof AppProtectedAdminBillingStuckStatesRoute;
+ '/admin/orgs/$orgId': typeof AppProtectedAdminOrgsOrgIdRoute;
+ '/admin/projects/$projectId': typeof AppProtectedAdminProjectsProjectIdRoute;
+ '/admin/users/$userId': typeof AppProtectedAdminUsersUserIdRoute;
+ '/admin/orgs': typeof AppProtectedAdminOrgsIndexRoute;
+ '/admin/projects': typeof AppProtectedAdminProjectsIndexRoute;
+ '/api/orgs/$orgId/projects/$projectId/dev/add-study': typeof ApiOrgsOrgIdProjectsProjectIdDevAddStudyRoute;
+ '/projects/$projectId/studies/$studyId/checklists/$checklistId': typeof AppProtectedProjectsProjectIdStudiesStudyIdChecklistsChecklistIdRoute;
+ '/api/orgs/$orgId/projects/$projectId/studies/$studyId/pdfs': typeof ApiOrgsOrgIdProjectsProjectIdStudiesStudyIdPdfsRouteWithChildren;
+ '/projects/$projectId/studies/$studyId/reconcile/$checklist1Id/$checklist2Id': typeof AppProtectedProjectsProjectIdStudiesStudyIdReconcileChecklist1IdChecklist2IdRoute;
+ '/api/orgs/$orgId/projects/$projectId/studies/$studyId/pdfs/$fileName': typeof ApiOrgsOrgIdProjectsProjectIdStudiesStudyIdPdfsFileNameRoute;
}
export interface FileRoutesById {
- __root__: typeof rootRouteImport
- '/': typeof IndexRoute
- '/_app': typeof AppRouteWithChildren
- '/_auth': typeof AuthRouteWithChildren
- '/about': typeof AboutRoute
- '/contact': typeof ContactRoute
- '/health': typeof HealthRoute
- '/healthz': typeof HealthzRoute
- '/pricing': typeof PricingRoute
- '/privacy': typeof PrivacyRoute
- '/security': typeof SecurityRoute
- '/terms': typeof TermsRoute
- '/_app/_protected': typeof AppProtectedRouteWithChildren
- '/_app/checklist': typeof AppChecklistRouteWithChildren
- '/_app/dashboard': typeof AppDashboardRoute
- '/_auth/check-email': typeof AuthCheckEmailRoute
- '/_auth/complete-profile': typeof AuthCompleteProfileRoute
- '/_auth/reset-password': typeof AuthResetPasswordRoute
- '/_auth/signin': typeof AuthSigninRoute
- '/_auth/signup': typeof AuthSignupRoute
- '/api/$': typeof ApiSplatRoute
- '/resources/amstar2': typeof ResourcesAmstar2Route
- '/resources/rob2': typeof ResourcesRob2Route
- '/resources/robins-i': typeof ResourcesRobinsIRoute
- '/resources/': typeof ResourcesIndexRoute
- '/_app/_protected/admin': typeof AppProtectedAdminRouteWithChildren
- '/_app/_protected/settings': typeof AppProtectedSettingsRouteWithChildren
- '/_app/checklist/$checklistId': typeof AppChecklistChecklistIdRoute
- '/api/auth/$': typeof ApiAuthSplatRoute
- '/api/auth/session': typeof ApiAuthSessionRoute
- '/api/auth/verify-email': typeof ApiAuthVerifyEmailRoute
- '/api/test/add-project-member': typeof ApiTestAddProjectMemberRoute
- '/api/test/auth-url': typeof ApiTestAuthUrlRoute
- '/api/test/cleanup': typeof ApiTestCleanupRoute
- '/api/test/cleanup-user-by-email': typeof ApiTestCleanupUserByEmailRoute
- '/api/test/health': typeof ApiTestHealthRoute
- '/api/test/reset': typeof ApiTestResetRoute
- '/api/test/seed': typeof ApiTestSeedRoute
- '/api/test/session': typeof ApiTestSessionRoute
- '/api/test/update-subscription': typeof ApiTestUpdateSubscriptionRoute
- '/api/test/verify-email': typeof ApiTestVerifyEmailRoute
- '/api/users/avatar': typeof ApiUsersAvatarRouteWithChildren
- '/_app/checklist/': typeof AppChecklistIndexRoute
- '/_app/_protected/admin/database': typeof AppProtectedAdminDatabaseRoute
- '/_app/_protected/admin/storage': typeof AppProtectedAdminStorageRoute
- '/_app/_protected/orgs/new': typeof AppProtectedOrgsNewRoute
- '/_app/_protected/projects/$projectId': typeof AppProtectedProjectsProjectIdRouteWithChildren
- '/_app/_protected/settings/billing': typeof AppProtectedSettingsBillingRoute
- '/_app/_protected/settings/integrations': typeof AppProtectedSettingsIntegrationsRoute
- '/_app/_protected/settings/notifications': typeof AppProtectedSettingsNotificationsRoute
- '/_app/_protected/settings/plans': typeof AppProtectedSettingsPlansRoute
- '/_app/_protected/settings/profile': typeof AppProtectedSettingsProfileRoute
- '/_app/_protected/settings/security': typeof AppProtectedSettingsSecurityRoute
- '/api/auth/stripe/webhook': typeof ApiAuthStripeWebhookRoute
- '/api/users/avatar/$userId': typeof ApiUsersAvatarUserIdRoute
- '/_app/_protected/admin/': typeof AppProtectedAdminIndexRoute
- '/_app/_protected/settings/': typeof AppProtectedSettingsIndexRoute
- '/_app/_protected/admin/billing/ledger': typeof AppProtectedAdminBillingLedgerRoute
- '/_app/_protected/admin/billing/stripe-tools': typeof AppProtectedAdminBillingStripeToolsRoute
- '/_app/_protected/admin/billing/stuck-states': typeof AppProtectedAdminBillingStuckStatesRoute
- '/_app/_protected/admin/orgs/$orgId': typeof AppProtectedAdminOrgsOrgIdRoute
- '/_app/_protected/admin/projects/$projectId': typeof AppProtectedAdminProjectsProjectIdRoute
- '/_app/_protected/admin/users/$userId': typeof AppProtectedAdminUsersUserIdRoute
- '/_app/_protected/admin/orgs/': typeof AppProtectedAdminOrgsIndexRoute
- '/_app/_protected/admin/projects/': typeof AppProtectedAdminProjectsIndexRoute
- '/api/orgs/$orgId/projects/$projectId/dev/add-study': typeof ApiOrgsOrgIdProjectsProjectIdDevAddStudyRoute
- '/_app/_protected/projects/$projectId/studies/$studyId/checklists/$checklistId': typeof AppProtectedProjectsProjectIdStudiesStudyIdChecklistsChecklistIdRoute
- '/api/orgs/$orgId/projects/$projectId/studies/$studyId/pdfs': typeof ApiOrgsOrgIdProjectsProjectIdStudiesStudyIdPdfsRouteWithChildren
- '/_app/_protected/projects/$projectId/studies/$studyId/reconcile/$checklist1Id/$checklist2Id': typeof AppProtectedProjectsProjectIdStudiesStudyIdReconcileChecklist1IdChecklist2IdRoute
- '/api/orgs/$orgId/projects/$projectId/studies/$studyId/pdfs/$fileName': typeof ApiOrgsOrgIdProjectsProjectIdStudiesStudyIdPdfsFileNameRoute
+ __root__: typeof rootRouteImport;
+ '/': typeof IndexRoute;
+ '/_app': typeof AppRouteWithChildren;
+ '/_auth': typeof AuthRouteWithChildren;
+ '/about': typeof AboutRoute;
+ '/contact': typeof ContactRoute;
+ '/health': typeof HealthRoute;
+ '/healthz': typeof HealthzRoute;
+ '/pricing': typeof PricingRoute;
+ '/privacy': typeof PrivacyRoute;
+ '/security': typeof SecurityRoute;
+ '/terms': typeof TermsRoute;
+ '/_app/_protected': typeof AppProtectedRouteWithChildren;
+ '/_app/checklist': typeof AppChecklistRouteWithChildren;
+ '/_app/dashboard': typeof AppDashboardRoute;
+ '/_auth/check-email': typeof AuthCheckEmailRoute;
+ '/_auth/complete-profile': typeof AuthCompleteProfileRoute;
+ '/_auth/reset-password': typeof AuthResetPasswordRoute;
+ '/_auth/signin': typeof AuthSigninRoute;
+ '/_auth/signup': typeof AuthSignupRoute;
+ '/api/$': typeof ApiSplatRoute;
+ '/resources/amstar2': typeof ResourcesAmstar2Route;
+ '/resources/rob2': typeof ResourcesRob2Route;
+ '/resources/robins-i': typeof ResourcesRobinsIRoute;
+ '/resources/': typeof ResourcesIndexRoute;
+ '/_app/_protected/admin': typeof AppProtectedAdminRouteWithChildren;
+ '/_app/_protected/settings': typeof AppProtectedSettingsRouteWithChildren;
+ '/_app/checklist/$checklistId': typeof AppChecklistChecklistIdRoute;
+ '/api/auth/$': typeof ApiAuthSplatRoute;
+ '/api/auth/session': typeof ApiAuthSessionRoute;
+ '/api/auth/verify-email': typeof ApiAuthVerifyEmailRoute;
+ '/api/test/add-project-member': typeof ApiTestAddProjectMemberRoute;
+ '/api/test/auth-url': typeof ApiTestAuthUrlRoute;
+ '/api/test/cleanup': typeof ApiTestCleanupRoute;
+ '/api/test/cleanup-user-by-email': typeof ApiTestCleanupUserByEmailRoute;
+ '/api/test/health': typeof ApiTestHealthRoute;
+ '/api/test/reset': typeof ApiTestResetRoute;
+ '/api/test/seed': typeof ApiTestSeedRoute;
+ '/api/test/session': typeof ApiTestSessionRoute;
+ '/api/test/update-subscription': typeof ApiTestUpdateSubscriptionRoute;
+ '/api/test/verify-email': typeof ApiTestVerifyEmailRoute;
+ '/api/users/avatar': typeof ApiUsersAvatarRouteWithChildren;
+ '/_app/checklist/': typeof AppChecklistIndexRoute;
+ '/_app/_protected/admin/database': typeof AppProtectedAdminDatabaseRoute;
+ '/_app/_protected/admin/storage': typeof AppProtectedAdminStorageRoute;
+ '/_app/_protected/orgs/new': typeof AppProtectedOrgsNewRoute;
+ '/_app/_protected/projects/$projectId': typeof AppProtectedProjectsProjectIdRouteWithChildren;
+ '/_app/_protected/settings/billing': typeof AppProtectedSettingsBillingRoute;
+ '/_app/_protected/settings/integrations': typeof AppProtectedSettingsIntegrationsRoute;
+ '/_app/_protected/settings/notifications': typeof AppProtectedSettingsNotificationsRoute;
+ '/_app/_protected/settings/plans': typeof AppProtectedSettingsPlansRoute;
+ '/_app/_protected/settings/profile': typeof AppProtectedSettingsProfileRoute;
+ '/_app/_protected/settings/security': typeof AppProtectedSettingsSecurityRoute;
+ '/api/auth/stripe/webhook': typeof ApiAuthStripeWebhookRoute;
+ '/api/users/avatar/$userId': typeof ApiUsersAvatarUserIdRoute;
+ '/_app/_protected/admin/': typeof AppProtectedAdminIndexRoute;
+ '/_app/_protected/settings/': typeof AppProtectedSettingsIndexRoute;
+ '/_app/_protected/admin/billing/ledger': typeof AppProtectedAdminBillingLedgerRoute;
+ '/_app/_protected/admin/billing/stripe-tools': typeof AppProtectedAdminBillingStripeToolsRoute;
+ '/_app/_protected/admin/billing/stuck-states': typeof AppProtectedAdminBillingStuckStatesRoute;
+ '/_app/_protected/admin/orgs/$orgId': typeof AppProtectedAdminOrgsOrgIdRoute;
+ '/_app/_protected/admin/projects/$projectId': typeof AppProtectedAdminProjectsProjectIdRoute;
+ '/_app/_protected/admin/users/$userId': typeof AppProtectedAdminUsersUserIdRoute;
+ '/_app/_protected/admin/orgs/': typeof AppProtectedAdminOrgsIndexRoute;
+ '/_app/_protected/admin/projects/': typeof AppProtectedAdminProjectsIndexRoute;
+ '/api/orgs/$orgId/projects/$projectId/dev/add-study': typeof ApiOrgsOrgIdProjectsProjectIdDevAddStudyRoute;
+ '/_app/_protected/projects/$projectId/studies/$studyId/checklists/$checklistId': typeof AppProtectedProjectsProjectIdStudiesStudyIdChecklistsChecklistIdRoute;
+ '/api/orgs/$orgId/projects/$projectId/studies/$studyId/pdfs': typeof ApiOrgsOrgIdProjectsProjectIdStudiesStudyIdPdfsRouteWithChildren;
+ '/_app/_protected/projects/$projectId/studies/$studyId/reconcile/$checklist1Id/$checklist2Id': typeof AppProtectedProjectsProjectIdStudiesStudyIdReconcileChecklist1IdChecklist2IdRoute;
+ '/api/orgs/$orgId/projects/$projectId/studies/$studyId/pdfs/$fileName': typeof ApiOrgsOrgIdProjectsProjectIdStudiesStudyIdPdfsFileNameRoute;
}
export interface FileRouteTypes {
- fileRoutesByFullPath: FileRoutesByFullPath
+ fileRoutesByFullPath: FileRoutesByFullPath;
fullPaths:
| '/'
| '/about'
@@ -724,8 +703,8 @@ export interface FileRouteTypes {
| '/projects/$projectId/studies/$studyId/checklists/$checklistId'
| '/api/orgs/$orgId/projects/$projectId/studies/$studyId/pdfs'
| '/projects/$projectId/studies/$studyId/reconcile/$checklist1Id/$checklist2Id'
- | '/api/orgs/$orgId/projects/$projectId/studies/$studyId/pdfs/$fileName'
- fileRoutesByTo: FileRoutesByTo
+ | '/api/orgs/$orgId/projects/$projectId/studies/$studyId/pdfs/$fileName';
+ fileRoutesByTo: FileRoutesByTo;
to:
| '/'
| '/about'
@@ -789,7 +768,7 @@ export interface FileRouteTypes {
| '/projects/$projectId/studies/$studyId/checklists/$checklistId'
| '/api/orgs/$orgId/projects/$projectId/studies/$studyId/pdfs'
| '/projects/$projectId/studies/$studyId/reconcile/$checklist1Id/$checklist2Id'
- | '/api/orgs/$orgId/projects/$projectId/studies/$studyId/pdfs/$fileName'
+ | '/api/orgs/$orgId/projects/$projectId/studies/$studyId/pdfs/$fileName';
id:
| '__root__'
| '/'
@@ -860,545 +839,545 @@ export interface FileRouteTypes {
| '/_app/_protected/projects/$projectId/studies/$studyId/checklists/$checklistId'
| '/api/orgs/$orgId/projects/$projectId/studies/$studyId/pdfs'
| '/_app/_protected/projects/$projectId/studies/$studyId/reconcile/$checklist1Id/$checklist2Id'
- | '/api/orgs/$orgId/projects/$projectId/studies/$studyId/pdfs/$fileName'
- fileRoutesById: FileRoutesById
+ | '/api/orgs/$orgId/projects/$projectId/studies/$studyId/pdfs/$fileName';
+ fileRoutesById: FileRoutesById;
}
export interface RootRouteChildren {
- IndexRoute: typeof IndexRoute
- AppRoute: typeof AppRouteWithChildren
- AuthRoute: typeof AuthRouteWithChildren
- AboutRoute: typeof AboutRoute
- ContactRoute: typeof ContactRoute
- HealthRoute: typeof HealthRoute
- HealthzRoute: typeof HealthzRoute
- PricingRoute: typeof PricingRoute
- PrivacyRoute: typeof PrivacyRoute
- SecurityRoute: typeof SecurityRoute
- TermsRoute: typeof TermsRoute
- ApiSplatRoute: typeof ApiSplatRoute
- ResourcesAmstar2Route: typeof ResourcesAmstar2Route
- ResourcesRob2Route: typeof ResourcesRob2Route
- ResourcesRobinsIRoute: typeof ResourcesRobinsIRoute
- ResourcesIndexRoute: typeof ResourcesIndexRoute
- ApiAuthSplatRoute: typeof ApiAuthSplatRoute
- ApiAuthSessionRoute: typeof ApiAuthSessionRoute
- ApiAuthVerifyEmailRoute: typeof ApiAuthVerifyEmailRoute
- ApiTestAddProjectMemberRoute: typeof ApiTestAddProjectMemberRoute
- ApiTestAuthUrlRoute: typeof ApiTestAuthUrlRoute
- ApiTestCleanupRoute: typeof ApiTestCleanupRoute
- ApiTestCleanupUserByEmailRoute: typeof ApiTestCleanupUserByEmailRoute
- ApiTestHealthRoute: typeof ApiTestHealthRoute
- ApiTestResetRoute: typeof ApiTestResetRoute
- ApiTestSeedRoute: typeof ApiTestSeedRoute
- ApiTestSessionRoute: typeof ApiTestSessionRoute
- ApiTestUpdateSubscriptionRoute: typeof ApiTestUpdateSubscriptionRoute
- ApiTestVerifyEmailRoute: typeof ApiTestVerifyEmailRoute
- ApiUsersAvatarRoute: typeof ApiUsersAvatarRouteWithChildren
- ApiAuthStripeWebhookRoute: typeof ApiAuthStripeWebhookRoute
- ApiOrgsOrgIdProjectsProjectIdDevAddStudyRoute: typeof ApiOrgsOrgIdProjectsProjectIdDevAddStudyRoute
- ApiOrgsOrgIdProjectsProjectIdStudiesStudyIdPdfsRoute: typeof ApiOrgsOrgIdProjectsProjectIdStudiesStudyIdPdfsRouteWithChildren
+ IndexRoute: typeof IndexRoute;
+ AppRoute: typeof AppRouteWithChildren;
+ AuthRoute: typeof AuthRouteWithChildren;
+ AboutRoute: typeof AboutRoute;
+ ContactRoute: typeof ContactRoute;
+ HealthRoute: typeof HealthRoute;
+ HealthzRoute: typeof HealthzRoute;
+ PricingRoute: typeof PricingRoute;
+ PrivacyRoute: typeof PrivacyRoute;
+ SecurityRoute: typeof SecurityRoute;
+ TermsRoute: typeof TermsRoute;
+ ApiSplatRoute: typeof ApiSplatRoute;
+ ResourcesAmstar2Route: typeof ResourcesAmstar2Route;
+ ResourcesRob2Route: typeof ResourcesRob2Route;
+ ResourcesRobinsIRoute: typeof ResourcesRobinsIRoute;
+ ResourcesIndexRoute: typeof ResourcesIndexRoute;
+ ApiAuthSplatRoute: typeof ApiAuthSplatRoute;
+ ApiAuthSessionRoute: typeof ApiAuthSessionRoute;
+ ApiAuthVerifyEmailRoute: typeof ApiAuthVerifyEmailRoute;
+ ApiTestAddProjectMemberRoute: typeof ApiTestAddProjectMemberRoute;
+ ApiTestAuthUrlRoute: typeof ApiTestAuthUrlRoute;
+ ApiTestCleanupRoute: typeof ApiTestCleanupRoute;
+ ApiTestCleanupUserByEmailRoute: typeof ApiTestCleanupUserByEmailRoute;
+ ApiTestHealthRoute: typeof ApiTestHealthRoute;
+ ApiTestResetRoute: typeof ApiTestResetRoute;
+ ApiTestSeedRoute: typeof ApiTestSeedRoute;
+ ApiTestSessionRoute: typeof ApiTestSessionRoute;
+ ApiTestUpdateSubscriptionRoute: typeof ApiTestUpdateSubscriptionRoute;
+ ApiTestVerifyEmailRoute: typeof ApiTestVerifyEmailRoute;
+ ApiUsersAvatarRoute: typeof ApiUsersAvatarRouteWithChildren;
+ ApiAuthStripeWebhookRoute: typeof ApiAuthStripeWebhookRoute;
+ ApiOrgsOrgIdProjectsProjectIdDevAddStudyRoute: typeof ApiOrgsOrgIdProjectsProjectIdDevAddStudyRoute;
+ ApiOrgsOrgIdProjectsProjectIdStudiesStudyIdPdfsRoute: typeof ApiOrgsOrgIdProjectsProjectIdStudiesStudyIdPdfsRouteWithChildren;
}
declare module '@tanstack/react-router' {
interface FileRoutesByPath {
'/terms': {
- id: '/terms'
- path: '/terms'
- fullPath: '/terms'
- preLoaderRoute: typeof TermsRouteImport
- parentRoute: typeof rootRouteImport
- }
+ id: '/terms';
+ path: '/terms';
+ fullPath: '/terms';
+ preLoaderRoute: typeof TermsRouteImport;
+ parentRoute: typeof rootRouteImport;
+ };
'/security': {
- id: '/security'
- path: '/security'
- fullPath: '/security'
- preLoaderRoute: typeof SecurityRouteImport
- parentRoute: typeof rootRouteImport
- }
+ id: '/security';
+ path: '/security';
+ fullPath: '/security';
+ preLoaderRoute: typeof SecurityRouteImport;
+ parentRoute: typeof rootRouteImport;
+ };
'/privacy': {
- id: '/privacy'
- path: '/privacy'
- fullPath: '/privacy'
- preLoaderRoute: typeof PrivacyRouteImport
- parentRoute: typeof rootRouteImport
- }
+ id: '/privacy';
+ path: '/privacy';
+ fullPath: '/privacy';
+ preLoaderRoute: typeof PrivacyRouteImport;
+ parentRoute: typeof rootRouteImport;
+ };
'/pricing': {
- id: '/pricing'
- path: '/pricing'
- fullPath: '/pricing'
- preLoaderRoute: typeof PricingRouteImport
- parentRoute: typeof rootRouteImport
- }
+ id: '/pricing';
+ path: '/pricing';
+ fullPath: '/pricing';
+ preLoaderRoute: typeof PricingRouteImport;
+ parentRoute: typeof rootRouteImport;
+ };
'/healthz': {
- id: '/healthz'
- path: '/healthz'
- fullPath: '/healthz'
- preLoaderRoute: typeof HealthzRouteImport
- parentRoute: typeof rootRouteImport
- }
+ id: '/healthz';
+ path: '/healthz';
+ fullPath: '/healthz';
+ preLoaderRoute: typeof HealthzRouteImport;
+ parentRoute: typeof rootRouteImport;
+ };
'/health': {
- id: '/health'
- path: '/health'
- fullPath: '/health'
- preLoaderRoute: typeof HealthRouteImport
- parentRoute: typeof rootRouteImport
- }
+ id: '/health';
+ path: '/health';
+ fullPath: '/health';
+ preLoaderRoute: typeof HealthRouteImport;
+ parentRoute: typeof rootRouteImport;
+ };
'/contact': {
- id: '/contact'
- path: '/contact'
- fullPath: '/contact'
- preLoaderRoute: typeof ContactRouteImport
- parentRoute: typeof rootRouteImport
- }
+ id: '/contact';
+ path: '/contact';
+ fullPath: '/contact';
+ preLoaderRoute: typeof ContactRouteImport;
+ parentRoute: typeof rootRouteImport;
+ };
'/about': {
- id: '/about'
- path: '/about'
- fullPath: '/about'
- preLoaderRoute: typeof AboutRouteImport
- parentRoute: typeof rootRouteImport
- }
+ id: '/about';
+ path: '/about';
+ fullPath: '/about';
+ preLoaderRoute: typeof AboutRouteImport;
+ parentRoute: typeof rootRouteImport;
+ };
'/_auth': {
- id: '/_auth'
- path: ''
- fullPath: '/'
- preLoaderRoute: typeof AuthRouteImport
- parentRoute: typeof rootRouteImport
- }
+ id: '/_auth';
+ path: '';
+ fullPath: '/';
+ preLoaderRoute: typeof AuthRouteImport;
+ parentRoute: typeof rootRouteImport;
+ };
'/_app': {
- id: '/_app'
- path: ''
- fullPath: '/'
- preLoaderRoute: typeof AppRouteImport
- parentRoute: typeof rootRouteImport
- }
+ id: '/_app';
+ path: '';
+ fullPath: '/';
+ preLoaderRoute: typeof AppRouteImport;
+ parentRoute: typeof rootRouteImport;
+ };
'/': {
- id: '/'
- path: '/'
- fullPath: '/'
- preLoaderRoute: typeof IndexRouteImport
- parentRoute: typeof rootRouteImport
- }
+ id: '/';
+ path: '/';
+ fullPath: '/';
+ preLoaderRoute: typeof IndexRouteImport;
+ parentRoute: typeof rootRouteImport;
+ };
'/resources/': {
- id: '/resources/'
- path: '/resources'
- fullPath: '/resources/'
- preLoaderRoute: typeof ResourcesIndexRouteImport
- parentRoute: typeof rootRouteImport
- }
+ id: '/resources/';
+ path: '/resources';
+ fullPath: '/resources/';
+ preLoaderRoute: typeof ResourcesIndexRouteImport;
+ parentRoute: typeof rootRouteImport;
+ };
'/resources/robins-i': {
- id: '/resources/robins-i'
- path: '/resources/robins-i'
- fullPath: '/resources/robins-i'
- preLoaderRoute: typeof ResourcesRobinsIRouteImport
- parentRoute: typeof rootRouteImport
- }
+ id: '/resources/robins-i';
+ path: '/resources/robins-i';
+ fullPath: '/resources/robins-i';
+ preLoaderRoute: typeof ResourcesRobinsIRouteImport;
+ parentRoute: typeof rootRouteImport;
+ };
'/resources/rob2': {
- id: '/resources/rob2'
- path: '/resources/rob2'
- fullPath: '/resources/rob2'
- preLoaderRoute: typeof ResourcesRob2RouteImport
- parentRoute: typeof rootRouteImport
- }
+ id: '/resources/rob2';
+ path: '/resources/rob2';
+ fullPath: '/resources/rob2';
+ preLoaderRoute: typeof ResourcesRob2RouteImport;
+ parentRoute: typeof rootRouteImport;
+ };
'/resources/amstar2': {
- id: '/resources/amstar2'
- path: '/resources/amstar2'
- fullPath: '/resources/amstar2'
- preLoaderRoute: typeof ResourcesAmstar2RouteImport
- parentRoute: typeof rootRouteImport
- }
+ id: '/resources/amstar2';
+ path: '/resources/amstar2';
+ fullPath: '/resources/amstar2';
+ preLoaderRoute: typeof ResourcesAmstar2RouteImport;
+ parentRoute: typeof rootRouteImport;
+ };
'/api/$': {
- id: '/api/$'
- path: '/api/$'
- fullPath: '/api/$'
- preLoaderRoute: typeof ApiSplatRouteImport
- parentRoute: typeof rootRouteImport
- }
+ id: '/api/$';
+ path: '/api/$';
+ fullPath: '/api/$';
+ preLoaderRoute: typeof ApiSplatRouteImport;
+ parentRoute: typeof rootRouteImport;
+ };
'/_auth/signup': {
- id: '/_auth/signup'
- path: '/signup'
- fullPath: '/signup'
- preLoaderRoute: typeof AuthSignupRouteImport
- parentRoute: typeof AuthRoute
- }
+ id: '/_auth/signup';
+ path: '/signup';
+ fullPath: '/signup';
+ preLoaderRoute: typeof AuthSignupRouteImport;
+ parentRoute: typeof AuthRoute;
+ };
'/_auth/signin': {
- id: '/_auth/signin'
- path: '/signin'
- fullPath: '/signin'
- preLoaderRoute: typeof AuthSigninRouteImport
- parentRoute: typeof AuthRoute
- }
+ id: '/_auth/signin';
+ path: '/signin';
+ fullPath: '/signin';
+ preLoaderRoute: typeof AuthSigninRouteImport;
+ parentRoute: typeof AuthRoute;
+ };
'/_auth/reset-password': {
- id: '/_auth/reset-password'
- path: '/reset-password'
- fullPath: '/reset-password'
- preLoaderRoute: typeof AuthResetPasswordRouteImport
- parentRoute: typeof AuthRoute
- }
+ id: '/_auth/reset-password';
+ path: '/reset-password';
+ fullPath: '/reset-password';
+ preLoaderRoute: typeof AuthResetPasswordRouteImport;
+ parentRoute: typeof AuthRoute;
+ };
'/_auth/complete-profile': {
- id: '/_auth/complete-profile'
- path: '/complete-profile'
- fullPath: '/complete-profile'
- preLoaderRoute: typeof AuthCompleteProfileRouteImport
- parentRoute: typeof AuthRoute
- }
+ id: '/_auth/complete-profile';
+ path: '/complete-profile';
+ fullPath: '/complete-profile';
+ preLoaderRoute: typeof AuthCompleteProfileRouteImport;
+ parentRoute: typeof AuthRoute;
+ };
'/_auth/check-email': {
- id: '/_auth/check-email'
- path: '/check-email'
- fullPath: '/check-email'
- preLoaderRoute: typeof AuthCheckEmailRouteImport
- parentRoute: typeof AuthRoute
- }
+ id: '/_auth/check-email';
+ path: '/check-email';
+ fullPath: '/check-email';
+ preLoaderRoute: typeof AuthCheckEmailRouteImport;
+ parentRoute: typeof AuthRoute;
+ };
'/_app/dashboard': {
- id: '/_app/dashboard'
- path: '/dashboard'
- fullPath: '/dashboard'
- preLoaderRoute: typeof AppDashboardRouteImport
- parentRoute: typeof AppRoute
- }
+ id: '/_app/dashboard';
+ path: '/dashboard';
+ fullPath: '/dashboard';
+ preLoaderRoute: typeof AppDashboardRouteImport;
+ parentRoute: typeof AppRoute;
+ };
'/_app/checklist': {
- id: '/_app/checklist'
- path: '/checklist'
- fullPath: '/checklist'
- preLoaderRoute: typeof AppChecklistRouteImport
- parentRoute: typeof AppRoute
- }
+ id: '/_app/checklist';
+ path: '/checklist';
+ fullPath: '/checklist';
+ preLoaderRoute: typeof AppChecklistRouteImport;
+ parentRoute: typeof AppRoute;
+ };
'/_app/_protected': {
- id: '/_app/_protected'
- path: ''
- fullPath: '/'
- preLoaderRoute: typeof AppProtectedRouteImport
- parentRoute: typeof AppRoute
- }
+ id: '/_app/_protected';
+ path: '';
+ fullPath: '/';
+ preLoaderRoute: typeof AppProtectedRouteImport;
+ parentRoute: typeof AppRoute;
+ };
'/_app/checklist/': {
- id: '/_app/checklist/'
- path: '/'
- fullPath: '/checklist/'
- preLoaderRoute: typeof AppChecklistIndexRouteImport
- parentRoute: typeof AppChecklistRoute
- }
+ id: '/_app/checklist/';
+ path: '/';
+ fullPath: '/checklist/';
+ preLoaderRoute: typeof AppChecklistIndexRouteImport;
+ parentRoute: typeof AppChecklistRoute;
+ };
'/api/users/avatar': {
- id: '/api/users/avatar'
- path: '/api/users/avatar'
- fullPath: '/api/users/avatar'
- preLoaderRoute: typeof ApiUsersAvatarRouteImport
- parentRoute: typeof rootRouteImport
- }
+ id: '/api/users/avatar';
+ path: '/api/users/avatar';
+ fullPath: '/api/users/avatar';
+ preLoaderRoute: typeof ApiUsersAvatarRouteImport;
+ parentRoute: typeof rootRouteImport;
+ };
'/api/test/verify-email': {
- id: '/api/test/verify-email'
- path: '/api/test/verify-email'
- fullPath: '/api/test/verify-email'
- preLoaderRoute: typeof ApiTestVerifyEmailRouteImport
- parentRoute: typeof rootRouteImport
- }
+ id: '/api/test/verify-email';
+ path: '/api/test/verify-email';
+ fullPath: '/api/test/verify-email';
+ preLoaderRoute: typeof ApiTestVerifyEmailRouteImport;
+ parentRoute: typeof rootRouteImport;
+ };
'/api/test/update-subscription': {
- id: '/api/test/update-subscription'
- path: '/api/test/update-subscription'
- fullPath: '/api/test/update-subscription'
- preLoaderRoute: typeof ApiTestUpdateSubscriptionRouteImport
- parentRoute: typeof rootRouteImport
- }
+ id: '/api/test/update-subscription';
+ path: '/api/test/update-subscription';
+ fullPath: '/api/test/update-subscription';
+ preLoaderRoute: typeof ApiTestUpdateSubscriptionRouteImport;
+ parentRoute: typeof rootRouteImport;
+ };
'/api/test/session': {
- id: '/api/test/session'
- path: '/api/test/session'
- fullPath: '/api/test/session'
- preLoaderRoute: typeof ApiTestSessionRouteImport
- parentRoute: typeof rootRouteImport
- }
+ id: '/api/test/session';
+ path: '/api/test/session';
+ fullPath: '/api/test/session';
+ preLoaderRoute: typeof ApiTestSessionRouteImport;
+ parentRoute: typeof rootRouteImport;
+ };
'/api/test/seed': {
- id: '/api/test/seed'
- path: '/api/test/seed'
- fullPath: '/api/test/seed'
- preLoaderRoute: typeof ApiTestSeedRouteImport
- parentRoute: typeof rootRouteImport
- }
+ id: '/api/test/seed';
+ path: '/api/test/seed';
+ fullPath: '/api/test/seed';
+ preLoaderRoute: typeof ApiTestSeedRouteImport;
+ parentRoute: typeof rootRouteImport;
+ };
'/api/test/reset': {
- id: '/api/test/reset'
- path: '/api/test/reset'
- fullPath: '/api/test/reset'
- preLoaderRoute: typeof ApiTestResetRouteImport
- parentRoute: typeof rootRouteImport
- }
+ id: '/api/test/reset';
+ path: '/api/test/reset';
+ fullPath: '/api/test/reset';
+ preLoaderRoute: typeof ApiTestResetRouteImport;
+ parentRoute: typeof rootRouteImport;
+ };
'/api/test/health': {
- id: '/api/test/health'
- path: '/api/test/health'
- fullPath: '/api/test/health'
- preLoaderRoute: typeof ApiTestHealthRouteImport
- parentRoute: typeof rootRouteImport
- }
+ id: '/api/test/health';
+ path: '/api/test/health';
+ fullPath: '/api/test/health';
+ preLoaderRoute: typeof ApiTestHealthRouteImport;
+ parentRoute: typeof rootRouteImport;
+ };
'/api/test/cleanup-user-by-email': {
- id: '/api/test/cleanup-user-by-email'
- path: '/api/test/cleanup-user-by-email'
- fullPath: '/api/test/cleanup-user-by-email'
- preLoaderRoute: typeof ApiTestCleanupUserByEmailRouteImport
- parentRoute: typeof rootRouteImport
- }
+ id: '/api/test/cleanup-user-by-email';
+ path: '/api/test/cleanup-user-by-email';
+ fullPath: '/api/test/cleanup-user-by-email';
+ preLoaderRoute: typeof ApiTestCleanupUserByEmailRouteImport;
+ parentRoute: typeof rootRouteImport;
+ };
'/api/test/cleanup': {
- id: '/api/test/cleanup'
- path: '/api/test/cleanup'
- fullPath: '/api/test/cleanup'
- preLoaderRoute: typeof ApiTestCleanupRouteImport
- parentRoute: typeof rootRouteImport
- }
+ id: '/api/test/cleanup';
+ path: '/api/test/cleanup';
+ fullPath: '/api/test/cleanup';
+ preLoaderRoute: typeof ApiTestCleanupRouteImport;
+ parentRoute: typeof rootRouteImport;
+ };
'/api/test/auth-url': {
- id: '/api/test/auth-url'
- path: '/api/test/auth-url'
- fullPath: '/api/test/auth-url'
- preLoaderRoute: typeof ApiTestAuthUrlRouteImport
- parentRoute: typeof rootRouteImport
- }
+ id: '/api/test/auth-url';
+ path: '/api/test/auth-url';
+ fullPath: '/api/test/auth-url';
+ preLoaderRoute: typeof ApiTestAuthUrlRouteImport;
+ parentRoute: typeof rootRouteImport;
+ };
'/api/test/add-project-member': {
- id: '/api/test/add-project-member'
- path: '/api/test/add-project-member'
- fullPath: '/api/test/add-project-member'
- preLoaderRoute: typeof ApiTestAddProjectMemberRouteImport
- parentRoute: typeof rootRouteImport
- }
+ id: '/api/test/add-project-member';
+ path: '/api/test/add-project-member';
+ fullPath: '/api/test/add-project-member';
+ preLoaderRoute: typeof ApiTestAddProjectMemberRouteImport;
+ parentRoute: typeof rootRouteImport;
+ };
'/api/auth/verify-email': {
- id: '/api/auth/verify-email'
- path: '/api/auth/verify-email'
- fullPath: '/api/auth/verify-email'
- preLoaderRoute: typeof ApiAuthVerifyEmailRouteImport
- parentRoute: typeof rootRouteImport
- }
+ id: '/api/auth/verify-email';
+ path: '/api/auth/verify-email';
+ fullPath: '/api/auth/verify-email';
+ preLoaderRoute: typeof ApiAuthVerifyEmailRouteImport;
+ parentRoute: typeof rootRouteImport;
+ };
'/api/auth/session': {
- id: '/api/auth/session'
- path: '/api/auth/session'
- fullPath: '/api/auth/session'
- preLoaderRoute: typeof ApiAuthSessionRouteImport
- parentRoute: typeof rootRouteImport
- }
+ id: '/api/auth/session';
+ path: '/api/auth/session';
+ fullPath: '/api/auth/session';
+ preLoaderRoute: typeof ApiAuthSessionRouteImport;
+ parentRoute: typeof rootRouteImport;
+ };
'/api/auth/$': {
- id: '/api/auth/$'
- path: '/api/auth/$'
- fullPath: '/api/auth/$'
- preLoaderRoute: typeof ApiAuthSplatRouteImport
- parentRoute: typeof rootRouteImport
- }
+ id: '/api/auth/$';
+ path: '/api/auth/$';
+ fullPath: '/api/auth/$';
+ preLoaderRoute: typeof ApiAuthSplatRouteImport;
+ parentRoute: typeof rootRouteImport;
+ };
'/_app/checklist/$checklistId': {
- id: '/_app/checklist/$checklistId'
- path: '/$checklistId'
- fullPath: '/checklist/$checklistId'
- preLoaderRoute: typeof AppChecklistChecklistIdRouteImport
- parentRoute: typeof AppChecklistRoute
- }
+ id: '/_app/checklist/$checklistId';
+ path: '/$checklistId';
+ fullPath: '/checklist/$checklistId';
+ preLoaderRoute: typeof AppChecklistChecklistIdRouteImport;
+ parentRoute: typeof AppChecklistRoute;
+ };
'/_app/_protected/settings': {
- id: '/_app/_protected/settings'
- path: '/settings'
- fullPath: '/settings'
- preLoaderRoute: typeof AppProtectedSettingsRouteImport
- parentRoute: typeof AppProtectedRoute
- }
+ id: '/_app/_protected/settings';
+ path: '/settings';
+ fullPath: '/settings';
+ preLoaderRoute: typeof AppProtectedSettingsRouteImport;
+ parentRoute: typeof AppProtectedRoute;
+ };
'/_app/_protected/admin': {
- id: '/_app/_protected/admin'
- path: '/admin'
- fullPath: '/admin'
- preLoaderRoute: typeof AppProtectedAdminRouteImport
- parentRoute: typeof AppProtectedRoute
- }
+ id: '/_app/_protected/admin';
+ path: '/admin';
+ fullPath: '/admin';
+ preLoaderRoute: typeof AppProtectedAdminRouteImport;
+ parentRoute: typeof AppProtectedRoute;
+ };
'/_app/_protected/settings/': {
- id: '/_app/_protected/settings/'
- path: '/'
- fullPath: '/settings/'
- preLoaderRoute: typeof AppProtectedSettingsIndexRouteImport
- parentRoute: typeof AppProtectedSettingsRoute
- }
+ id: '/_app/_protected/settings/';
+ path: '/';
+ fullPath: '/settings/';
+ preLoaderRoute: typeof AppProtectedSettingsIndexRouteImport;
+ parentRoute: typeof AppProtectedSettingsRoute;
+ };
'/_app/_protected/admin/': {
- id: '/_app/_protected/admin/'
- path: '/'
- fullPath: '/admin/'
- preLoaderRoute: typeof AppProtectedAdminIndexRouteImport
- parentRoute: typeof AppProtectedAdminRoute
- }
+ id: '/_app/_protected/admin/';
+ path: '/';
+ fullPath: '/admin/';
+ preLoaderRoute: typeof AppProtectedAdminIndexRouteImport;
+ parentRoute: typeof AppProtectedAdminRoute;
+ };
'/api/users/avatar/$userId': {
- id: '/api/users/avatar/$userId'
- path: '/$userId'
- fullPath: '/api/users/avatar/$userId'
- preLoaderRoute: typeof ApiUsersAvatarUserIdRouteImport
- parentRoute: typeof ApiUsersAvatarRoute
- }
+ id: '/api/users/avatar/$userId';
+ path: '/$userId';
+ fullPath: '/api/users/avatar/$userId';
+ preLoaderRoute: typeof ApiUsersAvatarUserIdRouteImport;
+ parentRoute: typeof ApiUsersAvatarRoute;
+ };
'/api/auth/stripe/webhook': {
- id: '/api/auth/stripe/webhook'
- path: '/api/auth/stripe/webhook'
- fullPath: '/api/auth/stripe/webhook'
- preLoaderRoute: typeof ApiAuthStripeWebhookRouteImport
- parentRoute: typeof rootRouteImport
- }
+ id: '/api/auth/stripe/webhook';
+ path: '/api/auth/stripe/webhook';
+ fullPath: '/api/auth/stripe/webhook';
+ preLoaderRoute: typeof ApiAuthStripeWebhookRouteImport;
+ parentRoute: typeof rootRouteImport;
+ };
'/_app/_protected/settings/security': {
- id: '/_app/_protected/settings/security'
- path: '/security'
- fullPath: '/settings/security'
- preLoaderRoute: typeof AppProtectedSettingsSecurityRouteImport
- parentRoute: typeof AppProtectedSettingsRoute
- }
+ id: '/_app/_protected/settings/security';
+ path: '/security';
+ fullPath: '/settings/security';
+ preLoaderRoute: typeof AppProtectedSettingsSecurityRouteImport;
+ parentRoute: typeof AppProtectedSettingsRoute;
+ };
'/_app/_protected/settings/profile': {
- id: '/_app/_protected/settings/profile'
- path: '/profile'
- fullPath: '/settings/profile'
- preLoaderRoute: typeof AppProtectedSettingsProfileRouteImport
- parentRoute: typeof AppProtectedSettingsRoute
- }
+ id: '/_app/_protected/settings/profile';
+ path: '/profile';
+ fullPath: '/settings/profile';
+ preLoaderRoute: typeof AppProtectedSettingsProfileRouteImport;
+ parentRoute: typeof AppProtectedSettingsRoute;
+ };
'/_app/_protected/settings/plans': {
- id: '/_app/_protected/settings/plans'
- path: '/plans'
- fullPath: '/settings/plans'
- preLoaderRoute: typeof AppProtectedSettingsPlansRouteImport
- parentRoute: typeof AppProtectedSettingsRoute
- }
+ id: '/_app/_protected/settings/plans';
+ path: '/plans';
+ fullPath: '/settings/plans';
+ preLoaderRoute: typeof AppProtectedSettingsPlansRouteImport;
+ parentRoute: typeof AppProtectedSettingsRoute;
+ };
'/_app/_protected/settings/notifications': {
- id: '/_app/_protected/settings/notifications'
- path: '/notifications'
- fullPath: '/settings/notifications'
- preLoaderRoute: typeof AppProtectedSettingsNotificationsRouteImport
- parentRoute: typeof AppProtectedSettingsRoute
- }
+ id: '/_app/_protected/settings/notifications';
+ path: '/notifications';
+ fullPath: '/settings/notifications';
+ preLoaderRoute: typeof AppProtectedSettingsNotificationsRouteImport;
+ parentRoute: typeof AppProtectedSettingsRoute;
+ };
'/_app/_protected/settings/integrations': {
- id: '/_app/_protected/settings/integrations'
- path: '/integrations'
- fullPath: '/settings/integrations'
- preLoaderRoute: typeof AppProtectedSettingsIntegrationsRouteImport
- parentRoute: typeof AppProtectedSettingsRoute
- }
+ id: '/_app/_protected/settings/integrations';
+ path: '/integrations';
+ fullPath: '/settings/integrations';
+ preLoaderRoute: typeof AppProtectedSettingsIntegrationsRouteImport;
+ parentRoute: typeof AppProtectedSettingsRoute;
+ };
'/_app/_protected/settings/billing': {
- id: '/_app/_protected/settings/billing'
- path: '/billing'
- fullPath: '/settings/billing'
- preLoaderRoute: typeof AppProtectedSettingsBillingRouteImport
- parentRoute: typeof AppProtectedSettingsRoute
- }
+ id: '/_app/_protected/settings/billing';
+ path: '/billing';
+ fullPath: '/settings/billing';
+ preLoaderRoute: typeof AppProtectedSettingsBillingRouteImport;
+ parentRoute: typeof AppProtectedSettingsRoute;
+ };
'/_app/_protected/projects/$projectId': {
- id: '/_app/_protected/projects/$projectId'
- path: '/projects/$projectId'
- fullPath: '/projects/$projectId'
- preLoaderRoute: typeof AppProtectedProjectsProjectIdRouteImport
- parentRoute: typeof AppProtectedRoute
- }
+ id: '/_app/_protected/projects/$projectId';
+ path: '/projects/$projectId';
+ fullPath: '/projects/$projectId';
+ preLoaderRoute: typeof AppProtectedProjectsProjectIdRouteImport;
+ parentRoute: typeof AppProtectedRoute;
+ };
'/_app/_protected/orgs/new': {
- id: '/_app/_protected/orgs/new'
- path: '/orgs/new'
- fullPath: '/orgs/new'
- preLoaderRoute: typeof AppProtectedOrgsNewRouteImport
- parentRoute: typeof AppProtectedRoute
- }
+ id: '/_app/_protected/orgs/new';
+ path: '/orgs/new';
+ fullPath: '/orgs/new';
+ preLoaderRoute: typeof AppProtectedOrgsNewRouteImport;
+ parentRoute: typeof AppProtectedRoute;
+ };
'/_app/_protected/admin/storage': {
- id: '/_app/_protected/admin/storage'
- path: '/storage'
- fullPath: '/admin/storage'
- preLoaderRoute: typeof AppProtectedAdminStorageRouteImport
- parentRoute: typeof AppProtectedAdminRoute
- }
+ id: '/_app/_protected/admin/storage';
+ path: '/storage';
+ fullPath: '/admin/storage';
+ preLoaderRoute: typeof AppProtectedAdminStorageRouteImport;
+ parentRoute: typeof AppProtectedAdminRoute;
+ };
'/_app/_protected/admin/database': {
- id: '/_app/_protected/admin/database'
- path: '/database'
- fullPath: '/admin/database'
- preLoaderRoute: typeof AppProtectedAdminDatabaseRouteImport
- parentRoute: typeof AppProtectedAdminRoute
- }
+ id: '/_app/_protected/admin/database';
+ path: '/database';
+ fullPath: '/admin/database';
+ preLoaderRoute: typeof AppProtectedAdminDatabaseRouteImport;
+ parentRoute: typeof AppProtectedAdminRoute;
+ };
'/_app/_protected/admin/projects/': {
- id: '/_app/_protected/admin/projects/'
- path: '/projects'
- fullPath: '/admin/projects/'
- preLoaderRoute: typeof AppProtectedAdminProjectsIndexRouteImport
- parentRoute: typeof AppProtectedAdminRoute
- }
+ id: '/_app/_protected/admin/projects/';
+ path: '/projects';
+ fullPath: '/admin/projects/';
+ preLoaderRoute: typeof AppProtectedAdminProjectsIndexRouteImport;
+ parentRoute: typeof AppProtectedAdminRoute;
+ };
'/_app/_protected/admin/orgs/': {
- id: '/_app/_protected/admin/orgs/'
- path: '/orgs'
- fullPath: '/admin/orgs/'
- preLoaderRoute: typeof AppProtectedAdminOrgsIndexRouteImport
- parentRoute: typeof AppProtectedAdminRoute
- }
+ id: '/_app/_protected/admin/orgs/';
+ path: '/orgs';
+ fullPath: '/admin/orgs/';
+ preLoaderRoute: typeof AppProtectedAdminOrgsIndexRouteImport;
+ parentRoute: typeof AppProtectedAdminRoute;
+ };
'/_app/_protected/admin/users/$userId': {
- id: '/_app/_protected/admin/users/$userId'
- path: '/users/$userId'
- fullPath: '/admin/users/$userId'
- preLoaderRoute: typeof AppProtectedAdminUsersUserIdRouteImport
- parentRoute: typeof AppProtectedAdminRoute
- }
+ id: '/_app/_protected/admin/users/$userId';
+ path: '/users/$userId';
+ fullPath: '/admin/users/$userId';
+ preLoaderRoute: typeof AppProtectedAdminUsersUserIdRouteImport;
+ parentRoute: typeof AppProtectedAdminRoute;
+ };
'/_app/_protected/admin/projects/$projectId': {
- id: '/_app/_protected/admin/projects/$projectId'
- path: '/projects/$projectId'
- fullPath: '/admin/projects/$projectId'
- preLoaderRoute: typeof AppProtectedAdminProjectsProjectIdRouteImport
- parentRoute: typeof AppProtectedAdminRoute
- }
+ id: '/_app/_protected/admin/projects/$projectId';
+ path: '/projects/$projectId';
+ fullPath: '/admin/projects/$projectId';
+ preLoaderRoute: typeof AppProtectedAdminProjectsProjectIdRouteImport;
+ parentRoute: typeof AppProtectedAdminRoute;
+ };
'/_app/_protected/admin/orgs/$orgId': {
- id: '/_app/_protected/admin/orgs/$orgId'
- path: '/orgs/$orgId'
- fullPath: '/admin/orgs/$orgId'
- preLoaderRoute: typeof AppProtectedAdminOrgsOrgIdRouteImport
- parentRoute: typeof AppProtectedAdminRoute
- }
+ id: '/_app/_protected/admin/orgs/$orgId';
+ path: '/orgs/$orgId';
+ fullPath: '/admin/orgs/$orgId';
+ preLoaderRoute: typeof AppProtectedAdminOrgsOrgIdRouteImport;
+ parentRoute: typeof AppProtectedAdminRoute;
+ };
'/_app/_protected/admin/billing/stuck-states': {
- id: '/_app/_protected/admin/billing/stuck-states'
- path: '/billing/stuck-states'
- fullPath: '/admin/billing/stuck-states'
- preLoaderRoute: typeof AppProtectedAdminBillingStuckStatesRouteImport
- parentRoute: typeof AppProtectedAdminRoute
- }
+ id: '/_app/_protected/admin/billing/stuck-states';
+ path: '/billing/stuck-states';
+ fullPath: '/admin/billing/stuck-states';
+ preLoaderRoute: typeof AppProtectedAdminBillingStuckStatesRouteImport;
+ parentRoute: typeof AppProtectedAdminRoute;
+ };
'/_app/_protected/admin/billing/stripe-tools': {
- id: '/_app/_protected/admin/billing/stripe-tools'
- path: '/billing/stripe-tools'
- fullPath: '/admin/billing/stripe-tools'
- preLoaderRoute: typeof AppProtectedAdminBillingStripeToolsRouteImport
- parentRoute: typeof AppProtectedAdminRoute
- }
+ id: '/_app/_protected/admin/billing/stripe-tools';
+ path: '/billing/stripe-tools';
+ fullPath: '/admin/billing/stripe-tools';
+ preLoaderRoute: typeof AppProtectedAdminBillingStripeToolsRouteImport;
+ parentRoute: typeof AppProtectedAdminRoute;
+ };
'/_app/_protected/admin/billing/ledger': {
- id: '/_app/_protected/admin/billing/ledger'
- path: '/billing/ledger'
- fullPath: '/admin/billing/ledger'
- preLoaderRoute: typeof AppProtectedAdminBillingLedgerRouteImport
- parentRoute: typeof AppProtectedAdminRoute
- }
+ id: '/_app/_protected/admin/billing/ledger';
+ path: '/billing/ledger';
+ fullPath: '/admin/billing/ledger';
+ preLoaderRoute: typeof AppProtectedAdminBillingLedgerRouteImport;
+ parentRoute: typeof AppProtectedAdminRoute;
+ };
'/api/orgs/$orgId/projects/$projectId/dev/add-study': {
- id: '/api/orgs/$orgId/projects/$projectId/dev/add-study'
- path: '/api/orgs/$orgId/projects/$projectId/dev/add-study'
- fullPath: '/api/orgs/$orgId/projects/$projectId/dev/add-study'
- preLoaderRoute: typeof ApiOrgsOrgIdProjectsProjectIdDevAddStudyRouteImport
- parentRoute: typeof rootRouteImport
- }
+ id: '/api/orgs/$orgId/projects/$projectId/dev/add-study';
+ path: '/api/orgs/$orgId/projects/$projectId/dev/add-study';
+ fullPath: '/api/orgs/$orgId/projects/$projectId/dev/add-study';
+ preLoaderRoute: typeof ApiOrgsOrgIdProjectsProjectIdDevAddStudyRouteImport;
+ parentRoute: typeof rootRouteImport;
+ };
'/api/orgs/$orgId/projects/$projectId/studies/$studyId/pdfs': {
- id: '/api/orgs/$orgId/projects/$projectId/studies/$studyId/pdfs'
- path: '/api/orgs/$orgId/projects/$projectId/studies/$studyId/pdfs'
- fullPath: '/api/orgs/$orgId/projects/$projectId/studies/$studyId/pdfs'
- preLoaderRoute: typeof ApiOrgsOrgIdProjectsProjectIdStudiesStudyIdPdfsRouteImport
- parentRoute: typeof rootRouteImport
- }
+ id: '/api/orgs/$orgId/projects/$projectId/studies/$studyId/pdfs';
+ path: '/api/orgs/$orgId/projects/$projectId/studies/$studyId/pdfs';
+ fullPath: '/api/orgs/$orgId/projects/$projectId/studies/$studyId/pdfs';
+ preLoaderRoute: typeof ApiOrgsOrgIdProjectsProjectIdStudiesStudyIdPdfsRouteImport;
+ parentRoute: typeof rootRouteImport;
+ };
'/_app/_protected/projects/$projectId/studies/$studyId/checklists/$checklistId': {
- id: '/_app/_protected/projects/$projectId/studies/$studyId/checklists/$checklistId'
- path: '/studies/$studyId/checklists/$checklistId'
- fullPath: '/projects/$projectId/studies/$studyId/checklists/$checklistId'
- preLoaderRoute: typeof AppProtectedProjectsProjectIdStudiesStudyIdChecklistsChecklistIdRouteImport
- parentRoute: typeof AppProtectedProjectsProjectIdRoute
- }
+ id: '/_app/_protected/projects/$projectId/studies/$studyId/checklists/$checklistId';
+ path: '/studies/$studyId/checklists/$checklistId';
+ fullPath: '/projects/$projectId/studies/$studyId/checklists/$checklistId';
+ preLoaderRoute: typeof AppProtectedProjectsProjectIdStudiesStudyIdChecklistsChecklistIdRouteImport;
+ parentRoute: typeof AppProtectedProjectsProjectIdRoute;
+ };
'/api/orgs/$orgId/projects/$projectId/studies/$studyId/pdfs/$fileName': {
- id: '/api/orgs/$orgId/projects/$projectId/studies/$studyId/pdfs/$fileName'
- path: '/$fileName'
- fullPath: '/api/orgs/$orgId/projects/$projectId/studies/$studyId/pdfs/$fileName'
- preLoaderRoute: typeof ApiOrgsOrgIdProjectsProjectIdStudiesStudyIdPdfsFileNameRouteImport
- parentRoute: typeof ApiOrgsOrgIdProjectsProjectIdStudiesStudyIdPdfsRoute
- }
+ id: '/api/orgs/$orgId/projects/$projectId/studies/$studyId/pdfs/$fileName';
+ path: '/$fileName';
+ fullPath: '/api/orgs/$orgId/projects/$projectId/studies/$studyId/pdfs/$fileName';
+ preLoaderRoute: typeof ApiOrgsOrgIdProjectsProjectIdStudiesStudyIdPdfsFileNameRouteImport;
+ parentRoute: typeof ApiOrgsOrgIdProjectsProjectIdStudiesStudyIdPdfsRoute;
+ };
'/_app/_protected/projects/$projectId/studies/$studyId/reconcile/$checklist1Id/$checklist2Id': {
- id: '/_app/_protected/projects/$projectId/studies/$studyId/reconcile/$checklist1Id/$checklist2Id'
- path: '/studies/$studyId/reconcile/$checklist1Id/$checklist2Id'
- fullPath: '/projects/$projectId/studies/$studyId/reconcile/$checklist1Id/$checklist2Id'
- preLoaderRoute: typeof AppProtectedProjectsProjectIdStudiesStudyIdReconcileChecklist1IdChecklist2IdRouteImport
- parentRoute: typeof AppProtectedProjectsProjectIdRoute
- }
+ id: '/_app/_protected/projects/$projectId/studies/$studyId/reconcile/$checklist1Id/$checklist2Id';
+ path: '/studies/$studyId/reconcile/$checklist1Id/$checklist2Id';
+ fullPath: '/projects/$projectId/studies/$studyId/reconcile/$checklist1Id/$checklist2Id';
+ preLoaderRoute: typeof AppProtectedProjectsProjectIdStudiesStudyIdReconcileChecklist1IdChecklist2IdRouteImport;
+ parentRoute: typeof AppProtectedProjectsProjectIdRoute;
+ };
}
}
interface AppProtectedAdminRouteChildren {
- AppProtectedAdminDatabaseRoute: typeof AppProtectedAdminDatabaseRoute
- AppProtectedAdminStorageRoute: typeof AppProtectedAdminStorageRoute
- AppProtectedAdminIndexRoute: typeof AppProtectedAdminIndexRoute
- AppProtectedAdminBillingLedgerRoute: typeof AppProtectedAdminBillingLedgerRoute
- AppProtectedAdminBillingStripeToolsRoute: typeof AppProtectedAdminBillingStripeToolsRoute
- AppProtectedAdminBillingStuckStatesRoute: typeof AppProtectedAdminBillingStuckStatesRoute
- AppProtectedAdminOrgsOrgIdRoute: typeof AppProtectedAdminOrgsOrgIdRoute
- AppProtectedAdminProjectsProjectIdRoute: typeof AppProtectedAdminProjectsProjectIdRoute
- AppProtectedAdminUsersUserIdRoute: typeof AppProtectedAdminUsersUserIdRoute
- AppProtectedAdminOrgsIndexRoute: typeof AppProtectedAdminOrgsIndexRoute
- AppProtectedAdminProjectsIndexRoute: typeof AppProtectedAdminProjectsIndexRoute
+ AppProtectedAdminDatabaseRoute: typeof AppProtectedAdminDatabaseRoute;
+ AppProtectedAdminStorageRoute: typeof AppProtectedAdminStorageRoute;
+ AppProtectedAdminIndexRoute: typeof AppProtectedAdminIndexRoute;
+ AppProtectedAdminBillingLedgerRoute: typeof AppProtectedAdminBillingLedgerRoute;
+ AppProtectedAdminBillingStripeToolsRoute: typeof AppProtectedAdminBillingStripeToolsRoute;
+ AppProtectedAdminBillingStuckStatesRoute: typeof AppProtectedAdminBillingStuckStatesRoute;
+ AppProtectedAdminOrgsOrgIdRoute: typeof AppProtectedAdminOrgsOrgIdRoute;
+ AppProtectedAdminProjectsProjectIdRoute: typeof AppProtectedAdminProjectsProjectIdRoute;
+ AppProtectedAdminUsersUserIdRoute: typeof AppProtectedAdminUsersUserIdRoute;
+ AppProtectedAdminOrgsIndexRoute: typeof AppProtectedAdminOrgsIndexRoute;
+ AppProtectedAdminProjectsIndexRoute: typeof AppProtectedAdminProjectsIndexRoute;
}
const AppProtectedAdminRouteChildren: AppProtectedAdminRouteChildren = {
@@ -1406,116 +1385,106 @@ const AppProtectedAdminRouteChildren: AppProtectedAdminRouteChildren = {
AppProtectedAdminStorageRoute: AppProtectedAdminStorageRoute,
AppProtectedAdminIndexRoute: AppProtectedAdminIndexRoute,
AppProtectedAdminBillingLedgerRoute: AppProtectedAdminBillingLedgerRoute,
- AppProtectedAdminBillingStripeToolsRoute:
- AppProtectedAdminBillingStripeToolsRoute,
- AppProtectedAdminBillingStuckStatesRoute:
- AppProtectedAdminBillingStuckStatesRoute,
+ AppProtectedAdminBillingStripeToolsRoute: AppProtectedAdminBillingStripeToolsRoute,
+ AppProtectedAdminBillingStuckStatesRoute: AppProtectedAdminBillingStuckStatesRoute,
AppProtectedAdminOrgsOrgIdRoute: AppProtectedAdminOrgsOrgIdRoute,
- AppProtectedAdminProjectsProjectIdRoute:
- AppProtectedAdminProjectsProjectIdRoute,
+ AppProtectedAdminProjectsProjectIdRoute: AppProtectedAdminProjectsProjectIdRoute,
AppProtectedAdminUsersUserIdRoute: AppProtectedAdminUsersUserIdRoute,
AppProtectedAdminOrgsIndexRoute: AppProtectedAdminOrgsIndexRoute,
AppProtectedAdminProjectsIndexRoute: AppProtectedAdminProjectsIndexRoute,
-}
+};
-const AppProtectedAdminRouteWithChildren =
- AppProtectedAdminRoute._addFileChildren(AppProtectedAdminRouteChildren)
+const AppProtectedAdminRouteWithChildren = AppProtectedAdminRoute._addFileChildren(
+ AppProtectedAdminRouteChildren,
+);
interface AppProtectedSettingsRouteChildren {
- AppProtectedSettingsBillingRoute: typeof AppProtectedSettingsBillingRoute
- AppProtectedSettingsIntegrationsRoute: typeof AppProtectedSettingsIntegrationsRoute
- AppProtectedSettingsNotificationsRoute: typeof AppProtectedSettingsNotificationsRoute
- AppProtectedSettingsPlansRoute: typeof AppProtectedSettingsPlansRoute
- AppProtectedSettingsProfileRoute: typeof AppProtectedSettingsProfileRoute
- AppProtectedSettingsSecurityRoute: typeof AppProtectedSettingsSecurityRoute
- AppProtectedSettingsIndexRoute: typeof AppProtectedSettingsIndexRoute
+ AppProtectedSettingsBillingRoute: typeof AppProtectedSettingsBillingRoute;
+ AppProtectedSettingsIntegrationsRoute: typeof AppProtectedSettingsIntegrationsRoute;
+ AppProtectedSettingsNotificationsRoute: typeof AppProtectedSettingsNotificationsRoute;
+ AppProtectedSettingsPlansRoute: typeof AppProtectedSettingsPlansRoute;
+ AppProtectedSettingsProfileRoute: typeof AppProtectedSettingsProfileRoute;
+ AppProtectedSettingsSecurityRoute: typeof AppProtectedSettingsSecurityRoute;
+ AppProtectedSettingsIndexRoute: typeof AppProtectedSettingsIndexRoute;
}
const AppProtectedSettingsRouteChildren: AppProtectedSettingsRouteChildren = {
AppProtectedSettingsBillingRoute: AppProtectedSettingsBillingRoute,
AppProtectedSettingsIntegrationsRoute: AppProtectedSettingsIntegrationsRoute,
- AppProtectedSettingsNotificationsRoute:
- AppProtectedSettingsNotificationsRoute,
+ AppProtectedSettingsNotificationsRoute: AppProtectedSettingsNotificationsRoute,
AppProtectedSettingsPlansRoute: AppProtectedSettingsPlansRoute,
AppProtectedSettingsProfileRoute: AppProtectedSettingsProfileRoute,
AppProtectedSettingsSecurityRoute: AppProtectedSettingsSecurityRoute,
AppProtectedSettingsIndexRoute: AppProtectedSettingsIndexRoute,
-}
+};
-const AppProtectedSettingsRouteWithChildren =
- AppProtectedSettingsRoute._addFileChildren(AppProtectedSettingsRouteChildren)
+const AppProtectedSettingsRouteWithChildren = AppProtectedSettingsRoute._addFileChildren(
+ AppProtectedSettingsRouteChildren,
+);
interface AppProtectedProjectsProjectIdRouteChildren {
- AppProtectedProjectsProjectIdStudiesStudyIdChecklistsChecklistIdRoute: typeof AppProtectedProjectsProjectIdStudiesStudyIdChecklistsChecklistIdRoute
- AppProtectedProjectsProjectIdStudiesStudyIdReconcileChecklist1IdChecklist2IdRoute: typeof AppProtectedProjectsProjectIdStudiesStudyIdReconcileChecklist1IdChecklist2IdRoute
+ AppProtectedProjectsProjectIdStudiesStudyIdChecklistsChecklistIdRoute: typeof AppProtectedProjectsProjectIdStudiesStudyIdChecklistsChecklistIdRoute;
+ AppProtectedProjectsProjectIdStudiesStudyIdReconcileChecklist1IdChecklist2IdRoute: typeof AppProtectedProjectsProjectIdStudiesStudyIdReconcileChecklist1IdChecklist2IdRoute;
}
-const AppProtectedProjectsProjectIdRouteChildren: AppProtectedProjectsProjectIdRouteChildren =
- {
- AppProtectedProjectsProjectIdStudiesStudyIdChecklistsChecklistIdRoute:
- AppProtectedProjectsProjectIdStudiesStudyIdChecklistsChecklistIdRoute,
- AppProtectedProjectsProjectIdStudiesStudyIdReconcileChecklist1IdChecklist2IdRoute:
- AppProtectedProjectsProjectIdStudiesStudyIdReconcileChecklist1IdChecklist2IdRoute,
- }
+const AppProtectedProjectsProjectIdRouteChildren: AppProtectedProjectsProjectIdRouteChildren = {
+ AppProtectedProjectsProjectIdStudiesStudyIdChecklistsChecklistIdRoute:
+ AppProtectedProjectsProjectIdStudiesStudyIdChecklistsChecklistIdRoute,
+ AppProtectedProjectsProjectIdStudiesStudyIdReconcileChecklist1IdChecklist2IdRoute:
+ AppProtectedProjectsProjectIdStudiesStudyIdReconcileChecklist1IdChecklist2IdRoute,
+};
const AppProtectedProjectsProjectIdRouteWithChildren =
- AppProtectedProjectsProjectIdRoute._addFileChildren(
- AppProtectedProjectsProjectIdRouteChildren,
- )
+ AppProtectedProjectsProjectIdRoute._addFileChildren(AppProtectedProjectsProjectIdRouteChildren);
interface AppProtectedRouteChildren {
- AppProtectedAdminRoute: typeof AppProtectedAdminRouteWithChildren
- AppProtectedSettingsRoute: typeof AppProtectedSettingsRouteWithChildren
- AppProtectedOrgsNewRoute: typeof AppProtectedOrgsNewRoute
- AppProtectedProjectsProjectIdRoute: typeof AppProtectedProjectsProjectIdRouteWithChildren
+ AppProtectedAdminRoute: typeof AppProtectedAdminRouteWithChildren;
+ AppProtectedSettingsRoute: typeof AppProtectedSettingsRouteWithChildren;
+ AppProtectedOrgsNewRoute: typeof AppProtectedOrgsNewRoute;
+ AppProtectedProjectsProjectIdRoute: typeof AppProtectedProjectsProjectIdRouteWithChildren;
}
const AppProtectedRouteChildren: AppProtectedRouteChildren = {
AppProtectedAdminRoute: AppProtectedAdminRouteWithChildren,
AppProtectedSettingsRoute: AppProtectedSettingsRouteWithChildren,
AppProtectedOrgsNewRoute: AppProtectedOrgsNewRoute,
- AppProtectedProjectsProjectIdRoute:
- AppProtectedProjectsProjectIdRouteWithChildren,
-}
+ AppProtectedProjectsProjectIdRoute: AppProtectedProjectsProjectIdRouteWithChildren,
+};
-const AppProtectedRouteWithChildren = AppProtectedRoute._addFileChildren(
- AppProtectedRouteChildren,
-)
+const AppProtectedRouteWithChildren = AppProtectedRoute._addFileChildren(AppProtectedRouteChildren);
interface AppChecklistRouteChildren {
- AppChecklistChecklistIdRoute: typeof AppChecklistChecklistIdRoute
- AppChecklistIndexRoute: typeof AppChecklistIndexRoute
+ AppChecklistChecklistIdRoute: typeof AppChecklistChecklistIdRoute;
+ AppChecklistIndexRoute: typeof AppChecklistIndexRoute;
}
const AppChecklistRouteChildren: AppChecklistRouteChildren = {
AppChecklistChecklistIdRoute: AppChecklistChecklistIdRoute,
AppChecklistIndexRoute: AppChecklistIndexRoute,
-}
+};
-const AppChecklistRouteWithChildren = AppChecklistRoute._addFileChildren(
- AppChecklistRouteChildren,
-)
+const AppChecklistRouteWithChildren = AppChecklistRoute._addFileChildren(AppChecklistRouteChildren);
interface AppRouteChildren {
- AppProtectedRoute: typeof AppProtectedRouteWithChildren
- AppChecklistRoute: typeof AppChecklistRouteWithChildren
- AppDashboardRoute: typeof AppDashboardRoute
+ AppProtectedRoute: typeof AppProtectedRouteWithChildren;
+ AppChecklistRoute: typeof AppChecklistRouteWithChildren;
+ AppDashboardRoute: typeof AppDashboardRoute;
}
const AppRouteChildren: AppRouteChildren = {
AppProtectedRoute: AppProtectedRouteWithChildren,
AppChecklistRoute: AppChecklistRouteWithChildren,
AppDashboardRoute: AppDashboardRoute,
-}
+};
-const AppRouteWithChildren = AppRoute._addFileChildren(AppRouteChildren)
+const AppRouteWithChildren = AppRoute._addFileChildren(AppRouteChildren);
interface AuthRouteChildren {
- AuthCheckEmailRoute: typeof AuthCheckEmailRoute
- AuthCompleteProfileRoute: typeof AuthCompleteProfileRoute
- AuthResetPasswordRoute: typeof AuthResetPasswordRoute
- AuthSigninRoute: typeof AuthSigninRoute
- AuthSignupRoute: typeof AuthSignupRoute
+ AuthCheckEmailRoute: typeof AuthCheckEmailRoute;
+ AuthCompleteProfileRoute: typeof AuthCompleteProfileRoute;
+ AuthResetPasswordRoute: typeof AuthResetPasswordRoute;
+ AuthSigninRoute: typeof AuthSigninRoute;
+ AuthSignupRoute: typeof AuthSignupRoute;
}
const AuthRouteChildren: AuthRouteChildren = {
@@ -1524,36 +1493,36 @@ const AuthRouteChildren: AuthRouteChildren = {
AuthResetPasswordRoute: AuthResetPasswordRoute,
AuthSigninRoute: AuthSigninRoute,
AuthSignupRoute: AuthSignupRoute,
-}
+};
-const AuthRouteWithChildren = AuthRoute._addFileChildren(AuthRouteChildren)
+const AuthRouteWithChildren = AuthRoute._addFileChildren(AuthRouteChildren);
interface ApiUsersAvatarRouteChildren {
- ApiUsersAvatarUserIdRoute: typeof ApiUsersAvatarUserIdRoute
+ ApiUsersAvatarUserIdRoute: typeof ApiUsersAvatarUserIdRoute;
}
const ApiUsersAvatarRouteChildren: ApiUsersAvatarRouteChildren = {
ApiUsersAvatarUserIdRoute: ApiUsersAvatarUserIdRoute,
-}
+};
const ApiUsersAvatarRouteWithChildren = ApiUsersAvatarRoute._addFileChildren(
ApiUsersAvatarRouteChildren,
-)
+);
interface ApiOrgsOrgIdProjectsProjectIdStudiesStudyIdPdfsRouteChildren {
- ApiOrgsOrgIdProjectsProjectIdStudiesStudyIdPdfsFileNameRoute: typeof ApiOrgsOrgIdProjectsProjectIdStudiesStudyIdPdfsFileNameRoute
+ ApiOrgsOrgIdProjectsProjectIdStudiesStudyIdPdfsFileNameRoute: typeof ApiOrgsOrgIdProjectsProjectIdStudiesStudyIdPdfsFileNameRoute;
}
const ApiOrgsOrgIdProjectsProjectIdStudiesStudyIdPdfsRouteChildren: ApiOrgsOrgIdProjectsProjectIdStudiesStudyIdPdfsRouteChildren =
{
ApiOrgsOrgIdProjectsProjectIdStudiesStudyIdPdfsFileNameRoute:
ApiOrgsOrgIdProjectsProjectIdStudiesStudyIdPdfsFileNameRoute,
- }
+ };
const ApiOrgsOrgIdProjectsProjectIdStudiesStudyIdPdfsRouteWithChildren =
ApiOrgsOrgIdProjectsProjectIdStudiesStudyIdPdfsRoute._addFileChildren(
ApiOrgsOrgIdProjectsProjectIdStudiesStudyIdPdfsRouteChildren,
- )
+ );
const rootRouteChildren: RootRouteChildren = {
IndexRoute: IndexRoute,
@@ -1587,20 +1556,19 @@ const rootRouteChildren: RootRouteChildren = {
ApiTestVerifyEmailRoute: ApiTestVerifyEmailRoute,
ApiUsersAvatarRoute: ApiUsersAvatarRouteWithChildren,
ApiAuthStripeWebhookRoute: ApiAuthStripeWebhookRoute,
- ApiOrgsOrgIdProjectsProjectIdDevAddStudyRoute:
- ApiOrgsOrgIdProjectsProjectIdDevAddStudyRoute,
+ ApiOrgsOrgIdProjectsProjectIdDevAddStudyRoute: ApiOrgsOrgIdProjectsProjectIdDevAddStudyRoute,
ApiOrgsOrgIdProjectsProjectIdStudiesStudyIdPdfsRoute:
ApiOrgsOrgIdProjectsProjectIdStudiesStudyIdPdfsRouteWithChildren,
-}
+};
export const routeTree = rootRouteImport
._addFileChildren(rootRouteChildren)
- ._addFileTypes()
+ ._addFileTypes();
-import type { getRouter } from './router.tsx'
-import type { createStart } from '@tanstack/react-start'
+import type { getRouter } from './router.tsx';
+import type { createStart } from '@tanstack/react-start';
declare module '@tanstack/react-start' {
interface Register {
- ssr: true
- router: Awaited>
+ ssr: true;
+ router: Awaited>;
}
}
diff --git a/packages/web/src/routes/_app/checklist.index.tsx b/packages/web/src/routes/_app/checklist.index.tsx
index 9dc8355b..d401a962 100644
--- a/packages/web/src/routes/_app/checklist.index.tsx
+++ b/packages/web/src/routes/_app/checklist.index.tsx
@@ -7,10 +7,13 @@ import { createFileRoute } from '@tanstack/react-router';
import { LocalChecklistView } from '@/components/checklist/LocalChecklistView';
export const Route = createFileRoute('/_app/checklist/')({
+ validateSearch: (search: Record): { type?: string } => ({
+ type: typeof search.type === 'string' ? search.type : undefined,
+ }),
component: ChecklistCreatePage,
});
function ChecklistCreatePage() {
- const search = Route.useSearch() as Record;
- return ;
+ const { type } = Route.useSearch();
+ return ;
}
diff --git a/packages/web/src/routes/_auth/signin.tsx b/packages/web/src/routes/_auth/signin.tsx
index 63fb941b..2d0cda9a 100644
--- a/packages/web/src/routes/_auth/signin.tsx
+++ b/packages/web/src/routes/_auth/signin.tsx
@@ -4,6 +4,7 @@ import { useAuthStore } from '@/stores/authStore';
import { handleError } from '@/lib/error-utils';
import { useOAuthError } from '@/hooks/useOAuthError';
import { useBfcacheReset } from '@/hooks/useBfcacheReset';
+import { getLastLoginMethod } from '@/lib/lastLoginMethod';
import {
PasswordInput,
PasswordInputControl,
@@ -35,7 +36,10 @@ function SignInPage() {
const [loading, setLoading] = useState(false);
const [googleLoading, setGoogleLoading] = useState(false);
const [orcidLoading, setOrcidLoading] = useState(false);
- const [useMagicLink, setUseMagicLink] = useState(false);
+ const [useMagicLink, setUseMagicLink] = useState(() => {
+ const lastMethod = getLastLoginMethod();
+ return !lastMethod || lastMethod === 'magic_link';
+ });
const [showTwoFactor, setShowTwoFactor] = useState(false);
const [formHeight, setFormHeight] = useState('auto');
diff --git a/packages/web/src/routes/pricing.tsx b/packages/web/src/routes/pricing.tsx
index 47b535e4..a3364c17 100644
--- a/packages/web/src/routes/pricing.tsx
+++ b/packages/web/src/routes/pricing.tsx
@@ -64,7 +64,9 @@ function PricingPage() {
Explore our plans for researchers and evidence synthesis teams.
- Start with a free trial, then choose the plan that fits your team's needs.
+ Individual appraisals with PDF annotation and export are always free.
+
+ Choose a plan when you're ready to collaborate with your team.