feat(project-crud-sync): add planning artifacts for CRUD project lifecycle #5
|
|
@ -22,43 +22,13 @@ useSeoMeta({
|
|||
<template>
|
||||
<UApp>
|
||||
<div class="flex flex-col min-h-screen">
|
||||
<UHeader>
|
||||
<template #left>
|
||||
<NuxtLink to="/">
|
||||
<AppLogo class="w-auto h-6 shrink-0" />
|
||||
</NuxtLink>
|
||||
|
||||
<UButton to="/projects" label="Projects" color="neutral" variant="ghost" />
|
||||
</template>
|
||||
|
||||
<template #right>
|
||||
<UColorModeButton />
|
||||
</template>
|
||||
</UHeader>
|
||||
<LazyAppHeader hydrate-on-interaction />
|
||||
|
||||
<UMain class="px-6">
|
||||
<NuxtLayout>
|
||||
<NuxtPage />
|
||||
</NuxtLayout>
|
||||
</UMain>
|
||||
|
||||
<USeparator icon="i-simple-icons-nuxtdotjs" />
|
||||
|
||||
<UFooter>
|
||||
<template #left>
|
||||
<p class="text-sm text-muted">Built with Nuxt UI • © {{ new Date().getFullYear() }}</p>
|
||||
</template>
|
||||
|
||||
<template #right>
|
||||
<UButton
|
||||
to="https://github.com/nuxt-ui-templates/starter"
|
||||
target="_blank"
|
||||
icon="i-simple-icons-github"
|
||||
aria-label="GitHub"
|
||||
color="neutral"
|
||||
variant="ghost" />
|
||||
</template>
|
||||
</UFooter>
|
||||
<LazyAppFooter hydrate-on-interaction />
|
||||
</div>
|
||||
</UApp>
|
||||
</template>
|
||||
|
|
|
|||
19
apps/web/app/components/AppFooter.vue
Normal file
19
apps/web/app/components/AppFooter.vue
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
<template>
|
||||
<USeparator icon="i-simple-icons-nuxtdotjs" />
|
||||
|
||||
<UFooter data-allow-mismatch="children">
|
||||
|
NHoarau marked this conversation as resolved
|
||||
<template #left>
|
||||
<p class="text-sm text-muted">Built with Nuxt UI • © {{ new Date().getFullYear() }}</p>
|
||||
</template>
|
||||
|
||||
<template #right>
|
||||
<UButton
|
||||
to="https://github.com/nuxt-ui-templates/starter"
|
||||
|
NHoarau marked this conversation as resolved
NHoarau
commented
real link, icon and label to set real link, icon and label to set
|
||||
target="_blank"
|
||||
icon="i-simple-icons-github"
|
||||
aria-label="GitHub"
|
||||
color="neutral"
|
||||
variant="ghost" />
|
||||
</template>
|
||||
</UFooter>
|
||||
</template>
|
||||
15
apps/web/app/components/AppHeader.vue
Normal file
15
apps/web/app/components/AppHeader.vue
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
<template>
|
||||
<UHeader>
|
||||
<template #left>
|
||||
<NuxtLink to="/">
|
||||
<AppLogo class="w-auto h-6 shrink-0" />
|
||||
</NuxtLink>
|
||||
|
||||
<UButton to="/projects" label="Projects" color="neutral" variant="ghost" />
|
||||
</template>
|
||||
|
||||
<template #right>
|
||||
<UColorModeButton />
|
||||
</template>
|
||||
</UHeader>
|
||||
</template>
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
<template>
|
||||
<slot />
|
||||
</template>
|
||||
|
|
@ -36,7 +36,7 @@ const columns: TableColumn<Project>[] = [
|
|||
cell: ({ row }) => row.getValue("description") ?? "—",
|
||||
},
|
||||
{ accessorKey: "createdAt", header: "Created" },
|
||||
{ id: "actions", header: "" },
|
||||
{ id: "actions", header: "Actions" },
|
||||
];
|
||||
</script>
|
||||
|
||||
|
|
|
|||
|
|
@ -14,10 +14,6 @@ export default defineNuxtConfig({
|
|||
},
|
||||
},
|
||||
|
||||
routeRules: {
|
||||
"/": { prerender: true },
|
||||
},
|
||||
|
||||
compatibilityDate: "2025-01-15",
|
||||
|
||||
eslint: {
|
||||
|
|
|
|||
Loading…
Reference in a new issue
data-allow-mismatchto remove