diff --git a/.env.local.example b/.env.local.example new file mode 100644 index 0000000..5fcb7dc --- /dev/null +++ b/.env.local.example @@ -0,0 +1,8 @@ +# Supabase — projeto InAudit Hotel +VITE_SUPABASE_URL=https://acdvblhzzaneddlxqyst.supabase.co +VITE_SUPABASE_ANON_KEY= +VITE_SUPABASE_SCHEMA=reserva_hotel + +# Chatwoot — token de integração (Fase 2) +VITE_CHATWOOT_API_URL=https://chatwoot.fazer.ai +VITE_CHATWOOT_API_TOKEN= diff --git a/src/lib/supabase.ts b/src/lib/supabase.ts new file mode 100644 index 0000000..d916158 --- /dev/null +++ b/src/lib/supabase.ts @@ -0,0 +1,16 @@ +import { createClient } from '@supabase/supabase-js' +import type { Database } from '@/types/database' + +const supabaseUrl = import.meta.env.VITE_SUPABASE_URL +const supabaseAnonKey = import.meta.env.VITE_SUPABASE_ANON_KEY +const supabaseSchema = import.meta.env.VITE_SUPABASE_SCHEMA ?? 'reserva_hotel' + +if (!supabaseUrl || !supabaseAnonKey) { + throw new Error( + 'Variáveis VITE_SUPABASE_URL e VITE_SUPABASE_ANON_KEY não estão definidas. Copie .env.local.example para .env.local e preencha.' + ) +} + +export const supabase = createClient(supabaseUrl, supabaseAnonKey, { + db: { schema: supabaseSchema as 'reserva_hotel' }, +}) diff --git a/src/lib/utils.ts b/src/lib/utils.ts new file mode 100644 index 0000000..fed2fe9 --- /dev/null +++ b/src/lib/utils.ts @@ -0,0 +1,6 @@ +import { clsx, type ClassValue } from 'clsx' +import { twMerge } from 'tailwind-merge' + +export function cn(...inputs: ClassValue[]) { + return twMerge(clsx(inputs)) +} diff --git a/src/types/database.ts b/src/types/database.ts new file mode 100644 index 0000000..803a659 --- /dev/null +++ b/src/types/database.ts @@ -0,0 +1,15 @@ +// Este arquivo é gerado automaticamente via `pnpm supabase:types`. +// Não edite à mão. Regenerar após cada migration. +// Placeholder inicial — Task 6 substitui com tipos reais. + +export type Json = string | number | boolean | null | { [key: string]: Json | undefined } | Json[] + +export type Database = { + reserva_hotel: { + Tables: Record + Views: Record + Functions: Record + Enums: Record + CompositeTypes: Record + } +} diff --git a/tsconfig.app.json b/tsconfig.app.json index 521c7b2..7b7c192 100644 --- a/tsconfig.app.json +++ b/tsconfig.app.json @@ -19,7 +19,7 @@ "paths": { "@/*": ["./src/*"] }, - "types": ["vitest/globals", "@testing-library/jest-dom"] + "types": ["vite/client", "vitest/globals", "@testing-library/jest-dom"] }, "include": ["src"] }