-- =============================================================================
-- Freemium F2 (polish) — apresentação do plano gratuito na vitrine pública
--
-- Os planos free já eram is_visible em v_public_pricing, mas sem plan_public
-- (nome/descrição/bullets) e sem preço — renderizavam sem nome/valor. Este seed
-- dá um cartão "Grátis" decente. Referência por KEY (subquery), idempotente.
-- O preço "Grátis" é tratado no front (Landingpage isFreePlan).
-- =============================================================================

BEGIN;

INSERT INTO public.plan_public (plan_id, public_name, public_description, badge, is_featured, is_visible, sort_order)
SELECT id, 'Grátis',
       'Comece sem custo: o essencial pra organizar sua agenda, pacientes e prontuário.',
       'Grátis', false, true, 0
FROM public.plans WHERE key = 'clinic_free'
ON CONFLICT (plan_id) DO UPDATE
   SET public_name = EXCLUDED.public_name,
       public_description = EXCLUDED.public_description,
       badge = EXCLUDED.badge,
       is_visible = true,
       sort_order = EXCLUDED.sort_order,
       updated_at = now();

INSERT INTO public.plan_public (plan_id, public_name, public_description, badge, is_featured, is_visible, sort_order)
SELECT id, 'Grátis',
       'Pra terapeutas individuais: agenda, pacientes e prontuário sem custo.',
       'Grátis', false, true, 0
FROM public.plans WHERE key = 'therapist_free'
ON CONFLICT (plan_id) DO UPDATE
   SET public_name = EXCLUDED.public_name,
       public_description = EXCLUDED.public_description,
       badge = EXCLUDED.badge,
       is_visible = true,
       sort_order = EXCLUDED.sort_order,
       updated_at = now();

-- bullets (idempotente: limpa os dos free e re-insere)
DELETE FROM public.plan_public_bullets
WHERE plan_id IN (SELECT id FROM public.plans WHERE key IN ('clinic_free','therapist_free'));

INSERT INTO public.plan_public_bullets (plan_id, text, highlight, sort_order)
SELECT p.id, b.text, b.highlight, b.sort_order
FROM public.plans p
CROSS JOIN LATERAL (
    VALUES
        ('Agenda completa e prontuário', true, 1),
        ('Até 30 pacientes ativos', false, 2),
        ('Documentos e lembretes básicos', false, 3),
        ('Agendamento online', false, 4)
) AS b(text, highlight, sort_order)
WHERE p.key = 'clinic_free';

INSERT INTO public.plan_public_bullets (plan_id, text, highlight, sort_order)
SELECT p.id, b.text, b.highlight, b.sort_order
FROM public.plans p
CROSS JOIN LATERAL (
    VALUES
        ('Agenda completa e prontuário', true, 1),
        ('Até 20 pacientes ativos', false, 2),
        ('Documentos e lembretes básicos', false, 3),
        ('Agendamento online', false, 4)
) AS b(text, highlight, sort_order)
WHERE p.key = 'therapist_free';

COMMIT;
