Skip to content

dashboard i18n#941

Closed
fuwenbin wants to merge 3 commits intostack-auth:devfrom
fuwenbin:dev
Closed

dashboard i18n#941
fuwenbin wants to merge 3 commits intostack-auth:devfrom
fuwenbin:dev

Conversation

@fuwenbin
Copy link

@fuwenbin fuwenbin commented Oct 10, 2025

High-level PR Summary

This PR adds comprehensive internationalization (i18n) support to the Stack Auth dashboard, implementing next-intl for multilingual support with English and Chinese (Simplified) translations. It includes over 1,000 translated strings covering all dashboard components, a language switcher UI component, and complete i18n configuration using Next.js 15's routing capabilities. Additionally, it introduces a minimal Docker Compose configuration (7 containers vs 16) for resource-constrained development environments and adds several developer experience scripts for managing Docker services and dev servers.

⏱️ Estimated Review Time: 30-90 minutes

💡 Review Order Suggestion
Order File Path
1 apps/dashboard/src/i18n/routing.ts
2 apps/dashboard/src/i18n/request.ts
3 apps/dashboard/messages/en.json
4 apps/dashboard/messages/zh.json
5 apps/dashboard/src/app/layout.tsx
6 apps/dashboard/next.config.mjs
7 apps/dashboard/package.json
8 apps/dashboard/src/components/language-switcher.tsx
9 apps/dashboard/src/components/navbar.tsx
10 apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/sidebar-layout.tsx
11 apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/(overview)/setup-page.tsx
12 apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/(overview)/metrics-page.tsx
13 apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/(overview)/line-chart.tsx
14 apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/(overview)/globe.tsx
15 apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/users/page-client.tsx
16 apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/users/[userId]/page-client.tsx
17 apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/teams/page-client.tsx
18 apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/api-keys/page-client.tsx
19 apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/domains/page-client.tsx
20 apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/webhooks/page-client.tsx
21 apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/emails/page-client.tsx
22 apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/email-templates/page-client.tsx
23 apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/email-themes/page-client.tsx
24 apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/email-drafts/page-client.tsx
25 apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/payments/transactions/page-client.tsx
26 apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/project-permissions/page-client.tsx
27 apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/team-permissions/page-client.tsx
28 apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/team-settings/page-client.tsx
29 apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/project-settings/page-client.tsx
30 apps/dashboard/src/app/(main)/(protected)/(outside-dashboard)/new-project/page-client.tsx
31 apps/dashboard/src/app/(main)/(protected)/(outside-dashboard)/projects/page-client.tsx
32 apps/dashboard/src/app/(main)/i18n-test/page.tsx
33 apps/dashboard/src/components/user-dialog.tsx
34 apps/dashboard/src/components/data-table/user-table.tsx
35 apps/dashboard/src/components/data-table/team-table.tsx
36 apps/dashboard/src/components/data-table/team-member-table.tsx
37 apps/dashboard/src/components/data-table/permission-table.tsx
38 apps/dashboard/src/components/data-table/api-key-table.tsx
39 apps/dashboard/src/components/data-table/payment-product-table.tsx
40 apps/dashboard/src/components/data-table/payment-item-table.tsx
41 apps/dashboard/src/components/data-table/transaction-table.tsx
42 packages/stack-ui/src/components/data-table/data-table.tsx
43 packages/stack-ui/src/components/data-table/pagination.tsx
44 packages/stack-ui/src/components/data-table/toolbar.tsx
45 packages/stack-ui/src/components/data-table/view-options.tsx
46 docker/dependencies/docker.compose.minimal.yaml
47 docker/dependencies/README.md
48 scripts/kill-dev-servers.sh
49 scripts/restart-dev-basic.sh
50 scripts/fix-docker.sh
51 scripts/check-docker.sh
52 scripts/start-dev.sh
53 package.json
54 pnpm-lock.yaml
⚠️ Inconsistent Changes Detected
File Path Warning
docker/dependencies/docker.compose.minimal.yaml Docker Compose minimal configuration appears unrelated to i18n functionality
docker/dependencies/README.md Docker documentation about minimal vs full configurations is not related to i18n
scripts/kill-dev-servers.sh Developer script for killing processes is unrelated to i18n implementation
scripts/restart-dev-basic.sh Developer script for restarting servers is unrelated to i18n implementation
scripts/fix-docker.sh Docker troubleshooting script is unrelated to i18n implementation
scripts/check-docker.sh Docker status checking script is unrelated to i18n implementation
scripts/start-dev.sh Development environment startup script is unrelated to i18n implementation
package.json Multiple new scripts added (kill-servers, restart-dev-basic, fix-docker, start-deps:minimal variants) that are developer tooling unrelated to i18n

