Files
my-links/config/inertia.ts
Sonny 243984ca66 fix: theme persistence
save user theme preferences  in session instead of localStorage
2024-06-02 23:59:57 +02:00

33 lines
808 B
TypeScript

import { PREFER_DARK_THEME } from '#constants/session';
import { defineConfig } from '@adonisjs/inertia';
export default defineConfig({
/**
* Path to the Edge view that will be used as the root view for Inertia responses
*/
rootView: 'inertia_layout',
/**
* Data that should be shared with all rendered pages
*/
sharedData: {
errors: (ctx) => ctx.session?.flashMessages.get('errors'),
preferDarkTheme: (ctx) => ctx.session.get(PREFER_DARK_THEME, true),
auth: async (ctx) => {
await ctx.auth?.check();
return {
user: ctx.auth?.user || null,
isAuthenticated: ctx.auth?.isAuthenticated || false,
};
},
},
/**
* Options for the server-side rendering
*/
ssr: {
enabled: true,
entrypoint: 'inertia/app/ssr.tsx',
},
});