mirror of
https://github.com/System-End/hackatime.git
synced 2026-04-19 16:38:23 +00:00
* Inertia p1? * Inertia'fied signed out homepage? * Split up signed in page * WIP signed in v2? * Better signed in? * Clean up extensions page! * Fix currently hacking * Better docs page? * Docs update 2 * Clean up "What is Hackatime?" + get rid of that godawful green dev mode * Better nav? * Cleaner settings? * Fix commit times * Fix flashes + OS improv * Setup v2 * Readd some of the syncers? * Remove stray emdash * Clean up Step 3 * Oops, remove .vite * bye bye, /inertia-example * bin/rubocop -A * Fix docs vuln
46 lines
1.3 KiB
TypeScript
46 lines
1.3 KiB
TypeScript
import { createInertiaApp, type ResolvedComponent } from '@inertiajs/svelte'
|
|
import { mount } from 'svelte'
|
|
import AppLayout from '../layouts/AppLayout.svelte'
|
|
|
|
createInertiaApp({
|
|
// Disable progress bar
|
|
//
|
|
// see https://inertia-rails.dev/guide/progress-indicators
|
|
// progress: false,
|
|
|
|
resolve: (name) => {
|
|
const pages = import.meta.glob<ResolvedComponent>('../pages/**/*.svelte', {
|
|
eager: true,
|
|
})
|
|
const page = pages[`../pages/${name}.svelte`]
|
|
if (!page) {
|
|
console.error(`Missing Inertia page component: '${name}.svelte'`)
|
|
}
|
|
|
|
return { default: page.default, layout: page.layout || AppLayout } as ResolvedComponent
|
|
},
|
|
|
|
setup({ el, App, props }) {
|
|
if (el) {
|
|
mount(App, { target: el, props })
|
|
} else {
|
|
console.error(
|
|
'Missing root element.\n\n' +
|
|
'If you see this error, it probably means you load Inertia.js on non-Inertia pages.\n' +
|
|
'Consider moving <%= vite_typescript_tag "inertia" %> to the Inertia-specific layout instead.',
|
|
)
|
|
}
|
|
},
|
|
|
|
defaults: {
|
|
form: {
|
|
forceIndicesArrayFormatInFormData: false,
|
|
},
|
|
future: {
|
|
useScriptElementForInitialPage: true,
|
|
useDataInertiaHeadAttribute: true,
|
|
useDialogForErrorModal: true,
|
|
preserveEqualProps: true,
|
|
},
|
|
},
|
|
})
|