feat(web): keep sidebar on blog & contact for logged-in users
Some checks failed
QA Gate (P0/P1) / Test affected app (pull_request) Has been cancelled
Some checks failed
QA Gate (P0/P1) / Test affected app (pull_request) Has been cancelled
Sidebar linked /blog and /contact pointed at public marketing pages, so clicking them dropped the user out of the dashboard shell. Extract page content into shared components (blog-content, contact-content) and add dashboard-wrapped routes /dashboard/blog, /dashboard/blog/$slug and /dashboard/contact; sidebar now links to those. Public SEO pages stay unchanged and remain the canonical URLs. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -25,7 +25,9 @@ import { Route as DashboardSettingsRouteImport } from './routes/dashboard/settin
|
||||
import { Route as DashboardServiceTestRouteImport } from './routes/dashboard/service-test'
|
||||
import { Route as DashboardSearchRouteImport } from './routes/dashboard/search'
|
||||
import { Route as DashboardHistoryRouteImport } from './routes/dashboard/history'
|
||||
import { Route as DashboardContactRouteImport } from './routes/dashboard/contact'
|
||||
import { Route as DashboardChangelogRouteImport } from './routes/dashboard/changelog'
|
||||
import { Route as DashboardBlogRouteImport } from './routes/dashboard/blog'
|
||||
import { Route as DashboardBillingRouteImport } from './routes/dashboard/billing'
|
||||
import { Route as BlogSlugRouteImport } from './routes/blog_/$slug'
|
||||
import { Route as AuthResetPasswordRouteImport } from './routes/_auth/reset-password'
|
||||
@@ -38,6 +40,7 @@ import { Route as DashboardCatalogIndexRouteImport } from './routes/dashboard/ca
|
||||
import { Route as DashboardAdminIndexRouteImport } from './routes/dashboard/admin/index'
|
||||
import { Route as DemoCategoriesCategoryIdRouteImport } from './routes/demo_/categories_/$categoryId'
|
||||
import { Route as DashboardOemCodeRouteImport } from './routes/dashboard/oem.$code'
|
||||
import { Route as DashboardBlogSlugRouteImport } from './routes/dashboard/blog_/$slug'
|
||||
import { Route as DashboardAdminUsersRouteImport } from './routes/dashboard/admin/users'
|
||||
import { Route as DashboardAdminReferralsRouteImport } from './routes/dashboard/admin/referrals'
|
||||
import { Route as DashboardAdminCopyLogsRouteImport } from './routes/dashboard/admin/copy-logs'
|
||||
@@ -134,11 +137,21 @@ const DashboardHistoryRoute = DashboardHistoryRouteImport.update({
|
||||
path: '/history',
|
||||
getParentRoute: () => DashboardRoute,
|
||||
} as any)
|
||||
const DashboardContactRoute = DashboardContactRouteImport.update({
|
||||
id: '/contact',
|
||||
path: '/contact',
|
||||
getParentRoute: () => DashboardRoute,
|
||||
} as any)
|
||||
const DashboardChangelogRoute = DashboardChangelogRouteImport.update({
|
||||
id: '/changelog',
|
||||
path: '/changelog',
|
||||
getParentRoute: () => DashboardRoute,
|
||||
} as any)
|
||||
const DashboardBlogRoute = DashboardBlogRouteImport.update({
|
||||
id: '/blog',
|
||||
path: '/blog',
|
||||
getParentRoute: () => DashboardRoute,
|
||||
} as any)
|
||||
const DashboardBillingRoute = DashboardBillingRouteImport.update({
|
||||
id: '/billing',
|
||||
path: '/billing',
|
||||
@@ -201,6 +214,11 @@ const DashboardOemCodeRoute = DashboardOemCodeRouteImport.update({
|
||||
path: '/oem/$code',
|
||||
getParentRoute: () => DashboardRoute,
|
||||
} as any)
|
||||
const DashboardBlogSlugRoute = DashboardBlogSlugRouteImport.update({
|
||||
id: '/blog_/$slug',
|
||||
path: '/blog/$slug',
|
||||
getParentRoute: () => DashboardRoute,
|
||||
} as any)
|
||||
const DashboardAdminUsersRoute = DashboardAdminUsersRouteImport.update({
|
||||
id: '/admin/users',
|
||||
path: '/admin/users',
|
||||
@@ -312,7 +330,9 @@ export interface FileRoutesByFullPath {
|
||||
'/reset-password': typeof AuthResetPasswordRoute
|
||||
'/blog/$slug': typeof BlogSlugRoute
|
||||
'/dashboard/billing': typeof DashboardBillingRoute
|
||||
'/dashboard/blog': typeof DashboardBlogRoute
|
||||
'/dashboard/changelog': typeof DashboardChangelogRoute
|
||||
'/dashboard/contact': typeof DashboardContactRoute
|
||||
'/dashboard/history': typeof DashboardHistoryRoute
|
||||
'/dashboard/search': typeof DashboardSearchRoute
|
||||
'/dashboard/service-test': typeof DashboardServiceTestRoute
|
||||
@@ -322,6 +342,7 @@ export interface FileRoutesByFullPath {
|
||||
'/dashboard/admin/copy-logs': typeof DashboardAdminCopyLogsRoute
|
||||
'/dashboard/admin/referrals': typeof DashboardAdminReferralsRoute
|
||||
'/dashboard/admin/users': typeof DashboardAdminUsersRoute
|
||||
'/dashboard/blog/$slug': typeof DashboardBlogSlugRoute
|
||||
'/dashboard/oem/$code': typeof DashboardOemCodeRoute
|
||||
'/demo/categories/$categoryId': typeof DemoCategoriesCategoryIdRoute
|
||||
'/dashboard/admin/': typeof DashboardAdminIndexRoute
|
||||
@@ -357,7 +378,9 @@ export interface FileRoutesByTo {
|
||||
'/reset-password': typeof AuthResetPasswordRoute
|
||||
'/blog/$slug': typeof BlogSlugRoute
|
||||
'/dashboard/billing': typeof DashboardBillingRoute
|
||||
'/dashboard/blog': typeof DashboardBlogRoute
|
||||
'/dashboard/changelog': typeof DashboardChangelogRoute
|
||||
'/dashboard/contact': typeof DashboardContactRoute
|
||||
'/dashboard/history': typeof DashboardHistoryRoute
|
||||
'/dashboard/search': typeof DashboardSearchRoute
|
||||
'/dashboard/service-test': typeof DashboardServiceTestRoute
|
||||
@@ -367,6 +390,7 @@ export interface FileRoutesByTo {
|
||||
'/dashboard/admin/copy-logs': typeof DashboardAdminCopyLogsRoute
|
||||
'/dashboard/admin/referrals': typeof DashboardAdminReferralsRoute
|
||||
'/dashboard/admin/users': typeof DashboardAdminUsersRoute
|
||||
'/dashboard/blog/$slug': typeof DashboardBlogSlugRoute
|
||||
'/dashboard/oem/$code': typeof DashboardOemCodeRoute
|
||||
'/demo/categories/$categoryId': typeof DemoCategoriesCategoryIdRoute
|
||||
'/dashboard/admin': typeof DashboardAdminIndexRoute
|
||||
@@ -405,7 +429,9 @@ export interface FileRoutesById {
|
||||
'/_auth/reset-password': typeof AuthResetPasswordRoute
|
||||
'/blog_/$slug': typeof BlogSlugRoute
|
||||
'/dashboard/billing': typeof DashboardBillingRoute
|
||||
'/dashboard/blog': typeof DashboardBlogRoute
|
||||
'/dashboard/changelog': typeof DashboardChangelogRoute
|
||||
'/dashboard/contact': typeof DashboardContactRoute
|
||||
'/dashboard/history': typeof DashboardHistoryRoute
|
||||
'/dashboard/search': typeof DashboardSearchRoute
|
||||
'/dashboard/service-test': typeof DashboardServiceTestRoute
|
||||
@@ -415,6 +441,7 @@ export interface FileRoutesById {
|
||||
'/dashboard/admin/copy-logs': typeof DashboardAdminCopyLogsRoute
|
||||
'/dashboard/admin/referrals': typeof DashboardAdminReferralsRoute
|
||||
'/dashboard/admin/users': typeof DashboardAdminUsersRoute
|
||||
'/dashboard/blog_/$slug': typeof DashboardBlogSlugRoute
|
||||
'/dashboard/oem/$code': typeof DashboardOemCodeRoute
|
||||
'/demo_/categories_/$categoryId': typeof DemoCategoriesCategoryIdRoute
|
||||
'/dashboard/admin/': typeof DashboardAdminIndexRoute
|
||||
@@ -453,7 +480,9 @@ export interface FileRouteTypes {
|
||||
| '/reset-password'
|
||||
| '/blog/$slug'
|
||||
| '/dashboard/billing'
|
||||
| '/dashboard/blog'
|
||||
| '/dashboard/changelog'
|
||||
| '/dashboard/contact'
|
||||
| '/dashboard/history'
|
||||
| '/dashboard/search'
|
||||
| '/dashboard/service-test'
|
||||
@@ -463,6 +492,7 @@ export interface FileRouteTypes {
|
||||
| '/dashboard/admin/copy-logs'
|
||||
| '/dashboard/admin/referrals'
|
||||
| '/dashboard/admin/users'
|
||||
| '/dashboard/blog/$slug'
|
||||
| '/dashboard/oem/$code'
|
||||
| '/demo/categories/$categoryId'
|
||||
| '/dashboard/admin/'
|
||||
@@ -498,7 +528,9 @@ export interface FileRouteTypes {
|
||||
| '/reset-password'
|
||||
| '/blog/$slug'
|
||||
| '/dashboard/billing'
|
||||
| '/dashboard/blog'
|
||||
| '/dashboard/changelog'
|
||||
| '/dashboard/contact'
|
||||
| '/dashboard/history'
|
||||
| '/dashboard/search'
|
||||
| '/dashboard/service-test'
|
||||
@@ -508,6 +540,7 @@ export interface FileRouteTypes {
|
||||
| '/dashboard/admin/copy-logs'
|
||||
| '/dashboard/admin/referrals'
|
||||
| '/dashboard/admin/users'
|
||||
| '/dashboard/blog/$slug'
|
||||
| '/dashboard/oem/$code'
|
||||
| '/demo/categories/$categoryId'
|
||||
| '/dashboard/admin'
|
||||
@@ -545,7 +578,9 @@ export interface FileRouteTypes {
|
||||
| '/_auth/reset-password'
|
||||
| '/blog_/$slug'
|
||||
| '/dashboard/billing'
|
||||
| '/dashboard/blog'
|
||||
| '/dashboard/changelog'
|
||||
| '/dashboard/contact'
|
||||
| '/dashboard/history'
|
||||
| '/dashboard/search'
|
||||
| '/dashboard/service-test'
|
||||
@@ -555,6 +590,7 @@ export interface FileRouteTypes {
|
||||
| '/dashboard/admin/copy-logs'
|
||||
| '/dashboard/admin/referrals'
|
||||
| '/dashboard/admin/users'
|
||||
| '/dashboard/blog_/$slug'
|
||||
| '/dashboard/oem/$code'
|
||||
| '/demo_/categories_/$categoryId'
|
||||
| '/dashboard/admin/'
|
||||
@@ -704,6 +740,13 @@ declare module '@tanstack/react-router' {
|
||||
preLoaderRoute: typeof DashboardHistoryRouteImport
|
||||
parentRoute: typeof DashboardRoute
|
||||
}
|
||||
'/dashboard/contact': {
|
||||
id: '/dashboard/contact'
|
||||
path: '/contact'
|
||||
fullPath: '/dashboard/contact'
|
||||
preLoaderRoute: typeof DashboardContactRouteImport
|
||||
parentRoute: typeof DashboardRoute
|
||||
}
|
||||
'/dashboard/changelog': {
|
||||
id: '/dashboard/changelog'
|
||||
path: '/changelog'
|
||||
@@ -711,6 +754,13 @@ declare module '@tanstack/react-router' {
|
||||
preLoaderRoute: typeof DashboardChangelogRouteImport
|
||||
parentRoute: typeof DashboardRoute
|
||||
}
|
||||
'/dashboard/blog': {
|
||||
id: '/dashboard/blog'
|
||||
path: '/blog'
|
||||
fullPath: '/dashboard/blog'
|
||||
preLoaderRoute: typeof DashboardBlogRouteImport
|
||||
parentRoute: typeof DashboardRoute
|
||||
}
|
||||
'/dashboard/billing': {
|
||||
id: '/dashboard/billing'
|
||||
path: '/billing'
|
||||
@@ -795,6 +845,13 @@ declare module '@tanstack/react-router' {
|
||||
preLoaderRoute: typeof DashboardOemCodeRouteImport
|
||||
parentRoute: typeof DashboardRoute
|
||||
}
|
||||
'/dashboard/blog_/$slug': {
|
||||
id: '/dashboard/blog_/$slug'
|
||||
path: '/blog/$slug'
|
||||
fullPath: '/dashboard/blog/$slug'
|
||||
preLoaderRoute: typeof DashboardBlogSlugRouteImport
|
||||
parentRoute: typeof DashboardRoute
|
||||
}
|
||||
'/dashboard/admin/users': {
|
||||
id: '/dashboard/admin/users'
|
||||
path: '/admin/users'
|
||||
@@ -930,7 +987,9 @@ const AuthRouteWithChildren = AuthRoute._addFileChildren(AuthRouteChildren)
|
||||
|
||||
interface DashboardRouteChildren {
|
||||
DashboardBillingRoute: typeof DashboardBillingRoute
|
||||
DashboardBlogRoute: typeof DashboardBlogRoute
|
||||
DashboardChangelogRoute: typeof DashboardChangelogRoute
|
||||
DashboardContactRoute: typeof DashboardContactRoute
|
||||
DashboardHistoryRoute: typeof DashboardHistoryRoute
|
||||
DashboardSearchRoute: typeof DashboardSearchRoute
|
||||
DashboardServiceTestRoute: typeof DashboardServiceTestRoute
|
||||
@@ -940,6 +999,7 @@ interface DashboardRouteChildren {
|
||||
DashboardAdminCopyLogsRoute: typeof DashboardAdminCopyLogsRoute
|
||||
DashboardAdminReferralsRoute: typeof DashboardAdminReferralsRoute
|
||||
DashboardAdminUsersRoute: typeof DashboardAdminUsersRoute
|
||||
DashboardBlogSlugRoute: typeof DashboardBlogSlugRoute
|
||||
DashboardOemCodeRoute: typeof DashboardOemCodeRoute
|
||||
DashboardAdminIndexRoute: typeof DashboardAdminIndexRoute
|
||||
DashboardCatalogIndexRoute: typeof DashboardCatalogIndexRoute
|
||||
@@ -960,7 +1020,9 @@ interface DashboardRouteChildren {
|
||||
|
||||
const DashboardRouteChildren: DashboardRouteChildren = {
|
||||
DashboardBillingRoute: DashboardBillingRoute,
|
||||
DashboardBlogRoute: DashboardBlogRoute,
|
||||
DashboardChangelogRoute: DashboardChangelogRoute,
|
||||
DashboardContactRoute: DashboardContactRoute,
|
||||
DashboardHistoryRoute: DashboardHistoryRoute,
|
||||
DashboardSearchRoute: DashboardSearchRoute,
|
||||
DashboardServiceTestRoute: DashboardServiceTestRoute,
|
||||
@@ -970,6 +1032,7 @@ const DashboardRouteChildren: DashboardRouteChildren = {
|
||||
DashboardAdminCopyLogsRoute: DashboardAdminCopyLogsRoute,
|
||||
DashboardAdminReferralsRoute: DashboardAdminReferralsRoute,
|
||||
DashboardAdminUsersRoute: DashboardAdminUsersRoute,
|
||||
DashboardBlogSlugRoute: DashboardBlogSlugRoute,
|
||||
DashboardOemCodeRoute: DashboardOemCodeRoute,
|
||||
DashboardAdminIndexRoute: DashboardAdminIndexRoute,
|
||||
DashboardCatalogIndexRoute: DashboardCatalogIndexRoute,
|
||||
|
||||
Reference in New Issue
Block a user