namespace AxCopilot.Themes;

/// <summary>
/// Segoe MDL2 Assets 폰트 유니코드 심볼 상수.
/// Windows 10+ 에 기본 포함되어 있습니다.
/// 참고: https://learn.microsoft.com/en-us/windows/apps/design/style/segoe-ui-symbol-font
/// </summary>
internal static class Symbols
{
    // ─── 검색 / 입력 ─────────────────────────────────────────────────────────
    public const string Search    = "\uE721"; // 돋보기 (기본 검색 아이콘)

    // ─── 핸들러 타입별 아이콘 ─────────────────────────────────────────────────
    public const string Globe     = "\uE774"; // 지구본 (URL @)
    public const string Folder    = "\uE8B7"; // 폴더 (폴더 ~)
    public const string Terminal  = "\uE756"; // 터미널/명령 (배치 >)
    public const string LaunchIcon = "\uE7C4"; // 실행/런치 (Windows Run ^)
    public const string Clipboard = "\uE77F"; // 클립보드 (클립보드 $)
    public const string Workspace = "\uE8A1"; // 창 배치 (워크스페이스 !)
    public const string Cloud     = "\uE82D"; // 클라우드 (API/JSON 스킬)
    public const string Plugin    = "\uECCA"; // 플러그인 (외부 플러그인)

    // ─── 파일 인덱스 타입 ────────────────────────────────────────────────────
    public const string App       = "\uECAA"; // 앱 실행 파일 (.exe)
    public const string File      = "\uE8A5"; // 일반 파일 (.lnk, .bat, .ps1)
    public const string Excel     = "\uE9F9"; // 엑셀/스프레드시트
    public const string Word      = "\uE8A5"; // 워드/문서 (File과 동일)
    public const string Slides    = "\uEE71"; // 프레젠테이션
    public const string Pdf       = "\uEA90"; // PDF
    public const string Image     = "\uEB9F"; // 이미지 (Picture와 동일)
    public const string Video     = "\uE714"; // 동영상
    public const string Music     = "\uEC4F"; // 음악
    public const string Archive   = "\uE8C6"; // 압축 파일
    public const string Code      = "\uE943"; // 코드/소스
    public const string Config    = "\uE713"; // 설정 파일
    public const string TextFile  = "\uE8D2"; // 텍스트 파일
    public const string Web       = "\uE774"; // 웹 파일 (Globe와 동일)

    // ─── 상태 아이콘 ──────────────────────────────────────────────────────────
    public const string Warning   = "\uE7BA"; // 경고
    public const string Error     = "\uEA39"; // 오류
    public const string Info      = "\uE946"; // 정보

    // ─── 액션 ────────────────────────────────────────────────────────────────
    public const string Save      = "\uE74E"; // 저장
    public const string Delete    = "\uE74D"; // 삭제
    public const string Rename    = "\uE8AC"; // 이름 변경
    public const string Restore   = "\uE72C"; // 복원

    // ─── 계산기 ───────────────────────────────────────────────────────────────
    public const string Calculator = "\uE8EF"; // 계산기
    public const string Equal      = "\uE8D2"; // = 결과

    // ─── 스니펫 ───────────────────────────────────────────────────────────────
    public const string Snippet    = "\uE70B"; // 코드 스니펫 / 번개
    public const string Text       = "\uE8D2"; // 텍스트

    // ─── 클립보드 히스토리 ────────────────────────────────────────────────────
    public const string History    = "\uE81C"; // 히스토리 / 시계
    public const string ClipPaste  = "\uE77F"; // 클립보드 + 붙여넣기 (기존 Clipboard와 구분)
    public const string Picture    = "\uEB9F"; // 사진/이미지 (클립보드 이미지 항목)

    // ─── 시스템 명령 ──────────────────────────────────────────────────────────
    public const string Lock       = "\uE72E"; // 화면 잠금
    public const string Sleep      = "\uEC46"; // 절전
    public const string Power      = "\uE7E8"; // 전원 / 종료
    public const string Restart    = "\uE777"; // 재시작
    public const string Logout     = "\uF3B1"; // 로그아웃
    public const string RecycleBin = "\uE74D"; // 휴지통 비우기 (Delete와 동일 코드포인트)

    // ─── 미디어 컨트롤 ────────────────────────────────────────────────────────
    public const string MediaPlay  = "\uE768"; // 재생 / 일시정지
    public const string MediaNext  = "\uE893"; // 다음 트랙
    public const string MediaPrev  = "\uE892"; // 이전 트랙
    public const string VolumeUp   = "\uE995"; // 볼륨 올리기
    public const string VolumeDown = "\uE993"; // 볼륨 낮추기
    public const string VolumeMute = "\uE74F"; // 음소거

