// Mock data for YumYum Admin

const CATEGORIES = ['한식','중식','일식','아시안','회','고기','치킨','피자','햄버거','김밥분식','도시락','샌드위치','샐러드','커피음료','빵지'];

const STORES = [
  { id:'ST-1042', name:'할매김밥 강남점', biz:'(주)할매에프앤비', cat:'김밥분식', region:'서울 강남구', phone:'02-555-1042', status:'open', orders30:412, sales30:6240000, rating:4.8, reviews:382, joined:'2025-04-12', lastOrder:'2분 전' },
  { id:'ST-1077', name:'바삭치킨 역삼본점', biz:'바삭푸드', cat:'치킨', region:'서울 강남구', phone:'02-555-1077', status:'open', orders30:298, sales30:9120000, rating:4.6, reviews:201, joined:'2025-05-02', lastOrder:'14분 전' },
  { id:'ST-1108', name:'일분도시락 서초', biz:'일분에프앤비', cat:'도시락', region:'서울 서초구', phone:'02-555-1108', status:'paused', orders30:88, sales30:1340000, rating:4.4, reviews:54, joined:'2025-06-21', lastOrder:'1시간 전' },
  { id:'ST-1133', name:'커피림보 합정', biz:'커피림보', cat:'커피음료', region:'서울 마포구', phone:'02-555-1133', status:'open', orders30:534, sales30:5210000, rating:4.9, reviews:601, joined:'2025-03-08', lastOrder:'방금 전' },
  { id:'ST-1156', name:'빵지순례 망원', biz:'빵지베이커리', cat:'빵지', region:'서울 마포구', phone:'02-555-1156', status:'closed', orders30:0, sales30:0, rating:4.7, reviews:128, joined:'2025-07-30', lastOrder:'-' },
  { id:'ST-1189', name:'한그릇 분당정자', biz:'(주)한그릇에프앤비', cat:'한식', region:'경기 성남시', phone:'031-555-1189', status:'open', orders30:217, sales30:4180000, rating:4.5, reviews:172, joined:'2025-08-14', lastOrder:'7분 전' },
  { id:'ST-1204', name:'샐러디 광교', biz:'샐러디', cat:'샐러드', region:'경기 수원시', phone:'031-555-1204', status:'open', orders30:181, sales30:2820000, rating:4.6, reviews:99, joined:'2025-09-03', lastOrder:'21분 전' },
  { id:'ST-1233', name:'스시히로 종로', biz:'히로에프앤비', cat:'일식', region:'서울 종로구', phone:'02-555-1233', status:'open', orders30:142, sales30:5980000, rating:4.7, reviews:88, joined:'2025-10-19', lastOrder:'34분 전' },
  { id:'ST-1255', name:'고기굽는집 강동', biz:'(주)고기랩', cat:'고기', region:'서울 강동구', phone:'02-555-1255', status:'paused', orders30:64, sales30:2410000, rating:4.3, reviews:41, joined:'2025-11-02', lastOrder:'2시간 전' },
  { id:'ST-1278', name:'미스터샌드 시청', biz:'샌드웍스', cat:'샌드위치', region:'서울 중구', phone:'02-555-1278', status:'open', orders30:328, sales30:3920000, rating:4.5, reviews:212, joined:'2025-12-21', lastOrder:'4분 전' },
];

const APPROVALS = [
  { id:'BA-2401', kind:'사업자 신규 등록', subject:'(주)할매에프앤비', applicant:'김할매', role:'사업자 대표자', date:'2026-05-08', status:'pending' },
  { id:'BA-2402', kind:'사업자 정보 변경', subject:'바삭푸드 / 대표자 변경', applicant:'이바삭', role:'사업자 대표자', date:'2026-05-08', status:'pending' },
  { id:'ST-2403', kind:'매장 신규 등록', subject:'커피림보 합정점', applicant:'박림보', role:'매장 운영자', date:'2026-05-07', status:'pending' },
  { id:'MN-2404', kind:'메뉴 등록 (신메뉴 12종)', subject:'할매김밥 강남점', applicant:'관리자A', role:'관리자', date:'2026-05-07', status:'pending' },
  { id:'BK-2405', kind:'정산계좌 변경', subject:'빵지베이커리 → 우리은행', applicant:'최빵지', role:'사업자 대표자', date:'2026-05-06', status:'review' },
  { id:'ST-2406', kind:'매장 정보 변경', subject:'일분도시락 서초점 운영시간', applicant:'정도시락', role:'매장 운영자', date:'2026-05-06', status:'pending' },
  { id:'MN-2407', kind:'메뉴 가격 변경', subject:'바삭치킨 역삼본점 (4건)', applicant:'이바삭', role:'사업자 대표자', date:'2026-05-05', status:'approved' },
  { id:'BK-2408', kind:'정산계좌 신규 등록', subject:'(주)고기랩 / 신한은행', applicant:'고기랩 대표', role:'사업자 대표자', date:'2026-05-04', status:'rejected' },
];

