diff --git a/Dockerfile b/Dockerfile index f4a62e9..2ee7348 100644 --- a/Dockerfile +++ b/Dockerfile @@ -9,7 +9,7 @@ WORKDIR /app # Copy package files COPY pnpm-lock.yaml package.json pnpm-workspace.yaml turbo.json ./ -COPY apps/admin/package.json ./apps/admin/ +COPY apps/webapp/package.json ./apps/webapp/ COPY packages/attribution-script/package.json ./packages/attribution-script/ COPY packages/coredb/package.json ./packages/coredb/ COPY packages/eslint-config/package.json ./packages/eslint-config/ @@ -18,20 +18,20 @@ COPY packages/types/package.json ./packages/types/ COPY packages/typescript-config/package.json ./packages/typescript-config/ COPY packages/ui/package.json ./packages/ui/ -# Install dependencies only for admin app and its dependencies -RUN pnpm install --frozen-lockfile --filter @refref/admin... --ignore-scripts +# Install dependencies only for webapp app and its dependencies +RUN pnpm install --frozen-lockfile --filter @refref/webapp... --ignore-scripts # Copy source code (excluding www) -COPY apps/admin ./apps/admin +COPY apps/webapp ./apps/webapp COPY packages ./packages # Run postinstall scripts now that source files are available -RUN pnpm install --frozen-lockfile --filter @refref/admin... +RUN pnpm install --frozen-lockfile --filter @refref/webapp... -# Build the admin application (with placeholder env vars for build time) +# Build the webapp application (with placeholder env vars for build time) ENV DATABASE_URL="postgresql://placeholder" ENV BETTER_AUTH_SECRET="placeholder-secret-for-build" -RUN pnpm build --filter @refref/admin... +RUN pnpm build --filter @refref/webapp... # Production stage FROM node:24-alpine AS runner @@ -43,7 +43,7 @@ WORKDIR /app # Copy necessary files from builder COPY --from=builder /app/node_modules ./node_modules -COPY --from=builder /app/apps/admin ./apps/admin +COPY --from=builder /app/apps/webapp ./apps/webapp COPY --from=builder /app/packages ./packages COPY --from=builder /app/package.json ./package.json COPY --from=builder /app/pnpm-workspace.yaml ./pnpm-workspace.yaml @@ -57,5 +57,5 @@ ENV NODE_ENV=production EXPOSE 3000 # Start the application -WORKDIR /app/apps/admin +WORKDIR /app/apps/webapp CMD ["pnpm", "start"] \ No newline at end of file diff --git a/README.md b/README.md index a10662c..989cfc1 100644 --- a/README.md +++ b/README.md @@ -55,14 +55,14 @@ cd refref docker-compose up ``` -That's it! 🎉 The admin portal will be available at http://localhost:3000 +That's it! 🎉 The webapp portal will be available at http://localhost:3000 Docker Compose automatically handles: - PostgreSQL database setup - Database migrations - Initial data seeding -- Admin portal configuration +- Webapp portal configuration ### Local Development Setup @@ -81,22 +81,22 @@ If you prefer running RefRef locally without Docker: pnpm install # Set up environment variables -cp apps/admin/.env.example apps/admin/.env +cp apps/webapp/.env.example apps/webapp/.env # Edit .env and add your database URL and auth secret # Generate auth secret with: openssl rand -base64 32 # Push database schema -pnpm -F @refref/admin db:push +pnpm -F @refref/webapp db:push # (Optional) Seed with template data -pnpm -F @refref/admin db:seed +pnpm -F @refref/webapp db:seed # Start development server pnpm dev ``` -The admin portal will be available at http://localhost:3000 +The webapp will be available at http://localhost:3000 ### Environment Variables @@ -130,10 +130,10 @@ pnpm format pnpm check-types # Database commands -pnpm -F @refref/admin db:push # Push schema changes -pnpm -F @refref/admin db:migrate # Run migrations -pnpm -F @refref/admin db:studio # Open Drizzle Studio GUI -pnpm -F @refref/admin db:seed # Seed with templates +pnpm -F @refref/coredb db:push # Push schema changes +pnpm -F @refref/coredb db:migrate # Run migrations +pnpm -F @refref/coredb db:studio # Open Drizzle Studio GUI +pnpm -F @refref/coredb db:seed # Seed with templates ``` ## ✨ Features diff --git a/apps/admin/.env.example b/apps/webapp/.env.example similarity index 97% rename from apps/admin/.env.example rename to apps/webapp/.env.example index da91f16..590175c 100644 --- a/apps/admin/.env.example +++ b/apps/webapp/.env.example @@ -1,4 +1,4 @@ -# RefRef Admin Portal Environment Variables +# RefRef Webapp Environment Variables # ========================================== # Copy this file to .env and fill in your values diff --git a/apps/admin/.gitignore b/apps/webapp/.gitignore similarity index 100% rename from apps/admin/.gitignore rename to apps/webapp/.gitignore diff --git a/apps/admin/README.md b/apps/webapp/README.md similarity index 100% rename from apps/admin/README.md rename to apps/webapp/README.md diff --git a/apps/admin/components.json b/apps/webapp/components.json similarity index 100% rename from apps/admin/components.json rename to apps/webapp/components.json diff --git a/apps/admin/eslint.config.mjs b/apps/webapp/eslint.config.mjs similarity index 100% rename from apps/admin/eslint.config.mjs rename to apps/webapp/eslint.config.mjs diff --git a/apps/admin/instrumentation-client.ts b/apps/webapp/instrumentation-client.ts similarity index 100% rename from apps/admin/instrumentation-client.ts rename to apps/webapp/instrumentation-client.ts diff --git a/apps/admin/next-env.d.ts b/apps/webapp/next-env.d.ts similarity index 100% rename from apps/admin/next-env.d.ts rename to apps/webapp/next-env.d.ts diff --git a/apps/admin/next.config.ts b/apps/webapp/next.config.ts similarity index 100% rename from apps/admin/next.config.ts rename to apps/webapp/next.config.ts diff --git a/apps/admin/package.json b/apps/webapp/package.json similarity index 99% rename from apps/admin/package.json rename to apps/webapp/package.json index b0626d7..59b69ef 100644 --- a/apps/admin/package.json +++ b/apps/webapp/package.json @@ -1,5 +1,5 @@ { - "name": "@refref/admin", + "name": "@refref/webapp", "version": "0.1.0", "private": true, "type": "module", diff --git a/apps/admin/postcss.config.mjs b/apps/webapp/postcss.config.mjs similarity index 100% rename from apps/admin/postcss.config.mjs rename to apps/webapp/postcss.config.mjs diff --git a/apps/admin/public/favicon.ico b/apps/webapp/public/favicon.ico similarity index 100% rename from apps/admin/public/favicon.ico rename to apps/webapp/public/favicon.ico diff --git a/apps/admin/public/logo.svg b/apps/webapp/public/logo.svg similarity index 100% rename from apps/admin/public/logo.svg rename to apps/webapp/public/logo.svg diff --git a/apps/admin/public/widget/referral-widget.js b/apps/webapp/public/widget/referral-widget.js similarity index 100% rename from apps/admin/public/widget/referral-widget.js rename to apps/webapp/public/widget/referral-widget.js diff --git a/apps/admin/src/app/(authenticated)/(core)/activity/page.tsx b/apps/webapp/src/app/(authenticated)/(core)/activity/page.tsx similarity index 100% rename from apps/admin/src/app/(authenticated)/(core)/activity/page.tsx rename to apps/webapp/src/app/(authenticated)/(core)/activity/page.tsx diff --git a/apps/admin/src/app/(authenticated)/(core)/analytics/[id]/performance/page.tsx b/apps/webapp/src/app/(authenticated)/(core)/analytics/[id]/performance/page.tsx similarity index 100% rename from apps/admin/src/app/(authenticated)/(core)/analytics/[id]/performance/page.tsx rename to apps/webapp/src/app/(authenticated)/(core)/analytics/[id]/performance/page.tsx diff --git a/apps/admin/src/app/(authenticated)/(core)/analytics/page.tsx b/apps/webapp/src/app/(authenticated)/(core)/analytics/page.tsx similarity index 100% rename from apps/admin/src/app/(authenticated)/(core)/analytics/page.tsx rename to apps/webapp/src/app/(authenticated)/(core)/analytics/page.tsx diff --git a/apps/admin/src/app/(authenticated)/(core)/layout.tsx b/apps/webapp/src/app/(authenticated)/(core)/layout.tsx similarity index 100% rename from apps/admin/src/app/(authenticated)/(core)/layout.tsx rename to apps/webapp/src/app/(authenticated)/(core)/layout.tsx diff --git a/apps/admin/src/app/(authenticated)/(core)/page.tsx b/apps/webapp/src/app/(authenticated)/(core)/page.tsx similarity index 100% rename from apps/admin/src/app/(authenticated)/(core)/page.tsx rename to apps/webapp/src/app/(authenticated)/(core)/page.tsx diff --git a/apps/admin/src/app/(authenticated)/(core)/participants/[id]/page.tsx b/apps/webapp/src/app/(authenticated)/(core)/participants/[id]/page.tsx similarity index 100% rename from apps/admin/src/app/(authenticated)/(core)/participants/[id]/page.tsx rename to apps/webapp/src/app/(authenticated)/(core)/participants/[id]/page.tsx diff --git a/apps/admin/src/app/(authenticated)/(core)/participants/page.tsx b/apps/webapp/src/app/(authenticated)/(core)/participants/page.tsx similarity index 100% rename from apps/admin/src/app/(authenticated)/(core)/participants/page.tsx rename to apps/webapp/src/app/(authenticated)/(core)/participants/page.tsx diff --git a/apps/admin/src/app/(authenticated)/(core)/products/page.tsx b/apps/webapp/src/app/(authenticated)/(core)/products/page.tsx similarity index 100% rename from apps/admin/src/app/(authenticated)/(core)/products/page.tsx rename to apps/webapp/src/app/(authenticated)/(core)/products/page.tsx diff --git a/apps/admin/src/app/(authenticated)/(core)/programs/[id]/_components/design-config.tsx b/apps/webapp/src/app/(authenticated)/(core)/programs/[id]/_components/design-config.tsx similarity index 100% rename from apps/admin/src/app/(authenticated)/(core)/programs/[id]/_components/design-config.tsx rename to apps/webapp/src/app/(authenticated)/(core)/programs/[id]/_components/design-config.tsx diff --git a/apps/admin/src/app/(authenticated)/(core)/programs/[id]/_components/installation-step.tsx b/apps/webapp/src/app/(authenticated)/(core)/programs/[id]/_components/installation-step.tsx similarity index 100% rename from apps/admin/src/app/(authenticated)/(core)/programs/[id]/_components/installation-step.tsx rename to apps/webapp/src/app/(authenticated)/(core)/programs/[id]/_components/installation-step.tsx diff --git a/apps/admin/src/app/(authenticated)/(core)/programs/[id]/_components/installation.tsx b/apps/webapp/src/app/(authenticated)/(core)/programs/[id]/_components/installation.tsx similarity index 100% rename from apps/admin/src/app/(authenticated)/(core)/programs/[id]/_components/installation.tsx rename to apps/webapp/src/app/(authenticated)/(core)/programs/[id]/_components/installation.tsx diff --git a/apps/admin/src/app/(authenticated)/(core)/programs/[id]/_components/notification-setup.tsx b/apps/webapp/src/app/(authenticated)/(core)/programs/[id]/_components/notification-setup.tsx similarity index 100% rename from apps/admin/src/app/(authenticated)/(core)/programs/[id]/_components/notification-setup.tsx rename to apps/webapp/src/app/(authenticated)/(core)/programs/[id]/_components/notification-setup.tsx diff --git a/apps/admin/src/app/(authenticated)/(core)/programs/[id]/page.tsx b/apps/webapp/src/app/(authenticated)/(core)/programs/[id]/page.tsx similarity index 100% rename from apps/admin/src/app/(authenticated)/(core)/programs/[id]/page.tsx rename to apps/webapp/src/app/(authenticated)/(core)/programs/[id]/page.tsx diff --git a/apps/admin/src/app/(authenticated)/(core)/programs/[id]/setup/_components/RewardStep.tsx b/apps/webapp/src/app/(authenticated)/(core)/programs/[id]/setup/_components/RewardStep.tsx similarity index 100% rename from apps/admin/src/app/(authenticated)/(core)/programs/[id]/setup/_components/RewardStep.tsx rename to apps/webapp/src/app/(authenticated)/(core)/programs/[id]/setup/_components/RewardStep.tsx diff --git a/apps/admin/src/app/(authenticated)/(core)/programs/[id]/setup/page.tsx b/apps/webapp/src/app/(authenticated)/(core)/programs/[id]/setup/page.tsx similarity index 100% rename from apps/admin/src/app/(authenticated)/(core)/programs/[id]/setup/page.tsx rename to apps/webapp/src/app/(authenticated)/(core)/programs/[id]/setup/page.tsx diff --git a/apps/admin/src/app/(authenticated)/(core)/programs/_components/program-card.tsx b/apps/webapp/src/app/(authenticated)/(core)/programs/_components/program-card.tsx similarity index 100% rename from apps/admin/src/app/(authenticated)/(core)/programs/_components/program-card.tsx rename to apps/webapp/src/app/(authenticated)/(core)/programs/_components/program-card.tsx diff --git a/apps/admin/src/app/(authenticated)/(core)/programs/new/page.tsx b/apps/webapp/src/app/(authenticated)/(core)/programs/new/page.tsx similarity index 100% rename from apps/admin/src/app/(authenticated)/(core)/programs/new/page.tsx rename to apps/webapp/src/app/(authenticated)/(core)/programs/new/page.tsx diff --git a/apps/admin/src/app/(authenticated)/(core)/programs/page.tsx b/apps/webapp/src/app/(authenticated)/(core)/programs/page.tsx similarity index 100% rename from apps/admin/src/app/(authenticated)/(core)/programs/page.tsx rename to apps/webapp/src/app/(authenticated)/(core)/programs/page.tsx diff --git a/apps/admin/src/app/(authenticated)/(core)/rewards/page.tsx b/apps/webapp/src/app/(authenticated)/(core)/rewards/page.tsx similarity index 100% rename from apps/admin/src/app/(authenticated)/(core)/rewards/page.tsx rename to apps/webapp/src/app/(authenticated)/(core)/rewards/page.tsx diff --git a/apps/admin/src/app/(authenticated)/layout.tsx b/apps/webapp/src/app/(authenticated)/layout.tsx similarity index 100% rename from apps/admin/src/app/(authenticated)/layout.tsx rename to apps/webapp/src/app/(authenticated)/layout.tsx diff --git a/apps/admin/src/app/(authenticated)/onboarding/layout.tsx b/apps/webapp/src/app/(authenticated)/onboarding/layout.tsx similarity index 100% rename from apps/admin/src/app/(authenticated)/onboarding/layout.tsx rename to apps/webapp/src/app/(authenticated)/onboarding/layout.tsx diff --git a/apps/admin/src/app/(authenticated)/onboarding/page.tsx b/apps/webapp/src/app/(authenticated)/onboarding/page.tsx similarity index 100% rename from apps/admin/src/app/(authenticated)/onboarding/page.tsx rename to apps/webapp/src/app/(authenticated)/onboarding/page.tsx diff --git a/apps/admin/src/app/(authenticated)/settings/appearance/page.tsx b/apps/webapp/src/app/(authenticated)/settings/appearance/page.tsx similarity index 100% rename from apps/admin/src/app/(authenticated)/settings/appearance/page.tsx rename to apps/webapp/src/app/(authenticated)/settings/appearance/page.tsx diff --git a/apps/admin/src/app/(authenticated)/settings/layout.tsx b/apps/webapp/src/app/(authenticated)/settings/layout.tsx similarity index 100% rename from apps/admin/src/app/(authenticated)/settings/layout.tsx rename to apps/webapp/src/app/(authenticated)/settings/layout.tsx diff --git a/apps/admin/src/app/(authenticated)/settings/members/_components/cancel-invitation-dialog.tsx b/apps/webapp/src/app/(authenticated)/settings/members/_components/cancel-invitation-dialog.tsx similarity index 100% rename from apps/admin/src/app/(authenticated)/settings/members/_components/cancel-invitation-dialog.tsx rename to apps/webapp/src/app/(authenticated)/settings/members/_components/cancel-invitation-dialog.tsx diff --git a/apps/admin/src/app/(authenticated)/settings/members/_components/invitations-table.tsx b/apps/webapp/src/app/(authenticated)/settings/members/_components/invitations-table.tsx similarity index 100% rename from apps/admin/src/app/(authenticated)/settings/members/_components/invitations-table.tsx rename to apps/webapp/src/app/(authenticated)/settings/members/_components/invitations-table.tsx diff --git a/apps/admin/src/app/(authenticated)/settings/members/_components/invite-member-dialog.tsx b/apps/webapp/src/app/(authenticated)/settings/members/_components/invite-member-dialog.tsx similarity index 100% rename from apps/admin/src/app/(authenticated)/settings/members/_components/invite-member-dialog.tsx rename to apps/webapp/src/app/(authenticated)/settings/members/_components/invite-member-dialog.tsx diff --git a/apps/admin/src/app/(authenticated)/settings/members/_components/remove-user-dialog.tsx b/apps/webapp/src/app/(authenticated)/settings/members/_components/remove-user-dialog.tsx similarity index 100% rename from apps/admin/src/app/(authenticated)/settings/members/_components/remove-user-dialog.tsx rename to apps/webapp/src/app/(authenticated)/settings/members/_components/remove-user-dialog.tsx diff --git a/apps/admin/src/app/(authenticated)/settings/members/_components/users-table.tsx b/apps/webapp/src/app/(authenticated)/settings/members/_components/users-table.tsx similarity index 100% rename from apps/admin/src/app/(authenticated)/settings/members/_components/users-table.tsx rename to apps/webapp/src/app/(authenticated)/settings/members/_components/users-table.tsx diff --git a/apps/admin/src/app/(authenticated)/settings/members/data.ts b/apps/webapp/src/app/(authenticated)/settings/members/data.ts similarity index 100% rename from apps/admin/src/app/(authenticated)/settings/members/data.ts rename to apps/webapp/src/app/(authenticated)/settings/members/data.ts diff --git a/apps/admin/src/app/(authenticated)/settings/members/page.tsx b/apps/webapp/src/app/(authenticated)/settings/members/page.tsx similarity index 100% rename from apps/admin/src/app/(authenticated)/settings/members/page.tsx rename to apps/webapp/src/app/(authenticated)/settings/members/page.tsx diff --git a/apps/admin/src/app/(authenticated)/settings/product/page.tsx b/apps/webapp/src/app/(authenticated)/settings/product/page.tsx similarity index 100% rename from apps/admin/src/app/(authenticated)/settings/product/page.tsx rename to apps/webapp/src/app/(authenticated)/settings/product/page.tsx diff --git a/apps/admin/src/app/(authenticated)/settings/profile/page.tsx b/apps/webapp/src/app/(authenticated)/settings/profile/page.tsx similarity index 100% rename from apps/admin/src/app/(authenticated)/settings/profile/page.tsx rename to apps/webapp/src/app/(authenticated)/settings/profile/page.tsx diff --git a/apps/admin/src/app/_components/create-program-modal.tsx b/apps/webapp/src/app/_components/create-program-modal.tsx similarity index 100% rename from apps/admin/src/app/_components/create-program-modal.tsx rename to apps/webapp/src/app/_components/create-program-modal.tsx diff --git a/apps/admin/src/app/accept-invitation/[token]/page.tsx b/apps/webapp/src/app/accept-invitation/[token]/page.tsx similarity index 100% rename from apps/admin/src/app/accept-invitation/[token]/page.tsx rename to apps/webapp/src/app/accept-invitation/[token]/page.tsx diff --git a/apps/admin/src/app/api/auth/[...all]/route.ts b/apps/webapp/src/app/api/auth/[...all]/route.ts similarity index 100% rename from apps/admin/src/app/api/auth/[...all]/route.ts rename to apps/webapp/src/app/api/auth/[...all]/route.ts diff --git a/apps/admin/src/app/api/trpc/[trpc]/route.ts b/apps/webapp/src/app/api/trpc/[trpc]/route.ts similarity index 100% rename from apps/admin/src/app/api/trpc/[trpc]/route.ts rename to apps/webapp/src/app/api/trpc/[trpc]/route.ts diff --git a/apps/admin/src/app/auth/[path]/page.tsx b/apps/webapp/src/app/auth/[path]/page.tsx similarity index 100% rename from apps/admin/src/app/auth/[path]/page.tsx rename to apps/webapp/src/app/auth/[path]/page.tsx diff --git a/apps/admin/src/app/auth/layout.tsx b/apps/webapp/src/app/auth/layout.tsx similarity index 100% rename from apps/admin/src/app/auth/layout.tsx rename to apps/webapp/src/app/auth/layout.tsx diff --git a/apps/admin/src/app/layout.tsx b/apps/webapp/src/app/layout.tsx similarity index 100% rename from apps/admin/src/app/layout.tsx rename to apps/webapp/src/app/layout.tsx diff --git a/apps/admin/src/components/activity-table/activity-table-columns.tsx b/apps/webapp/src/components/activity-table/activity-table-columns.tsx similarity index 100% rename from apps/admin/src/components/activity-table/activity-table-columns.tsx rename to apps/webapp/src/components/activity-table/activity-table-columns.tsx diff --git a/apps/admin/src/components/activity-table/activity-table.tsx b/apps/webapp/src/components/activity-table/activity-table.tsx similarity index 100% rename from apps/admin/src/components/activity-table/activity-table.tsx rename to apps/webapp/src/components/activity-table/activity-table.tsx diff --git a/apps/admin/src/components/app-sidebar.tsx b/apps/webapp/src/components/app-sidebar.tsx similarity index 100% rename from apps/admin/src/components/app-sidebar.tsx rename to apps/webapp/src/components/app-sidebar.tsx diff --git a/apps/admin/src/components/chart-area-interactive.tsx b/apps/webapp/src/components/chart-area-interactive.tsx similarity index 100% rename from apps/admin/src/components/chart-area-interactive.tsx rename to apps/webapp/src/components/chart-area-interactive.tsx diff --git a/apps/admin/src/components/date-range-picker-with-presets.tsx b/apps/webapp/src/components/date-range-picker-with-presets.tsx similarity index 100% rename from apps/admin/src/components/date-range-picker-with-presets.tsx rename to apps/webapp/src/components/date-range-picker-with-presets.tsx diff --git a/apps/admin/src/components/global-search.tsx b/apps/webapp/src/components/global-search.tsx similarity index 100% rename from apps/admin/src/components/global-search.tsx rename to apps/webapp/src/components/global-search.tsx diff --git a/apps/admin/src/components/nav-documents.tsx b/apps/webapp/src/components/nav-documents.tsx similarity index 100% rename from apps/admin/src/components/nav-documents.tsx rename to apps/webapp/src/components/nav-documents.tsx diff --git a/apps/admin/src/components/nav-main.tsx b/apps/webapp/src/components/nav-main.tsx similarity index 100% rename from apps/admin/src/components/nav-main.tsx rename to apps/webapp/src/components/nav-main.tsx diff --git a/apps/admin/src/components/nav-secondary.tsx b/apps/webapp/src/components/nav-secondary.tsx similarity index 100% rename from apps/admin/src/components/nav-secondary.tsx rename to apps/webapp/src/components/nav-secondary.tsx diff --git a/apps/admin/src/components/nav-user.tsx b/apps/webapp/src/components/nav-user.tsx similarity index 100% rename from apps/admin/src/components/nav-user.tsx rename to apps/webapp/src/components/nav-user.tsx diff --git a/apps/admin/src/components/onboarding/app-type-step.tsx b/apps/webapp/src/components/onboarding/app-type-step.tsx similarity index 100% rename from apps/admin/src/components/onboarding/app-type-step.tsx rename to apps/webapp/src/components/onboarding/app-type-step.tsx diff --git a/apps/admin/src/components/onboarding/payment-provider-step.tsx b/apps/webapp/src/components/onboarding/payment-provider-step.tsx similarity index 100% rename from apps/admin/src/components/onboarding/payment-provider-step.tsx rename to apps/webapp/src/components/onboarding/payment-provider-step.tsx diff --git a/apps/admin/src/components/onboarding/product-info-step.tsx b/apps/webapp/src/components/onboarding/product-info-step.tsx similarity index 100% rename from apps/admin/src/components/onboarding/product-info-step.tsx rename to apps/webapp/src/components/onboarding/product-info-step.tsx diff --git a/apps/admin/src/components/participant-card.tsx b/apps/webapp/src/components/participant-card.tsx similarity index 100% rename from apps/admin/src/components/participant-card.tsx rename to apps/webapp/src/components/participant-card.tsx diff --git a/apps/admin/src/components/participants-table/participants-table-columns.tsx b/apps/webapp/src/components/participants-table/participants-table-columns.tsx similarity index 100% rename from apps/admin/src/components/participants-table/participants-table-columns.tsx rename to apps/webapp/src/components/participants-table/participants-table-columns.tsx diff --git a/apps/admin/src/components/participants-table/participants-table.tsx b/apps/webapp/src/components/participants-table/participants-table.tsx similarity index 100% rename from apps/admin/src/components/participants-table/participants-table.tsx rename to apps/webapp/src/components/participants-table/participants-table.tsx diff --git a/apps/admin/src/components/preview-pane.tsx b/apps/webapp/src/components/preview-pane.tsx similarity index 100% rename from apps/admin/src/components/preview-pane.tsx rename to apps/webapp/src/components/preview-pane.tsx diff --git a/apps/admin/src/components/program-selector.tsx b/apps/webapp/src/components/program-selector.tsx similarity index 100% rename from apps/admin/src/components/program-selector.tsx rename to apps/webapp/src/components/program-selector.tsx diff --git a/apps/admin/src/components/program-setup-card.tsx b/apps/webapp/src/components/program-setup-card.tsx similarity index 100% rename from apps/admin/src/components/program-setup-card.tsx rename to apps/webapp/src/components/program-setup-card.tsx diff --git a/apps/admin/src/components/program-setup-stepper.tsx b/apps/webapp/src/components/program-setup-stepper.tsx similarity index 100% rename from apps/admin/src/components/program-setup-stepper.tsx rename to apps/webapp/src/components/program-setup-stepper.tsx diff --git a/apps/admin/src/components/program-setup/brand-step.tsx b/apps/webapp/src/components/program-setup/brand-step.tsx similarity index 100% rename from apps/admin/src/components/program-setup/brand-step.tsx rename to apps/webapp/src/components/program-setup/brand-step.tsx diff --git a/apps/admin/src/components/program-setup/reward-step.tsx b/apps/webapp/src/components/program-setup/reward-step.tsx similarity index 97% rename from apps/admin/src/components/program-setup/reward-step.tsx rename to apps/webapp/src/components/program-setup/reward-step.tsx index cde2a89..eaf6390 100644 --- a/apps/admin/src/components/program-setup/reward-step.tsx +++ b/apps/webapp/src/components/program-setup/reward-step.tsx @@ -32,15 +32,15 @@ import { const rewardStepSchema = z.object({ referrerReward: z.object({ enabled: z.boolean(), - valueType: z.enum(["fixed", "percentage"]), + valueType: z.enum(["fixed", "percentage"] as const), value: z.number().positive().optional(), - currency: z.enum(["USD", "EUR", "GBP"]).optional(), + currency: z.enum(["USD", "EUR", "GBP"] as const).optional(), }), refereeReward: z.object({ enabled: z.boolean(), - valueType: z.enum(["fixed", "percentage"]), + valueType: z.enum(["fixed", "percentage"] as const), value: z.number().positive().optional(), - currency: z.enum(["USD", "EUR", "GBP"]).optional(), + currency: z.enum(["USD", "EUR", "GBP"] as const).optional(), minPurchaseAmount: z.number().positive().optional(), validityDays: z.number().int().positive().optional(), }), @@ -57,6 +57,7 @@ export const RewardStep = forwardRef< RewardStepProps >(({ programId }, ref) => { const form = useForm({ + // @ts-expect-error - Zod v4 type compatibility issue with @hookform/resolvers resolver: zodResolver(rewardStepSchema), defaultValues: { referrerReward: { diff --git a/apps/admin/src/components/providers/auth-ui-provider.tsx b/apps/webapp/src/components/providers/auth-ui-provider.tsx similarity index 100% rename from apps/admin/src/components/providers/auth-ui-provider.tsx rename to apps/webapp/src/components/providers/auth-ui-provider.tsx diff --git a/apps/admin/src/components/providers/posthog-provider.tsx b/apps/webapp/src/components/providers/posthog-provider.tsx similarity index 100% rename from apps/admin/src/components/providers/posthog-provider.tsx rename to apps/webapp/src/components/providers/posthog-provider.tsx diff --git a/apps/admin/src/components/referral-widget-init.tsx b/apps/webapp/src/components/referral-widget-init.tsx similarity index 100% rename from apps/admin/src/components/referral-widget-init.tsx rename to apps/webapp/src/components/referral-widget-init.tsx diff --git a/apps/admin/src/components/referral-widget-preview.tsx b/apps/webapp/src/components/referral-widget-preview.tsx similarity index 100% rename from apps/admin/src/components/referral-widget-preview.tsx rename to apps/webapp/src/components/referral-widget-preview.tsx diff --git a/apps/admin/src/components/rewards-table/rewards-table-columns.tsx b/apps/webapp/src/components/rewards-table/rewards-table-columns.tsx similarity index 100% rename from apps/admin/src/components/rewards-table/rewards-table-columns.tsx rename to apps/webapp/src/components/rewards-table/rewards-table-columns.tsx diff --git a/apps/admin/src/components/rewards-table/rewards-table.tsx b/apps/webapp/src/components/rewards-table/rewards-table.tsx similarity index 100% rename from apps/admin/src/components/rewards-table/rewards-table.tsx rename to apps/webapp/src/components/rewards-table/rewards-table.tsx diff --git a/apps/admin/src/components/secondary-nav-mobile.tsx b/apps/webapp/src/components/secondary-nav-mobile.tsx similarity index 100% rename from apps/admin/src/components/secondary-nav-mobile.tsx rename to apps/webapp/src/components/secondary-nav-mobile.tsx diff --git a/apps/admin/src/components/section-cards.tsx b/apps/webapp/src/components/section-cards.tsx similarity index 100% rename from apps/admin/src/components/section-cards.tsx rename to apps/webapp/src/components/section-cards.tsx diff --git a/apps/admin/src/components/site-breadcrumbs.tsx b/apps/webapp/src/components/site-breadcrumbs.tsx similarity index 100% rename from apps/admin/src/components/site-breadcrumbs.tsx rename to apps/webapp/src/components/site-breadcrumbs.tsx diff --git a/apps/admin/src/components/site-header.tsx b/apps/webapp/src/components/site-header.tsx similarity index 100% rename from apps/admin/src/components/site-header.tsx rename to apps/webapp/src/components/site-header.tsx diff --git a/apps/admin/src/components/theme-switcher.tsx b/apps/webapp/src/components/theme-switcher.tsx similarity index 100% rename from apps/admin/src/components/theme-switcher.tsx rename to apps/webapp/src/components/theme-switcher.tsx diff --git a/apps/admin/src/env.ts b/apps/webapp/src/env.ts similarity index 100% rename from apps/admin/src/env.ts rename to apps/webapp/src/env.ts diff --git a/apps/admin/src/hooks/use-mobile.ts b/apps/webapp/src/hooks/use-mobile.ts similarity index 100% rename from apps/admin/src/hooks/use-mobile.ts rename to apps/webapp/src/hooks/use-mobile.ts diff --git a/apps/admin/src/hooks/useAuthGuard.ts b/apps/webapp/src/hooks/useAuthGuard.ts similarity index 100% rename from apps/admin/src/hooks/useAuthGuard.ts rename to apps/webapp/src/hooks/useAuthGuard.ts diff --git a/apps/admin/src/lib/__tests__/template-config-generator.test.ts b/apps/webapp/src/lib/__tests__/template-config-generator.test.ts similarity index 100% rename from apps/admin/src/lib/__tests__/template-config-generator.test.ts rename to apps/webapp/src/lib/__tests__/template-config-generator.test.ts diff --git a/apps/admin/src/lib/auth-client.ts b/apps/webapp/src/lib/auth-client.ts similarity index 100% rename from apps/admin/src/lib/auth-client.ts rename to apps/webapp/src/lib/auth-client.ts diff --git a/apps/admin/src/lib/auth.ts b/apps/webapp/src/lib/auth.ts similarity index 100% rename from apps/admin/src/lib/auth.ts rename to apps/webapp/src/lib/auth.ts diff --git a/apps/admin/src/lib/email/index.ts b/apps/webapp/src/lib/email/index.ts similarity index 100% rename from apps/admin/src/lib/email/index.ts rename to apps/webapp/src/lib/email/index.ts diff --git a/apps/admin/src/lib/email/templates.ts b/apps/webapp/src/lib/email/templates.ts similarity index 100% rename from apps/admin/src/lib/email/templates.ts rename to apps/webapp/src/lib/email/templates.ts diff --git a/apps/admin/src/lib/email/types.ts b/apps/webapp/src/lib/email/types.ts similarity index 100% rename from apps/admin/src/lib/email/types.ts rename to apps/webapp/src/lib/email/types.ts diff --git a/apps/admin/src/lib/forms/onboarding-form.tsx b/apps/webapp/src/lib/forms/onboarding-form.tsx similarity index 100% rename from apps/admin/src/lib/forms/onboarding-form.tsx rename to apps/webapp/src/lib/forms/onboarding-form.tsx diff --git a/apps/admin/src/lib/hooks/use-debounce.ts b/apps/webapp/src/lib/hooks/use-debounce.ts similarity index 100% rename from apps/admin/src/lib/hooks/use-debounce.ts rename to apps/webapp/src/lib/hooks/use-debounce.ts diff --git a/apps/admin/src/lib/logger.ts b/apps/webapp/src/lib/logger.ts similarity index 100% rename from apps/admin/src/lib/logger.ts rename to apps/webapp/src/lib/logger.ts diff --git a/apps/admin/src/lib/posthog.ts b/apps/webapp/src/lib/posthog.ts similarity index 100% rename from apps/admin/src/lib/posthog.ts rename to apps/webapp/src/lib/posthog.ts diff --git a/apps/admin/src/lib/program.ts b/apps/webapp/src/lib/program.ts similarity index 100% rename from apps/admin/src/lib/program.ts rename to apps/webapp/src/lib/program.ts diff --git a/apps/admin/src/lib/template-config-generator.ts b/apps/webapp/src/lib/template-config-generator.ts similarity index 100% rename from apps/admin/src/lib/template-config-generator.ts rename to apps/webapp/src/lib/template-config-generator.ts diff --git a/apps/admin/src/lib/utils.ts b/apps/webapp/src/lib/utils.ts similarity index 100% rename from apps/admin/src/lib/utils.ts rename to apps/webapp/src/lib/utils.ts diff --git a/apps/admin/src/lib/validations/onboarding.ts b/apps/webapp/src/lib/validations/onboarding.ts similarity index 100% rename from apps/admin/src/lib/validations/onboarding.ts rename to apps/webapp/src/lib/validations/onboarding.ts diff --git a/apps/admin/src/server/api/root.ts b/apps/webapp/src/server/api/root.ts similarity index 100% rename from apps/admin/src/server/api/root.ts rename to apps/webapp/src/server/api/root.ts diff --git a/apps/admin/src/server/api/routers/analytics.ts b/apps/webapp/src/server/api/routers/analytics.ts similarity index 100% rename from apps/admin/src/server/api/routers/analytics.ts rename to apps/webapp/src/server/api/routers/analytics.ts diff --git a/apps/admin/src/server/api/routers/events.ts b/apps/webapp/src/server/api/routers/events.ts similarity index 100% rename from apps/admin/src/server/api/routers/events.ts rename to apps/webapp/src/server/api/routers/events.ts diff --git a/apps/admin/src/server/api/routers/participants.ts b/apps/webapp/src/server/api/routers/participants.ts similarity index 100% rename from apps/admin/src/server/api/routers/participants.ts rename to apps/webapp/src/server/api/routers/participants.ts diff --git a/apps/admin/src/server/api/routers/post.ts b/apps/webapp/src/server/api/routers/post.ts similarity index 100% rename from apps/admin/src/server/api/routers/post.ts rename to apps/webapp/src/server/api/routers/post.ts diff --git a/apps/admin/src/server/api/routers/product-members.ts b/apps/webapp/src/server/api/routers/product-members.ts similarity index 100% rename from apps/admin/src/server/api/routers/product-members.ts rename to apps/webapp/src/server/api/routers/product-members.ts diff --git a/apps/admin/src/server/api/routers/product-secrets.ts b/apps/webapp/src/server/api/routers/product-secrets.ts similarity index 100% rename from apps/admin/src/server/api/routers/product-secrets.ts rename to apps/webapp/src/server/api/routers/product-secrets.ts diff --git a/apps/admin/src/server/api/routers/product.ts b/apps/webapp/src/server/api/routers/product.ts similarity index 100% rename from apps/admin/src/server/api/routers/product.ts rename to apps/webapp/src/server/api/routers/product.ts diff --git a/apps/admin/src/server/api/routers/program-template.ts b/apps/webapp/src/server/api/routers/program-template.ts similarity index 100% rename from apps/admin/src/server/api/routers/program-template.ts rename to apps/webapp/src/server/api/routers/program-template.ts diff --git a/apps/admin/src/server/api/routers/program.ts b/apps/webapp/src/server/api/routers/program.ts similarity index 100% rename from apps/admin/src/server/api/routers/program.ts rename to apps/webapp/src/server/api/routers/program.ts diff --git a/apps/admin/src/server/api/routers/referral.ts b/apps/webapp/src/server/api/routers/referral.ts similarity index 100% rename from apps/admin/src/server/api/routers/referral.ts rename to apps/webapp/src/server/api/routers/referral.ts diff --git a/apps/admin/src/server/api/routers/reward-rules.ts b/apps/webapp/src/server/api/routers/reward-rules.ts similarity index 100% rename from apps/admin/src/server/api/routers/reward-rules.ts rename to apps/webapp/src/server/api/routers/reward-rules.ts diff --git a/apps/admin/src/server/api/routers/rewards.ts b/apps/webapp/src/server/api/routers/rewards.ts similarity index 100% rename from apps/admin/src/server/api/routers/rewards.ts rename to apps/webapp/src/server/api/routers/rewards.ts diff --git a/apps/admin/src/server/api/routers/search.ts b/apps/webapp/src/server/api/routers/search.ts similarity index 100% rename from apps/admin/src/server/api/routers/search.ts rename to apps/webapp/src/server/api/routers/search.ts diff --git a/apps/admin/src/server/api/routers/user.ts b/apps/webapp/src/server/api/routers/user.ts similarity index 100% rename from apps/admin/src/server/api/routers/user.ts rename to apps/webapp/src/server/api/routers/user.ts diff --git a/apps/admin/src/server/api/trpc.ts b/apps/webapp/src/server/api/trpc.ts similarity index 100% rename from apps/admin/src/server/api/trpc.ts rename to apps/webapp/src/server/api/trpc.ts diff --git a/apps/admin/src/server/db.ts b/apps/webapp/src/server/db.ts similarity index 100% rename from apps/admin/src/server/db.ts rename to apps/webapp/src/server/db.ts diff --git a/apps/admin/src/server/services/reward-engine.ts b/apps/webapp/src/server/services/reward-engine.ts similarity index 100% rename from apps/admin/src/server/services/reward-engine.ts rename to apps/webapp/src/server/services/reward-engine.ts diff --git a/apps/admin/src/trpc/query-client.ts b/apps/webapp/src/trpc/query-client.ts similarity index 100% rename from apps/admin/src/trpc/query-client.ts rename to apps/webapp/src/trpc/query-client.ts diff --git a/apps/admin/src/trpc/react.tsx b/apps/webapp/src/trpc/react.tsx similarity index 100% rename from apps/admin/src/trpc/react.tsx rename to apps/webapp/src/trpc/react.tsx diff --git a/apps/admin/src/trpc/server.ts b/apps/webapp/src/trpc/server.ts similarity index 100% rename from apps/admin/src/trpc/server.ts rename to apps/webapp/src/trpc/server.ts diff --git a/apps/admin/tsconfig.json b/apps/webapp/tsconfig.json similarity index 100% rename from apps/admin/tsconfig.json rename to apps/webapp/tsconfig.json diff --git a/apps/admin/vitest.config.ts b/apps/webapp/vitest.config.ts similarity index 100% rename from apps/admin/vitest.config.ts rename to apps/webapp/vitest.config.ts diff --git a/docker-compose.yml b/docker-compose.yml index 4e76bc7..a68c7e0 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -18,11 +18,11 @@ services: timeout: 5s retries: 5 - admin: + webapp: build: context: . dockerfile: Dockerfile - container_name: refref-admin + container_name: refref-webapp ports: - "3000:3000" environment: @@ -37,13 +37,13 @@ services: postgres: condition: service_healthy volumes: - - ./apps/admin/.env:/app/apps/admin/.env + - ./apps/webapp/.env:/app/apps/webapp/.env command: > sh -c " cd /app && pnpm -F @refref/coredb db:push && pnpm -F @refref/coredb db:seed && - cd /app/apps/admin && + cd /app/apps/webapp && pnpm start " diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f658c06..fa4bf8e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -18,7 +18,7 @@ importers: specifier: 5.7.3 version: 5.7.3 - apps/admin: + apps/webapp: dependencies: '@daveyplate/better-auth-ui': specifier: ^3.2.6