From 48421c12de39fed929ecae05f311fc63916a9e2d Mon Sep 17 00:00:00 2001 From: ryan Date: Thu, 18 Jun 2026 18:34:20 +0800 Subject: [PATCH] migrate frontend --- .../app/(main)/{openflare => }/about/page.tsx | 2 +- .../components/access-log-filters.tsx | 0 .../components/access-log-utils.ts | 0 .../access-logs/components/cleanup-dialog.tsx | 0 .../{openflare => }/access-logs/page.tsx | 0 .../settings/components/openflare-ops.tsx | 4 +- .../components/log-detail-sheet.tsx | 0 .../apply-logs/page-client.tsx | 2 +- .../{openflare => }/apply-logs/page.tsx | 0 .../dashboard/capacity-trend-chart.tsx | 0 .../components/dashboard/dashboard-utils.ts | 0 .../dashboard/geo-distribution-list.tsx | 0 .../dashboard/node-health-table.tsx | 4 +- .../components/dashboard/stat-cards.tsx | 0 .../dashboard/traffic-trend-chart.tsx | 0 .../components/placeholder-page.tsx | 0 .../components/upgrade-log-panel.tsx | 0 .../components/version-upgrade-dialog.tsx | 2 +- .../components/cleanup-dialog.tsx | 0 .../components/diff-dialog.tsx | 0 .../components/preview-sheet.tsx | 0 .../components/version-snapshot-sheet.tsx | 0 .../{openflare => }/config-versions/page.tsx | 0 Wavelet/frontend/app/(main)/home/page.tsx | 2 +- .../nodes/components/agent-update-dialog.tsx | 0 .../nodes/components/edge-node-detail.tsx | 6 +-- .../nodes/components/install-command.tsx | 0 .../nodes/components/node-editor-dialog.tsx | 0 .../nodes/components/node-observability.tsx | 0 .../nodes/components/node-status-badge.tsx | 0 .../nodes/components/node-type-filter.tsx | 8 +-- .../nodes/components/node-utils.ts | 0 .../nodes/components/nodes-table.tsx | 2 +- .../nodes/components/relay-node-detail.tsx | 6 +-- .../nodes/components/tunnel-node-detail.tsx | 6 +-- .../nodes/detail/page-client.tsx | 2 +- .../{openflare => }/nodes/detail/page.tsx | 0 .../{openflare => }/nodes/page-client.tsx | 2 +- .../app/(main)/{openflare => }/nodes/page.tsx | 0 .../frontend/app/(main)/openflare/layout.tsx | 7 --- .../components/origin-editor-dialog.tsx | 0 .../origins/detail/page-client.tsx | 6 +-- .../{openflare => }/origins/detail/page.tsx | 0 .../(main)/{openflare => }/origins/page.tsx | 2 +- .../app/(main)/{openflare => }/page.tsx | 0 .../components/deployment-upload-dialog.tsx | 0 .../pages/components/pages-utils.ts | 0 .../components/project-editor-dialog.tsx | 0 .../pages/components/project-list-item.tsx | 2 +- .../pages/detail/page-client.tsx | 6 +-- .../{openflare => }/pages/detail/page.tsx | 0 .../app/(main)/{openflare => }/pages/page.tsx | 0 .../components/performance-utils.ts | 0 .../{openflare => }/performance/page.tsx | 2 +- .../proxy-routes/components/helpers.ts | 0 .../components/proxy-route-create-sheet.tsx | 0 .../detail/components/auth-section.tsx | 4 +- .../detail/components/cache-section.tsx | 0 .../detail/components/domain-list-input.tsx | 0 .../detail/components/domain-section.tsx | 0 .../detail/components/limits-section.tsx | 0 .../detail/components/proxy-section.tsx | 0 .../detail/components/route-header.tsx | 4 +- .../detail/components/section-shell.tsx | 0 .../detail/components/waf-section.tsx | 0 .../proxy-routes/detail/helpers.ts | 0 .../detail/hooks/use-route-section-save.ts | 0 .../proxy-routes/detail/page-client.tsx | 2 +- .../proxy-routes/detail/page.tsx | 0 .../proxy-routes/page-client.tsx | 4 +- .../{openflare => }/proxy-routes/page.tsx | 0 .../{openflare => }/waf/components/helpers.ts | 0 .../waf/components/ip-group-dialog.tsx | 0 .../waf/components/ip-group-test-dialog.tsx | 0 .../waf/components/ip-groups-table.tsx | 0 .../waf/components/pow-config-panel.tsx | 0 .../waf/components/rule-entry-dialog.tsx | 0 .../waf/components/rule-group-dialog.tsx | 0 .../waf/components/rule-groups-table.tsx | 0 .../waf/components/rule-list-section.tsx | 0 .../waf/components/site-binding-sheet.tsx | 0 .../{openflare => }/waf/ip-groups/page.tsx | 2 +- .../app/(main)/{openflare => }/waf/page.tsx | 2 +- .../websites/certificates/page.tsx | 4 +- .../components/certificate-apply-dialog.tsx | 0 .../components/certificate-detail-dialog.tsx | 0 .../components/certificate-editor-dialog.tsx | 0 .../components/certificate-import-dialog.tsx | 0 .../components/dns-account-create-dialog.tsx | 0 .../websites/components/schemas.ts | 0 .../websites/components/status-badge.tsx | 0 .../components/website-editor-dialog.tsx | 0 .../websites/components/website-utils.ts | 0 .../websites/detail/page-client.tsx | 8 +-- .../{openflare => }/websites/detail/page.tsx | 0 .../websites/dns-accounts/page.tsx | 4 +- .../(main)/{openflare => }/websites/page.tsx | 6 +-- Wavelet/frontend/app/page.tsx | 15 ------ .../frontend/components/auth/login-page.tsx | 2 +- .../components/auth/register-form.tsx | 2 +- .../components/common/home/home-main.tsx | 2 +- .../components/common/settings/other-tab.tsx | 3 +- .../components/home/footer-section.tsx | 2 +- .../frontend/components/home/hero-section.tsx | 2 +- .../layout/openflare-version-entry.tsx | 5 +- .../frontend/components/layout/sidebar.tsx | 42 ++------------- .../components/providers/title-updater.tsx | 4 +- .../frontend/lib/navigation/openflare-nav.ts | 54 ++++++++++++------- Wavelet/frontend/lib/utils.ts | 2 +- Wavelet/frontend/lib/utils/search-data.ts | 10 ++-- Wavelet/frontend/next.config.ts | 7 +++ Wavelet/frontend/package.json | 2 +- docs/changelog/index.md | 1 + 113 files changed, 116 insertions(+), 152 deletions(-) rename Wavelet/frontend/app/(main)/{openflare => }/about/page.tsx (98%) rename Wavelet/frontend/app/(main)/{openflare => }/access-logs/components/access-log-filters.tsx (100%) rename Wavelet/frontend/app/(main)/{openflare => }/access-logs/components/access-log-utils.ts (100%) rename Wavelet/frontend/app/(main)/{openflare => }/access-logs/components/cleanup-dialog.tsx (100%) rename Wavelet/frontend/app/(main)/{openflare => }/access-logs/page.tsx (100%) rename Wavelet/frontend/app/(main)/{openflare => }/apply-logs/components/log-detail-sheet.tsx (100%) rename Wavelet/frontend/app/(main)/{openflare => }/apply-logs/page-client.tsx (99%) rename Wavelet/frontend/app/(main)/{openflare => }/apply-logs/page.tsx (100%) rename Wavelet/frontend/app/(main)/{openflare => }/components/dashboard/capacity-trend-chart.tsx (100%) rename Wavelet/frontend/app/(main)/{openflare => }/components/dashboard/dashboard-utils.ts (100%) rename Wavelet/frontend/app/(main)/{openflare => }/components/dashboard/geo-distribution-list.tsx (100%) rename Wavelet/frontend/app/(main)/{openflare => }/components/dashboard/node-health-table.tsx (97%) rename Wavelet/frontend/app/(main)/{openflare => }/components/dashboard/stat-cards.tsx (100%) rename Wavelet/frontend/app/(main)/{openflare => }/components/dashboard/traffic-trend-chart.tsx (100%) rename Wavelet/frontend/app/(main)/{openflare => }/components/placeholder-page.tsx (100%) rename Wavelet/frontend/app/(main)/{openflare => }/components/upgrade-log-panel.tsx (100%) rename Wavelet/frontend/app/(main)/{openflare => }/components/version-upgrade-dialog.tsx (99%) rename Wavelet/frontend/app/(main)/{openflare => }/config-versions/components/cleanup-dialog.tsx (100%) rename Wavelet/frontend/app/(main)/{openflare => }/config-versions/components/diff-dialog.tsx (100%) rename Wavelet/frontend/app/(main)/{openflare => }/config-versions/components/preview-sheet.tsx (100%) rename Wavelet/frontend/app/(main)/{openflare => }/config-versions/components/version-snapshot-sheet.tsx (100%) rename Wavelet/frontend/app/(main)/{openflare => }/config-versions/page.tsx (100%) rename Wavelet/frontend/app/(main)/{openflare => }/nodes/components/agent-update-dialog.tsx (100%) rename Wavelet/frontend/app/(main)/{openflare => }/nodes/components/edge-node-detail.tsx (98%) rename Wavelet/frontend/app/(main)/{openflare => }/nodes/components/install-command.tsx (100%) rename Wavelet/frontend/app/(main)/{openflare => }/nodes/components/node-editor-dialog.tsx (100%) rename Wavelet/frontend/app/(main)/{openflare => }/nodes/components/node-observability.tsx (100%) rename Wavelet/frontend/app/(main)/{openflare => }/nodes/components/node-status-badge.tsx (100%) rename Wavelet/frontend/app/(main)/{openflare => }/nodes/components/node-type-filter.tsx (87%) rename Wavelet/frontend/app/(main)/{openflare => }/nodes/components/node-utils.ts (100%) rename Wavelet/frontend/app/(main)/{openflare => }/nodes/components/nodes-table.tsx (98%) rename Wavelet/frontend/app/(main)/{openflare => }/nodes/components/relay-node-detail.tsx (98%) rename Wavelet/frontend/app/(main)/{openflare => }/nodes/components/tunnel-node-detail.tsx (98%) rename Wavelet/frontend/app/(main)/{openflare => }/nodes/detail/page-client.tsx (98%) rename Wavelet/frontend/app/(main)/{openflare => }/nodes/detail/page.tsx (100%) rename Wavelet/frontend/app/(main)/{openflare => }/nodes/page-client.tsx (99%) rename Wavelet/frontend/app/(main)/{openflare => }/nodes/page.tsx (100%) delete mode 100644 Wavelet/frontend/app/(main)/openflare/layout.tsx rename Wavelet/frontend/app/(main)/{openflare => }/origins/components/origin-editor-dialog.tsx (100%) rename Wavelet/frontend/app/(main)/{openflare => }/origins/detail/page-client.tsx (98%) rename Wavelet/frontend/app/(main)/{openflare => }/origins/detail/page.tsx (100%) rename Wavelet/frontend/app/(main)/{openflare => }/origins/page.tsx (98%) rename Wavelet/frontend/app/(main)/{openflare => }/page.tsx (100%) rename Wavelet/frontend/app/(main)/{openflare => }/pages/components/deployment-upload-dialog.tsx (100%) rename Wavelet/frontend/app/(main)/{openflare => }/pages/components/pages-utils.ts (100%) rename Wavelet/frontend/app/(main)/{openflare => }/pages/components/project-editor-dialog.tsx (100%) rename Wavelet/frontend/app/(main)/{openflare => }/pages/components/project-list-item.tsx (97%) rename Wavelet/frontend/app/(main)/{openflare => }/pages/detail/page-client.tsx (99%) rename Wavelet/frontend/app/(main)/{openflare => }/pages/detail/page.tsx (100%) rename Wavelet/frontend/app/(main)/{openflare => }/pages/page.tsx (100%) rename Wavelet/frontend/app/(main)/{openflare => }/performance/components/performance-utils.ts (100%) rename Wavelet/frontend/app/(main)/{openflare => }/performance/page.tsx (99%) rename Wavelet/frontend/app/(main)/{openflare => }/proxy-routes/components/helpers.ts (100%) rename Wavelet/frontend/app/(main)/{openflare => }/proxy-routes/components/proxy-route-create-sheet.tsx (100%) rename Wavelet/frontend/app/(main)/{openflare => }/proxy-routes/detail/components/auth-section.tsx (98%) rename Wavelet/frontend/app/(main)/{openflare => }/proxy-routes/detail/components/cache-section.tsx (100%) rename Wavelet/frontend/app/(main)/{openflare => }/proxy-routes/detail/components/domain-list-input.tsx (100%) rename Wavelet/frontend/app/(main)/{openflare => }/proxy-routes/detail/components/domain-section.tsx (100%) rename Wavelet/frontend/app/(main)/{openflare => }/proxy-routes/detail/components/limits-section.tsx (100%) rename Wavelet/frontend/app/(main)/{openflare => }/proxy-routes/detail/components/proxy-section.tsx (100%) rename Wavelet/frontend/app/(main)/{openflare => }/proxy-routes/detail/components/route-header.tsx (97%) rename Wavelet/frontend/app/(main)/{openflare => }/proxy-routes/detail/components/section-shell.tsx (100%) rename Wavelet/frontend/app/(main)/{openflare => }/proxy-routes/detail/components/waf-section.tsx (100%) rename Wavelet/frontend/app/(main)/{openflare => }/proxy-routes/detail/helpers.ts (100%) rename Wavelet/frontend/app/(main)/{openflare => }/proxy-routes/detail/hooks/use-route-section-save.ts (100%) rename Wavelet/frontend/app/(main)/{openflare => }/proxy-routes/detail/page-client.tsx (98%) rename Wavelet/frontend/app/(main)/{openflare => }/proxy-routes/detail/page.tsx (100%) rename Wavelet/frontend/app/(main)/{openflare => }/proxy-routes/page-client.tsx (98%) rename Wavelet/frontend/app/(main)/{openflare => }/proxy-routes/page.tsx (100%) rename Wavelet/frontend/app/(main)/{openflare => }/waf/components/helpers.ts (100%) rename Wavelet/frontend/app/(main)/{openflare => }/waf/components/ip-group-dialog.tsx (100%) rename Wavelet/frontend/app/(main)/{openflare => }/waf/components/ip-group-test-dialog.tsx (100%) rename Wavelet/frontend/app/(main)/{openflare => }/waf/components/ip-groups-table.tsx (100%) rename Wavelet/frontend/app/(main)/{openflare => }/waf/components/pow-config-panel.tsx (100%) rename Wavelet/frontend/app/(main)/{openflare => }/waf/components/rule-entry-dialog.tsx (100%) rename Wavelet/frontend/app/(main)/{openflare => }/waf/components/rule-group-dialog.tsx (100%) rename Wavelet/frontend/app/(main)/{openflare => }/waf/components/rule-groups-table.tsx (100%) rename Wavelet/frontend/app/(main)/{openflare => }/waf/components/rule-list-section.tsx (100%) rename Wavelet/frontend/app/(main)/{openflare => }/waf/components/site-binding-sheet.tsx (100%) rename Wavelet/frontend/app/(main)/{openflare => }/waf/ip-groups/page.tsx (99%) rename Wavelet/frontend/app/(main)/{openflare => }/waf/page.tsx (99%) rename Wavelet/frontend/app/(main)/{openflare => }/websites/certificates/page.tsx (98%) rename Wavelet/frontend/app/(main)/{openflare => }/websites/components/certificate-apply-dialog.tsx (100%) rename Wavelet/frontend/app/(main)/{openflare => }/websites/components/certificate-detail-dialog.tsx (100%) rename Wavelet/frontend/app/(main)/{openflare => }/websites/components/certificate-editor-dialog.tsx (100%) rename Wavelet/frontend/app/(main)/{openflare => }/websites/components/certificate-import-dialog.tsx (100%) rename Wavelet/frontend/app/(main)/{openflare => }/websites/components/dns-account-create-dialog.tsx (100%) rename Wavelet/frontend/app/(main)/{openflare => }/websites/components/schemas.ts (100%) rename Wavelet/frontend/app/(main)/{openflare => }/websites/components/status-badge.tsx (100%) rename Wavelet/frontend/app/(main)/{openflare => }/websites/components/website-editor-dialog.tsx (100%) rename Wavelet/frontend/app/(main)/{openflare => }/websites/components/website-utils.ts (100%) rename Wavelet/frontend/app/(main)/{openflare => }/websites/detail/page-client.tsx (98%) rename Wavelet/frontend/app/(main)/{openflare => }/websites/detail/page.tsx (100%) rename Wavelet/frontend/app/(main)/{openflare => }/websites/dns-accounts/page.tsx (97%) rename Wavelet/frontend/app/(main)/{openflare => }/websites/page.tsx (97%) delete mode 100644 Wavelet/frontend/app/page.tsx diff --git a/Wavelet/frontend/app/(main)/openflare/about/page.tsx b/Wavelet/frontend/app/(main)/about/page.tsx similarity index 98% rename from Wavelet/frontend/app/(main)/openflare/about/page.tsx rename to Wavelet/frontend/app/(main)/about/page.tsx index f81c08fb..632d5f22 100644 --- a/Wavelet/frontend/app/(main)/openflare/about/page.tsx +++ b/Wavelet/frontend/app/(main)/about/page.tsx @@ -194,7 +194,7 @@ export default function AboutPage() { )}
- + 返回总览
diff --git a/Wavelet/frontend/app/(main)/openflare/access-logs/components/access-log-filters.tsx b/Wavelet/frontend/app/(main)/access-logs/components/access-log-filters.tsx similarity index 100% rename from Wavelet/frontend/app/(main)/openflare/access-logs/components/access-log-filters.tsx rename to Wavelet/frontend/app/(main)/access-logs/components/access-log-filters.tsx diff --git a/Wavelet/frontend/app/(main)/openflare/access-logs/components/access-log-utils.ts b/Wavelet/frontend/app/(main)/access-logs/components/access-log-utils.ts similarity index 100% rename from Wavelet/frontend/app/(main)/openflare/access-logs/components/access-log-utils.ts rename to Wavelet/frontend/app/(main)/access-logs/components/access-log-utils.ts diff --git a/Wavelet/frontend/app/(main)/openflare/access-logs/components/cleanup-dialog.tsx b/Wavelet/frontend/app/(main)/access-logs/components/cleanup-dialog.tsx similarity index 100% rename from Wavelet/frontend/app/(main)/openflare/access-logs/components/cleanup-dialog.tsx rename to Wavelet/frontend/app/(main)/access-logs/components/cleanup-dialog.tsx diff --git a/Wavelet/frontend/app/(main)/openflare/access-logs/page.tsx b/Wavelet/frontend/app/(main)/access-logs/page.tsx similarity index 100% rename from Wavelet/frontend/app/(main)/openflare/access-logs/page.tsx rename to Wavelet/frontend/app/(main)/access-logs/page.tsx diff --git a/Wavelet/frontend/app/(main)/admin/settings/components/openflare-ops.tsx b/Wavelet/frontend/app/(main)/admin/settings/components/openflare-ops.tsx index eeb700ad..21834f2a 100644 --- a/Wavelet/frontend/app/(main)/admin/settings/components/openflare-ops.tsx +++ b/Wavelet/frontend/app/(main)/admin/settings/components/openflare-ops.tsx @@ -28,7 +28,7 @@ import {ErrorInline} from "@/components/layout/error" import {LoadingStateWithBorder} from "@/components/layout/loading" import type {DatabaseCleanupTarget} from "@/lib/services/openflare" import {NodeService, OptionService, StatusService, UpdateService, UptimeKumaService,} from "@/lib/services/openflare" -import {VersionUpgradeDialog} from "@/app/(main)/openflare/components/version-upgrade-dialog" +import {VersionUpgradeDialog} from "@/app/(main)/components/version-upgrade-dialog" import {openflareLatestReleaseQueryKey, openflarePublicStatusQueryKey,} from "@/lib/hooks/use-openflare-server-upgrade" import { @@ -364,7 +364,7 @@ export function OpenFlareOpsSettings() {
diff --git a/Wavelet/frontend/app/(main)/openflare/apply-logs/page.tsx b/Wavelet/frontend/app/(main)/apply-logs/page.tsx similarity index 100% rename from Wavelet/frontend/app/(main)/openflare/apply-logs/page.tsx rename to Wavelet/frontend/app/(main)/apply-logs/page.tsx diff --git a/Wavelet/frontend/app/(main)/openflare/components/dashboard/capacity-trend-chart.tsx b/Wavelet/frontend/app/(main)/components/dashboard/capacity-trend-chart.tsx similarity index 100% rename from Wavelet/frontend/app/(main)/openflare/components/dashboard/capacity-trend-chart.tsx rename to Wavelet/frontend/app/(main)/components/dashboard/capacity-trend-chart.tsx diff --git a/Wavelet/frontend/app/(main)/openflare/components/dashboard/dashboard-utils.ts b/Wavelet/frontend/app/(main)/components/dashboard/dashboard-utils.ts similarity index 100% rename from Wavelet/frontend/app/(main)/openflare/components/dashboard/dashboard-utils.ts rename to Wavelet/frontend/app/(main)/components/dashboard/dashboard-utils.ts diff --git a/Wavelet/frontend/app/(main)/openflare/components/dashboard/geo-distribution-list.tsx b/Wavelet/frontend/app/(main)/components/dashboard/geo-distribution-list.tsx similarity index 100% rename from Wavelet/frontend/app/(main)/openflare/components/dashboard/geo-distribution-list.tsx rename to Wavelet/frontend/app/(main)/components/dashboard/geo-distribution-list.tsx diff --git a/Wavelet/frontend/app/(main)/openflare/components/dashboard/node-health-table.tsx b/Wavelet/frontend/app/(main)/components/dashboard/node-health-table.tsx similarity index 97% rename from Wavelet/frontend/app/(main)/openflare/components/dashboard/node-health-table.tsx rename to Wavelet/frontend/app/(main)/components/dashboard/node-health-table.tsx index 058dcc14..7e6c45f1 100644 --- a/Wavelet/frontend/app/(main)/openflare/components/dashboard/node-health-table.tsx +++ b/Wavelet/frontend/app/(main)/components/dashboard/node-health-table.tsx @@ -47,7 +47,7 @@ export function NodeHealthTable({ nodes }: { nodes: DashboardNodeHealth[] }) { @@ -117,7 +117,7 @@ export function NodeHealthTable({ nodes }: { nodes: DashboardNodeHealth[] }) { diff --git a/Wavelet/frontend/app/(main)/openflare/components/dashboard/stat-cards.tsx b/Wavelet/frontend/app/(main)/components/dashboard/stat-cards.tsx similarity index 100% rename from Wavelet/frontend/app/(main)/openflare/components/dashboard/stat-cards.tsx rename to Wavelet/frontend/app/(main)/components/dashboard/stat-cards.tsx diff --git a/Wavelet/frontend/app/(main)/openflare/components/dashboard/traffic-trend-chart.tsx b/Wavelet/frontend/app/(main)/components/dashboard/traffic-trend-chart.tsx similarity index 100% rename from Wavelet/frontend/app/(main)/openflare/components/dashboard/traffic-trend-chart.tsx rename to Wavelet/frontend/app/(main)/components/dashboard/traffic-trend-chart.tsx diff --git a/Wavelet/frontend/app/(main)/openflare/components/placeholder-page.tsx b/Wavelet/frontend/app/(main)/components/placeholder-page.tsx similarity index 100% rename from Wavelet/frontend/app/(main)/openflare/components/placeholder-page.tsx rename to Wavelet/frontend/app/(main)/components/placeholder-page.tsx diff --git a/Wavelet/frontend/app/(main)/openflare/components/upgrade-log-panel.tsx b/Wavelet/frontend/app/(main)/components/upgrade-log-panel.tsx similarity index 100% rename from Wavelet/frontend/app/(main)/openflare/components/upgrade-log-panel.tsx rename to Wavelet/frontend/app/(main)/components/upgrade-log-panel.tsx diff --git a/Wavelet/frontend/app/(main)/openflare/components/version-upgrade-dialog.tsx b/Wavelet/frontend/app/(main)/components/version-upgrade-dialog.tsx similarity index 99% rename from Wavelet/frontend/app/(main)/openflare/components/version-upgrade-dialog.tsx rename to Wavelet/frontend/app/(main)/components/version-upgrade-dialog.tsx index 610e1a04..1d2674ac 100644 --- a/Wavelet/frontend/app/(main)/openflare/components/version-upgrade-dialog.tsx +++ b/Wavelet/frontend/app/(main)/components/version-upgrade-dialog.tsx @@ -16,7 +16,7 @@ import {Tabs, TabsContent, TabsList, TabsTrigger} from '@/components/ui/tabs'; import {useOpenFlareServerUpgrade} from '@/lib/hooks/use-openflare-server-upgrade'; import type {LatestReleaseInfo, ReleaseChannel} from '@/lib/services/openflare'; import {formatDateTime} from '@/lib/utils'; -import {formatRelativeTime} from '@/app/(main)/openflare/nodes/components/node-utils'; +import {formatRelativeTime} from '@/app/(main)/nodes/components/node-utils'; import {UpgradeLogPanel} from './upgrade-log-panel'; diff --git a/Wavelet/frontend/app/(main)/openflare/config-versions/components/cleanup-dialog.tsx b/Wavelet/frontend/app/(main)/config-versions/components/cleanup-dialog.tsx similarity index 100% rename from Wavelet/frontend/app/(main)/openflare/config-versions/components/cleanup-dialog.tsx rename to Wavelet/frontend/app/(main)/config-versions/components/cleanup-dialog.tsx diff --git a/Wavelet/frontend/app/(main)/openflare/config-versions/components/diff-dialog.tsx b/Wavelet/frontend/app/(main)/config-versions/components/diff-dialog.tsx similarity index 100% rename from Wavelet/frontend/app/(main)/openflare/config-versions/components/diff-dialog.tsx rename to Wavelet/frontend/app/(main)/config-versions/components/diff-dialog.tsx diff --git a/Wavelet/frontend/app/(main)/openflare/config-versions/components/preview-sheet.tsx b/Wavelet/frontend/app/(main)/config-versions/components/preview-sheet.tsx similarity index 100% rename from Wavelet/frontend/app/(main)/openflare/config-versions/components/preview-sheet.tsx rename to Wavelet/frontend/app/(main)/config-versions/components/preview-sheet.tsx diff --git a/Wavelet/frontend/app/(main)/openflare/config-versions/components/version-snapshot-sheet.tsx b/Wavelet/frontend/app/(main)/config-versions/components/version-snapshot-sheet.tsx similarity index 100% rename from Wavelet/frontend/app/(main)/openflare/config-versions/components/version-snapshot-sheet.tsx rename to Wavelet/frontend/app/(main)/config-versions/components/version-snapshot-sheet.tsx diff --git a/Wavelet/frontend/app/(main)/openflare/config-versions/page.tsx b/Wavelet/frontend/app/(main)/config-versions/page.tsx similarity index 100% rename from Wavelet/frontend/app/(main)/openflare/config-versions/page.tsx rename to Wavelet/frontend/app/(main)/config-versions/page.tsx diff --git a/Wavelet/frontend/app/(main)/home/page.tsx b/Wavelet/frontend/app/(main)/home/page.tsx index d63ce04f..99ce96c4 100644 --- a/Wavelet/frontend/app/(main)/home/page.tsx +++ b/Wavelet/frontend/app/(main)/home/page.tsx @@ -1,5 +1,5 @@ import {redirect} from "next/navigation" export default function HomePage() { - redirect("/openflare") + redirect("/") } diff --git a/Wavelet/frontend/app/(main)/openflare/nodes/components/agent-update-dialog.tsx b/Wavelet/frontend/app/(main)/nodes/components/agent-update-dialog.tsx similarity index 100% rename from Wavelet/frontend/app/(main)/openflare/nodes/components/agent-update-dialog.tsx rename to Wavelet/frontend/app/(main)/nodes/components/agent-update-dialog.tsx diff --git a/Wavelet/frontend/app/(main)/openflare/nodes/components/edge-node-detail.tsx b/Wavelet/frontend/app/(main)/nodes/components/edge-node-detail.tsx similarity index 98% rename from Wavelet/frontend/app/(main)/openflare/nodes/components/edge-node-detail.tsx rename to Wavelet/frontend/app/(main)/nodes/components/edge-node-detail.tsx index cfcfb97e..3a7fe261 100644 --- a/Wavelet/frontend/app/(main)/openflare/nodes/components/edge-node-detail.tsx +++ b/Wavelet/frontend/app/(main)/nodes/components/edge-node-detail.tsx @@ -109,7 +109,7 @@ export function EdgeNodeDetail({ node }: { node: NodeItem }) { onSuccess: async () => { toast.success('节点已删除'); await queryClient.invalidateQueries({ queryKey: nodesQueryKey }); - router.push('/openflare/nodes'); + router.push('/nodes'); }, onError: (error) => toast.error(getErrorMessage(error)), }); @@ -133,7 +133,7 @@ export function EdgeNodeDetail({ node }: { node: NodeItem }) {
@@ -295,7 +295,7 @@ export function EdgeNodeDetail({ node }: { node: NodeItem }) { 来自 observability 接口的最近上报
@@ -295,7 +295,7 @@ export function RelayNodeDetail({ node }: { node: NodeItem }) { 控制 frps 内置 Web 管理界面是否启用
@@ -265,7 +265,7 @@ export function TunnelNodeDetail({ node }: { node: NodeItem }) { 配置追平与应用结果 diff --git a/Wavelet/frontend/app/(main)/openflare/page.tsx b/Wavelet/frontend/app/(main)/page.tsx similarity index 100% rename from Wavelet/frontend/app/(main)/openflare/page.tsx rename to Wavelet/frontend/app/(main)/page.tsx diff --git a/Wavelet/frontend/app/(main)/openflare/pages/components/deployment-upload-dialog.tsx b/Wavelet/frontend/app/(main)/pages/components/deployment-upload-dialog.tsx similarity index 100% rename from Wavelet/frontend/app/(main)/openflare/pages/components/deployment-upload-dialog.tsx rename to Wavelet/frontend/app/(main)/pages/components/deployment-upload-dialog.tsx diff --git a/Wavelet/frontend/app/(main)/openflare/pages/components/pages-utils.ts b/Wavelet/frontend/app/(main)/pages/components/pages-utils.ts similarity index 100% rename from Wavelet/frontend/app/(main)/openflare/pages/components/pages-utils.ts rename to Wavelet/frontend/app/(main)/pages/components/pages-utils.ts diff --git a/Wavelet/frontend/app/(main)/openflare/pages/components/project-editor-dialog.tsx b/Wavelet/frontend/app/(main)/pages/components/project-editor-dialog.tsx similarity index 100% rename from Wavelet/frontend/app/(main)/openflare/pages/components/project-editor-dialog.tsx rename to Wavelet/frontend/app/(main)/pages/components/project-editor-dialog.tsx diff --git a/Wavelet/frontend/app/(main)/openflare/pages/components/project-list-item.tsx b/Wavelet/frontend/app/(main)/pages/components/project-list-item.tsx similarity index 97% rename from Wavelet/frontend/app/(main)/openflare/pages/components/project-list-item.tsx rename to Wavelet/frontend/app/(main)/pages/components/project-list-item.tsx index 795ae76b..a0dea090 100644 --- a/Wavelet/frontend/app/(main)/openflare/pages/components/project-list-item.tsx +++ b/Wavelet/frontend/app/(main)/pages/components/project-list-item.tsx @@ -14,7 +14,7 @@ interface ProjectListItemProps { export function ProjectListItem({ project }: ProjectListItemProps) { return (
diff --git a/Wavelet/frontend/app/(main)/openflare/pages/detail/page-client.tsx b/Wavelet/frontend/app/(main)/pages/detail/page-client.tsx similarity index 99% rename from Wavelet/frontend/app/(main)/openflare/pages/detail/page-client.tsx rename to Wavelet/frontend/app/(main)/pages/detail/page-client.tsx index faec45ce..2ee4eece 100644 --- a/Wavelet/frontend/app/(main)/openflare/pages/detail/page-client.tsx +++ b/Wavelet/frontend/app/(main)/pages/detail/page-client.tsx @@ -157,7 +157,7 @@ export function PagesDetailPageClient() { onSuccess: async () => { toast.success("项目已删除") await queryClient.invalidateQueries({ queryKey: projectsQueryKey }) - window.location.href = "/openflare/pages" + window.location.href = "/pages" }, onError: (error) => { toast.error(error instanceof Error ? error.message : "删除失败") @@ -202,7 +202,7 @@ export function PagesDetailPageClient() { return (
@@ -212,7 +212,7 @@ export function ProxyRoutesPageClient() { onCreated={(route) => { toast.success('网站已创建'); void fetchRoutes(); - router.push(`/openflare/proxy-routes/detail?id=${route.id}§ion=domains`); + router.push(`/proxy-routes/detail?id=${route.id}§ion=domains`); }} /> diff --git a/Wavelet/frontend/app/(main)/openflare/proxy-routes/page.tsx b/Wavelet/frontend/app/(main)/proxy-routes/page.tsx similarity index 100% rename from Wavelet/frontend/app/(main)/openflare/proxy-routes/page.tsx rename to Wavelet/frontend/app/(main)/proxy-routes/page.tsx diff --git a/Wavelet/frontend/app/(main)/openflare/waf/components/helpers.ts b/Wavelet/frontend/app/(main)/waf/components/helpers.ts similarity index 100% rename from Wavelet/frontend/app/(main)/openflare/waf/components/helpers.ts rename to Wavelet/frontend/app/(main)/waf/components/helpers.ts diff --git a/Wavelet/frontend/app/(main)/openflare/waf/components/ip-group-dialog.tsx b/Wavelet/frontend/app/(main)/waf/components/ip-group-dialog.tsx similarity index 100% rename from Wavelet/frontend/app/(main)/openflare/waf/components/ip-group-dialog.tsx rename to Wavelet/frontend/app/(main)/waf/components/ip-group-dialog.tsx diff --git a/Wavelet/frontend/app/(main)/openflare/waf/components/ip-group-test-dialog.tsx b/Wavelet/frontend/app/(main)/waf/components/ip-group-test-dialog.tsx similarity index 100% rename from Wavelet/frontend/app/(main)/openflare/waf/components/ip-group-test-dialog.tsx rename to Wavelet/frontend/app/(main)/waf/components/ip-group-test-dialog.tsx diff --git a/Wavelet/frontend/app/(main)/openflare/waf/components/ip-groups-table.tsx b/Wavelet/frontend/app/(main)/waf/components/ip-groups-table.tsx similarity index 100% rename from Wavelet/frontend/app/(main)/openflare/waf/components/ip-groups-table.tsx rename to Wavelet/frontend/app/(main)/waf/components/ip-groups-table.tsx diff --git a/Wavelet/frontend/app/(main)/openflare/waf/components/pow-config-panel.tsx b/Wavelet/frontend/app/(main)/waf/components/pow-config-panel.tsx similarity index 100% rename from Wavelet/frontend/app/(main)/openflare/waf/components/pow-config-panel.tsx rename to Wavelet/frontend/app/(main)/waf/components/pow-config-panel.tsx diff --git a/Wavelet/frontend/app/(main)/openflare/waf/components/rule-entry-dialog.tsx b/Wavelet/frontend/app/(main)/waf/components/rule-entry-dialog.tsx similarity index 100% rename from Wavelet/frontend/app/(main)/openflare/waf/components/rule-entry-dialog.tsx rename to Wavelet/frontend/app/(main)/waf/components/rule-entry-dialog.tsx diff --git a/Wavelet/frontend/app/(main)/openflare/waf/components/rule-group-dialog.tsx b/Wavelet/frontend/app/(main)/waf/components/rule-group-dialog.tsx similarity index 100% rename from Wavelet/frontend/app/(main)/openflare/waf/components/rule-group-dialog.tsx rename to Wavelet/frontend/app/(main)/waf/components/rule-group-dialog.tsx diff --git a/Wavelet/frontend/app/(main)/openflare/waf/components/rule-groups-table.tsx b/Wavelet/frontend/app/(main)/waf/components/rule-groups-table.tsx similarity index 100% rename from Wavelet/frontend/app/(main)/openflare/waf/components/rule-groups-table.tsx rename to Wavelet/frontend/app/(main)/waf/components/rule-groups-table.tsx diff --git a/Wavelet/frontend/app/(main)/openflare/waf/components/rule-list-section.tsx b/Wavelet/frontend/app/(main)/waf/components/rule-list-section.tsx similarity index 100% rename from Wavelet/frontend/app/(main)/openflare/waf/components/rule-list-section.tsx rename to Wavelet/frontend/app/(main)/waf/components/rule-list-section.tsx diff --git a/Wavelet/frontend/app/(main)/openflare/waf/components/site-binding-sheet.tsx b/Wavelet/frontend/app/(main)/waf/components/site-binding-sheet.tsx similarity index 100% rename from Wavelet/frontend/app/(main)/openflare/waf/components/site-binding-sheet.tsx rename to Wavelet/frontend/app/(main)/waf/components/site-binding-sheet.tsx diff --git a/Wavelet/frontend/app/(main)/openflare/waf/ip-groups/page.tsx b/Wavelet/frontend/app/(main)/waf/ip-groups/page.tsx similarity index 99% rename from Wavelet/frontend/app/(main)/openflare/waf/ip-groups/page.tsx rename to Wavelet/frontend/app/(main)/waf/ip-groups/page.tsx index 985e6e55..21ecb594 100644 --- a/Wavelet/frontend/app/(main)/openflare/waf/ip-groups/page.tsx +++ b/Wavelet/frontend/app/(main)/waf/ip-groups/page.tsx @@ -158,7 +158,7 @@ export default function WafIPGroupsPage() {
diff --git a/Wavelet/frontend/app/page.tsx b/Wavelet/frontend/app/page.tsx deleted file mode 100644 index 1a383e32..00000000 --- a/Wavelet/frontend/app/page.tsx +++ /dev/null @@ -1,15 +0,0 @@ -"use client"; - -import { HeroSection } from "@/components/home/hero-section"; -import { DeveloperSection } from "@/components/home/developer-section"; -import { FooterSection } from "@/components/home/footer-section"; - -export default function HomePage() { - return ( -
- - - -
- ) -} diff --git a/Wavelet/frontend/components/auth/login-page.tsx b/Wavelet/frontend/components/auth/login-page.tsx index 11fe7b09..c1320b4f 100644 --- a/Wavelet/frontend/components/auth/login-page.tsx +++ b/Wavelet/frontend/components/auth/login-page.tsx @@ -42,7 +42,7 @@ export function LoginPage() { const resolveRedirectTarget = useCallback(() => { const callbackUrl = searchParams.get('callbackUrl') const storedRedirect = sessionStorage.getItem('redirect_after_login') - const target = callbackUrl || storedRedirect || '/home' + const target = callbackUrl || storedRedirect || '/' if (storedRedirect) { sessionStorage.removeItem('redirect_after_login') diff --git a/Wavelet/frontend/components/auth/register-form.tsx b/Wavelet/frontend/components/auth/register-form.tsx index d5112c98..10389a0f 100644 --- a/Wavelet/frontend/components/auth/register-form.tsx +++ b/Wavelet/frontend/components/auth/register-form.tsx @@ -24,7 +24,7 @@ function getRedirectTarget(searchParams: ReturnType) { typeof window === "undefined" ? null : sessionStorage.getItem("redirect_after_login") - return safeRedirectTarget(callbackUrl || storedRedirect || "/home") + return safeRedirectTarget(callbackUrl || storedRedirect || "/") } diff --git a/Wavelet/frontend/components/common/home/home-main.tsx b/Wavelet/frontend/components/common/home/home-main.tsx index 7f95aebb..42306f60 100644 --- a/Wavelet/frontend/components/common/home/home-main.tsx +++ b/Wavelet/frontend/components/common/home/home-main.tsx @@ -116,7 +116,7 @@ export function HomeMain() { className="bg-indigo-600 hover:bg-indigo-700 text-xs font-semibold px-4 shadow-sm h-7" asChild > - 开始使用 + 开始使用
diff --git a/Wavelet/frontend/components/home/hero-section.tsx b/Wavelet/frontend/components/home/hero-section.tsx index 1f0c3be7..a4220252 100644 --- a/Wavelet/frontend/components/home/hero-section.tsx +++ b/Wavelet/frontend/components/home/hero-section.tsx @@ -62,7 +62,7 @@ export const HeroSection = React.memo(function HeroSection({ className }: HeroSe transition={{ duration: 0.6, delay: 0.3, ease: [0.16, 1, 0.3, 1] }} className="flex flex-col sm:flex-row items-center gap-4" > - +