// settings.jsx — หน้าเชื่อมต่อฐานข้อมูล (Supabase) + คู่มือติดตั้ง
const SQL_TABLE = `-- 1) สร้างตารางเก็บงานซ่อม
create table if not exists public.jobs (
id text primary key,
phone text,
customer_name text,
status text,
created_at timestamptz default now(),
data jsonb not null
);
create index if not exists jobs_phone_idx on public.jobs (phone);
create index if not exists jobs_created_idx on public.jobs (created_at desc);
-- 2) เปิด Row Level Security
alter table public.jobs enable row level security;
-- 3) นโยบายเริ่มต้น (เปิดให้ใช้งานได้ทันที)
create policy "jobs_read" on public.jobs for select using (true);
create policy "jobs_insert" on public.jobs for insert with check (true);
create policy "jobs_update" on public.jobs for update using (true);
create policy "jobs_delete" on public.jobs for delete using (true);`;
const SQL_STORAGE = `-- ที่เก็บรูป (Storage bucket)
insert into storage.buckets (id, name, public)
values ('repair-photos', 'repair-photos', true)
on conflict (id) do nothing;
create policy "photos_read" on storage.objects
for select using (bucket_id = 'repair-photos');
create policy "photos_write" on storage.objects
for insert with check (bucket_id = 'repair-photos');`;
// SQL ทางเลือก: รัดกุมสิทธิ์ให้เฉพาะพนักงานที่ล็อกอินแก้ไขได้ ส่วนลูกค้าอ่านสถานะได้
const SQL_SECURE = `-- เมื่อพร้อมใช้จริง: ให้เฉพาะพนักงานที่ล็อกอินเขียน/แก้ไข/ลบได้
-- (ลูกค้ายังเช็คสถานะได้ เพราะ select ยังเปิดอ่าน)
drop policy if exists "jobs_insert" on public.jobs;
drop policy if exists "jobs_update" on public.jobs;
drop policy if exists "jobs_delete" on public.jobs;
create policy "jobs_insert_auth" on public.jobs
for insert to authenticated with check (true);
create policy "jobs_update_auth" on public.jobs
for update to authenticated using (true);
create policy "jobs_delete_auth" on public.jobs
for delete to authenticated using (true);
-- รูป: ให้เฉพาะพนักงานที่ล็อกอินอัปโหลดได้
drop policy if exists "photos_write" on storage.objects;
create policy "photos_write_auth" on storage.objects
for insert to authenticated with check (bucket_id = 'repair-photos');`;
function CopyBtn({ text, label = 'คัดลอก' }) {
const [done, setDone] = React.useState(false);
return (
);
}
function CodeBlock({ code }) {
return (