    // ─── 시스템 정보 ──────────────────────────────────────────────────────────
    public const string Computer        = "\uE7F4"; // 컴퓨터 / PC
    public const string Person          = "\uE77B"; // 사용자
    public const string Network         = "\uE968"; // 네트워크 / Wi-Fi
    public const string Battery         = "\uE83F"; // 배터리
    public const string BatteryCharging = "\uE83E"; // 배터리 충전 중
    public const string BatteryLow      = "\uEBA0"; // 배터리 낮음
    public const string Clock           = "\uE823"; // 시계 / 가동시간
    public const string Processor       = "\uE950"; // CPU / 프로세서
    public const string Memory          = "\uE950"; // RAM / 메모리 (프로세서 아이콘 공유)
    public const string Storage         = "\uEDA2"; // 디스크 / 저장소

    // ─── 신규 핸들러 아이콘 ───────────────────────────────────────────────────
    public const string Emoji          = "\uE76E"; // 이모지 피커 (감정 표현)
    public const string ColorPicker    = "\uE771"; // 색상 팔레트
    public const string Timer          = "\uE916"; // 타이머 / 알람
    public const string RecentFiles    = "\uE81C"; // 최근 파일 (시계)
    public const string Currency       = "\uE8EE"; // 통화 / 환율
    public const string Uninstall      = "\uE74D"; // 앱 제거 (삭제)
    public const string Note           = "\uE70B"; // 빠른 메모 (번개/메모)

    // ─── v1.6 신규 핸들러 아이콘 ──────────────────────────────────────────────
    public const string PortIcon       = "\uE968"; // 포트/네트워크 점검 (Network와 동일)
    public const string EnvVar         = "\uE8D7"; // 환경변수 (코드/설정)
    public const string JsonValid      = "\uE930"; // JSON 유효 (체크)
    public const string JsonFormat     = "\uE8A4"; // JSON 포맷 (문서)
    public const string JsonMinify     = "\uE8C6"; // JSON 미니파이 (압축)
    public const string EncodeIcon     = "\uE8CB"; // 인코딩/해싱 (열쇠)
    public const string SnapLayout     = "\uE8A0"; // 창 스냅 (레이아웃)
    public const string CaptureIcon    = "\uE722"; // 화면 캡처 (카메라)
    public const string ScrollCapture  = "\uE8F4"; // 스크롤 캡처 (스크롤)

    // ─── v1.8 신규 아이콘 ─────────────────────────────────────────────────────
    public const string ReminderBell   = "\uEA8F"; // 잠금 해제 알림 (벨)
    public const string Lightbulb      = "\uE82F"; // 전구 (아이디어 / 자동 실행)

    // ─── v1.0 추가 핸들러 아이콘 ───────────────────────────────────────────────
    public const string EyeDropper     = "\uEF3C"; // 스포이드 (색상 추출)
    public const string DateIcon       = "\uE787"; // 달력 (날짜 계산)
    public const string ServiceIcon    = "\uE912"; // 서비스 (기어)

    public const string PipeIcon       = "\uE8C8"; // 파이프라인 (체인)
    public const string JournalIcon    = "\uE70B"; // 업무 일지 (메모)
    public const string RoutineIcon    = "\uE82F"; // 루틴 (전구)
    public const string BatchIcon      = "\uE8C6"; // 일괄 처리 (압축)
    public const string DiffIcon       = "\uE89A"; // 비교 (분기)
    public const string WindowIcon     = "\uE8A7"; // 윈도우 스위처 (창)

    // ─── v1.0 유틸리티 핸들러 아이콘 ────────────────────────────────────────────
    public const string TextStats      = "\uE8D2"; // 텍스트 통계 (= 결과)
    public const string Favorite       = "\uE728"; // 즐겨찾기 (별)
    public const string RenameIcon     = "\uE8AC"; // 이름 변경 (Rename와 동일)
    public const string MonitorIcon    = "\uE7F4"; // 시스템 모니터 (Computer와 동일)
    public const string ScaffoldIcon   = "\uE8F1"; // 스캐폴딩 (프로젝트 구조)

    // ─── Phase L3-5 태그 시스템 ────────────────────────────────────────────────
    public const string Tag            = "\uEAB4"; // 파일 태그 (레이블)
}
