Skip to content

chore: replace codebase with Next.js version (console-new)#46

Merged
overtrue merged 9 commits intomainfrom
dev-pr
Feb 1, 2026
Merged

chore: replace codebase with Next.js version (console-new)#46
overtrue merged 9 commits intomainfrom
dev-pr

Conversation

@overtrue
Copy link
Copy Markdown
Collaborator

@overtrue overtrue commented Feb 1, 2026

Replace the existing Nuxt/Vue console with the Next.js/React version (console-new). This PR is a full codebase migration: same feature set and i18n structure, new stack (Next.js 16, React 19, App Router) and simplified GitHub templates.

  • Stack: Nuxt 3 + Vue 3 → Next.js 16 + React 19
  • Routing: Vue Router / file-based pages → App Router (app/(auth)/, app/(dashboard)/)
  • State: Composables → React hooks + contexts (e.g. use-bucket, auth-context, s3-context)
  • UI: shadcn-vue → shadcn (Radix) + Tailwind
  • CI: .github/ workflows and templates copied from old project, build workflow adapted for Next.js (.next output); PR/issue templates simplified (no emoji, fewer sections)

Existing main is backed up as backup/main. This PR does not change backup/main or dev.

Type of Change

  • Breaking change (fix or feature that would cause existing functionality to change)
  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Documentation update
  • Code refactoring
  • Performance improvement
  • Test improvements
  • Security fix

Testing

  • Manual testing completed (auth, config, dashboard, browser, buckets, objects, lifecycle, replication, etc.)
  • Unit tests added/updated (to be added in follow-up)
pnpm install
pnpm build
pnpm dev

Checklist

  • Code follows the project's style guidelines
  • Self-review completed
  • TypeScript types are properly defined
  • All commit messages are in English (Conventional Commits)
  • All existing tests pass (test suite to be restored/adapted for Next.js)
  • New dependencies justified (Next.js, React, shadcn, etc. for migration)

Related Issues

Closes #

Screenshots (if applicable)

N/A — same UI/UX as before; layout and flows preserved.

Additional Notes

  • Recovery: Previous Nuxt codebase remains on branch backup/main.
  • Branch strategy: After merge, main will be the Next.js app; dev can be updated from local console-new via git push origin main:dev or by syncing with main.

- Migrate from Nuxt/Vue to Next.js/React
- Same repo, dev-pr branch has shared history with main for PR
Copilot AI review requested due to automatic review settings February 1, 2026 08:03
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR replaces the entire Nuxt 3 + Vue 3 codebase with a Next.js 16 + React 19 implementation while maintaining the same feature set and i18n structure. The migration includes updated GitHub workflows adapted for Next.js builds and simplified PR/issue templates.

Changes:

  • Migrated from Nuxt 3/Vue 3 to Next.js 16/React 19 with App Router
  • Converted Vue components to React/TSX (shadcn-vue → shadcn + Radix)
  • Replaced composables with React hooks and contexts
  • Updated build workflow to output .next instead of .output

Reviewed changes

Copilot reviewed 112 out of 834 changed files in this pull request and generated no comments.

Show a summary per file
File Description
components/object/path-links.vue Removed Vue component for object path navigation
components/object/object-view.tsx Added React component for displaying object details
components/object/object-path-links.tsx Added React breadcrumb navigation for object paths
components/object/object-new-form.tsx Added React form for creating new objects/folders
components/object/object-info.tsx Added React drawer for object info display
components/language-switcher.tsx Converted language selector from Vue to React
components/links/github.tsx Converted GitHub link component to React
components/app-sidebar.tsx Migrated sidebar navigation to React
components/data-table/data-table.tsx Converted data table component to React with TanStack Table
components/dashboard-auth-guard.tsx Added React auth guard for dashboard routes
components/copy-input.tsx Converted copy-to-clipboard input to React
components/access-keys/change-password.tsx Migrated password change dialog to React
components.json Updated shadcn config for React (Radix) instead of Vue
app/layout.tsx Added Next.js root layout with providers
app/(dashboard)/layout.tsx Added dashboard layout with sidebar
app/(dashboard)/browser/page.tsx Migrated bucket browser page to Next.js
app/(auth)/config/page.tsx Added server configuration page
.github/workflows/build.yml Updated CI to build Next.js instead of Nuxt
.github/workflows/release.yml Updated release workflow for .next artifacts
README.md Updated to Next.js quick-start template
.prettierrc.ts Removed Prettier config (no longer needed)

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@overtrue overtrue merged commit 6f1193f into main Feb 1, 2026
6 checks passed
@overtrue overtrue deleted the dev-pr branch February 1, 2026 13:23
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