mirror of https://github.com/buster-so/buster.git
Merge pull request #853 from buster-so/nate/many-updates
Remove cache from root and put in on redirect routes
This commit is contained in:
commit
34f14359af
|
@ -1,4 +1,5 @@
|
|||
import { redirect } from '@tanstack/react-router';
|
||||
import { preventBrowserCacheHeaders } from '@/middleware/shared-headers';
|
||||
|
||||
export const beforeLoad = ({
|
||||
params,
|
||||
|
@ -17,3 +18,7 @@ export const beforeLoad = ({
|
|||
statusCode: 301,
|
||||
});
|
||||
};
|
||||
|
||||
export const head = () => ({
|
||||
meta: [...preventBrowserCacheHeaders],
|
||||
});
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
import { redirect } from '@tanstack/react-router';
|
||||
import { preventBrowserCacheHeaders } from '@/middleware/shared-headers';
|
||||
|
||||
export const beforeLoad = ({
|
||||
params,
|
||||
|
@ -17,3 +18,7 @@ export const beforeLoad = ({
|
|||
statusCode: 301,
|
||||
});
|
||||
};
|
||||
|
||||
export const head = () => ({
|
||||
meta: [...preventBrowserCacheHeaders],
|
||||
});
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
export const preventBrowserCacheHeaders = [
|
||||
{ 'http-equiv': 'Cache-Control', content: 'no-cache, no-store, must-revalidate' },
|
||||
{ 'http-equiv': 'Pragma', content: 'no-cache' },
|
||||
{ 'http-equiv': 'Expires', content: '0' },
|
||||
];
|
|
@ -6,12 +6,16 @@ import { prefetchGetMyUserInfo } from '@/api/buster_rest/users/queryRequests';
|
|||
import { getAppLayout } from '@/api/server-functions/getAppLayout';
|
||||
import { AppProviders } from '@/context/Providers';
|
||||
import { getSupabaseSession, getSupabaseUser } from '@/integrations/supabase/getSupabaseUserClient';
|
||||
import { preventBrowserCacheHeaders } from '@/middleware/shared-headers';
|
||||
import type { LayoutSize } from '../components/ui/layouts/AppLayout';
|
||||
|
||||
const PRIMARY_APP_LAYOUT_ID = 'primary-sidebar';
|
||||
const DEFAULT_LAYOUT: LayoutSize = ['230px', 'auto'];
|
||||
|
||||
export const Route = createFileRoute('/app')({
|
||||
head: () => ({
|
||||
meta: [...preventBrowserCacheHeaders],
|
||||
}),
|
||||
context: ({ context }) => ({ ...context, getAppLayout }),
|
||||
beforeLoad: async () => {
|
||||
console.log('beforeLoad app route');
|
||||
|
|
|
@ -1,6 +1,10 @@
|
|||
import { createFileRoute, redirect } from '@tanstack/react-router';
|
||||
import { preventBrowserCacheHeaders } from '@/middleware/shared-headers';
|
||||
|
||||
export const Route = createFileRoute('/app/_app/datasets/$datasetId/permissions/')({
|
||||
head: () => ({
|
||||
meta: [...preventBrowserCacheHeaders],
|
||||
}),
|
||||
beforeLoad: async ({ params }) => {
|
||||
throw redirect({
|
||||
to: '/app/datasets/$datasetId/permissions/overview',
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
import { createFileRoute, matchByPath, Outlet, redirect } from '@tanstack/react-router';
|
||||
import { prefetchGetDatasetMetadata } from '@/api/buster_rest/datasets/queryRequests';
|
||||
import { DatasetsIndividualLayout } from '@/controllers/DatasetsControllers/DatasetsIndividualLayout/DatasetsLayout';
|
||||
import { preventBrowserCacheHeaders } from '@/middleware/shared-headers';
|
||||
|
||||
export const Route = createFileRoute('/app/_app/datasets/$datasetId')({
|
||||
beforeLoad: async ({ params, location }) => {
|
||||
|
@ -31,6 +32,7 @@ export const Route = createFileRoute('/app/_app/datasets/$datasetId')({
|
|||
{ name: 'description', content: 'Explore and analyze your dataset' },
|
||||
{ name: 'og:title', content: 'Dataset' },
|
||||
{ name: 'og:description', content: 'Explore and analyze your dataset' },
|
||||
...preventBrowserCacheHeaders,
|
||||
],
|
||||
}),
|
||||
component: RouteComponent,
|
||||
|
|
|
@ -1,6 +1,10 @@
|
|||
import { createFileRoute, redirect } from '@tanstack/react-router';
|
||||
import { preventBrowserCacheHeaders } from '@/middleware/shared-headers';
|
||||
|
||||
export const Route = createFileRoute('/app/_settings/settings/')({
|
||||
head: () => ({
|
||||
meta: [...preventBrowserCacheHeaders],
|
||||
}),
|
||||
beforeLoad: async () => {
|
||||
throw redirect({
|
||||
to: '/app/settings/profile',
|
||||
|
|
|
@ -1,6 +1,10 @@
|
|||
import { createFileRoute, redirect } from '@tanstack/react-router';
|
||||
import { preventBrowserCacheHeaders } from '@/middleware/shared-headers';
|
||||
|
||||
export const Route = createFileRoute('/app/')({
|
||||
head: () => ({
|
||||
meta: [...preventBrowserCacheHeaders],
|
||||
}),
|
||||
beforeLoad: async () => {
|
||||
throw redirect({ to: '/app/home', replace: true, statusCode: 307 });
|
||||
},
|
||||
|
|
|
@ -1,28 +1,12 @@
|
|||
import { createFileRoute, redirect } from '@tanstack/react-router';
|
||||
import * as React from 'react';
|
||||
import { isServer } from '@/lib/window';
|
||||
import { preventBrowserCacheHeaders } from '@/middleware/shared-headers';
|
||||
|
||||
export const Route = createFileRoute('/')({
|
||||
head: () => ({
|
||||
meta: [
|
||||
{ 'http-equiv': 'refresh', content: '0; url=/app/home' },
|
||||
{ 'http-equiv': 'Cache-Control', content: 'no-cache, no-store, must-revalidate' },
|
||||
{ 'http-equiv': 'Pragma', content: 'no-cache' },
|
||||
{ 'http-equiv': 'Expires', content: '0' },
|
||||
],
|
||||
meta: [...preventBrowserCacheHeaders],
|
||||
}),
|
||||
beforeLoad: async () => {
|
||||
// Only redirect on client-side to avoid SSR issues during cold starts
|
||||
if (!isServer) {
|
||||
throw redirect({ to: '/app/home', replace: true });
|
||||
}
|
||||
},
|
||||
loader: async () => {
|
||||
// Server-side: Return data indicating a redirect is needed
|
||||
if (isServer) {
|
||||
return { shouldRedirect: true, redirectTo: '/app/home' };
|
||||
}
|
||||
return {};
|
||||
throw redirect({ to: '/app/home', replace: true });
|
||||
},
|
||||
component: () => null,
|
||||
});
|
||||
|
|
Loading…
Reference in New Issue