const ORDERS = [
  { id:'YP-260510-2241', store:'할매김밥 강남점', user:'김*은', items:'참치김밥 외 2건', mode:'포장', total:14800, pay:'카드', status:'preparing', placed:'14:38', pickup:'15:00' },
  { id:'YP-260510-2238', store:'커피림보 합정', user:'이*수', items:'아메리카노 외 1건', mode:'포장', total:7800, pay:'간편결제', status:'done', placed:'14:30', pickup:'14:45' },
  { id:'YP-260510-2235', store:'바삭치킨 역삼본점', user:'박*영', items:'양념치킨 외 1건', mode:'포장', total:23900, pay:'카드', status:'accepted', placed:'14:24', pickup:'15:10' },
  { id:'YP-260510-2230', store:'스시히로 종로', user:'정*우', items:'특선스시', mode:'매장식사', total:32000, pay:'카드', status:'pending', placed:'14:18', pickup:'14:50' },
  { id:'YP-260510-2228', store:'미스터샌드 시청', user:'한*린', items:'클럽샌드 세트', mode:'포장', total:11500, pay:'간편결제', status:'received', placed:'14:15', pickup:'14:40' },
  { id:'YP-260510-2222', store:'일분도시락 서초', user:'장*기', items:'제육도시락 외 3건', mode:'포장', total:24600, pay:'카드', status:'cancelled', placed:'14:08', pickup:'-' },
  { id:'YP-260510-2218', store:'한그릇 분당정자', user:'서*아', items:'된장찌개 외 2건', mode:'매장식사', total:19200, pay:'카드', status:'done', placed:'13:58', pickup:'14:25' },
  { id:'YP-260510-2210', store:'빵지순례 망원', user:'이*린', items:'크루아상 외 5건', mode:'포장', total:17400, pay:'간편결제', status:'done', placed:'13:42', pickup:'14:00' },
];

const SETTLEMENTS = [
  { id:'SE-260430-001', biz:'(주)할매에프앤비', period:'2026-04', orders:412, gross:6240000, fee:124800, pg:218400, payout:5896800, bank:'신한 110-***-****12', status:'paid', date:'2026-05-05' },
  { id:'SE-260430-002', biz:'바삭푸드', period:'2026-04', orders:298, gross:9120000, fee:182400, pg:319200, payout:8618400, bank:'국민 821-***-****34', status:'paid', date:'2026-05-05' },
  { id:'SE-260430-003', biz:'커피림보', period:'2026-04', orders:534, gross:5210000, fee:104200, pg:182350, payout:4923450, bank:'우리 1002-***-***88', status:'paid', date:'2026-05-05' },
  { id:'SE-260430-004', biz:'(주)한그릇에프앤비', period:'2026-04', orders:217, gross:4180000, fee:83600, pg:146300, payout:3950100, bank:'카카오뱅크 3333-***-92', status:'pending', date:'-' },
  { id:'SE-260430-005', biz:'샐러디', period:'2026-04', orders:181, gross:2820000, fee:56400, pg:98700, payout:2664900, bank:'토스뱅크 1000-***-44', status:'pending', date:'-' },
  { id:'SE-260430-006', biz:'히로에프앤비', period:'2026-04', orders:142, gross:5980000, fee:119600, pg:209300, payout:5651100, bank:'신한 110-***-****55', status:'review', date:'-' },
  { id:'SE-260430-007', biz:'(주)고기랩', period:'2026-04', orders:64, gross:2410000, fee:48200, pg:84350, payout:2277450, bank:'-', status:'hold', date:'-' },
];

const MEMBERS = [
  { id:'U-100482', name:'김민지', email:'minji@kakao.com', phone:'010-****-1241', signup:'2025-08-12', lastSeen:'2분 전', orders:24, spent:312400, status:'active', channel:'kakao' },
  { id:'U-100397', name:'이수현', email:'soohyun@apple.id', phone:'010-****-2204', signup:'2025-09-21', lastSeen:'1시간 전', orders:18, spent:218900, status:'active', channel:'apple' },
  { id:'U-100311', name:'박지영', email:'jypark@gmail.com', phone:'010-****-7708', signup:'2025-10-01', lastSeen:'어제', orders:9, spent:124800, status:'active', channel:'email' },
  { id:'U-100286', name:'정도원', email:'dowon@yumyum.im', phone:'010-****-3344', signup:'2025-11-19', lastSeen:'3일 전', orders:42, spent:618200, status:'vip', channel:'email' },
  { id:'U-100242', name:'한가린', email:'karin@kakao.com', phone:'010-****-5512', signup:'2026-01-04', lastSeen:'12분 전', orders:6, spent:74300, status:'active', channel:'kakao' },
  { id:'U-100214', name:'장기훈', email:'kihoon@apple.id', phone:'010-****-9087', signup:'2026-02-22', lastSeen:'30분 전', orders:3, spent:42100, status:'dormant', channel:'apple' },
  { id:'U-100192', name:'서아라', email:'aaraseo@gmail.com', phone:'010-****-1023', signup:'2026-03-11', lastSeen:'1주 전', orders:2, spent:31600, status:'suspended', channel:'email' },
];

