# InsuRo: Lovable Auth → Supabase Native Auth 전환

## 개요
InsuRo 프로젝트에서 `@lovable.dev/cloud-auth-js` 의존성을 제거하고, Supabase 네이티브 OAuth로 교체한다.
Google OAuth는 이미 Supabase + GCP에 설정 완료됨.

## 환경 정보
- 프로젝트 경로: `/home/jay/projects/InsuRo/`
- **새 Supabase URL**: `https://zayhfjuwviporbzokudr.supabase.co`
- **새 Anon Key**: `.env.keys`의 `INSURO_NEW_ANON_KEY` 참조
- 기존 env 변수명: `VITE_SUPABASE_URL`, `VITE_SUPABASE_PUBLISHABLE_KEY`

## 작업 목록

### 1. .env 파일 업데이트
- `/home/jay/projects/InsuRo/.env` 파일에서:
  - `VITE_SUPABASE_URL`을 새 Supabase URL로 변경: `https://zayhfjuwviporbzokudr.supabase.co`
  - `VITE_SUPABASE_PUBLISHABLE_KEY`를 새 anon key로 변경
  - 새 anon key 값은 `.env.keys`에서 `INSURO_NEW_ANON_KEY` 확인: `source /home/jay/workspace/.env.keys && echo $INSURO_NEW_ANON_KEY`

### 2. Lovable auth 래퍼 삭제
- 삭제: `src/integrations/lovable/index.ts`
- `src/integrations/lovable/` 디렉토리 전체 삭제 가능 (다른 파일 없으면)

### 3. AuthForm.tsx 수정
- 파일: `src/components/AuthForm.tsx`
- 변경 내용:
  - `lovable` import 제거 (Line 4 부근)
  - `handleGoogleLogin()` 함수를 Supabase 네이티브로 교체:
    ```typescript
    const handleGoogleLogin = async () => {
      setLoading(true);
      try {
        await supabase.auth.signInWithOAuth({
          provider: "google",
          options: { redirectTo: window.location.origin },
        });
      } catch (error: any) {
        toast({ title: "Google 로그인 오류", description: error.message, variant: "destructive" });
      } finally {
        setLoading(false);
      }
    };
    ```
  - `supabase` import가 없으면 추가: `import { supabase } from "@/integrations/supabase/client";`

### 4. package.json 정리
- `@lovable.dev/cloud-auth-js` 제거 (dependencies)
- `lovable-tagger` 제거 (devDependencies) — 선택사항이지만 Lovable 의존도 제거 목적
- 제거 후 `npm install` 실행하여 lock 파일 갱신

### 5. vite.config.ts 정리
- `lovable-tagger`의 `componentTagger` import/plugin 제거

### 6. MyPage.tsx UI 문구 정리 (선택)
- Lovable URL 참조가 있으면 제거 또는 InsuRo 자체 URL로 교체

## 검증 기준
- [ ] `npm run build` 성공 (0 에러)
- [ ] `npx tsc --noEmit` 타입 체크 통과
- [ ] lovable 관련 import가 코드에 남아있지 않음: `grep -r "lovable" src/` 결과 0건 (AdminAIConfig.tsx의 AI provider 옵션 제외)
- [ ] 앱 실행 후 Google 로그인 버튼이 정상 렌더링됨

## 주의사항
- `src/integrations/supabase/client.ts`는 수정 불필요 (이미 env 변수에서 URL/key 읽음)
- `AdminAIConfig.tsx`의 "lovable" AI provider 옵션은 auth와 무관 — 건드리지 말 것
- git user 설정: `JonghyukJeon <jonghyuk.jeon@gmail.com>`