Initial commit of the schdlr frontend: Vite + React + shadcn scaffold, "salon terracotta" identity (warm oklch tokens, Fraunces + Nunito Sans self-hosted, AA-checked pairs) and the public booking wizard from the v1 decisions: service, professional, day/time strip grouped by period in the Company timezone (one request per viewed day), client details form and the success screen (summary, magic link, browser-generated .ics, e-mail notice, WhatsApp share). Timezone-safe slot utils covered by vitest.
38 lines
775 B
TypeScript
38 lines
775 B
TypeScript
/// <reference types="vitest/config" />
|
|
import path from 'path'
|
|
import { defineConfig } from 'vite'
|
|
import react from '@vitejs/plugin-react-swc'
|
|
import tailwindcss from '@tailwindcss/vite'
|
|
import { tanstackRouter } from '@tanstack/router-plugin/vite'
|
|
|
|
// https://vite.dev/config/
|
|
export default defineConfig({
|
|
plugins: [
|
|
tanstackRouter({
|
|
target: 'react',
|
|
autoCodeSplitting: true,
|
|
}),
|
|
react(),
|
|
tailwindcss(),
|
|
],
|
|
resolve: {
|
|
alias: {
|
|
'@': path.resolve(__dirname, './src'),
|
|
},
|
|
},
|
|
test: {
|
|
environment: 'jsdom',
|
|
globals: true,
|
|
setupFiles: './src/test/setup.ts',
|
|
css: false,
|
|
},
|
|
server: {
|
|
proxy: {
|
|
'/api': {
|
|
target: 'http://127.0.0.1:3000',
|
|
changeOrigin: true,
|
|
},
|
|
},
|
|
},
|
|
})
|