const REVIEWS = [
  { id:'RV-9821', store:'할매김밥 강남점', user:'김*은', rating:5, text:'참치김밥 정말 맛있어요! 픽업도 정시에 준비돼있어서 좋았습니다.', date:'2026-05-09', status:'visible', flagged:false },
  { id:'RV-9818', store:'바삭치킨 역삼본점', user:'박*영', rating:2, text:'치킨이 식어있고 양념이 너무 매워요. 픽업 시간도 안 맞았어요.', date:'2026-05-09', status:'visible', flagged:true },
  { id:'RV-9805', store:'커피림보 합정', user:'이*수', rating:5, text:'아메리카노 향이 진해요. 매장 분위기도 좋습니다.', date:'2026-05-08', status:'visible', flagged:false },
  { id:'RV-9788', store:'스시히로 종로', user:'정*우', rating:4, text:'스시 신선하고 가격대비 만족스러워요.', date:'2026-05-08', status:'hidden', flagged:false },
  { id:'RV-9772', store:'일분도시락 서초', user:'장*기', rating:1, text:'밥에 머리카락이 들어있었어요. 환불 요청드립니다.', date:'2026-05-07', status:'visible', flagged:true },
  { id:'RV-9744', store:'미스터샌드 시청', user:'한*린', rating:5, text:'클럽샌드 빵이 바삭하고 속재료가 알차요!', date:'2026-05-07', status:'visible', flagged:false },
];

const ADMINS = [
  { id:'AD-000', name:'cony', email:'cony@yumyum.im', role:'슈퍼관리자', team:'대표', last:'현재 접속중', status:'active' },
  { id:'AD-001', name:'김경임', email:'kei@yumyum.im', role:'슈퍼관리자', team:'대표', last:'방금 전', status:'active' },
  { id:'AD-002', name:'권세영', email:'seyoung@yumyum.im', role:'개발자', team:'엔지니어링', last:'10분 전', status:'active' },
  { id:'AD-003', name:'정도원', email:'dowon@yumyum.im', role:'운영자', team:'영업/마케팅', last:'1시간 전', status:'active' },
  { id:'AD-004', name:'이화랑', email:'rang@tiny-works.net', role:'운영자', team:'디자인', last:'어제', status:'active' },
  { id:'AD-005', name:'신석재', email:'seokjae@yumyum.im', role:'개발자', team:'엔지니어링', last:'3시간 전', status:'active' },
  { id:'AD-006', name:'김완태', email:'kwt@yumyum.im', role:'개발자', team:'엔지니어링', last:'2일 전', status:'inactive' },
];

const ORDER_STATUS = {
  pending: { label:'대기', tone:'neutral', dot:'neutral' },
  received: { label:'접수됨', tone:'info', dot:'success' },
  accepted: { label:'수락', tone:'info', dot:'success' },
  preparing: { label:'준비중', tone:'warn', dot:'warn' },
  done: { label:'픽업완료', tone:'success', dot:'success' },
  cancelled: { label:'취소', tone:'danger', dot:'danger' },
};
const STORE_STATUS = {
  open: { label:'영업중', tone:'success', dot:'success' },
  paused: { label:'일시정지', tone:'warn', dot:'warn' },
  closed: { label:'마감', tone:'neutral', dot:'neutral' },
};
const APPROVAL_STATUS = {
  pending: { label:'대기', tone:'warn' },
  review: { label:'검토중', tone:'info' },
  approved: { label:'승인', tone:'success' },
  rejected: { label:'반려', tone:'danger' },
};
const SETTLEMENT_STATUS = {
  pending: { label:'정산대기', tone:'warn' },
  review: { label:'검토중', tone:'info' },
  paid: { label:'지급완료', tone:'success' },
  hold: { label:'보류', tone:'danger' },
};
const MEMBER_STATUS = {
  active: { label:'활성', tone:'success' },
  vip: { label:'VIP', tone:'brand' },
  dormant: { label:'휴면', tone:'neutral' },
  suspended: { label:'정지', tone:'danger' },
};

const fmtKRW = (n) => '₩' + (n||0).toLocaleString('ko-KR');
const fmtNum = (n) => (n||0).toLocaleString('ko-KR');

Object.assign(window, {
  CATEGORIES, STORES, APPROVALS, ORDERS, SETTLEMENTS, MEMBERS, REVIEWS, ADMINS,
  ORDER_STATUS, STORE_STATUS, APPROVAL_STATUS, SETTLEMENT_STATUS, MEMBER_STATUS,
  fmtKRW, fmtNum,
});
