Initial commit of the L'Ami Fiduciaire SaaS platform built on Laravel 12, Vue 3, Inertia.js 2, and Tailwind CSS 4. Story 0.1 (rename folders to declarations in database) is implemented and code-reviewed: migration, rollback, and 6 Pest tests all passing. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
48 lines
1.5 KiB
Vue
48 lines
1.5 KiB
Vue
<script setup lang="ts">
|
|
import { Link, usePage } from '@inertiajs/vue3';
|
|
import AppLogoIcon from '@/components/AppLogoIcon.vue';
|
|
import { home } from '@/routes';
|
|
|
|
const page = usePage();
|
|
const name = page.props.name;
|
|
|
|
defineProps<{
|
|
title?: string;
|
|
description?: string;
|
|
}>();
|
|
</script>
|
|
|
|
<template>
|
|
<div
|
|
class="relative grid h-dvh flex-col items-center justify-center px-8 sm:px-0 lg:max-w-none lg:grid-cols-2 lg:px-0"
|
|
>
|
|
<div
|
|
class="relative hidden h-full flex-col bg-muted p-10 text-white lg:flex dark:border-r"
|
|
>
|
|
<div class="absolute inset-0 bg-zinc-900" />
|
|
<Link
|
|
:href="home()"
|
|
class="relative z-20 flex items-center text-lg font-medium"
|
|
>
|
|
<AppLogoIcon class="mr-2 size-8 fill-current text-white" />
|
|
{{ name }}
|
|
</Link>
|
|
</div>
|
|
<div class="lg:p-8">
|
|
<div
|
|
class="mx-auto flex w-full flex-col justify-center space-y-6 sm:w-[350px]"
|
|
>
|
|
<div class="flex flex-col space-y-2 text-center">
|
|
<h1 class="text-xl font-medium tracking-tight" v-if="title">
|
|
{{ title }}
|
|
</h1>
|
|
<p class="text-sm text-muted-foreground" v-if="description">
|
|
{{ description }}
|
|
</p>
|
|
</div>
|
|
<slot />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</template>
|