Need help? Join our Discord

Analyze latest changes


Important

Integrate i18n support using next-intl, add language switcher, update components for translations, and introduce Docker management scripts.

  • i18n Integration:
    • Add next-intl for i18n support in layout.tsx and request.ts.
    • Implement LanguageSwitcher component in language-switcher.tsx.
    • Add translations for common components and pages, including i18n-test/page.tsx.
  • Configuration:
    • Update next.config.mjs to include createNextIntlPlugin.
    • Modify package.json to add next-intl dependency.
  • Components:
    • Update components to use useTranslations for text, e.g., navbar.tsx, sidebar-layout.tsx.
    • Add i18n support to data tables, e.g., api-key-table.tsx, payment-item-table.tsx.
  • Docker and Scripts:
    • Add docker.compose.minimal.yaml for minimal Docker setup.
    • Add scripts for Docker management and development server control, e.g., check-docker.sh, kill-dev-servers.sh.

This description was created by Ellipsis for aa2321b. You can customize this summary. It will automatically update as commits are pushed.

Summary by CodeRabbit

  • New Features

    • Multilingual dashboard with English and Chinese support.
    • Language switcher added to header and navbar.
    • Extensive UI localization across projects, overview (globe/charts/setup), API keys, domains, emails (logs/templates/themes/drafts), payments (transactions), permissions (project/team), users, and teams.
    • Data tables now fully localized (columns, toolbars, dialogs, pagination).
    • Added i18n test page for quick verification.
  • Chores

    • Enabled app-wide internationalization and added required locale resources.
  • Documentation

    • Added Docker dependencies guide, including a minimal setup option.

…ions

- Integrate next-intl for internationalization support
- Add Chinese (zh) and English (en) translation files
- Add language switcher component in navbar
- Internationalize all data tables (users, teams, transactions, api-keys, permissions, payments)
- Add i18n props to DataTable components in stack-ui
- Translate all page components and dialogs
- Add i18n test page for development
- Add kill-dev-servers.sh to gracefully stop dev processes without affecting Docker
- Add restart-dev-basic.sh for intelligent dev server restart
- Add fix-docker.sh to diagnose and fix Docker daemon issues
- Add check-docker.sh for Docker health verification
- Update start-dev.sh with improved Docker dependency management
- Add docker.compose.minimal.yaml for minimal dependency setup
- Add comprehensive README.md for Docker dependencies
- Add npm scripts: restart-dev-basic and fix-docker
- Improve process tree killing to preserve Docker containers
- Add intelligent port management to avoid Docker conflicts
@vercel
Copy link

vercel bot commented Oct 10, 2025

@fuwenbin is attempting to deploy a commit to the Stack Team on Vercel.

A member of the Team first needs to authorize it.

@CLAassistant
Copy link

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

@fuwenbin fuwenbin closed this Oct 10, 2025
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Oct 10, 2025

Caution

Review failed

The pull request is closed.

Walkthrough

Adds internationalization to the dashboard using next-intl: introduces locale routing/config, message bundles (en/zh), server-side locale/messages in RootLayout, a LanguageSwitcher, and widespread replacement of hard-coded strings with translations across pages and data tables. Extends stack-ui DataTable with i18n props. Adds scripts and Docker minimal compose setup.

Changes

