feat: Add WordPress button, settings navigation, and placeholder pages

This commit is contained in:
dwindown
2025-11-05 10:27:16 +07:00
parent 7c24602965
commit 12e982b3e5
6 changed files with 122 additions and 19 deletions

View File

@@ -187,6 +187,9 @@ function useIsDesktop(minWidth = 1024) { // lg breakpoint
}
import SettingsIndex from '@/routes/Settings';
import SettingsGeneral from '@/routes/Settings/General';
import SettingsPayments from '@/routes/Settings/Payments';
import SettingsShipping from '@/routes/Settings/Shipping';
function SettingsRedirect() {
return <SettingsIndex />;
@@ -279,13 +282,22 @@ function Header({ onFullscreen, fullscreen, showToggle = true }: { onFullscreen:
<div className="flex items-center gap-3">
<div className="text-sm opacity-70 hidden sm:block">{window.WNW_API?.isDev ? 'Dev Server' : 'Production'}</div>
{isStandalone && (
<button
onClick={handleLogout}
className="inline-flex items-center gap-2 border rounded-md px-3 py-2 text-sm hover:bg-accent hover:text-accent-foreground"
title="Logout"
>
<span>{__('Logout')}</span>
</button>
<>
<a
href={window.WNW_CONFIG?.wpAdminUrl || '/wp-admin'}
className="inline-flex items-center gap-2 border rounded-md px-3 py-2 text-sm hover:bg-accent hover:text-accent-foreground"
title="Go to WordPress Admin"
>
<span>{__('WordPress')}</span>
</a>
<button
onClick={handleLogout}
className="inline-flex items-center gap-2 border rounded-md px-3 py-2 text-sm hover:bg-accent hover:text-accent-foreground"
title="Logout"
>
<span>{__('Logout')}</span>
</button>
</>
)}
{showToggle && (
<button
@@ -346,8 +358,15 @@ function AppRoutes() {
{/* Customers */}
<Route path="/customers" element={<CustomersIndex />} />
{/* Settings (SPA placeholder) */}
<Route path="/settings/*" element={<SettingsRedirect />} />
{/* Settings */}
<Route path="/settings" element={<SettingsIndex />} />
<Route path="/settings/general" element={<SettingsGeneral />} />
<Route path="/settings/payments" element={<SettingsPayments />} />
<Route path="/settings/shipping" element={<SettingsShipping />} />
<Route path="/settings/products" element={<SettingsIndex />} />
<Route path="/settings/tax" element={<SettingsIndex />} />
<Route path="/settings/accounts" element={<SettingsIndex />} />
<Route path="/settings/emails" element={<SettingsIndex />} />
{/* Dynamic Addon Routes */}
{addonRoutes.map((route: any) => (