# task: InsuRo Pricing 페이지 노출 기능 관리자 토글

## 목표
관리자 모드에서 Pricing(플랜 선택) 화면에 어떤 기능을 노출할지 선택할 수 있게 한다.
현재는 feature_definitions의 모든 활성 기능이 Pricing 비교 테이블에 노출됨 → 관리자가 토글로 제어.

## 작업 내용

### 1. DB: feature_definitions에 show_on_pricing 컬럼 추가
- 마이그레이션 SQL 생성: `supabase/migrations/` 폴더
```sql
ALTER TABLE public.feature_definitions
ADD COLUMN IF NOT EXISTS show_on_pricing BOOLEAN NOT NULL DEFAULT true;

-- 기존 기능 중 Pricing에 안 보여도 되는 것들은 false 설정
-- (ai_provider, ai_image_generate 같은 내부 설정 항목)
UPDATE public.feature_definitions SET show_on_pricing = false
WHERE key IN ('ai_provider', 'ai_image_generate');
```
- RLS: anon/authenticated 읽기 허용 (이미 SELECT 정책 있으면 OK)

### 2. Admin UI: 기능 관리 화면에 토글 추가
- 파일 확인: `src/pages/AdminSubscriptions.tsx` 또는 관련 관리자 페이지
- feature_definitions 관리 섹션에 "Pricing 노출" 토글 스위치 추가
- 토글 ON/OFF 시 해당 feature의 show_on_pricing 업데이트
- 토글 UI: Switch 또는 Checkbox + 라벨 "플랜 비교에 표시"

### 3. Pricing 페이지: show_on_pricing 필터 적용
- 파일: `src/pages/Pricing.tsx`
- 현재 feature_definitions에서 `is_active = true`만 필터 → `is_active = true AND show_on_pricing = true`로 변경
- Supabase 쿼리 수정: `.eq('show_on_pricing', true)` 추가

### 4. 마이그레이션 SQL 파일 생성
- 파일명: `supabase/migrations/20260317160000_feature_show_on_pricing.sql`
- 내용: ALTER TABLE + UPDATE + 필요 시 RLS

## 주의사항
- Pricing.tsx는 최근 여러 차례 수정됨 — 현재 최신 상태 먼저 확인 후 수정
- feature_definitions의 RLS 정책이 anon role SELECT를 허용하는지 확인
- Admin UI 위치가 AdminSubscriptions인지 별도 페이지인지 확인 필요
- 기존 기능의 show_on_pricing 기본값은 true (현재 동작 유지)

## 검증
- Admin에서 특정 기능 show_on_pricing OFF → Pricing 페이지에서 해당 기능 미표시
- Admin에서 다시 ON → Pricing에 다시 표시
- 기본값 true → 기존 동작과 동일 (회귀 없음)