Compare commits

...

2 Commits

Author SHA1 Message Date
ddd2afb879 fix: breadcrumb all files link 2025-09-20 13:29:23 +00:00
6310a15c78 fix: regenerate routes 2025-09-20 13:21:13 +00:00
3 changed files with 10 additions and 32 deletions

View File

@@ -54,6 +54,7 @@ export function DirectoryPage() {
} }
function FilePathBreadcrumb({ path }: { path: string }) { function FilePathBreadcrumb({ path }: { path: string }) {
const { rootDirectory } = useContext(DirectoryPageContext)
const pathComponents = splitPath(path) const pathComponents = splitPath(path)
const base = baseName(path) const base = baseName(path)
return ( return (
@@ -61,7 +62,9 @@ function FilePathBreadcrumb({ path }: { path: string }) {
<BreadcrumbList> <BreadcrumbList>
<BreadcrumbItem> <BreadcrumbItem>
<BreadcrumbLink asChild> <BreadcrumbLink asChild>
<Link to="/directories">All Files</Link> <Link to={`/directories/${rootDirectory._id}`}>
All Files
</Link>
</BreadcrumbLink> </BreadcrumbLink>
</BreadcrumbItem> </BreadcrumbItem>
{pathComponents.map((p) => ( {pathComponents.map((p) => (

View File

@@ -15,7 +15,6 @@ import { Route as AuthenticatedIndexRouteImport } from './routes/_authenticated/
import { Route as LoginCallbackRouteImport } from './routes/login_.callback' import { Route as LoginCallbackRouteImport } from './routes/login_.callback'
import { Route as AuthenticatedSidebarLayoutRouteImport } from './routes/_authenticated/_sidebar-layout' import { Route as AuthenticatedSidebarLayoutRouteImport } from './routes/_authenticated/_sidebar-layout'
import { Route as AuthenticatedSidebarLayoutHomeRouteImport } from './routes/_authenticated/_sidebar-layout/home' import { Route as AuthenticatedSidebarLayoutHomeRouteImport } from './routes/_authenticated/_sidebar-layout/home'
import { Route as AuthenticatedSidebarLayoutFilesSplatRouteImport } from './routes/_authenticated/_sidebar-layout/files.$'
import { Route as AuthenticatedSidebarLayoutDirectoriesDirectoryIdRouteImport } from './routes/_authenticated/_sidebar-layout/directories.$directoryId' import { Route as AuthenticatedSidebarLayoutDirectoriesDirectoryIdRouteImport } from './routes/_authenticated/_sidebar-layout/directories.$directoryId'
const LoginRoute = LoginRouteImport.update({ const LoginRoute = LoginRouteImport.update({
@@ -48,12 +47,6 @@ const AuthenticatedSidebarLayoutHomeRoute =
path: '/home', path: '/home',
getParentRoute: () => AuthenticatedSidebarLayoutRoute, getParentRoute: () => AuthenticatedSidebarLayoutRoute,
} as any) } as any)
const AuthenticatedSidebarLayoutFilesSplatRoute =
AuthenticatedSidebarLayoutFilesSplatRouteImport.update({
id: '/files/$',
path: '/files/$',
getParentRoute: () => AuthenticatedSidebarLayoutRoute,
} as any)
const AuthenticatedSidebarLayoutDirectoriesDirectoryIdRoute = const AuthenticatedSidebarLayoutDirectoriesDirectoryIdRoute =
AuthenticatedSidebarLayoutDirectoriesDirectoryIdRouteImport.update({ AuthenticatedSidebarLayoutDirectoriesDirectoryIdRouteImport.update({
id: '/directories/$directoryId', id: '/directories/$directoryId',
@@ -67,7 +60,6 @@ export interface FileRoutesByFullPath {
'/': typeof AuthenticatedIndexRoute '/': typeof AuthenticatedIndexRoute
'/home': typeof AuthenticatedSidebarLayoutHomeRoute '/home': typeof AuthenticatedSidebarLayoutHomeRoute
'/directories/$directoryId': typeof AuthenticatedSidebarLayoutDirectoriesDirectoryIdRoute '/directories/$directoryId': typeof AuthenticatedSidebarLayoutDirectoriesDirectoryIdRoute
'/files/$': typeof AuthenticatedSidebarLayoutFilesSplatRoute
} }
export interface FileRoutesByTo { export interface FileRoutesByTo {
'/login': typeof LoginRoute '/login': typeof LoginRoute
@@ -75,7 +67,6 @@ export interface FileRoutesByTo {
'/': typeof AuthenticatedIndexRoute '/': typeof AuthenticatedIndexRoute
'/home': typeof AuthenticatedSidebarLayoutHomeRoute '/home': typeof AuthenticatedSidebarLayoutHomeRoute
'/directories/$directoryId': typeof AuthenticatedSidebarLayoutDirectoriesDirectoryIdRoute '/directories/$directoryId': typeof AuthenticatedSidebarLayoutDirectoriesDirectoryIdRoute
'/files/$': typeof AuthenticatedSidebarLayoutFilesSplatRoute
} }
export interface FileRoutesById { export interface FileRoutesById {
__root__: typeof rootRouteImport __root__: typeof rootRouteImport
@@ -86,7 +77,6 @@ export interface FileRoutesById {
'/_authenticated/': typeof AuthenticatedIndexRoute '/_authenticated/': typeof AuthenticatedIndexRoute
'/_authenticated/_sidebar-layout/home': typeof AuthenticatedSidebarLayoutHomeRoute '/_authenticated/_sidebar-layout/home': typeof AuthenticatedSidebarLayoutHomeRoute
'/_authenticated/_sidebar-layout/directories/$directoryId': typeof AuthenticatedSidebarLayoutDirectoriesDirectoryIdRoute '/_authenticated/_sidebar-layout/directories/$directoryId': typeof AuthenticatedSidebarLayoutDirectoriesDirectoryIdRoute
'/_authenticated/_sidebar-layout/files/$': typeof AuthenticatedSidebarLayoutFilesSplatRoute
} }
export interface FileRouteTypes { export interface FileRouteTypes {
fileRoutesByFullPath: FileRoutesByFullPath fileRoutesByFullPath: FileRoutesByFullPath
@@ -96,15 +86,8 @@ export interface FileRouteTypes {
| '/' | '/'
| '/home' | '/home'
| '/directories/$directoryId' | '/directories/$directoryId'
| '/files/$'
fileRoutesByTo: FileRoutesByTo fileRoutesByTo: FileRoutesByTo
to: to: '/login' | '/login/callback' | '/' | '/home' | '/directories/$directoryId'
| '/login'
| '/login/callback'
| '/'
| '/home'
| '/directories/$directoryId'
| '/files/$'
id: id:
| '__root__' | '__root__'
| '/_authenticated' | '/_authenticated'
@@ -114,7 +97,6 @@ export interface FileRouteTypes {
| '/_authenticated/' | '/_authenticated/'
| '/_authenticated/_sidebar-layout/home' | '/_authenticated/_sidebar-layout/home'
| '/_authenticated/_sidebar-layout/directories/$directoryId' | '/_authenticated/_sidebar-layout/directories/$directoryId'
| '/_authenticated/_sidebar-layout/files/$'
fileRoutesById: FileRoutesById fileRoutesById: FileRoutesById
} }
export interface RootRouteChildren { export interface RootRouteChildren {
@@ -167,13 +149,6 @@ declare module '@tanstack/react-router' {
preLoaderRoute: typeof AuthenticatedSidebarLayoutHomeRouteImport preLoaderRoute: typeof AuthenticatedSidebarLayoutHomeRouteImport
parentRoute: typeof AuthenticatedSidebarLayoutRoute parentRoute: typeof AuthenticatedSidebarLayoutRoute
} }
'/_authenticated/_sidebar-layout/files/$': {
id: '/_authenticated/_sidebar-layout/files/$'
path: '/files/$'
fullPath: '/files/$'
preLoaderRoute: typeof AuthenticatedSidebarLayoutFilesSplatRouteImport
parentRoute: typeof AuthenticatedSidebarLayoutRoute
}
'/_authenticated/_sidebar-layout/directories/$directoryId': { '/_authenticated/_sidebar-layout/directories/$directoryId': {
id: '/_authenticated/_sidebar-layout/directories/$directoryId' id: '/_authenticated/_sidebar-layout/directories/$directoryId'
path: '/directories/$directoryId' path: '/directories/$directoryId'
@@ -187,7 +162,6 @@ declare module '@tanstack/react-router' {
interface AuthenticatedSidebarLayoutRouteChildren { interface AuthenticatedSidebarLayoutRouteChildren {
AuthenticatedSidebarLayoutHomeRoute: typeof AuthenticatedSidebarLayoutHomeRoute AuthenticatedSidebarLayoutHomeRoute: typeof AuthenticatedSidebarLayoutHomeRoute
AuthenticatedSidebarLayoutDirectoriesDirectoryIdRoute: typeof AuthenticatedSidebarLayoutDirectoriesDirectoryIdRoute AuthenticatedSidebarLayoutDirectoriesDirectoryIdRoute: typeof AuthenticatedSidebarLayoutDirectoriesDirectoryIdRoute
AuthenticatedSidebarLayoutFilesSplatRoute: typeof AuthenticatedSidebarLayoutFilesSplatRoute
} }
const AuthenticatedSidebarLayoutRouteChildren: AuthenticatedSidebarLayoutRouteChildren = const AuthenticatedSidebarLayoutRouteChildren: AuthenticatedSidebarLayoutRouteChildren =
@@ -195,8 +169,6 @@ const AuthenticatedSidebarLayoutRouteChildren: AuthenticatedSidebarLayoutRouteCh
AuthenticatedSidebarLayoutHomeRoute: AuthenticatedSidebarLayoutHomeRoute, AuthenticatedSidebarLayoutHomeRoute: AuthenticatedSidebarLayoutHomeRoute,
AuthenticatedSidebarLayoutDirectoriesDirectoryIdRoute: AuthenticatedSidebarLayoutDirectoriesDirectoryIdRoute:
AuthenticatedSidebarLayoutDirectoriesDirectoryIdRoute, AuthenticatedSidebarLayoutDirectoriesDirectoryIdRoute,
AuthenticatedSidebarLayoutFilesSplatRoute:
AuthenticatedSidebarLayoutFilesSplatRoute,
} }
const AuthenticatedSidebarLayoutRouteWithChildren = const AuthenticatedSidebarLayoutRouteWithChildren =

View File

@@ -13,6 +13,7 @@ export const Route = createFileRoute(
function RouteComponent() { function RouteComponent() {
const { directoryId } = Route.useParams() const { directoryId } = Route.useParams()
const rootDirectory = useConvexQuery(api.files.fetchRootDirectory)
const directory = useConvexQuery(api.files.fetchDirectory, { const directory = useConvexQuery(api.files.fetchDirectory, {
directoryId, directoryId,
}) })
@@ -20,12 +21,14 @@ function RouteComponent() {
directoryId, directoryId,
}) })
if (!directory || !directoryContent) { if (!directory || !directoryContent || !rootDirectory) {
return <DirectoryPageSkeleton /> return <DirectoryPageSkeleton />
} }
return ( return (
<DirectoryPageContext value={{ directory, directoryContent }}> <DirectoryPageContext
value={{ rootDirectory, directory, directoryContent }}
>
<DirectoryPage /> <DirectoryPage />
</DirectoryPageContext> </DirectoryPageContext>
) )