Cohort / File(s) Summary
Locale resources
apps/dashboard/messages/en.json, apps/dashboard/messages/zh.json
Adds comprehensive English and Chinese message bundles for the dashboard UI.
Next.js i18n integration
apps/dashboard/next.config.mjs, apps/dashboard/package.json, apps/dashboard/src/app/layout.tsx, apps/dashboard/src/i18n/request.ts, apps/dashboard/src/i18n/routing.ts
Integrates next-intl plugin, adds dependency, makes RootLayout async to provide locale/messages, and adds request-based locale/message loading and routing helpers.
Language switcher and navbar
apps/dashboard/src/components/language-switcher.tsx, apps/dashboard/src/components/navbar.tsx, apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/sidebar-layout.tsx
Adds LanguageSwitcher component, wires it into navbar and sidebar header; refactors navigation labels to use translations.
I18n test page
apps/dashboard/src/app/(main)/i18n-test/page.tsx
Adds a page to manually verify translations across namespaces.
Projects and overview pages i18n
apps/dashboard/src/app/(main)/(protected)/(outside-dashboard)/new-project/page-client.tsx, .../projects/page-client.tsx, .../projects/[projectId]/(overview)/*
Replaces static strings with t(...) across new project, projects list, globe, charts, metrics, setup pages; localizes form schemas/messages.
Project feature pages i18n
.../api-keys/page-client.tsx, .../domains/page-client.tsx, .../email-drafts/page-client.tsx, .../email-templates/page-client.tsx, .../email-themes/page-client.tsx, .../emails/page-client.tsx, .../payments/transactions/page-client.tsx, .../project-permissions/page-client.tsx, .../project-settings/page-client.tsx, .../team-permissions/page-client.tsx, .../team-settings/page-client.tsx, .../teams/page-client.tsx, .../users/[userId]/page-client.tsx, .../users/page-client.tsx, .../webhooks/page-client.tsx
Localizes page titles, labels, dialogs, validation, table headers/tooltips; no behavioral changes.
Dashboard data tables i18n (app)
apps/dashboard/src/components/data-table/* (api-key-table.tsx, payment-item-table.tsx, payment-product-table.tsx, permission-table.tsx, team-member-table.tsx, team-table.tsx, transaction-table.tsx, user-table.tsx)
Refactors to translation-driven headers, toolbars, actions, dialogs; adds i18n wiring and updates helper signatures to pass placeholders/options.
UI library DataTable i18n
packages/stack-ui/src/components/data-table/data-table.tsx, .../pagination.tsx, .../toolbar.tsx, .../view-options.tsx
Adds DataTableI18n type/prop; parameterizes toolbar and pagination labels; replaces hard-coded UI strings with passed labels.
Docker minimal deps
docker/dependencies/docker.compose.minimal.yaml, docker/dependencies/README.md
Adds minimal compose stack and documentation for dependency services.
Dev scripts
scripts/check-docker.sh, scripts/fix-docker.sh, scripts/kill-dev-servers.sh, scripts/restart-dev-basic.sh, scripts/start-dev.sh, package.json (scripts)
Adds scripts to manage Docker, dependencies, and dev servers; introduces minimal deps workflow and restart helpers.

Sequence Diagram(s)

sequenceDiagram
  autonumber
  actor User
  participant Browser
  participant App as Next.js App Router
  participant I18n as next-intl (request.ts)
  participant Layout as RootLayout
  participant UI as Pages/Components

  User->>Browser: Navigate to dashboard
  Browser->>App: HTTP request
  App->>I18n: Resolve locale (request param/cookie/default)
  I18n-->>App: { locale, messages }
  App->>Layout: Render with locale/messages
  Layout->>UI: Provide NextIntlClientProvider
  UI-->>User: Render translated UI
Loading
sequenceDiagram
  autonumber
  actor User
  participant UI as LanguageSwitcher
  participant Browser
  participant Router as next-intl router
  User->>UI: Select language (en/zh)
  UI->>Browser: Set NEXT_LOCALE cookie
  UI->>Router: Refresh route
  Router->>Server: Re-request page
  Server-->>Router: HTML with new locale/messages
  Router-->>User: UI in selected language
Loading
sequenceDiagram
  autonumber
  participant Page as Page Component
  participant Table as DataTable (stack-ui)
  participant I18n as useTranslations()
  Page->>I18n: Get t(...) for namespaces
  Page->>Table: Pass DataTableI18n + translated headers/placeholders
  Table-->>Page: Render toolbar/pagination with provided labels
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~60 minutes

Possibly related PRs

Suggested reviewers

  • N2D4

Poem

I hop between locales, quick and spry,
Flags in my paws, I switch on the fly. 🌐
Tables now whisper in tongues twofold,
Buttons and breadcrumbs, neatly retold.
With docker drums and scripts in queue,
I thump my foot—hello, 你好—brand new! 🐇✨

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 017b43f and aa2321b.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (53)
  • apps/dashboard/messages/en.json (1 hunks)
  • apps/dashboard/messages/zh.json (1 hunks)
  • apps/dashboard/next.config.mjs (2 hunks)
  • apps/dashboard/package.json (1 hunks)
  • apps/dashboard/src/app/(main)/(protected)/(outside-dashboard)/new-project/page-client.tsx (3 hunks)
  • apps/dashboard/src/app/(main)/(protected)/(outside-dashboard)/projects/page-client.tsx (4 hunks)
  • apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/(overview)/globe.tsx (4 hunks)
  • apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/(overview)/line-chart.tsx (2 hunks)
  • apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/(overview)/metrics-page.tsx (6 hunks)
  • apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/(overview)/setup-page.tsx (20 hunks)
  • apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/api-keys/page-client.tsx (7 hunks)
  • apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/domains/page-client.tsx (12 hunks)
  • apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/email-drafts/page-client.tsx (2 hunks)
  • apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/email-templates/page-client.tsx (4 hunks)
  • apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/email-themes/page-client.tsx (2 hunks)
  • apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/emails/page-client.tsx (4 hunks)
  • apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/payments/transactions/page-client.tsx (1 hunks)
  • apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/project-permissions/page-client.tsx (3 hunks)
  • apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/project-settings/page-client.tsx (10 hunks)
  • apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/sidebar-layout.tsx (10 hunks)
  • apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/team-permissions/page-client.tsx (3 hunks)
  • apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/team-settings/page-client.tsx (8 hunks)
  • apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/teams/page-client.tsx (3 hunks)
  • apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/users/[userId]/page-client.tsx (37 hunks)
  • apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/users/page-client.tsx (1 hunks)
  • apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/webhooks/page-client.tsx (7 hunks)
  • apps/dashboard/src/app/(main)/i18n-test/page.tsx (1 hunks)
  • apps/dashboard/src/app/layout.tsx (4 hunks)
  • apps/dashboard/src/components/data-table/api-key-table.tsx (5 hunks)
  • apps/dashboard/src/components/data-table/payment-item-table.tsx (9 hunks)
  • apps/dashboard/src/components/data-table/payment-product-table.tsx (6 hunks)
  • apps/dashboard/src/components/data-table/permission-table.tsx (10 hunks)
  • apps/dashboard/src/components/data-table/team-member-table.tsx (9 hunks)
  • apps/dashboard/src/components/data-table/team-table.tsx (6 hunks)
  • apps/dashboard/src/components/data-table/transaction-table.tsx (6 hunks)
  • apps/dashboard/src/components/data-table/user-table.tsx (9 hunks)
  • apps/dashboard/src/components/language-switcher.tsx (1 hunks)
  • apps/dashboard/src/components/navbar.tsx (2 hunks)
  • apps/dashboard/src/components/user-dialog.tsx (7 hunks)
  • apps/dashboard/src/i18n/request.ts (1 hunks)
  • apps/dashboard/src/i18n/routing.ts (1 hunks)
  • docker/dependencies/README.md (1 hunks)
  • docker/dependencies/docker.compose.minimal.yaml (1 hunks)
  • package.json (1 hunks)
  • packages/stack-ui/src/components/data-table/data-table.tsx (11 hunks)
  • packages/stack-ui/src/components/data-table/pagination.tsx (3 hunks)
  • packages/stack-ui/src/components/data-table/toolbar.tsx (4 hunks)
  • packages/stack-ui/src/components/data-table/view-options.tsx (2 hunks)
  • scripts/check-docker.sh (1 hunks)
  • scripts/fix-docker.sh (1 hunks)
  • scripts/kill-dev-servers.sh (1 hunks)
  • scripts/restart-dev-basic.sh (1 hunks)
  • scripts/start-dev.sh (1 hunks)

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

"stop-deps:minimal": "POSTGRES_DELAY_MS=0 pnpm run deps-compose:minimal kill && POSTGRES_DELAY_MS=0 pnpm run deps-compose:minimal down -v",
"wait-until-postgres-is-ready:pg_isready": "until pg_isready -h localhost -p 5432; do sleep 1; done",
"wait-until-postgres-is-ready": "command -v pg_isready >/dev/null 2>&1 && pnpm run wait-until-postgres-is-ready:pg_isready || sleep 10 # not everyone has pg_isready installed, so we fallback to sleeping",
"start-deps:no-delay": "pnpm pre && pnpm run deps-compose up --detach --build && pnpm run wait-until-postgres-is-ready && pnpm run db:init && echo \"\\nDependencies started in the background as Docker containers. 'pnpm run stop-deps' to stop them\"n",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Typo detected: The echo command ends with "n" which might be a mistake. Should it be "\n" instead of ""n"?

Suggested change
"start-deps:no-delay": "pnpm pre && pnpm run deps-compose up --detach --build && pnpm run wait-until-postgres-is-ready && pnpm run db:init && echo \"\\nDependencies started in the background as Docker containers. 'pnpm run stop-deps' to stop them\"n",
"start-deps:no-delay": "pnpm pre && pnpm run deps-compose up --detach --build && pnpm run wait-until-postgres-is-ready && pnpm run db:init && echo \"\\nDependencies started in the background as Docker containers. 'pnpm run stop-deps' to stop them\"",

"wait-until-postgres-is-ready": "command -v pg_isready >/dev/null 2>&1 && pnpm run wait-until-postgres-is-ready:pg_isready || sleep 10 # not everyone has pg_isready installed, so we fallback to sleeping",
"start-deps:no-delay": "pnpm pre && pnpm run deps-compose up --detach --build && pnpm run wait-until-postgres-is-ready && pnpm run db:init && echo \"\\nDependencies started in the background as Docker containers. 'pnpm run stop-deps' to stop them\"n",
"start-deps": "POSTGRES_DELAY_MS=${POSTGRES_DELAY_MS:-20} pnpm run start-deps:no-delay",
"start-deps:minimal:no-delay": "pnpm pre && pnpm run deps-compose:minimal up --detach --build && pnpm run wait-until-postgres-is-ready && pnpm run db:init && echo \"\\nMinimal dependencies started (7 containers). 'pnpm run stop-deps:minimal' to stop them\"n",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Typo detected: The echo command ends with "n" which might be a mistake. Consider changing it to "\n" if a newline is intended.

Suggested change
"start-deps:minimal:no-delay": "pnpm pre && pnpm run deps-compose:minimal up --detach --build && pnpm run wait-until-postgres-is-ready && pnpm run db:init && echo \"\\nMinimal dependencies started (7 containers). 'pnpm run stop-deps:minimal' to stop them\"n",
"start-deps:minimal:no-delay": "pnpm pre && pnpm run deps-compose:minimal up --detach --build && pnpm run wait-until-postgres-is-ready && pnpm run db:init && echo \"\\nMinimal dependencies started (7 containers). 'pnpm run stop-deps:minimal' to stop them\\n\","

Copy link

@recurseml recurseml bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review by RecurseML

🔍 Review performed on 017b43f..aa2321b

✨ No bugs found, your code is sparkling clean

✅ Files analyzed, no issues (50)

apps/dashboard/messages/en.json
apps/dashboard/messages/zh.json
apps/dashboard/next.config.mjs
apps/dashboard/package.json
apps/dashboard/src/app/(main)/(protected)/(outside-dashboard)/new-project/page-client.tsx
apps/dashboard/src/app/(main)/(protected)/(outside-dashboard)/projects/page-client.tsx
apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/(overview)/globe.tsx
apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/(overview)/line-chart.tsx
apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/(overview)/metrics-page.tsx
apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/(overview)/setup-page.tsx
apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/api-keys/page-client.tsx
apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/domains/page-client.tsx
apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/email-drafts/page-client.tsx
apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/email-templates/page-client.tsx
apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/email-themes/page-client.tsx
apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/emails/page-client.tsx
apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/payments/transactions/page-client.tsx
apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/project-permissions/page-client.tsx
apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/project-settings/page-client.tsx
apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/sidebar-layout.tsx
apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/team-permissions/page-client.tsx
apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/team-settings/page-client.tsx
apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/teams/page-client.tsx
apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/users/[userId]/page-client.tsx
apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/users/page-client.tsx
apps/dashboard/src/app/(main)/(protected)/projects/[projectId]/webhooks/page-client.tsx
apps/dashboard/src/app/(main)/i18n-test/page.tsx
apps/dashboard/src/app/layout.tsx
apps/dashboard/src/components/data-table/api-key-table.tsx
apps/dashboard/src/components/data-table/payment-item-table.tsx
apps/dashboard/src/components/data-table/payment-product-table.tsx
apps/dashboard/src/components/data-table/permission-table.tsx
apps/dashboard/src/components/data-table/team-member-table.tsx
apps/dashboard/src/components/data-table/team-table.tsx
apps/dashboard/src/components/data-table/transaction-table.tsx
apps/dashboard/src/components/data-table/user-table.tsx
apps/dashboard/src/components/language-switcher.tsx
apps/dashboard/src/components/navbar.tsx
apps/dashboard/src/components/user-dialog.tsx
apps/dashboard/src/i18n/request.ts
apps/dashboard/src/i18n/routing.ts
docker/dependencies/README.md
docker/dependencies/docker.compose.minimal.yaml
package.json
packages/stack-ui/src/components/data-table/data-table.tsx
packages/stack-ui/src/components/data-table/pagination.tsx
packages/stack-ui/src/components/data-table/toolbar.tsx
packages/stack-ui/src/components/data-table/view-options.tsx
pnpm-lock.yaml
scripts/check-docker.sh

⏭️ Files skipped (4)
  Locations  
scripts/fix-docker.sh
scripts/kill-dev-servers.sh
scripts/restart-dev-basic.sh
scripts/start-dev.sh

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants