From 49a94d868df41810d62934d4326bc4c25f38d6bd Mon Sep 17 00:00:00 2001 From: "DESKTOP-TKLFCPR\\ython" Date: Sun, 31 May 2026 14:54:43 +0900 Subject: [PATCH] =?UTF-8?q?feat(contact):=20=EC=97=B0=EB=9D=BD=EC=B2=98=20?= =?UTF-8?q?=EC=A0=95=EB=B3=B4=20=EC=88=98=EC=A0=95=20+=20=ED=91=B8?= =?UTF-8?q?=ED=84=B0/=ED=97=A4=EB=8D=94=20=EC=8B=A4=EC=A0=9C=20=EB=A1=9C?= =?UTF-8?q?=EA=B3=A0=20=EC=9D=B4=EB=AF=B8=EC=A7=80=20=EC=A0=81=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Contact.jsx: 대표전화 02-000-0000 → 031-483-1766, 주소 서울특별시 → 경기도 안산시 단원구 광덕4로 220 오피스브이 578호 - Footer.jsx: logo-white.png → 지오정보기술로고.png (화이트 필터 적용) - 빌드 결과물 갱신 (Contact·Footer·CI 페이지 반영) Co-Authored-By: Claude Sonnet 4.6 --- ...Byo55dWV.js => AdminDashboard-Cm5lBA34.js} | 2 +- ...y-DJboQtoE.js => AdminInquiry-DeyVOtuR.js} | 2 +- ...ut-BAslvCIi.js => AdminLayout-BrKUjclZ.js} | 2 +- ...gin-DQYeKipf.js => AdminLogin-B0FdhDjZ.js} | 2 +- ...er-B-Uhh08h.js => AdminMember-CijTHaa9.js} | 2 +- ...News-CRnlseyW.js => AdminNews-DzZr7hW0.js} | 2 +- ...t-DFZTVDlb.js => AdminRecruit-BiBBu1U9.js} | 2 +- ...-CdghymzV.js => AdminSettings-pXhyWJiS.js} | 2 +- ...iness-B3VOTGav.js => Business-BS6Ud0aF.js} | 2 +- ...ompany-fQQiu4ez.js => Company-BUDOGWDc.js} | 2 +- .../static/assets/Contact-B7StfX4I.js | 1 + .../static/assets/Contact-DepJZxAo.js | 1 - ...-B3NE4mSh.js => GuardiaDetail-DnhjB4D0.js} | 2 +- .../{Home-BzCr8NFu.js => Home-BNabLxOu.js} | 2 +- ...in-BZQ3THLG.js => MemberLogin-BX21H_Sy.js} | 2 +- ...sPage-BTRnpJ1c.js => NewsPage-IHyZts-t.js} | 2 +- ...Found-DVyhNdAV.js => NotFound-Ci_g8Zjy.js} | 2 +- ...rivacy-D6OAw3cq.js => Privacy-B5Rbuoxm.js} | 2 +- ...ecruit-D117zTPM.js => Recruit-CVo_mebL.js} | 2 +- ...itemap-BvIs2MvH.js => Sitemap-CsVeWfib.js} | 2 +- ...e-DQ26fzss.js => SolutionPage-BwR0KReQ.js} | 2 +- ...upport-C4GaTldG.js => Support-DgVA3uzF.js} | 2 +- .../{Terms-DJ4F13JV.js => Terms-Do0to3rY.js} | 2 +- .../{index-B5QEzx5R.js => index-CpO7mTKO.js} | 4 +- ...eta-SwLKmP5e.js => useSeoMeta-DR7HJfMM.js} | 2 +- .../src/main/resources/static/index.html | 190 +++++++++--------- .../frontend/src/components/layout/Footer.jsx | 5 +- .../frontend/src/pages/Contact.jsx | 4 +- 28 files changed, 125 insertions(+), 124 deletions(-) rename workspace/zioinfo-web/backend/src/main/resources/static/assets/{AdminDashboard-Byo55dWV.js => AdminDashboard-Cm5lBA34.js} (97%) rename workspace/zioinfo-web/backend/src/main/resources/static/assets/{AdminInquiry-DJboQtoE.js => AdminInquiry-DeyVOtuR.js} (98%) rename workspace/zioinfo-web/backend/src/main/resources/static/assets/{AdminLayout-BAslvCIi.js => AdminLayout-BrKUjclZ.js} (95%) rename workspace/zioinfo-web/backend/src/main/resources/static/assets/{AdminLogin-DQYeKipf.js => AdminLogin-B0FdhDjZ.js} (96%) rename workspace/zioinfo-web/backend/src/main/resources/static/assets/{AdminMember-B-Uhh08h.js => AdminMember-CijTHaa9.js} (98%) rename workspace/zioinfo-web/backend/src/main/resources/static/assets/{AdminNews-CRnlseyW.js => AdminNews-DzZr7hW0.js} (98%) rename workspace/zioinfo-web/backend/src/main/resources/static/assets/{AdminRecruit-DFZTVDlb.js => AdminRecruit-BiBBu1U9.js} (99%) rename workspace/zioinfo-web/backend/src/main/resources/static/assets/{AdminSettings-CdghymzV.js => AdminSettings-pXhyWJiS.js} (97%) rename workspace/zioinfo-web/backend/src/main/resources/static/assets/{Business-B3VOTGav.js => Business-BS6Ud0aF.js} (99%) rename workspace/zioinfo-web/backend/src/main/resources/static/assets/{Company-fQQiu4ez.js => Company-BUDOGWDc.js} (99%) create mode 100644 workspace/zioinfo-web/backend/src/main/resources/static/assets/Contact-B7StfX4I.js delete mode 100644 workspace/zioinfo-web/backend/src/main/resources/static/assets/Contact-DepJZxAo.js rename workspace/zioinfo-web/backend/src/main/resources/static/assets/{GuardiaDetail-B3NE4mSh.js => GuardiaDetail-DnhjB4D0.js} (99%) rename workspace/zioinfo-web/backend/src/main/resources/static/assets/{Home-BzCr8NFu.js => Home-BNabLxOu.js} (98%) rename workspace/zioinfo-web/backend/src/main/resources/static/assets/{MemberLogin-BZQ3THLG.js => MemberLogin-BX21H_Sy.js} (99%) rename workspace/zioinfo-web/backend/src/main/resources/static/assets/{NewsPage-BTRnpJ1c.js => NewsPage-IHyZts-t.js} (99%) rename workspace/zioinfo-web/backend/src/main/resources/static/assets/{NotFound-DVyhNdAV.js => NotFound-Ci_g8Zjy.js} (90%) rename workspace/zioinfo-web/backend/src/main/resources/static/assets/{Privacy-D6OAw3cq.js => Privacy-B5Rbuoxm.js} (97%) rename workspace/zioinfo-web/backend/src/main/resources/static/assets/{Recruit-D117zTPM.js => Recruit-CVo_mebL.js} (99%) rename workspace/zioinfo-web/backend/src/main/resources/static/assets/{Sitemap-BvIs2MvH.js => Sitemap-CsVeWfib.js} (96%) rename workspace/zioinfo-web/backend/src/main/resources/static/assets/{SolutionPage-DQ26fzss.js => SolutionPage-BwR0KReQ.js} (99%) rename workspace/zioinfo-web/backend/src/main/resources/static/assets/{Support-C4GaTldG.js => Support-DgVA3uzF.js} (99%) rename workspace/zioinfo-web/backend/src/main/resources/static/assets/{Terms-DJ4F13JV.js => Terms-Do0to3rY.js} (97%) rename workspace/zioinfo-web/backend/src/main/resources/static/assets/{index-B5QEzx5R.js => index-CpO7mTKO.js} (96%) rename workspace/zioinfo-web/backend/src/main/resources/static/assets/{useSeoMeta-SwLKmP5e.js => useSeoMeta-DR7HJfMM.js} (94%) diff --git a/workspace/zioinfo-web/backend/src/main/resources/static/assets/AdminDashboard-Byo55dWV.js b/workspace/zioinfo-web/backend/src/main/resources/static/assets/AdminDashboard-Cm5lBA34.js similarity index 97% rename from workspace/zioinfo-web/backend/src/main/resources/static/assets/AdminDashboard-Byo55dWV.js rename to workspace/zioinfo-web/backend/src/main/resources/static/assets/AdminDashboard-Cm5lBA34.js index fd250c79..aec71171 100644 --- a/workspace/zioinfo-web/backend/src/main/resources/static/assets/AdminDashboard-Byo55dWV.js +++ b/workspace/zioinfo-web/backend/src/main/resources/static/assets/AdminDashboard-Cm5lBA34.js @@ -1 +1 @@ -import{r as a,j as e,L as n}from"./index-B5QEzx5R.js";const h=s=>fetch(s,{headers:{Authorization:`Bearer ${localStorage.getItem("admin_token")}`}}).then(l=>l.json());function x(){var t,r;const[s,l]=a.useState(null),[c,d]=a.useState(!0);if(a.useEffect(()=>{h("/api/admin/dashboard").then(l).finally(()=>d(!1))},[]),c)return e.jsx("p",{style:{color:"#64748b",fontSize:14},children:"로딩 중..."});if(!s)return null;const o=[{icon:"📰",label:"전체 뉴스",value:s.totalNews,sub:`공개 ${s.visibleNews}건`,color:"blue"},{icon:"📩",label:"전체 문의",value:s.totalInquiries,sub:`미답변 ${s.pendingInquiries}건`,color:s.pendingInquiries>0?"red":"green"},{icon:"👥",label:"채용공고",value:s.totalRecruits,sub:`진행중 ${s.activeRecruits}건`,color:"green"}];return e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"admin-stats",children:[o.map(i=>e.jsxs("div",{className:"stat-card",children:[e.jsx("div",{className:`stat-icon ${i.color}`,children:i.icon}),e.jsxs("div",{className:"stat-info",children:[e.jsx("h4",{children:i.value}),e.jsxs("p",{children:[i.label,e.jsx("br",{}),e.jsx("span",{style:{fontSize:11},children:i.sub})]})]})]},i.label)),s.pendingInquiries>0&&e.jsxs("div",{className:"stat-card",style:{borderLeft:"3px solid #ef4444"},children:[e.jsx("div",{className:"stat-icon red",children:"🔔"}),e.jsxs("div",{className:"stat-info",children:[e.jsx("h4",{style:{color:"#ef4444"},children:s.pendingInquiries}),e.jsxs("p",{children:["미답변 문의",e.jsx("br",{}),e.jsx(n,{to:"/admin/inquiries",style:{fontSize:11,color:"#ef4444"},children:"바로가기 →"})]})]})]})]}),e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:16},children:[e.jsxs("div",{className:"admin-card",children:[e.jsxs("div",{className:"admin-card-header",children:[e.jsx("h3",{children:"📰 최근 뉴스"}),e.jsx(n,{to:"/admin/news",className:"btn btn-outline btn-sm",children:"전체보기"})]}),e.jsxs("ul",{className:"recent-list",children:[(s.recentNews||[]).map(i=>e.jsxs("li",{children:[e.jsx("span",{className:"rl-dot"}),e.jsx("span",{className:"rl-title",children:i.title}),e.jsx("span",{className:"rl-meta",children:i.category})]},i.id)),!((t=s.recentNews)!=null&&t.length)&&e.jsx("li",{style:{color:"#94a3b8",fontSize:13},children:"등록된 뉴스가 없습니다."})]})]}),e.jsxs("div",{className:"admin-card",children:[e.jsxs("div",{className:"admin-card-header",children:[e.jsx("h3",{children:"📩 최근 문의"}),e.jsx(n,{to:"/admin/inquiries",className:"btn btn-outline btn-sm",children:"전체보기"})]}),e.jsxs("ul",{className:"recent-list",children:[(s.recentInquiries||[]).map(i=>e.jsxs("li",{children:[e.jsx("span",{className:"rl-dot",style:{background:i.status==="PENDING"?"#ef4444":"#22c55e"}}),e.jsx("span",{className:"rl-title",children:i.subject}),e.jsx("span",{className:"rl-meta",children:i.name})]},i.id)),!((r=s.recentInquiries)!=null&&r.length)&&e.jsx("li",{style:{color:"#94a3b8",fontSize:13},children:"접수된 문의가 없습니다."})]})]})]})]})}export{x as default}; +import{r as a,j as e,L as n}from"./index-CpO7mTKO.js";const h=s=>fetch(s,{headers:{Authorization:`Bearer ${localStorage.getItem("admin_token")}`}}).then(l=>l.json());function x(){var t,r;const[s,l]=a.useState(null),[c,d]=a.useState(!0);if(a.useEffect(()=>{h("/api/admin/dashboard").then(l).finally(()=>d(!1))},[]),c)return e.jsx("p",{style:{color:"#64748b",fontSize:14},children:"로딩 중..."});if(!s)return null;const o=[{icon:"📰",label:"전체 뉴스",value:s.totalNews,sub:`공개 ${s.visibleNews}건`,color:"blue"},{icon:"📩",label:"전체 문의",value:s.totalInquiries,sub:`미답변 ${s.pendingInquiries}건`,color:s.pendingInquiries>0?"red":"green"},{icon:"👥",label:"채용공고",value:s.totalRecruits,sub:`진행중 ${s.activeRecruits}건`,color:"green"}];return e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"admin-stats",children:[o.map(i=>e.jsxs("div",{className:"stat-card",children:[e.jsx("div",{className:`stat-icon ${i.color}`,children:i.icon}),e.jsxs("div",{className:"stat-info",children:[e.jsx("h4",{children:i.value}),e.jsxs("p",{children:[i.label,e.jsx("br",{}),e.jsx("span",{style:{fontSize:11},children:i.sub})]})]})]},i.label)),s.pendingInquiries>0&&e.jsxs("div",{className:"stat-card",style:{borderLeft:"3px solid #ef4444"},children:[e.jsx("div",{className:"stat-icon red",children:"🔔"}),e.jsxs("div",{className:"stat-info",children:[e.jsx("h4",{style:{color:"#ef4444"},children:s.pendingInquiries}),e.jsxs("p",{children:["미답변 문의",e.jsx("br",{}),e.jsx(n,{to:"/admin/inquiries",style:{fontSize:11,color:"#ef4444"},children:"바로가기 →"})]})]})]})]}),e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:16},children:[e.jsxs("div",{className:"admin-card",children:[e.jsxs("div",{className:"admin-card-header",children:[e.jsx("h3",{children:"📰 최근 뉴스"}),e.jsx(n,{to:"/admin/news",className:"btn btn-outline btn-sm",children:"전체보기"})]}),e.jsxs("ul",{className:"recent-list",children:[(s.recentNews||[]).map(i=>e.jsxs("li",{children:[e.jsx("span",{className:"rl-dot"}),e.jsx("span",{className:"rl-title",children:i.title}),e.jsx("span",{className:"rl-meta",children:i.category})]},i.id)),!((t=s.recentNews)!=null&&t.length)&&e.jsx("li",{style:{color:"#94a3b8",fontSize:13},children:"등록된 뉴스가 없습니다."})]})]}),e.jsxs("div",{className:"admin-card",children:[e.jsxs("div",{className:"admin-card-header",children:[e.jsx("h3",{children:"📩 최근 문의"}),e.jsx(n,{to:"/admin/inquiries",className:"btn btn-outline btn-sm",children:"전체보기"})]}),e.jsxs("ul",{className:"recent-list",children:[(s.recentInquiries||[]).map(i=>e.jsxs("li",{children:[e.jsx("span",{className:"rl-dot",style:{background:i.status==="PENDING"?"#ef4444":"#22c55e"}}),e.jsx("span",{className:"rl-title",children:i.subject}),e.jsx("span",{className:"rl-meta",children:i.name})]},i.id)),!((r=s.recentInquiries)!=null&&r.length)&&e.jsx("li",{style:{color:"#94a3b8",fontSize:13},children:"접수된 문의가 없습니다."})]})]})]})]})}export{x as default}; diff --git a/workspace/zioinfo-web/backend/src/main/resources/static/assets/AdminInquiry-DJboQtoE.js b/workspace/zioinfo-web/backend/src/main/resources/static/assets/AdminInquiry-DeyVOtuR.js similarity index 98% rename from workspace/zioinfo-web/backend/src/main/resources/static/assets/AdminInquiry-DJboQtoE.js rename to workspace/zioinfo-web/backend/src/main/resources/static/assets/AdminInquiry-DeyVOtuR.js index 41e26555..ff39598d 100644 --- a/workspace/zioinfo-web/backend/src/main/resources/static/assets/AdminInquiry-DJboQtoE.js +++ b/workspace/zioinfo-web/backend/src/main/resources/static/assets/AdminInquiry-DeyVOtuR.js @@ -1 +1 @@ -import{r as c,j as e}from"./index-B5QEzx5R.js";const E=()=>localStorage.getItem("admin_token"),j=(a,l={})=>fetch(a,{...l,headers:{"Content-Type":"application/json",Authorization:`Bearer ${E()}`,...l.headers}}),b={PENDING:"미답변",ANSWERED:"답변완료",CLOSED:"종결"},g={PENDING:"badge-red",ANSWERED:"badge-green",CLOSED:"badge-gray"};function D(){var p;const[a,l]=c.useState(0),[o,N]=c.useState(""),[i,f]=c.useState({content:[],totalPages:0,totalElements:0}),[n,d]=c.useState(null),[h,u]=c.useState(null),S=(s,t="success")=>{u({msg:s,type:t}),setTimeout(()=>u(null),2500)},m=c.useCallback(()=>{const s=o?`&status=${o}`:"";j(`/api/admin/inquiries?page=${a}&size=10${s}`).then(t=>t.json()).then(f)},[a,o]);c.useEffect(()=>{m()},[m]);const r=async(s,t)=>{(await j(`/api/admin/inquiries/${s}/status`,{method:"PATCH",body:JSON.stringify({status:t})})).ok&&(m(),(n==null?void 0:n.id)===s&&d(v=>({...v,status:t})),S("상태가 변경되었습니다."))},y=async s=>{const t=await j(`/api/admin/inquiries/${s}`);t.ok&&d(await t.json())};return e.jsxs(e.Fragment,{children:[h&&e.jsx("div",{className:"admin-toast",children:e.jsx("div",{className:`toast-item ${h.type}`,children:h.msg})}),e.jsxs("div",{className:"admin-card",children:[e.jsxs("div",{className:"admin-toolbar",children:[e.jsxs("span",{style:{fontSize:13,color:"#64748b"},children:["전체 ",i.totalElements,"건"]}),e.jsxs("select",{className:"admin-select",value:o,onChange:s=>{N(s.target.value),l(0)},children:[e.jsx("option",{value:"",children:"전체 상태"}),e.jsx("option",{value:"PENDING",children:"미답변"}),e.jsx("option",{value:"ANSWERED",children:"답변완료"}),e.jsx("option",{value:"CLOSED",children:"종결"})]})]}),e.jsx("div",{className:"admin-table-wrap",children:e.jsxs("table",{className:"admin-table",children:[e.jsx("thead",{children:e.jsxs("tr",{children:[e.jsx("th",{children:"No"}),e.jsx("th",{children:"이름"}),e.jsx("th",{children:"제목"}),e.jsx("th",{children:"카테고리"}),e.jsx("th",{children:"상태"}),e.jsx("th",{children:"접수일"}),e.jsx("th",{children:"관리"})]})}),e.jsxs("tbody",{children:[i.content.map((s,t)=>{var x;return e.jsxs("tr",{style:{cursor:"pointer"},children:[e.jsx("td",{style:{color:"#94a3b8",fontSize:12},children:i.totalElements-a*10-t}),e.jsx("td",{children:s.name}),e.jsx("td",{onClick:()=>y(s.id),children:e.jsx("span",{className:"truncate",style:{display:"block",color:"#4f6ef7",cursor:"pointer"},children:s.subject})}),e.jsx("td",{children:e.jsx("span",{className:"badge badge-blue",children:s.category||"기타"})}),e.jsx("td",{children:e.jsx("span",{className:`badge ${g[s.status]||"badge-gray"}`,children:b[s.status]||s.status})}),e.jsx("td",{style:{fontSize:12,color:"#94a3b8"},children:(x=s.createdAt)==null?void 0:x.slice(0,10)}),e.jsx("td",{children:e.jsxs("div",{className:"action-btns",children:[s.status==="PENDING"&&e.jsx("button",{className:"btn btn-outline btn-sm",onClick:()=>r(s.id,"ANSWERED"),children:"답변완료"}),s.status!=="CLOSED"&&e.jsx("button",{className:"btn btn-outline btn-sm",onClick:()=>r(s.id,"CLOSED"),children:"종결"})]})})]},s.id)}),!i.content.length&&e.jsx("tr",{children:e.jsx("td",{colSpan:7,children:e.jsxs("div",{className:"empty-state",children:[e.jsx("div",{className:"empty-icon",children:"📩"}),e.jsx("p",{children:"접수된 문의가 없습니다."})]})})})]})]})}),i.totalPages>1&&e.jsxs("div",{className:"admin-pagination",children:[e.jsxs("span",{className:"admin-pagination-info",children:["페이지 ",a+1," / ",i.totalPages]}),e.jsxs("div",{className:"pagination-btns",children:[e.jsx("button",{disabled:a===0,onClick:()=>l(s=>s-1),children:"‹"}),Array.from({length:Math.min(i.totalPages,7)},(s,t)=>e.jsx("button",{className:a===t?"active":"",onClick:()=>l(t),children:t+1},t)),e.jsx("button",{disabled:a>=i.totalPages-1,onClick:()=>l(s=>s+1),children:"›"})]})]})]}),n&&e.jsx("div",{className:"modal-backdrop",onClick:s=>s.target===s.currentTarget&&d(null),children:e.jsxs("div",{className:"modal",children:[e.jsxs("div",{className:"modal-header",children:[e.jsx("h3",{children:"문의 상세"}),e.jsx("button",{onClick:()=>d(null),children:"✕"})]}),e.jsxs("div",{className:"modal-body",children:[e.jsx("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:12,marginBottom:16},children:[["이름",n.name],["이메일",n.email],["연락처",n.phone||"-"],["유형",n.category||"기타"]].map(([s,t])=>e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:11,fontWeight:600,color:"#64748b",marginBottom:3,textTransform:"uppercase"},children:s}),e.jsx("div",{style:{fontSize:13.5},children:t})]},s))}),e.jsxs("div",{style:{marginBottom:12},children:[e.jsx("div",{style:{fontSize:11,fontWeight:600,color:"#64748b",marginBottom:4,textTransform:"uppercase"},children:"제목"}),e.jsx("div",{style:{fontWeight:600,fontSize:15},children:n.subject})]}),e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:11,fontWeight:600,color:"#64748b",marginBottom:6,textTransform:"uppercase"},children:"내용"}),e.jsx("div",{style:{background:"#f8fafc",borderRadius:8,padding:"14px 16px",fontSize:13.5,lineHeight:1.7,whiteSpace:"pre-wrap",border:"1px solid #e2e8f0"},children:n.content})]}),e.jsxs("div",{style:{marginTop:16,display:"flex",alignItems:"center",gap:8},children:[e.jsxs("span",{style:{fontSize:12,color:"#64748b"},children:["접수일: ",(p=n.createdAt)==null?void 0:p.slice(0,16)]}),e.jsx("span",{className:`badge ${g[n.status]||"badge-gray"}`,children:b[n.status]})]})]}),e.jsxs("div",{className:"modal-footer",children:[n.status==="PENDING"&&e.jsx("button",{className:"btn btn-primary",onClick:()=>r(n.id,"ANSWERED"),children:"답변완료 처리"}),n.status!=="CLOSED"&&e.jsx("button",{className:"btn btn-outline",onClick:()=>r(n.id,"CLOSED"),children:"종결"}),e.jsx("button",{className:"btn btn-outline",onClick:()=>d(null),children:"닫기"})]})]})})]})}export{D as default}; +import{r as c,j as e}from"./index-CpO7mTKO.js";const E=()=>localStorage.getItem("admin_token"),j=(a,l={})=>fetch(a,{...l,headers:{"Content-Type":"application/json",Authorization:`Bearer ${E()}`,...l.headers}}),b={PENDING:"미답변",ANSWERED:"답변완료",CLOSED:"종결"},g={PENDING:"badge-red",ANSWERED:"badge-green",CLOSED:"badge-gray"};function D(){var p;const[a,l]=c.useState(0),[o,N]=c.useState(""),[i,f]=c.useState({content:[],totalPages:0,totalElements:0}),[n,d]=c.useState(null),[h,u]=c.useState(null),S=(s,t="success")=>{u({msg:s,type:t}),setTimeout(()=>u(null),2500)},m=c.useCallback(()=>{const s=o?`&status=${o}`:"";j(`/api/admin/inquiries?page=${a}&size=10${s}`).then(t=>t.json()).then(f)},[a,o]);c.useEffect(()=>{m()},[m]);const r=async(s,t)=>{(await j(`/api/admin/inquiries/${s}/status`,{method:"PATCH",body:JSON.stringify({status:t})})).ok&&(m(),(n==null?void 0:n.id)===s&&d(v=>({...v,status:t})),S("상태가 변경되었습니다."))},y=async s=>{const t=await j(`/api/admin/inquiries/${s}`);t.ok&&d(await t.json())};return e.jsxs(e.Fragment,{children:[h&&e.jsx("div",{className:"admin-toast",children:e.jsx("div",{className:`toast-item ${h.type}`,children:h.msg})}),e.jsxs("div",{className:"admin-card",children:[e.jsxs("div",{className:"admin-toolbar",children:[e.jsxs("span",{style:{fontSize:13,color:"#64748b"},children:["전체 ",i.totalElements,"건"]}),e.jsxs("select",{className:"admin-select",value:o,onChange:s=>{N(s.target.value),l(0)},children:[e.jsx("option",{value:"",children:"전체 상태"}),e.jsx("option",{value:"PENDING",children:"미답변"}),e.jsx("option",{value:"ANSWERED",children:"답변완료"}),e.jsx("option",{value:"CLOSED",children:"종결"})]})]}),e.jsx("div",{className:"admin-table-wrap",children:e.jsxs("table",{className:"admin-table",children:[e.jsx("thead",{children:e.jsxs("tr",{children:[e.jsx("th",{children:"No"}),e.jsx("th",{children:"이름"}),e.jsx("th",{children:"제목"}),e.jsx("th",{children:"카테고리"}),e.jsx("th",{children:"상태"}),e.jsx("th",{children:"접수일"}),e.jsx("th",{children:"관리"})]})}),e.jsxs("tbody",{children:[i.content.map((s,t)=>{var x;return e.jsxs("tr",{style:{cursor:"pointer"},children:[e.jsx("td",{style:{color:"#94a3b8",fontSize:12},children:i.totalElements-a*10-t}),e.jsx("td",{children:s.name}),e.jsx("td",{onClick:()=>y(s.id),children:e.jsx("span",{className:"truncate",style:{display:"block",color:"#4f6ef7",cursor:"pointer"},children:s.subject})}),e.jsx("td",{children:e.jsx("span",{className:"badge badge-blue",children:s.category||"기타"})}),e.jsx("td",{children:e.jsx("span",{className:`badge ${g[s.status]||"badge-gray"}`,children:b[s.status]||s.status})}),e.jsx("td",{style:{fontSize:12,color:"#94a3b8"},children:(x=s.createdAt)==null?void 0:x.slice(0,10)}),e.jsx("td",{children:e.jsxs("div",{className:"action-btns",children:[s.status==="PENDING"&&e.jsx("button",{className:"btn btn-outline btn-sm",onClick:()=>r(s.id,"ANSWERED"),children:"답변완료"}),s.status!=="CLOSED"&&e.jsx("button",{className:"btn btn-outline btn-sm",onClick:()=>r(s.id,"CLOSED"),children:"종결"})]})})]},s.id)}),!i.content.length&&e.jsx("tr",{children:e.jsx("td",{colSpan:7,children:e.jsxs("div",{className:"empty-state",children:[e.jsx("div",{className:"empty-icon",children:"📩"}),e.jsx("p",{children:"접수된 문의가 없습니다."})]})})})]})]})}),i.totalPages>1&&e.jsxs("div",{className:"admin-pagination",children:[e.jsxs("span",{className:"admin-pagination-info",children:["페이지 ",a+1," / ",i.totalPages]}),e.jsxs("div",{className:"pagination-btns",children:[e.jsx("button",{disabled:a===0,onClick:()=>l(s=>s-1),children:"‹"}),Array.from({length:Math.min(i.totalPages,7)},(s,t)=>e.jsx("button",{className:a===t?"active":"",onClick:()=>l(t),children:t+1},t)),e.jsx("button",{disabled:a>=i.totalPages-1,onClick:()=>l(s=>s+1),children:"›"})]})]})]}),n&&e.jsx("div",{className:"modal-backdrop",onClick:s=>s.target===s.currentTarget&&d(null),children:e.jsxs("div",{className:"modal",children:[e.jsxs("div",{className:"modal-header",children:[e.jsx("h3",{children:"문의 상세"}),e.jsx("button",{onClick:()=>d(null),children:"✕"})]}),e.jsxs("div",{className:"modal-body",children:[e.jsx("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:12,marginBottom:16},children:[["이름",n.name],["이메일",n.email],["연락처",n.phone||"-"],["유형",n.category||"기타"]].map(([s,t])=>e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:11,fontWeight:600,color:"#64748b",marginBottom:3,textTransform:"uppercase"},children:s}),e.jsx("div",{style:{fontSize:13.5},children:t})]},s))}),e.jsxs("div",{style:{marginBottom:12},children:[e.jsx("div",{style:{fontSize:11,fontWeight:600,color:"#64748b",marginBottom:4,textTransform:"uppercase"},children:"제목"}),e.jsx("div",{style:{fontWeight:600,fontSize:15},children:n.subject})]}),e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:11,fontWeight:600,color:"#64748b",marginBottom:6,textTransform:"uppercase"},children:"내용"}),e.jsx("div",{style:{background:"#f8fafc",borderRadius:8,padding:"14px 16px",fontSize:13.5,lineHeight:1.7,whiteSpace:"pre-wrap",border:"1px solid #e2e8f0"},children:n.content})]}),e.jsxs("div",{style:{marginTop:16,display:"flex",alignItems:"center",gap:8},children:[e.jsxs("span",{style:{fontSize:12,color:"#64748b"},children:["접수일: ",(p=n.createdAt)==null?void 0:p.slice(0,16)]}),e.jsx("span",{className:`badge ${g[n.status]||"badge-gray"}`,children:b[n.status]})]})]}),e.jsxs("div",{className:"modal-footer",children:[n.status==="PENDING"&&e.jsx("button",{className:"btn btn-primary",onClick:()=>r(n.id,"ANSWERED"),children:"답변완료 처리"}),n.status!=="CLOSED"&&e.jsx("button",{className:"btn btn-outline",onClick:()=>r(n.id,"CLOSED"),children:"종결"}),e.jsx("button",{className:"btn btn-outline",onClick:()=>d(null),children:"닫기"})]})]})})]})}export{D as default}; diff --git a/workspace/zioinfo-web/backend/src/main/resources/static/assets/AdminLayout-BAslvCIi.js b/workspace/zioinfo-web/backend/src/main/resources/static/assets/AdminLayout-BrKUjclZ.js similarity index 95% rename from workspace/zioinfo-web/backend/src/main/resources/static/assets/AdminLayout-BAslvCIi.js rename to workspace/zioinfo-web/backend/src/main/resources/static/assets/AdminLayout-BrKUjclZ.js index 0adf55e3..9bb80fc1 100644 --- a/workspace/zioinfo-web/backend/src/main/resources/static/assets/AdminLayout-BAslvCIi.js +++ b/workspace/zioinfo-web/backend/src/main/resources/static/assets/AdminLayout-BrKUjclZ.js @@ -1 +1 @@ -import{c as g,u as b,r as s,j as a,N as x,O as j}from"./index-B5QEzx5R.js";/* empty css */const N=[{section:"메인"},{path:"/admin/dashboard",icon:"📊",label:"대시보드"},{section:"콘텐츠 관리"},{path:"/admin/news",icon:"📰",label:"뉴스/공지사항"},{path:"/admin/recruit",icon:"👥",label:"채용공고"},{section:"고객 관리"},{path:"/admin/inquiries",icon:"📩",label:"문의 관리",badgeKey:"pendingInquiries"},{path:"/admin/members",icon:"👤",label:"회원 관리"},{section:"시스템"},{path:"/admin/settings",icon:"⚙️",label:"설정"}];function y(){const i=g(),c=b(),[t,o]=s.useState(null),[l,m]=s.useState("대시보드"),[r,h]=s.useState({});s.useEffect(()=>{const e=localStorage.getItem("admin_token");if(!e){i("/admin/login");return}const n=JSON.parse(localStorage.getItem("admin_user")||"{}");o(n),u(e)},[i]),s.useEffect(()=>{m({"/admin/dashboard":"대시보드","/admin/news":"뉴스/공지사항 관리","/admin/inquiries":"문의 관리","/admin/recruit":"채용공고 관리","/admin/members":"회원 관리","/admin/settings":"설정"}[c.pathname]||"관리자")},[c.pathname]);const u=async e=>{try{const n=await fetch("/api/admin/dashboard",{headers:{Authorization:`Bearer ${e}`}});if(n.ok){const d=await n.json();h({pendingInquiries:d.pendingInquiries||0})}}catch{}},p=()=>{localStorage.removeItem("admin_token"),localStorage.removeItem("admin_user"),i("/admin/login")};return t?a.jsxs("div",{className:"admin-wrap",children:[a.jsxs("aside",{className:"admin-sidebar",children:[a.jsxs("div",{className:"admin-sidebar-logo",children:[a.jsx("h2",{children:"ZioInfo Admin"}),a.jsx("span",{children:"(주)지오정보기술 관리자"})]}),a.jsx("nav",{className:"admin-nav",children:N.map((e,n)=>e.section?a.jsx("div",{className:"admin-nav-section",children:e.section},n):a.jsxs(x,{to:e.path,className:({isActive:d})=>d?"active":"",children:[a.jsx("span",{className:"nav-icon",children:e.icon}),e.label,e.badgeKey&&r[e.badgeKey]>0&&a.jsx("span",{className:"admin-nav-badge",children:r[e.badgeKey]})]},e.path))}),a.jsx("div",{className:"admin-sidebar-footer",children:a.jsx("button",{onClick:p,children:"🚪 로그아웃"})})]}),a.jsxs("main",{className:"admin-main",children:[a.jsxs("div",{className:"admin-topbar",children:[a.jsx("h1",{children:l}),a.jsxs("div",{className:"admin-topbar-right",children:[a.jsxs("span",{className:"admin-user-badge",children:["👤 ",t.displayName||t.username]}),a.jsx("a",{href:"/",target:"_blank",rel:"noreferrer",style:{fontSize:12,color:"#64748b",textDecoration:"none"},children:"🌐 홈페이지 보기"})]})]}),a.jsx("div",{className:"admin-content",children:a.jsx(j,{})})]})]}):null}export{y as default}; +import{c as g,u as b,r as s,j as a,N as x,O as j}from"./index-CpO7mTKO.js";/* empty css */const N=[{section:"메인"},{path:"/admin/dashboard",icon:"📊",label:"대시보드"},{section:"콘텐츠 관리"},{path:"/admin/news",icon:"📰",label:"뉴스/공지사항"},{path:"/admin/recruit",icon:"👥",label:"채용공고"},{section:"고객 관리"},{path:"/admin/inquiries",icon:"📩",label:"문의 관리",badgeKey:"pendingInquiries"},{path:"/admin/members",icon:"👤",label:"회원 관리"},{section:"시스템"},{path:"/admin/settings",icon:"⚙️",label:"설정"}];function y(){const i=g(),c=b(),[t,o]=s.useState(null),[l,m]=s.useState("대시보드"),[r,h]=s.useState({});s.useEffect(()=>{const e=localStorage.getItem("admin_token");if(!e){i("/admin/login");return}const n=JSON.parse(localStorage.getItem("admin_user")||"{}");o(n),u(e)},[i]),s.useEffect(()=>{m({"/admin/dashboard":"대시보드","/admin/news":"뉴스/공지사항 관리","/admin/inquiries":"문의 관리","/admin/recruit":"채용공고 관리","/admin/members":"회원 관리","/admin/settings":"설정"}[c.pathname]||"관리자")},[c.pathname]);const u=async e=>{try{const n=await fetch("/api/admin/dashboard",{headers:{Authorization:`Bearer ${e}`}});if(n.ok){const d=await n.json();h({pendingInquiries:d.pendingInquiries||0})}}catch{}},p=()=>{localStorage.removeItem("admin_token"),localStorage.removeItem("admin_user"),i("/admin/login")};return t?a.jsxs("div",{className:"admin-wrap",children:[a.jsxs("aside",{className:"admin-sidebar",children:[a.jsxs("div",{className:"admin-sidebar-logo",children:[a.jsx("h2",{children:"ZioInfo Admin"}),a.jsx("span",{children:"(주)지오정보기술 관리자"})]}),a.jsx("nav",{className:"admin-nav",children:N.map((e,n)=>e.section?a.jsx("div",{className:"admin-nav-section",children:e.section},n):a.jsxs(x,{to:e.path,className:({isActive:d})=>d?"active":"",children:[a.jsx("span",{className:"nav-icon",children:e.icon}),e.label,e.badgeKey&&r[e.badgeKey]>0&&a.jsx("span",{className:"admin-nav-badge",children:r[e.badgeKey]})]},e.path))}),a.jsx("div",{className:"admin-sidebar-footer",children:a.jsx("button",{onClick:p,children:"🚪 로그아웃"})})]}),a.jsxs("main",{className:"admin-main",children:[a.jsxs("div",{className:"admin-topbar",children:[a.jsx("h1",{children:l}),a.jsxs("div",{className:"admin-topbar-right",children:[a.jsxs("span",{className:"admin-user-badge",children:["👤 ",t.displayName||t.username]}),a.jsx("a",{href:"/",target:"_blank",rel:"noreferrer",style:{fontSize:12,color:"#64748b",textDecoration:"none"},children:"🌐 홈페이지 보기"})]})]}),a.jsx("div",{className:"admin-content",children:a.jsx(j,{})})]})]}):null}export{y as default}; diff --git a/workspace/zioinfo-web/backend/src/main/resources/static/assets/AdminLogin-DQYeKipf.js b/workspace/zioinfo-web/backend/src/main/resources/static/assets/AdminLogin-B0FdhDjZ.js similarity index 96% rename from workspace/zioinfo-web/backend/src/main/resources/static/assets/AdminLogin-DQYeKipf.js rename to workspace/zioinfo-web/backend/src/main/resources/static/assets/AdminLogin-B0FdhDjZ.js index 855e3f91..fd43f4bf 100644 --- a/workspace/zioinfo-web/backend/src/main/resources/static/assets/AdminLogin-DQYeKipf.js +++ b/workspace/zioinfo-web/backend/src/main/resources/static/assets/AdminLogin-B0FdhDjZ.js @@ -1 +1 @@ -import{r as i,c as p,j as e}from"./index-B5QEzx5R.js";/* empty css */function x(){const[t,o]=i.useState({username:"",password:""}),[l,r]=i.useState(""),[d,c]=i.useState(!1),m=p(),u=async a=>{a.preventDefault(),r(""),c(!0);try{const s=await fetch("/api/admin/login",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}),n=await s.json();if(!s.ok){r(n.message||"로그인 실패");return}localStorage.setItem("admin_token",n.token),localStorage.setItem("admin_user",JSON.stringify({username:n.username,displayName:n.displayName})),m("/admin/dashboard")}catch{r("서버 연결 오류가 발생했습니다.")}finally{c(!1)}};return e.jsx("div",{className:"admin-login-page",children:e.jsxs("div",{className:"admin-login-box",children:[e.jsxs("div",{className:"login-logo",children:[e.jsx("span",{className:"login-badge",children:"ADMIN"}),e.jsx("h1",{children:"(주)지오정보기술"}),e.jsx("p",{children:"홈페이지 관리자 시스템"})]}),l&&e.jsxs("div",{className:"login-error",children:["⚠ ",l]}),e.jsxs("form",{onSubmit:u,children:[e.jsxs("div",{className:"login-input-group",children:[e.jsx("label",{children:"아이디"}),e.jsx("input",{type:"text",placeholder:"관리자 아이디",value:t.username,required:!0,onChange:a=>o(s=>({...s,username:a.target.value}))})]}),e.jsxs("div",{className:"login-input-group",children:[e.jsx("label",{children:"비밀번호"}),e.jsx("input",{type:"password",placeholder:"비밀번호",value:t.password,required:!0,onChange:a=>o(s=>({...s,password:a.target.value}))})]}),e.jsx("button",{type:"submit",className:"login-btn",disabled:d,children:d?"로그인 중...":"로그인"})]}),e.jsxs("p",{style:{textAlign:"center",marginTop:20,fontSize:12,color:"#94a3b8"},children:["홈페이지로 돌아가기: ",e.jsx("a",{href:"/",style:{color:"#4f6ef7"},children:"메인 페이지"})]})]})})}export{x as default}; +import{r as i,c as p,j as e}from"./index-CpO7mTKO.js";/* empty css */function x(){const[t,o]=i.useState({username:"",password:""}),[l,r]=i.useState(""),[d,c]=i.useState(!1),m=p(),u=async a=>{a.preventDefault(),r(""),c(!0);try{const s=await fetch("/api/admin/login",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}),n=await s.json();if(!s.ok){r(n.message||"로그인 실패");return}localStorage.setItem("admin_token",n.token),localStorage.setItem("admin_user",JSON.stringify({username:n.username,displayName:n.displayName})),m("/admin/dashboard")}catch{r("서버 연결 오류가 발생했습니다.")}finally{c(!1)}};return e.jsx("div",{className:"admin-login-page",children:e.jsxs("div",{className:"admin-login-box",children:[e.jsxs("div",{className:"login-logo",children:[e.jsx("span",{className:"login-badge",children:"ADMIN"}),e.jsx("h1",{children:"(주)지오정보기술"}),e.jsx("p",{children:"홈페이지 관리자 시스템"})]}),l&&e.jsxs("div",{className:"login-error",children:["⚠ ",l]}),e.jsxs("form",{onSubmit:u,children:[e.jsxs("div",{className:"login-input-group",children:[e.jsx("label",{children:"아이디"}),e.jsx("input",{type:"text",placeholder:"관리자 아이디",value:t.username,required:!0,onChange:a=>o(s=>({...s,username:a.target.value}))})]}),e.jsxs("div",{className:"login-input-group",children:[e.jsx("label",{children:"비밀번호"}),e.jsx("input",{type:"password",placeholder:"비밀번호",value:t.password,required:!0,onChange:a=>o(s=>({...s,password:a.target.value}))})]}),e.jsx("button",{type:"submit",className:"login-btn",disabled:d,children:d?"로그인 중...":"로그인"})]}),e.jsxs("p",{style:{textAlign:"center",marginTop:20,fontSize:12,color:"#94a3b8"},children:["홈페이지로 돌아가기: ",e.jsx("a",{href:"/",style:{color:"#4f6ef7"},children:"메인 페이지"})]})]})})}export{x as default}; diff --git a/workspace/zioinfo-web/backend/src/main/resources/static/assets/AdminMember-B-Uhh08h.js b/workspace/zioinfo-web/backend/src/main/resources/static/assets/AdminMember-CijTHaa9.js similarity index 98% rename from workspace/zioinfo-web/backend/src/main/resources/static/assets/AdminMember-B-Uhh08h.js rename to workspace/zioinfo-web/backend/src/main/resources/static/assets/AdminMember-CijTHaa9.js index 26a1bed2..a2b912c1 100644 --- a/workspace/zioinfo-web/backend/src/main/resources/static/assets/AdminMember-B-Uhh08h.js +++ b/workspace/zioinfo-web/backend/src/main/resources/static/assets/AdminMember-CijTHaa9.js @@ -1 +1 @@ -import{r as d,j as t}from"./index-B5QEzx5R.js";const c="/api/admin/members",w=()=>localStorage.getItem("admin_token"),p=()=>({Authorization:`Bearer ${w()}`,"Content-Type":"application/json"});function C(){const[x,y]=d.useState({content:[],totalElements:0}),[n,i]=d.useState(0),[f,j]=d.useState(""),[a,S]=d.useState(""),[m,h]=d.useState(!1),l=async(e=n,r=a)=>{h(!0);try{const o=new URLSearchParams({page:e,size:20,...r&&{keyword:r}}),u=await fetch(`${c}?${o}`,{headers:p()});u.ok&&y(await u.json())}finally{h(!1)}};d.useEffect(()=>{l()},[n,a]);const k=e=>{e.preventDefault(),i(0),S(f)},v=async(e,r)=>{confirm(`${r?"비활성화":"활성화"}하시겠습니까?`)&&(await fetch(`${c}/${e}/status`,{method:"PATCH",headers:p(),body:JSON.stringify({active:!r})}),l())},z=async e=>{confirm("삭제하면 복구할 수 없습니다. 삭제하시겠습니까?")&&(await fetch(`${c}/${e}`,{method:"DELETE",headers:p()}),l())},g=x.content||[],b=x.totalElements||0,s=Math.ceil(b/20);return t.jsxs("div",{children:[t.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:24},children:[t.jsxs("div",{children:[t.jsx("h2",{style:{fontSize:20,fontWeight:700,color:"#1e293b",margin:0},children:"회원 관리"}),t.jsxs("p",{style:{fontSize:13,color:"#64748b",margin:"4px 0 0"},children:["총 ",b.toLocaleString(),"명"]})]}),t.jsxs("form",{onSubmit:k,style:{display:"flex",gap:8},children:[t.jsx("input",{value:f,onChange:e=>j(e.target.value),placeholder:"이름 / 이메일 / 소속 검색",style:{padding:"8px 14px",border:"1px solid #e2e8f0",borderRadius:8,fontSize:13,width:240,outline:"none"}}),t.jsx("button",{type:"submit",style:{padding:"8px 16px",background:"#1a5fd8",color:"#fff",border:"none",borderRadius:8,fontSize:13,cursor:"pointer"},children:"검색"})]})]}),t.jsx("div",{style:{background:"#fff",border:"1px solid #e2e8f0",borderRadius:10,overflow:"hidden"},children:t.jsxs("table",{style:{width:"100%",borderCollapse:"collapse",fontSize:13},children:[t.jsx("thead",{children:t.jsx("tr",{style:{background:"#f8fafc"},children:["ID","이름","이메일","연락처","소속","가입일","상태","액션"].map(e=>t.jsx("th",{style:{padding:"10px 14px",textAlign:"left",fontWeight:600,color:"#475569",borderBottom:"1px solid #e2e8f0"},children:e},e))})}),t.jsx("tbody",{children:m?t.jsx("tr",{children:t.jsx("td",{colSpan:8,style:{padding:40,textAlign:"center",color:"#94a3b8"},children:"로딩 중..."})}):g.length===0?t.jsx("tr",{children:t.jsx("td",{colSpan:8,style:{padding:40,textAlign:"center",color:"#94a3b8"},children:a?"검색 결과가 없습니다.":"등록된 회원이 없습니다."})}):g.map(e=>t.jsxs("tr",{style:{borderBottom:"1px solid #f1f5f9"},children:[t.jsxs("td",{style:{padding:"10px 14px",color:"#94a3b8"},children:["#",e.id]}),t.jsx("td",{style:{padding:"10px 14px",fontWeight:600,color:"#1e293b"},children:e.name}),t.jsx("td",{style:{padding:"10px 14px",color:"#475569"},children:e.email}),t.jsx("td",{style:{padding:"10px 14px",color:"#64748b"},children:e.phone||"-"}),t.jsx("td",{style:{padding:"10px 14px",color:"#64748b"},children:e.company||"-"}),t.jsx("td",{style:{padding:"10px 14px",color:"#64748b",fontSize:12},children:e.createdAt?new Date(e.createdAt).toLocaleDateString("ko-KR"):"-"}),t.jsx("td",{style:{padding:"10px 14px"},children:t.jsx("span",{style:{padding:"3px 10px",borderRadius:12,fontSize:11,fontWeight:700,background:e.active?"#dcfce7":"#fee2e2",color:e.active?"#16a34a":"#dc2626"},children:e.active?"활성":"비활성"})}),t.jsx("td",{style:{padding:"10px 14px"},children:t.jsxs("div",{style:{display:"flex",gap:6},children:[t.jsx("button",{onClick:()=>v(e.id,e.active),style:{padding:"4px 10px",fontSize:11,borderRadius:6,cursor:"pointer",background:e.active?"#fef3c7":"#dcfce7",color:e.active?"#92400e":"#166534",border:"none"},children:e.active?"비활성화":"활성화"}),t.jsx("button",{onClick:()=>z(e.id),style:{padding:"4px 10px",fontSize:11,borderRadius:6,cursor:"pointer",background:"#fef2f2",color:"#dc2626",border:"none"},children:"삭제"})]})})]},e.id))})]})}),s>1&&t.jsxs("div",{style:{display:"flex",gap:6,justifyContent:"center",marginTop:20},children:[t.jsx("button",{onClick:()=>i(e=>Math.max(0,e-1)),disabled:n===0,style:{padding:"6px 14px",borderRadius:6,border:"1px solid #e2e8f0",background:"#fff",cursor:"pointer",fontSize:13},children:"이전"}),Array.from({length:Math.min(5,s)},(e,r)=>{const o=Math.max(0,Math.min(n-2,s-5))+r;return t.jsx("button",{onClick:()=>i(o),style:{padding:"6px 12px",borderRadius:6,fontSize:13,cursor:"pointer",border:o===n?"none":"1px solid #e2e8f0",background:o===n?"#1a5fd8":"#fff",color:o===n?"#fff":"#475569"},children:o+1},o)}),t.jsx("button",{onClick:()=>i(e=>Math.min(s-1,e+1)),disabled:n===s-1,style:{padding:"6px 14px",borderRadius:6,border:"1px solid #e2e8f0",background:"#fff",cursor:"pointer",fontSize:13},children:"다음"})]})]})}export{C as default}; +import{r as d,j as t}from"./index-CpO7mTKO.js";const c="/api/admin/members",w=()=>localStorage.getItem("admin_token"),p=()=>({Authorization:`Bearer ${w()}`,"Content-Type":"application/json"});function C(){const[x,y]=d.useState({content:[],totalElements:0}),[n,i]=d.useState(0),[f,j]=d.useState(""),[a,S]=d.useState(""),[m,h]=d.useState(!1),l=async(e=n,r=a)=>{h(!0);try{const o=new URLSearchParams({page:e,size:20,...r&&{keyword:r}}),u=await fetch(`${c}?${o}`,{headers:p()});u.ok&&y(await u.json())}finally{h(!1)}};d.useEffect(()=>{l()},[n,a]);const k=e=>{e.preventDefault(),i(0),S(f)},v=async(e,r)=>{confirm(`${r?"비활성화":"활성화"}하시겠습니까?`)&&(await fetch(`${c}/${e}/status`,{method:"PATCH",headers:p(),body:JSON.stringify({active:!r})}),l())},z=async e=>{confirm("삭제하면 복구할 수 없습니다. 삭제하시겠습니까?")&&(await fetch(`${c}/${e}`,{method:"DELETE",headers:p()}),l())},g=x.content||[],b=x.totalElements||0,s=Math.ceil(b/20);return t.jsxs("div",{children:[t.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:24},children:[t.jsxs("div",{children:[t.jsx("h2",{style:{fontSize:20,fontWeight:700,color:"#1e293b",margin:0},children:"회원 관리"}),t.jsxs("p",{style:{fontSize:13,color:"#64748b",margin:"4px 0 0"},children:["총 ",b.toLocaleString(),"명"]})]}),t.jsxs("form",{onSubmit:k,style:{display:"flex",gap:8},children:[t.jsx("input",{value:f,onChange:e=>j(e.target.value),placeholder:"이름 / 이메일 / 소속 검색",style:{padding:"8px 14px",border:"1px solid #e2e8f0",borderRadius:8,fontSize:13,width:240,outline:"none"}}),t.jsx("button",{type:"submit",style:{padding:"8px 16px",background:"#1a5fd8",color:"#fff",border:"none",borderRadius:8,fontSize:13,cursor:"pointer"},children:"검색"})]})]}),t.jsx("div",{style:{background:"#fff",border:"1px solid #e2e8f0",borderRadius:10,overflow:"hidden"},children:t.jsxs("table",{style:{width:"100%",borderCollapse:"collapse",fontSize:13},children:[t.jsx("thead",{children:t.jsx("tr",{style:{background:"#f8fafc"},children:["ID","이름","이메일","연락처","소속","가입일","상태","액션"].map(e=>t.jsx("th",{style:{padding:"10px 14px",textAlign:"left",fontWeight:600,color:"#475569",borderBottom:"1px solid #e2e8f0"},children:e},e))})}),t.jsx("tbody",{children:m?t.jsx("tr",{children:t.jsx("td",{colSpan:8,style:{padding:40,textAlign:"center",color:"#94a3b8"},children:"로딩 중..."})}):g.length===0?t.jsx("tr",{children:t.jsx("td",{colSpan:8,style:{padding:40,textAlign:"center",color:"#94a3b8"},children:a?"검색 결과가 없습니다.":"등록된 회원이 없습니다."})}):g.map(e=>t.jsxs("tr",{style:{borderBottom:"1px solid #f1f5f9"},children:[t.jsxs("td",{style:{padding:"10px 14px",color:"#94a3b8"},children:["#",e.id]}),t.jsx("td",{style:{padding:"10px 14px",fontWeight:600,color:"#1e293b"},children:e.name}),t.jsx("td",{style:{padding:"10px 14px",color:"#475569"},children:e.email}),t.jsx("td",{style:{padding:"10px 14px",color:"#64748b"},children:e.phone||"-"}),t.jsx("td",{style:{padding:"10px 14px",color:"#64748b"},children:e.company||"-"}),t.jsx("td",{style:{padding:"10px 14px",color:"#64748b",fontSize:12},children:e.createdAt?new Date(e.createdAt).toLocaleDateString("ko-KR"):"-"}),t.jsx("td",{style:{padding:"10px 14px"},children:t.jsx("span",{style:{padding:"3px 10px",borderRadius:12,fontSize:11,fontWeight:700,background:e.active?"#dcfce7":"#fee2e2",color:e.active?"#16a34a":"#dc2626"},children:e.active?"활성":"비활성"})}),t.jsx("td",{style:{padding:"10px 14px"},children:t.jsxs("div",{style:{display:"flex",gap:6},children:[t.jsx("button",{onClick:()=>v(e.id,e.active),style:{padding:"4px 10px",fontSize:11,borderRadius:6,cursor:"pointer",background:e.active?"#fef3c7":"#dcfce7",color:e.active?"#92400e":"#166534",border:"none"},children:e.active?"비활성화":"활성화"}),t.jsx("button",{onClick:()=>z(e.id),style:{padding:"4px 10px",fontSize:11,borderRadius:6,cursor:"pointer",background:"#fef2f2",color:"#dc2626",border:"none"},children:"삭제"})]})})]},e.id))})]})}),s>1&&t.jsxs("div",{style:{display:"flex",gap:6,justifyContent:"center",marginTop:20},children:[t.jsx("button",{onClick:()=>i(e=>Math.max(0,e-1)),disabled:n===0,style:{padding:"6px 14px",borderRadius:6,border:"1px solid #e2e8f0",background:"#fff",cursor:"pointer",fontSize:13},children:"이전"}),Array.from({length:Math.min(5,s)},(e,r)=>{const o=Math.max(0,Math.min(n-2,s-5))+r;return t.jsx("button",{onClick:()=>i(o),style:{padding:"6px 12px",borderRadius:6,fontSize:13,cursor:"pointer",border:o===n?"none":"1px solid #e2e8f0",background:o===n?"#1a5fd8":"#fff",color:o===n?"#fff":"#475569"},children:o+1},o)}),t.jsx("button",{onClick:()=>i(e=>Math.min(s-1,e+1)),disabled:n===s-1,style:{padding:"6px 14px",borderRadius:6,border:"1px solid #e2e8f0",background:"#fff",cursor:"pointer",fontSize:13},children:"다음"})]})]})}export{C as default}; diff --git a/workspace/zioinfo-web/backend/src/main/resources/static/assets/AdminNews-CRnlseyW.js b/workspace/zioinfo-web/backend/src/main/resources/static/assets/AdminNews-DzZr7hW0.js similarity index 98% rename from workspace/zioinfo-web/backend/src/main/resources/static/assets/AdminNews-CRnlseyW.js rename to workspace/zioinfo-web/backend/src/main/resources/static/assets/AdminNews-DzZr7hW0.js index d96640e9..3b171811 100644 --- a/workspace/zioinfo-web/backend/src/main/resources/static/assets/AdminNews-CRnlseyW.js +++ b/workspace/zioinfo-web/backend/src/main/resources/static/assets/AdminNews-DzZr7hW0.js @@ -1 +1 @@ -import{r as l,j as e}from"./index-B5QEzx5R.js";const P=()=>localStorage.getItem("admin_token"),x=(a,c={})=>fetch(a,{...c,headers:{"Content-Type":"application/json",Authorization:`Bearer ${P()}`,...c.headers}}),f={title:"",category:"공지사항",summary:"",content:"",thumbnailUrl:"",visible:!0},$=["공지사항","보도자료","이벤트"];function z(){const[a,c]=l.useState(0),[n,y]=l.useState({content:[],totalPages:0,totalElements:0}),[C,o]=l.useState(null),[i,j]=l.useState(f),[r,g]=l.useState(null),[p,v]=l.useState(!1),[u,N]=l.useState(null),b=(s,t="success")=>{N({msg:s,type:t}),setTimeout(()=>N(null),2500)},m=l.useCallback(()=>{x(`/api/admin/news?page=${a}&size=10`).then(s=>s.json()).then(y)},[a]);l.useEffect(()=>{m()},[m]);const k=()=>{j(f),g(null),o("form")},S=s=>{j({...s}),g(s.id),o("form")},w=async()=>{v(!0);const s=r?`/api/admin/news/${r}`:"/api/admin/news",h=await x(s,{method:r?"PUT":"POST",body:JSON.stringify(i)});v(!1),h.ok?(o(null),m(),b(r?"수정되었습니다.":"등록되었습니다.")):b("저장 실패","error")},E=async s=>{if(!confirm("삭제하시겠습니까?"))return;(await x(`/api/admin/news/${s}`,{method:"DELETE"})).ok&&(m(),b("삭제되었습니다."))},T=async s=>{await x(`/api/admin/news/${s}/visibility`,{method:"PATCH"}),m()},d=(s,t)=>j(h=>({...h,[s]:t}));return e.jsxs(e.Fragment,{children:[u&&e.jsx("div",{className:"admin-toast",children:e.jsx("div",{className:`toast-item ${u.type}`,children:u.msg})}),e.jsxs("div",{className:"admin-card",children:[e.jsxs("div",{className:"admin-toolbar",children:[e.jsxs("span",{style:{fontSize:13,color:"#64748b"},children:["전체 ",n.totalElements,"건"]}),e.jsx("div",{className:"admin-toolbar-right",children:e.jsx("button",{className:"btn btn-primary",onClick:k,children:"+ 뉴스 등록"})})]}),e.jsx("div",{className:"admin-table-wrap",children:e.jsxs("table",{className:"admin-table",children:[e.jsx("thead",{children:e.jsxs("tr",{children:[e.jsx("th",{children:"No"}),e.jsx("th",{children:"제목"}),e.jsx("th",{children:"카테고리"}),e.jsx("th",{children:"공개"}),e.jsx("th",{children:"조회수"}),e.jsx("th",{children:"등록일"}),e.jsx("th",{children:"관리"})]})}),e.jsxs("tbody",{children:[n.content.map((s,t)=>{var h;return e.jsxs("tr",{children:[e.jsx("td",{style:{color:"#94a3b8",fontSize:12},children:n.totalElements-a*10-t}),e.jsx("td",{children:e.jsx("span",{className:"truncate",style:{display:"block"},children:s.title})}),e.jsx("td",{children:e.jsx("span",{className:`badge ${s.category==="보도자료"?"badge-blue":s.category==="이벤트"?"badge-orange":"badge-gray"}`,children:s.category})}),e.jsx("td",{children:e.jsx("button",{onClick:()=>T(s.id),className:`badge ${s.visible?"badge-green":"badge-red"}`,style:{cursor:"pointer",border:"none"},children:s.visible?"공개":"비공개"})}),e.jsx("td",{children:s.viewCount}),e.jsx("td",{style:{fontSize:12,color:"#94a3b8"},children:(h=s.createdAt)==null?void 0:h.slice(0,10)}),e.jsx("td",{children:e.jsxs("div",{className:"action-btns",children:[e.jsx("button",{className:"btn btn-outline btn-sm",onClick:()=>S(s),children:"수정"}),e.jsx("button",{className:"btn btn-danger btn-sm",onClick:()=>E(s.id),children:"삭제"})]})})]},s.id)}),!n.content.length&&e.jsx("tr",{children:e.jsx("td",{colSpan:7,children:e.jsxs("div",{className:"empty-state",children:[e.jsx("div",{className:"empty-icon",children:"📰"}),e.jsx("p",{children:"등록된 뉴스가 없습니다."})]})})})]})]})}),n.totalPages>1&&e.jsxs("div",{className:"admin-pagination",children:[e.jsxs("span",{className:"admin-pagination-info",children:["페이지 ",a+1," / ",n.totalPages]}),e.jsxs("div",{className:"pagination-btns",children:[e.jsx("button",{disabled:a===0,onClick:()=>c(s=>s-1),children:"‹"}),Array.from({length:n.totalPages},(s,t)=>e.jsx("button",{className:a===t?"active":"",onClick:()=>c(t),children:t+1},t)),e.jsx("button",{disabled:a>=n.totalPages-1,onClick:()=>c(s=>s+1),children:"›"})]})]})]}),C==="form"&&e.jsx("div",{className:"modal-backdrop",onClick:s=>s.target===s.currentTarget&&o(null),children:e.jsxs("div",{className:"modal",children:[e.jsxs("div",{className:"modal-header",children:[e.jsx("h3",{children:r?"뉴스 수정":"뉴스 등록"}),e.jsx("button",{onClick:()=>o(null),children:"✕"})]}),e.jsxs("div",{className:"modal-body",children:[e.jsxs("div",{className:"form-group",children:[e.jsx("label",{children:"제목 *"}),e.jsx("input",{className:"form-control",value:i.title,onChange:s=>d("title",s.target.value),placeholder:"뉴스 제목을 입력하세요"})]}),e.jsxs("div",{className:"form-row",children:[e.jsxs("div",{className:"form-group",children:[e.jsx("label",{children:"카테고리"}),e.jsx("select",{className:"form-control",value:i.category,onChange:s=>d("category",s.target.value),children:$.map(s=>e.jsx("option",{children:s},s))})]}),e.jsxs("div",{className:"form-group",children:[e.jsx("label",{children:"공개 여부"}),e.jsxs("select",{className:"form-control",value:i.visible,onChange:s=>d("visible",s.target.value==="true"),children:[e.jsx("option",{value:"true",children:"공개"}),e.jsx("option",{value:"false",children:"비공개"})]})]})]}),e.jsxs("div",{className:"form-group",children:[e.jsx("label",{children:"요약"}),e.jsx("input",{className:"form-control",value:i.summary||"",onChange:s=>d("summary",s.target.value),placeholder:"목록에 표시될 요약 문구"})]}),e.jsxs("div",{className:"form-group",children:[e.jsx("label",{children:"썸네일 URL"}),e.jsx("input",{className:"form-control",value:i.thumbnailUrl||"",onChange:s=>d("thumbnailUrl",s.target.value),placeholder:"https://..."})]}),e.jsxs("div",{className:"form-group",children:[e.jsx("label",{children:"본문 내용 *"}),e.jsx("textarea",{className:"form-control",rows:8,value:i.content||"",onChange:s=>d("content",s.target.value),placeholder:"뉴스 본문 내용을 입력하세요"})]})]}),e.jsxs("div",{className:"modal-footer",children:[e.jsx("button",{className:"btn btn-outline",onClick:()=>o(null),children:"취소"}),e.jsx("button",{className:"btn btn-primary",onClick:w,disabled:p||!i.title,children:p?"저장 중...":r?"수정 완료":"등록"})]})]})})]})}export{z as default}; +import{r as l,j as e}from"./index-CpO7mTKO.js";const P=()=>localStorage.getItem("admin_token"),x=(a,c={})=>fetch(a,{...c,headers:{"Content-Type":"application/json",Authorization:`Bearer ${P()}`,...c.headers}}),f={title:"",category:"공지사항",summary:"",content:"",thumbnailUrl:"",visible:!0},$=["공지사항","보도자료","이벤트"];function z(){const[a,c]=l.useState(0),[n,y]=l.useState({content:[],totalPages:0,totalElements:0}),[C,o]=l.useState(null),[i,j]=l.useState(f),[r,g]=l.useState(null),[p,v]=l.useState(!1),[u,N]=l.useState(null),b=(s,t="success")=>{N({msg:s,type:t}),setTimeout(()=>N(null),2500)},m=l.useCallback(()=>{x(`/api/admin/news?page=${a}&size=10`).then(s=>s.json()).then(y)},[a]);l.useEffect(()=>{m()},[m]);const k=()=>{j(f),g(null),o("form")},S=s=>{j({...s}),g(s.id),o("form")},w=async()=>{v(!0);const s=r?`/api/admin/news/${r}`:"/api/admin/news",h=await x(s,{method:r?"PUT":"POST",body:JSON.stringify(i)});v(!1),h.ok?(o(null),m(),b(r?"수정되었습니다.":"등록되었습니다.")):b("저장 실패","error")},E=async s=>{if(!confirm("삭제하시겠습니까?"))return;(await x(`/api/admin/news/${s}`,{method:"DELETE"})).ok&&(m(),b("삭제되었습니다."))},T=async s=>{await x(`/api/admin/news/${s}/visibility`,{method:"PATCH"}),m()},d=(s,t)=>j(h=>({...h,[s]:t}));return e.jsxs(e.Fragment,{children:[u&&e.jsx("div",{className:"admin-toast",children:e.jsx("div",{className:`toast-item ${u.type}`,children:u.msg})}),e.jsxs("div",{className:"admin-card",children:[e.jsxs("div",{className:"admin-toolbar",children:[e.jsxs("span",{style:{fontSize:13,color:"#64748b"},children:["전체 ",n.totalElements,"건"]}),e.jsx("div",{className:"admin-toolbar-right",children:e.jsx("button",{className:"btn btn-primary",onClick:k,children:"+ 뉴스 등록"})})]}),e.jsx("div",{className:"admin-table-wrap",children:e.jsxs("table",{className:"admin-table",children:[e.jsx("thead",{children:e.jsxs("tr",{children:[e.jsx("th",{children:"No"}),e.jsx("th",{children:"제목"}),e.jsx("th",{children:"카테고리"}),e.jsx("th",{children:"공개"}),e.jsx("th",{children:"조회수"}),e.jsx("th",{children:"등록일"}),e.jsx("th",{children:"관리"})]})}),e.jsxs("tbody",{children:[n.content.map((s,t)=>{var h;return e.jsxs("tr",{children:[e.jsx("td",{style:{color:"#94a3b8",fontSize:12},children:n.totalElements-a*10-t}),e.jsx("td",{children:e.jsx("span",{className:"truncate",style:{display:"block"},children:s.title})}),e.jsx("td",{children:e.jsx("span",{className:`badge ${s.category==="보도자료"?"badge-blue":s.category==="이벤트"?"badge-orange":"badge-gray"}`,children:s.category})}),e.jsx("td",{children:e.jsx("button",{onClick:()=>T(s.id),className:`badge ${s.visible?"badge-green":"badge-red"}`,style:{cursor:"pointer",border:"none"},children:s.visible?"공개":"비공개"})}),e.jsx("td",{children:s.viewCount}),e.jsx("td",{style:{fontSize:12,color:"#94a3b8"},children:(h=s.createdAt)==null?void 0:h.slice(0,10)}),e.jsx("td",{children:e.jsxs("div",{className:"action-btns",children:[e.jsx("button",{className:"btn btn-outline btn-sm",onClick:()=>S(s),children:"수정"}),e.jsx("button",{className:"btn btn-danger btn-sm",onClick:()=>E(s.id),children:"삭제"})]})})]},s.id)}),!n.content.length&&e.jsx("tr",{children:e.jsx("td",{colSpan:7,children:e.jsxs("div",{className:"empty-state",children:[e.jsx("div",{className:"empty-icon",children:"📰"}),e.jsx("p",{children:"등록된 뉴스가 없습니다."})]})})})]})]})}),n.totalPages>1&&e.jsxs("div",{className:"admin-pagination",children:[e.jsxs("span",{className:"admin-pagination-info",children:["페이지 ",a+1," / ",n.totalPages]}),e.jsxs("div",{className:"pagination-btns",children:[e.jsx("button",{disabled:a===0,onClick:()=>c(s=>s-1),children:"‹"}),Array.from({length:n.totalPages},(s,t)=>e.jsx("button",{className:a===t?"active":"",onClick:()=>c(t),children:t+1},t)),e.jsx("button",{disabled:a>=n.totalPages-1,onClick:()=>c(s=>s+1),children:"›"})]})]})]}),C==="form"&&e.jsx("div",{className:"modal-backdrop",onClick:s=>s.target===s.currentTarget&&o(null),children:e.jsxs("div",{className:"modal",children:[e.jsxs("div",{className:"modal-header",children:[e.jsx("h3",{children:r?"뉴스 수정":"뉴스 등록"}),e.jsx("button",{onClick:()=>o(null),children:"✕"})]}),e.jsxs("div",{className:"modal-body",children:[e.jsxs("div",{className:"form-group",children:[e.jsx("label",{children:"제목 *"}),e.jsx("input",{className:"form-control",value:i.title,onChange:s=>d("title",s.target.value),placeholder:"뉴스 제목을 입력하세요"})]}),e.jsxs("div",{className:"form-row",children:[e.jsxs("div",{className:"form-group",children:[e.jsx("label",{children:"카테고리"}),e.jsx("select",{className:"form-control",value:i.category,onChange:s=>d("category",s.target.value),children:$.map(s=>e.jsx("option",{children:s},s))})]}),e.jsxs("div",{className:"form-group",children:[e.jsx("label",{children:"공개 여부"}),e.jsxs("select",{className:"form-control",value:i.visible,onChange:s=>d("visible",s.target.value==="true"),children:[e.jsx("option",{value:"true",children:"공개"}),e.jsx("option",{value:"false",children:"비공개"})]})]})]}),e.jsxs("div",{className:"form-group",children:[e.jsx("label",{children:"요약"}),e.jsx("input",{className:"form-control",value:i.summary||"",onChange:s=>d("summary",s.target.value),placeholder:"목록에 표시될 요약 문구"})]}),e.jsxs("div",{className:"form-group",children:[e.jsx("label",{children:"썸네일 URL"}),e.jsx("input",{className:"form-control",value:i.thumbnailUrl||"",onChange:s=>d("thumbnailUrl",s.target.value),placeholder:"https://..."})]}),e.jsxs("div",{className:"form-group",children:[e.jsx("label",{children:"본문 내용 *"}),e.jsx("textarea",{className:"form-control",rows:8,value:i.content||"",onChange:s=>d("content",s.target.value),placeholder:"뉴스 본문 내용을 입력하세요"})]})]}),e.jsxs("div",{className:"modal-footer",children:[e.jsx("button",{className:"btn btn-outline",onClick:()=>o(null),children:"취소"}),e.jsx("button",{className:"btn btn-primary",onClick:w,disabled:p||!i.title,children:p?"저장 중...":r?"수정 완료":"등록"})]})]})})]})}export{z as default}; diff --git a/workspace/zioinfo-web/backend/src/main/resources/static/assets/AdminRecruit-DFZTVDlb.js b/workspace/zioinfo-web/backend/src/main/resources/static/assets/AdminRecruit-BiBBu1U9.js similarity index 99% rename from workspace/zioinfo-web/backend/src/main/resources/static/assets/AdminRecruit-DFZTVDlb.js rename to workspace/zioinfo-web/backend/src/main/resources/static/assets/AdminRecruit-BiBBu1U9.js index 8f7363a0..a5739955 100644 --- a/workspace/zioinfo-web/backend/src/main/resources/static/assets/AdminRecruit-DFZTVDlb.js +++ b/workspace/zioinfo-web/backend/src/main/resources/static/assets/AdminRecruit-BiBBu1U9.js @@ -1 +1 @@ -import{r,j as e}from"./index-B5QEzx5R.js";const P=()=>localStorage.getItem("admin_token"),u=(l,c={})=>fetch(l,{...c,headers:{"Content-Type":"application/json",Authorization:`Bearer ${P()}`,...c.headers}}),f={title:"",department:"",jobType:"정규직",description:"",requirements:"",preferred:"",deadline:"",headcount:1,active:!0},w=["정규직","계약직","인턴","프리랜서"];function z(){const[l,c]=r.useState(0),[i,N]=r.useState({content:[],totalPages:0,totalElements:0}),[y,d]=r.useState(!1),[t,m]=r.useState(f),[o,p]=r.useState(null),[b,g]=r.useState(!1),[j,v]=r.useState(null),x=(s,a="success")=>{v({msg:s,type:a}),setTimeout(()=>v(null),2500)},h=r.useCallback(()=>{u(`/api/admin/recruits?page=${l}&size=10`).then(s=>s.json()).then(N)},[l]);r.useEffect(()=>{h()},[h]);const C=()=>{m(f),p(null),d(!0)},S=s=>{m({...s,deadline:s.deadline||""}),p(s.id),d(!0)},k=async()=>{g(!0);const s=o?`/api/admin/recruits/${o}`:"/api/admin/recruits",a=await u(s,{method:o?"PUT":"POST",body:JSON.stringify(t)});g(!1),a.ok?(d(!1),h(),x(o?"수정되었습니다.":"등록되었습니다.")):x("저장 실패","error")},T=async s=>{if(!confirm("삭제하시겠습니까?"))return;(await u(`/api/admin/recruits/${s}`,{method:"DELETE"})).ok&&(h(),x("삭제되었습니다."))},n=(s,a)=>m(E=>({...E,[s]:a}));return e.jsxs(e.Fragment,{children:[j&&e.jsx("div",{className:"admin-toast",children:e.jsx("div",{className:`toast-item ${j.type}`,children:j.msg})}),e.jsxs("div",{className:"admin-card",children:[e.jsxs("div",{className:"admin-toolbar",children:[e.jsxs("span",{style:{fontSize:13,color:"#64748b"},children:["전체 ",i.totalElements,"건"]}),e.jsx("div",{className:"admin-toolbar-right",children:e.jsx("button",{className:"btn btn-primary",onClick:C,children:"+ 채용공고 등록"})})]}),e.jsx("div",{className:"admin-table-wrap",children:e.jsxs("table",{className:"admin-table",children:[e.jsx("thead",{children:e.jsxs("tr",{children:[e.jsx("th",{children:"No"}),e.jsx("th",{children:"공고명"}),e.jsx("th",{children:"부서"}),e.jsx("th",{children:"유형"}),e.jsx("th",{children:"모집인원"}),e.jsx("th",{children:"마감일"}),e.jsx("th",{children:"상태"}),e.jsx("th",{children:"관리"})]})}),e.jsxs("tbody",{children:[i.content.map((s,a)=>e.jsxs("tr",{children:[e.jsx("td",{style:{color:"#94a3b8",fontSize:12},children:i.totalElements-l*10-a}),e.jsx("td",{children:e.jsx("span",{className:"truncate",style:{display:"block"},children:s.title})}),e.jsx("td",{children:s.department||"-"}),e.jsx("td",{children:e.jsx("span",{className:`badge ${s.jobType==="정규직"?"badge-blue":s.jobType==="인턴"?"badge-orange":"badge-gray"}`,children:s.jobType})}),e.jsxs("td",{children:[s.headcount,"명"]}),e.jsx("td",{style:{fontSize:12},children:s.deadline||"상시"}),e.jsx("td",{children:e.jsx("span",{className:`badge ${s.active?"badge-green":"badge-red"}`,children:s.active?"진행중":"마감"})}),e.jsx("td",{children:e.jsxs("div",{className:"action-btns",children:[e.jsx("button",{className:"btn btn-outline btn-sm",onClick:()=>S(s),children:"수정"}),e.jsx("button",{className:"btn btn-danger btn-sm",onClick:()=>T(s.id),children:"삭제"})]})})]},s.id)),!i.content.length&&e.jsx("tr",{children:e.jsx("td",{colSpan:8,children:e.jsxs("div",{className:"empty-state",children:[e.jsx("div",{className:"empty-icon",children:"👥"}),e.jsx("p",{children:"등록된 채용공고가 없습니다."})]})})})]})]})}),i.totalPages>1&&e.jsxs("div",{className:"admin-pagination",children:[e.jsxs("span",{className:"admin-pagination-info",children:["페이지 ",l+1," / ",i.totalPages]}),e.jsxs("div",{className:"pagination-btns",children:[e.jsx("button",{disabled:l===0,onClick:()=>c(s=>s-1),children:"‹"}),Array.from({length:i.totalPages},(s,a)=>e.jsx("button",{className:l===a?"active":"",onClick:()=>c(a),children:a+1},a)),e.jsx("button",{disabled:l>=i.totalPages-1,onClick:()=>c(s=>s+1),children:"›"})]})]})]}),y&&e.jsx("div",{className:"modal-backdrop",onClick:s=>s.target===s.currentTarget&&d(!1),children:e.jsxs("div",{className:"modal",children:[e.jsxs("div",{className:"modal-header",children:[e.jsx("h3",{children:o?"채용공고 수정":"채용공고 등록"}),e.jsx("button",{onClick:()=>d(!1),children:"✕"})]}),e.jsxs("div",{className:"modal-body",children:[e.jsxs("div",{className:"form-group",children:[e.jsx("label",{children:"공고 제목 *"}),e.jsx("input",{className:"form-control",value:t.title,onChange:s=>n("title",s.target.value),placeholder:"예: 백엔드 개발자 (Java/Spring)"})]}),e.jsxs("div",{className:"form-row",children:[e.jsxs("div",{className:"form-group",children:[e.jsx("label",{children:"부서"}),e.jsx("input",{className:"form-control",value:t.department,onChange:s=>n("department",s.target.value),placeholder:"개발팀, 영업팀 등"})]}),e.jsxs("div",{className:"form-group",children:[e.jsx("label",{children:"고용형태"}),e.jsx("select",{className:"form-control",value:t.jobType,onChange:s=>n("jobType",s.target.value),children:w.map(s=>e.jsx("option",{children:s},s))})]})]}),e.jsxs("div",{className:"form-row",children:[e.jsxs("div",{className:"form-group",children:[e.jsx("label",{children:"모집 인원"}),e.jsx("input",{type:"number",min:1,className:"form-control",value:t.headcount,onChange:s=>n("headcount",parseInt(s.target.value))})]}),e.jsxs("div",{className:"form-group",children:[e.jsx("label",{children:"마감일"}),e.jsx("input",{type:"date",className:"form-control",value:t.deadline,onChange:s=>n("deadline",s.target.value)})]})]}),e.jsxs("div",{className:"form-group",children:[e.jsx("label",{children:"공고 상태"}),e.jsxs("select",{className:"form-control",value:t.active,onChange:s=>n("active",s.target.value==="true"),children:[e.jsx("option",{value:"true",children:"진행중"}),e.jsx("option",{value:"false",children:"마감"})]})]}),e.jsxs("div",{className:"form-group",children:[e.jsx("label",{children:"담당 업무"}),e.jsx("textarea",{className:"form-control",rows:4,value:t.description,onChange:s=>n("description",s.target.value),placeholder:"- 주요 담당 업무를 입력하세요"})]}),e.jsxs("div",{className:"form-group",children:[e.jsx("label",{children:"지원 자격"}),e.jsx("textarea",{className:"form-control",rows:4,value:t.requirements,onChange:s=>n("requirements",s.target.value),placeholder:"- 필수 자격요건을 입력하세요"})]}),e.jsxs("div",{className:"form-group",children:[e.jsx("label",{children:"우대 사항"}),e.jsx("textarea",{className:"form-control",rows:3,value:t.preferred,onChange:s=>n("preferred",s.target.value),placeholder:"- 우대 사항을 입력하세요"})]})]}),e.jsxs("div",{className:"modal-footer",children:[e.jsx("button",{className:"btn btn-outline",onClick:()=>d(!1),children:"취소"}),e.jsx("button",{className:"btn btn-primary",onClick:k,disabled:b||!t.title,children:b?"저장 중...":o?"수정 완료":"등록"})]})]})})]})}export{z as default}; +import{r,j as e}from"./index-CpO7mTKO.js";const P=()=>localStorage.getItem("admin_token"),u=(l,c={})=>fetch(l,{...c,headers:{"Content-Type":"application/json",Authorization:`Bearer ${P()}`,...c.headers}}),f={title:"",department:"",jobType:"정규직",description:"",requirements:"",preferred:"",deadline:"",headcount:1,active:!0},w=["정규직","계약직","인턴","프리랜서"];function z(){const[l,c]=r.useState(0),[i,N]=r.useState({content:[],totalPages:0,totalElements:0}),[y,d]=r.useState(!1),[t,m]=r.useState(f),[o,p]=r.useState(null),[b,g]=r.useState(!1),[j,v]=r.useState(null),x=(s,a="success")=>{v({msg:s,type:a}),setTimeout(()=>v(null),2500)},h=r.useCallback(()=>{u(`/api/admin/recruits?page=${l}&size=10`).then(s=>s.json()).then(N)},[l]);r.useEffect(()=>{h()},[h]);const C=()=>{m(f),p(null),d(!0)},S=s=>{m({...s,deadline:s.deadline||""}),p(s.id),d(!0)},k=async()=>{g(!0);const s=o?`/api/admin/recruits/${o}`:"/api/admin/recruits",a=await u(s,{method:o?"PUT":"POST",body:JSON.stringify(t)});g(!1),a.ok?(d(!1),h(),x(o?"수정되었습니다.":"등록되었습니다.")):x("저장 실패","error")},T=async s=>{if(!confirm("삭제하시겠습니까?"))return;(await u(`/api/admin/recruits/${s}`,{method:"DELETE"})).ok&&(h(),x("삭제되었습니다."))},n=(s,a)=>m(E=>({...E,[s]:a}));return e.jsxs(e.Fragment,{children:[j&&e.jsx("div",{className:"admin-toast",children:e.jsx("div",{className:`toast-item ${j.type}`,children:j.msg})}),e.jsxs("div",{className:"admin-card",children:[e.jsxs("div",{className:"admin-toolbar",children:[e.jsxs("span",{style:{fontSize:13,color:"#64748b"},children:["전체 ",i.totalElements,"건"]}),e.jsx("div",{className:"admin-toolbar-right",children:e.jsx("button",{className:"btn btn-primary",onClick:C,children:"+ 채용공고 등록"})})]}),e.jsx("div",{className:"admin-table-wrap",children:e.jsxs("table",{className:"admin-table",children:[e.jsx("thead",{children:e.jsxs("tr",{children:[e.jsx("th",{children:"No"}),e.jsx("th",{children:"공고명"}),e.jsx("th",{children:"부서"}),e.jsx("th",{children:"유형"}),e.jsx("th",{children:"모집인원"}),e.jsx("th",{children:"마감일"}),e.jsx("th",{children:"상태"}),e.jsx("th",{children:"관리"})]})}),e.jsxs("tbody",{children:[i.content.map((s,a)=>e.jsxs("tr",{children:[e.jsx("td",{style:{color:"#94a3b8",fontSize:12},children:i.totalElements-l*10-a}),e.jsx("td",{children:e.jsx("span",{className:"truncate",style:{display:"block"},children:s.title})}),e.jsx("td",{children:s.department||"-"}),e.jsx("td",{children:e.jsx("span",{className:`badge ${s.jobType==="정규직"?"badge-blue":s.jobType==="인턴"?"badge-orange":"badge-gray"}`,children:s.jobType})}),e.jsxs("td",{children:[s.headcount,"명"]}),e.jsx("td",{style:{fontSize:12},children:s.deadline||"상시"}),e.jsx("td",{children:e.jsx("span",{className:`badge ${s.active?"badge-green":"badge-red"}`,children:s.active?"진행중":"마감"})}),e.jsx("td",{children:e.jsxs("div",{className:"action-btns",children:[e.jsx("button",{className:"btn btn-outline btn-sm",onClick:()=>S(s),children:"수정"}),e.jsx("button",{className:"btn btn-danger btn-sm",onClick:()=>T(s.id),children:"삭제"})]})})]},s.id)),!i.content.length&&e.jsx("tr",{children:e.jsx("td",{colSpan:8,children:e.jsxs("div",{className:"empty-state",children:[e.jsx("div",{className:"empty-icon",children:"👥"}),e.jsx("p",{children:"등록된 채용공고가 없습니다."})]})})})]})]})}),i.totalPages>1&&e.jsxs("div",{className:"admin-pagination",children:[e.jsxs("span",{className:"admin-pagination-info",children:["페이지 ",l+1," / ",i.totalPages]}),e.jsxs("div",{className:"pagination-btns",children:[e.jsx("button",{disabled:l===0,onClick:()=>c(s=>s-1),children:"‹"}),Array.from({length:i.totalPages},(s,a)=>e.jsx("button",{className:l===a?"active":"",onClick:()=>c(a),children:a+1},a)),e.jsx("button",{disabled:l>=i.totalPages-1,onClick:()=>c(s=>s+1),children:"›"})]})]})]}),y&&e.jsx("div",{className:"modal-backdrop",onClick:s=>s.target===s.currentTarget&&d(!1),children:e.jsxs("div",{className:"modal",children:[e.jsxs("div",{className:"modal-header",children:[e.jsx("h3",{children:o?"채용공고 수정":"채용공고 등록"}),e.jsx("button",{onClick:()=>d(!1),children:"✕"})]}),e.jsxs("div",{className:"modal-body",children:[e.jsxs("div",{className:"form-group",children:[e.jsx("label",{children:"공고 제목 *"}),e.jsx("input",{className:"form-control",value:t.title,onChange:s=>n("title",s.target.value),placeholder:"예: 백엔드 개발자 (Java/Spring)"})]}),e.jsxs("div",{className:"form-row",children:[e.jsxs("div",{className:"form-group",children:[e.jsx("label",{children:"부서"}),e.jsx("input",{className:"form-control",value:t.department,onChange:s=>n("department",s.target.value),placeholder:"개발팀, 영업팀 등"})]}),e.jsxs("div",{className:"form-group",children:[e.jsx("label",{children:"고용형태"}),e.jsx("select",{className:"form-control",value:t.jobType,onChange:s=>n("jobType",s.target.value),children:w.map(s=>e.jsx("option",{children:s},s))})]})]}),e.jsxs("div",{className:"form-row",children:[e.jsxs("div",{className:"form-group",children:[e.jsx("label",{children:"모집 인원"}),e.jsx("input",{type:"number",min:1,className:"form-control",value:t.headcount,onChange:s=>n("headcount",parseInt(s.target.value))})]}),e.jsxs("div",{className:"form-group",children:[e.jsx("label",{children:"마감일"}),e.jsx("input",{type:"date",className:"form-control",value:t.deadline,onChange:s=>n("deadline",s.target.value)})]})]}),e.jsxs("div",{className:"form-group",children:[e.jsx("label",{children:"공고 상태"}),e.jsxs("select",{className:"form-control",value:t.active,onChange:s=>n("active",s.target.value==="true"),children:[e.jsx("option",{value:"true",children:"진행중"}),e.jsx("option",{value:"false",children:"마감"})]})]}),e.jsxs("div",{className:"form-group",children:[e.jsx("label",{children:"담당 업무"}),e.jsx("textarea",{className:"form-control",rows:4,value:t.description,onChange:s=>n("description",s.target.value),placeholder:"- 주요 담당 업무를 입력하세요"})]}),e.jsxs("div",{className:"form-group",children:[e.jsx("label",{children:"지원 자격"}),e.jsx("textarea",{className:"form-control",rows:4,value:t.requirements,onChange:s=>n("requirements",s.target.value),placeholder:"- 필수 자격요건을 입력하세요"})]}),e.jsxs("div",{className:"form-group",children:[e.jsx("label",{children:"우대 사항"}),e.jsx("textarea",{className:"form-control",rows:3,value:t.preferred,onChange:s=>n("preferred",s.target.value),placeholder:"- 우대 사항을 입력하세요"})]})]}),e.jsxs("div",{className:"modal-footer",children:[e.jsx("button",{className:"btn btn-outline",onClick:()=>d(!1),children:"취소"}),e.jsx("button",{className:"btn btn-primary",onClick:k,disabled:b||!t.title,children:b?"저장 중...":o?"수정 완료":"등록"})]})]})})]})}export{z as default}; diff --git a/workspace/zioinfo-web/backend/src/main/resources/static/assets/AdminSettings-CdghymzV.js b/workspace/zioinfo-web/backend/src/main/resources/static/assets/AdminSettings-pXhyWJiS.js similarity index 97% rename from workspace/zioinfo-web/backend/src/main/resources/static/assets/AdminSettings-CdghymzV.js rename to workspace/zioinfo-web/backend/src/main/resources/static/assets/AdminSettings-pXhyWJiS.js index 38689d2b..fbf5cf2b 100644 --- a/workspace/zioinfo-web/backend/src/main/resources/static/assets/AdminSettings-CdghymzV.js +++ b/workspace/zioinfo-web/backend/src/main/resources/static/assets/AdminSettings-pXhyWJiS.js @@ -1 +1 @@ -import{c as u,r as d,j as e}from"./index-B5QEzx5R.js";const h=()=>localStorage.getItem("admin_token");function f(){const m=u(),i=JSON.parse(localStorage.getItem("admin_user")||"{}"),[r,n]=d.useState({currentPassword:"",newPassword:"",confirmPassword:""}),[t,o]=d.useState(null),[l,c]=d.useState(!1),p=async()=>{if(r.newPassword!==r.confirmPassword){o({text:"새 비밀번호가 일치하지 않습니다.",type:"error"});return}if(r.newPassword.length<8){o({text:"비밀번호는 8자 이상이어야 합니다.",type:"error"});return}c(!0);const s=await fetch("/api/admin/password",{method:"PUT",headers:{"Content-Type":"application/json",Authorization:`Bearer ${h()}`},body:JSON.stringify({currentPassword:r.currentPassword,newPassword:r.newPassword})}),a=await s.json();c(!1),s.ok?(o({text:"비밀번호가 변경되었습니다. 다시 로그인해주세요.",type:"success"}),n({currentPassword:"",newPassword:"",confirmPassword:""}),setTimeout(()=>{localStorage.removeItem("admin_token"),m("/admin/login")},2e3)):o({text:a.message||"변경 실패",type:"error"})};return e.jsxs("div",{style:{maxWidth:520},children:[e.jsxs("div",{className:"admin-card",style:{marginBottom:20},children:[e.jsx("div",{className:"admin-card-header",children:e.jsx("h3",{children:"👤 계정 정보"})}),e.jsx("div",{style:{display:"grid",gap:12},children:[["아이디",i.username],["표시 이름",i.displayName||"-"]].map(([s,a])=>e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:12},children:[e.jsx("span",{style:{fontSize:12,fontWeight:600,color:"#64748b",width:80},children:s}),e.jsx("span",{style:{fontSize:14},children:a})]},s))})]}),e.jsxs("div",{className:"admin-card",children:[e.jsx("div",{className:"admin-card-header",children:e.jsx("h3",{children:"🔒 비밀번호 변경"})}),t&&e.jsx("div",{style:{padding:"10px 14px",borderRadius:7,marginBottom:16,fontSize:13,background:t.type==="error"?"#fff1f2":"#f0fdf4",color:t.type==="error"?"#dc2626":"#16a34a",border:`1px solid ${t.type==="error"?"#fecaca":"#bbf7d0"}`},children:t.text}),e.jsxs("div",{className:"form-group",children:[e.jsx("label",{children:"현재 비밀번호"}),e.jsx("input",{type:"password",className:"form-control",value:r.currentPassword,onChange:s=>n(a=>({...a,currentPassword:s.target.value}))})]}),e.jsxs("div",{className:"form-group",children:[e.jsx("label",{children:"새 비밀번호"}),e.jsx("input",{type:"password",className:"form-control",value:r.newPassword,placeholder:"8자 이상",onChange:s=>n(a=>({...a,newPassword:s.target.value}))})]}),e.jsxs("div",{className:"form-group",children:[e.jsx("label",{children:"새 비밀번호 확인"}),e.jsx("input",{type:"password",className:"form-control",value:r.confirmPassword,onChange:s=>n(a=>({...a,confirmPassword:s.target.value}))})]}),e.jsx("button",{className:"btn btn-primary",onClick:p,disabled:l||!r.currentPassword||!r.newPassword,children:l?"변경 중...":"비밀번호 변경"})]})]})}export{f as default}; +import{c as u,r as d,j as e}from"./index-CpO7mTKO.js";const h=()=>localStorage.getItem("admin_token");function f(){const m=u(),i=JSON.parse(localStorage.getItem("admin_user")||"{}"),[r,n]=d.useState({currentPassword:"",newPassword:"",confirmPassword:""}),[t,o]=d.useState(null),[l,c]=d.useState(!1),p=async()=>{if(r.newPassword!==r.confirmPassword){o({text:"새 비밀번호가 일치하지 않습니다.",type:"error"});return}if(r.newPassword.length<8){o({text:"비밀번호는 8자 이상이어야 합니다.",type:"error"});return}c(!0);const s=await fetch("/api/admin/password",{method:"PUT",headers:{"Content-Type":"application/json",Authorization:`Bearer ${h()}`},body:JSON.stringify({currentPassword:r.currentPassword,newPassword:r.newPassword})}),a=await s.json();c(!1),s.ok?(o({text:"비밀번호가 변경되었습니다. 다시 로그인해주세요.",type:"success"}),n({currentPassword:"",newPassword:"",confirmPassword:""}),setTimeout(()=>{localStorage.removeItem("admin_token"),m("/admin/login")},2e3)):o({text:a.message||"변경 실패",type:"error"})};return e.jsxs("div",{style:{maxWidth:520},children:[e.jsxs("div",{className:"admin-card",style:{marginBottom:20},children:[e.jsx("div",{className:"admin-card-header",children:e.jsx("h3",{children:"👤 계정 정보"})}),e.jsx("div",{style:{display:"grid",gap:12},children:[["아이디",i.username],["표시 이름",i.displayName||"-"]].map(([s,a])=>e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:12},children:[e.jsx("span",{style:{fontSize:12,fontWeight:600,color:"#64748b",width:80},children:s}),e.jsx("span",{style:{fontSize:14},children:a})]},s))})]}),e.jsxs("div",{className:"admin-card",children:[e.jsx("div",{className:"admin-card-header",children:e.jsx("h3",{children:"🔒 비밀번호 변경"})}),t&&e.jsx("div",{style:{padding:"10px 14px",borderRadius:7,marginBottom:16,fontSize:13,background:t.type==="error"?"#fff1f2":"#f0fdf4",color:t.type==="error"?"#dc2626":"#16a34a",border:`1px solid ${t.type==="error"?"#fecaca":"#bbf7d0"}`},children:t.text}),e.jsxs("div",{className:"form-group",children:[e.jsx("label",{children:"현재 비밀번호"}),e.jsx("input",{type:"password",className:"form-control",value:r.currentPassword,onChange:s=>n(a=>({...a,currentPassword:s.target.value}))})]}),e.jsxs("div",{className:"form-group",children:[e.jsx("label",{children:"새 비밀번호"}),e.jsx("input",{type:"password",className:"form-control",value:r.newPassword,placeholder:"8자 이상",onChange:s=>n(a=>({...a,newPassword:s.target.value}))})]}),e.jsxs("div",{className:"form-group",children:[e.jsx("label",{children:"새 비밀번호 확인"}),e.jsx("input",{type:"password",className:"form-control",value:r.confirmPassword,onChange:s=>n(a=>({...a,confirmPassword:s.target.value}))})]}),e.jsx("button",{className:"btn btn-primary",onClick:p,disabled:l||!r.currentPassword||!r.newPassword,children:l?"변경 중...":"비밀번호 변경"})]})]})}export{f as default}; diff --git a/workspace/zioinfo-web/backend/src/main/resources/static/assets/Business-B3VOTGav.js b/workspace/zioinfo-web/backend/src/main/resources/static/assets/Business-BS6Ud0aF.js similarity index 99% rename from workspace/zioinfo-web/backend/src/main/resources/static/assets/Business-B3VOTGav.js rename to workspace/zioinfo-web/backend/src/main/resources/static/assets/Business-BS6Ud0aF.js index 482a6b4e..3a7c7b06 100644 --- a/workspace/zioinfo-web/backend/src/main/resources/static/assets/Business-B3VOTGav.js +++ b/workspace/zioinfo-web/backend/src/main/resources/static/assets/Business-BS6Ud0aF.js @@ -1 +1 @@ -import{j as e,b as h,a as i,r as j,N as g}from"./index-B5QEzx5R.js";/* empty css */const m=[{path:"/business/reference",label:"구축 레퍼런스"},{path:"/business/partner",label:"파트너"}];function p({title:c}){return e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"page-hero",children:e.jsxs("div",{className:"container",children:[e.jsx("span",{className:"section-label",children:"Business"}),e.jsx("h1",{className:"page-hero-title",children:c})]})}),e.jsx("nav",{className:"sub-nav",children:e.jsx("div",{className:"container",children:m.map(a=>e.jsx(g,{to:a.path,className:({isActive:l})=>"sub-nav-item"+(l?" active":""),children:a.label},a.path))})})]})}const t=[{period:"24.12~25.02",client:"엠로",project:"DELL 차세대 CRM 구축",role:"DBA",tech:"Oracle 19C, SQL/PLSQL, Java",category:"금융·제조"},{period:"24.09~25.10",client:"삼성전자",project:"삼성전자 차세대 CRM 구축",role:"DB튜너",tech:"JBOSS, EDB, SQL/PLSQL, Java",category:"대기업"},{period:"24.03~24.06",client:"서울신용보증재단",project:"소상공인 컨설팅시스템 구축",role:"PM",tech:"JSP/Java, Websquare, Spring, Oracle",category:"공공기관"},{period:"23.11~24.02",client:"국민연금관리공단",project:"국민연금 차세대 시스템 구축",role:"AA",tech:"JSP/Java, Nexacro, Spring, CI/CD",category:"공공기관"},{period:"23.08~23.10",client:"헌법재판소",project:"헌법재판소 포털시스템 구축",role:"PM",tech:"Java, Egov, Spring, JEUS",category:"공공기관"},{period:"22.08~23.07",client:"서울신용보증재단",project:"재단 모바일앱 구축",role:"PM",tech:"Java, Nexacro, Spring, EDB",category:"공공기관"},{period:"22.01~22.07",client:"에이텍에이피",project:"통합유지보수관리시스템 개발",role:"PM",tech:"Java, Nexacro, Spring, Tomcat",category:"IT서비스"},{period:"21.10~21.12",client:"헌법재판소",project:"통합보안관제시스템 구축 / DB이관",role:"PM",tech:"Java, Spring, JEUS, Oracle 12c",category:"공공기관"},{period:"20.05~21.09",client:"현대백화점",project:"현대백화점 HKOS 시스템 개발",role:"PM",tech:"Java, Nexacro, Spring, Pro*C",category:"유통·물류"},{period:"20.12~21.04",client:"서울시립대",project:"대학행정정보시스템 성능개선",role:"PL",tech:"Java, Spring, JMeter, JEUS, OZ",category:"교육기관"},{period:"20.07~20.11",client:"에이텍에이피",project:"WMS 공통 프레임워크 구축",role:"PM",tech:"Java, Spring, Nexacro, Oracle",category:"IT서비스"},{period:"20.01~20.06",client:"농협하나로마트",project:"농협 하나로마트 ESL시스템",role:"PM",tech:"C#, Java Spring Batch, REST API",category:"유통·물류"},{period:"19.07~19.12",client:"장보고식자재마트",project:"정산시스템 구축",role:"PM",tech:"Java, Spring, Xplatform, Oracle",category:"유통·물류"},{period:"19.01~19.06",client:"한화갤러리아",project:"갤러리아백화점 PDA 정산시스템",role:"PM",tech:"Java, Spring, Xplatform, Oracle",category:"유통·물류"},{period:"18.07~18.12",client:"이마트",project:"이마트 정산시스템 프로젝트",role:"DA",tech:"Java, Spring, Xplatform, Oracle",category:"유통·물류"},{period:"18.11~18.06",client:"우정사업정보센터",project:"우체국금융 스마트ATM 도입",role:"PMO",tech:"Visual C/C++, TCP/IP 소켓통신",category:"공공기관"},{period:"18.02~18.10",client:"현대백화점",project:"무인POS시스템 구축",role:"PM",tech:"Java, Spring, Xplatform, Oracle",category:"유통·물류"},{period:"17.11~18.01",client:"KOCES",project:"KocesICPos 자동업데이트 런처",role:"개발",tech:"C# .NET, Java/JSP, C/PRO*C",category:"금융·제조"},{period:"15.12~17.10",client:"LG U+",project:"LG U+ VAN 고도화",role:"AA",tech:"Anylink/Tmax, WebLogic, C/PRO*C",category:"통신·금융"},{period:"15.07~15.11",client:"한화S&C",project:"한화그룹 4사 통합 HR시스템",role:"PL",tech:"Java/JSP, Web Service (SOAP), IBSheet",category:"대기업"},{period:"14.11~15.03",client:"참좋은여행",project:"콜센터 어플리케이션 구축",role:"PL",tech:"ASP/.NET, Visual Studio 2012",category:"서비스"},{period:"14.07~14.10",client:"현대캐피탈",project:"현대캐피탈 차세대시스템",role:"PL",tech:"Java/JSP, Web Service, XPlatform",category:"금융·제조"},{period:"14.02~14.06",client:"중소기업청",project:"중소기업 1357 통합콜센터",role:"PL",tech:"Java, Spring, XPlatform, 전자정부FW",category:"공공기관"},{period:"13.08~13.12",client:"삼성전자",project:"삼성전자 품질관리시스템(QWINGS)",role:"PM",tech:"Java, Weblogic, Web Service, MiPlatform",category:"대기업"},{period:"13.03~13.07",client:"대우증권",project:"대우증권 통합인프라시스템",role:"DBA",tech:"Java, Spring, XPlatform, Oracle",category:"통신·금융"},{period:"12.04~13.02",client:"삼성전자서비스",project:"eZone Renewal 프로젝트",role:"PL",tech:"Java, Weblogic, PRO*C, Android",category:"대기업"},{period:"12.01~12.04",client:"농수산식품유통공사",project:"무역통계시스템 구축",role:"DBA",tech:"Java, Spring, Hibernate, 전자정부FW",category:"공공기관"},{period:"11.02~11.12",client:"현대모비스",project:"원가관리시스템 구축",role:"DBA",tech:"Java, Spring, Hibernate, MiPlatform",category:"대기업"},{period:"10.07~11.01",client:"한국전기안전공사",project:"전기안전포털시스템 구축",role:"DBA",tech:"Java, Spring, Hibernate, XPlatform",category:"공공기관"},{period:"09.09~10.04",client:"엽연초생산협동조합",project:"엽연초경작통합시스템 구축",role:"PM",tech:"Java, Struts, i-Batis, Spring",category:"공공기관"},{period:"09.02~09.08",client:"한국전기안전공사",project:"안전점검 고도화",role:"DBA",tech:"Java, Weblogic, 전자정부FW",category:"공공기관"},{period:"08.09~08.12",client:"국민은행",project:"국민은행 차세대 포탈",role:"PL",tech:"Java, AquaLogic, Struts/i-Batis",category:"통신·금융"},{period:"08.06~08.08",client:"한국원자력연료",project:"인사정보(HMS)시스템",role:"DBA",tech:"Java/JSP/JSF, 자체 프레임워크",category:"공공기관"}],x=["전체","공공기관","대기업","유통·물류","통신·금융","금융·제조","교육기관","IT서비스","서비스"],s={공공기관:"#0051A2",대기업:"#7c3aed","유통·물류":"#059669","통신·금융":"#d97706","금융·제조":"#dc2626",교육기관:"#0891b2",IT서비스:"#6366f1",서비스:"#db2777"};function n(){const[c,a]=j.useState("전체"),l=c==="전체"?t:t.filter(r=>r.category===c);return e.jsxs("main",{id:"main-content",className:"inner-page",children:[e.jsx(p,{title:"구축 레퍼런스"}),e.jsx("section",{className:"section",children:e.jsxs("div",{className:"container",children:[e.jsxs("div",{className:"section-header",children:[e.jsx("span",{className:"section-label",children:"Reference"}),e.jsx("h2",{className:"section-title",children:"구축 실적"}),e.jsxs("p",{className:"section-desc",children:["2008년부터 현재까지 국내 주요 기관·기업 ",t.length,"개 프로젝트 성공 수행"]})]}),e.jsx("div",{className:"grid-4",style:{marginBottom:"40px"},children:[{val:`${t.length}+`,label:"총 프로젝트",color:"var(--primary)"},{val:"20+",label:"년 경력",color:"var(--accent)"},{val:"15+",label:"공공기관",color:"#7c3aed"},{val:"10+",label:"대기업·금융",color:"#059669"}].map((r,o)=>e.jsxs("div",{className:"card",style:{padding:"24px",textAlign:"center"},children:[e.jsx("div",{style:{fontSize:"32px",fontWeight:"900",color:r.color},children:r.val}),e.jsx("p",{style:{fontSize:"13px",color:"var(--gray-500)",marginTop:"6px"},children:r.label})]},o))}),e.jsx("div",{className:"ref-filters",children:x.map(r=>e.jsx("button",{className:`ref-filter-btn ${c===r?"active":""}`,onClick:()=>a(r),children:r},r))}),e.jsx("div",{className:"ref-table-wrap",children:e.jsxs("table",{className:"ref-table",children:[e.jsx("thead",{children:e.jsxs("tr",{children:[e.jsx("th",{children:"기간"}),e.jsx("th",{children:"고객사"}),e.jsx("th",{children:"프로젝트명"}),e.jsx("th",{children:"역할"}),e.jsx("th",{children:"주요기술"}),e.jsx("th",{children:"분야"})]})}),e.jsx("tbody",{children:l.map((r,o)=>e.jsxs("tr",{children:[e.jsx("td",{className:"ref-period",children:r.period}),e.jsx("td",{className:"ref-client",children:r.client}),e.jsx("td",{className:"ref-project",children:r.project}),e.jsx("td",{children:e.jsx("span",{className:"ref-role",children:r.role})}),e.jsx("td",{className:"ref-tech",children:r.tech}),e.jsx("td",{children:e.jsx("span",{className:"ref-cat-badge",style:{background:s[r.category]+"18",color:s[r.category]},children:r.category})})]},o))})]})})]})})]})}const S=[{name:"Oracle",logo:"🔴",desc:"Oracle DB 공식 파트너 — Oracle 19c 전문 DBA 인증",tier:"Gold"},{name:"Red Hat",logo:"🎩",desc:"RHEL·OpenShift 파트너 — 리눅스 인프라 구축",tier:"Silver"},{name:"JEUS (TmaxSoft)",logo:"⚙️",desc:"국산 WAS JEUS/Tmax 공식 파트너",tier:"Gold"},{name:"Tibero",logo:"🗄️",desc:"Tibero DBMS 공식 파트너 — 공공기관 DB 전환",tier:"Gold"},{name:"Samsung SDS",logo:"💼",desc:"삼성SDS 협력사 — 삼성전자 CRM/품질 시스템 공동 수행",tier:"Partner"},{name:"Nexacro",logo:"🖥️",desc:"투비소프트 Nexacro 공식 파트너 — UI 개발 전문",tier:"Silver"},{name:"OZ Report",logo:"📊",desc:"OZ e-Form 공식 파트너 — 공공 전자문서 솔루션",tier:"Silver"},{name:"Ollama",logo:"🤖",desc:"온프레미스 LLM 파트너 — GUARDiA AI 엔진 공급사",tier:"Tech"}],d={Gold:"#d97706",Silver:"#6b7280",Partner:"#0051A2",Tech:"#7c3aed"};function v(){return e.jsxs("main",{id:"main-content",className:"inner-page",children:[e.jsx(p,{title:"파트너"}),e.jsx("section",{className:"section",children:e.jsxs("div",{className:"container",children:[e.jsxs("div",{className:"section-header",children:[e.jsx("span",{className:"section-label",children:"Partners"}),e.jsx("h2",{className:"section-title",children:"기술 파트너"}),e.jsx("p",{className:"section-desc",children:"최고의 기술 파트너와 함께 최선의 솔루션을 제공합니다"})]}),e.jsx("div",{className:"grid-4",children:S.map((c,a)=>e.jsxs("div",{className:"card partner-card",children:[e.jsx("div",{className:"partner-logo",children:c.logo}),e.jsxs("div",{className:"partner-tier",style:{background:d[c.tier]+"1a",color:d[c.tier]},children:[c.tier," Partner"]}),e.jsx("h3",{className:"partner-name",children:c.name}),e.jsx("p",{className:"partner-desc",children:c.desc})]},a))}),e.jsxs("div",{className:"partner-cta",children:[e.jsx("h3",{children:"파트너십 문의"}),e.jsx("p",{children:"지오정보기술과 기술 파트너십을 맺고 싶으신 기업은 아래로 연락 주십시오."}),e.jsx("a",{href:"/support/contact?type=사업제안",className:"btn btn-primary btn-lg",children:"파트너십 제안하기"})]})]})})]})}function y(){return e.jsxs(h,{children:[e.jsx(i,{path:"reference",element:e.jsx(n,{})}),e.jsx(i,{path:"partner",element:e.jsx(v,{})}),e.jsx(i,{path:"*",element:e.jsx(n,{})})]})}export{y as default}; +import{j as e,b as h,a as i,r as j,N as g}from"./index-CpO7mTKO.js";/* empty css */const m=[{path:"/business/reference",label:"구축 레퍼런스"},{path:"/business/partner",label:"파트너"}];function p({title:c}){return e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"page-hero",children:e.jsxs("div",{className:"container",children:[e.jsx("span",{className:"section-label",children:"Business"}),e.jsx("h1",{className:"page-hero-title",children:c})]})}),e.jsx("nav",{className:"sub-nav",children:e.jsx("div",{className:"container",children:m.map(a=>e.jsx(g,{to:a.path,className:({isActive:l})=>"sub-nav-item"+(l?" active":""),children:a.label},a.path))})})]})}const t=[{period:"24.12~25.02",client:"엠로",project:"DELL 차세대 CRM 구축",role:"DBA",tech:"Oracle 19C, SQL/PLSQL, Java",category:"금융·제조"},{period:"24.09~25.10",client:"삼성전자",project:"삼성전자 차세대 CRM 구축",role:"DB튜너",tech:"JBOSS, EDB, SQL/PLSQL, Java",category:"대기업"},{period:"24.03~24.06",client:"서울신용보증재단",project:"소상공인 컨설팅시스템 구축",role:"PM",tech:"JSP/Java, Websquare, Spring, Oracle",category:"공공기관"},{period:"23.11~24.02",client:"국민연금관리공단",project:"국민연금 차세대 시스템 구축",role:"AA",tech:"JSP/Java, Nexacro, Spring, CI/CD",category:"공공기관"},{period:"23.08~23.10",client:"헌법재판소",project:"헌법재판소 포털시스템 구축",role:"PM",tech:"Java, Egov, Spring, JEUS",category:"공공기관"},{period:"22.08~23.07",client:"서울신용보증재단",project:"재단 모바일앱 구축",role:"PM",tech:"Java, Nexacro, Spring, EDB",category:"공공기관"},{period:"22.01~22.07",client:"에이텍에이피",project:"통합유지보수관리시스템 개발",role:"PM",tech:"Java, Nexacro, Spring, Tomcat",category:"IT서비스"},{period:"21.10~21.12",client:"헌법재판소",project:"통합보안관제시스템 구축 / DB이관",role:"PM",tech:"Java, Spring, JEUS, Oracle 12c",category:"공공기관"},{period:"20.05~21.09",client:"현대백화점",project:"현대백화점 HKOS 시스템 개발",role:"PM",tech:"Java, Nexacro, Spring, Pro*C",category:"유통·물류"},{period:"20.12~21.04",client:"서울시립대",project:"대학행정정보시스템 성능개선",role:"PL",tech:"Java, Spring, JMeter, JEUS, OZ",category:"교육기관"},{period:"20.07~20.11",client:"에이텍에이피",project:"WMS 공통 프레임워크 구축",role:"PM",tech:"Java, Spring, Nexacro, Oracle",category:"IT서비스"},{period:"20.01~20.06",client:"농협하나로마트",project:"농협 하나로마트 ESL시스템",role:"PM",tech:"C#, Java Spring Batch, REST API",category:"유통·물류"},{period:"19.07~19.12",client:"장보고식자재마트",project:"정산시스템 구축",role:"PM",tech:"Java, Spring, Xplatform, Oracle",category:"유통·물류"},{period:"19.01~19.06",client:"한화갤러리아",project:"갤러리아백화점 PDA 정산시스템",role:"PM",tech:"Java, Spring, Xplatform, Oracle",category:"유통·물류"},{period:"18.07~18.12",client:"이마트",project:"이마트 정산시스템 프로젝트",role:"DA",tech:"Java, Spring, Xplatform, Oracle",category:"유통·물류"},{period:"18.11~18.06",client:"우정사업정보센터",project:"우체국금융 스마트ATM 도입",role:"PMO",tech:"Visual C/C++, TCP/IP 소켓통신",category:"공공기관"},{period:"18.02~18.10",client:"현대백화점",project:"무인POS시스템 구축",role:"PM",tech:"Java, Spring, Xplatform, Oracle",category:"유통·물류"},{period:"17.11~18.01",client:"KOCES",project:"KocesICPos 자동업데이트 런처",role:"개발",tech:"C# .NET, Java/JSP, C/PRO*C",category:"금융·제조"},{period:"15.12~17.10",client:"LG U+",project:"LG U+ VAN 고도화",role:"AA",tech:"Anylink/Tmax, WebLogic, C/PRO*C",category:"통신·금융"},{period:"15.07~15.11",client:"한화S&C",project:"한화그룹 4사 통합 HR시스템",role:"PL",tech:"Java/JSP, Web Service (SOAP), IBSheet",category:"대기업"},{period:"14.11~15.03",client:"참좋은여행",project:"콜센터 어플리케이션 구축",role:"PL",tech:"ASP/.NET, Visual Studio 2012",category:"서비스"},{period:"14.07~14.10",client:"현대캐피탈",project:"현대캐피탈 차세대시스템",role:"PL",tech:"Java/JSP, Web Service, XPlatform",category:"금융·제조"},{period:"14.02~14.06",client:"중소기업청",project:"중소기업 1357 통합콜센터",role:"PL",tech:"Java, Spring, XPlatform, 전자정부FW",category:"공공기관"},{period:"13.08~13.12",client:"삼성전자",project:"삼성전자 품질관리시스템(QWINGS)",role:"PM",tech:"Java, Weblogic, Web Service, MiPlatform",category:"대기업"},{period:"13.03~13.07",client:"대우증권",project:"대우증권 통합인프라시스템",role:"DBA",tech:"Java, Spring, XPlatform, Oracle",category:"통신·금융"},{period:"12.04~13.02",client:"삼성전자서비스",project:"eZone Renewal 프로젝트",role:"PL",tech:"Java, Weblogic, PRO*C, Android",category:"대기업"},{period:"12.01~12.04",client:"농수산식품유통공사",project:"무역통계시스템 구축",role:"DBA",tech:"Java, Spring, Hibernate, 전자정부FW",category:"공공기관"},{period:"11.02~11.12",client:"현대모비스",project:"원가관리시스템 구축",role:"DBA",tech:"Java, Spring, Hibernate, MiPlatform",category:"대기업"},{period:"10.07~11.01",client:"한국전기안전공사",project:"전기안전포털시스템 구축",role:"DBA",tech:"Java, Spring, Hibernate, XPlatform",category:"공공기관"},{period:"09.09~10.04",client:"엽연초생산협동조합",project:"엽연초경작통합시스템 구축",role:"PM",tech:"Java, Struts, i-Batis, Spring",category:"공공기관"},{period:"09.02~09.08",client:"한국전기안전공사",project:"안전점검 고도화",role:"DBA",tech:"Java, Weblogic, 전자정부FW",category:"공공기관"},{period:"08.09~08.12",client:"국민은행",project:"국민은행 차세대 포탈",role:"PL",tech:"Java, AquaLogic, Struts/i-Batis",category:"통신·금융"},{period:"08.06~08.08",client:"한국원자력연료",project:"인사정보(HMS)시스템",role:"DBA",tech:"Java/JSP/JSF, 자체 프레임워크",category:"공공기관"}],x=["전체","공공기관","대기업","유통·물류","통신·금융","금융·제조","교육기관","IT서비스","서비스"],s={공공기관:"#0051A2",대기업:"#7c3aed","유통·물류":"#059669","통신·금융":"#d97706","금융·제조":"#dc2626",교육기관:"#0891b2",IT서비스:"#6366f1",서비스:"#db2777"};function n(){const[c,a]=j.useState("전체"),l=c==="전체"?t:t.filter(r=>r.category===c);return e.jsxs("main",{id:"main-content",className:"inner-page",children:[e.jsx(p,{title:"구축 레퍼런스"}),e.jsx("section",{className:"section",children:e.jsxs("div",{className:"container",children:[e.jsxs("div",{className:"section-header",children:[e.jsx("span",{className:"section-label",children:"Reference"}),e.jsx("h2",{className:"section-title",children:"구축 실적"}),e.jsxs("p",{className:"section-desc",children:["2008년부터 현재까지 국내 주요 기관·기업 ",t.length,"개 프로젝트 성공 수행"]})]}),e.jsx("div",{className:"grid-4",style:{marginBottom:"40px"},children:[{val:`${t.length}+`,label:"총 프로젝트",color:"var(--primary)"},{val:"20+",label:"년 경력",color:"var(--accent)"},{val:"15+",label:"공공기관",color:"#7c3aed"},{val:"10+",label:"대기업·금융",color:"#059669"}].map((r,o)=>e.jsxs("div",{className:"card",style:{padding:"24px",textAlign:"center"},children:[e.jsx("div",{style:{fontSize:"32px",fontWeight:"900",color:r.color},children:r.val}),e.jsx("p",{style:{fontSize:"13px",color:"var(--gray-500)",marginTop:"6px"},children:r.label})]},o))}),e.jsx("div",{className:"ref-filters",children:x.map(r=>e.jsx("button",{className:`ref-filter-btn ${c===r?"active":""}`,onClick:()=>a(r),children:r},r))}),e.jsx("div",{className:"ref-table-wrap",children:e.jsxs("table",{className:"ref-table",children:[e.jsx("thead",{children:e.jsxs("tr",{children:[e.jsx("th",{children:"기간"}),e.jsx("th",{children:"고객사"}),e.jsx("th",{children:"프로젝트명"}),e.jsx("th",{children:"역할"}),e.jsx("th",{children:"주요기술"}),e.jsx("th",{children:"분야"})]})}),e.jsx("tbody",{children:l.map((r,o)=>e.jsxs("tr",{children:[e.jsx("td",{className:"ref-period",children:r.period}),e.jsx("td",{className:"ref-client",children:r.client}),e.jsx("td",{className:"ref-project",children:r.project}),e.jsx("td",{children:e.jsx("span",{className:"ref-role",children:r.role})}),e.jsx("td",{className:"ref-tech",children:r.tech}),e.jsx("td",{children:e.jsx("span",{className:"ref-cat-badge",style:{background:s[r.category]+"18",color:s[r.category]},children:r.category})})]},o))})]})})]})})]})}const S=[{name:"Oracle",logo:"🔴",desc:"Oracle DB 공식 파트너 — Oracle 19c 전문 DBA 인증",tier:"Gold"},{name:"Red Hat",logo:"🎩",desc:"RHEL·OpenShift 파트너 — 리눅스 인프라 구축",tier:"Silver"},{name:"JEUS (TmaxSoft)",logo:"⚙️",desc:"국산 WAS JEUS/Tmax 공식 파트너",tier:"Gold"},{name:"Tibero",logo:"🗄️",desc:"Tibero DBMS 공식 파트너 — 공공기관 DB 전환",tier:"Gold"},{name:"Samsung SDS",logo:"💼",desc:"삼성SDS 협력사 — 삼성전자 CRM/품질 시스템 공동 수행",tier:"Partner"},{name:"Nexacro",logo:"🖥️",desc:"투비소프트 Nexacro 공식 파트너 — UI 개발 전문",tier:"Silver"},{name:"OZ Report",logo:"📊",desc:"OZ e-Form 공식 파트너 — 공공 전자문서 솔루션",tier:"Silver"},{name:"Ollama",logo:"🤖",desc:"온프레미스 LLM 파트너 — GUARDiA AI 엔진 공급사",tier:"Tech"}],d={Gold:"#d97706",Silver:"#6b7280",Partner:"#0051A2",Tech:"#7c3aed"};function v(){return e.jsxs("main",{id:"main-content",className:"inner-page",children:[e.jsx(p,{title:"파트너"}),e.jsx("section",{className:"section",children:e.jsxs("div",{className:"container",children:[e.jsxs("div",{className:"section-header",children:[e.jsx("span",{className:"section-label",children:"Partners"}),e.jsx("h2",{className:"section-title",children:"기술 파트너"}),e.jsx("p",{className:"section-desc",children:"최고의 기술 파트너와 함께 최선의 솔루션을 제공합니다"})]}),e.jsx("div",{className:"grid-4",children:S.map((c,a)=>e.jsxs("div",{className:"card partner-card",children:[e.jsx("div",{className:"partner-logo",children:c.logo}),e.jsxs("div",{className:"partner-tier",style:{background:d[c.tier]+"1a",color:d[c.tier]},children:[c.tier," Partner"]}),e.jsx("h3",{className:"partner-name",children:c.name}),e.jsx("p",{className:"partner-desc",children:c.desc})]},a))}),e.jsxs("div",{className:"partner-cta",children:[e.jsx("h3",{children:"파트너십 문의"}),e.jsx("p",{children:"지오정보기술과 기술 파트너십을 맺고 싶으신 기업은 아래로 연락 주십시오."}),e.jsx("a",{href:"/support/contact?type=사업제안",className:"btn btn-primary btn-lg",children:"파트너십 제안하기"})]})]})})]})}function y(){return e.jsxs(h,{children:[e.jsx(i,{path:"reference",element:e.jsx(n,{})}),e.jsx(i,{path:"partner",element:e.jsx(v,{})}),e.jsx(i,{path:"*",element:e.jsx(n,{})})]})}export{y as default}; diff --git a/workspace/zioinfo-web/backend/src/main/resources/static/assets/Company-fQQiu4ez.js b/workspace/zioinfo-web/backend/src/main/resources/static/assets/Company-BUDOGWDc.js similarity index 99% rename from workspace/zioinfo-web/backend/src/main/resources/static/assets/Company-fQQiu4ez.js rename to workspace/zioinfo-web/backend/src/main/resources/static/assets/Company-BUDOGWDc.js index 2149c939..8d47d769 100644 --- a/workspace/zioinfo-web/backend/src/main/resources/static/assets/Company-fQQiu4ez.js +++ b/workspace/zioinfo-web/backend/src/main/resources/static/assets/Company-BUDOGWDc.js @@ -1 +1 @@ -import{j as e,b as d,a as l,N as o}from"./index-B5QEzx5R.js";/* empty css */import{u as r}from"./useSeoMeta-SwLKmP5e.js";const x=[{path:"/company/greeting",label:"CEO 인사말"},{path:"/company/history",label:"연혁"},{path:"/company/organization",label:"조직도"},{path:"/company/ci",label:"CI 소개"},{path:"/company/location",label:"오시는 길"}];function c({title:s}){return e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"page-hero",children:e.jsxs("div",{className:"container",children:[e.jsx("span",{className:"section-label",children:"Company"}),e.jsx("h1",{className:"page-hero-title",children:s})]})}),e.jsx("nav",{className:"sub-nav",children:e.jsx("div",{className:"container",children:x.map(i=>e.jsx(o,{to:i.path,className:({isActive:a})=>"sub-nav-item"+(a?" active":""),children:i.label},i.path))})})]})}function t(){return r({title:"CEO 인사말 — 홍영택 대표이사",description:"(주)지오정보기술 홍영택 대표이사의 인사말. 20년 이상 공공기관 IT 전문 서비스 기업으로 성장한 지오정보기술의 비전을 소개합니다.",path:"/company/greeting"}),e.jsxs("main",{id:"main-content",className:"inner-page",children:[e.jsx(c,{title:"CEO 인사말"}),e.jsx("section",{className:"section",children:e.jsxs("div",{className:"container",style:{maxWidth:"860px"},children:[e.jsxs("div",{className:"ceo-wrap",children:[e.jsxs("div",{className:"ceo-photo",children:[e.jsx("div",{className:"ceo-avatar",style:{overflow:"hidden",background:"none",padding:0},children:e.jsx("img",{src:"/지오정보기술사옥전경.png",alt:"(주)지오정보기술 사옥 전경",style:{width:"100%",height:"100%",objectFit:"cover"}})}),e.jsx("p",{className:"ceo-name",children:"홍영택"}),e.jsx("p",{className:"ceo-sign",children:"대표이사"})]}),e.jsxs("div",{className:"ceo-text",children:[e.jsxs("h2",{children:["안녕하십니까,",e.jsx("br",{}),"(주)지오정보기술 대표이사 홍영택입니다."]}),e.jsx("div",{className:"divider divider-left",style:{margin:"20px 0 28px"}}),["저희 (주)지오정보기술은 2000년 창립 이래 20년 이상 공공기관 및 대기업 IT 전문 서비스 기업으로 성장해 왔습니다. 삼성전자, 현대백화점, 국민연금, 헌법재판소 등 국내 주요 기관·기업의 핵심 시스템을 성공적으로 구축·운영한 풍부한 경험을 보유하고 있습니다.",'최근에는 GUARDiA ITSM 플랫폼을 통해 "AI 기반 인프라 자율 운영"이라는 새로운 패러다임을 제시하고 있습니다. 메신저 한 줄 명령으로 1,000개 이상의 관공서 레거시 인프라를 자동화하는 혁신적인 솔루션으로, 대상 서버에 별도 소프트웨어 설치 없이 표준 SSH/SFTP 프로토콜만으로 운영 자동화를 실현합니다.',"앞으로도 고객의 성공이 곧 저희의 성공이라는 신념 아래, 최고의 기술력과 서비스로 보답하겠습니다. 언제나 여러분 곁에서 디지털 혁신의 파트너가 되겠습니다.","감사합니다."].map((s,i)=>e.jsx("p",{className:"ceo-para",children:s},i))]})]}),e.jsxs("div",{style:{marginTop:"72px"},children:[e.jsxs("div",{className:"section-header",children:[e.jsx("span",{className:"section-label",children:"Core Values"}),e.jsx("h2",{className:"section-title",children:"핵심 가치"})]}),e.jsx("div",{className:"grid-4",children:[{icon:"🎯",title:"고객 중심",desc:"고객의 성공을 최우선으로 생각하며 최적의 솔루션을 제공합니다"},{icon:"🚀",title:"기술 혁신",desc:"AI·클라우드 최신 기술로 고객의 디지털 전환을 선도합니다"},{icon:"🤝",title:"신뢰와 책임",desc:"20년 이상 축적된 신뢰로 책임감 있는 서비스를 제공합니다"},{icon:"🌱",title:"지속 성장",desc:"구성원과 고객이 함께 성장하는 지속 가능한 파트너십을 추구합니다"}].map((s,i)=>e.jsxs("div",{className:"card",style:{padding:"32px 24px",textAlign:"center"},children:[e.jsx("div",{style:{fontSize:"40px",marginBottom:"16px"},children:s.icon}),e.jsx("h3",{style:{fontSize:"18px",fontWeight:"700",marginBottom:"12px"},children:s.title}),e.jsx("p",{style:{fontSize:"14px",color:"var(--gray-600)",lineHeight:"1.7"},children:s.desc})]},i))})]})]})})]})}const h=[{year:"2026",items:["GUARDiA ITSM v2.0 출시 — AI ChatOps 오케스트레이션 플랫폼","GS인증 1등급 신청 준비 완료 (TTA 심사 예정)","공공기관 1,000개 이상 멀티테넌트 지원 목표 달성"]},{year:"2025",items:["삼성전자 차세대 CRM 구축 (DB Migration / DA / 튜닝)","GUARDiA ITSM v1.0 베타 서비스 개시","AI 기반 인프라 자동화 특허 출원"]},{year:"2024",items:["DELL 차세대 CRM 구축 — DBA 역할 수행 (엠로)","소상공인컨설팅시스템 구축 (서울신용보증재단, PM)","국민연금 차세대 시스템 구축 (AA)"]},{year:"2023",items:["헌법재판소 포털시스템 구축 (PM)","서울신용보증재단 모바일앱 구축 완료 (PM)"]},{year:"2022",items:["에이텍에이피 통합유지보수관리시스템 개발 (PM)","헌법재판소 통합보안관제시스템 구축 (PM)"]},{year:"2020–2021",items:["현대백화점 HKOS 시스템 개발/구축 (PM)","서울시립대 대학행정정보시스템 성능 개선 (PL)","농협 하나로마트 ESL 시스템 구축 (PM)"]},{year:"2018–2019",items:["이마트 정산시스템 프로젝트 (DA)","우체국금융 스마트ATM 도입 (PMO)","현대백화점 무인POS시스템 구축 (PM)","갤러리아백화점 PDA 정산시스템 (PM)"]},{year:"2015–2017",items:["LG U+ VAN 고도화 — 승인시스템 개발 FEP/AP/BEP (AA)","한화그룹 4사 통합 HR시스템 구축 (PL)","참좋은여행 콜센터 어플리케이션 구축 (PL)"]},{year:"2013–2014",items:["삼성전자 품질관리시스템(QWINGS) 구축 (PM)","대우증권 통합인프라시스템 (DBA)","현대캐피탈 차세대시스템 (PL)","중소기업 1357 통합콜센터 구축 (PL)"]},{year:"2010–2012",items:["삼성전자서비스 eZone 갱신 (PL)","현대모비스 원가관리시스템 (DBA)","한국전기안전공사 전기안전포털시스템 (DBA)"]},{year:"2008–2009",items:["국민은행 차세대 포탈 구축 (PL)","한국원자력연료 인사정보(HMS)시스템 (DBA)","한국전기안전공사 안전점검 고도화 (DBA)"]},{year:"2000",items:["(주)지오정보기술 창립","공공기관 IT 인프라 서비스 개시"]}];function m(){return e.jsxs("main",{id:"main-content",className:"inner-page",children:[e.jsx(c,{title:"연혁"}),e.jsx("section",{className:"section",children:e.jsxs("div",{className:"container",style:{maxWidth:"900px"},children:[e.jsxs("div",{className:"section-header",children:[e.jsx("span",{className:"section-label",children:"History"}),e.jsx("h2",{className:"section-title",children:"20년+ 성장의 역사"}),e.jsx("p",{className:"section-desc",children:"2000년 창립 이래 국내 주요 기관·기업과 함께 성장해 왔습니다"})]}),e.jsx("div",{className:"timeline",children:h.map((s,i)=>e.jsxs("div",{className:"timeline-row",children:[e.jsx("div",{className:"timeline-year",children:s.year}),e.jsx("div",{className:"timeline-dot"}),e.jsx("div",{className:"timeline-content",children:s.items.map((a,n)=>e.jsxs("div",{className:"timeline-item",children:[e.jsx("span",{className:"timeline-bullet"}),a]},n))})]},i))})]})})]})}function p(){return e.jsxs("main",{id:"main-content",className:"inner-page",children:[e.jsx(c,{title:"조직도"}),e.jsx("section",{className:"section",children:e.jsxs("div",{className:"container",style:{maxWidth:"960px"},children:[e.jsxs("div",{className:"section-header",children:[e.jsx("span",{className:"section-label",children:"Organization"}),e.jsx("h2",{className:"section-title",children:"조직 구성"})]}),e.jsxs("div",{className:"org-chart",children:[e.jsx("div",{className:"org-top",children:e.jsx("div",{className:"org-box ceo",children:"대표이사"})}),e.jsx("div",{className:"org-line-v"}),e.jsx("div",{className:"org-depts",children:[{name:"개발본부",color:"var(--primary)",teams:["AI개발팀","플랫폼개발팀","프론트엔드팀"]},{name:"기술본부",color:"var(--accent)",teams:["인프라팀","DBA팀","보안팀"]},{name:"PM본부",color:"#7c3aed",teams:["SI사업팀","SM운영팀","PMO팀"]},{name:"경영지원본부",color:"#059669",teams:["경영기획팀","영업팀","인사·총무팀"]}].map((s,i)=>e.jsxs("div",{className:"org-dept-col",children:[e.jsx("div",{className:"org-line-h"}),e.jsx("div",{className:"org-line-v-short"}),e.jsx("div",{className:"org-box dept",style:{borderColor:s.color,color:s.color},children:s.name}),e.jsx("div",{className:"org-teams",children:s.teams.map((a,n)=>e.jsx("div",{className:"org-box team",children:a},n))})]},i))})]}),e.jsx("div",{className:"grid-4",style:{marginTop:"64px"},children:[{label:"전체 임직원",value:"50+",unit:"명"},{label:"개발 인력",value:"70",unit:"%"},{label:"평균 경력",value:"8",unit:"년+"},{label:"국가 공인 자격",value:"30+",unit:"개"}].map((s,i)=>e.jsxs("div",{className:"card",style:{padding:"32px",textAlign:"center"},children:[e.jsxs("div",{style:{fontSize:"36px",fontWeight:"900",color:"var(--primary)"},children:[s.value,e.jsx("span",{style:{fontSize:"18px"},children:s.unit})]}),e.jsx("p",{style:{marginTop:"8px",color:"var(--gray-600)",fontSize:"14px"},children:s.label})]},i))})]})})]})}function j(){return r({title:"CI 소개 — 브랜드 아이덴티티",description:"(주)지오정보기술 CI 소개. AI와 첨단 정보 기술을 기반으로 연결되고 확장되는 미래를 상징하는 기업 이미지를 확인하세요.",path:"/company/ci"}),e.jsxs("main",{id:"main-content",className:"inner-page",children:[e.jsx(c,{title:"CI 소개"}),e.jsx("section",{className:"section",children:e.jsxs("div",{className:"container",style:{maxWidth:"960px"},children:[e.jsxs("div",{className:"section-header",children:[e.jsx("span",{className:"section-label",children:"Corporate Identity"}),e.jsx("h2",{className:"section-title",children:"(주)지오정보기술 CI 소개"}),e.jsx("p",{className:"section-desc",children:"인공지능(AI)과 첨단 정보 기술을 기반으로 연결되고 확장되는 미래를 상징합니다"})]}),e.jsxs("div",{className:"ci-section",children:[e.jsx("h3",{className:"ci-title",children:"메인 로고"}),e.jsxs("div",{className:"ci-logo-showcase",children:[e.jsxs("div",{className:"ci-logo-box light",style:{flex:1,minHeight:"200px",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:"16px"},children:[e.jsx("img",{src:"/지오정보기술로고.png",alt:"(주)지오정보기술 로고",style:{maxWidth:"320px",width:"100%",objectFit:"contain"}}),e.jsx("p",{className:"ci-logo-label",style:{color:"var(--gray-500)"},children:"라이트 배경용"})]}),e.jsxs("div",{className:"ci-logo-box dark",style:{flex:1,minHeight:"200px",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:"16px"},children:[e.jsx("img",{src:"/지오정보기술로고.png",alt:"(주)지오정보기술 로고 (다크)",style:{maxWidth:"320px",width:"100%",objectFit:"contain",filter:"brightness(0) invert(1)"}}),e.jsx("p",{className:"ci-logo-label",children:"다크 배경용"})]})]})]}),e.jsxs("div",{className:"ci-section",children:[e.jsx("h3",{className:"ci-title",children:"CI 심볼 디자인"}),e.jsxs("div",{style:{display:"flex",gap:"40px",alignItems:"flex-start",flexWrap:"wrap"},children:[e.jsx("div",{style:{flex:"0 0 auto"},children:e.jsx("img",{src:"/CI.jpg",alt:"지오정보기술 CI 심볼",style:{width:"280px",borderRadius:"12px",boxShadow:"0 4px 24px rgba(0,0,0,0.10)",display:"block"}})}),e.jsxs("div",{style:{flex:1,minWidth:"260px"},children:[e.jsx("h4",{style:{fontSize:"17px",fontWeight:"700",marginBottom:"16px",color:"var(--gray-800)"},children:"디자인 콘셉트 및 상징성"}),e.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"14px"},children:[e.jsxs("div",{style:{padding:"16px 20px",background:"var(--gray-50)",borderRadius:"10px",borderLeft:"4px solid var(--primary)"},children:[e.jsx("strong",{style:{display:"block",fontSize:"14px",color:"var(--primary)",marginBottom:"6px"},children:"구조적 결합"}),e.jsx("p",{style:{fontSize:"14px",color:"var(--gray-600)",lineHeight:"1.7",margin:0},children:"기하학적 도형들이 서로 맞물려 있는 형태는 인공지능 알고리즘과 데이터의 정교한 결합, 시스템 간의 통합, 그리고 기술을 통해 구축되는 견고한 지능형 네트워크를 의미합니다."})]}),e.jsxs("div",{style:{padding:"16px 20px",background:"var(--gray-50)",borderRadius:"10px",borderLeft:"4px solid var(--accent)"},children:[e.jsx("strong",{style:{display:"block",fontSize:"14px",color:"var(--accent)",marginBottom:"6px"},children:"지향점"}),e.jsx("p",{style:{fontSize:"14px",color:"var(--gray-600)",lineHeight:"1.7",margin:0},children:"서로 다른 방향을 가리키는 도형의 배치는 기존의 틀을 깨고 AI 기술을 통해 끊임없이 확장해 나가는 기업의 도전 정신과 변화하는 디지털 환경을 선도하겠다는 의지를 투영합니다."})]})]})]})]})]}),e.jsxs("div",{className:"ci-section",children:[e.jsx("h3",{className:"ci-title",children:"CI 색상 체계 및 의미"}),e.jsx("p",{style:{fontSize:"14px",color:"var(--gray-500)",marginBottom:"24px",lineHeight:"1.7"},children:"(주)지오정보기술의 색상 팔레트는 기술적 가치와 미래 지향적 철학을 시각화합니다."}),e.jsx("div",{className:"ci-colors",children:[{name:"딥 블루 (Deep Blue)",hex:"#0D2B6E",label:"신뢰와 전문성",desc:"로고의 구조적 중심을 이루는 이 색상은 IT 기업의 핵심 가치인 신뢰와 안정감을 상징합니다. 고객의 데이터를 안전하게 보호하고 흔들림 없는 서비스를 제공하겠다는 기업의 약속입니다."},{name:"라이트 블루 (Light Blue)",hex:"#4DA6D9",label:"혁신과 창의성",desc:"다이내믹하게 교차하는 하늘색 계열은 AI 기술로 열어갈 지능형 미래와 혁신을 상징합니다. 끊임없이 새로운 가치를 창출하고 확장해 나가는 진취적인 기업 정신을 투영합니다."},{name:"그레이 (Gray)",hex:"#8C9BAA",label:"안정과 균형",desc:"회색조의 배치 면은 기술과 비즈니스 사이의 중립적 균형을 의미합니다. 복잡한 데이터를 명확하고 논리적으로 분석하는 데이터 전문 기업의 이성적 판단력과 솔루션의 완성도를 대변합니다."}].map((s,i)=>e.jsxs("div",{className:"ci-color-card",style:{alignItems:"flex-start"},children:[e.jsx("div",{className:"ci-color-swatch",style:{background:s.hex,borderRadius:"10px",flexShrink:0}}),e.jsxs("div",{className:"ci-color-info",children:[e.jsx("strong",{style:{fontSize:"15px"},children:s.name}),e.jsx("span",{className:"ci-hex",style:{background:"var(--gray-100)",borderRadius:"4px",padding:"2px 8px",display:"inline-block",marginTop:"4px"},children:s.hex}),e.jsxs("span",{style:{fontSize:"13px",fontWeight:"600",color:"var(--primary)",marginTop:"6px",display:"block"},children:["[",s.label,"]"]}),e.jsx("p",{style:{fontSize:"13px",color:"var(--gray-600)",lineHeight:"1.65",margin:"6px 0 0"},children:s.desc})]})]},i))})]}),e.jsxs("div",{className:"ci-section",children:[e.jsx("h3",{className:"ci-title",children:"경영 철학 및 AI 비전"}),e.jsxs("div",{style:{padding:"32px 36px",background:"linear-gradient(135deg, #f0f6ff 0%, #e8f4fd 100%)",borderRadius:"16px",borderLeft:"5px solid var(--primary)",position:"relative",overflow:"hidden"},children:[e.jsx("div",{style:{position:"absolute",top:"-20px",right:"-20px",width:"120px",height:"120px",background:"rgba(0,81,162,0.05)",borderRadius:"50%"}}),e.jsxs("p",{style:{fontSize:"15px",color:"var(--gray-700)",lineHeight:"1.85",margin:0},children:["(주)지오정보기술은 CI가 담고 있는 ",e.jsx("strong",{children:"결합과 확장의 철학"}),"을 바탕으로, 단순한 정보 처리를 넘어 인공지능이 더해진 최적화된 솔루션을 제공합니다. 우리는 기술과 기술, 사람과 AI가 조화롭게 연결되는 지점에서 새로운 가치를 창출하며, AI 기반의 안정적이고 효율적인 정보 인프라로 미래의 가능성을 실현해 나갑니다."]}),e.jsxs("p",{style:{fontSize:"15px",color:"var(--gray-700)",lineHeight:"1.85",margin:"16px 0 0"},children:["이러한 시각적 정체성을 통해 (주)지오정보기술은 단순한 IT 기술 공급자를 넘어,",e.jsx("strong",{children:" 고객의 비즈니스에 지능형 가치를 더하는 파트너"}),"로서의 입지를 공고히 합니다."]})]})]}),e.jsxs("div",{className:"ci-section",children:[e.jsx("h3",{className:"ci-title",children:"브랜드 슬로건"}),e.jsxs("div",{className:"ci-slogan-wrap",children:[e.jsx("p",{className:"ci-slogan-main",children:'"공공기관 IT, 지오정보기술과 함께"'}),e.jsx("p",{className:"ci-slogan-sub",children:"20년 신뢰의 기술력으로 AI 인프라 혁신을 이끕니다"})]})]})]})})]})}function g(){return r({title:"오시는 길 — 경기도 안산시 단원구",description:"(주)지오정보기술 찾아오시는 방법. 경기도 안산시 단원구 광덕4로 220 오피스브이 578호. 전화: 031-483-1766",path:"/company/location",keywords:"지오정보기술 주소, 지오정보기술 위치, 안산 IT기업"}),e.jsxs("main",{id:"main-content",className:"inner-page",children:[e.jsx(c,{title:"오시는 길"}),e.jsx("section",{className:"section",children:e.jsxs("div",{className:"container",style:{maxWidth:"960px"},children:[e.jsxs("div",{className:"section-header",children:[e.jsx("span",{className:"section-label",children:"Location"}),e.jsx("h2",{className:"section-title",children:"오시는 길"})]}),e.jsx("div",{className:"map-wrap",children:e.jsx("iframe",{title:"(주)지오정보기술 오시는 길",src:"https://map.naver.com/v5/embed?type=address&query=%EA%B2%BD%EA%B8%B0%EB%8F%84+%EC%95%88%EC%82%B0%EC%8B%9C+%EB%8B%A8%EC%9B%90%EA%B5%AC+%EA%B4%91%EB%8D%954%EB%A1%9C+220&zoom=17&maptype=normal",style:{width:"100%",height:"420px",border:"none",borderRadius:"12px",display:"block"},allowFullScreen:!0,loading:"lazy"})}),e.jsxs("div",{className:"location-grid",children:[e.jsxs("div",{className:"card",style:{padding:"36px"},children:[e.jsx("h3",{className:"loc-office-title",children:"📍 본사"}),e.jsx("table",{className:"loc-table",children:e.jsxs("tbody",{children:[e.jsxs("tr",{children:[e.jsx("th",{children:"회사명"}),e.jsx("td",{children:"(주)지오정보기술"})]}),e.jsxs("tr",{children:[e.jsx("th",{children:"대표이사"}),e.jsx("td",{children:"홍영택"})]}),e.jsxs("tr",{children:[e.jsx("th",{children:"주소"}),e.jsxs("td",{children:["경기도 안산시 단원구 광덕4로 220",e.jsx("br",{}),"오피스브이 578호"]})]}),e.jsxs("tr",{children:[e.jsx("th",{children:"대표전화"}),e.jsx("td",{children:e.jsx("a",{href:"tel:031-483-1766",children:"031-483-1766"})})]}),e.jsxs("tr",{children:[e.jsx("th",{children:"이메일"}),e.jsx("td",{children:e.jsx("a",{href:"mailto:info@zioinfo.co.kr",children:"info@zioinfo.co.kr"})})]}),e.jsxs("tr",{children:[e.jsx("th",{children:"운영시간"}),e.jsx("td",{children:"평일 09:00 ~ 18:00 (점심 12:00~13:00)"})]})]})})]}),e.jsxs("div",{className:"card",style:{padding:"36px"},children:[e.jsx("h3",{className:"loc-office-title",children:"🚇 교통 안내"}),e.jsx("div",{className:"transport-list",children:[{type:"지하철",icon:"🚇",lines:["4호선 중앙역 2번 출구 도보 10분","수인분당선 중앙역 이용 가능"]},{type:"버스",icon:"🚌",lines:["안산 32, 51, 52번 — 광덕사거리 하차","직행 3100번 — 안산역 환승 후 이동"]},{type:"자가용",icon:"🚗",lines:["서해안고속도로 비봉IC → 안산방면 → 광덕4로","주차 가능 (방문 전 사전 연락 권장)"]}].map((s,i)=>e.jsxs("div",{className:"transport-item",children:[e.jsxs("div",{className:"transport-header",children:[e.jsx("span",{children:s.icon}),e.jsx("strong",{children:s.type})]}),s.lines.map((a,n)=>e.jsx("p",{children:a},n))]},i))}),e.jsxs("div",{style:{marginTop:"20px",padding:"12px 16px",background:"var(--gray-50)",borderRadius:"8px",fontSize:"13px",color:"var(--gray-500)"},children:["📌 네이버 지도에서 ",e.jsx("strong",{children:'"오피스브이 안산"'})," 검색"]})]})]})]})})]})}function b(){return e.jsxs(d,{children:[e.jsx(l,{path:"greeting",element:e.jsx(t,{})}),e.jsx(l,{path:"history",element:e.jsx(m,{})}),e.jsx(l,{path:"organization",element:e.jsx(p,{})}),e.jsx(l,{path:"ci",element:e.jsx(j,{})}),e.jsx(l,{path:"location",element:e.jsx(g,{})}),e.jsx(l,{path:"*",element:e.jsx(t,{})})]})}export{b as default}; +import{j as e,b as d,a as l,N as o}from"./index-CpO7mTKO.js";/* empty css */import{u as r}from"./useSeoMeta-DR7HJfMM.js";const x=[{path:"/company/greeting",label:"CEO 인사말"},{path:"/company/history",label:"연혁"},{path:"/company/organization",label:"조직도"},{path:"/company/ci",label:"CI 소개"},{path:"/company/location",label:"오시는 길"}];function c({title:s}){return e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"page-hero",children:e.jsxs("div",{className:"container",children:[e.jsx("span",{className:"section-label",children:"Company"}),e.jsx("h1",{className:"page-hero-title",children:s})]})}),e.jsx("nav",{className:"sub-nav",children:e.jsx("div",{className:"container",children:x.map(i=>e.jsx(o,{to:i.path,className:({isActive:a})=>"sub-nav-item"+(a?" active":""),children:i.label},i.path))})})]})}function t(){return r({title:"CEO 인사말 — 홍영택 대표이사",description:"(주)지오정보기술 홍영택 대표이사의 인사말. 20년 이상 공공기관 IT 전문 서비스 기업으로 성장한 지오정보기술의 비전을 소개합니다.",path:"/company/greeting"}),e.jsxs("main",{id:"main-content",className:"inner-page",children:[e.jsx(c,{title:"CEO 인사말"}),e.jsx("section",{className:"section",children:e.jsxs("div",{className:"container",style:{maxWidth:"860px"},children:[e.jsxs("div",{className:"ceo-wrap",children:[e.jsxs("div",{className:"ceo-photo",children:[e.jsx("div",{className:"ceo-avatar",style:{overflow:"hidden",background:"none",padding:0},children:e.jsx("img",{src:"/지오정보기술사옥전경.png",alt:"(주)지오정보기술 사옥 전경",style:{width:"100%",height:"100%",objectFit:"cover"}})}),e.jsx("p",{className:"ceo-name",children:"홍영택"}),e.jsx("p",{className:"ceo-sign",children:"대표이사"})]}),e.jsxs("div",{className:"ceo-text",children:[e.jsxs("h2",{children:["안녕하십니까,",e.jsx("br",{}),"(주)지오정보기술 대표이사 홍영택입니다."]}),e.jsx("div",{className:"divider divider-left",style:{margin:"20px 0 28px"}}),["저희 (주)지오정보기술은 2000년 창립 이래 20년 이상 공공기관 및 대기업 IT 전문 서비스 기업으로 성장해 왔습니다. 삼성전자, 현대백화점, 국민연금, 헌법재판소 등 국내 주요 기관·기업의 핵심 시스템을 성공적으로 구축·운영한 풍부한 경험을 보유하고 있습니다.",'최근에는 GUARDiA ITSM 플랫폼을 통해 "AI 기반 인프라 자율 운영"이라는 새로운 패러다임을 제시하고 있습니다. 메신저 한 줄 명령으로 1,000개 이상의 관공서 레거시 인프라를 자동화하는 혁신적인 솔루션으로, 대상 서버에 별도 소프트웨어 설치 없이 표준 SSH/SFTP 프로토콜만으로 운영 자동화를 실현합니다.',"앞으로도 고객의 성공이 곧 저희의 성공이라는 신념 아래, 최고의 기술력과 서비스로 보답하겠습니다. 언제나 여러분 곁에서 디지털 혁신의 파트너가 되겠습니다.","감사합니다."].map((s,i)=>e.jsx("p",{className:"ceo-para",children:s},i))]})]}),e.jsxs("div",{style:{marginTop:"72px"},children:[e.jsxs("div",{className:"section-header",children:[e.jsx("span",{className:"section-label",children:"Core Values"}),e.jsx("h2",{className:"section-title",children:"핵심 가치"})]}),e.jsx("div",{className:"grid-4",children:[{icon:"🎯",title:"고객 중심",desc:"고객의 성공을 최우선으로 생각하며 최적의 솔루션을 제공합니다"},{icon:"🚀",title:"기술 혁신",desc:"AI·클라우드 최신 기술로 고객의 디지털 전환을 선도합니다"},{icon:"🤝",title:"신뢰와 책임",desc:"20년 이상 축적된 신뢰로 책임감 있는 서비스를 제공합니다"},{icon:"🌱",title:"지속 성장",desc:"구성원과 고객이 함께 성장하는 지속 가능한 파트너십을 추구합니다"}].map((s,i)=>e.jsxs("div",{className:"card",style:{padding:"32px 24px",textAlign:"center"},children:[e.jsx("div",{style:{fontSize:"40px",marginBottom:"16px"},children:s.icon}),e.jsx("h3",{style:{fontSize:"18px",fontWeight:"700",marginBottom:"12px"},children:s.title}),e.jsx("p",{style:{fontSize:"14px",color:"var(--gray-600)",lineHeight:"1.7"},children:s.desc})]},i))})]})]})})]})}const h=[{year:"2026",items:["GUARDiA ITSM v2.0 출시 — AI ChatOps 오케스트레이션 플랫폼","GS인증 1등급 신청 준비 완료 (TTA 심사 예정)","공공기관 1,000개 이상 멀티테넌트 지원 목표 달성"]},{year:"2025",items:["삼성전자 차세대 CRM 구축 (DB Migration / DA / 튜닝)","GUARDiA ITSM v1.0 베타 서비스 개시","AI 기반 인프라 자동화 특허 출원"]},{year:"2024",items:["DELL 차세대 CRM 구축 — DBA 역할 수행 (엠로)","소상공인컨설팅시스템 구축 (서울신용보증재단, PM)","국민연금 차세대 시스템 구축 (AA)"]},{year:"2023",items:["헌법재판소 포털시스템 구축 (PM)","서울신용보증재단 모바일앱 구축 완료 (PM)"]},{year:"2022",items:["에이텍에이피 통합유지보수관리시스템 개발 (PM)","헌법재판소 통합보안관제시스템 구축 (PM)"]},{year:"2020–2021",items:["현대백화점 HKOS 시스템 개발/구축 (PM)","서울시립대 대학행정정보시스템 성능 개선 (PL)","농협 하나로마트 ESL 시스템 구축 (PM)"]},{year:"2018–2019",items:["이마트 정산시스템 프로젝트 (DA)","우체국금융 스마트ATM 도입 (PMO)","현대백화점 무인POS시스템 구축 (PM)","갤러리아백화점 PDA 정산시스템 (PM)"]},{year:"2015–2017",items:["LG U+ VAN 고도화 — 승인시스템 개발 FEP/AP/BEP (AA)","한화그룹 4사 통합 HR시스템 구축 (PL)","참좋은여행 콜센터 어플리케이션 구축 (PL)"]},{year:"2013–2014",items:["삼성전자 품질관리시스템(QWINGS) 구축 (PM)","대우증권 통합인프라시스템 (DBA)","현대캐피탈 차세대시스템 (PL)","중소기업 1357 통합콜센터 구축 (PL)"]},{year:"2010–2012",items:["삼성전자서비스 eZone 갱신 (PL)","현대모비스 원가관리시스템 (DBA)","한국전기안전공사 전기안전포털시스템 (DBA)"]},{year:"2008–2009",items:["국민은행 차세대 포탈 구축 (PL)","한국원자력연료 인사정보(HMS)시스템 (DBA)","한국전기안전공사 안전점검 고도화 (DBA)"]},{year:"2000",items:["(주)지오정보기술 창립","공공기관 IT 인프라 서비스 개시"]}];function m(){return e.jsxs("main",{id:"main-content",className:"inner-page",children:[e.jsx(c,{title:"연혁"}),e.jsx("section",{className:"section",children:e.jsxs("div",{className:"container",style:{maxWidth:"900px"},children:[e.jsxs("div",{className:"section-header",children:[e.jsx("span",{className:"section-label",children:"History"}),e.jsx("h2",{className:"section-title",children:"20년+ 성장의 역사"}),e.jsx("p",{className:"section-desc",children:"2000년 창립 이래 국내 주요 기관·기업과 함께 성장해 왔습니다"})]}),e.jsx("div",{className:"timeline",children:h.map((s,i)=>e.jsxs("div",{className:"timeline-row",children:[e.jsx("div",{className:"timeline-year",children:s.year}),e.jsx("div",{className:"timeline-dot"}),e.jsx("div",{className:"timeline-content",children:s.items.map((a,n)=>e.jsxs("div",{className:"timeline-item",children:[e.jsx("span",{className:"timeline-bullet"}),a]},n))})]},i))})]})})]})}function p(){return e.jsxs("main",{id:"main-content",className:"inner-page",children:[e.jsx(c,{title:"조직도"}),e.jsx("section",{className:"section",children:e.jsxs("div",{className:"container",style:{maxWidth:"960px"},children:[e.jsxs("div",{className:"section-header",children:[e.jsx("span",{className:"section-label",children:"Organization"}),e.jsx("h2",{className:"section-title",children:"조직 구성"})]}),e.jsxs("div",{className:"org-chart",children:[e.jsx("div",{className:"org-top",children:e.jsx("div",{className:"org-box ceo",children:"대표이사"})}),e.jsx("div",{className:"org-line-v"}),e.jsx("div",{className:"org-depts",children:[{name:"개발본부",color:"var(--primary)",teams:["AI개발팀","플랫폼개발팀","프론트엔드팀"]},{name:"기술본부",color:"var(--accent)",teams:["인프라팀","DBA팀","보안팀"]},{name:"PM본부",color:"#7c3aed",teams:["SI사업팀","SM운영팀","PMO팀"]},{name:"경영지원본부",color:"#059669",teams:["경영기획팀","영업팀","인사·총무팀"]}].map((s,i)=>e.jsxs("div",{className:"org-dept-col",children:[e.jsx("div",{className:"org-line-h"}),e.jsx("div",{className:"org-line-v-short"}),e.jsx("div",{className:"org-box dept",style:{borderColor:s.color,color:s.color},children:s.name}),e.jsx("div",{className:"org-teams",children:s.teams.map((a,n)=>e.jsx("div",{className:"org-box team",children:a},n))})]},i))})]}),e.jsx("div",{className:"grid-4",style:{marginTop:"64px"},children:[{label:"전체 임직원",value:"50+",unit:"명"},{label:"개발 인력",value:"70",unit:"%"},{label:"평균 경력",value:"8",unit:"년+"},{label:"국가 공인 자격",value:"30+",unit:"개"}].map((s,i)=>e.jsxs("div",{className:"card",style:{padding:"32px",textAlign:"center"},children:[e.jsxs("div",{style:{fontSize:"36px",fontWeight:"900",color:"var(--primary)"},children:[s.value,e.jsx("span",{style:{fontSize:"18px"},children:s.unit})]}),e.jsx("p",{style:{marginTop:"8px",color:"var(--gray-600)",fontSize:"14px"},children:s.label})]},i))})]})})]})}function j(){return r({title:"CI 소개 — 브랜드 아이덴티티",description:"(주)지오정보기술 CI 소개. AI와 첨단 정보 기술을 기반으로 연결되고 확장되는 미래를 상징하는 기업 이미지를 확인하세요.",path:"/company/ci"}),e.jsxs("main",{id:"main-content",className:"inner-page",children:[e.jsx(c,{title:"CI 소개"}),e.jsx("section",{className:"section",children:e.jsxs("div",{className:"container",style:{maxWidth:"960px"},children:[e.jsxs("div",{className:"section-header",children:[e.jsx("span",{className:"section-label",children:"Corporate Identity"}),e.jsx("h2",{className:"section-title",children:"(주)지오정보기술 CI 소개"}),e.jsx("p",{className:"section-desc",children:"인공지능(AI)과 첨단 정보 기술을 기반으로 연결되고 확장되는 미래를 상징합니다"})]}),e.jsxs("div",{className:"ci-section",children:[e.jsx("h3",{className:"ci-title",children:"메인 로고"}),e.jsxs("div",{className:"ci-logo-showcase",children:[e.jsxs("div",{className:"ci-logo-box light",style:{flex:1,minHeight:"200px",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:"16px"},children:[e.jsx("img",{src:"/지오정보기술로고.png",alt:"(주)지오정보기술 로고",style:{maxWidth:"320px",width:"100%",objectFit:"contain"}}),e.jsx("p",{className:"ci-logo-label",style:{color:"var(--gray-500)"},children:"라이트 배경용"})]}),e.jsxs("div",{className:"ci-logo-box dark",style:{flex:1,minHeight:"200px",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:"16px"},children:[e.jsx("img",{src:"/지오정보기술로고.png",alt:"(주)지오정보기술 로고 (다크)",style:{maxWidth:"320px",width:"100%",objectFit:"contain",filter:"brightness(0) invert(1)"}}),e.jsx("p",{className:"ci-logo-label",children:"다크 배경용"})]})]})]}),e.jsxs("div",{className:"ci-section",children:[e.jsx("h3",{className:"ci-title",children:"CI 심볼 디자인"}),e.jsxs("div",{style:{display:"flex",gap:"40px",alignItems:"flex-start",flexWrap:"wrap"},children:[e.jsx("div",{style:{flex:"0 0 auto"},children:e.jsx("img",{src:"/CI.jpg",alt:"지오정보기술 CI 심볼",style:{width:"280px",borderRadius:"12px",boxShadow:"0 4px 24px rgba(0,0,0,0.10)",display:"block"}})}),e.jsxs("div",{style:{flex:1,minWidth:"260px"},children:[e.jsx("h4",{style:{fontSize:"17px",fontWeight:"700",marginBottom:"16px",color:"var(--gray-800)"},children:"디자인 콘셉트 및 상징성"}),e.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"14px"},children:[e.jsxs("div",{style:{padding:"16px 20px",background:"var(--gray-50)",borderRadius:"10px",borderLeft:"4px solid var(--primary)"},children:[e.jsx("strong",{style:{display:"block",fontSize:"14px",color:"var(--primary)",marginBottom:"6px"},children:"구조적 결합"}),e.jsx("p",{style:{fontSize:"14px",color:"var(--gray-600)",lineHeight:"1.7",margin:0},children:"기하학적 도형들이 서로 맞물려 있는 형태는 인공지능 알고리즘과 데이터의 정교한 결합, 시스템 간의 통합, 그리고 기술을 통해 구축되는 견고한 지능형 네트워크를 의미합니다."})]}),e.jsxs("div",{style:{padding:"16px 20px",background:"var(--gray-50)",borderRadius:"10px",borderLeft:"4px solid var(--accent)"},children:[e.jsx("strong",{style:{display:"block",fontSize:"14px",color:"var(--accent)",marginBottom:"6px"},children:"지향점"}),e.jsx("p",{style:{fontSize:"14px",color:"var(--gray-600)",lineHeight:"1.7",margin:0},children:"서로 다른 방향을 가리키는 도형의 배치는 기존의 틀을 깨고 AI 기술을 통해 끊임없이 확장해 나가는 기업의 도전 정신과 변화하는 디지털 환경을 선도하겠다는 의지를 투영합니다."})]})]})]})]})]}),e.jsxs("div",{className:"ci-section",children:[e.jsx("h3",{className:"ci-title",children:"CI 색상 체계 및 의미"}),e.jsx("p",{style:{fontSize:"14px",color:"var(--gray-500)",marginBottom:"24px",lineHeight:"1.7"},children:"(주)지오정보기술의 색상 팔레트는 기술적 가치와 미래 지향적 철학을 시각화합니다."}),e.jsx("div",{className:"ci-colors",children:[{name:"딥 블루 (Deep Blue)",hex:"#0D2B6E",label:"신뢰와 전문성",desc:"로고의 구조적 중심을 이루는 이 색상은 IT 기업의 핵심 가치인 신뢰와 안정감을 상징합니다. 고객의 데이터를 안전하게 보호하고 흔들림 없는 서비스를 제공하겠다는 기업의 약속입니다."},{name:"라이트 블루 (Light Blue)",hex:"#4DA6D9",label:"혁신과 창의성",desc:"다이내믹하게 교차하는 하늘색 계열은 AI 기술로 열어갈 지능형 미래와 혁신을 상징합니다. 끊임없이 새로운 가치를 창출하고 확장해 나가는 진취적인 기업 정신을 투영합니다."},{name:"그레이 (Gray)",hex:"#8C9BAA",label:"안정과 균형",desc:"회색조의 배치 면은 기술과 비즈니스 사이의 중립적 균형을 의미합니다. 복잡한 데이터를 명확하고 논리적으로 분석하는 데이터 전문 기업의 이성적 판단력과 솔루션의 완성도를 대변합니다."}].map((s,i)=>e.jsxs("div",{className:"ci-color-card",style:{alignItems:"flex-start"},children:[e.jsx("div",{className:"ci-color-swatch",style:{background:s.hex,borderRadius:"10px",flexShrink:0}}),e.jsxs("div",{className:"ci-color-info",children:[e.jsx("strong",{style:{fontSize:"15px"},children:s.name}),e.jsx("span",{className:"ci-hex",style:{background:"var(--gray-100)",borderRadius:"4px",padding:"2px 8px",display:"inline-block",marginTop:"4px"},children:s.hex}),e.jsxs("span",{style:{fontSize:"13px",fontWeight:"600",color:"var(--primary)",marginTop:"6px",display:"block"},children:["[",s.label,"]"]}),e.jsx("p",{style:{fontSize:"13px",color:"var(--gray-600)",lineHeight:"1.65",margin:"6px 0 0"},children:s.desc})]})]},i))})]}),e.jsxs("div",{className:"ci-section",children:[e.jsx("h3",{className:"ci-title",children:"경영 철학 및 AI 비전"}),e.jsxs("div",{style:{padding:"32px 36px",background:"linear-gradient(135deg, #f0f6ff 0%, #e8f4fd 100%)",borderRadius:"16px",borderLeft:"5px solid var(--primary)",position:"relative",overflow:"hidden"},children:[e.jsx("div",{style:{position:"absolute",top:"-20px",right:"-20px",width:"120px",height:"120px",background:"rgba(0,81,162,0.05)",borderRadius:"50%"}}),e.jsxs("p",{style:{fontSize:"15px",color:"var(--gray-700)",lineHeight:"1.85",margin:0},children:["(주)지오정보기술은 CI가 담고 있는 ",e.jsx("strong",{children:"결합과 확장의 철학"}),"을 바탕으로, 단순한 정보 처리를 넘어 인공지능이 더해진 최적화된 솔루션을 제공합니다. 우리는 기술과 기술, 사람과 AI가 조화롭게 연결되는 지점에서 새로운 가치를 창출하며, AI 기반의 안정적이고 효율적인 정보 인프라로 미래의 가능성을 실현해 나갑니다."]}),e.jsxs("p",{style:{fontSize:"15px",color:"var(--gray-700)",lineHeight:"1.85",margin:"16px 0 0"},children:["이러한 시각적 정체성을 통해 (주)지오정보기술은 단순한 IT 기술 공급자를 넘어,",e.jsx("strong",{children:" 고객의 비즈니스에 지능형 가치를 더하는 파트너"}),"로서의 입지를 공고히 합니다."]})]})]}),e.jsxs("div",{className:"ci-section",children:[e.jsx("h3",{className:"ci-title",children:"브랜드 슬로건"}),e.jsxs("div",{className:"ci-slogan-wrap",children:[e.jsx("p",{className:"ci-slogan-main",children:'"공공기관 IT, 지오정보기술과 함께"'}),e.jsx("p",{className:"ci-slogan-sub",children:"20년 신뢰의 기술력으로 AI 인프라 혁신을 이끕니다"})]})]})]})})]})}function g(){return r({title:"오시는 길 — 경기도 안산시 단원구",description:"(주)지오정보기술 찾아오시는 방법. 경기도 안산시 단원구 광덕4로 220 오피스브이 578호. 전화: 031-483-1766",path:"/company/location",keywords:"지오정보기술 주소, 지오정보기술 위치, 안산 IT기업"}),e.jsxs("main",{id:"main-content",className:"inner-page",children:[e.jsx(c,{title:"오시는 길"}),e.jsx("section",{className:"section",children:e.jsxs("div",{className:"container",style:{maxWidth:"960px"},children:[e.jsxs("div",{className:"section-header",children:[e.jsx("span",{className:"section-label",children:"Location"}),e.jsx("h2",{className:"section-title",children:"오시는 길"})]}),e.jsx("div",{className:"map-wrap",children:e.jsx("iframe",{title:"(주)지오정보기술 오시는 길",src:"https://map.naver.com/v5/embed?type=address&query=%EA%B2%BD%EA%B8%B0%EB%8F%84+%EC%95%88%EC%82%B0%EC%8B%9C+%EB%8B%A8%EC%9B%90%EA%B5%AC+%EA%B4%91%EB%8D%954%EB%A1%9C+220&zoom=17&maptype=normal",style:{width:"100%",height:"420px",border:"none",borderRadius:"12px",display:"block"},allowFullScreen:!0,loading:"lazy"})}),e.jsxs("div",{className:"location-grid",children:[e.jsxs("div",{className:"card",style:{padding:"36px"},children:[e.jsx("h3",{className:"loc-office-title",children:"📍 본사"}),e.jsx("table",{className:"loc-table",children:e.jsxs("tbody",{children:[e.jsxs("tr",{children:[e.jsx("th",{children:"회사명"}),e.jsx("td",{children:"(주)지오정보기술"})]}),e.jsxs("tr",{children:[e.jsx("th",{children:"대표이사"}),e.jsx("td",{children:"홍영택"})]}),e.jsxs("tr",{children:[e.jsx("th",{children:"주소"}),e.jsxs("td",{children:["경기도 안산시 단원구 광덕4로 220",e.jsx("br",{}),"오피스브이 578호"]})]}),e.jsxs("tr",{children:[e.jsx("th",{children:"대표전화"}),e.jsx("td",{children:e.jsx("a",{href:"tel:031-483-1766",children:"031-483-1766"})})]}),e.jsxs("tr",{children:[e.jsx("th",{children:"이메일"}),e.jsx("td",{children:e.jsx("a",{href:"mailto:info@zioinfo.co.kr",children:"info@zioinfo.co.kr"})})]}),e.jsxs("tr",{children:[e.jsx("th",{children:"운영시간"}),e.jsx("td",{children:"평일 09:00 ~ 18:00 (점심 12:00~13:00)"})]})]})})]}),e.jsxs("div",{className:"card",style:{padding:"36px"},children:[e.jsx("h3",{className:"loc-office-title",children:"🚇 교통 안내"}),e.jsx("div",{className:"transport-list",children:[{type:"지하철",icon:"🚇",lines:["4호선 중앙역 2번 출구 도보 10분","수인분당선 중앙역 이용 가능"]},{type:"버스",icon:"🚌",lines:["안산 32, 51, 52번 — 광덕사거리 하차","직행 3100번 — 안산역 환승 후 이동"]},{type:"자가용",icon:"🚗",lines:["서해안고속도로 비봉IC → 안산방면 → 광덕4로","주차 가능 (방문 전 사전 연락 권장)"]}].map((s,i)=>e.jsxs("div",{className:"transport-item",children:[e.jsxs("div",{className:"transport-header",children:[e.jsx("span",{children:s.icon}),e.jsx("strong",{children:s.type})]}),s.lines.map((a,n)=>e.jsx("p",{children:a},n))]},i))}),e.jsxs("div",{style:{marginTop:"20px",padding:"12px 16px",background:"var(--gray-50)",borderRadius:"8px",fontSize:"13px",color:"var(--gray-500)"},children:["📌 네이버 지도에서 ",e.jsx("strong",{children:'"오피스브이 안산"'})," 검색"]})]})]})]})})]})}function b(){return e.jsxs(d,{children:[e.jsx(l,{path:"greeting",element:e.jsx(t,{})}),e.jsx(l,{path:"history",element:e.jsx(m,{})}),e.jsx(l,{path:"organization",element:e.jsx(p,{})}),e.jsx(l,{path:"ci",element:e.jsx(j,{})}),e.jsx(l,{path:"location",element:e.jsx(g,{})}),e.jsx(l,{path:"*",element:e.jsx(t,{})})]})}export{b as default}; diff --git a/workspace/zioinfo-web/backend/src/main/resources/static/assets/Contact-B7StfX4I.js b/workspace/zioinfo-web/backend/src/main/resources/static/assets/Contact-B7StfX4I.js new file mode 100644 index 00000000..c5f5e179 --- /dev/null +++ b/workspace/zioinfo-web/backend/src/main/resources/static/assets/Contact-B7StfX4I.js @@ -0,0 +1 @@ +import{c as u,j as e,r as c}from"./index-CpO7mTKO.js";import{a as j}from"./index-DcNlVx-A.js";/* empty css */function b(){const s=u(),[n,r]=c.useState(null),[l,i]=c.useState(!1);return c.useEffect(()=>{const o=localStorage.getItem("member_token"),a=localStorage.getItem("member_user");if(o&&a)try{r(JSON.parse(a))}catch{}i(!0)},[]),{member:n,isLoggedIn:!!n,loaded:l,logout:()=>{localStorage.removeItem("member_token"),localStorage.removeItem("member_user"),r(null),s("/")},requireLogin:(o=window.location.pathname)=>n?!0:(s(`/login?redirect=${encodeURIComponent(o)}`),!1)}}function v({children:s,feature:n="이 기능"}){const{isLoggedIn:r,loaded:l}=b(),i=u();return l?r?s:e.jsxs("div",{className:"member-guard",style:{position:"relative",minHeight:120},children:[s,e.jsxs("div",{className:"member-guard-overlay",children:[e.jsx("div",{className:"member-guard-icon",children:"🔒"}),e.jsxs("div",{className:"member-guard-text",children:[n,"은 회원 전용입니다"]}),e.jsx("div",{className:"member-guard-sub",children:"로그인 후 이용하실 수 있습니다"}),e.jsx("button",{onClick:()=>i("/login"),style:{marginTop:8,padding:"8px 24px",background:"#1a5fd8",color:"#fff",border:"none",borderRadius:8,cursor:"pointer",fontWeight:600,fontSize:14},children:"로그인 / 회원가입"})]})]}):null}function S(){const[s,n]=c.useState({name:"",email:"",phone:"",category:"제품문의",subject:"",content:"",agreePrivacy:!1}),[r,l]=c.useState(null),[i,d]=c.useState(!1),t=a=>{const{name:m,value:h,type:p,checked:x}=a.target;n(g=>({...g,[m]:p==="checkbox"?x:h}))},o=async a=>{if(a.preventDefault(),!s.agreePrivacy){l({type:"error",msg:"개인정보 수집·이용에 동의해주세요."});return}d(!0);try{await j.post("/api/inquiry",s),l({type:"success",msg:"문의가 접수되었습니다. 빠른 시일 내에 연락드리겠습니다."}),n({name:"",email:"",phone:"",category:"제품문의",subject:"",content:"",agreePrivacy:!1})}catch{l({type:"error",msg:"문의 접수 중 오류가 발생했습니다. 잠시 후 다시 시도해주세요."})}finally{d(!1)}};return e.jsx(v,{feature:"문의 상담 신청",children:e.jsxs("main",{id:"main-content",className:"contact-page",children:[e.jsx("div",{className:"page-hero",children:e.jsxs("div",{className:"container",children:[e.jsx("span",{className:"section-label",children:"Contact Us"}),e.jsx("h1",{className:"page-hero-title",children:"문의하기"}),e.jsx("p",{children:"GUARDiA ITSM 도입 문의 및 제품 상담을 받아드립니다."})]})}),e.jsx("section",{className:"section",children:e.jsxs("div",{className:"container contact-grid",children:[e.jsxs("div",{className:"contact-info",children:[e.jsx("h2",{children:"연락처 정보"}),[{icon:"📞",label:"대표전화",value:"031-483-1766"},{icon:"✉️",label:"이메일",value:"info@zioinfo.co.kr"},{icon:"🕐",label:"운영시간",value:"평일 09:00 ~ 18:00"},{icon:"📍",label:"주소",value:"경기도 안산시 단원구 광덕4로 220 오피스브이 578호"}].map((a,m)=>e.jsxs("div",{className:"info-item",children:[e.jsx("span",{className:"info-icon",children:a.icon}),e.jsxs("div",{children:[e.jsx("strong",{children:a.label}),e.jsx("p",{children:a.value})]})]},m))]}),e.jsxs("form",{className:"contact-form card",onSubmit:o,children:[e.jsx("h2",{children:"온라인 문의"}),r&&e.jsxs("div",{className:`form-alert ${r.type}`,children:[r.type==="success"?"✅":"❌"," ",r.msg]}),e.jsxs("div",{className:"form-row",children:[e.jsxs("div",{className:"form-group",children:[e.jsxs("label",{htmlFor:"name",children:["성함 ",e.jsx("span",{className:"required",children:"*"})]}),e.jsx("input",{id:"name",name:"name",type:"text",required:!0,value:s.name,onChange:t,placeholder:"홍길동"})]}),e.jsxs("div",{className:"form-group",children:[e.jsx("label",{htmlFor:"phone",children:"연락처"}),e.jsx("input",{id:"phone",name:"phone",type:"tel",value:s.phone,onChange:t,placeholder:"010-0000-0000"})]})]}),e.jsxs("div",{className:"form-row",children:[e.jsxs("div",{className:"form-group",children:[e.jsxs("label",{htmlFor:"email",children:["이메일 ",e.jsx("span",{className:"required",children:"*"})]}),e.jsx("input",{id:"email",name:"email",type:"email",required:!0,value:s.email,onChange:t,placeholder:"your@email.com"})]}),e.jsxs("div",{className:"form-group",children:[e.jsx("label",{htmlFor:"category",children:"문의 유형"}),e.jsxs("select",{id:"category",name:"category",value:s.category,onChange:t,children:[e.jsx("option",{children:"제품문의"}),e.jsx("option",{children:"데모 신청"}),e.jsx("option",{children:"기술지원"}),e.jsx("option",{children:"사업제안"}),e.jsx("option",{children:"채용문의"}),e.jsx("option",{children:"기타"})]})]})]}),e.jsxs("div",{className:"form-group",children:[e.jsxs("label",{htmlFor:"subject",children:["제목 ",e.jsx("span",{className:"required",children:"*"})]}),e.jsx("input",{id:"subject",name:"subject",type:"text",required:!0,value:s.subject,onChange:t,placeholder:"문의 제목을 입력해주세요"})]}),e.jsxs("div",{className:"form-group",children:[e.jsxs("label",{htmlFor:"content",children:["문의 내용 ",e.jsx("span",{className:"required",children:"*"})]}),e.jsx("textarea",{id:"content",name:"content",rows:6,required:!0,value:s.content,onChange:t,placeholder:"문의 내용을 자세히 작성해주세요."})]}),e.jsxs("label",{className:"privacy-agree",children:[e.jsx("input",{type:"checkbox",name:"agreePrivacy",checked:s.agreePrivacy,onChange:t}),e.jsxs("span",{children:["개인정보 수집·이용에 동의합니다. ",e.jsx("a",{href:"/privacy",target:"_blank",children:"[보기]"})]})]}),e.jsx("button",{type:"submit",className:"btn btn-primary btn-lg",style:{width:"100%"},disabled:i,children:i?"전송 중...":"문의 접수하기"})]})]})})]})})}export{S as default}; diff --git a/workspace/zioinfo-web/backend/src/main/resources/static/assets/Contact-DepJZxAo.js b/workspace/zioinfo-web/backend/src/main/resources/static/assets/Contact-DepJZxAo.js deleted file mode 100644 index c2055936..00000000 --- a/workspace/zioinfo-web/backend/src/main/resources/static/assets/Contact-DepJZxAo.js +++ /dev/null @@ -1 +0,0 @@ -import{c as u,j as e,r as c}from"./index-B5QEzx5R.js";import{a as j}from"./index-DcNlVx-A.js";/* empty css */function b(){const s=u(),[n,r]=c.useState(null),[l,i]=c.useState(!1);return c.useEffect(()=>{const o=localStorage.getItem("member_token"),a=localStorage.getItem("member_user");if(o&&a)try{r(JSON.parse(a))}catch{}i(!0)},[]),{member:n,isLoggedIn:!!n,loaded:l,logout:()=>{localStorage.removeItem("member_token"),localStorage.removeItem("member_user"),r(null),s("/")},requireLogin:(o=window.location.pathname)=>n?!0:(s(`/login?redirect=${encodeURIComponent(o)}`),!1)}}function v({children:s,feature:n="이 기능"}){const{isLoggedIn:r,loaded:l}=b(),i=u();return l?r?s:e.jsxs("div",{className:"member-guard",style:{position:"relative",minHeight:120},children:[s,e.jsxs("div",{className:"member-guard-overlay",children:[e.jsx("div",{className:"member-guard-icon",children:"🔒"}),e.jsxs("div",{className:"member-guard-text",children:[n,"은 회원 전용입니다"]}),e.jsx("div",{className:"member-guard-sub",children:"로그인 후 이용하실 수 있습니다"}),e.jsx("button",{onClick:()=>i("/login"),style:{marginTop:8,padding:"8px 24px",background:"#1a5fd8",color:"#fff",border:"none",borderRadius:8,cursor:"pointer",fontWeight:600,fontSize:14},children:"로그인 / 회원가입"})]})]}):null}function S(){const[s,n]=c.useState({name:"",email:"",phone:"",category:"제품문의",subject:"",content:"",agreePrivacy:!1}),[r,l]=c.useState(null),[i,d]=c.useState(!1),t=a=>{const{name:m,value:h,type:p,checked:x}=a.target;n(g=>({...g,[m]:p==="checkbox"?x:h}))},o=async a=>{if(a.preventDefault(),!s.agreePrivacy){l({type:"error",msg:"개인정보 수집·이용에 동의해주세요."});return}d(!0);try{await j.post("/api/inquiry",s),l({type:"success",msg:"문의가 접수되었습니다. 빠른 시일 내에 연락드리겠습니다."}),n({name:"",email:"",phone:"",category:"제품문의",subject:"",content:"",agreePrivacy:!1})}catch{l({type:"error",msg:"문의 접수 중 오류가 발생했습니다. 잠시 후 다시 시도해주세요."})}finally{d(!1)}};return e.jsx(v,{feature:"문의 상담 신청",children:e.jsxs("main",{id:"main-content",className:"contact-page",children:[e.jsx("div",{className:"page-hero",children:e.jsxs("div",{className:"container",children:[e.jsx("span",{className:"section-label",children:"Contact Us"}),e.jsx("h1",{className:"page-hero-title",children:"문의하기"}),e.jsx("p",{children:"GUARDiA ITSM 도입 문의 및 제품 상담을 받아드립니다."})]})}),e.jsx("section",{className:"section",children:e.jsxs("div",{className:"container contact-grid",children:[e.jsxs("div",{className:"contact-info",children:[e.jsx("h2",{children:"연락처 정보"}),[{icon:"📞",label:"대표전화",value:"02-000-0000"},{icon:"✉️",label:"이메일",value:"info@zioinfo.co.kr"},{icon:"🕐",label:"운영시간",value:"평일 09:00 ~ 18:00"},{icon:"📍",label:"주소",value:"서울특별시"}].map((a,m)=>e.jsxs("div",{className:"info-item",children:[e.jsx("span",{className:"info-icon",children:a.icon}),e.jsxs("div",{children:[e.jsx("strong",{children:a.label}),e.jsx("p",{children:a.value})]})]},m))]}),e.jsxs("form",{className:"contact-form card",onSubmit:o,children:[e.jsx("h2",{children:"온라인 문의"}),r&&e.jsxs("div",{className:`form-alert ${r.type}`,children:[r.type==="success"?"✅":"❌"," ",r.msg]}),e.jsxs("div",{className:"form-row",children:[e.jsxs("div",{className:"form-group",children:[e.jsxs("label",{htmlFor:"name",children:["성함 ",e.jsx("span",{className:"required",children:"*"})]}),e.jsx("input",{id:"name",name:"name",type:"text",required:!0,value:s.name,onChange:t,placeholder:"홍길동"})]}),e.jsxs("div",{className:"form-group",children:[e.jsx("label",{htmlFor:"phone",children:"연락처"}),e.jsx("input",{id:"phone",name:"phone",type:"tel",value:s.phone,onChange:t,placeholder:"010-0000-0000"})]})]}),e.jsxs("div",{className:"form-row",children:[e.jsxs("div",{className:"form-group",children:[e.jsxs("label",{htmlFor:"email",children:["이메일 ",e.jsx("span",{className:"required",children:"*"})]}),e.jsx("input",{id:"email",name:"email",type:"email",required:!0,value:s.email,onChange:t,placeholder:"your@email.com"})]}),e.jsxs("div",{className:"form-group",children:[e.jsx("label",{htmlFor:"category",children:"문의 유형"}),e.jsxs("select",{id:"category",name:"category",value:s.category,onChange:t,children:[e.jsx("option",{children:"제품문의"}),e.jsx("option",{children:"데모 신청"}),e.jsx("option",{children:"기술지원"}),e.jsx("option",{children:"사업제안"}),e.jsx("option",{children:"채용문의"}),e.jsx("option",{children:"기타"})]})]})]}),e.jsxs("div",{className:"form-group",children:[e.jsxs("label",{htmlFor:"subject",children:["제목 ",e.jsx("span",{className:"required",children:"*"})]}),e.jsx("input",{id:"subject",name:"subject",type:"text",required:!0,value:s.subject,onChange:t,placeholder:"문의 제목을 입력해주세요"})]}),e.jsxs("div",{className:"form-group",children:[e.jsxs("label",{htmlFor:"content",children:["문의 내용 ",e.jsx("span",{className:"required",children:"*"})]}),e.jsx("textarea",{id:"content",name:"content",rows:6,required:!0,value:s.content,onChange:t,placeholder:"문의 내용을 자세히 작성해주세요."})]}),e.jsxs("label",{className:"privacy-agree",children:[e.jsx("input",{type:"checkbox",name:"agreePrivacy",checked:s.agreePrivacy,onChange:t}),e.jsxs("span",{children:["개인정보 수집·이용에 동의합니다. ",e.jsx("a",{href:"/privacy",target:"_blank",children:"[보기]"})]})]}),e.jsx("button",{type:"submit",className:"btn btn-primary btn-lg",style:{width:"100%"},disabled:i,children:i?"전송 중...":"문의 접수하기"})]})]})})]})})}export{S as default}; diff --git a/workspace/zioinfo-web/backend/src/main/resources/static/assets/GuardiaDetail-B3NE4mSh.js b/workspace/zioinfo-web/backend/src/main/resources/static/assets/GuardiaDetail-DnhjB4D0.js similarity index 99% rename from workspace/zioinfo-web/backend/src/main/resources/static/assets/GuardiaDetail-B3NE4mSh.js rename to workspace/zioinfo-web/backend/src/main/resources/static/assets/GuardiaDetail-DnhjB4D0.js index 9e8fd56a..7941a115 100644 --- a/workspace/zioinfo-web/backend/src/main/resources/static/assets/GuardiaDetail-B3NE4mSh.js +++ b/workspace/zioinfo-web/backend/src/main/resources/static/assets/GuardiaDetail-DnhjB4D0.js @@ -1 +1 @@ -import{r as d,j as e,L as n}from"./index-B5QEzx5R.js";import{u as r}from"./useSeoMeta-SwLKmP5e.js";const o=[{icon:"🤖",title:"AI 에이전트 자동화",desc:"Ollama 온프레미스 sLLM 기반. 메신저 한 줄 명령 → 자연어 파싱 → 자동 배포·운영. 외부 API 완전 차단으로 폐쇄망 환경 최적화."},{icon:"🔧",title:"에이전트리스 아키텍처",desc:"대상 서버에 어떤 소프트웨어도 설치하지 않습니다. 표준 SSH/SFTP 프로토콜만으로 레거시 WAS(Tomcat/JBoss/WebLogic)를 원격 관리."},{icon:"💬",title:"ChatOps 메신저 통합",desc:"카카오워크, 네이버웍스, 슬랙 등 익숙한 메신저에서 /deploy, /status, /incident 명령으로 인프라를 즉시 제어."},{icon:"📊",title:"통합 ITSM 대시보드",desc:"SR·인시던트·변경관리·SLA·CMDB·예측 유지보수를 단일 플랫폼에서 관리. 7일 추이 차트와 AI 인사이트 실시간 제공."},{icon:"🔒",title:"엔터프라이즈 보안",desc:"AES-256-GCM 암호화, MFA/OTP, PAM 특권접근관리, SHA-256 해시체인 불변 감사로그, Zero Trust 지속 인증."},{icon:"🏗️",title:"PMS 프로젝트 관리",desc:"WBS·산출물·일간/주간/월간 자동 보고서(Excel·PDF·PPT). 이슈·위험 관리, Gitea 연동, Jenkins CI/CD 파이프라인."},{icon:"🌐",title:"공공기관 필수 준수",desc:"행안부 SW 보안약점 자동 점검, KWCAG 2.1 웹접근성, 개인정보보호법 준수 스캔. 19개 공공기관 체크리스트 내장."},{icon:"📡",title:"Scouter APM 모니터링",desc:"Java WAS(Tomcat/JBoss) 전문 APM. CPU·Heap·TPS·응답시간 실시간 수집, 이상 탐지 시 자동 인시던트 생성."}],h=[{name:"COMMUNITY",badge:"무료",color:"#10B981",target:"소규모 기관·검토용",features:["기본 SR 관리 (무제한)","CMDB 서버 20대","사용자 10명","대시보드","봇 기본 명령어"],cta:"무료 시작",href:"/support/contact?type=community"},{name:"STANDARD",badge:"권장",color:"var(--primary)",target:"중형 기관",features:["전체 ITSM 기능","AI 에이전트 자동화","LDAP/AD 연동","MFA 보안","SLA 관리","PMS 기본"],cta:"도입 문의",href:"/support/contact?type=standard",highlight:!0},{name:"ENTERPRISE",badge:"맞춤",color:"#6366F1",target:"대형 관공서·광역기관",features:["무제한 서버·기관","취약점 자동 스캔","Scouter APM","FinOps 비용 분석","SIEM 연동","전담 기술 지원"],cta:"전문가 상담",href:"/support/contact?type=enterprise"}],m=[{cmd:"/sr <제목>",desc:"SR(서비스요청) 즉시 접수",cat:"SR 관리"},{cmd:"/status",desc:"시스템 전체 현황 요약",cat:"SR 관리"},{cmd:"/assign <담당자>",desc:"SR 담당자 즉시 배정",cat:"SR 관리"},{cmd:"/approve ",desc:"SR 즉시 승인",cat:"SR 관리"},{cmd:"/sla",desc:"SLA 위반 현황 목록",cat:"SR 관리"},{cmd:"/incident <제목> [P1~P4]",desc:"인시던트 빠른 등록",cat:"인시던트"},{cmd:"/oncall",desc:"현재 당직자 즉시 조회",cat:"인시던트"},{cmd:"/rca ",desc:"AI 자동 RCA 근본원인 분석",cat:"인시던트"},{cmd:"/escalate ",desc:"당직자에게 에스컬레이션",cat:"인시던트"},{cmd:"!deploy <세션ID>",desc:"WAS 배포 실행 (SSH)",cat:"배포 제어"},{cmd:"/rollback <세션ID>",desc:"긴급 롤백",cat:"배포 제어"},{cmd:"!health <서버명>",desc:"서버 헬스체크",cat:"배포 제어"},{cmd:"/pms <프로젝트코드>",desc:"프로젝트 진척 현황",cat:"PMS"},{cmd:"/report <코드> weekly",desc:"주간 보고서 메신저 발송",cat:"PMS"},{cmd:"/wbs <코드>",desc:"WBS 지연 현황",cat:"PMS"},{cmd:"/scouter <서버명>",desc:"Scouter APM 실시간 메트릭",cat:"모니터링"},{cmd:"/scan",desc:"시큐어코딩·보안 자동 점검",cat:"보안"},{cmd:"/vuln <서버|IP>",desc:"취약점 스캔",cat:"보안"},{cmd:"/notify <메시지>",desc:"운영팀 전체 공지 발송",cat:"공지"}],x=[{name:"카카오워크",icon:"💬",color:"#FAE100",textColor:"#3C1E1E",desc:"결재 버튼 + 봇 명령 완벽 지원"},{name:"네이버웍스",icon:"🟢",color:"#03C75A",textColor:"#fff",desc:"Flex 메시지 + Rich 결과 표시"},{name:"슬랙",icon:"💜",color:"#611F69",textColor:"#fff",desc:"슬래시 명령 + 블록킷 UI"},{name:"자체 메신저",icon:"🔵",color:"#0051A2",textColor:"#fff",desc:"GUARDiA 내장 Slack형 메신저"}],p=[{category:"Backend",items:["Python 3.11 / FastAPI","SQLAlchemy Async","PostgreSQL / SQLite"]},{category:"AI·LLM",items:["Ollama (온프레미스)","llama3.1:8b / codellama","외부 API 완전 차단"]},{category:"Infra",items:["paramiko SSH/SFTP","에이전트리스","AES-256-GCM 암호화"]},{category:"Frontend",items:["React.js / PWA","Chart.js 대시보드","D3.js 토폴로지"]},{category:"DevOps",items:["Jenkins CI/CD","Gitea 형상관리","Docker / K8s"]},{category:"모니터링",items:["Scouter APM","Prometheus/Grafana","ELK/Splunk SIEM"]}];function N(){r({title:"GUARDiA ITSM — AI 기반 레거시 인프라 자율 운영 플랫폼",description:"GUARDiA ITSM은 메신저 한 줄 명령으로 공공기관 레거시 서버를 자동 운영합니다. 에이전트 설치 없이 SSH/SFTP로 배포·장애·보안 운영을 완전 자동화.",path:"/solution/guardia",keywords:"GUARDiA ITSM, AI ITSM, 공공기관 인프라 자동화, ChatOps, 에이전트리스, 레거시 서버 자동화",image:"/screenshots/01_dashboard.png"});const[i,t]=d.useState("features");return e.jsxs("main",{id:"main-content",className:"guardia-page",children:[e.jsxs("section",{className:"gd-hero",children:[e.jsx("div",{className:"gd-hero-overlay"}),e.jsxs("div",{className:"container gd-hero-inner",children:[e.jsxs("div",{className:"gd-hero-text",children:[e.jsx("span",{className:"badge badge-new",style:{fontSize:"12px",padding:"4px 12px"},children:"NEW v2.0"}),e.jsxs("h1",{className:"gd-hero-title",children:[e.jsx("span",{children:"GUARDiA"})," ITSM"]}),e.jsxs("p",{className:"gd-hero-sub",children:["AI 기반 레거시 인프라 자율 운영 플랫폼",e.jsx("br",{}),e.jsx("strong",{children:"메신저 한 줄 명령"}),"으로 1,000개 관공서 인프라를 자동화"]}),e.jsxs("div",{className:"gd-hero-actions",children:[e.jsx(n,{to:"/support/contact?type=demo",className:"btn btn-white btn-lg",children:"무료 데모 신청"}),e.jsx("a",{href:"#features",className:"btn btn-lg",style:{color:"rgba(255,255,255,.85)",border:"1px solid rgba(255,255,255,.3)"},children:"기능 살펴보기 ↓"})]})]}),e.jsx("div",{className:"gd-hero-stats",children:[{val:"1,000+",lab:"관리 기관"},{val:"99.9%",lab:"가용성"},{val:"70%",lab:"운영 비용 절감"},{val:"0개",lab:"대상 서버 추가 설치"}].map((s,a)=>e.jsxs("div",{className:"gd-stat",children:[e.jsx("div",{className:"gd-stat-val",children:s.val}),e.jsx("div",{className:"gd-stat-lab",children:s.lab})]},a))})]})]}),e.jsx("div",{className:"gd-tabs-bar",children:e.jsx("div",{className:"container",children:e.jsx("div",{className:"gd-tabs",children:[{id:"features",label:"핵심 기능"},{id:"app",label:"모바일 앱"},{id:"messenger",label:"Messenger Bot"},{id:"manager",label:"Manager"},{id:"editions",label:"에디션 비교"},{id:"tech",label:"기술 스택"},{id:"usecase",label:"도입 사례"}].map(s=>e.jsx("button",{className:`gd-tab ${i===s.id?"active":""}`,onClick:()=>t(s.id),children:s.label},s.id))})})}),i==="features"&&e.jsx("section",{id:"features",className:"section",children:e.jsxs("div",{className:"container",children:[e.jsxs("div",{className:"section-header",children:[e.jsx("span",{className:"section-label",children:"Core Features"}),e.jsxs("h2",{className:"section-title",children:["GUARDiA가 제공하는",e.jsx("br",{}),e.jsx("em",{children:"8가지 핵심 기능"})]}),e.jsx("div",{className:"divider"})]}),e.jsxs("div",{className:"section-header",style:{marginBottom:"24px"},children:[e.jsx("span",{className:"section-label",style:{fontSize:"12px"},children:"GUARDiA ITSM"}),e.jsx("h3",{style:{fontSize:"22px",fontWeight:"700",color:"var(--gray-900)",margin:"8px 0 0"},children:"IT 서비스 관리 플랫폼"})]}),e.jsx("div",{className:"gd-screenshots",children:[{file:"01_dashboard",caption:"통합 대시보드 — SR·SLA·AI 인사이트"},{file:"02_sr_list",caption:"SR 서비스 요청 — 칸반/목록 뷰"},{file:"04_incidents",caption:"인시던트 관리 — AI 자동 RCA"},{file:"05_agents",caption:"AI 에이전트 — Ollama 온프레미스"},{file:"06_license",caption:"라이선스 관리 — 에디션·체험판"}].map((s,a)=>e.jsxs("div",{className:"screenshot-card",children:[e.jsx("img",{src:`/screenshots/${s.file}.png`,alt:s.caption,className:"screenshot-img",onError:c=>{c.target.style.display="none",c.target.nextSibling.style.display="flex"}}),e.jsxs("div",{className:"screenshot-placeholder",style:{display:"none"},children:[e.jsx("span",{className:"icon",children:"🖥️"}),e.jsx("span",{children:"준비 중"})]}),e.jsx("div",{className:"screenshot-caption",children:s.caption})]},a))}),e.jsxs("div",{className:"section-header",style:{marginTop:"48px",marginBottom:"24px"},children:[e.jsx("span",{className:"section-label",style:{fontSize:"12px"},children:"GUARDiA Manager"}),e.jsx("h3",{style:{fontSize:"22px",fontWeight:"700",color:"var(--gray-900)",margin:"8px 0 0"},children:"통합 관제 관리자 포털"})]}),e.jsx("div",{className:"gd-screenshots",children:[{file:"07_manager_dashboard",caption:"Manager 대시보드 — 서버·배포·SLA 통합 관제"},{file:"08_manager_dr",caption:"DR 재해복구 관제 — RTO/RPO 실적 추적"},{file:"09_manager_network",caption:"네트워크 장비 관제 — 스위치·방화벽 설정 백업"},{file:"10_manager_csap",caption:"CSAP 보안 점검 — 준수율 자동 대시보드"}].map((s,a)=>e.jsxs("div",{className:"screenshot-card",children:[e.jsx("img",{src:`/screenshots/${s.file}.png`,alt:s.caption,className:"screenshot-img",onError:c=>{c.target.style.display="none",c.target.nextSibling.style.display="flex"}}),e.jsxs("div",{className:"screenshot-placeholder",style:{display:"none"},children:[e.jsx("span",{className:"icon",children:"🖥️"}),e.jsx("span",{children:"준비 중"})]}),e.jsx("div",{className:"screenshot-caption",children:s.caption})]},a))}),e.jsxs("div",{className:"section-header",style:{marginTop:"48px",marginBottom:"24px"},children:[e.jsx("span",{className:"section-label",style:{fontSize:"12px"},children:"GUARDiA Messenger"}),e.jsx("h3",{style:{fontSize:"22px",fontWeight:"700",color:"var(--gray-900)",margin:"8px 0 0"},children:"모바일 앱 (Android · iOS)"})]}),e.jsx("div",{className:"gd-screenshots gd-screenshots--mobile",children:[{file:"06_mobile_home",caption:"홈 대시보드 — SR·서버 상태"},{file:"02_guardia",caption:"SR 관리 — 등록·처리·승인"},{file:"05_agents",caption:"AI 챗봇 — 자연어 명령 처리"}].map((s,a)=>e.jsxs("div",{className:"screenshot-card screenshot-card--mobile",children:[e.jsx("img",{src:`/screenshots/${s.file}.png`,alt:s.caption,className:"screenshot-img",onError:c=>{c.target.style.display="none",c.target.nextSibling.style.display="flex"}}),e.jsxs("div",{className:"screenshot-placeholder",style:{display:"none"},children:[e.jsx("span",{className:"icon",children:"📱"}),e.jsx("span",{children:"준비 중"})]}),e.jsx("div",{className:"screenshot-caption",children:s.caption})]},a))}),e.jsx("div",{className:"section-header",style:{marginTop:"60px",marginBottom:"32px"},children:e.jsx("h3",{style:{fontSize:"28px",fontWeight:"800",color:"var(--gray-900)"},children:"핵심 기능 상세"})}),e.jsx("div",{className:"gd-features-grid",children:o.map((s,a)=>e.jsxs("div",{className:"gd-feature-card card",children:[e.jsx("div",{className:"gd-feature-icon",children:s.icon}),e.jsx("h3",{children:s.title}),e.jsx("p",{children:s.desc})]},a))})]})}),i==="app"&&e.jsx("section",{className:"section",children:e.jsxs("div",{className:"container",children:[e.jsxs("div",{className:"section-header",children:[e.jsx("span",{className:"section-label",children:"GUARDiA Messenger App"}),e.jsxs("h2",{className:"section-title",children:["현장에서 바로",e.jsx("br",{}),e.jsx("em",{children:"스마트폰으로 관제"})]}),e.jsx("div",{className:"divider"}),e.jsxs("p",{className:"section-desc",children:["Android · iOS 모두 지원. SR 접수·처리, DR 복구 테스트, 네트워크 장비 관제,",e.jsx("br",{}),"AI 챗봇 명령까지 — 어디서든 GUARDiA를 손에 쥐세요."]})]}),e.jsx("div",{className:"gd-screenshots gd-screenshots--mobile",children:[{file:"11_app_home",caption:"홈 대시보드 — SR·서버 실시간 현황"},{file:"12_app_sr",caption:"SR 서비스 요청 — 등록·처리·완료"},{file:"13_app_chat",caption:"AI 챗봇 — 자연어 명령으로 서버 제어"},{file:"14_app_dr",caption:"DR 재해복구 — RTO/RPO 실적 모니터링"},{file:"15_app_network",caption:"네트워크 장비 — 백업·상태 현장 점검"}].map((s,a)=>e.jsxs("div",{className:"screenshot-card screenshot-card--mobile",children:[e.jsx("img",{src:`/screenshots/${s.file}.png`,alt:s.caption,className:"screenshot-img",onError:c=>{c.target.style.display="none",c.target.nextSibling.style.display="flex"}}),e.jsxs("div",{className:"screenshot-placeholder",style:{display:"none"},children:[e.jsx("span",{className:"icon",children:"📱"}),e.jsx("span",{children:"준비 중"})]}),e.jsx("div",{className:"screenshot-caption",children:s.caption})]},a))}),e.jsxs("div",{style:{display:"flex",justifyContent:"center",gap:16,marginTop:40},children:[e.jsxs("a",{href:"#",style:{display:"flex",alignItems:"center",gap:10,padding:"12px 24px",background:"#1e293b",borderRadius:12,color:"#e2e8f0",textDecoration:"none",border:"1px solid rgba(255,255,255,.1)"},children:[e.jsx("span",{style:{fontSize:28},children:"🤖"}),e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:10,opacity:.6},children:"다운로드"}),e.jsx("div",{style:{fontWeight:700,fontSize:15},children:"Google Play"})]})]}),e.jsxs("a",{href:"#",style:{display:"flex",alignItems:"center",gap:10,padding:"12px 24px",background:"#1e293b",borderRadius:12,color:"#e2e8f0",textDecoration:"none",border:"1px solid rgba(255,255,255,.1)"},children:[e.jsx("span",{style:{fontSize:28},children:"🍎"}),e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:10,opacity:.6},children:"다운로드"}),e.jsx("div",{style:{fontWeight:700,fontSize:15},children:"App Store"})]})]})]})]})}),i==="messenger"&&e.jsx("section",{className:"section",children:e.jsxs("div",{className:"container",children:[e.jsxs("div",{className:"section-header",children:[e.jsx("span",{className:"section-label",children:"ChatOps Messenger"}),e.jsxs("h2",{className:"section-title",children:["메신저 하나로",e.jsx("br",{}),e.jsx("em",{children:"모든 인프라를 제어"})]}),e.jsx("div",{className:"divider"}),e.jsxs("p",{className:"section-desc",children:["익숙한 메신저에서 명령어 하나로 서버 배포·장애 대응·보고서 발송까지.",e.jsx("br",{}),"GUARDiA Bot은 25개 명령어로 IT 운영의 모든 순간을 지원합니다."]})]}),e.jsx("div",{className:"messenger-platforms",children:x.map((s,a)=>e.jsxs("div",{className:"messenger-platform",style:{background:s.color},children:[e.jsx("span",{className:"platform-icon",children:s.icon}),e.jsxs("div",{children:[e.jsx("strong",{style:{color:s.textColor},children:s.name}),e.jsx("p",{style:{color:s.textColor,opacity:.85},children:s.desc})]})]},a))}),e.jsxs("div",{className:"cmd-catalog",children:[e.jsx("h3",{className:"cmd-catalog-title",children:"25개 봇 명령어 전체 목록"}),["SR 관리","인시던트","배포 제어","PMS","모니터링","보안","공지"].map(s=>{const a=m.filter(c=>c.cat===s);return e.jsxs("div",{className:"cmd-group",children:[e.jsx("h4",{className:"cmd-group-title",children:s}),e.jsx("div",{className:"cmd-list",children:a.map((c,l)=>e.jsxs("div",{className:"cmd-item",children:[e.jsx("code",{className:"cmd-code",children:c.cmd}),e.jsx("span",{className:"cmd-desc",children:c.desc})]},l))})]},s)})]}),e.jsxs("div",{className:"messenger-demo",children:[e.jsx("h3",{className:"demo-title",children:"실제 운영 시나리오"}),e.jsxs("div",{className:"demo-scenario",children:[e.jsxs("div",{className:"demo-step",children:[e.jsx("div",{className:"step-num",children:"1"}),e.jsxs("div",{className:"step-content",children:[e.jsx("strong",{children:"장애 탐지"}),e.jsx("p",{children:"Scouter APM이 서버 CPU 90% 감지 → 자동으로 GUARDiA 운영 채널에 경보 발송"}),e.jsx("div",{className:"chat-bubble bot",children:"🚨 web-01 CPU 90.3% — P2 인시던트 자동 등록: INC-20260530-A1B2C3"})]})]}),e.jsxs("div",{className:"demo-step",children:[e.jsx("div",{className:"step-num",children:"2"}),e.jsxs("div",{className:"step-content",children:[e.jsx("strong",{children:"담당자 즉시 대응"}),e.jsx("p",{children:"메신저에서 RCA 분석 요청"}),e.jsx("div",{className:"chat-bubble user",children:"/rca INC-20260530-A1B2C3"}),e.jsxs("div",{className:"chat-bubble bot",children:["🤖 AI RCA 분석 완료",e.jsx("br",{}),"근본원인: 메모리 누수 (Heap 98%)",e.jsx("br",{}),"재발방지: WAS 재기동 + 힙덤프 분석",e.jsx("br",{}),"신뢰도: 87%"]})]})]}),e.jsxs("div",{className:"demo-step",children:[e.jsx("div",{className:"step-num",children:"3"}),e.jsxs("div",{className:"step-content",children:[e.jsx("strong",{children:"원격 조치 실행"}),e.jsx("p",{children:"SSH 재기동 명령 실행"}),e.jsx("div",{className:"chat-bubble user",children:"!sm web-01 tomcat_restart"}),e.jsxs("div",{className:"chat-bubble bot",children:["✅ web-01 Tomcat 재기동 완료",e.jsx("br",{}),"소요: 38초 | CPU: 12% | 정상화"]})]})]}),e.jsxs("div",{className:"demo-step",children:[e.jsx("div",{className:"step-num",children:"4"}),e.jsxs("div",{className:"step-content",children:[e.jsx("strong",{children:"자동 보고"}),e.jsx("p",{children:"인시던트 처리 결과 자동 보고서 발송"}),e.jsx("div",{className:"chat-bubble user",children:"/notify 22:15 web-01 서버 장애 복구 완료. 원인: 메모리 누수 재발 방지 조치 완료."}),e.jsx("div",{className:"chat-bubble bot",children:"✅ 운영팀 전체 공지 발송 완료 (ops 채널)"})]})]})]})]})]})}),i==="manager"&&e.jsx("section",{className:"section",children:e.jsxs("div",{className:"container",children:[e.jsxs("div",{className:"section-header",children:[e.jsx("span",{className:"section-label",children:"GUARDiA Manager"}),e.jsxs("h2",{className:"section-title",children:["통합 관제 관리자 포털",e.jsx("br",{}),e.jsx("em",{children:"네이버 클라우드 콘솔 스타일"})]}),e.jsx("div",{className:"divider"}),e.jsxs("p",{className:"section-desc",children:["ITSM·서버·배포·네트워크·보안·AI를 하나의 화면에서 관제합니다.",e.jsx("br",{}),"DR 자동화, 네트워크 장비 설정 백업, CSAP 준수율까지 통합 대시보드로 제공합니다."]})]}),e.jsx("div",{className:"gd-screenshots",style:{gridTemplateColumns:"repeat(2,1fr)"},children:[{file:"07_manager_dashboard",caption:"통합 운영 대시보드 — 서버·SR·배포 현황"},{file:"08_manager_dr",caption:"DR 재해복구 — RTO/RPO 실적 대시보드"},{file:"09_manager_network",caption:"네트워크 장비 — 설정 백업·변경 감지"},{file:"10_manager_csap",caption:"CSAP 보안 점검 — 준수율 A~D 등급"}].map((s,a)=>e.jsxs("div",{className:"screenshot-card",children:[e.jsx("img",{src:`/screenshots/${s.file}.png`,alt:s.caption,className:"screenshot-img",onError:c=>{c.target.style.display="none",c.target.nextSibling.style.display="flex"}}),e.jsxs("div",{className:"screenshot-placeholder",style:{display:"none"},children:[e.jsx("span",{className:"icon",children:"🖥️"}),e.jsx("span",{children:"준비 중"})]}),e.jsx("div",{className:"screenshot-caption",children:s.caption})]},a))})]})}),i==="editions"&&e.jsx("section",{className:"section",children:e.jsxs("div",{className:"container",children:[e.jsxs("div",{className:"section-header",children:[e.jsx("span",{className:"section-label",children:"Editions"}),e.jsxs("h2",{className:"section-title",children:["기관 규모에 맞는",e.jsx("br",{}),e.jsx("em",{children:"에디션 선택"})]}),e.jsx("div",{className:"divider"})]}),e.jsx("div",{className:"gd-editions-grid",children:h.map((s,a)=>e.jsxs("div",{className:`gd-edition-card ${s.highlight?"highlight":""}`,style:{"--ed-color":s.color},children:[s.highlight&&e.jsx("div",{className:"edition-recommend",children:"추천"}),e.jsxs("div",{className:"edition-header",children:[e.jsx("h3",{children:s.name}),e.jsx("span",{className:"edition-badge",children:s.badge})]}),e.jsx("p",{className:"edition-target",children:s.target}),e.jsx("ul",{className:"edition-features",children:s.features.map((c,l)=>e.jsxs("li",{children:[e.jsx("span",{className:"check",children:"✓"}),c]},l))}),e.jsx(n,{to:s.href,className:"btn edition-cta",children:s.cta})]},a))})]})}),i==="tech"&&e.jsx("section",{className:"section",children:e.jsxs("div",{className:"container",children:[e.jsxs("div",{className:"section-header",children:[e.jsx("span",{className:"section-label",children:"Technology"}),e.jsxs("h2",{className:"section-title",children:["검증된",e.jsx("br",{}),e.jsx("em",{children:"기술 스택"})]}),e.jsx("div",{className:"divider"}),e.jsx("p",{className:"section-desc",children:"온프레미스 전용 설계 — 외부 클라우드 의존 없는 완전 폐쇄망 동작"})]}),e.jsx("div",{className:"gd-tech-grid",children:p.map((s,a)=>e.jsxs("div",{className:"gd-tech-card card",children:[e.jsx("h3",{className:"tech-category",children:s.category}),e.jsx("ul",{className:"tech-items",children:s.items.map((c,l)=>e.jsx("li",{children:c},l))})]},a))})]})}),i==="usecase"&&e.jsx("section",{className:"section",children:e.jsxs("div",{className:"container",children:[e.jsxs("div",{className:"section-header",children:[e.jsx("span",{className:"section-label",children:"Use Cases"}),e.jsxs("h2",{className:"section-title",children:["실제 ",e.jsx("em",{children:"도입 사례"})]}),e.jsx("div",{className:"divider"})]}),e.jsx("div",{className:"gd-usecases",children:[{org:"광역 지방자치단체",result:"레거시 서버 200대 SSH 자동화, 운영 인력 3명→1명",badge:"중앙부처"},{org:"공공기관 IT센터",result:"월간 SR 500건 처리, AI 자동분류로 80% 응답시간 단축",badge:"공공기관"},{org:"지방 교육청",result:"Tomcat 100대 무중단 배포 자동화, 장애 대응 시간 70% 단축",badge:"교육"}].map((s,a)=>e.jsxs("div",{className:"usecase-card card",children:[e.jsx("span",{className:"badge badge-primary",children:s.badge}),e.jsx("h3",{children:s.org}),e.jsx("p",{children:s.result})]},a))})]})}),e.jsx("section",{className:"gd-cta",children:e.jsxs("div",{className:"container",children:[e.jsx("h2",{children:"지금 바로 무료 데모를 경험해 보세요"}),e.jsx("p",{children:"전문 컨설턴트가 귀 기관 환경에 맞는 최적의 구성을 제안해 드립니다."}),e.jsxs("div",{className:"gd-cta-actions",children:[e.jsx(n,{to:"/support/contact?type=demo",className:"btn btn-white btn-lg",children:"무료 데모 신청"}),e.jsx(n,{to:"/support/catalog",className:"btn btn-lg",style:{color:"rgba(255,255,255,.8)",border:"1px solid rgba(255,255,255,.3)"},children:"제품 소개서"})]})]})})]})}export{N as default}; +import{r as d,j as e,L as n}from"./index-CpO7mTKO.js";import{u as r}from"./useSeoMeta-DR7HJfMM.js";const o=[{icon:"🤖",title:"AI 에이전트 자동화",desc:"Ollama 온프레미스 sLLM 기반. 메신저 한 줄 명령 → 자연어 파싱 → 자동 배포·운영. 외부 API 완전 차단으로 폐쇄망 환경 최적화."},{icon:"🔧",title:"에이전트리스 아키텍처",desc:"대상 서버에 어떤 소프트웨어도 설치하지 않습니다. 표준 SSH/SFTP 프로토콜만으로 레거시 WAS(Tomcat/JBoss/WebLogic)를 원격 관리."},{icon:"💬",title:"ChatOps 메신저 통합",desc:"카카오워크, 네이버웍스, 슬랙 등 익숙한 메신저에서 /deploy, /status, /incident 명령으로 인프라를 즉시 제어."},{icon:"📊",title:"통합 ITSM 대시보드",desc:"SR·인시던트·변경관리·SLA·CMDB·예측 유지보수를 단일 플랫폼에서 관리. 7일 추이 차트와 AI 인사이트 실시간 제공."},{icon:"🔒",title:"엔터프라이즈 보안",desc:"AES-256-GCM 암호화, MFA/OTP, PAM 특권접근관리, SHA-256 해시체인 불변 감사로그, Zero Trust 지속 인증."},{icon:"🏗️",title:"PMS 프로젝트 관리",desc:"WBS·산출물·일간/주간/월간 자동 보고서(Excel·PDF·PPT). 이슈·위험 관리, Gitea 연동, Jenkins CI/CD 파이프라인."},{icon:"🌐",title:"공공기관 필수 준수",desc:"행안부 SW 보안약점 자동 점검, KWCAG 2.1 웹접근성, 개인정보보호법 준수 스캔. 19개 공공기관 체크리스트 내장."},{icon:"📡",title:"Scouter APM 모니터링",desc:"Java WAS(Tomcat/JBoss) 전문 APM. CPU·Heap·TPS·응답시간 실시간 수집, 이상 탐지 시 자동 인시던트 생성."}],h=[{name:"COMMUNITY",badge:"무료",color:"#10B981",target:"소규모 기관·검토용",features:["기본 SR 관리 (무제한)","CMDB 서버 20대","사용자 10명","대시보드","봇 기본 명령어"],cta:"무료 시작",href:"/support/contact?type=community"},{name:"STANDARD",badge:"권장",color:"var(--primary)",target:"중형 기관",features:["전체 ITSM 기능","AI 에이전트 자동화","LDAP/AD 연동","MFA 보안","SLA 관리","PMS 기본"],cta:"도입 문의",href:"/support/contact?type=standard",highlight:!0},{name:"ENTERPRISE",badge:"맞춤",color:"#6366F1",target:"대형 관공서·광역기관",features:["무제한 서버·기관","취약점 자동 스캔","Scouter APM","FinOps 비용 분석","SIEM 연동","전담 기술 지원"],cta:"전문가 상담",href:"/support/contact?type=enterprise"}],m=[{cmd:"/sr <제목>",desc:"SR(서비스요청) 즉시 접수",cat:"SR 관리"},{cmd:"/status",desc:"시스템 전체 현황 요약",cat:"SR 관리"},{cmd:"/assign <담당자>",desc:"SR 담당자 즉시 배정",cat:"SR 관리"},{cmd:"/approve ",desc:"SR 즉시 승인",cat:"SR 관리"},{cmd:"/sla",desc:"SLA 위반 현황 목록",cat:"SR 관리"},{cmd:"/incident <제목> [P1~P4]",desc:"인시던트 빠른 등록",cat:"인시던트"},{cmd:"/oncall",desc:"현재 당직자 즉시 조회",cat:"인시던트"},{cmd:"/rca ",desc:"AI 자동 RCA 근본원인 분석",cat:"인시던트"},{cmd:"/escalate ",desc:"당직자에게 에스컬레이션",cat:"인시던트"},{cmd:"!deploy <세션ID>",desc:"WAS 배포 실행 (SSH)",cat:"배포 제어"},{cmd:"/rollback <세션ID>",desc:"긴급 롤백",cat:"배포 제어"},{cmd:"!health <서버명>",desc:"서버 헬스체크",cat:"배포 제어"},{cmd:"/pms <프로젝트코드>",desc:"프로젝트 진척 현황",cat:"PMS"},{cmd:"/report <코드> weekly",desc:"주간 보고서 메신저 발송",cat:"PMS"},{cmd:"/wbs <코드>",desc:"WBS 지연 현황",cat:"PMS"},{cmd:"/scouter <서버명>",desc:"Scouter APM 실시간 메트릭",cat:"모니터링"},{cmd:"/scan",desc:"시큐어코딩·보안 자동 점검",cat:"보안"},{cmd:"/vuln <서버|IP>",desc:"취약점 스캔",cat:"보안"},{cmd:"/notify <메시지>",desc:"운영팀 전체 공지 발송",cat:"공지"}],x=[{name:"카카오워크",icon:"💬",color:"#FAE100",textColor:"#3C1E1E",desc:"결재 버튼 + 봇 명령 완벽 지원"},{name:"네이버웍스",icon:"🟢",color:"#03C75A",textColor:"#fff",desc:"Flex 메시지 + Rich 결과 표시"},{name:"슬랙",icon:"💜",color:"#611F69",textColor:"#fff",desc:"슬래시 명령 + 블록킷 UI"},{name:"자체 메신저",icon:"🔵",color:"#0051A2",textColor:"#fff",desc:"GUARDiA 내장 Slack형 메신저"}],p=[{category:"Backend",items:["Python 3.11 / FastAPI","SQLAlchemy Async","PostgreSQL / SQLite"]},{category:"AI·LLM",items:["Ollama (온프레미스)","llama3.1:8b / codellama","외부 API 완전 차단"]},{category:"Infra",items:["paramiko SSH/SFTP","에이전트리스","AES-256-GCM 암호화"]},{category:"Frontend",items:["React.js / PWA","Chart.js 대시보드","D3.js 토폴로지"]},{category:"DevOps",items:["Jenkins CI/CD","Gitea 형상관리","Docker / K8s"]},{category:"모니터링",items:["Scouter APM","Prometheus/Grafana","ELK/Splunk SIEM"]}];function N(){r({title:"GUARDiA ITSM — AI 기반 레거시 인프라 자율 운영 플랫폼",description:"GUARDiA ITSM은 메신저 한 줄 명령으로 공공기관 레거시 서버를 자동 운영합니다. 에이전트 설치 없이 SSH/SFTP로 배포·장애·보안 운영을 완전 자동화.",path:"/solution/guardia",keywords:"GUARDiA ITSM, AI ITSM, 공공기관 인프라 자동화, ChatOps, 에이전트리스, 레거시 서버 자동화",image:"/screenshots/01_dashboard.png"});const[i,t]=d.useState("features");return e.jsxs("main",{id:"main-content",className:"guardia-page",children:[e.jsxs("section",{className:"gd-hero",children:[e.jsx("div",{className:"gd-hero-overlay"}),e.jsxs("div",{className:"container gd-hero-inner",children:[e.jsxs("div",{className:"gd-hero-text",children:[e.jsx("span",{className:"badge badge-new",style:{fontSize:"12px",padding:"4px 12px"},children:"NEW v2.0"}),e.jsxs("h1",{className:"gd-hero-title",children:[e.jsx("span",{children:"GUARDiA"})," ITSM"]}),e.jsxs("p",{className:"gd-hero-sub",children:["AI 기반 레거시 인프라 자율 운영 플랫폼",e.jsx("br",{}),e.jsx("strong",{children:"메신저 한 줄 명령"}),"으로 1,000개 관공서 인프라를 자동화"]}),e.jsxs("div",{className:"gd-hero-actions",children:[e.jsx(n,{to:"/support/contact?type=demo",className:"btn btn-white btn-lg",children:"무료 데모 신청"}),e.jsx("a",{href:"#features",className:"btn btn-lg",style:{color:"rgba(255,255,255,.85)",border:"1px solid rgba(255,255,255,.3)"},children:"기능 살펴보기 ↓"})]})]}),e.jsx("div",{className:"gd-hero-stats",children:[{val:"1,000+",lab:"관리 기관"},{val:"99.9%",lab:"가용성"},{val:"70%",lab:"운영 비용 절감"},{val:"0개",lab:"대상 서버 추가 설치"}].map((s,a)=>e.jsxs("div",{className:"gd-stat",children:[e.jsx("div",{className:"gd-stat-val",children:s.val}),e.jsx("div",{className:"gd-stat-lab",children:s.lab})]},a))})]})]}),e.jsx("div",{className:"gd-tabs-bar",children:e.jsx("div",{className:"container",children:e.jsx("div",{className:"gd-tabs",children:[{id:"features",label:"핵심 기능"},{id:"app",label:"모바일 앱"},{id:"messenger",label:"Messenger Bot"},{id:"manager",label:"Manager"},{id:"editions",label:"에디션 비교"},{id:"tech",label:"기술 스택"},{id:"usecase",label:"도입 사례"}].map(s=>e.jsx("button",{className:`gd-tab ${i===s.id?"active":""}`,onClick:()=>t(s.id),children:s.label},s.id))})})}),i==="features"&&e.jsx("section",{id:"features",className:"section",children:e.jsxs("div",{className:"container",children:[e.jsxs("div",{className:"section-header",children:[e.jsx("span",{className:"section-label",children:"Core Features"}),e.jsxs("h2",{className:"section-title",children:["GUARDiA가 제공하는",e.jsx("br",{}),e.jsx("em",{children:"8가지 핵심 기능"})]}),e.jsx("div",{className:"divider"})]}),e.jsxs("div",{className:"section-header",style:{marginBottom:"24px"},children:[e.jsx("span",{className:"section-label",style:{fontSize:"12px"},children:"GUARDiA ITSM"}),e.jsx("h3",{style:{fontSize:"22px",fontWeight:"700",color:"var(--gray-900)",margin:"8px 0 0"},children:"IT 서비스 관리 플랫폼"})]}),e.jsx("div",{className:"gd-screenshots",children:[{file:"01_dashboard",caption:"통합 대시보드 — SR·SLA·AI 인사이트"},{file:"02_sr_list",caption:"SR 서비스 요청 — 칸반/목록 뷰"},{file:"04_incidents",caption:"인시던트 관리 — AI 자동 RCA"},{file:"05_agents",caption:"AI 에이전트 — Ollama 온프레미스"},{file:"06_license",caption:"라이선스 관리 — 에디션·체험판"}].map((s,a)=>e.jsxs("div",{className:"screenshot-card",children:[e.jsx("img",{src:`/screenshots/${s.file}.png`,alt:s.caption,className:"screenshot-img",onError:c=>{c.target.style.display="none",c.target.nextSibling.style.display="flex"}}),e.jsxs("div",{className:"screenshot-placeholder",style:{display:"none"},children:[e.jsx("span",{className:"icon",children:"🖥️"}),e.jsx("span",{children:"준비 중"})]}),e.jsx("div",{className:"screenshot-caption",children:s.caption})]},a))}),e.jsxs("div",{className:"section-header",style:{marginTop:"48px",marginBottom:"24px"},children:[e.jsx("span",{className:"section-label",style:{fontSize:"12px"},children:"GUARDiA Manager"}),e.jsx("h3",{style:{fontSize:"22px",fontWeight:"700",color:"var(--gray-900)",margin:"8px 0 0"},children:"통합 관제 관리자 포털"})]}),e.jsx("div",{className:"gd-screenshots",children:[{file:"07_manager_dashboard",caption:"Manager 대시보드 — 서버·배포·SLA 통합 관제"},{file:"08_manager_dr",caption:"DR 재해복구 관제 — RTO/RPO 실적 추적"},{file:"09_manager_network",caption:"네트워크 장비 관제 — 스위치·방화벽 설정 백업"},{file:"10_manager_csap",caption:"CSAP 보안 점검 — 준수율 자동 대시보드"}].map((s,a)=>e.jsxs("div",{className:"screenshot-card",children:[e.jsx("img",{src:`/screenshots/${s.file}.png`,alt:s.caption,className:"screenshot-img",onError:c=>{c.target.style.display="none",c.target.nextSibling.style.display="flex"}}),e.jsxs("div",{className:"screenshot-placeholder",style:{display:"none"},children:[e.jsx("span",{className:"icon",children:"🖥️"}),e.jsx("span",{children:"준비 중"})]}),e.jsx("div",{className:"screenshot-caption",children:s.caption})]},a))}),e.jsxs("div",{className:"section-header",style:{marginTop:"48px",marginBottom:"24px"},children:[e.jsx("span",{className:"section-label",style:{fontSize:"12px"},children:"GUARDiA Messenger"}),e.jsx("h3",{style:{fontSize:"22px",fontWeight:"700",color:"var(--gray-900)",margin:"8px 0 0"},children:"모바일 앱 (Android · iOS)"})]}),e.jsx("div",{className:"gd-screenshots gd-screenshots--mobile",children:[{file:"06_mobile_home",caption:"홈 대시보드 — SR·서버 상태"},{file:"02_guardia",caption:"SR 관리 — 등록·처리·승인"},{file:"05_agents",caption:"AI 챗봇 — 자연어 명령 처리"}].map((s,a)=>e.jsxs("div",{className:"screenshot-card screenshot-card--mobile",children:[e.jsx("img",{src:`/screenshots/${s.file}.png`,alt:s.caption,className:"screenshot-img",onError:c=>{c.target.style.display="none",c.target.nextSibling.style.display="flex"}}),e.jsxs("div",{className:"screenshot-placeholder",style:{display:"none"},children:[e.jsx("span",{className:"icon",children:"📱"}),e.jsx("span",{children:"준비 중"})]}),e.jsx("div",{className:"screenshot-caption",children:s.caption})]},a))}),e.jsx("div",{className:"section-header",style:{marginTop:"60px",marginBottom:"32px"},children:e.jsx("h3",{style:{fontSize:"28px",fontWeight:"800",color:"var(--gray-900)"},children:"핵심 기능 상세"})}),e.jsx("div",{className:"gd-features-grid",children:o.map((s,a)=>e.jsxs("div",{className:"gd-feature-card card",children:[e.jsx("div",{className:"gd-feature-icon",children:s.icon}),e.jsx("h3",{children:s.title}),e.jsx("p",{children:s.desc})]},a))})]})}),i==="app"&&e.jsx("section",{className:"section",children:e.jsxs("div",{className:"container",children:[e.jsxs("div",{className:"section-header",children:[e.jsx("span",{className:"section-label",children:"GUARDiA Messenger App"}),e.jsxs("h2",{className:"section-title",children:["현장에서 바로",e.jsx("br",{}),e.jsx("em",{children:"스마트폰으로 관제"})]}),e.jsx("div",{className:"divider"}),e.jsxs("p",{className:"section-desc",children:["Android · iOS 모두 지원. SR 접수·처리, DR 복구 테스트, 네트워크 장비 관제,",e.jsx("br",{}),"AI 챗봇 명령까지 — 어디서든 GUARDiA를 손에 쥐세요."]})]}),e.jsx("div",{className:"gd-screenshots gd-screenshots--mobile",children:[{file:"11_app_home",caption:"홈 대시보드 — SR·서버 실시간 현황"},{file:"12_app_sr",caption:"SR 서비스 요청 — 등록·처리·완료"},{file:"13_app_chat",caption:"AI 챗봇 — 자연어 명령으로 서버 제어"},{file:"14_app_dr",caption:"DR 재해복구 — RTO/RPO 실적 모니터링"},{file:"15_app_network",caption:"네트워크 장비 — 백업·상태 현장 점검"}].map((s,a)=>e.jsxs("div",{className:"screenshot-card screenshot-card--mobile",children:[e.jsx("img",{src:`/screenshots/${s.file}.png`,alt:s.caption,className:"screenshot-img",onError:c=>{c.target.style.display="none",c.target.nextSibling.style.display="flex"}}),e.jsxs("div",{className:"screenshot-placeholder",style:{display:"none"},children:[e.jsx("span",{className:"icon",children:"📱"}),e.jsx("span",{children:"준비 중"})]}),e.jsx("div",{className:"screenshot-caption",children:s.caption})]},a))}),e.jsxs("div",{style:{display:"flex",justifyContent:"center",gap:16,marginTop:40},children:[e.jsxs("a",{href:"#",style:{display:"flex",alignItems:"center",gap:10,padding:"12px 24px",background:"#1e293b",borderRadius:12,color:"#e2e8f0",textDecoration:"none",border:"1px solid rgba(255,255,255,.1)"},children:[e.jsx("span",{style:{fontSize:28},children:"🤖"}),e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:10,opacity:.6},children:"다운로드"}),e.jsx("div",{style:{fontWeight:700,fontSize:15},children:"Google Play"})]})]}),e.jsxs("a",{href:"#",style:{display:"flex",alignItems:"center",gap:10,padding:"12px 24px",background:"#1e293b",borderRadius:12,color:"#e2e8f0",textDecoration:"none",border:"1px solid rgba(255,255,255,.1)"},children:[e.jsx("span",{style:{fontSize:28},children:"🍎"}),e.jsxs("div",{children:[e.jsx("div",{style:{fontSize:10,opacity:.6},children:"다운로드"}),e.jsx("div",{style:{fontWeight:700,fontSize:15},children:"App Store"})]})]})]})]})}),i==="messenger"&&e.jsx("section",{className:"section",children:e.jsxs("div",{className:"container",children:[e.jsxs("div",{className:"section-header",children:[e.jsx("span",{className:"section-label",children:"ChatOps Messenger"}),e.jsxs("h2",{className:"section-title",children:["메신저 하나로",e.jsx("br",{}),e.jsx("em",{children:"모든 인프라를 제어"})]}),e.jsx("div",{className:"divider"}),e.jsxs("p",{className:"section-desc",children:["익숙한 메신저에서 명령어 하나로 서버 배포·장애 대응·보고서 발송까지.",e.jsx("br",{}),"GUARDiA Bot은 25개 명령어로 IT 운영의 모든 순간을 지원합니다."]})]}),e.jsx("div",{className:"messenger-platforms",children:x.map((s,a)=>e.jsxs("div",{className:"messenger-platform",style:{background:s.color},children:[e.jsx("span",{className:"platform-icon",children:s.icon}),e.jsxs("div",{children:[e.jsx("strong",{style:{color:s.textColor},children:s.name}),e.jsx("p",{style:{color:s.textColor,opacity:.85},children:s.desc})]})]},a))}),e.jsxs("div",{className:"cmd-catalog",children:[e.jsx("h3",{className:"cmd-catalog-title",children:"25개 봇 명령어 전체 목록"}),["SR 관리","인시던트","배포 제어","PMS","모니터링","보안","공지"].map(s=>{const a=m.filter(c=>c.cat===s);return e.jsxs("div",{className:"cmd-group",children:[e.jsx("h4",{className:"cmd-group-title",children:s}),e.jsx("div",{className:"cmd-list",children:a.map((c,l)=>e.jsxs("div",{className:"cmd-item",children:[e.jsx("code",{className:"cmd-code",children:c.cmd}),e.jsx("span",{className:"cmd-desc",children:c.desc})]},l))})]},s)})]}),e.jsxs("div",{className:"messenger-demo",children:[e.jsx("h3",{className:"demo-title",children:"실제 운영 시나리오"}),e.jsxs("div",{className:"demo-scenario",children:[e.jsxs("div",{className:"demo-step",children:[e.jsx("div",{className:"step-num",children:"1"}),e.jsxs("div",{className:"step-content",children:[e.jsx("strong",{children:"장애 탐지"}),e.jsx("p",{children:"Scouter APM이 서버 CPU 90% 감지 → 자동으로 GUARDiA 운영 채널에 경보 발송"}),e.jsx("div",{className:"chat-bubble bot",children:"🚨 web-01 CPU 90.3% — P2 인시던트 자동 등록: INC-20260530-A1B2C3"})]})]}),e.jsxs("div",{className:"demo-step",children:[e.jsx("div",{className:"step-num",children:"2"}),e.jsxs("div",{className:"step-content",children:[e.jsx("strong",{children:"담당자 즉시 대응"}),e.jsx("p",{children:"메신저에서 RCA 분석 요청"}),e.jsx("div",{className:"chat-bubble user",children:"/rca INC-20260530-A1B2C3"}),e.jsxs("div",{className:"chat-bubble bot",children:["🤖 AI RCA 분석 완료",e.jsx("br",{}),"근본원인: 메모리 누수 (Heap 98%)",e.jsx("br",{}),"재발방지: WAS 재기동 + 힙덤프 분석",e.jsx("br",{}),"신뢰도: 87%"]})]})]}),e.jsxs("div",{className:"demo-step",children:[e.jsx("div",{className:"step-num",children:"3"}),e.jsxs("div",{className:"step-content",children:[e.jsx("strong",{children:"원격 조치 실행"}),e.jsx("p",{children:"SSH 재기동 명령 실행"}),e.jsx("div",{className:"chat-bubble user",children:"!sm web-01 tomcat_restart"}),e.jsxs("div",{className:"chat-bubble bot",children:["✅ web-01 Tomcat 재기동 완료",e.jsx("br",{}),"소요: 38초 | CPU: 12% | 정상화"]})]})]}),e.jsxs("div",{className:"demo-step",children:[e.jsx("div",{className:"step-num",children:"4"}),e.jsxs("div",{className:"step-content",children:[e.jsx("strong",{children:"자동 보고"}),e.jsx("p",{children:"인시던트 처리 결과 자동 보고서 발송"}),e.jsx("div",{className:"chat-bubble user",children:"/notify 22:15 web-01 서버 장애 복구 완료. 원인: 메모리 누수 재발 방지 조치 완료."}),e.jsx("div",{className:"chat-bubble bot",children:"✅ 운영팀 전체 공지 발송 완료 (ops 채널)"})]})]})]})]})]})}),i==="manager"&&e.jsx("section",{className:"section",children:e.jsxs("div",{className:"container",children:[e.jsxs("div",{className:"section-header",children:[e.jsx("span",{className:"section-label",children:"GUARDiA Manager"}),e.jsxs("h2",{className:"section-title",children:["통합 관제 관리자 포털",e.jsx("br",{}),e.jsx("em",{children:"네이버 클라우드 콘솔 스타일"})]}),e.jsx("div",{className:"divider"}),e.jsxs("p",{className:"section-desc",children:["ITSM·서버·배포·네트워크·보안·AI를 하나의 화면에서 관제합니다.",e.jsx("br",{}),"DR 자동화, 네트워크 장비 설정 백업, CSAP 준수율까지 통합 대시보드로 제공합니다."]})]}),e.jsx("div",{className:"gd-screenshots",style:{gridTemplateColumns:"repeat(2,1fr)"},children:[{file:"07_manager_dashboard",caption:"통합 운영 대시보드 — 서버·SR·배포 현황"},{file:"08_manager_dr",caption:"DR 재해복구 — RTO/RPO 실적 대시보드"},{file:"09_manager_network",caption:"네트워크 장비 — 설정 백업·변경 감지"},{file:"10_manager_csap",caption:"CSAP 보안 점검 — 준수율 A~D 등급"}].map((s,a)=>e.jsxs("div",{className:"screenshot-card",children:[e.jsx("img",{src:`/screenshots/${s.file}.png`,alt:s.caption,className:"screenshot-img",onError:c=>{c.target.style.display="none",c.target.nextSibling.style.display="flex"}}),e.jsxs("div",{className:"screenshot-placeholder",style:{display:"none"},children:[e.jsx("span",{className:"icon",children:"🖥️"}),e.jsx("span",{children:"준비 중"})]}),e.jsx("div",{className:"screenshot-caption",children:s.caption})]},a))})]})}),i==="editions"&&e.jsx("section",{className:"section",children:e.jsxs("div",{className:"container",children:[e.jsxs("div",{className:"section-header",children:[e.jsx("span",{className:"section-label",children:"Editions"}),e.jsxs("h2",{className:"section-title",children:["기관 규모에 맞는",e.jsx("br",{}),e.jsx("em",{children:"에디션 선택"})]}),e.jsx("div",{className:"divider"})]}),e.jsx("div",{className:"gd-editions-grid",children:h.map((s,a)=>e.jsxs("div",{className:`gd-edition-card ${s.highlight?"highlight":""}`,style:{"--ed-color":s.color},children:[s.highlight&&e.jsx("div",{className:"edition-recommend",children:"추천"}),e.jsxs("div",{className:"edition-header",children:[e.jsx("h3",{children:s.name}),e.jsx("span",{className:"edition-badge",children:s.badge})]}),e.jsx("p",{className:"edition-target",children:s.target}),e.jsx("ul",{className:"edition-features",children:s.features.map((c,l)=>e.jsxs("li",{children:[e.jsx("span",{className:"check",children:"✓"}),c]},l))}),e.jsx(n,{to:s.href,className:"btn edition-cta",children:s.cta})]},a))})]})}),i==="tech"&&e.jsx("section",{className:"section",children:e.jsxs("div",{className:"container",children:[e.jsxs("div",{className:"section-header",children:[e.jsx("span",{className:"section-label",children:"Technology"}),e.jsxs("h2",{className:"section-title",children:["검증된",e.jsx("br",{}),e.jsx("em",{children:"기술 스택"})]}),e.jsx("div",{className:"divider"}),e.jsx("p",{className:"section-desc",children:"온프레미스 전용 설계 — 외부 클라우드 의존 없는 완전 폐쇄망 동작"})]}),e.jsx("div",{className:"gd-tech-grid",children:p.map((s,a)=>e.jsxs("div",{className:"gd-tech-card card",children:[e.jsx("h3",{className:"tech-category",children:s.category}),e.jsx("ul",{className:"tech-items",children:s.items.map((c,l)=>e.jsx("li",{children:c},l))})]},a))})]})}),i==="usecase"&&e.jsx("section",{className:"section",children:e.jsxs("div",{className:"container",children:[e.jsxs("div",{className:"section-header",children:[e.jsx("span",{className:"section-label",children:"Use Cases"}),e.jsxs("h2",{className:"section-title",children:["실제 ",e.jsx("em",{children:"도입 사례"})]}),e.jsx("div",{className:"divider"})]}),e.jsx("div",{className:"gd-usecases",children:[{org:"광역 지방자치단체",result:"레거시 서버 200대 SSH 자동화, 운영 인력 3명→1명",badge:"중앙부처"},{org:"공공기관 IT센터",result:"월간 SR 500건 처리, AI 자동분류로 80% 응답시간 단축",badge:"공공기관"},{org:"지방 교육청",result:"Tomcat 100대 무중단 배포 자동화, 장애 대응 시간 70% 단축",badge:"교육"}].map((s,a)=>e.jsxs("div",{className:"usecase-card card",children:[e.jsx("span",{className:"badge badge-primary",children:s.badge}),e.jsx("h3",{children:s.org}),e.jsx("p",{children:s.result})]},a))})]})}),e.jsx("section",{className:"gd-cta",children:e.jsxs("div",{className:"container",children:[e.jsx("h2",{children:"지금 바로 무료 데모를 경험해 보세요"}),e.jsx("p",{children:"전문 컨설턴트가 귀 기관 환경에 맞는 최적의 구성을 제안해 드립니다."}),e.jsxs("div",{className:"gd-cta-actions",children:[e.jsx(n,{to:"/support/contact?type=demo",className:"btn btn-white btn-lg",children:"무료 데모 신청"}),e.jsx(n,{to:"/support/catalog",className:"btn btn-lg",style:{color:"rgba(255,255,255,.8)",border:"1px solid rgba(255,255,255,.3)"},children:"제품 소개서"})]})]})})]})}export{N as default}; diff --git a/workspace/zioinfo-web/backend/src/main/resources/static/assets/Home-BzCr8NFu.js b/workspace/zioinfo-web/backend/src/main/resources/static/assets/Home-BNabLxOu.js similarity index 98% rename from workspace/zioinfo-web/backend/src/main/resources/static/assets/Home-BzCr8NFu.js rename to workspace/zioinfo-web/backend/src/main/resources/static/assets/Home-BNabLxOu.js index 53685080..517afb0f 100644 --- a/workspace/zioinfo-web/backend/src/main/resources/static/assets/Home-BzCr8NFu.js +++ b/workspace/zioinfo-web/backend/src/main/resources/static/assets/Home-BNabLxOu.js @@ -1,4 +1,4 @@ -import{r as i,j as s,R as N,L as l}from"./index-B5QEzx5R.js";import{a as p}from"./index-DcNlVx-A.js";import{u as b}from"./useSeoMeta-SwLKmP5e.js";const n=[{title:`AI 기반 인프라 +import{r as i,j as s,R as N,L as l}from"./index-CpO7mTKO.js";import{a as p}from"./index-DcNlVx-A.js";import{u as b}from"./useSeoMeta-DR7HJfMM.js";const n=[{title:`AI 기반 인프라 자율 운영 플랫폼`,sub:"GUARDiA ITSM — 메신저 한 줄로 1,000개 관공서 인프라를 자동화",cta:{label:"GUARDiA 알아보기",path:"/solution/guardia"},badge:"NEW",bg:"slide-1"},{title:`공공기관 전문 IT 솔루션 기업`,sub:"20년 경험의 지오정보기술이 최첨단 AI 기술로 여러분과 함께합니다",cta:{label:"회사소개 보기",path:"/company/greeting"},badge:"",bg:"slide-2"},{title:`에이전트리스 자동화 혁신`,sub:"대상 서버에 소프트웨어 설치 없이 SSH만으로 레거시 인프라를 관리",cta:{label:"도입 문의",path:"/support/contact"},badge:"",bg:"slide-3"}],v=[{icon:"🤖",title:"AI 자동화",desc:"GUARDiA ITSM 플랫폼으로 레거시 인프라 운영을 완전 자동화",path:"/solution/guardia",color:"var(--primary)"},{icon:"🏗️",title:"SI 구축",desc:"공공기관 정보화사업 시스템 통합 및 맞춤형 개발",path:"/business/reference",color:"var(--accent)"},{icon:"💼",title:"ERP·CRM·BI",desc:"기업 경영 효율화를 위한 통합 솔루션 패키지",path:"/solution/erp",color:"#10B981"}],g=[{icon:"💬",label:"ChatOps",desc:"메신저 명령으로 인프라 제어"},{icon:"🔧",label:"에이전트리스",desc:"SSH만으로 에이전트 설치 없음"},{icon:"📊",label:"통합 ITSM",desc:"SR·인시던트·변경·SLA 통합"},{icon:"🔒",label:"엔터프라이즈 보안",desc:"MFA·PAM·Zero Trust"}],S=[{value:"1,000+",label:"관리 가능 기관 수"},{value:"99.9%",label:"시스템 가용성"},{value:"70%",label:"SR 처리 시간 단축"},{value:"20년+",label:"IT 사업 경험"}];function R(){b({title:"AI 기반 인프라 자율 운영 플랫폼 GUARDiA ITSM",description:"(주)지오정보기술은 메신저 한 줄 명령으로 공공기관 레거시 IT 인프라를 자동 운영하는 GUARDiA ITSM을 개발합니다. 에이전트 설치 없이 SSH/SFTP로 1,000개 기관 운영 자동화.",path:"/",keywords:"지오정보기술, GUARDiA ITSM, 공공기관 인프라 자동화, AI 운영, ChatOps"});const[d,t]=i.useState(0),[r,o]=i.useState(!1),[h,x]=i.useState([]),m=i.useRef(null);i.useEffect(()=>{if(!r)return m.current=setInterval(()=>t(e=>(e+1)%n.length),5e3),()=>clearInterval(m.current)},[r]),i.useEffect(()=>{p.get("/api/news?size=4").then(e=>x(e.data.content||[])).catch(()=>{})},[]);const j=()=>t(e=>(e-1+n.length)%n.length),u=()=>t(e=>(e+1)%n.length),c=n[d];return s.jsxs("main",{id:"main-content",children:[s.jsxs("section",{className:`hero hero-${d}`,onMouseEnter:()=>o(!0),onMouseLeave:()=>o(!1),"aria-label":"메인 슬라이더",children:[s.jsx("div",{className:"hero-overlay"}),s.jsxs("div",{className:"hero-content container",children:[c.badge&&s.jsx("span",{className:"hero-badge",children:c.badge}),s.jsx("h1",{className:"hero-title",children:c.title.split(` diff --git a/workspace/zioinfo-web/backend/src/main/resources/static/assets/MemberLogin-BZQ3THLG.js b/workspace/zioinfo-web/backend/src/main/resources/static/assets/MemberLogin-BX21H_Sy.js similarity index 99% rename from workspace/zioinfo-web/backend/src/main/resources/static/assets/MemberLogin-BZQ3THLG.js rename to workspace/zioinfo-web/backend/src/main/resources/static/assets/MemberLogin-BX21H_Sy.js index f1a2cebf..dce7c30f 100644 --- a/workspace/zioinfo-web/backend/src/main/resources/static/assets/MemberLogin-BZQ3THLG.js +++ b/workspace/zioinfo-web/backend/src/main/resources/static/assets/MemberLogin-BX21H_Sy.js @@ -1 +1 @@ -import{c as _,r as u,j as e,L as p}from"./index-B5QEzx5R.js";/* empty css *//* empty css */const g="/api/members";function L(){const h=_(),[c,d]=u.useState("login"),[l,S]=u.useState({name:"",email:"",password:"",phone:"",company:""}),[j,t]=u.useState(""),[m,i]=u.useState(!1),r=(s,n)=>S(a=>({...a,[s]:n})),w=async s=>{s.preventDefault(),t(""),i(!0);try{const n=await fetch(`${g}/login`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({email:l.email,password:l.password})}),a=await n.json();if(!n.ok){t(a.message||"로그인 실패");return}localStorage.setItem("member_token",a.token),localStorage.setItem("member_user",JSON.stringify(a)),h("/")}catch{t("서버 연결 오류")}finally{i(!1)}},C=async s=>{if(s.preventDefault(),t(""),i(!0),l.password.length<8){t("비밀번호는 8자 이상이어야 합니다."),i(!1);return}try{const n=await fetch(`${g}/register`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(l)}),a=await n.json();if(!n.ok){t(a.message||"가입 실패");return}localStorage.setItem("member_token",a.token),localStorage.setItem("member_user",JSON.stringify(a)),h("/")}catch{t("서버 연결 오류")}finally{i(!1)}},x=async(s,n)=>{t(""),i(!0);try{const a=await fetch(`${g}/social-login`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({provider:s,email:n.email,name:n.name,id:n.id})}),o=await a.json();if(!a.ok){t(o.message||"SNS 로그인 실패");return}localStorage.setItem("member_token",o.token),localStorage.setItem("member_user",JSON.stringify(o)),h("/")}catch{t("SNS 로그인 오류")}finally{i(!1)}},b=()=>{var s;if(!((s=window.Kakao)!=null&&s.Auth)){alert("카카오 SDK를 불러오는 중입니다. 잠시 후 시도해 주세요.");return}window.Kakao.Auth.login({success:n=>{window.Kakao.API.request({url:"/v2/user/me",success:a=>{var y,v,k;const o={id:String(a.id),name:((v=(y=a.kakao_account)==null?void 0:y.profile)==null?void 0:v.nickname)||"카카오회원",email:((k=a.kakao_account)==null?void 0:k.email)||`kakao_${a.id}@kakao.user`};x("kakao",o)}})},fail:()=>t("카카오 로그인에 실패했습니다.")})},N=()=>{const s=window.naver_id_login;if(!s){alert("네이버 SDK를 불러오는 중입니다.");return}s.getLoginStatus(n=>{if(n){const a={id:s.getProfileData("id"),name:s.getProfileData("name"),email:s.getProfileData("email")};x("naver",a)}else s.authorize()})},f=()=>{var s;if(!((s=window.google)!=null&&s.accounts)){alert("구글 SDK를 불러오는 중입니다.");return}window.google.accounts.id.prompt(n=>{n.isNotDisplayed()&&t("구글 로그인 팝업이 차단됐습니다.")})};return e.jsx("main",{className:"auth-page",children:e.jsxs("div",{className:"auth-box",children:[e.jsxs(p,{to:"/",className:"auth-logo",children:[e.jsx("img",{src:"/logo.png",alt:"지오정보기술",height:"36",onError:s=>{s.target.style.display="none"}}),e.jsx("span",{children:"(주)지오정보기술"})]}),e.jsxs("div",{className:"auth-tabs",children:[e.jsx("button",{className:`auth-tab ${c==="login"?"active":""}`,onClick:()=>{d("login"),t("")},children:"로그인"}),e.jsx("button",{className:`auth-tab ${c==="register"?"active":""}`,onClick:()=>{d("register"),t("")},children:"회원가입"})]}),j&&e.jsx("div",{className:"auth-error",children:j}),c==="login"&&e.jsxs("form",{onSubmit:w,className:"auth-form",children:[e.jsxs("div",{className:"form-group",children:[e.jsx("label",{children:"이메일"}),e.jsx("input",{type:"email",value:l.email,onChange:s=>r("email",s.target.value),placeholder:"이메일 주소",required:!0})]}),e.jsxs("div",{className:"form-group",children:[e.jsx("label",{children:"비밀번호"}),e.jsx("input",{type:"password",value:l.password,onChange:s=>r("password",s.target.value),placeholder:"비밀번호",required:!0})]}),e.jsx("button",{type:"submit",className:"btn btn-primary btn-full",disabled:m,children:m?"로그인 중...":"로그인"}),e.jsx("div",{className:"sns-divider",children:e.jsx("span",{children:"또는 SNS 로그인"})}),e.jsxs("div",{className:"sns-buttons",children:[e.jsxs("button",{type:"button",className:"sns-btn sns-kakao",onClick:b,children:[e.jsx("span",{className:"sns-icon",children:"💬"})," 카카오로 로그인"]}),e.jsxs("button",{type:"button",className:"sns-btn sns-naver",onClick:N,children:[e.jsx("span",{className:"sns-icon",children:"N"})," 네이버로 로그인"]}),e.jsxs("button",{type:"button",className:"sns-btn sns-google",onClick:f,children:[e.jsx("span",{className:"sns-icon",children:"G"})," 구글로 로그인"]})]}),e.jsxs("p",{className:"auth-switch",children:["계정이 없으신가요?"," ",e.jsx("button",{type:"button",className:"link-btn",onClick:()=>d("register"),children:"회원가입"})]})]}),c==="register"&&e.jsxs("form",{onSubmit:C,className:"auth-form",children:[e.jsxs("div",{className:"form-group",children:[e.jsxs("label",{children:["이름 ",e.jsx("span",{className:"required",children:"*"})]}),e.jsx("input",{type:"text",value:l.name,onChange:s=>r("name",s.target.value),placeholder:"실명을 입력해 주세요",required:!0})]}),e.jsxs("div",{className:"form-group",children:[e.jsxs("label",{children:["이메일 ",e.jsx("span",{className:"required",children:"*"})]}),e.jsx("input",{type:"email",value:l.email,onChange:s=>r("email",s.target.value),placeholder:"이메일 주소",required:!0})]}),e.jsxs("div",{className:"form-group",children:[e.jsxs("label",{children:["비밀번호 ",e.jsx("span",{className:"required",children:"*"})]}),e.jsx("input",{type:"password",value:l.password,onChange:s=>r("password",s.target.value),placeholder:"8자 이상",required:!0,minLength:8})]}),e.jsxs("div",{className:"form-group",children:[e.jsx("label",{children:"연락처"}),e.jsx("input",{type:"tel",value:l.phone,onChange:s=>r("phone",s.target.value),placeholder:"010-0000-0000"})]}),e.jsxs("div",{className:"form-group",children:[e.jsx("label",{children:"소속 기관/회사"}),e.jsx("input",{type:"text",value:l.company,onChange:s=>r("company",s.target.value),placeholder:"소속 기관이나 회사명 (선택)"})]}),e.jsx("button",{type:"submit",className:"btn btn-primary btn-full",disabled:m,children:m?"가입 중...":"회원가입"}),e.jsx("div",{className:"sns-divider",children:e.jsx("span",{children:"또는 SNS로 간편 가입"})}),e.jsxs("div",{className:"sns-buttons",children:[e.jsxs("button",{type:"button",className:"sns-btn sns-kakao",onClick:b,children:[e.jsx("span",{className:"sns-icon",children:"💬"})," 카카오로 시작"]}),e.jsxs("button",{type:"button",className:"sns-btn sns-naver",onClick:N,children:[e.jsx("span",{className:"sns-icon",children:"N"})," 네이버로 시작"]}),e.jsxs("button",{type:"button",className:"sns-btn sns-google",onClick:f,children:[e.jsx("span",{className:"sns-icon",children:"G"})," 구글로 시작"]})]}),e.jsxs("p",{className:"auth-switch",children:["이미 계정이 있으신가요?"," ",e.jsx("button",{type:"button",className:"link-btn",onClick:()=>d("login"),children:"로그인"})]})]}),e.jsxs("p",{className:"auth-terms",children:["회원가입 시 ",e.jsx(p,{to:"/terms",children:"이용약관"})," 및"," ",e.jsx(p,{to:"/privacy",children:"개인정보처리방침"}),"에 동의하는 것으로 간주됩니다."]})]})})}export{L as default}; +import{c as _,r as u,j as e,L as p}from"./index-CpO7mTKO.js";/* empty css *//* empty css */const g="/api/members";function L(){const h=_(),[c,d]=u.useState("login"),[l,S]=u.useState({name:"",email:"",password:"",phone:"",company:""}),[j,t]=u.useState(""),[m,i]=u.useState(!1),r=(s,n)=>S(a=>({...a,[s]:n})),w=async s=>{s.preventDefault(),t(""),i(!0);try{const n=await fetch(`${g}/login`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({email:l.email,password:l.password})}),a=await n.json();if(!n.ok){t(a.message||"로그인 실패");return}localStorage.setItem("member_token",a.token),localStorage.setItem("member_user",JSON.stringify(a)),h("/")}catch{t("서버 연결 오류")}finally{i(!1)}},C=async s=>{if(s.preventDefault(),t(""),i(!0),l.password.length<8){t("비밀번호는 8자 이상이어야 합니다."),i(!1);return}try{const n=await fetch(`${g}/register`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(l)}),a=await n.json();if(!n.ok){t(a.message||"가입 실패");return}localStorage.setItem("member_token",a.token),localStorage.setItem("member_user",JSON.stringify(a)),h("/")}catch{t("서버 연결 오류")}finally{i(!1)}},x=async(s,n)=>{t(""),i(!0);try{const a=await fetch(`${g}/social-login`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({provider:s,email:n.email,name:n.name,id:n.id})}),o=await a.json();if(!a.ok){t(o.message||"SNS 로그인 실패");return}localStorage.setItem("member_token",o.token),localStorage.setItem("member_user",JSON.stringify(o)),h("/")}catch{t("SNS 로그인 오류")}finally{i(!1)}},b=()=>{var s;if(!((s=window.Kakao)!=null&&s.Auth)){alert("카카오 SDK를 불러오는 중입니다. 잠시 후 시도해 주세요.");return}window.Kakao.Auth.login({success:n=>{window.Kakao.API.request({url:"/v2/user/me",success:a=>{var y,v,k;const o={id:String(a.id),name:((v=(y=a.kakao_account)==null?void 0:y.profile)==null?void 0:v.nickname)||"카카오회원",email:((k=a.kakao_account)==null?void 0:k.email)||`kakao_${a.id}@kakao.user`};x("kakao",o)}})},fail:()=>t("카카오 로그인에 실패했습니다.")})},N=()=>{const s=window.naver_id_login;if(!s){alert("네이버 SDK를 불러오는 중입니다.");return}s.getLoginStatus(n=>{if(n){const a={id:s.getProfileData("id"),name:s.getProfileData("name"),email:s.getProfileData("email")};x("naver",a)}else s.authorize()})},f=()=>{var s;if(!((s=window.google)!=null&&s.accounts)){alert("구글 SDK를 불러오는 중입니다.");return}window.google.accounts.id.prompt(n=>{n.isNotDisplayed()&&t("구글 로그인 팝업이 차단됐습니다.")})};return e.jsx("main",{className:"auth-page",children:e.jsxs("div",{className:"auth-box",children:[e.jsxs(p,{to:"/",className:"auth-logo",children:[e.jsx("img",{src:"/logo.png",alt:"지오정보기술",height:"36",onError:s=>{s.target.style.display="none"}}),e.jsx("span",{children:"(주)지오정보기술"})]}),e.jsxs("div",{className:"auth-tabs",children:[e.jsx("button",{className:`auth-tab ${c==="login"?"active":""}`,onClick:()=>{d("login"),t("")},children:"로그인"}),e.jsx("button",{className:`auth-tab ${c==="register"?"active":""}`,onClick:()=>{d("register"),t("")},children:"회원가입"})]}),j&&e.jsx("div",{className:"auth-error",children:j}),c==="login"&&e.jsxs("form",{onSubmit:w,className:"auth-form",children:[e.jsxs("div",{className:"form-group",children:[e.jsx("label",{children:"이메일"}),e.jsx("input",{type:"email",value:l.email,onChange:s=>r("email",s.target.value),placeholder:"이메일 주소",required:!0})]}),e.jsxs("div",{className:"form-group",children:[e.jsx("label",{children:"비밀번호"}),e.jsx("input",{type:"password",value:l.password,onChange:s=>r("password",s.target.value),placeholder:"비밀번호",required:!0})]}),e.jsx("button",{type:"submit",className:"btn btn-primary btn-full",disabled:m,children:m?"로그인 중...":"로그인"}),e.jsx("div",{className:"sns-divider",children:e.jsx("span",{children:"또는 SNS 로그인"})}),e.jsxs("div",{className:"sns-buttons",children:[e.jsxs("button",{type:"button",className:"sns-btn sns-kakao",onClick:b,children:[e.jsx("span",{className:"sns-icon",children:"💬"})," 카카오로 로그인"]}),e.jsxs("button",{type:"button",className:"sns-btn sns-naver",onClick:N,children:[e.jsx("span",{className:"sns-icon",children:"N"})," 네이버로 로그인"]}),e.jsxs("button",{type:"button",className:"sns-btn sns-google",onClick:f,children:[e.jsx("span",{className:"sns-icon",children:"G"})," 구글로 로그인"]})]}),e.jsxs("p",{className:"auth-switch",children:["계정이 없으신가요?"," ",e.jsx("button",{type:"button",className:"link-btn",onClick:()=>d("register"),children:"회원가입"})]})]}),c==="register"&&e.jsxs("form",{onSubmit:C,className:"auth-form",children:[e.jsxs("div",{className:"form-group",children:[e.jsxs("label",{children:["이름 ",e.jsx("span",{className:"required",children:"*"})]}),e.jsx("input",{type:"text",value:l.name,onChange:s=>r("name",s.target.value),placeholder:"실명을 입력해 주세요",required:!0})]}),e.jsxs("div",{className:"form-group",children:[e.jsxs("label",{children:["이메일 ",e.jsx("span",{className:"required",children:"*"})]}),e.jsx("input",{type:"email",value:l.email,onChange:s=>r("email",s.target.value),placeholder:"이메일 주소",required:!0})]}),e.jsxs("div",{className:"form-group",children:[e.jsxs("label",{children:["비밀번호 ",e.jsx("span",{className:"required",children:"*"})]}),e.jsx("input",{type:"password",value:l.password,onChange:s=>r("password",s.target.value),placeholder:"8자 이상",required:!0,minLength:8})]}),e.jsxs("div",{className:"form-group",children:[e.jsx("label",{children:"연락처"}),e.jsx("input",{type:"tel",value:l.phone,onChange:s=>r("phone",s.target.value),placeholder:"010-0000-0000"})]}),e.jsxs("div",{className:"form-group",children:[e.jsx("label",{children:"소속 기관/회사"}),e.jsx("input",{type:"text",value:l.company,onChange:s=>r("company",s.target.value),placeholder:"소속 기관이나 회사명 (선택)"})]}),e.jsx("button",{type:"submit",className:"btn btn-primary btn-full",disabled:m,children:m?"가입 중...":"회원가입"}),e.jsx("div",{className:"sns-divider",children:e.jsx("span",{children:"또는 SNS로 간편 가입"})}),e.jsxs("div",{className:"sns-buttons",children:[e.jsxs("button",{type:"button",className:"sns-btn sns-kakao",onClick:b,children:[e.jsx("span",{className:"sns-icon",children:"💬"})," 카카오로 시작"]}),e.jsxs("button",{type:"button",className:"sns-btn sns-naver",onClick:N,children:[e.jsx("span",{className:"sns-icon",children:"N"})," 네이버로 시작"]}),e.jsxs("button",{type:"button",className:"sns-btn sns-google",onClick:f,children:[e.jsx("span",{className:"sns-icon",children:"G"})," 구글로 시작"]})]}),e.jsxs("p",{className:"auth-switch",children:["이미 계정이 있으신가요?"," ",e.jsx("button",{type:"button",className:"link-btn",onClick:()=>d("login"),children:"로그인"})]})]}),e.jsxs("p",{className:"auth-terms",children:["회원가입 시 ",e.jsx(p,{to:"/terms",children:"이용약관"})," 및"," ",e.jsx(p,{to:"/privacy",children:"개인정보처리방침"}),"에 동의하는 것으로 간주됩니다."]})]})})}export{L as default}; diff --git a/workspace/zioinfo-web/backend/src/main/resources/static/assets/NewsPage-BTRnpJ1c.js b/workspace/zioinfo-web/backend/src/main/resources/static/assets/NewsPage-IHyZts-t.js similarity index 99% rename from workspace/zioinfo-web/backend/src/main/resources/static/assets/NewsPage-BTRnpJ1c.js rename to workspace/zioinfo-web/backend/src/main/resources/static/assets/NewsPage-IHyZts-t.js index 1067411d..dba67eac 100644 --- a/workspace/zioinfo-web/backend/src/main/resources/static/assets/NewsPage-BTRnpJ1c.js +++ b/workspace/zioinfo-web/backend/src/main/resources/static/assets/NewsPage-IHyZts-t.js @@ -1,4 +1,4 @@ -import{j as e,b as o,a as n,r as h,N as x}from"./index-B5QEzx5R.js";/* empty css */const p=[{path:"/news/newsroom",label:"뉴스룸"},{path:"/news/blog",label:"기술 블로그"}];function d({title:a}){return e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"page-hero",children:e.jsxs("div",{className:"container",children:[e.jsx("span",{className:"section-label",children:"News"}),e.jsx("h1",{className:"page-hero-title",children:a})]})}),e.jsx("nav",{className:"sub-nav",children:e.jsx("div",{className:"container",children:p.map(t=>e.jsx(x,{to:t.path,className:({isActive:i})=>"sub-nav-item"+(i?" active":""),children:t.label},t.path))})})]})}const l=[{id:1,cat:"제품 출시",date:"2026.05.15",title:"GUARDiA ITSM v2.0 정식 출시 — AI ChatOps 오케스트레이션 플랫폼",summary:"메신저 한 줄 명령으로 1,000개+ 공공기관 레거시 인프라를 자동 운영하는 GUARDiA ITSM v2.0이 정식 출시되었습니다. 신규 기능으로 AI 자연어 명령, 에이전트리스 배포 엔진, 멀티테넌트 지원이 추가됐습니다.",content:`GUARDiA ITSM v2.0은 공공기관의 레거시 IT 인프라 운영 자동화를 위한 AI 기반 플랫폼입니다. +import{j as e,b as o,a as n,r as h,N as x}from"./index-CpO7mTKO.js";/* empty css */const p=[{path:"/news/newsroom",label:"뉴스룸"},{path:"/news/blog",label:"기술 블로그"}];function d({title:a}){return e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"page-hero",children:e.jsxs("div",{className:"container",children:[e.jsx("span",{className:"section-label",children:"News"}),e.jsx("h1",{className:"page-hero-title",children:a})]})}),e.jsx("nav",{className:"sub-nav",children:e.jsx("div",{className:"container",children:p.map(t=>e.jsx(x,{to:t.path,className:({isActive:i})=>"sub-nav-item"+(i?" active":""),children:t.label},t.path))})})]})}const l=[{id:1,cat:"제품 출시",date:"2026.05.15",title:"GUARDiA ITSM v2.0 정식 출시 — AI ChatOps 오케스트레이션 플랫폼",summary:"메신저 한 줄 명령으로 1,000개+ 공공기관 레거시 인프라를 자동 운영하는 GUARDiA ITSM v2.0이 정식 출시되었습니다. 신규 기능으로 AI 자연어 명령, 에이전트리스 배포 엔진, 멀티테넌트 지원이 추가됐습니다.",content:`GUARDiA ITSM v2.0은 공공기관의 레거시 IT 인프라 운영 자동화를 위한 AI 기반 플랫폼입니다. 주요 신기능: - AI ChatOps: 메신저 자연어 명령 → Ollama LLM 파싱 → 자동 실행 diff --git a/workspace/zioinfo-web/backend/src/main/resources/static/assets/NotFound-DVyhNdAV.js b/workspace/zioinfo-web/backend/src/main/resources/static/assets/NotFound-Ci_g8Zjy.js similarity index 90% rename from workspace/zioinfo-web/backend/src/main/resources/static/assets/NotFound-DVyhNdAV.js rename to workspace/zioinfo-web/backend/src/main/resources/static/assets/NotFound-Ci_g8Zjy.js index 139f29bf..f83bd23f 100644 --- a/workspace/zioinfo-web/backend/src/main/resources/static/assets/NotFound-DVyhNdAV.js +++ b/workspace/zioinfo-web/backend/src/main/resources/static/assets/NotFound-Ci_g8Zjy.js @@ -1 +1 @@ -import{j as e,L as t}from"./index-B5QEzx5R.js";function i(){return e.jsxs("main",{style:{paddingTop:"var(--header-h)",minHeight:"60vh",display:"flex",alignItems:"center",justifyContent:"center",flexDirection:"column",gap:"16px",textAlign:"center"},children:[e.jsx("div",{style:{fontSize:"72px"},children:"404"}),e.jsx("h1",{style:{fontSize:"24px",fontWeight:"700"},children:"페이지를 찾을 수 없습니다"}),e.jsx("p",{style:{color:"var(--gray-600)"},children:"요청하신 페이지가 존재하지 않거나 이동되었습니다."}),e.jsx(t,{to:"/",className:"btn btn-primary",children:"홈으로 돌아가기"})]})}export{i as default}; +import{j as e,L as t}from"./index-CpO7mTKO.js";function i(){return e.jsxs("main",{style:{paddingTop:"var(--header-h)",minHeight:"60vh",display:"flex",alignItems:"center",justifyContent:"center",flexDirection:"column",gap:"16px",textAlign:"center"},children:[e.jsx("div",{style:{fontSize:"72px"},children:"404"}),e.jsx("h1",{style:{fontSize:"24px",fontWeight:"700"},children:"페이지를 찾을 수 없습니다"}),e.jsx("p",{style:{color:"var(--gray-600)"},children:"요청하신 페이지가 존재하지 않거나 이동되었습니다."}),e.jsx(t,{to:"/",className:"btn btn-primary",children:"홈으로 돌아가기"})]})}export{i as default}; diff --git a/workspace/zioinfo-web/backend/src/main/resources/static/assets/Privacy-D6OAw3cq.js b/workspace/zioinfo-web/backend/src/main/resources/static/assets/Privacy-B5Rbuoxm.js similarity index 97% rename from workspace/zioinfo-web/backend/src/main/resources/static/assets/Privacy-D6OAw3cq.js rename to workspace/zioinfo-web/backend/src/main/resources/static/assets/Privacy-B5Rbuoxm.js index 7b0fc2ea..8560e804 100644 --- a/workspace/zioinfo-web/backend/src/main/resources/static/assets/Privacy-D6OAw3cq.js +++ b/workspace/zioinfo-web/backend/src/main/resources/static/assets/Privacy-B5Rbuoxm.js @@ -1 +1 @@ -import{j as s}from"./index-B5QEzx5R.js";/* empty css */import{u as i}from"./useSeoMeta-SwLKmP5e.js";function c(){return i({title:"개인정보처리방침",description:"(주)지오정보기술 개인정보처리방침. 수집 항목, 보유 기간, 이용자 권리, 개인정보 보호책임자 안내.",path:"/privacy"}),s.jsx("main",{id:"main-content",className:"inner-page",children:s.jsx("section",{className:"section",children:s.jsxs("div",{className:"container",style:{maxWidth:"800px"},children:[s.jsxs("div",{className:"section-header",children:[s.jsx("span",{className:"section-label",children:"Privacy Policy"}),s.jsx("h1",{className:"section-title",children:"개인정보처리방침"}),s.jsx("p",{className:"section-desc",style:{fontSize:"13px",color:"var(--gray-500)"},children:"시행일자: 2026년 01월 01일  |  최종 수정: 2026년 05월 31일"})]}),s.jsxs("div",{className:"prose",children:[s.jsx("p",{children:'(주)지오정보기술(이하 "회사")은 이용자의 개인정보를 중요시하며, 「개인정보 보호법」 및 관련 법령을 준수합니다.'}),s.jsx("h2",{children:"제1조 (개인정보의 수집 항목 및 목적)"}),s.jsxs("table",{className:"policy-table",children:[s.jsx("thead",{children:s.jsxs("tr",{children:[s.jsx("th",{children:"구분"}),s.jsx("th",{children:"수집 항목"}),s.jsx("th",{children:"수집 목적"})]})}),s.jsxs("tbody",{children:[s.jsxs("tr",{children:[s.jsx("td",{children:"회원가입"}),s.jsx("td",{children:"이름, 이메일, 비밀번호, 연락처, 소속"}),s.jsx("td",{children:"회원 식별, 서비스 제공"})]}),s.jsxs("tr",{children:[s.jsx("td",{children:"문의 접수"}),s.jsx("td",{children:"이름, 이메일, 연락처, 문의 내용"}),s.jsx("td",{children:"문의 처리, 답변 발송"})]}),s.jsxs("tr",{children:[s.jsx("td",{children:"채용 지원"}),s.jsx("td",{children:"이름, 이메일, 연락처, 이력서"}),s.jsx("td",{children:"채용 심사, 합격자 통보"})]}),s.jsxs("tr",{children:[s.jsx("td",{children:"서비스 이용"}),s.jsx("td",{children:"접속 IP, 쿠키, 방문 이력"}),s.jsx("td",{children:"서비스 개선, 보안"})]})]})]}),s.jsx("h2",{children:"제2조 (개인정보의 보유 및 이용 기간)"}),s.jsxs("ul",{children:[s.jsx("li",{children:"회원 정보: 회원 탈퇴 시 즉시 파기"}),s.jsx("li",{children:"문의/상담 이력: 처리 완료 후 3년"}),s.jsx("li",{children:"채용 서류: 채용 완료 후 6개월 (불합격자 즉시 파기 원칙)"}),s.jsx("li",{children:"법령에 의한 보존이 필요한 경우 해당 기간"})]}),s.jsx("h2",{children:"제3조 (개인정보의 제3자 제공)"}),s.jsx("p",{children:"회사는 이용자의 개인정보를 원칙적으로 외부에 제공하지 않습니다. 단, 이용자의 동의가 있거나 법령에 의한 경우에는 예외로 합니다."}),s.jsx("h2",{children:"제4조 (개인정보 처리의 위탁)"}),s.jsx("p",{children:"현재 개인정보 처리를 위탁하는 업무는 없습니다. 추후 위탁 발생 시 사전 고지합니다."}),s.jsx("h2",{children:"제5조 (이용자의 권리)"}),s.jsxs("ul",{children:[s.jsx("li",{children:"개인정보 열람, 정정, 삭제, 처리정지 요청 가능"}),s.jsx("li",{children:"요청 방법: 이메일(info@zioinfo.co.kr) 또는 전화(031-483-1766)"}),s.jsx("li",{children:"처리 기간: 요청 후 10일 이내"})]}),s.jsx("h2",{children:"제6조 (개인정보의 파기)"}),s.jsx("p",{children:"보유 기간 만료 시 지체 없이 파기합니다. 전자 파일은 복구 불가능한 방법으로 삭제하며, 서면은 분쇄 또는 소각합니다."}),s.jsx("h2",{children:"제7조 (쿠키 사용)"}),s.jsx("p",{children:"홈페이지 이용 편의를 위해 쿠키를 사용합니다. 브라우저 설정에서 쿠키 허용 여부를 조정할 수 있습니다."}),s.jsx("h2",{children:"제8조 (개인정보 보호책임자)"}),s.jsx("table",{className:"policy-table",children:s.jsxs("tbody",{children:[s.jsxs("tr",{children:[s.jsx("td",{children:"성명"}),s.jsx("td",{children:"홍영택"})]}),s.jsxs("tr",{children:[s.jsx("td",{children:"직책"}),s.jsx("td",{children:"대표이사"})]}),s.jsxs("tr",{children:[s.jsx("td",{children:"연락처"}),s.jsx("td",{children:"031-483-1766"})]}),s.jsxs("tr",{children:[s.jsx("td",{children:"이메일"}),s.jsx("td",{children:"info@zioinfo.co.kr"})]})]})}),s.jsx("h2",{children:"제9조 (개인정보 침해 신고)"}),s.jsxs("ul",{children:[s.jsx("li",{children:"개인정보보호위원회 개인정보 침해 신고센터: (국번없이) 182"}),s.jsx("li",{children:"대검찰청 사이버수사과: (국번없이) 1301"}),s.jsx("li",{children:"경찰청 사이버안전국: (국번없이) 182"})]}),s.jsxs("p",{className:"policy-footer",children:["본 방침은 2026년 01월 01일부터 시행됩니다.",s.jsx("br",{}),"변경 시 홈페이지를 통해 공지합니다."]})]})]})})})}export{c as default}; +import{j as s}from"./index-CpO7mTKO.js";/* empty css */import{u as i}from"./useSeoMeta-DR7HJfMM.js";function c(){return i({title:"개인정보처리방침",description:"(주)지오정보기술 개인정보처리방침. 수집 항목, 보유 기간, 이용자 권리, 개인정보 보호책임자 안내.",path:"/privacy"}),s.jsx("main",{id:"main-content",className:"inner-page",children:s.jsx("section",{className:"section",children:s.jsxs("div",{className:"container",style:{maxWidth:"800px"},children:[s.jsxs("div",{className:"section-header",children:[s.jsx("span",{className:"section-label",children:"Privacy Policy"}),s.jsx("h1",{className:"section-title",children:"개인정보처리방침"}),s.jsx("p",{className:"section-desc",style:{fontSize:"13px",color:"var(--gray-500)"},children:"시행일자: 2026년 01월 01일  |  최종 수정: 2026년 05월 31일"})]}),s.jsxs("div",{className:"prose",children:[s.jsx("p",{children:'(주)지오정보기술(이하 "회사")은 이용자의 개인정보를 중요시하며, 「개인정보 보호법」 및 관련 법령을 준수합니다.'}),s.jsx("h2",{children:"제1조 (개인정보의 수집 항목 및 목적)"}),s.jsxs("table",{className:"policy-table",children:[s.jsx("thead",{children:s.jsxs("tr",{children:[s.jsx("th",{children:"구분"}),s.jsx("th",{children:"수집 항목"}),s.jsx("th",{children:"수집 목적"})]})}),s.jsxs("tbody",{children:[s.jsxs("tr",{children:[s.jsx("td",{children:"회원가입"}),s.jsx("td",{children:"이름, 이메일, 비밀번호, 연락처, 소속"}),s.jsx("td",{children:"회원 식별, 서비스 제공"})]}),s.jsxs("tr",{children:[s.jsx("td",{children:"문의 접수"}),s.jsx("td",{children:"이름, 이메일, 연락처, 문의 내용"}),s.jsx("td",{children:"문의 처리, 답변 발송"})]}),s.jsxs("tr",{children:[s.jsx("td",{children:"채용 지원"}),s.jsx("td",{children:"이름, 이메일, 연락처, 이력서"}),s.jsx("td",{children:"채용 심사, 합격자 통보"})]}),s.jsxs("tr",{children:[s.jsx("td",{children:"서비스 이용"}),s.jsx("td",{children:"접속 IP, 쿠키, 방문 이력"}),s.jsx("td",{children:"서비스 개선, 보안"})]})]})]}),s.jsx("h2",{children:"제2조 (개인정보의 보유 및 이용 기간)"}),s.jsxs("ul",{children:[s.jsx("li",{children:"회원 정보: 회원 탈퇴 시 즉시 파기"}),s.jsx("li",{children:"문의/상담 이력: 처리 완료 후 3년"}),s.jsx("li",{children:"채용 서류: 채용 완료 후 6개월 (불합격자 즉시 파기 원칙)"}),s.jsx("li",{children:"법령에 의한 보존이 필요한 경우 해당 기간"})]}),s.jsx("h2",{children:"제3조 (개인정보의 제3자 제공)"}),s.jsx("p",{children:"회사는 이용자의 개인정보를 원칙적으로 외부에 제공하지 않습니다. 단, 이용자의 동의가 있거나 법령에 의한 경우에는 예외로 합니다."}),s.jsx("h2",{children:"제4조 (개인정보 처리의 위탁)"}),s.jsx("p",{children:"현재 개인정보 처리를 위탁하는 업무는 없습니다. 추후 위탁 발생 시 사전 고지합니다."}),s.jsx("h2",{children:"제5조 (이용자의 권리)"}),s.jsxs("ul",{children:[s.jsx("li",{children:"개인정보 열람, 정정, 삭제, 처리정지 요청 가능"}),s.jsx("li",{children:"요청 방법: 이메일(info@zioinfo.co.kr) 또는 전화(031-483-1766)"}),s.jsx("li",{children:"처리 기간: 요청 후 10일 이내"})]}),s.jsx("h2",{children:"제6조 (개인정보의 파기)"}),s.jsx("p",{children:"보유 기간 만료 시 지체 없이 파기합니다. 전자 파일은 복구 불가능한 방법으로 삭제하며, 서면은 분쇄 또는 소각합니다."}),s.jsx("h2",{children:"제7조 (쿠키 사용)"}),s.jsx("p",{children:"홈페이지 이용 편의를 위해 쿠키를 사용합니다. 브라우저 설정에서 쿠키 허용 여부를 조정할 수 있습니다."}),s.jsx("h2",{children:"제8조 (개인정보 보호책임자)"}),s.jsx("table",{className:"policy-table",children:s.jsxs("tbody",{children:[s.jsxs("tr",{children:[s.jsx("td",{children:"성명"}),s.jsx("td",{children:"홍영택"})]}),s.jsxs("tr",{children:[s.jsx("td",{children:"직책"}),s.jsx("td",{children:"대표이사"})]}),s.jsxs("tr",{children:[s.jsx("td",{children:"연락처"}),s.jsx("td",{children:"031-483-1766"})]}),s.jsxs("tr",{children:[s.jsx("td",{children:"이메일"}),s.jsx("td",{children:"info@zioinfo.co.kr"})]})]})}),s.jsx("h2",{children:"제9조 (개인정보 침해 신고)"}),s.jsxs("ul",{children:[s.jsx("li",{children:"개인정보보호위원회 개인정보 침해 신고센터: (국번없이) 182"}),s.jsx("li",{children:"대검찰청 사이버수사과: (국번없이) 1301"}),s.jsx("li",{children:"경찰청 사이버안전국: (국번없이) 182"})]}),s.jsxs("p",{className:"policy-footer",children:["본 방침은 2026년 01월 01일부터 시행됩니다.",s.jsx("br",{}),"변경 시 홈페이지를 통해 공지합니다."]})]})]})})})}export{c as default}; diff --git a/workspace/zioinfo-web/backend/src/main/resources/static/assets/Recruit-D117zTPM.js b/workspace/zioinfo-web/backend/src/main/resources/static/assets/Recruit-CVo_mebL.js similarity index 99% rename from workspace/zioinfo-web/backend/src/main/resources/static/assets/Recruit-D117zTPM.js rename to workspace/zioinfo-web/backend/src/main/resources/static/assets/Recruit-CVo_mebL.js index 220365c0..48c2b7b7 100644 --- a/workspace/zioinfo-web/backend/src/main/resources/static/assets/Recruit-D117zTPM.js +++ b/workspace/zioinfo-web/backend/src/main/resources/static/assets/Recruit-CVo_mebL.js @@ -1 +1 @@ -import{j as e,b as h,a as t,r as d,N as j}from"./index-B5QEzx5R.js";/* empty css */const u=[{path:"/recruit/jobs",label:"채용공고"},{path:"/recruit/welfare",label:"복리후생"},{path:"/recruit/apply",label:"지원하기"}];function r({title:a}){return e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"page-hero",children:e.jsxs("div",{className:"container",children:[e.jsx("span",{className:"section-label",children:"Recruit"}),e.jsx("h1",{className:"page-hero-title",children:a}),e.jsx("p",{children:"지오정보기술과 함께 AI 인프라 혁신을 이끌어 갈 인재를 모십니다."})]})}),e.jsx("nav",{className:"sub-nav",children:e.jsx("div",{className:"container",children:u.map(i=>e.jsx(j,{to:i.path,className:({isActive:s})=>"sub-nav-item"+(s?" active":""),children:i.label},i.path))})})]})}const o=[{id:1,title:"AI/LLM 엔지니어",dept:"AI팀",type:"정규직",exp:"경력 3년 이상",stack:["Python","Ollama","LangChain","FastAPI"],desc:"GUARDiA ITSM의 온프레미스 AI 엔진 개발. 자연어→명령 파싱, LLM 파인튜닝, RAG 파이프라인 구축.",deadline:"2026.06.30",hot:!0},{id:2,title:"Java 백엔드 개발자 (Spring Boot)",dept:"개발팀",type:"정규직",exp:"경력 3년 이상",stack:["Java","Spring Boot","Oracle","MyBatis"],desc:"공공기관 SI/SM 프로젝트 백엔드 개발. ERP·CRM·행정정보시스템 구축 및 유지보수.",deadline:"2026.06.30",hot:!0},{id:3,title:"React 프론트엔드 개발자",dept:"개발팀",type:"정규직",exp:"경력 2년 이상",stack:["React","TypeScript","Vite","Chart.js"],desc:"GUARDiA ITSM 및 고객사 포털 프론트엔드 개발. 공공기관 웹접근성(KWCAG 2.1) 준수 필수.",deadline:"2026.06.30",hot:!1},{id:4,title:"인프라 운영 엔지니어 (DBA)",dept:"운영팀",type:"정규직",exp:"경력 3년 이상",stack:["Oracle","Tibero","Linux","Shell"],desc:"Oracle/Tibero DB 설계·튜닝·이관. 삼성전자·국민연금급 대형 DB 운영 경험 우대.",deadline:"2026.06.15",hot:!1},{id:5,title:"PM / PL (공공 SI)",dept:"PM본부",type:"정규직",exp:"경력 5년 이상",stack:["PMP","PMBOK","MS Project","Jira"],desc:"공공기관 정보화사업 PM/PL. 헌법재판소·국민연금·시립대 수준 프로젝트 관리 경험 보유자.",deadline:"2026.06.15",hot:!1},{id:6,title:"DevOps / CI·CD 엔지니어",dept:"개발팀",type:"정규직",exp:"경력 2년 이상",stack:["Docker","Kubernetes","Jenkins","GitHub Actions"],desc:"GUARDiA Vibe CD 파이프라인 구축 및 운영. 폐쇄망 환경 GitOps 경험 우대.",deadline:"상시",hot:!1}];function p(){const[a,i]=d.useState(null);if(a){const s=o.find(l=>l.id===a);return e.jsxs("main",{id:"main-content",className:"inner-page",children:[e.jsx(r,{title:"채용공고"}),e.jsx("section",{className:"section",children:e.jsxs("div",{className:"container",style:{maxWidth:"760px"},children:[e.jsx("button",{className:"notice-back",onClick:()=>i(null),children:"← 목록으로"}),e.jsxs("div",{className:"job-detail-card card",style:{padding:"40px"},children:[e.jsxs("div",{className:"job-detail-header",children:[s.hot&&e.jsx("span",{className:"badge badge-new",children:"HOT"}),e.jsx("h2",{style:{fontSize:"26px",fontWeight:"900",margin:"12px 0 8px"},children:s.title}),e.jsxs("div",{style:{display:"flex",gap:"10px",flexWrap:"wrap"},children:[e.jsx("span",{className:"badge badge-primary",children:s.dept}),e.jsx("span",{className:"badge badge-accent",children:s.type}),e.jsxs("span",{style:{fontSize:"13px",color:"var(--gray-500)"},children:["경력: ",s.exp]}),e.jsxs("span",{style:{fontSize:"13px",color:"var(--gray-500)"},children:["마감: ",s.deadline]})]})]}),e.jsx("div",{className:"divider divider-left",style:{margin:"24px 0"}}),e.jsx("h3",{style:{fontSize:"16px",fontWeight:"700",marginBottom:"12px"},children:"업무 내용"}),e.jsx("p",{style:{color:"var(--gray-700)",lineHeight:"1.8",marginBottom:"28px"},children:s.desc}),e.jsx("h3",{style:{fontSize:"16px",fontWeight:"700",marginBottom:"12px"},children:"기술 스택"}),e.jsx("div",{style:{display:"flex",gap:"8px",flexWrap:"wrap",marginBottom:"28px"},children:s.stack.map((l,n)=>e.jsx("span",{style:{padding:"6px 14px",background:"var(--secondary)",color:"var(--accent)",borderRadius:"6px",fontSize:"13px",fontWeight:"600"},children:l},n))}),e.jsx("h3",{style:{fontSize:"16px",fontWeight:"700",marginBottom:"12px"},children:"지원 방법"}),e.jsxs("p",{style:{color:"var(--gray-700)",lineHeight:"1.8"},children:["이력서 및 포트폴리오를 ",e.jsx("strong",{children:"recruit@zioinfo.co.kr"})," 로 제출하시거나, 아래 지원하기 버튼을 이용해 주십시오."]}),e.jsx("a",{href:"/recruit/apply",className:"btn btn-primary btn-lg",style:{marginTop:"24px",display:"inline-flex"},children:"지원하기 →"})]})]})})]})}return e.jsxs("main",{id:"main-content",className:"inner-page",children:[e.jsx(r,{title:"채용공고"}),e.jsx("section",{className:"section",children:e.jsxs("div",{className:"container",children:[e.jsxs("div",{className:"section-header",children:[e.jsx("span",{className:"section-label",children:"Open Positions"}),e.jsx("h2",{className:"section-title",children:"현재 채용 중인 포지션"})]}),e.jsx("div",{style:{display:"flex",flexDirection:"column",gap:"16px"},children:o.map(s=>e.jsxs("div",{className:"card job-card",onClick:()=>i(s.id),children:[e.jsxs("div",{className:"job-info",children:[e.jsxs("div",{style:{display:"flex",gap:"8px",alignItems:"center",marginBottom:"8px"},children:[s.hot&&e.jsx("span",{className:"badge badge-new",children:"HOT"}),e.jsx("span",{className:"badge badge-primary",children:s.dept}),e.jsx("span",{className:"badge badge-accent",children:s.type})]}),e.jsx("h3",{className:"job-title",children:s.title}),e.jsx("p",{className:"job-desc",children:s.desc}),e.jsx("div",{className:"job-stack",children:s.stack.map((l,n)=>e.jsx("span",{className:"job-tech",children:l},n))})]}),e.jsxs("div",{className:"job-meta",children:[e.jsxs("div",{children:[e.jsx("span",{className:"job-meta-label",children:"경력"}),e.jsx("span",{children:s.exp})]}),e.jsxs("div",{children:[e.jsx("span",{className:"job-meta-label",children:"마감"}),e.jsx("span",{style:{color:s.deadline==="상시"?"var(--accent)":"var(--gray-700)"},children:s.deadline})]}),e.jsx("button",{className:"btn btn-primary btn-sm",children:"상세보기"})]})]},s.id))})]})})]})}const g=[{cat:"💼 근무환경",items:[{icon:"🕘",name:"유연근무제",desc:"코어타임(10시~16시) 외 자유로운 출퇴근 시간 선택"},{icon:"🏠",name:"재택근무",desc:"직무에 따라 주 1~2회 재택근무 지원"},{icon:"💻",name:"장비 지원",desc:"맥북 또는 고성능 윈도우 노트북 선택 지급"},{icon:"🎯",name:"목표 관리(OKR)",desc:"분기별 OKR로 명확한 목표·성과 관리"}]},{cat:"📚 성장 지원",items:[{icon:"📖",name:"교육비 지원",desc:"연 200만원 교육비 지원 (도서, 강의, 세미나)"},{icon:"🏆",name:"자격증 지원",desc:"정보처리기사, PMP, AWS, Oracle 자격증 취득 지원"},{icon:"🎓",name:"사내 강의",desc:"AI·클라우드·보안 월 1회 사내 기술 세미나"},{icon:"✈️",name:"컨퍼런스",desc:"AWS re:Invent, Google I/O 등 국내외 컨퍼런스 참가 지원"}]},{cat:"🎁 복지 혜택",items:[{icon:"🏥",name:"건강검진",desc:"연 1회 종합건강검진 (배우자 포함)"},{icon:"🎂",name:"경조사 지원",desc:"경조금·경조휴가 제공 (결혼, 출산, 상조)"},{icon:"🍽️",name:"식대 지원",desc:"점심 식대 월 15만원 지원 (식권 또는 카드)"},{icon:"🎉",name:"명절 선물",desc:"설·추석 명절 선물 및 상여금 지급"}]}];function N(){return e.jsxs("main",{id:"main-content",className:"inner-page",children:[e.jsx(r,{title:"복리후생"}),e.jsx("section",{className:"section",children:e.jsxs("div",{className:"container",children:[e.jsxs("div",{className:"section-header",children:[e.jsx("span",{className:"section-label",children:"Welfare"}),e.jsx("h2",{className:"section-title",children:"함께 성장하는 환경을 만듭니다"}),e.jsx("p",{className:"section-desc",children:"구성원이 최고의 역량을 발휘할 수 있도록 다양한 지원을 제공합니다"})]}),g.map((a,i)=>e.jsxs("div",{style:{marginBottom:"56px"},children:[e.jsx("h3",{className:"welfare-cat",children:a.cat}),e.jsx("div",{className:"grid-4",children:a.items.map((s,l)=>e.jsxs("div",{className:"card welfare-card",children:[e.jsx("div",{className:"welfare-icon",children:s.icon}),e.jsx("h4",{className:"welfare-name",children:s.name}),e.jsx("p",{className:"welfare-desc",children:s.desc})]},l))})]},i)),e.jsxs("div",{className:"talent-wrap",children:[e.jsxs("div",{className:"section-header",children:[e.jsx("span",{className:"section-label",children:"Talent"}),e.jsx("h2",{className:"section-title",children:"우리가 찾는 인재"})]}),e.jsx("div",{className:"grid-3",children:[{icon:"🔥",title:"도전하는 인재",desc:"새로운 기술과 문제에 두려움 없이 도전하는 분"},{icon:"🤝",title:"협력하는 인재",desc:"팀과 함께 성장하며 지식을 나누는 분"},{icon:"🎯",title:"책임지는 인재",desc:"맡은 업무에 오너십을 갖고 끝까지 완수하는 분"}].map((a,i)=>e.jsxs("div",{className:"card",style:{padding:"36px 28px",textAlign:"center"},children:[e.jsx("div",{style:{fontSize:"48px",marginBottom:"16px"},children:a.icon}),e.jsx("h4",{style:{fontSize:"18px",fontWeight:"800",marginBottom:"12px"},children:a.title}),e.jsx("p",{style:{fontSize:"14px",color:"var(--gray-600)",lineHeight:"1.7"},children:a.desc})]},i))})]})]})})]})}function b(){const[a,i]=d.useState({name:"",email:"",phone:"",position:"",exp:"",portfolio:"",message:""}),[s,l]=d.useState(null),n=c=>i(m=>({...m,[c.target.name]:c.target.value})),x=c=>{c.preventDefault(),l("success")};return e.jsxs("main",{id:"main-content",className:"inner-page",children:[e.jsx(r,{title:"지원하기"}),e.jsx("section",{className:"section",children:e.jsxs("div",{className:"container",style:{maxWidth:"720px"},children:[e.jsxs("div",{className:"section-header",children:[e.jsx("span",{className:"section-label",children:"Apply"}),e.jsx("h2",{className:"section-title",children:"입사 지원서"}),e.jsxs("p",{className:"section-desc",children:["아래 양식을 작성하시거나 ",e.jsx("strong",{children:"recruit@zioinfo.co.kr"}),"로 이력서를 보내주세요"]})]}),s==="success"?e.jsxs("div",{className:"apply-success",children:[e.jsx("div",{style:{fontSize:"64px",marginBottom:"20px"},children:"✅"}),e.jsx("h3",{children:"지원이 완료되었습니다!"}),e.jsxs("p",{children:["검토 후 영업일 기준 3~5일 내에 연락 드리겠습니다.",e.jsx("br",{}),"recruit@zioinfo.co.kr 로도 이력서를 추가 제출하시면 더욱 빠르게 처리됩니다."]}),e.jsx("button",{className:"btn btn-outline",onClick:()=>l(null),style:{marginTop:"24px"},children:"다시 지원하기"})]}):e.jsxs("form",{className:"apply-form card",onSubmit:x,style:{padding:"40px"},children:[e.jsxs("div",{className:"form-row",children:[e.jsxs("div",{className:"form-group",children:[e.jsxs("label",{children:["성명 ",e.jsx("span",{className:"required",children:"*"})]}),e.jsx("input",{name:"name",required:!0,value:a.name,onChange:n,placeholder:"홍길동"})]}),e.jsxs("div",{className:"form-group",children:[e.jsxs("label",{children:["연락처 ",e.jsx("span",{className:"required",children:"*"})]}),e.jsx("input",{name:"phone",required:!0,value:a.phone,onChange:n,placeholder:"010-0000-0000"})]})]}),e.jsxs("div",{className:"form-group",children:[e.jsxs("label",{children:["이메일 ",e.jsx("span",{className:"required",children:"*"})]}),e.jsx("input",{name:"email",type:"email",required:!0,value:a.email,onChange:n,placeholder:"your@email.com"})]}),e.jsxs("div",{className:"form-row",children:[e.jsxs("div",{className:"form-group",children:[e.jsxs("label",{children:["지원 포지션 ",e.jsx("span",{className:"required",children:"*"})]}),e.jsxs("select",{name:"position",required:!0,value:a.position,onChange:n,children:[e.jsx("option",{value:"",children:"선택하세요"}),o.map(c=>e.jsx("option",{value:c.title,children:c.title},c.id)),e.jsx("option",{value:"기타",children:"기타 (자유 지원)"})]})]}),e.jsxs("div",{className:"form-group",children:[e.jsx("label",{children:"경력 사항"}),e.jsx("input",{name:"exp",value:a.exp,onChange:n,placeholder:"예: 5년 (현대백화점 → 지오정보기술)"})]})]}),e.jsxs("div",{className:"form-group",children:[e.jsx("label",{children:"포트폴리오 / GitHub URL"}),e.jsx("input",{name:"portfolio",value:a.portfolio,onChange:n,placeholder:"https://github.com/yourname"})]}),e.jsxs("div",{className:"form-group",children:[e.jsx("label",{children:"자기소개 및 지원동기"}),e.jsx("textarea",{name:"message",rows:6,value:a.message,onChange:n,placeholder:"간단한 자기소개와 지원동기를 작성해 주세요."})]}),e.jsx("button",{type:"submit",className:"btn btn-primary btn-lg",style:{width:"100%"},children:"지원서 제출하기"})]})]})})]})}function y(){return e.jsxs(h,{children:[e.jsx(t,{path:"jobs",element:e.jsx(p,{})}),e.jsx(t,{path:"welfare",element:e.jsx(N,{})}),e.jsx(t,{path:"apply",element:e.jsx(b,{})}),e.jsx(t,{path:"*",element:e.jsx(p,{})})]})}export{y as default}; +import{j as e,b as h,a as t,r as d,N as j}from"./index-CpO7mTKO.js";/* empty css */const u=[{path:"/recruit/jobs",label:"채용공고"},{path:"/recruit/welfare",label:"복리후생"},{path:"/recruit/apply",label:"지원하기"}];function r({title:a}){return e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"page-hero",children:e.jsxs("div",{className:"container",children:[e.jsx("span",{className:"section-label",children:"Recruit"}),e.jsx("h1",{className:"page-hero-title",children:a}),e.jsx("p",{children:"지오정보기술과 함께 AI 인프라 혁신을 이끌어 갈 인재를 모십니다."})]})}),e.jsx("nav",{className:"sub-nav",children:e.jsx("div",{className:"container",children:u.map(i=>e.jsx(j,{to:i.path,className:({isActive:s})=>"sub-nav-item"+(s?" active":""),children:i.label},i.path))})})]})}const o=[{id:1,title:"AI/LLM 엔지니어",dept:"AI팀",type:"정규직",exp:"경력 3년 이상",stack:["Python","Ollama","LangChain","FastAPI"],desc:"GUARDiA ITSM의 온프레미스 AI 엔진 개발. 자연어→명령 파싱, LLM 파인튜닝, RAG 파이프라인 구축.",deadline:"2026.06.30",hot:!0},{id:2,title:"Java 백엔드 개발자 (Spring Boot)",dept:"개발팀",type:"정규직",exp:"경력 3년 이상",stack:["Java","Spring Boot","Oracle","MyBatis"],desc:"공공기관 SI/SM 프로젝트 백엔드 개발. ERP·CRM·행정정보시스템 구축 및 유지보수.",deadline:"2026.06.30",hot:!0},{id:3,title:"React 프론트엔드 개발자",dept:"개발팀",type:"정규직",exp:"경력 2년 이상",stack:["React","TypeScript","Vite","Chart.js"],desc:"GUARDiA ITSM 및 고객사 포털 프론트엔드 개발. 공공기관 웹접근성(KWCAG 2.1) 준수 필수.",deadline:"2026.06.30",hot:!1},{id:4,title:"인프라 운영 엔지니어 (DBA)",dept:"운영팀",type:"정규직",exp:"경력 3년 이상",stack:["Oracle","Tibero","Linux","Shell"],desc:"Oracle/Tibero DB 설계·튜닝·이관. 삼성전자·국민연금급 대형 DB 운영 경험 우대.",deadline:"2026.06.15",hot:!1},{id:5,title:"PM / PL (공공 SI)",dept:"PM본부",type:"정규직",exp:"경력 5년 이상",stack:["PMP","PMBOK","MS Project","Jira"],desc:"공공기관 정보화사업 PM/PL. 헌법재판소·국민연금·시립대 수준 프로젝트 관리 경험 보유자.",deadline:"2026.06.15",hot:!1},{id:6,title:"DevOps / CI·CD 엔지니어",dept:"개발팀",type:"정규직",exp:"경력 2년 이상",stack:["Docker","Kubernetes","Jenkins","GitHub Actions"],desc:"GUARDiA Vibe CD 파이프라인 구축 및 운영. 폐쇄망 환경 GitOps 경험 우대.",deadline:"상시",hot:!1}];function p(){const[a,i]=d.useState(null);if(a){const s=o.find(l=>l.id===a);return e.jsxs("main",{id:"main-content",className:"inner-page",children:[e.jsx(r,{title:"채용공고"}),e.jsx("section",{className:"section",children:e.jsxs("div",{className:"container",style:{maxWidth:"760px"},children:[e.jsx("button",{className:"notice-back",onClick:()=>i(null),children:"← 목록으로"}),e.jsxs("div",{className:"job-detail-card card",style:{padding:"40px"},children:[e.jsxs("div",{className:"job-detail-header",children:[s.hot&&e.jsx("span",{className:"badge badge-new",children:"HOT"}),e.jsx("h2",{style:{fontSize:"26px",fontWeight:"900",margin:"12px 0 8px"},children:s.title}),e.jsxs("div",{style:{display:"flex",gap:"10px",flexWrap:"wrap"},children:[e.jsx("span",{className:"badge badge-primary",children:s.dept}),e.jsx("span",{className:"badge badge-accent",children:s.type}),e.jsxs("span",{style:{fontSize:"13px",color:"var(--gray-500)"},children:["경력: ",s.exp]}),e.jsxs("span",{style:{fontSize:"13px",color:"var(--gray-500)"},children:["마감: ",s.deadline]})]})]}),e.jsx("div",{className:"divider divider-left",style:{margin:"24px 0"}}),e.jsx("h3",{style:{fontSize:"16px",fontWeight:"700",marginBottom:"12px"},children:"업무 내용"}),e.jsx("p",{style:{color:"var(--gray-700)",lineHeight:"1.8",marginBottom:"28px"},children:s.desc}),e.jsx("h3",{style:{fontSize:"16px",fontWeight:"700",marginBottom:"12px"},children:"기술 스택"}),e.jsx("div",{style:{display:"flex",gap:"8px",flexWrap:"wrap",marginBottom:"28px"},children:s.stack.map((l,n)=>e.jsx("span",{style:{padding:"6px 14px",background:"var(--secondary)",color:"var(--accent)",borderRadius:"6px",fontSize:"13px",fontWeight:"600"},children:l},n))}),e.jsx("h3",{style:{fontSize:"16px",fontWeight:"700",marginBottom:"12px"},children:"지원 방법"}),e.jsxs("p",{style:{color:"var(--gray-700)",lineHeight:"1.8"},children:["이력서 및 포트폴리오를 ",e.jsx("strong",{children:"recruit@zioinfo.co.kr"})," 로 제출하시거나, 아래 지원하기 버튼을 이용해 주십시오."]}),e.jsx("a",{href:"/recruit/apply",className:"btn btn-primary btn-lg",style:{marginTop:"24px",display:"inline-flex"},children:"지원하기 →"})]})]})})]})}return e.jsxs("main",{id:"main-content",className:"inner-page",children:[e.jsx(r,{title:"채용공고"}),e.jsx("section",{className:"section",children:e.jsxs("div",{className:"container",children:[e.jsxs("div",{className:"section-header",children:[e.jsx("span",{className:"section-label",children:"Open Positions"}),e.jsx("h2",{className:"section-title",children:"현재 채용 중인 포지션"})]}),e.jsx("div",{style:{display:"flex",flexDirection:"column",gap:"16px"},children:o.map(s=>e.jsxs("div",{className:"card job-card",onClick:()=>i(s.id),children:[e.jsxs("div",{className:"job-info",children:[e.jsxs("div",{style:{display:"flex",gap:"8px",alignItems:"center",marginBottom:"8px"},children:[s.hot&&e.jsx("span",{className:"badge badge-new",children:"HOT"}),e.jsx("span",{className:"badge badge-primary",children:s.dept}),e.jsx("span",{className:"badge badge-accent",children:s.type})]}),e.jsx("h3",{className:"job-title",children:s.title}),e.jsx("p",{className:"job-desc",children:s.desc}),e.jsx("div",{className:"job-stack",children:s.stack.map((l,n)=>e.jsx("span",{className:"job-tech",children:l},n))})]}),e.jsxs("div",{className:"job-meta",children:[e.jsxs("div",{children:[e.jsx("span",{className:"job-meta-label",children:"경력"}),e.jsx("span",{children:s.exp})]}),e.jsxs("div",{children:[e.jsx("span",{className:"job-meta-label",children:"마감"}),e.jsx("span",{style:{color:s.deadline==="상시"?"var(--accent)":"var(--gray-700)"},children:s.deadline})]}),e.jsx("button",{className:"btn btn-primary btn-sm",children:"상세보기"})]})]},s.id))})]})})]})}const g=[{cat:"💼 근무환경",items:[{icon:"🕘",name:"유연근무제",desc:"코어타임(10시~16시) 외 자유로운 출퇴근 시간 선택"},{icon:"🏠",name:"재택근무",desc:"직무에 따라 주 1~2회 재택근무 지원"},{icon:"💻",name:"장비 지원",desc:"맥북 또는 고성능 윈도우 노트북 선택 지급"},{icon:"🎯",name:"목표 관리(OKR)",desc:"분기별 OKR로 명확한 목표·성과 관리"}]},{cat:"📚 성장 지원",items:[{icon:"📖",name:"교육비 지원",desc:"연 200만원 교육비 지원 (도서, 강의, 세미나)"},{icon:"🏆",name:"자격증 지원",desc:"정보처리기사, PMP, AWS, Oracle 자격증 취득 지원"},{icon:"🎓",name:"사내 강의",desc:"AI·클라우드·보안 월 1회 사내 기술 세미나"},{icon:"✈️",name:"컨퍼런스",desc:"AWS re:Invent, Google I/O 등 국내외 컨퍼런스 참가 지원"}]},{cat:"🎁 복지 혜택",items:[{icon:"🏥",name:"건강검진",desc:"연 1회 종합건강검진 (배우자 포함)"},{icon:"🎂",name:"경조사 지원",desc:"경조금·경조휴가 제공 (결혼, 출산, 상조)"},{icon:"🍽️",name:"식대 지원",desc:"점심 식대 월 15만원 지원 (식권 또는 카드)"},{icon:"🎉",name:"명절 선물",desc:"설·추석 명절 선물 및 상여금 지급"}]}];function N(){return e.jsxs("main",{id:"main-content",className:"inner-page",children:[e.jsx(r,{title:"복리후생"}),e.jsx("section",{className:"section",children:e.jsxs("div",{className:"container",children:[e.jsxs("div",{className:"section-header",children:[e.jsx("span",{className:"section-label",children:"Welfare"}),e.jsx("h2",{className:"section-title",children:"함께 성장하는 환경을 만듭니다"}),e.jsx("p",{className:"section-desc",children:"구성원이 최고의 역량을 발휘할 수 있도록 다양한 지원을 제공합니다"})]}),g.map((a,i)=>e.jsxs("div",{style:{marginBottom:"56px"},children:[e.jsx("h3",{className:"welfare-cat",children:a.cat}),e.jsx("div",{className:"grid-4",children:a.items.map((s,l)=>e.jsxs("div",{className:"card welfare-card",children:[e.jsx("div",{className:"welfare-icon",children:s.icon}),e.jsx("h4",{className:"welfare-name",children:s.name}),e.jsx("p",{className:"welfare-desc",children:s.desc})]},l))})]},i)),e.jsxs("div",{className:"talent-wrap",children:[e.jsxs("div",{className:"section-header",children:[e.jsx("span",{className:"section-label",children:"Talent"}),e.jsx("h2",{className:"section-title",children:"우리가 찾는 인재"})]}),e.jsx("div",{className:"grid-3",children:[{icon:"🔥",title:"도전하는 인재",desc:"새로운 기술과 문제에 두려움 없이 도전하는 분"},{icon:"🤝",title:"협력하는 인재",desc:"팀과 함께 성장하며 지식을 나누는 분"},{icon:"🎯",title:"책임지는 인재",desc:"맡은 업무에 오너십을 갖고 끝까지 완수하는 분"}].map((a,i)=>e.jsxs("div",{className:"card",style:{padding:"36px 28px",textAlign:"center"},children:[e.jsx("div",{style:{fontSize:"48px",marginBottom:"16px"},children:a.icon}),e.jsx("h4",{style:{fontSize:"18px",fontWeight:"800",marginBottom:"12px"},children:a.title}),e.jsx("p",{style:{fontSize:"14px",color:"var(--gray-600)",lineHeight:"1.7"},children:a.desc})]},i))})]})]})})]})}function b(){const[a,i]=d.useState({name:"",email:"",phone:"",position:"",exp:"",portfolio:"",message:""}),[s,l]=d.useState(null),n=c=>i(m=>({...m,[c.target.name]:c.target.value})),x=c=>{c.preventDefault(),l("success")};return e.jsxs("main",{id:"main-content",className:"inner-page",children:[e.jsx(r,{title:"지원하기"}),e.jsx("section",{className:"section",children:e.jsxs("div",{className:"container",style:{maxWidth:"720px"},children:[e.jsxs("div",{className:"section-header",children:[e.jsx("span",{className:"section-label",children:"Apply"}),e.jsx("h2",{className:"section-title",children:"입사 지원서"}),e.jsxs("p",{className:"section-desc",children:["아래 양식을 작성하시거나 ",e.jsx("strong",{children:"recruit@zioinfo.co.kr"}),"로 이력서를 보내주세요"]})]}),s==="success"?e.jsxs("div",{className:"apply-success",children:[e.jsx("div",{style:{fontSize:"64px",marginBottom:"20px"},children:"✅"}),e.jsx("h3",{children:"지원이 완료되었습니다!"}),e.jsxs("p",{children:["검토 후 영업일 기준 3~5일 내에 연락 드리겠습니다.",e.jsx("br",{}),"recruit@zioinfo.co.kr 로도 이력서를 추가 제출하시면 더욱 빠르게 처리됩니다."]}),e.jsx("button",{className:"btn btn-outline",onClick:()=>l(null),style:{marginTop:"24px"},children:"다시 지원하기"})]}):e.jsxs("form",{className:"apply-form card",onSubmit:x,style:{padding:"40px"},children:[e.jsxs("div",{className:"form-row",children:[e.jsxs("div",{className:"form-group",children:[e.jsxs("label",{children:["성명 ",e.jsx("span",{className:"required",children:"*"})]}),e.jsx("input",{name:"name",required:!0,value:a.name,onChange:n,placeholder:"홍길동"})]}),e.jsxs("div",{className:"form-group",children:[e.jsxs("label",{children:["연락처 ",e.jsx("span",{className:"required",children:"*"})]}),e.jsx("input",{name:"phone",required:!0,value:a.phone,onChange:n,placeholder:"010-0000-0000"})]})]}),e.jsxs("div",{className:"form-group",children:[e.jsxs("label",{children:["이메일 ",e.jsx("span",{className:"required",children:"*"})]}),e.jsx("input",{name:"email",type:"email",required:!0,value:a.email,onChange:n,placeholder:"your@email.com"})]}),e.jsxs("div",{className:"form-row",children:[e.jsxs("div",{className:"form-group",children:[e.jsxs("label",{children:["지원 포지션 ",e.jsx("span",{className:"required",children:"*"})]}),e.jsxs("select",{name:"position",required:!0,value:a.position,onChange:n,children:[e.jsx("option",{value:"",children:"선택하세요"}),o.map(c=>e.jsx("option",{value:c.title,children:c.title},c.id)),e.jsx("option",{value:"기타",children:"기타 (자유 지원)"})]})]}),e.jsxs("div",{className:"form-group",children:[e.jsx("label",{children:"경력 사항"}),e.jsx("input",{name:"exp",value:a.exp,onChange:n,placeholder:"예: 5년 (현대백화점 → 지오정보기술)"})]})]}),e.jsxs("div",{className:"form-group",children:[e.jsx("label",{children:"포트폴리오 / GitHub URL"}),e.jsx("input",{name:"portfolio",value:a.portfolio,onChange:n,placeholder:"https://github.com/yourname"})]}),e.jsxs("div",{className:"form-group",children:[e.jsx("label",{children:"자기소개 및 지원동기"}),e.jsx("textarea",{name:"message",rows:6,value:a.message,onChange:n,placeholder:"간단한 자기소개와 지원동기를 작성해 주세요."})]}),e.jsx("button",{type:"submit",className:"btn btn-primary btn-lg",style:{width:"100%"},children:"지원서 제출하기"})]})]})})]})}function y(){return e.jsxs(h,{children:[e.jsx(t,{path:"jobs",element:e.jsx(p,{})}),e.jsx(t,{path:"welfare",element:e.jsx(N,{})}),e.jsx(t,{path:"apply",element:e.jsx(b,{})}),e.jsx(t,{path:"*",element:e.jsx(p,{})})]})}export{y as default}; diff --git a/workspace/zioinfo-web/backend/src/main/resources/static/assets/Sitemap-BvIs2MvH.js b/workspace/zioinfo-web/backend/src/main/resources/static/assets/Sitemap-CsVeWfib.js similarity index 96% rename from workspace/zioinfo-web/backend/src/main/resources/static/assets/Sitemap-BvIs2MvH.js rename to workspace/zioinfo-web/backend/src/main/resources/static/assets/Sitemap-CsVeWfib.js index 3dd52a09..c41ae29c 100644 --- a/workspace/zioinfo-web/backend/src/main/resources/static/assets/Sitemap-BvIs2MvH.js +++ b/workspace/zioinfo-web/backend/src/main/resources/static/assets/Sitemap-CsVeWfib.js @@ -1 +1 @@ -import{j as a,L as n}from"./index-B5QEzx5R.js";/* empty css */import{u as s}from"./useSeoMeta-SwLKmP5e.js";const p=[{title:"홈",icon:"🏠",links:[{label:"메인 홈페이지",path:"/"}]},{title:"회사소개",icon:"🏢",links:[{label:"CEO 인사말",path:"/company/greeting"},{label:"연혁",path:"/company/history"},{label:"조직도",path:"/company/organization"},{label:"CI 소개",path:"/company/ci"},{label:"오시는 길",path:"/company/location"}]},{title:"솔루션",icon:"🛡️",links:[{label:"GUARDiA ITSM",path:"/solution/guardia",badge:"NEW"},{label:"ERP 솔루션",path:"/solution/erp"},{label:"CRM 솔루션",path:"/solution/crm"},{label:"BI 솔루션",path:"/solution/bi"}]},{title:"사업실적",icon:"📊",links:[{label:"구축 레퍼런스",path:"/business/reference"},{label:"파트너",path:"/business/partner"}]},{title:"고객지원",icon:"💬",links:[{label:"공지사항",path:"/support/notice"},{label:"FAQ",path:"/support/faq"},{label:"카탈로그",path:"/support/catalog"},{label:"문의하기",path:"/support/contact"}]},{title:"채용",icon:"👥",links:[{label:"채용공고",path:"/recruit/jobs"},{label:"복리후생",path:"/recruit/welfare"},{label:"지원하기",path:"/recruit/apply"}]},{title:"뉴스",icon:"📰",links:[{label:"뉴스룸",path:"/news/newsroom"},{label:"기술 블로그",path:"/news/blog"}]},{title:"회원",icon:"🔑",links:[{label:"로그인 / 회원가입",path:"/login"}]},{title:"정책",icon:"📋",links:[{label:"개인정보처리방침",path:"/privacy"},{label:"이용약관",path:"/terms"},{label:"사이트맵",path:"/sitemap"}]}];function h(){return s({title:"사이트맵",description:"(주)지오정보기술 홈페이지 전체 메뉴 안내. 회사소개, 솔루션, 사업실적, 고객지원, 채용, 뉴스 등 모든 페이지를 확인하세요.",path:"/sitemap"}),a.jsx("main",{id:"main-content",className:"inner-page",children:a.jsx("section",{className:"section",children:a.jsxs("div",{className:"container",style:{maxWidth:"960px"},children:[a.jsxs("div",{className:"section-header",children:[a.jsx("span",{className:"section-label",children:"Sitemap"}),a.jsx("h1",{className:"section-title",children:"사이트맵"}),a.jsx("p",{className:"section-desc",children:"(주)지오정보기술 홈페이지 전체 메뉴 안내"})]}),a.jsx("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(220px, 1fr))",gap:"24px",marginTop:"40px"},children:p.map((l,t)=>a.jsxs("div",{style:{background:"#fff",borderRadius:"12px",padding:"24px",boxShadow:"0 2px 12px rgba(0,0,0,.06)",border:"1px solid var(--gray-200)"},children:[a.jsxs("h2",{style:{fontSize:"16px",fontWeight:"700",color:"var(--gray-900)",marginBottom:"16px",display:"flex",alignItems:"center",gap:"8px"},children:[a.jsx("span",{children:l.icon})," ",l.title]}),a.jsx("ul",{style:{listStyle:"none",display:"flex",flexDirection:"column",gap:"10px"},children:l.links.map((e,i)=>a.jsx("li",{children:a.jsxs(n,{to:e.path,style:{color:"var(--primary)",textDecoration:"none",fontSize:"14px",display:"flex",alignItems:"center",gap:"6px"},children:[a.jsx("span",{style:{color:"var(--gray-400)",fontSize:"12px"},children:"›"}),e.label,e.badge&&a.jsx("span",{style:{fontSize:"10px",padding:"1px 6px",background:"var(--accent)",color:"#fff",borderRadius:"8px",fontWeight:"700"},children:e.badge})]})},i))})]},t))})]})})})}export{h as default}; +import{j as a,L as n}from"./index-CpO7mTKO.js";/* empty css */import{u as s}from"./useSeoMeta-DR7HJfMM.js";const p=[{title:"홈",icon:"🏠",links:[{label:"메인 홈페이지",path:"/"}]},{title:"회사소개",icon:"🏢",links:[{label:"CEO 인사말",path:"/company/greeting"},{label:"연혁",path:"/company/history"},{label:"조직도",path:"/company/organization"},{label:"CI 소개",path:"/company/ci"},{label:"오시는 길",path:"/company/location"}]},{title:"솔루션",icon:"🛡️",links:[{label:"GUARDiA ITSM",path:"/solution/guardia",badge:"NEW"},{label:"ERP 솔루션",path:"/solution/erp"},{label:"CRM 솔루션",path:"/solution/crm"},{label:"BI 솔루션",path:"/solution/bi"}]},{title:"사업실적",icon:"📊",links:[{label:"구축 레퍼런스",path:"/business/reference"},{label:"파트너",path:"/business/partner"}]},{title:"고객지원",icon:"💬",links:[{label:"공지사항",path:"/support/notice"},{label:"FAQ",path:"/support/faq"},{label:"카탈로그",path:"/support/catalog"},{label:"문의하기",path:"/support/contact"}]},{title:"채용",icon:"👥",links:[{label:"채용공고",path:"/recruit/jobs"},{label:"복리후생",path:"/recruit/welfare"},{label:"지원하기",path:"/recruit/apply"}]},{title:"뉴스",icon:"📰",links:[{label:"뉴스룸",path:"/news/newsroom"},{label:"기술 블로그",path:"/news/blog"}]},{title:"회원",icon:"🔑",links:[{label:"로그인 / 회원가입",path:"/login"}]},{title:"정책",icon:"📋",links:[{label:"개인정보처리방침",path:"/privacy"},{label:"이용약관",path:"/terms"},{label:"사이트맵",path:"/sitemap"}]}];function h(){return s({title:"사이트맵",description:"(주)지오정보기술 홈페이지 전체 메뉴 안내. 회사소개, 솔루션, 사업실적, 고객지원, 채용, 뉴스 등 모든 페이지를 확인하세요.",path:"/sitemap"}),a.jsx("main",{id:"main-content",className:"inner-page",children:a.jsx("section",{className:"section",children:a.jsxs("div",{className:"container",style:{maxWidth:"960px"},children:[a.jsxs("div",{className:"section-header",children:[a.jsx("span",{className:"section-label",children:"Sitemap"}),a.jsx("h1",{className:"section-title",children:"사이트맵"}),a.jsx("p",{className:"section-desc",children:"(주)지오정보기술 홈페이지 전체 메뉴 안내"})]}),a.jsx("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(220px, 1fr))",gap:"24px",marginTop:"40px"},children:p.map((l,t)=>a.jsxs("div",{style:{background:"#fff",borderRadius:"12px",padding:"24px",boxShadow:"0 2px 12px rgba(0,0,0,.06)",border:"1px solid var(--gray-200)"},children:[a.jsxs("h2",{style:{fontSize:"16px",fontWeight:"700",color:"var(--gray-900)",marginBottom:"16px",display:"flex",alignItems:"center",gap:"8px"},children:[a.jsx("span",{children:l.icon})," ",l.title]}),a.jsx("ul",{style:{listStyle:"none",display:"flex",flexDirection:"column",gap:"10px"},children:l.links.map((e,i)=>a.jsx("li",{children:a.jsxs(n,{to:e.path,style:{color:"var(--primary)",textDecoration:"none",fontSize:"14px",display:"flex",alignItems:"center",gap:"6px"},children:[a.jsx("span",{style:{color:"var(--gray-400)",fontSize:"12px"},children:"›"}),e.label,e.badge&&a.jsx("span",{style:{fontSize:"10px",padding:"1px 6px",background:"var(--accent)",color:"#fff",borderRadius:"8px",fontWeight:"700"},children:e.badge})]})},i))})]},t))})]})})})}export{h as default}; diff --git a/workspace/zioinfo-web/backend/src/main/resources/static/assets/SolutionPage-DQ26fzss.js b/workspace/zioinfo-web/backend/src/main/resources/static/assets/SolutionPage-BwR0KReQ.js similarity index 99% rename from workspace/zioinfo-web/backend/src/main/resources/static/assets/SolutionPage-DQ26fzss.js rename to workspace/zioinfo-web/backend/src/main/resources/static/assets/SolutionPage-BwR0KReQ.js index 8f950c52..65bdf8b1 100644 --- a/workspace/zioinfo-web/backend/src/main/resources/static/assets/SolutionPage-DQ26fzss.js +++ b/workspace/zioinfo-web/backend/src/main/resources/static/assets/SolutionPage-BwR0KReQ.js @@ -1 +1 @@ -import{j as s,b as r,a as i,L as c,N as d}from"./index-B5QEzx5R.js";/* empty css */const t=[{path:"/solution/guardia",label:"GUARDiA ITSM",badge:"NEW"},{path:"/solution/erp",label:"ERP"},{path:"/solution/crm",label:"CRM"},{path:"/solution/bi",label:"BI"}];function n({title:l}){return s.jsxs(s.Fragment,{children:[s.jsx("div",{className:"page-hero",children:s.jsxs("div",{className:"container",children:[s.jsx("span",{className:"section-label",children:"Solution"}),s.jsx("h1",{className:"page-hero-title",children:l})]})}),s.jsx("nav",{className:"sub-nav",children:s.jsx("div",{className:"container",children:t.map(e=>s.jsxs(d,{to:e.path,className:({isActive:a})=>"sub-nav-item"+(a?" active":""),children:[e.label,e.badge&&s.jsx("span",{className:"badge badge-new",style:{marginLeft:"6px",fontSize:"10px"},children:e.badge})]},e.path))})})]})}function o(){const l=[{icon:"💰",name:"재무·회계",desc:"전표처리, 결산, 세무신고, 원가계산 자동화"},{icon:"🏭",name:"생산관리",desc:"BOM 관리, 생산계획, 공정관리, 품질관리"},{icon:"📦",name:"구매·재고",desc:"발주, 입출고, 재고 현황, 협력사 포털"},{icon:"👥",name:"인사·급여",desc:"근태관리, 급여계산, 조직도, 인사평가"},{icon:"🛒",name:"영업·물류",desc:"수주관리, 배송, 매출 분석, 고객 관리"},{icon:"📊",name:"경영 분석",desc:"KPI 대시보드, 예산 vs 실적, 경영 보고서"}];return s.jsxs("main",{id:"main-content",className:"inner-page",children:[s.jsx(n,{title:"ERP 솔루션"}),s.jsx("section",{className:"section",children:s.jsxs("div",{className:"container",children:[s.jsxs("div",{className:"sol-hero-grid",children:[s.jsxs("div",{children:[s.jsx("span",{className:"section-label",children:"Enterprise Resource Planning"}),s.jsxs("h2",{className:"sol-title",children:["공공·중견기업 맞춤형",s.jsx("br",{}),s.jsx("em",{children:"통합 ERP 솔루션"})]}),s.jsx("p",{className:"sol-desc",children:"20년 이상 현대모비스, 한화그룹, 이마트 등 국내 주요 기업의 핵심 업무 시스템을 구축한 경험을 바탕으로, 고객사의 업무 프로세스에 최적화된 맞춤형 ERP를 제공합니다."}),s.jsx("div",{className:"sol-features",children:["공공기관 표준 회계 기준 적용","Oracle / Tibero DB 지원","모바일 결재·보고 지원","기존 레거시 시스템 연계"].map((e,a)=>s.jsxs("div",{className:"sol-feature-item",children:[s.jsx("span",{className:"sol-check",children:"✓"})," ",e]},a))}),s.jsxs("div",{style:{display:"flex",gap:"12px",marginTop:"32px",flexWrap:"wrap"},children:[s.jsx(c,{to:"/support/contact?type=데모 신청",className:"btn btn-primary btn-lg",children:"무료 데모 신청"}),s.jsx(c,{to:"/support/catalog",className:"btn btn-outline btn-lg",children:"카탈로그 다운로드"})]})]}),s.jsx("div",{className:"sol-visual erp-visual",children:s.jsxs("div",{className:"sol-screen",children:[s.jsxs("div",{className:"sol-screen-header",children:[s.jsx("span",{}),"재무 대시보드"]}),s.jsx("div",{className:"sol-chart-bar-wrap",children:[80,65,90,72,88,55,95].map((e,a)=>s.jsx("div",{className:"sol-chart-bar",style:{height:e+"%"}},a))}),s.jsxs("div",{className:"sol-stat-row",children:[s.jsxs("div",{className:"sol-stat",children:[s.jsx("strong",{children:"₩12.4억"}),s.jsx("span",{children:"이번달 매출"})]}),s.jsxs("div",{className:"sol-stat",children:[s.jsx("strong",{children:"98.2%"}),s.jsx("span",{children:"예산 집행률"})]}),s.jsxs("div",{className:"sol-stat",children:[s.jsx("strong",{children:"+18%"}),s.jsx("span",{children:"전월 대비"})]})]})]})})]}),s.jsxs("div",{style:{marginTop:"80px"},children:[s.jsxs("div",{className:"section-header",children:[s.jsx("span",{className:"section-label",children:"Modules"}),s.jsx("h2",{className:"section-title",children:"6대 핵심 모듈"})]}),s.jsx("div",{className:"grid-3",children:l.map((e,a)=>s.jsxs("div",{className:"card sol-module-card",children:[s.jsx("div",{className:"sol-module-icon",children:e.icon}),s.jsx("h3",{children:e.name}),s.jsx("p",{children:e.desc})]},a))})]})]})})]})}function m(){const l=[{icon:"📇",name:"고객 360˚",desc:"고객 정보, 구매이력, 상담이력, 선호도를 단일 뷰로 통합"},{icon:"📞",name:"멀티채널 상담",desc:"전화·이메일·채팅·SNS 통합 인입, 상담 이력 자동 기록"},{icon:"🎯",name:"영업 파이프라인",desc:"리드 발굴부터 계약까지 전 단계 시각화 관리"},{icon:"📨",name:"마케팅 자동화",desc:"고객 세그먼트별 자동 캠페인, 이메일·SMS 발송"},{icon:"🤖",name:"AI 상담 추천",desc:"Ollama LLM 기반 최적 답변 자동 추천 및 요약"},{icon:"📈",name:"성과 분석",desc:"상담사별·채널별 KPI, 고객 만족도, 전환율 리포트"}];return s.jsxs("main",{id:"main-content",className:"inner-page",children:[s.jsx(n,{title:"CRM 솔루션"}),s.jsx("section",{className:"section",children:s.jsxs("div",{className:"container",children:[s.jsxs("div",{className:"sol-hero-grid",children:[s.jsxs("div",{children:[s.jsx("span",{className:"section-label",children:"Customer Relationship Management"}),s.jsxs("h2",{className:"sol-title",children:["AI 기반",s.jsx("br",{}),s.jsx("em",{children:"고객 관계 관리 플랫폼"})]}),s.jsx("p",{className:"sol-desc",children:"삼성전자 차세대 CRM, LG U+ VAN 고도화, 현대캐피탈 차세대 시스템 등 국내 최대 규모 CRM 프로젝트를 성공적으로 수행한 전문 역량으로 구축합니다. 온프레미스 AI(Ollama) 연동으로 데이터 외부 유출 없이 지능형 상담을 실현합니다."}),s.jsx("div",{className:"sol-features",children:["삼성전자·LG·현대 구축 레퍼런스","온프레미스 AI 상담 추천","CTI 연동 (콜센터 솔루션)","공공기관 개인정보보호법 준수"].map((e,a)=>s.jsxs("div",{className:"sol-feature-item",children:[s.jsx("span",{className:"sol-check",children:"✓"})," ",e]},a))}),s.jsxs("div",{style:{display:"flex",gap:"12px",marginTop:"32px",flexWrap:"wrap"},children:[s.jsx(c,{to:"/support/contact?type=데모 신청",className:"btn btn-primary btn-lg",children:"데모 신청"}),s.jsx(c,{to:"/support/catalog",className:"btn btn-outline btn-lg",children:"카탈로그"})]})]}),s.jsx("div",{className:"sol-visual crm-visual",children:s.jsxs("div",{className:"sol-screen",children:[s.jsxs("div",{className:"sol-screen-header",children:[s.jsx("span",{}),"고객 상담 현황"]}),s.jsx("div",{className:"crm-items",children:[{name:"김민준",type:"제품문의",status:"처리중",color:"#f59e0b"},{name:"이서연",type:"기술지원",status:"완료",color:"#10b981"},{name:"박지후",type:"불만접수",status:"대기",color:"#ef4444"},{name:"최수아",type:"데모신청",status:"완료",color:"#10b981"}].map((e,a)=>s.jsxs("div",{className:"crm-item",children:[s.jsx("div",{className:"crm-avatar",children:e.name[0]}),s.jsxs("div",{className:"crm-info",children:[s.jsx("strong",{children:e.name}),s.jsx("span",{children:e.type})]}),s.jsx("span",{className:"crm-status",style:{color:e.color},children:e.status})]},a))})]})})]}),s.jsxs("div",{style:{marginTop:"80px"},children:[s.jsxs("div",{className:"section-header",children:[s.jsx("span",{className:"section-label",children:"Features"}),s.jsx("h2",{className:"section-title",children:"주요 기능"})]}),s.jsx("div",{className:"grid-3",children:l.map((e,a)=>s.jsxs("div",{className:"card sol-module-card",children:[s.jsx("div",{className:"sol-module-icon",children:e.icon}),s.jsx("h3",{children:e.name}),s.jsx("p",{children:e.desc})]},a))})]})]})})]})}function h(){const l=[{icon:"📊",name:"경영 대시보드",desc:"실시간 KPI 모니터링, 부서별 성과 지표, 경영진 요약 보고"},{icon:"📉",name:"매출·비용 분석",desc:"기간별·제품별·채널별 매출 트렌드, 비용 구조 분석"},{icon:"🗺️",name:"지역별 분석",desc:"지도 기반 시각화, 공공기관 지역별 서비스 현황"},{icon:"🔮",name:"AI 예측 분석",desc:"머신러닝 기반 수요 예측, 이상 패턴 자동 탐지"},{icon:"📋",name:"자동 보고서",desc:"일·주·월 보고서 자동 생성, 이메일·메신저 배포"},{icon:"🔗",name:"ETL 파이프라인",desc:"Oracle, SAP, 공공DB 등 다양한 소스 데이터 연계"}];return s.jsxs("main",{id:"main-content",className:"inner-page",children:[s.jsx(n,{title:"BI 솔루션"}),s.jsx("section",{className:"section",children:s.jsxs("div",{className:"container",children:[s.jsxs("div",{className:"sol-hero-grid",children:[s.jsxs("div",{children:[s.jsx("span",{className:"section-label",children:"Business Intelligence"}),s.jsxs("h2",{className:"sol-title",children:["데이터 기반",s.jsx("br",{}),s.jsx("em",{children:"의사결정 플랫폼"})]}),s.jsx("p",{className:"sol-desc",children:"OZ Report, MiPlatform, JasperReports 등 다양한 보고 도구와의 연동 경험을 바탕으로, 공공기관·중견기업 맞춤형 BI 플랫폼을 구축합니다. 기존 레거시 DB에서 실시간 데이터를 수집해 경영 인사이트를 제공합니다."}),s.jsx("div",{className:"sol-features",children:["OZ·MiPlatform·JasperReport 연동","실시간 대시보드 (WebSocket)","Oracle·Tibero·PostgreSQL 지원","공공기관 표준 보고서 양식"].map((e,a)=>s.jsxs("div",{className:"sol-feature-item",children:[s.jsx("span",{className:"sol-check",children:"✓"})," ",e]},a))}),s.jsxs("div",{style:{display:"flex",gap:"12px",marginTop:"32px",flexWrap:"wrap"},children:[s.jsx(c,{to:"/support/contact?type=데모 신청",className:"btn btn-primary btn-lg",children:"데모 신청"}),s.jsx(c,{to:"/support/catalog",className:"btn btn-outline btn-lg",children:"카탈로그"})]})]}),s.jsx("div",{className:"sol-visual bi-visual",children:s.jsxs("div",{className:"sol-screen",children:[s.jsxs("div",{className:"sol-screen-header",children:[s.jsx("span",{}),"경영 대시보드"]}),s.jsx("div",{className:"bi-kpis",children:[{label:"매출",val:"₩48.2억",up:!0,delta:"+12%"},{label:"비용",val:"₩31.7억",up:!1,delta:"-3%"},{label:"이익",val:"₩16.5억",up:!0,delta:"+28%"},{label:"고객",val:"1,240명",up:!0,delta:"+8%"}].map((e,a)=>s.jsxs("div",{className:"bi-kpi",children:[s.jsx("span",{className:"bi-kpi-label",children:e.label}),s.jsx("strong",{className:"bi-kpi-val",children:e.val}),s.jsx("span",{className:"bi-kpi-delta",style:{color:e.up?"#10b981":"#ef4444"},children:e.delta})]},a))}),s.jsx("div",{className:"bi-bar-chart",children:["1Q","2Q","3Q","4Q"].map((e,a)=>s.jsxs("div",{className:"bi-bar-group",children:[s.jsxs("div",{className:"bi-bar-pair",children:[s.jsx("div",{className:"bi-bar revenue",style:{height:[60,75,85,100][a]+"%"}}),s.jsx("div",{className:"bi-bar cost",style:{height:[70,65,60,55][a]+"%"}})]}),s.jsx("span",{children:e})]},a))})]})})]}),s.jsxs("div",{style:{marginTop:"80px"},children:[s.jsxs("div",{className:"section-header",children:[s.jsx("span",{className:"section-label",children:"Features"}),s.jsx("h2",{className:"section-title",children:"주요 기능"})]}),s.jsx("div",{className:"grid-3",children:l.map((e,a)=>s.jsxs("div",{className:"card sol-module-card",children:[s.jsx("div",{className:"sol-module-icon",children:e.icon}),s.jsx("h3",{children:e.name}),s.jsx("p",{children:e.desc})]},a))})]})]})})]})}function p(){return s.jsxs(r,{children:[s.jsx(i,{path:"erp",element:s.jsx(o,{})}),s.jsx(i,{path:"crm",element:s.jsx(m,{})}),s.jsx(i,{path:"bi",element:s.jsx(h,{})})]})}export{p as default}; +import{j as s,b as r,a as i,L as c,N as d}from"./index-CpO7mTKO.js";/* empty css */const t=[{path:"/solution/guardia",label:"GUARDiA ITSM",badge:"NEW"},{path:"/solution/erp",label:"ERP"},{path:"/solution/crm",label:"CRM"},{path:"/solution/bi",label:"BI"}];function n({title:l}){return s.jsxs(s.Fragment,{children:[s.jsx("div",{className:"page-hero",children:s.jsxs("div",{className:"container",children:[s.jsx("span",{className:"section-label",children:"Solution"}),s.jsx("h1",{className:"page-hero-title",children:l})]})}),s.jsx("nav",{className:"sub-nav",children:s.jsx("div",{className:"container",children:t.map(e=>s.jsxs(d,{to:e.path,className:({isActive:a})=>"sub-nav-item"+(a?" active":""),children:[e.label,e.badge&&s.jsx("span",{className:"badge badge-new",style:{marginLeft:"6px",fontSize:"10px"},children:e.badge})]},e.path))})})]})}function o(){const l=[{icon:"💰",name:"재무·회계",desc:"전표처리, 결산, 세무신고, 원가계산 자동화"},{icon:"🏭",name:"생산관리",desc:"BOM 관리, 생산계획, 공정관리, 품질관리"},{icon:"📦",name:"구매·재고",desc:"발주, 입출고, 재고 현황, 협력사 포털"},{icon:"👥",name:"인사·급여",desc:"근태관리, 급여계산, 조직도, 인사평가"},{icon:"🛒",name:"영업·물류",desc:"수주관리, 배송, 매출 분석, 고객 관리"},{icon:"📊",name:"경영 분석",desc:"KPI 대시보드, 예산 vs 실적, 경영 보고서"}];return s.jsxs("main",{id:"main-content",className:"inner-page",children:[s.jsx(n,{title:"ERP 솔루션"}),s.jsx("section",{className:"section",children:s.jsxs("div",{className:"container",children:[s.jsxs("div",{className:"sol-hero-grid",children:[s.jsxs("div",{children:[s.jsx("span",{className:"section-label",children:"Enterprise Resource Planning"}),s.jsxs("h2",{className:"sol-title",children:["공공·중견기업 맞춤형",s.jsx("br",{}),s.jsx("em",{children:"통합 ERP 솔루션"})]}),s.jsx("p",{className:"sol-desc",children:"20년 이상 현대모비스, 한화그룹, 이마트 등 국내 주요 기업의 핵심 업무 시스템을 구축한 경험을 바탕으로, 고객사의 업무 프로세스에 최적화된 맞춤형 ERP를 제공합니다."}),s.jsx("div",{className:"sol-features",children:["공공기관 표준 회계 기준 적용","Oracle / Tibero DB 지원","모바일 결재·보고 지원","기존 레거시 시스템 연계"].map((e,a)=>s.jsxs("div",{className:"sol-feature-item",children:[s.jsx("span",{className:"sol-check",children:"✓"})," ",e]},a))}),s.jsxs("div",{style:{display:"flex",gap:"12px",marginTop:"32px",flexWrap:"wrap"},children:[s.jsx(c,{to:"/support/contact?type=데모 신청",className:"btn btn-primary btn-lg",children:"무료 데모 신청"}),s.jsx(c,{to:"/support/catalog",className:"btn btn-outline btn-lg",children:"카탈로그 다운로드"})]})]}),s.jsx("div",{className:"sol-visual erp-visual",children:s.jsxs("div",{className:"sol-screen",children:[s.jsxs("div",{className:"sol-screen-header",children:[s.jsx("span",{}),"재무 대시보드"]}),s.jsx("div",{className:"sol-chart-bar-wrap",children:[80,65,90,72,88,55,95].map((e,a)=>s.jsx("div",{className:"sol-chart-bar",style:{height:e+"%"}},a))}),s.jsxs("div",{className:"sol-stat-row",children:[s.jsxs("div",{className:"sol-stat",children:[s.jsx("strong",{children:"₩12.4억"}),s.jsx("span",{children:"이번달 매출"})]}),s.jsxs("div",{className:"sol-stat",children:[s.jsx("strong",{children:"98.2%"}),s.jsx("span",{children:"예산 집행률"})]}),s.jsxs("div",{className:"sol-stat",children:[s.jsx("strong",{children:"+18%"}),s.jsx("span",{children:"전월 대비"})]})]})]})})]}),s.jsxs("div",{style:{marginTop:"80px"},children:[s.jsxs("div",{className:"section-header",children:[s.jsx("span",{className:"section-label",children:"Modules"}),s.jsx("h2",{className:"section-title",children:"6대 핵심 모듈"})]}),s.jsx("div",{className:"grid-3",children:l.map((e,a)=>s.jsxs("div",{className:"card sol-module-card",children:[s.jsx("div",{className:"sol-module-icon",children:e.icon}),s.jsx("h3",{children:e.name}),s.jsx("p",{children:e.desc})]},a))})]})]})})]})}function m(){const l=[{icon:"📇",name:"고객 360˚",desc:"고객 정보, 구매이력, 상담이력, 선호도를 단일 뷰로 통합"},{icon:"📞",name:"멀티채널 상담",desc:"전화·이메일·채팅·SNS 통합 인입, 상담 이력 자동 기록"},{icon:"🎯",name:"영업 파이프라인",desc:"리드 발굴부터 계약까지 전 단계 시각화 관리"},{icon:"📨",name:"마케팅 자동화",desc:"고객 세그먼트별 자동 캠페인, 이메일·SMS 발송"},{icon:"🤖",name:"AI 상담 추천",desc:"Ollama LLM 기반 최적 답변 자동 추천 및 요약"},{icon:"📈",name:"성과 분석",desc:"상담사별·채널별 KPI, 고객 만족도, 전환율 리포트"}];return s.jsxs("main",{id:"main-content",className:"inner-page",children:[s.jsx(n,{title:"CRM 솔루션"}),s.jsx("section",{className:"section",children:s.jsxs("div",{className:"container",children:[s.jsxs("div",{className:"sol-hero-grid",children:[s.jsxs("div",{children:[s.jsx("span",{className:"section-label",children:"Customer Relationship Management"}),s.jsxs("h2",{className:"sol-title",children:["AI 기반",s.jsx("br",{}),s.jsx("em",{children:"고객 관계 관리 플랫폼"})]}),s.jsx("p",{className:"sol-desc",children:"삼성전자 차세대 CRM, LG U+ VAN 고도화, 현대캐피탈 차세대 시스템 등 국내 최대 규모 CRM 프로젝트를 성공적으로 수행한 전문 역량으로 구축합니다. 온프레미스 AI(Ollama) 연동으로 데이터 외부 유출 없이 지능형 상담을 실현합니다."}),s.jsx("div",{className:"sol-features",children:["삼성전자·LG·현대 구축 레퍼런스","온프레미스 AI 상담 추천","CTI 연동 (콜센터 솔루션)","공공기관 개인정보보호법 준수"].map((e,a)=>s.jsxs("div",{className:"sol-feature-item",children:[s.jsx("span",{className:"sol-check",children:"✓"})," ",e]},a))}),s.jsxs("div",{style:{display:"flex",gap:"12px",marginTop:"32px",flexWrap:"wrap"},children:[s.jsx(c,{to:"/support/contact?type=데모 신청",className:"btn btn-primary btn-lg",children:"데모 신청"}),s.jsx(c,{to:"/support/catalog",className:"btn btn-outline btn-lg",children:"카탈로그"})]})]}),s.jsx("div",{className:"sol-visual crm-visual",children:s.jsxs("div",{className:"sol-screen",children:[s.jsxs("div",{className:"sol-screen-header",children:[s.jsx("span",{}),"고객 상담 현황"]}),s.jsx("div",{className:"crm-items",children:[{name:"김민준",type:"제품문의",status:"처리중",color:"#f59e0b"},{name:"이서연",type:"기술지원",status:"완료",color:"#10b981"},{name:"박지후",type:"불만접수",status:"대기",color:"#ef4444"},{name:"최수아",type:"데모신청",status:"완료",color:"#10b981"}].map((e,a)=>s.jsxs("div",{className:"crm-item",children:[s.jsx("div",{className:"crm-avatar",children:e.name[0]}),s.jsxs("div",{className:"crm-info",children:[s.jsx("strong",{children:e.name}),s.jsx("span",{children:e.type})]}),s.jsx("span",{className:"crm-status",style:{color:e.color},children:e.status})]},a))})]})})]}),s.jsxs("div",{style:{marginTop:"80px"},children:[s.jsxs("div",{className:"section-header",children:[s.jsx("span",{className:"section-label",children:"Features"}),s.jsx("h2",{className:"section-title",children:"주요 기능"})]}),s.jsx("div",{className:"grid-3",children:l.map((e,a)=>s.jsxs("div",{className:"card sol-module-card",children:[s.jsx("div",{className:"sol-module-icon",children:e.icon}),s.jsx("h3",{children:e.name}),s.jsx("p",{children:e.desc})]},a))})]})]})})]})}function h(){const l=[{icon:"📊",name:"경영 대시보드",desc:"실시간 KPI 모니터링, 부서별 성과 지표, 경영진 요약 보고"},{icon:"📉",name:"매출·비용 분석",desc:"기간별·제품별·채널별 매출 트렌드, 비용 구조 분석"},{icon:"🗺️",name:"지역별 분석",desc:"지도 기반 시각화, 공공기관 지역별 서비스 현황"},{icon:"🔮",name:"AI 예측 분석",desc:"머신러닝 기반 수요 예측, 이상 패턴 자동 탐지"},{icon:"📋",name:"자동 보고서",desc:"일·주·월 보고서 자동 생성, 이메일·메신저 배포"},{icon:"🔗",name:"ETL 파이프라인",desc:"Oracle, SAP, 공공DB 등 다양한 소스 데이터 연계"}];return s.jsxs("main",{id:"main-content",className:"inner-page",children:[s.jsx(n,{title:"BI 솔루션"}),s.jsx("section",{className:"section",children:s.jsxs("div",{className:"container",children:[s.jsxs("div",{className:"sol-hero-grid",children:[s.jsxs("div",{children:[s.jsx("span",{className:"section-label",children:"Business Intelligence"}),s.jsxs("h2",{className:"sol-title",children:["데이터 기반",s.jsx("br",{}),s.jsx("em",{children:"의사결정 플랫폼"})]}),s.jsx("p",{className:"sol-desc",children:"OZ Report, MiPlatform, JasperReports 등 다양한 보고 도구와의 연동 경험을 바탕으로, 공공기관·중견기업 맞춤형 BI 플랫폼을 구축합니다. 기존 레거시 DB에서 실시간 데이터를 수집해 경영 인사이트를 제공합니다."}),s.jsx("div",{className:"sol-features",children:["OZ·MiPlatform·JasperReport 연동","실시간 대시보드 (WebSocket)","Oracle·Tibero·PostgreSQL 지원","공공기관 표준 보고서 양식"].map((e,a)=>s.jsxs("div",{className:"sol-feature-item",children:[s.jsx("span",{className:"sol-check",children:"✓"})," ",e]},a))}),s.jsxs("div",{style:{display:"flex",gap:"12px",marginTop:"32px",flexWrap:"wrap"},children:[s.jsx(c,{to:"/support/contact?type=데모 신청",className:"btn btn-primary btn-lg",children:"데모 신청"}),s.jsx(c,{to:"/support/catalog",className:"btn btn-outline btn-lg",children:"카탈로그"})]})]}),s.jsx("div",{className:"sol-visual bi-visual",children:s.jsxs("div",{className:"sol-screen",children:[s.jsxs("div",{className:"sol-screen-header",children:[s.jsx("span",{}),"경영 대시보드"]}),s.jsx("div",{className:"bi-kpis",children:[{label:"매출",val:"₩48.2억",up:!0,delta:"+12%"},{label:"비용",val:"₩31.7억",up:!1,delta:"-3%"},{label:"이익",val:"₩16.5억",up:!0,delta:"+28%"},{label:"고객",val:"1,240명",up:!0,delta:"+8%"}].map((e,a)=>s.jsxs("div",{className:"bi-kpi",children:[s.jsx("span",{className:"bi-kpi-label",children:e.label}),s.jsx("strong",{className:"bi-kpi-val",children:e.val}),s.jsx("span",{className:"bi-kpi-delta",style:{color:e.up?"#10b981":"#ef4444"},children:e.delta})]},a))}),s.jsx("div",{className:"bi-bar-chart",children:["1Q","2Q","3Q","4Q"].map((e,a)=>s.jsxs("div",{className:"bi-bar-group",children:[s.jsxs("div",{className:"bi-bar-pair",children:[s.jsx("div",{className:"bi-bar revenue",style:{height:[60,75,85,100][a]+"%"}}),s.jsx("div",{className:"bi-bar cost",style:{height:[70,65,60,55][a]+"%"}})]}),s.jsx("span",{children:e})]},a))})]})})]}),s.jsxs("div",{style:{marginTop:"80px"},children:[s.jsxs("div",{className:"section-header",children:[s.jsx("span",{className:"section-label",children:"Features"}),s.jsx("h2",{className:"section-title",children:"주요 기능"})]}),s.jsx("div",{className:"grid-3",children:l.map((e,a)=>s.jsxs("div",{className:"card sol-module-card",children:[s.jsx("div",{className:"sol-module-icon",children:e.icon}),s.jsx("h3",{children:e.name}),s.jsx("p",{children:e.desc})]},a))})]})]})})]})}function p(){return s.jsxs(r,{children:[s.jsx(i,{path:"erp",element:s.jsx(o,{})}),s.jsx(i,{path:"crm",element:s.jsx(m,{})}),s.jsx(i,{path:"bi",element:s.jsx(h,{})})]})}export{p as default}; diff --git a/workspace/zioinfo-web/backend/src/main/resources/static/assets/Support-C4GaTldG.js b/workspace/zioinfo-web/backend/src/main/resources/static/assets/Support-DgVA3uzF.js similarity index 99% rename from workspace/zioinfo-web/backend/src/main/resources/static/assets/Support-C4GaTldG.js rename to workspace/zioinfo-web/backend/src/main/resources/static/assets/Support-DgVA3uzF.js index a5029b4f..6575cf83 100644 --- a/workspace/zioinfo-web/backend/src/main/resources/static/assets/Support-C4GaTldG.js +++ b/workspace/zioinfo-web/backend/src/main/resources/static/assets/Support-DgVA3uzF.js @@ -1 +1 @@ -import{j as e,b as j,a as n,r as p,N}from"./index-B5QEzx5R.js";/* empty css */const A=[{path:"/support/notice",label:"공지사항"},{path:"/support/faq",label:"FAQ"},{path:"/support/catalog",label:"카탈로그"},{path:"/support/contact",label:"문의하기"}];function h({title:s}){return e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"page-hero",children:e.jsxs("div",{className:"container",children:[e.jsx("span",{className:"section-label",children:"Support"}),e.jsx("h1",{className:"page-hero-title",children:s})]})}),e.jsx("nav",{className:"sub-nav",children:e.jsx("div",{className:"container",children:A.map(t=>e.jsx(N,{to:t.path,className:({isActive:a})=>"sub-nav-item"+(a?" active":""),children:t.label},t.path))})})]})}const u=[{id:1,cat:"공지",title:"GUARDiA ITSM v2.0 정식 출시 안내",date:"2026.05.15",hot:!0},{id:2,cat:"공지",title:"2026년 상반기 유지보수 점검 일정 안내 (6월 1일~2일)",date:"2026.05.10",hot:!1},{id:3,cat:"보안",title:"Apache Log4j 취약점 긴급 패치 안내",date:"2026.04.28",hot:!1},{id:4,cat:"공지",title:"개인정보처리방침 개정 안내 (2026년 4월)",date:"2026.04.01",hot:!1},{id:5,cat:"이벤트",title:"2026 공공기관 디지털전환 세미나 참가 안내 (5월 20일)",date:"2026.03.25",hot:!1},{id:6,cat:"공지",title:"GUARDiA ITSM GS인증 1등급 신청 완료 안내",date:"2026.03.10",hot:!1},{id:7,cat:"공지",title:"신규 파트너사 협약 체결 — Tibero 공식 파트너 등록",date:"2026.02.20",hot:!1},{id:8,cat:"보안",title:"2026년 정보보안 교육 실시 안내 (임직원 필독)",date:"2026.01.15",hot:!1},{id:9,cat:"공지",title:"2025년 사업성과 및 2026년 사업계획 발표",date:"2026.01.02",hot:!1},{id:10,cat:"공지",title:"연말연시 고객지원팀 운영시간 안내 (12/24~1/3)",date:"2025.12.20",hot:!1}],d={공지:"var(--primary)",보안:"var(--danger)",이벤트:"var(--accent)"};function x(){const[s,t]=p.useState(null);return e.jsxs("main",{id:"main-content",className:"inner-page",children:[e.jsx(h,{title:"공지사항"}),e.jsx("section",{className:"section",children:e.jsx("div",{className:"container",style:{maxWidth:"860px"},children:s?e.jsxs("div",{className:"notice-detail",children:[e.jsx("button",{className:"notice-back",onClick:()=>t(null),children:"← 목록으로"}),e.jsxs("div",{className:"notice-detail-header",children:[e.jsx("span",{className:"notice-cat",style:{background:d[s.cat]+"18",color:d[s.cat]},children:s.cat}),e.jsx("h2",{children:s.title}),e.jsx("p",{className:"notice-date",children:s.date})]}),e.jsxs("div",{className:"notice-body",children:[e.jsx("p",{children:"안녕하세요, (주)지오정보기술입니다."}),e.jsxs("p",{children:["본 공지는 ",e.jsx("strong",{children:s.title}),"에 관한 안내입니다."]}),e.jsx("p",{children:"자세한 사항은 고객지원팀(031-483-1766)으로 문의해 주시기 바랍니다."}),e.jsx("p",{children:"감사합니다."})]})]}):e.jsxs("div",{className:"notice-list",children:[e.jsxs("div",{className:"notice-header-row",children:[e.jsx("span",{children:"구분"}),e.jsx("span",{children:"제목"}),e.jsx("span",{children:"등록일"})]}),u.map(a=>e.jsxs("div",{className:"notice-row",onClick:()=>t(a),children:[e.jsx("span",{className:"notice-cat",style:{background:d[a.cat]+"18",color:d[a.cat]},children:a.cat}),e.jsxs("span",{className:"notice-title-text",children:[a.hot&&e.jsx("span",{className:"notice-hot",children:"HOT"}),a.title]}),e.jsx("span",{className:"notice-date",children:a.date})]},a.id))]})})})]})}const v=[{cat:"GUARDiA ITSM",items:[{q:"GUARDiA ITSM은 어떤 제품인가요?",a:"GUARDiA ITSM은 메신저 한 줄 명령으로 1,000개 이상 공공기관의 레거시 IT 인프라를 자동 운영하는 AI 기반 ChatOps 플랫폼입니다. 대상 서버에 별도 소프트웨어 설치 없이 표준 SSH/SFTP 프로토콜만으로 배포·운영·모니터링을 자동화합니다."},{q:"서버에 에이전트를 설치해야 하나요?",a:"아니요. GUARDiA ITSM은 에이전트리스(Agentless) 방식으로 동작합니다. 대상 서버에 어떠한 소프트웨어도 설치할 필요가 없으며, 표준 SSH(22번 포트)만 열려 있으면 즉시 연동 가능합니다."},{q:"클라우드 없이 사용할 수 있나요?",a:"예. GUARDiA ITSM은 완전한 온프레미스(On-premise) 솔루션으로, 외부 클라우드나 인터넷 연결 없이 폐쇄망 환경에서도 100% 동작합니다. AI 엔진(Ollama)도 내부 서버에서 구동됩니다."},{q:"지원되는 운영체제는 무엇인가요?",a:"GUARDiA ITSM 서버: Ubuntu 20.04+, CentOS 7+, RHEL 8+, Windows Server 2019+를 지원합니다. 관리 대상 서버: SSH가 지원되는 모든 Linux/Unix/Windows Server 환경에서 사용 가능합니다."}]},{cat:"도입·계약",items:[{q:"도입 비용은 어떻게 되나요?",a:"기관 규모와 관리 서버 수에 따라 맞춤 견적을 제공합니다. 7일 무료 체험판을 먼저 신청하신 후 문의 주시면 상세한 견적을 안내해 드립니다."},{q:"체험판을 사용할 수 있나요?",a:'예. 7일 무료 체험판을 제공합니다. 문의하기 또는 GUARDiA 페이지의 "무료 데모 신청" 버튼을 통해 신청하시면 영업일 기준 1일 이내에 안내 드립니다.'},{q:"공공기관 나라장터 조달 구매가 가능한가요?",a:"예. GUARDiA ITSM은 조달청 나라장터 등록을 준비 중이며, 공공기관 입찰을 통한 구매를 지원합니다. 자세한 사항은 영업팀(031-483-1766)에 문의해 주십시오."}]},{cat:"기술 지원",items:[{q:"기술 지원은 어떻게 받을 수 있나요?",a:"이메일(support@zioinfo.co.kr), 전화(031-483-1766), GUARDiA ITSM 내 챗봇을 통해 기술 지원을 제공합니다. 운영 중 긴급 장애는 24시간 온콜 지원이 가능합니다."},{q:"업그레이드는 어떻게 진행되나요?",a:"정기 업데이트는 연 2~4회 제공되며, 보안 패치는 즉시 제공됩니다. 업그레이드는 GUARDiA 내 자동 배포 기능을 통해 다운타임 없이 진행할 수 있습니다."}]}];function g(){const[s,t]=p.useState({}),a=(i,c)=>t(l=>({...l,[`${i}-${c}`]:!l[`${i}-${c}`]}));return e.jsxs("main",{id:"main-content",className:"inner-page",children:[e.jsx(h,{title:"자주 묻는 질문"}),e.jsx("section",{className:"section",children:e.jsxs("div",{className:"container",style:{maxWidth:"860px"},children:[e.jsxs("div",{className:"section-header",children:[e.jsx("span",{className:"section-label",children:"FAQ"}),e.jsx("h2",{className:"section-title",children:"자주 묻는 질문"})]}),v.map((i,c)=>e.jsxs("div",{className:"faq-cat-wrap",children:[e.jsx("h3",{className:"faq-cat-title",children:i.cat}),i.items.map((l,r)=>{const m=`${c}-${r}`,o=s[m];return e.jsxs("div",{className:`faq-item ${o?"open":""}`,children:[e.jsxs("button",{className:"faq-q",onClick:()=>a(c,r),children:[e.jsx("span",{className:"faq-icon",children:o?"−":"+"}),l.q]}),o&&e.jsx("div",{className:"faq-a",children:l.a})]},r)})]},c)),e.jsxs("div",{className:"faq-more",children:[e.jsx("p",{children:"원하시는 답변을 찾지 못하셨나요?"}),e.jsx("a",{href:"/support/contact",className:"btn btn-primary",children:"1:1 문의하기"})]})]})})]})}const S=[{title:"GUARDiA ITSM v2.0 제품 카탈로그",desc:"GUARDiA ITSM 전체 기능 및 도입 가이드",pages:"24p",size:"4.2MB",date:"2026.05",icon:"⚡",color:"var(--primary)"},{title:"GUARDiA ITSM 기술 명세서",desc:"API 명세, 아키텍처, 보안 설계 문서",pages:"48p",size:"8.1MB",date:"2026.05",icon:"📐",color:"#7c3aed"},{title:"ERP 솔루션 카탈로그",desc:"공공·중견기업 맞춤형 ERP 모듈 소개",pages:"16p",size:"3.5MB",date:"2026.03",icon:"💰",color:"#059669"},{title:"CRM 솔루션 카탈로그",desc:"AI 기반 고객관리 플랫폼 소개",pages:"12p",size:"2.8MB",date:"2026.03",icon:"📞",color:"#d97706"},{title:"BI 솔루션 카탈로그",desc:"경영 분석 및 대시보드 플랫폼 소개",pages:"12p",size:"2.4MB",date:"2026.02",icon:"📊",color:"#0891b2"},{title:"지오정보기술 회사 소개서",desc:"회사 연혁, 사업 영역, 주요 레퍼런스",pages:"20p",size:"5.6MB",date:"2026.01",icon:"🏢",color:"var(--secondary)"}];function b(){return e.jsxs("main",{id:"main-content",className:"inner-page",children:[e.jsx(h,{title:"카탈로그"}),e.jsx("section",{className:"section",children:e.jsxs("div",{className:"container",children:[e.jsxs("div",{className:"section-header",children:[e.jsx("span",{className:"section-label",children:"Catalog"}),e.jsx("h2",{className:"section-title",children:"자료실"}),e.jsx("p",{className:"section-desc",children:"제품 카탈로그 및 기술 문서를 다운로드하세요"})]}),e.jsx("div",{className:"grid-3",children:S.map((s,t)=>e.jsxs("div",{className:"card catalog-card",children:[e.jsx("div",{className:"catalog-icon-wrap",style:{background:s.color+"18"},children:e.jsx("span",{className:"catalog-icon",style:{color:s.color},children:s.icon})}),e.jsxs("div",{className:"catalog-info",children:[e.jsx("h3",{className:"catalog-title",children:s.title}),e.jsx("p",{className:"catalog-desc",children:s.desc}),e.jsxs("div",{className:"catalog-meta",children:[e.jsx("span",{children:s.pages}),e.jsx("span",{children:s.size}),e.jsx("span",{children:s.date})]})]}),e.jsx("button",{className:"catalog-btn",onClick:()=>alert("문의하기 페이지에서 카탈로그를 요청해주세요."),children:"📥 다운로드"})]},t))}),e.jsxs("div",{className:"catalog-request",children:[e.jsx("h3",{children:"다른 자료가 필요하신가요?"}),e.jsx("p",{children:"NDA 자료, 기술 제안서, 가격표 등 별도 문서는 영업팀에 요청해 주십시오."}),e.jsx("a",{href:"/support/contact",className:"btn btn-outline btn-lg",children:"자료 요청하기"})]})]})})]})}function I(){return e.jsxs(j,{children:[e.jsx(n,{path:"notice",element:e.jsx(x,{})}),e.jsx(n,{path:"faq",element:e.jsx(g,{})}),e.jsx(n,{path:"catalog",element:e.jsx(b,{})}),e.jsx(n,{path:"*",element:e.jsx(x,{})})]})}export{I as default}; +import{j as e,b as j,a as n,r as p,N}from"./index-CpO7mTKO.js";/* empty css */const A=[{path:"/support/notice",label:"공지사항"},{path:"/support/faq",label:"FAQ"},{path:"/support/catalog",label:"카탈로그"},{path:"/support/contact",label:"문의하기"}];function h({title:s}){return e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"page-hero",children:e.jsxs("div",{className:"container",children:[e.jsx("span",{className:"section-label",children:"Support"}),e.jsx("h1",{className:"page-hero-title",children:s})]})}),e.jsx("nav",{className:"sub-nav",children:e.jsx("div",{className:"container",children:A.map(t=>e.jsx(N,{to:t.path,className:({isActive:a})=>"sub-nav-item"+(a?" active":""),children:t.label},t.path))})})]})}const u=[{id:1,cat:"공지",title:"GUARDiA ITSM v2.0 정식 출시 안내",date:"2026.05.15",hot:!0},{id:2,cat:"공지",title:"2026년 상반기 유지보수 점검 일정 안내 (6월 1일~2일)",date:"2026.05.10",hot:!1},{id:3,cat:"보안",title:"Apache Log4j 취약점 긴급 패치 안내",date:"2026.04.28",hot:!1},{id:4,cat:"공지",title:"개인정보처리방침 개정 안내 (2026년 4월)",date:"2026.04.01",hot:!1},{id:5,cat:"이벤트",title:"2026 공공기관 디지털전환 세미나 참가 안내 (5월 20일)",date:"2026.03.25",hot:!1},{id:6,cat:"공지",title:"GUARDiA ITSM GS인증 1등급 신청 완료 안내",date:"2026.03.10",hot:!1},{id:7,cat:"공지",title:"신규 파트너사 협약 체결 — Tibero 공식 파트너 등록",date:"2026.02.20",hot:!1},{id:8,cat:"보안",title:"2026년 정보보안 교육 실시 안내 (임직원 필독)",date:"2026.01.15",hot:!1},{id:9,cat:"공지",title:"2025년 사업성과 및 2026년 사업계획 발표",date:"2026.01.02",hot:!1},{id:10,cat:"공지",title:"연말연시 고객지원팀 운영시간 안내 (12/24~1/3)",date:"2025.12.20",hot:!1}],d={공지:"var(--primary)",보안:"var(--danger)",이벤트:"var(--accent)"};function x(){const[s,t]=p.useState(null);return e.jsxs("main",{id:"main-content",className:"inner-page",children:[e.jsx(h,{title:"공지사항"}),e.jsx("section",{className:"section",children:e.jsx("div",{className:"container",style:{maxWidth:"860px"},children:s?e.jsxs("div",{className:"notice-detail",children:[e.jsx("button",{className:"notice-back",onClick:()=>t(null),children:"← 목록으로"}),e.jsxs("div",{className:"notice-detail-header",children:[e.jsx("span",{className:"notice-cat",style:{background:d[s.cat]+"18",color:d[s.cat]},children:s.cat}),e.jsx("h2",{children:s.title}),e.jsx("p",{className:"notice-date",children:s.date})]}),e.jsxs("div",{className:"notice-body",children:[e.jsx("p",{children:"안녕하세요, (주)지오정보기술입니다."}),e.jsxs("p",{children:["본 공지는 ",e.jsx("strong",{children:s.title}),"에 관한 안내입니다."]}),e.jsx("p",{children:"자세한 사항은 고객지원팀(031-483-1766)으로 문의해 주시기 바랍니다."}),e.jsx("p",{children:"감사합니다."})]})]}):e.jsxs("div",{className:"notice-list",children:[e.jsxs("div",{className:"notice-header-row",children:[e.jsx("span",{children:"구분"}),e.jsx("span",{children:"제목"}),e.jsx("span",{children:"등록일"})]}),u.map(a=>e.jsxs("div",{className:"notice-row",onClick:()=>t(a),children:[e.jsx("span",{className:"notice-cat",style:{background:d[a.cat]+"18",color:d[a.cat]},children:a.cat}),e.jsxs("span",{className:"notice-title-text",children:[a.hot&&e.jsx("span",{className:"notice-hot",children:"HOT"}),a.title]}),e.jsx("span",{className:"notice-date",children:a.date})]},a.id))]})})})]})}const v=[{cat:"GUARDiA ITSM",items:[{q:"GUARDiA ITSM은 어떤 제품인가요?",a:"GUARDiA ITSM은 메신저 한 줄 명령으로 1,000개 이상 공공기관의 레거시 IT 인프라를 자동 운영하는 AI 기반 ChatOps 플랫폼입니다. 대상 서버에 별도 소프트웨어 설치 없이 표준 SSH/SFTP 프로토콜만으로 배포·운영·모니터링을 자동화합니다."},{q:"서버에 에이전트를 설치해야 하나요?",a:"아니요. GUARDiA ITSM은 에이전트리스(Agentless) 방식으로 동작합니다. 대상 서버에 어떠한 소프트웨어도 설치할 필요가 없으며, 표준 SSH(22번 포트)만 열려 있으면 즉시 연동 가능합니다."},{q:"클라우드 없이 사용할 수 있나요?",a:"예. GUARDiA ITSM은 완전한 온프레미스(On-premise) 솔루션으로, 외부 클라우드나 인터넷 연결 없이 폐쇄망 환경에서도 100% 동작합니다. AI 엔진(Ollama)도 내부 서버에서 구동됩니다."},{q:"지원되는 운영체제는 무엇인가요?",a:"GUARDiA ITSM 서버: Ubuntu 20.04+, CentOS 7+, RHEL 8+, Windows Server 2019+를 지원합니다. 관리 대상 서버: SSH가 지원되는 모든 Linux/Unix/Windows Server 환경에서 사용 가능합니다."}]},{cat:"도입·계약",items:[{q:"도입 비용은 어떻게 되나요?",a:"기관 규모와 관리 서버 수에 따라 맞춤 견적을 제공합니다. 7일 무료 체험판을 먼저 신청하신 후 문의 주시면 상세한 견적을 안내해 드립니다."},{q:"체험판을 사용할 수 있나요?",a:'예. 7일 무료 체험판을 제공합니다. 문의하기 또는 GUARDiA 페이지의 "무료 데모 신청" 버튼을 통해 신청하시면 영업일 기준 1일 이내에 안내 드립니다.'},{q:"공공기관 나라장터 조달 구매가 가능한가요?",a:"예. GUARDiA ITSM은 조달청 나라장터 등록을 준비 중이며, 공공기관 입찰을 통한 구매를 지원합니다. 자세한 사항은 영업팀(031-483-1766)에 문의해 주십시오."}]},{cat:"기술 지원",items:[{q:"기술 지원은 어떻게 받을 수 있나요?",a:"이메일(support@zioinfo.co.kr), 전화(031-483-1766), GUARDiA ITSM 내 챗봇을 통해 기술 지원을 제공합니다. 운영 중 긴급 장애는 24시간 온콜 지원이 가능합니다."},{q:"업그레이드는 어떻게 진행되나요?",a:"정기 업데이트는 연 2~4회 제공되며, 보안 패치는 즉시 제공됩니다. 업그레이드는 GUARDiA 내 자동 배포 기능을 통해 다운타임 없이 진행할 수 있습니다."}]}];function g(){const[s,t]=p.useState({}),a=(i,c)=>t(l=>({...l,[`${i}-${c}`]:!l[`${i}-${c}`]}));return e.jsxs("main",{id:"main-content",className:"inner-page",children:[e.jsx(h,{title:"자주 묻는 질문"}),e.jsx("section",{className:"section",children:e.jsxs("div",{className:"container",style:{maxWidth:"860px"},children:[e.jsxs("div",{className:"section-header",children:[e.jsx("span",{className:"section-label",children:"FAQ"}),e.jsx("h2",{className:"section-title",children:"자주 묻는 질문"})]}),v.map((i,c)=>e.jsxs("div",{className:"faq-cat-wrap",children:[e.jsx("h3",{className:"faq-cat-title",children:i.cat}),i.items.map((l,r)=>{const m=`${c}-${r}`,o=s[m];return e.jsxs("div",{className:`faq-item ${o?"open":""}`,children:[e.jsxs("button",{className:"faq-q",onClick:()=>a(c,r),children:[e.jsx("span",{className:"faq-icon",children:o?"−":"+"}),l.q]}),o&&e.jsx("div",{className:"faq-a",children:l.a})]},r)})]},c)),e.jsxs("div",{className:"faq-more",children:[e.jsx("p",{children:"원하시는 답변을 찾지 못하셨나요?"}),e.jsx("a",{href:"/support/contact",className:"btn btn-primary",children:"1:1 문의하기"})]})]})})]})}const S=[{title:"GUARDiA ITSM v2.0 제품 카탈로그",desc:"GUARDiA ITSM 전체 기능 및 도입 가이드",pages:"24p",size:"4.2MB",date:"2026.05",icon:"⚡",color:"var(--primary)"},{title:"GUARDiA ITSM 기술 명세서",desc:"API 명세, 아키텍처, 보안 설계 문서",pages:"48p",size:"8.1MB",date:"2026.05",icon:"📐",color:"#7c3aed"},{title:"ERP 솔루션 카탈로그",desc:"공공·중견기업 맞춤형 ERP 모듈 소개",pages:"16p",size:"3.5MB",date:"2026.03",icon:"💰",color:"#059669"},{title:"CRM 솔루션 카탈로그",desc:"AI 기반 고객관리 플랫폼 소개",pages:"12p",size:"2.8MB",date:"2026.03",icon:"📞",color:"#d97706"},{title:"BI 솔루션 카탈로그",desc:"경영 분석 및 대시보드 플랫폼 소개",pages:"12p",size:"2.4MB",date:"2026.02",icon:"📊",color:"#0891b2"},{title:"지오정보기술 회사 소개서",desc:"회사 연혁, 사업 영역, 주요 레퍼런스",pages:"20p",size:"5.6MB",date:"2026.01",icon:"🏢",color:"var(--secondary)"}];function b(){return e.jsxs("main",{id:"main-content",className:"inner-page",children:[e.jsx(h,{title:"카탈로그"}),e.jsx("section",{className:"section",children:e.jsxs("div",{className:"container",children:[e.jsxs("div",{className:"section-header",children:[e.jsx("span",{className:"section-label",children:"Catalog"}),e.jsx("h2",{className:"section-title",children:"자료실"}),e.jsx("p",{className:"section-desc",children:"제품 카탈로그 및 기술 문서를 다운로드하세요"})]}),e.jsx("div",{className:"grid-3",children:S.map((s,t)=>e.jsxs("div",{className:"card catalog-card",children:[e.jsx("div",{className:"catalog-icon-wrap",style:{background:s.color+"18"},children:e.jsx("span",{className:"catalog-icon",style:{color:s.color},children:s.icon})}),e.jsxs("div",{className:"catalog-info",children:[e.jsx("h3",{className:"catalog-title",children:s.title}),e.jsx("p",{className:"catalog-desc",children:s.desc}),e.jsxs("div",{className:"catalog-meta",children:[e.jsx("span",{children:s.pages}),e.jsx("span",{children:s.size}),e.jsx("span",{children:s.date})]})]}),e.jsx("button",{className:"catalog-btn",onClick:()=>alert("문의하기 페이지에서 카탈로그를 요청해주세요."),children:"📥 다운로드"})]},t))}),e.jsxs("div",{className:"catalog-request",children:[e.jsx("h3",{children:"다른 자료가 필요하신가요?"}),e.jsx("p",{children:"NDA 자료, 기술 제안서, 가격표 등 별도 문서는 영업팀에 요청해 주십시오."}),e.jsx("a",{href:"/support/contact",className:"btn btn-outline btn-lg",children:"자료 요청하기"})]})]})})]})}function I(){return e.jsxs(j,{children:[e.jsx(n,{path:"notice",element:e.jsx(x,{})}),e.jsx(n,{path:"faq",element:e.jsx(g,{})}),e.jsx(n,{path:"catalog",element:e.jsx(b,{})}),e.jsx(n,{path:"*",element:e.jsx(x,{})})]})}export{I as default}; diff --git a/workspace/zioinfo-web/backend/src/main/resources/static/assets/Terms-DJ4F13JV.js b/workspace/zioinfo-web/backend/src/main/resources/static/assets/Terms-Do0to3rY.js similarity index 97% rename from workspace/zioinfo-web/backend/src/main/resources/static/assets/Terms-DJ4F13JV.js rename to workspace/zioinfo-web/backend/src/main/resources/static/assets/Terms-Do0to3rY.js index 744b103e..d35af013 100644 --- a/workspace/zioinfo-web/backend/src/main/resources/static/assets/Terms-DJ4F13JV.js +++ b/workspace/zioinfo-web/backend/src/main/resources/static/assets/Terms-Do0to3rY.js @@ -1 +1 @@ -import{j as s}from"./index-B5QEzx5R.js";/* empty css */import{u as i}from"./useSeoMeta-SwLKmP5e.js";function c(){return i({title:"이용약관",description:"(주)지오정보기술 이용약관. 서비스 이용 목적, 권리의무, 면책조항 등을 안내합니다.",path:"/terms"}),s.jsx("main",{id:"main-content",className:"inner-page",children:s.jsx("section",{className:"section",children:s.jsxs("div",{className:"container",style:{maxWidth:"800px"},children:[s.jsxs("div",{className:"section-header",children:[s.jsx("span",{className:"section-label",children:"Terms of Service"}),s.jsx("h1",{className:"section-title",children:"이용약관"}),s.jsx("p",{className:"section-desc",style:{fontSize:"13px",color:"var(--gray-500)"},children:"시행일자: 2026년 01월 01일"})]}),s.jsxs("div",{className:"prose",children:[s.jsx("h2",{children:"제1조 (목적)"}),s.jsx("p",{children:'본 약관은 (주)지오정보기술(이하 "회사")이 운영하는 홈페이지 및 GUARDiA ITSM 서비스(이하 "서비스")를 이용함에 있어 회사와 이용자 간의 권리·의무 및 책임사항을 규정함을 목적으로 합니다.'}),s.jsx("h2",{children:"제2조 (정의)"}),s.jsxs("ul",{children:[s.jsx("li",{children:'"서비스"란 회사가 제공하는 홈페이지, GUARDiA ITSM, 관련 모바일 애플리케이션을 말합니다.'}),s.jsx("li",{children:'"이용자"란 본 약관에 동의하고 서비스를 이용하는 자를 말합니다.'}),s.jsx("li",{children:'"회원"이란 서비스에 가입하여 이용자 ID를 발급받은 자를 말합니다.'})]}),s.jsx("h2",{children:"제3조 (약관의 효력 및 변경)"}),s.jsxs("ul",{children:[s.jsx("li",{children:"본 약관은 서비스 화면에 게시함으로써 효력을 발생합니다."}),s.jsx("li",{children:"회사는 관련 법령에 위반되지 않는 범위 내에서 약관을 변경할 수 있습니다."}),s.jsx("li",{children:"변경 시 시행 7일 전 홈페이지를 통해 공지합니다."})]}),s.jsx("h2",{children:"제4조 (서비스 이용)"}),s.jsxs("ul",{children:[s.jsx("li",{children:"서비스는 연중 24시간 제공함을 원칙으로 합니다."}),s.jsx("li",{children:"시스템 점검, 장애, 기타 사유로 서비스가 중단될 수 있습니다."}),s.jsx("li",{children:"회사는 서비스 중단으로 인한 손해에 대해 귀책 사유가 없는 한 책임을 지지 않습니다."})]}),s.jsx("h2",{children:"제5조 (회원 의무)"}),s.jsxs("ul",{children:[s.jsx("li",{children:"이용자는 허위 정보를 등록해서는 안 됩니다."}),s.jsx("li",{children:"타인의 정보를 도용하거나 부정 이용해서는 안 됩니다."}),s.jsx("li",{children:"서비스를 이용하여 타인의 명예를 훼손하거나 불법 행위를 해서는 안 됩니다."}),s.jsx("li",{children:"회사의 지적재산권을 무단으로 복제·배포해서는 안 됩니다."})]}),s.jsx("h2",{children:"제6조 (개인정보 보호)"}),s.jsxs("p",{children:["회사는 관련 법령에 따라 이용자의 개인정보를 보호합니다. 자세한 내용은 ",s.jsx("a",{href:"/privacy",children:"개인정보처리방침"}),"을 참조하십시오."]}),s.jsx("h2",{children:"제7조 (면책조항)"}),s.jsxs("ul",{children:[s.jsx("li",{children:"회사는 천재지변, 불가항력적 사유로 인한 서비스 장애에 대해 책임을 지지 않습니다."}),s.jsx("li",{children:"이용자의 귀책 사유로 발생한 손해에 대해서는 책임을 지지 않습니다."}),s.jsx("li",{children:"서비스를 통해 연결된 외부 사이트의 내용에 대해 책임을 지지 않습니다."})]}),s.jsx("h2",{children:"제8조 (지적재산권)"}),s.jsx("p",{children:"서비스 내 콘텐츠의 저작권은 회사에 귀속됩니다. 이용자는 서비스를 이용하여 얻은 정보를 회사의 사전 동의 없이 복제·배포할 수 없습니다."}),s.jsx("h2",{children:"제9조 (분쟁 해결)"}),s.jsxs("ul",{children:[s.jsx("li",{children:"서비스 이용과 관련한 분쟁은 상호 협의로 해결합니다."}),s.jsx("li",{children:"협의가 이루어지지 않는 경우 회사 소재지 관할 법원에서 해결합니다."})]}),s.jsx("h2",{children:"제10조 (연락처)"}),s.jsx("table",{className:"policy-table",children:s.jsxs("tbody",{children:[s.jsxs("tr",{children:[s.jsx("td",{children:"회사명"}),s.jsx("td",{children:"(주)지오정보기술"})]}),s.jsxs("tr",{children:[s.jsx("td",{children:"대표이사"}),s.jsx("td",{children:"홍영택"})]}),s.jsxs("tr",{children:[s.jsx("td",{children:"주소"}),s.jsx("td",{children:"경기도 안산시 단원구 광덕4로 220 오피스브이 578호"})]}),s.jsxs("tr",{children:[s.jsx("td",{children:"전화"}),s.jsx("td",{children:"031-483-1766"})]}),s.jsxs("tr",{children:[s.jsx("td",{children:"이메일"}),s.jsx("td",{children:"info@zioinfo.co.kr"})]})]})}),s.jsx("p",{className:"policy-footer",children:"본 약관은 2026년 01월 01일부터 시행됩니다."})]})]})})})}export{c as default}; +import{j as s}from"./index-CpO7mTKO.js";/* empty css */import{u as i}from"./useSeoMeta-DR7HJfMM.js";function c(){return i({title:"이용약관",description:"(주)지오정보기술 이용약관. 서비스 이용 목적, 권리의무, 면책조항 등을 안내합니다.",path:"/terms"}),s.jsx("main",{id:"main-content",className:"inner-page",children:s.jsx("section",{className:"section",children:s.jsxs("div",{className:"container",style:{maxWidth:"800px"},children:[s.jsxs("div",{className:"section-header",children:[s.jsx("span",{className:"section-label",children:"Terms of Service"}),s.jsx("h1",{className:"section-title",children:"이용약관"}),s.jsx("p",{className:"section-desc",style:{fontSize:"13px",color:"var(--gray-500)"},children:"시행일자: 2026년 01월 01일"})]}),s.jsxs("div",{className:"prose",children:[s.jsx("h2",{children:"제1조 (목적)"}),s.jsx("p",{children:'본 약관은 (주)지오정보기술(이하 "회사")이 운영하는 홈페이지 및 GUARDiA ITSM 서비스(이하 "서비스")를 이용함에 있어 회사와 이용자 간의 권리·의무 및 책임사항을 규정함을 목적으로 합니다.'}),s.jsx("h2",{children:"제2조 (정의)"}),s.jsxs("ul",{children:[s.jsx("li",{children:'"서비스"란 회사가 제공하는 홈페이지, GUARDiA ITSM, 관련 모바일 애플리케이션을 말합니다.'}),s.jsx("li",{children:'"이용자"란 본 약관에 동의하고 서비스를 이용하는 자를 말합니다.'}),s.jsx("li",{children:'"회원"이란 서비스에 가입하여 이용자 ID를 발급받은 자를 말합니다.'})]}),s.jsx("h2",{children:"제3조 (약관의 효력 및 변경)"}),s.jsxs("ul",{children:[s.jsx("li",{children:"본 약관은 서비스 화면에 게시함으로써 효력을 발생합니다."}),s.jsx("li",{children:"회사는 관련 법령에 위반되지 않는 범위 내에서 약관을 변경할 수 있습니다."}),s.jsx("li",{children:"변경 시 시행 7일 전 홈페이지를 통해 공지합니다."})]}),s.jsx("h2",{children:"제4조 (서비스 이용)"}),s.jsxs("ul",{children:[s.jsx("li",{children:"서비스는 연중 24시간 제공함을 원칙으로 합니다."}),s.jsx("li",{children:"시스템 점검, 장애, 기타 사유로 서비스가 중단될 수 있습니다."}),s.jsx("li",{children:"회사는 서비스 중단으로 인한 손해에 대해 귀책 사유가 없는 한 책임을 지지 않습니다."})]}),s.jsx("h2",{children:"제5조 (회원 의무)"}),s.jsxs("ul",{children:[s.jsx("li",{children:"이용자는 허위 정보를 등록해서는 안 됩니다."}),s.jsx("li",{children:"타인의 정보를 도용하거나 부정 이용해서는 안 됩니다."}),s.jsx("li",{children:"서비스를 이용하여 타인의 명예를 훼손하거나 불법 행위를 해서는 안 됩니다."}),s.jsx("li",{children:"회사의 지적재산권을 무단으로 복제·배포해서는 안 됩니다."})]}),s.jsx("h2",{children:"제6조 (개인정보 보호)"}),s.jsxs("p",{children:["회사는 관련 법령에 따라 이용자의 개인정보를 보호합니다. 자세한 내용은 ",s.jsx("a",{href:"/privacy",children:"개인정보처리방침"}),"을 참조하십시오."]}),s.jsx("h2",{children:"제7조 (면책조항)"}),s.jsxs("ul",{children:[s.jsx("li",{children:"회사는 천재지변, 불가항력적 사유로 인한 서비스 장애에 대해 책임을 지지 않습니다."}),s.jsx("li",{children:"이용자의 귀책 사유로 발생한 손해에 대해서는 책임을 지지 않습니다."}),s.jsx("li",{children:"서비스를 통해 연결된 외부 사이트의 내용에 대해 책임을 지지 않습니다."})]}),s.jsx("h2",{children:"제8조 (지적재산권)"}),s.jsx("p",{children:"서비스 내 콘텐츠의 저작권은 회사에 귀속됩니다. 이용자는 서비스를 이용하여 얻은 정보를 회사의 사전 동의 없이 복제·배포할 수 없습니다."}),s.jsx("h2",{children:"제9조 (분쟁 해결)"}),s.jsxs("ul",{children:[s.jsx("li",{children:"서비스 이용과 관련한 분쟁은 상호 협의로 해결합니다."}),s.jsx("li",{children:"협의가 이루어지지 않는 경우 회사 소재지 관할 법원에서 해결합니다."})]}),s.jsx("h2",{children:"제10조 (연락처)"}),s.jsx("table",{className:"policy-table",children:s.jsxs("tbody",{children:[s.jsxs("tr",{children:[s.jsx("td",{children:"회사명"}),s.jsx("td",{children:"(주)지오정보기술"})]}),s.jsxs("tr",{children:[s.jsx("td",{children:"대표이사"}),s.jsx("td",{children:"홍영택"})]}),s.jsxs("tr",{children:[s.jsx("td",{children:"주소"}),s.jsx("td",{children:"경기도 안산시 단원구 광덕4로 220 오피스브이 578호"})]}),s.jsxs("tr",{children:[s.jsx("td",{children:"전화"}),s.jsx("td",{children:"031-483-1766"})]}),s.jsxs("tr",{children:[s.jsx("td",{children:"이메일"}),s.jsx("td",{children:"info@zioinfo.co.kr"})]})]})}),s.jsx("p",{className:"policy-footer",children:"본 약관은 2026년 01월 01일부터 시행됩니다."})]})]})})})}export{c as default}; diff --git a/workspace/zioinfo-web/backend/src/main/resources/static/assets/index-B5QEzx5R.js b/workspace/zioinfo-web/backend/src/main/resources/static/assets/index-CpO7mTKO.js similarity index 96% rename from workspace/zioinfo-web/backend/src/main/resources/static/assets/index-B5QEzx5R.js rename to workspace/zioinfo-web/backend/src/main/resources/static/assets/index-CpO7mTKO.js index 03627d4d..075b4bdb 100644 --- a/workspace/zioinfo-web/backend/src/main/resources/static/assets/index-B5QEzx5R.js +++ b/workspace/zioinfo-web/backend/src/main/resources/static/assets/index-CpO7mTKO.js @@ -1,4 +1,4 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/Home-BzCr8NFu.js","assets/index-DcNlVx-A.js","assets/useSeoMeta-SwLKmP5e.js","assets/Home-jagO1aR4.css","assets/GuardiaDetail-B3NE4mSh.js","assets/GuardiaDetail-4GvWgBIv.css","assets/SolutionPage-DQ26fzss.js","assets/SolutionPage-C7_Wcm8g.css","assets/Common-DSoJmB7o.css","assets/Company-fQQiu4ez.js","assets/Company-Bt99h2NL.css","assets/Business-B3VOTGav.js","assets/Business-EM7OeA4c.css","assets/Contact-DepJZxAo.js","assets/Contact-C2ZwoM3_.css","assets/MemberAuth-CoRJJbwA.css","assets/Support-C4GaTldG.js","assets/Support-DvGESosS.css","assets/NewsPage-BTRnpJ1c.js","assets/NewsPage-BgXQ2CUT.css","assets/Recruit-D117zTPM.js","assets/Recruit-CbW65yqF.css","assets/MemberLogin-BZQ3THLG.js","assets/Privacy-D6OAw3cq.js","assets/Terms-DJ4F13JV.js","assets/Sitemap-BvIs2MvH.js","assets/AdminLogin-DQYeKipf.js","assets/admin-BHL-7hu0.css","assets/AdminLayout-BAslvCIi.js"])))=>i.map(i=>d[i]); +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/Home-BNabLxOu.js","assets/index-DcNlVx-A.js","assets/useSeoMeta-DR7HJfMM.js","assets/Home-jagO1aR4.css","assets/GuardiaDetail-DnhjB4D0.js","assets/GuardiaDetail-4GvWgBIv.css","assets/SolutionPage-BwR0KReQ.js","assets/SolutionPage-C7_Wcm8g.css","assets/Common-DSoJmB7o.css","assets/Company-BUDOGWDc.js","assets/Company-Bt99h2NL.css","assets/Business-BS6Ud0aF.js","assets/Business-EM7OeA4c.css","assets/Contact-B7StfX4I.js","assets/Contact-C2ZwoM3_.css","assets/MemberAuth-CoRJJbwA.css","assets/Support-DgVA3uzF.js","assets/Support-DvGESosS.css","assets/NewsPage-IHyZts-t.js","assets/NewsPage-BgXQ2CUT.css","assets/Recruit-CVo_mebL.js","assets/Recruit-CbW65yqF.css","assets/MemberLogin-BX21H_Sy.js","assets/Privacy-B5Rbuoxm.js","assets/Terms-Do0to3rY.js","assets/Sitemap-CsVeWfib.js","assets/AdminLogin-B0FdhDjZ.js","assets/admin-BHL-7hu0.css","assets/AdminLayout-BrKUjclZ.js"])))=>i.map(i=>d[i]); function nf(e,t){for(var n=0;nr[l]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const l of document.querySelectorAll('link[rel="modulepreload"]'))r(l);new MutationObserver(l=>{for(const o of l)if(o.type==="childList")for(const i of o.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&r(i)}).observe(document,{childList:!0,subtree:!0});function n(l){const o={};return l.integrity&&(o.integrity=l.integrity),l.referrerPolicy&&(o.referrerPolicy=l.referrerPolicy),l.crossOrigin==="use-credentials"?o.credentials="include":l.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function r(l){if(l.ep)return;l.ep=!0;const o=n(l);fetch(l.href,o)}})();function rf(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Rs={exports:{}},vl={},zs={exports:{}},O={};/** * @license React * react.production.min.js @@ -65,4 +65,4 @@ Error generating stack: `+o.message+` * LICENSE.md file in the root directory of this source tree. * * @license MIT - */function ml(){return ml=Object.assign?Object.assign.bind():function(e){for(var t=1;t{a&&Cs?Cs(()=>s(d)):s(d)},[s,a]);return w.useLayoutEffect(()=>i.listen(m),[i,m]),w.useEffect(()=>xh(r),[r]),w.createElement(kh,{basename:t,children:n,location:u.location,navigationType:u.action,navigator:i,future:r})}const zh=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",Th=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Se=w.forwardRef(function(t,n){let{onClick:r,relative:l,reloadDocument:o,replace:i,state:u,target:s,to:a,preventScrollReset:m,viewTransition:d}=t,h=bc(t,Ch),{basename:y}=w.useContext(et),S,x=!1;if(typeof a=="string"&&Th.test(a)&&(S=a,zh))try{let p=new URL(window.location.href),g=a.startsWith("//")?new URL(p.protocol+a):new URL(a),E=hn(g.pathname,y);g.origin===p.origin&&E!=null?a=E+g.search+g.hash:x=!0}catch{}let _=lh(a,{relative:l}),f=Ih(a,{replace:i,state:u,target:s,preventScrollReset:m,relative:l,viewTransition:d});function c(p){r&&r(p),p.defaultPrevented||f(p)}return w.createElement("a",ml({},h,{href:S||_,onClick:x||o?r:c,ref:n,target:s}))}),fm=w.forwardRef(function(t,n){let{"aria-current":r="page",caseSensitive:l=!1,className:o="",end:i=!1,style:u,to:s,viewTransition:a,children:m}=t,d=bc(t,Ph),h=Il(s,{relative:d.relative}),y=_t(),S=w.useContext(Yc),{navigator:x,basename:_}=w.useContext(et),f=S!=null&&Dh(h)&&a===!0,c=x.encodeLocation?x.encodeLocation(h).pathname:h.pathname,p=y.pathname,g=S&&S.navigation&&S.navigation.location?S.navigation.location.pathname:null;l||(p=p.toLowerCase(),g=g?g.toLowerCase():null,c=c.toLowerCase()),g&&_&&(g=hn(g,_)||g);const E=c!=="/"&&c.endsWith("/")?c.length-1:c.length;let N=p===c||!i&&p.startsWith(c)&&p.charAt(E)==="/",L=g!=null&&(g===c||!i&&g.startsWith(c)&&g.charAt(c.length)==="/"),j={isActive:N,isPending:L,isTransitioning:f},V=N?r:void 0,z;typeof o=="function"?z=o(j):z=[o,N?"active":null,L?"pending":null,f?"transitioning":null].filter(Boolean).join(" ");let ge=typeof u=="function"?u(j):u;return w.createElement(Se,ml({},d,{"aria-current":V,className:z,ref:n,style:ge,to:s,viewTransition:a}),typeof m=="function"?m(j):m)});var si;(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmit="useSubmit",e.UseSubmitFetcher="useSubmitFetcher",e.UseFetcher="useFetcher",e.useViewTransitionState="useViewTransitionState"})(si||(si={}));var Ps;(function(e){e.UseFetcher="useFetcher",e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"})(Ps||(Ps={}));function Oh(e){let t=w.useContext(Tl);return t||H(!1),t}function Ih(e,t){let{target:n,replace:r,state:l,preventScrollReset:o,relative:i,viewTransition:u}=t===void 0?{}:t,s=iu(),a=_t(),m=Il(e,{relative:i});return w.useCallback(d=>{if(_h(d,n)){d.preventDefault();let h=r!==void 0?r:hl(a)===hl(m);s(e,{replace:h,state:l,preventScrollReset:o,relative:i,viewTransition:u})}},[a,s,m,r,l,n,e,o,i,u])}function Dh(e,t){t===void 0&&(t={});let n=w.useContext(Lh);n==null&&H(!1);let{basename:r}=Oh(si.useViewTransitionState),l=Il(e,{relative:t.relative});if(!n.isTransitioning)return!1;let o=hn(n.currentLocation.pathname,r)||n.currentLocation.pathname,i=hn(n.nextLocation.pathname,r)||n.nextLocation.pathname;return ii(l.pathname,i)!=null||ii(l.pathname,o)!=null}const Mh="modulepreload",Fh=function(e){return"/"+e},Ns={},Y=function(t,n,r){let l=Promise.resolve();if(n&&n.length>0){document.getElementsByTagName("link");const i=document.querySelector("meta[property=csp-nonce]"),u=(i==null?void 0:i.nonce)||(i==null?void 0:i.getAttribute("nonce"));l=Promise.allSettled(n.map(s=>{if(s=Fh(s),s in Ns)return;Ns[s]=!0;const a=s.endsWith(".css"),m=a?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${s}"]${m}`))return;const d=document.createElement("link");if(d.rel=a?"stylesheet":Mh,a||(d.as="script"),d.crossOrigin="",d.href=s,u&&d.setAttribute("nonce",u),document.head.appendChild(d),a)return new Promise((h,y)=>{d.addEventListener("load",h),d.addEventListener("error",()=>y(new Error(`Unable to preload CSS for ${s}`)))})}))}function o(i){const u=new Event("vite:preloadError",{cancelable:!0});if(u.payload=i,window.dispatchEvent(u),!u.defaultPrevented)throw i}return l.then(i=>{for(const u of i||[])u.status==="rejected"&&o(u.reason);return t().catch(o)})},Ls=[{id:"company",label:"회사소개",children:[{label:"CEO 인사말",path:"/company/greeting"},{label:"연혁",path:"/company/history"},{label:"조직도",path:"/company/organization"},{label:"CI 소개",path:"/company/ci"},{label:"오시는 길",path:"/company/location"}]},{id:"solution",label:"솔루션",children:[{label:"GUARDiA ITSM",path:"/solution/guardia",badge:"NEW"},{label:"ERP",path:"/solution/erp"},{label:"CRM",path:"/solution/crm"},{label:"BI",path:"/solution/bi"}]},{id:"business",label:"사업실적",children:[{label:"구축 레퍼런스",path:"/business/reference"},{label:"파트너",path:"/business/partner"}]},{id:"support",label:"고객지원",children:[{label:"공지사항",path:"/support/notice"},{label:"FAQ",path:"/support/faq"},{label:"카탈로그",path:"/support/catalog"},{label:"문의하기",path:"/support/contact"}]},{id:"recruit",label:"채용",children:[{label:"채용공고",path:"/recruit/jobs"},{label:"복리후생",path:"/recruit/welfare"},{label:"지원하기",path:"/recruit/apply"}]},{id:"news",label:"뉴스",children:[{label:"뉴스룸",path:"/news/newsroom"},{label:"기술 블로그",path:"/news/blog"}]}];function Uh(){const[e,t]=w.useState(!1),[n,r]=w.useState(null),[l,o]=w.useState(!1),[i,u]=w.useState(null),s=_t(),a=iu();w.useEffect(()=>{const h=()=>{const y=localStorage.getItem("member_user");u(y?JSON.parse(y):null)};return h(),window.addEventListener("storage",h),()=>window.removeEventListener("storage",h)},[s]);const m=()=>{localStorage.removeItem("member_token"),localStorage.removeItem("member_user"),u(null),a("/")};w.useEffect(()=>{const h=()=>t(window.scrollY>60);return window.addEventListener("scroll",h,{passive:!0}),()=>window.removeEventListener("scroll",h)},[]),w.useEffect(()=>{o(!1),r(null)},[s]);const d=h=>{var y;return(y=h.children)==null?void 0:y.some(S=>s.pathname.startsWith(S.path))};return v.jsxs(v.Fragment,{children:[v.jsx("a",{href:"#main-content",className:"skip-link",children:"본문 바로가기"}),v.jsxs("header",{className:`header ${e?"scrolled":""} ${l?"mobile-open":""}`,role:"banner",children:[v.jsxs("div",{className:"header-inner container",children:[v.jsxs(Se,{to:"/",className:"logo","aria-label":"(주)지오정보기술 홈으로",children:[v.jsx("img",{src:"/지오정보기술로고.png",alt:"(주)지오정보기술 로고",height:"40",onError:h=>{h.target.src="/ziologo.png",h.target.onerror=()=>{h.target.style.display="none",h.target.nextSibling.style.display="flex"}}}),v.jsxs("span",{className:"logo-text",style:{display:"none"},children:[v.jsx("strong",{children:"Zio"}),"Info"]})]}),v.jsx("nav",{className:"nav-desktop",role:"navigation","aria-label":"주요 메뉴",children:Ls.map(h=>v.jsxs("div",{className:`nav-item ${d(h)?"active":""}`,onMouseEnter:()=>r(h.id),onMouseLeave:()=>r(null),children:[v.jsx("button",{className:"nav-trigger","aria-haspopup":"true","aria-expanded":n===h.id,children:h.label}),n===h.id&&v.jsx("div",{className:"dropdown",role:"menu",children:h.children.map(y=>v.jsxs(Se,{to:y.path,className:`dropdown-item ${s.pathname===y.path?"current":""}`,role:"menuitem",children:[y.label,y.badge&&v.jsx("span",{className:"badge badge-new",children:y.badge})]},y.path))})]},h.id))}),v.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8},children:[v.jsx(Se,{to:"/support/contact",className:"btn btn-outline btn-sm",children:"문의하기"}),i?v.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8},children:[v.jsxs("span",{style:{fontSize:13,color:"var(--gray-600)",maxWidth:100,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:[i.name,"님"]}),v.jsx("button",{onClick:m,style:{padding:"6px 14px",background:"none",border:"1px solid #e2e8f0",borderRadius:8,fontSize:12,color:"#64748b",cursor:"pointer"},children:"로그아웃"})]}):v.jsx(Se,{to:"/login",className:"btn btn-primary btn-sm",children:"로그인"})]}),v.jsxs("button",{className:"hamburger","aria-label":"모바일 메뉴","aria-expanded":l,onClick:()=>o(h=>!h),children:[v.jsx("span",{}),v.jsx("span",{}),v.jsx("span",{})]})]}),l&&v.jsxs("nav",{className:"nav-mobile",role:"navigation","aria-label":"모바일 메뉴",children:[Ls.map(h=>v.jsxs("details",{className:"mobile-group",children:[v.jsx("summary",{className:"mobile-group-header",children:h.label}),v.jsx("div",{className:"mobile-children",children:h.children.map(y=>v.jsxs(Se,{to:y.path,className:"mobile-child",children:[y.label,y.badge&&v.jsx("span",{className:"badge badge-new",children:y.badge})]},y.path))})]},h.id)),v.jsxs("div",{style:{display:"flex",gap:8,margin:"16px"},children:[v.jsx(Se,{to:"/support/contact",className:"btn btn-outline",style:{flex:1},children:"문의하기"}),i?v.jsx("button",{onClick:m,className:"btn btn-primary",style:{flex:1},children:"로그아웃"}):v.jsx(Se,{to:"/login",className:"btn btn-primary",style:{flex:1},children:"로그인 / 가입"})]})]})]})]})}const Ah=[{title:"회사소개",links:[{label:"CEO 인사말",path:"/company/greeting"},{label:"연혁",path:"/company/history"},{label:"조직도",path:"/company/organization"},{label:"오시는 길",path:"/company/location"}]},{title:"솔루션",links:[{label:"GUARDiA ITSM",path:"/solution/guardia"},{label:"ERP",path:"/solution/erp"},{label:"CRM",path:"/solution/crm"},{label:"BI",path:"/solution/bi"}]},{title:"고객지원",links:[{label:"공지사항",path:"/support/notice"},{label:"FAQ",path:"/support/faq"},{label:"카탈로그",path:"/support/catalog"},{label:"문의하기",path:"/support/contact"}]},{title:"채용",links:[{label:"채용공고",path:"/recruit/jobs"},{label:"복리후생",path:"/recruit/welfare"},{label:"지원하기",path:"/recruit/apply"}]}];function $h(){return v.jsxs("footer",{className:"footer",role:"contentinfo",children:[v.jsx("div",{className:"footer-top",children:v.jsxs("div",{className:"container footer-top-inner",children:[v.jsxs("div",{className:"footer-brand",children:[v.jsxs(Se,{to:"/",className:"footer-logo",children:[v.jsx("img",{src:"/logo-white.png",alt:"(주)지오정보기술 로고",height:"36",onError:e=>{e.target.style.display="none",e.target.nextSibling.style.display="block"}}),v.jsxs("span",{className:"footer-logo-text",style:{display:"none"},children:[v.jsx("strong",{children:"Zio"}),"Info"]})]}),v.jsxs("p",{className:"footer-tagline",children:["AI 기반 레거시 인프라 자율 운영 플랫폼",v.jsx("br",{}),"GUARDiA ITSM으로 공공기관 IT를 혁신합니다."]}),v.jsxs("div",{className:"footer-contact-list",children:[v.jsxs("div",{className:"footer-contact-item",children:[v.jsx("span",{className:"contact-label",children:"대표전화"}),v.jsx("a",{href:"tel:031-483-1766",children:"031-483-1766"})]}),v.jsxs("div",{className:"footer-contact-item",children:[v.jsx("span",{className:"contact-label",children:"이메일"}),v.jsx("a",{href:"mailto:info@zioinfo.co.kr",children:"info@zioinfo.co.kr"})]}),v.jsxs("div",{className:"footer-contact-item",children:[v.jsx("span",{className:"contact-label",children:"주소"}),v.jsx("span",{children:"경기도 안산시 단원구 광덕4로 220 오피스브이 578호"})]})]})]}),Ah.map((e,t)=>v.jsxs("div",{className:"footer-menu-group",children:[v.jsx("h3",{className:"footer-menu-title",children:e.title}),v.jsx("ul",{className:"footer-menu-list",children:e.links.map((n,r)=>v.jsx("li",{children:v.jsx(Se,{to:n.path,children:n.label})},r))})]},t))]})}),v.jsx("div",{className:"footer-bottom",children:v.jsxs("div",{className:"container footer-bottom-inner",children:[v.jsxs("div",{className:"footer-legal",children:[v.jsx(Se,{to:"/privacy",children:"개인정보처리방침"}),v.jsx(Se,{to:"/terms",children:"이용약관"}),v.jsx(Se,{to:"/sitemap",children:"사이트맵"})]}),v.jsx("p",{className:"footer-copyright",children:"Copyright © 2026 (주)지오정보기술 All Rights Reserved."}),v.jsxs("div",{className:"footer-powered",children:["Powered by ",v.jsx("strong",{children:"GUARDiA ITSM"})]})]})})]})}const Vh=w.lazy(()=>Y(()=>import("./Home-BzCr8NFu.js"),__vite__mapDeps([0,1,2,3]))),Bh=w.lazy(()=>Y(()=>import("./GuardiaDetail-B3NE4mSh.js"),__vite__mapDeps([4,2,5]))),Wh=w.lazy(()=>Y(()=>import("./SolutionPage-DQ26fzss.js"),__vite__mapDeps([6,7,8]))),Hh=w.lazy(()=>Y(()=>import("./Company-fQQiu4ez.js"),__vite__mapDeps([9,2,10,8]))),Qh=w.lazy(()=>Y(()=>import("./Business-B3VOTGav.js"),__vite__mapDeps([11,12,8]))),Kh=w.lazy(()=>Y(()=>import("./Contact-DepJZxAo.js"),__vite__mapDeps([13,1,14,15]))),Yh=w.lazy(()=>Y(()=>import("./Support-C4GaTldG.js"),__vite__mapDeps([16,17,8]))),Gh=w.lazy(()=>Y(()=>import("./NewsPage-BTRnpJ1c.js"),__vite__mapDeps([18,19,8]))),Xh=w.lazy(()=>Y(()=>import("./Recruit-D117zTPM.js"),__vite__mapDeps([20,21,8]))),Zh=w.lazy(()=>Y(()=>import("./NotFound-DVyhNdAV.js"),[])),js=w.lazy(()=>Y(()=>import("./MemberLogin-BZQ3THLG.js"),__vite__mapDeps([22,8,15]))),Jh=w.lazy(()=>Y(()=>import("./Privacy-D6OAw3cq.js"),__vite__mapDeps([23,2,8]))),qh=w.lazy(()=>Y(()=>import("./Terms-DJ4F13JV.js"),__vite__mapDeps([24,2,8]))),bh=w.lazy(()=>Y(()=>import("./Sitemap-BvIs2MvH.js"),__vite__mapDeps([25,2,8]))),em=w.lazy(()=>Y(()=>import("./AdminLogin-DQYeKipf.js"),__vite__mapDeps([26,27]))),tm=w.lazy(()=>Y(()=>import("./AdminLayout-BAslvCIi.js"),__vite__mapDeps([28,27]))),nm=w.lazy(()=>Y(()=>import("./AdminDashboard-Byo55dWV.js"),[])),rm=w.lazy(()=>Y(()=>import("./AdminNews-CRnlseyW.js"),[])),lm=w.lazy(()=>Y(()=>import("./AdminInquiry-DJboQtoE.js"),[])),om=w.lazy(()=>Y(()=>import("./AdminRecruit-DFZTVDlb.js"),[])),im=w.lazy(()=>Y(()=>import("./AdminSettings-CdghymzV.js"),[])),um=w.lazy(()=>Y(()=>import("./AdminMember-B-Uhh08h.js"),[]));function ef(){return v.jsx("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",height:"60vh",color:"var(--gray-400)",fontSize:"14px"},children:"로딩 중..."})}function sm({children:e}){return v.jsxs(v.Fragment,{children:[v.jsx(Uh,{}),v.jsx(w.Suspense,{fallback:v.jsx(ef,{}),children:e}),v.jsx($h,{})]})}function am(){return _t().pathname.startsWith("/admin")?v.jsx(w.Suspense,{fallback:v.jsx(ef,{}),children:v.jsxs(_s,{children:[v.jsx(M,{path:"/admin/login",element:v.jsx(em,{})}),v.jsxs(M,{path:"/admin",element:v.jsx(tm,{}),children:[v.jsx(M,{index:!0,element:v.jsx(Es,{to:"/admin/dashboard",replace:!0})}),v.jsx(M,{path:"dashboard",element:v.jsx(nm,{})}),v.jsx(M,{path:"news",element:v.jsx(rm,{})}),v.jsx(M,{path:"inquiries",element:v.jsx(lm,{})}),v.jsx(M,{path:"recruit",element:v.jsx(om,{})}),v.jsx(M,{path:"members",element:v.jsx(um,{})}),v.jsx(M,{path:"settings",element:v.jsx(im,{})})]}),v.jsx(M,{path:"*",element:v.jsx(Es,{to:"/admin/login",replace:!0})})]})}):v.jsx(sm,{children:v.jsxs(_s,{children:[v.jsx(M,{path:"/",element:v.jsx(Vh,{})}),v.jsx(M,{path:"/solution/guardia",element:v.jsx(Bh,{})}),v.jsx(M,{path:"/solution/*",element:v.jsx(Wh,{})}),v.jsx(M,{path:"/company/*",element:v.jsx(Hh,{})}),v.jsx(M,{path:"/business/*",element:v.jsx(Qh,{})}),v.jsx(M,{path:"/support/contact",element:v.jsx(Kh,{})}),v.jsx(M,{path:"/support/*",element:v.jsx(Yh,{})}),v.jsx(M,{path:"/recruit/*",element:v.jsx(Xh,{})}),v.jsx(M,{path:"/news/*",element:v.jsx(Gh,{})}),v.jsx(M,{path:"/login",element:v.jsx(js,{})}),v.jsx(M,{path:"/register",element:v.jsx(js,{})}),v.jsx(M,{path:"/privacy",element:v.jsx(Jh,{})}),v.jsx(M,{path:"/terms",element:v.jsx(qh,{})}),v.jsx(M,{path:"/sitemap",element:v.jsx(bh,{})}),v.jsx(M,{path:"*",element:v.jsx(Zh,{})})]})})}fo.createRoot(document.getElementById("root")).render(v.jsx($s.StrictMode,{children:v.jsx(Rh,{children:v.jsx(am,{})})}));export{Se as L,fm as N,cm as O,$s as R,M as a,_s as b,iu as c,v as j,w as r,_t as u}; + */function ml(){return ml=Object.assign?Object.assign.bind():function(e){for(var t=1;t{a&&Cs?Cs(()=>s(d)):s(d)},[s,a]);return w.useLayoutEffect(()=>i.listen(m),[i,m]),w.useEffect(()=>xh(r),[r]),w.createElement(kh,{basename:t,children:n,location:u.location,navigationType:u.action,navigator:i,future:r})}const zh=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",Th=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Se=w.forwardRef(function(t,n){let{onClick:r,relative:l,reloadDocument:o,replace:i,state:u,target:s,to:a,preventScrollReset:m,viewTransition:d}=t,h=bc(t,Ch),{basename:y}=w.useContext(et),S,x=!1;if(typeof a=="string"&&Th.test(a)&&(S=a,zh))try{let p=new URL(window.location.href),g=a.startsWith("//")?new URL(p.protocol+a):new URL(a),E=hn(g.pathname,y);g.origin===p.origin&&E!=null?a=E+g.search+g.hash:x=!0}catch{}let _=lh(a,{relative:l}),f=Ih(a,{replace:i,state:u,target:s,preventScrollReset:m,relative:l,viewTransition:d});function c(p){r&&r(p),p.defaultPrevented||f(p)}return w.createElement("a",ml({},h,{href:S||_,onClick:x||o?r:c,ref:n,target:s}))}),fm=w.forwardRef(function(t,n){let{"aria-current":r="page",caseSensitive:l=!1,className:o="",end:i=!1,style:u,to:s,viewTransition:a,children:m}=t,d=bc(t,Ph),h=Il(s,{relative:d.relative}),y=_t(),S=w.useContext(Yc),{navigator:x,basename:_}=w.useContext(et),f=S!=null&&Dh(h)&&a===!0,c=x.encodeLocation?x.encodeLocation(h).pathname:h.pathname,p=y.pathname,g=S&&S.navigation&&S.navigation.location?S.navigation.location.pathname:null;l||(p=p.toLowerCase(),g=g?g.toLowerCase():null,c=c.toLowerCase()),g&&_&&(g=hn(g,_)||g);const E=c!=="/"&&c.endsWith("/")?c.length-1:c.length;let N=p===c||!i&&p.startsWith(c)&&p.charAt(E)==="/",L=g!=null&&(g===c||!i&&g.startsWith(c)&&g.charAt(c.length)==="/"),j={isActive:N,isPending:L,isTransitioning:f},V=N?r:void 0,z;typeof o=="function"?z=o(j):z=[o,N?"active":null,L?"pending":null,f?"transitioning":null].filter(Boolean).join(" ");let ge=typeof u=="function"?u(j):u;return w.createElement(Se,ml({},d,{"aria-current":V,className:z,ref:n,style:ge,to:s,viewTransition:a}),typeof m=="function"?m(j):m)});var si;(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmit="useSubmit",e.UseSubmitFetcher="useSubmitFetcher",e.UseFetcher="useFetcher",e.useViewTransitionState="useViewTransitionState"})(si||(si={}));var Ps;(function(e){e.UseFetcher="useFetcher",e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"})(Ps||(Ps={}));function Oh(e){let t=w.useContext(Tl);return t||H(!1),t}function Ih(e,t){let{target:n,replace:r,state:l,preventScrollReset:o,relative:i,viewTransition:u}=t===void 0?{}:t,s=iu(),a=_t(),m=Il(e,{relative:i});return w.useCallback(d=>{if(_h(d,n)){d.preventDefault();let h=r!==void 0?r:hl(a)===hl(m);s(e,{replace:h,state:l,preventScrollReset:o,relative:i,viewTransition:u})}},[a,s,m,r,l,n,e,o,i,u])}function Dh(e,t){t===void 0&&(t={});let n=w.useContext(Lh);n==null&&H(!1);let{basename:r}=Oh(si.useViewTransitionState),l=Il(e,{relative:t.relative});if(!n.isTransitioning)return!1;let o=hn(n.currentLocation.pathname,r)||n.currentLocation.pathname,i=hn(n.nextLocation.pathname,r)||n.nextLocation.pathname;return ii(l.pathname,i)!=null||ii(l.pathname,o)!=null}const Mh="modulepreload",Fh=function(e){return"/"+e},Ns={},Y=function(t,n,r){let l=Promise.resolve();if(n&&n.length>0){document.getElementsByTagName("link");const i=document.querySelector("meta[property=csp-nonce]"),u=(i==null?void 0:i.nonce)||(i==null?void 0:i.getAttribute("nonce"));l=Promise.allSettled(n.map(s=>{if(s=Fh(s),s in Ns)return;Ns[s]=!0;const a=s.endsWith(".css"),m=a?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${s}"]${m}`))return;const d=document.createElement("link");if(d.rel=a?"stylesheet":Mh,a||(d.as="script"),d.crossOrigin="",d.href=s,u&&d.setAttribute("nonce",u),document.head.appendChild(d),a)return new Promise((h,y)=>{d.addEventListener("load",h),d.addEventListener("error",()=>y(new Error(`Unable to preload CSS for ${s}`)))})}))}function o(i){const u=new Event("vite:preloadError",{cancelable:!0});if(u.payload=i,window.dispatchEvent(u),!u.defaultPrevented)throw i}return l.then(i=>{for(const u of i||[])u.status==="rejected"&&o(u.reason);return t().catch(o)})},Ls=[{id:"company",label:"회사소개",children:[{label:"CEO 인사말",path:"/company/greeting"},{label:"연혁",path:"/company/history"},{label:"조직도",path:"/company/organization"},{label:"CI 소개",path:"/company/ci"},{label:"오시는 길",path:"/company/location"}]},{id:"solution",label:"솔루션",children:[{label:"GUARDiA ITSM",path:"/solution/guardia",badge:"NEW"},{label:"ERP",path:"/solution/erp"},{label:"CRM",path:"/solution/crm"},{label:"BI",path:"/solution/bi"}]},{id:"business",label:"사업실적",children:[{label:"구축 레퍼런스",path:"/business/reference"},{label:"파트너",path:"/business/partner"}]},{id:"support",label:"고객지원",children:[{label:"공지사항",path:"/support/notice"},{label:"FAQ",path:"/support/faq"},{label:"카탈로그",path:"/support/catalog"},{label:"문의하기",path:"/support/contact"}]},{id:"recruit",label:"채용",children:[{label:"채용공고",path:"/recruit/jobs"},{label:"복리후생",path:"/recruit/welfare"},{label:"지원하기",path:"/recruit/apply"}]},{id:"news",label:"뉴스",children:[{label:"뉴스룸",path:"/news/newsroom"},{label:"기술 블로그",path:"/news/blog"}]}];function Uh(){const[e,t]=w.useState(!1),[n,r]=w.useState(null),[l,o]=w.useState(!1),[i,u]=w.useState(null),s=_t(),a=iu();w.useEffect(()=>{const h=()=>{const y=localStorage.getItem("member_user");u(y?JSON.parse(y):null)};return h(),window.addEventListener("storage",h),()=>window.removeEventListener("storage",h)},[s]);const m=()=>{localStorage.removeItem("member_token"),localStorage.removeItem("member_user"),u(null),a("/")};w.useEffect(()=>{const h=()=>t(window.scrollY>60);return window.addEventListener("scroll",h,{passive:!0}),()=>window.removeEventListener("scroll",h)},[]),w.useEffect(()=>{o(!1),r(null)},[s]);const d=h=>{var y;return(y=h.children)==null?void 0:y.some(S=>s.pathname.startsWith(S.path))};return v.jsxs(v.Fragment,{children:[v.jsx("a",{href:"#main-content",className:"skip-link",children:"본문 바로가기"}),v.jsxs("header",{className:`header ${e?"scrolled":""} ${l?"mobile-open":""}`,role:"banner",children:[v.jsxs("div",{className:"header-inner container",children:[v.jsxs(Se,{to:"/",className:"logo","aria-label":"(주)지오정보기술 홈으로",children:[v.jsx("img",{src:"/지오정보기술로고.png",alt:"(주)지오정보기술 로고",height:"40",onError:h=>{h.target.src="/ziologo.png",h.target.onerror=()=>{h.target.style.display="none",h.target.nextSibling.style.display="flex"}}}),v.jsxs("span",{className:"logo-text",style:{display:"none"},children:[v.jsx("strong",{children:"Zio"}),"Info"]})]}),v.jsx("nav",{className:"nav-desktop",role:"navigation","aria-label":"주요 메뉴",children:Ls.map(h=>v.jsxs("div",{className:`nav-item ${d(h)?"active":""}`,onMouseEnter:()=>r(h.id),onMouseLeave:()=>r(null),children:[v.jsx("button",{className:"nav-trigger","aria-haspopup":"true","aria-expanded":n===h.id,children:h.label}),n===h.id&&v.jsx("div",{className:"dropdown",role:"menu",children:h.children.map(y=>v.jsxs(Se,{to:y.path,className:`dropdown-item ${s.pathname===y.path?"current":""}`,role:"menuitem",children:[y.label,y.badge&&v.jsx("span",{className:"badge badge-new",children:y.badge})]},y.path))})]},h.id))}),v.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8},children:[v.jsx(Se,{to:"/support/contact",className:"btn btn-outline btn-sm",children:"문의하기"}),i?v.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8},children:[v.jsxs("span",{style:{fontSize:13,color:"var(--gray-600)",maxWidth:100,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:[i.name,"님"]}),v.jsx("button",{onClick:m,style:{padding:"6px 14px",background:"none",border:"1px solid #e2e8f0",borderRadius:8,fontSize:12,color:"#64748b",cursor:"pointer"},children:"로그아웃"})]}):v.jsx(Se,{to:"/login",className:"btn btn-primary btn-sm",children:"로그인"})]}),v.jsxs("button",{className:"hamburger","aria-label":"모바일 메뉴","aria-expanded":l,onClick:()=>o(h=>!h),children:[v.jsx("span",{}),v.jsx("span",{}),v.jsx("span",{})]})]}),l&&v.jsxs("nav",{className:"nav-mobile",role:"navigation","aria-label":"모바일 메뉴",children:[Ls.map(h=>v.jsxs("details",{className:"mobile-group",children:[v.jsx("summary",{className:"mobile-group-header",children:h.label}),v.jsx("div",{className:"mobile-children",children:h.children.map(y=>v.jsxs(Se,{to:y.path,className:"mobile-child",children:[y.label,y.badge&&v.jsx("span",{className:"badge badge-new",children:y.badge})]},y.path))})]},h.id)),v.jsxs("div",{style:{display:"flex",gap:8,margin:"16px"},children:[v.jsx(Se,{to:"/support/contact",className:"btn btn-outline",style:{flex:1},children:"문의하기"}),i?v.jsx("button",{onClick:m,className:"btn btn-primary",style:{flex:1},children:"로그아웃"}):v.jsx(Se,{to:"/login",className:"btn btn-primary",style:{flex:1},children:"로그인 / 가입"})]})]})]})]})}const Ah=[{title:"회사소개",links:[{label:"CEO 인사말",path:"/company/greeting"},{label:"연혁",path:"/company/history"},{label:"조직도",path:"/company/organization"},{label:"오시는 길",path:"/company/location"}]},{title:"솔루션",links:[{label:"GUARDiA ITSM",path:"/solution/guardia"},{label:"ERP",path:"/solution/erp"},{label:"CRM",path:"/solution/crm"},{label:"BI",path:"/solution/bi"}]},{title:"고객지원",links:[{label:"공지사항",path:"/support/notice"},{label:"FAQ",path:"/support/faq"},{label:"카탈로그",path:"/support/catalog"},{label:"문의하기",path:"/support/contact"}]},{title:"채용",links:[{label:"채용공고",path:"/recruit/jobs"},{label:"복리후생",path:"/recruit/welfare"},{label:"지원하기",path:"/recruit/apply"}]}];function $h(){return v.jsxs("footer",{className:"footer",role:"contentinfo",children:[v.jsx("div",{className:"footer-top",children:v.jsxs("div",{className:"container footer-top-inner",children:[v.jsxs("div",{className:"footer-brand",children:[v.jsxs(Se,{to:"/",className:"footer-logo",children:[v.jsx("img",{src:"/지오정보기술로고.png",alt:"(주)지오정보기술 로고",height:"36",style:{filter:"brightness(0) invert(1)"},onError:e=>{e.target.src="/ziologo.png",e.target.onerror=()=>{e.target.style.display="none",e.target.nextSibling.style.display="block"}}}),v.jsxs("span",{className:"footer-logo-text",style:{display:"none"},children:[v.jsx("strong",{children:"Zio"}),"Info"]})]}),v.jsxs("p",{className:"footer-tagline",children:["AI 기반 레거시 인프라 자율 운영 플랫폼",v.jsx("br",{}),"GUARDiA ITSM으로 공공기관 IT를 혁신합니다."]}),v.jsxs("div",{className:"footer-contact-list",children:[v.jsxs("div",{className:"footer-contact-item",children:[v.jsx("span",{className:"contact-label",children:"대표전화"}),v.jsx("a",{href:"tel:031-483-1766",children:"031-483-1766"})]}),v.jsxs("div",{className:"footer-contact-item",children:[v.jsx("span",{className:"contact-label",children:"이메일"}),v.jsx("a",{href:"mailto:info@zioinfo.co.kr",children:"info@zioinfo.co.kr"})]}),v.jsxs("div",{className:"footer-contact-item",children:[v.jsx("span",{className:"contact-label",children:"주소"}),v.jsx("span",{children:"경기도 안산시 단원구 광덕4로 220 오피스브이 578호"})]})]})]}),Ah.map((e,t)=>v.jsxs("div",{className:"footer-menu-group",children:[v.jsx("h3",{className:"footer-menu-title",children:e.title}),v.jsx("ul",{className:"footer-menu-list",children:e.links.map((n,r)=>v.jsx("li",{children:v.jsx(Se,{to:n.path,children:n.label})},r))})]},t))]})}),v.jsx("div",{className:"footer-bottom",children:v.jsxs("div",{className:"container footer-bottom-inner",children:[v.jsxs("div",{className:"footer-legal",children:[v.jsx(Se,{to:"/privacy",children:"개인정보처리방침"}),v.jsx(Se,{to:"/terms",children:"이용약관"}),v.jsx(Se,{to:"/sitemap",children:"사이트맵"})]}),v.jsx("p",{className:"footer-copyright",children:"Copyright © 2026 (주)지오정보기술 All Rights Reserved."}),v.jsxs("div",{className:"footer-powered",children:["Powered by ",v.jsx("strong",{children:"GUARDiA ITSM"})]})]})})]})}const Vh=w.lazy(()=>Y(()=>import("./Home-BNabLxOu.js"),__vite__mapDeps([0,1,2,3]))),Bh=w.lazy(()=>Y(()=>import("./GuardiaDetail-DnhjB4D0.js"),__vite__mapDeps([4,2,5]))),Wh=w.lazy(()=>Y(()=>import("./SolutionPage-BwR0KReQ.js"),__vite__mapDeps([6,7,8]))),Hh=w.lazy(()=>Y(()=>import("./Company-BUDOGWDc.js"),__vite__mapDeps([9,2,10,8]))),Qh=w.lazy(()=>Y(()=>import("./Business-BS6Ud0aF.js"),__vite__mapDeps([11,12,8]))),Kh=w.lazy(()=>Y(()=>import("./Contact-B7StfX4I.js"),__vite__mapDeps([13,1,14,15]))),Yh=w.lazy(()=>Y(()=>import("./Support-DgVA3uzF.js"),__vite__mapDeps([16,17,8]))),Gh=w.lazy(()=>Y(()=>import("./NewsPage-IHyZts-t.js"),__vite__mapDeps([18,19,8]))),Xh=w.lazy(()=>Y(()=>import("./Recruit-CVo_mebL.js"),__vite__mapDeps([20,21,8]))),Zh=w.lazy(()=>Y(()=>import("./NotFound-Ci_g8Zjy.js"),[])),js=w.lazy(()=>Y(()=>import("./MemberLogin-BX21H_Sy.js"),__vite__mapDeps([22,8,15]))),Jh=w.lazy(()=>Y(()=>import("./Privacy-B5Rbuoxm.js"),__vite__mapDeps([23,2,8]))),qh=w.lazy(()=>Y(()=>import("./Terms-Do0to3rY.js"),__vite__mapDeps([24,2,8]))),bh=w.lazy(()=>Y(()=>import("./Sitemap-CsVeWfib.js"),__vite__mapDeps([25,2,8]))),em=w.lazy(()=>Y(()=>import("./AdminLogin-B0FdhDjZ.js"),__vite__mapDeps([26,27]))),tm=w.lazy(()=>Y(()=>import("./AdminLayout-BrKUjclZ.js"),__vite__mapDeps([28,27]))),nm=w.lazy(()=>Y(()=>import("./AdminDashboard-Cm5lBA34.js"),[])),rm=w.lazy(()=>Y(()=>import("./AdminNews-DzZr7hW0.js"),[])),lm=w.lazy(()=>Y(()=>import("./AdminInquiry-DeyVOtuR.js"),[])),om=w.lazy(()=>Y(()=>import("./AdminRecruit-BiBBu1U9.js"),[])),im=w.lazy(()=>Y(()=>import("./AdminSettings-pXhyWJiS.js"),[])),um=w.lazy(()=>Y(()=>import("./AdminMember-CijTHaa9.js"),[]));function ef(){return v.jsx("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",height:"60vh",color:"var(--gray-400)",fontSize:"14px"},children:"로딩 중..."})}function sm({children:e}){return v.jsxs(v.Fragment,{children:[v.jsx(Uh,{}),v.jsx(w.Suspense,{fallback:v.jsx(ef,{}),children:e}),v.jsx($h,{})]})}function am(){return _t().pathname.startsWith("/admin")?v.jsx(w.Suspense,{fallback:v.jsx(ef,{}),children:v.jsxs(_s,{children:[v.jsx(M,{path:"/admin/login",element:v.jsx(em,{})}),v.jsxs(M,{path:"/admin",element:v.jsx(tm,{}),children:[v.jsx(M,{index:!0,element:v.jsx(Es,{to:"/admin/dashboard",replace:!0})}),v.jsx(M,{path:"dashboard",element:v.jsx(nm,{})}),v.jsx(M,{path:"news",element:v.jsx(rm,{})}),v.jsx(M,{path:"inquiries",element:v.jsx(lm,{})}),v.jsx(M,{path:"recruit",element:v.jsx(om,{})}),v.jsx(M,{path:"members",element:v.jsx(um,{})}),v.jsx(M,{path:"settings",element:v.jsx(im,{})})]}),v.jsx(M,{path:"*",element:v.jsx(Es,{to:"/admin/login",replace:!0})})]})}):v.jsx(sm,{children:v.jsxs(_s,{children:[v.jsx(M,{path:"/",element:v.jsx(Vh,{})}),v.jsx(M,{path:"/solution/guardia",element:v.jsx(Bh,{})}),v.jsx(M,{path:"/solution/*",element:v.jsx(Wh,{})}),v.jsx(M,{path:"/company/*",element:v.jsx(Hh,{})}),v.jsx(M,{path:"/business/*",element:v.jsx(Qh,{})}),v.jsx(M,{path:"/support/contact",element:v.jsx(Kh,{})}),v.jsx(M,{path:"/support/*",element:v.jsx(Yh,{})}),v.jsx(M,{path:"/recruit/*",element:v.jsx(Xh,{})}),v.jsx(M,{path:"/news/*",element:v.jsx(Gh,{})}),v.jsx(M,{path:"/login",element:v.jsx(js,{})}),v.jsx(M,{path:"/register",element:v.jsx(js,{})}),v.jsx(M,{path:"/privacy",element:v.jsx(Jh,{})}),v.jsx(M,{path:"/terms",element:v.jsx(qh,{})}),v.jsx(M,{path:"/sitemap",element:v.jsx(bh,{})}),v.jsx(M,{path:"*",element:v.jsx(Zh,{})})]})})}fo.createRoot(document.getElementById("root")).render(v.jsx($s.StrictMode,{children:v.jsx(Rh,{children:v.jsx(am,{})})}));export{Se as L,fm as N,cm as O,$s as R,M as a,_s as b,iu as c,v as j,w as r,_t as u}; diff --git a/workspace/zioinfo-web/backend/src/main/resources/static/assets/useSeoMeta-SwLKmP5e.js b/workspace/zioinfo-web/backend/src/main/resources/static/assets/useSeoMeta-DR7HJfMM.js similarity index 94% rename from workspace/zioinfo-web/backend/src/main/resources/static/assets/useSeoMeta-SwLKmP5e.js rename to workspace/zioinfo-web/backend/src/main/resources/static/assets/useSeoMeta-DR7HJfMM.js index 1e5c2d91..5d9a358c 100644 --- a/workspace/zioinfo-web/backend/src/main/resources/static/assets/useSeoMeta-SwLKmP5e.js +++ b/workspace/zioinfo-web/backend/src/main/resources/static/assets/useSeoMeta-DR7HJfMM.js @@ -1 +1 @@ -import{r as $}from"./index-B5QEzx5R.js";const u="https://zioinfo.co.kr",d="(주)지오정보기술";function S({title:a,description:o,path:m="",image:c="/logo.png",keywords:r=""}){$.useEffect(()=>{const l=a?`${a} | ${d}`:d,i=`${u}${m}`,p=c.startsWith("http")?c:`${u}${c}`;document.title=l;const t=(s,f,g)=>{let n=document.querySelector(s);if(!n){n=document.createElement("meta");const[h,E]=s.replace("meta[","").replace("]","").split("=");n.setAttribute(h,E.replace(/"/g,"")),document.head.appendChild(n)}n.setAttribute(f,g)};let e=document.querySelector('link[rel="canonical"]');e||(e=document.createElement("link"),e.rel="canonical",document.head.appendChild(e)),e.href=i,t('meta[name="description"]',"content",o),r&&t('meta[name="keywords"]',"content",r),t('meta[property="og:title"]',"content",l),t('meta[property="og:description"]',"content",o),t('meta[property="og:url"]',"content",i),t('meta[property="og:image"]',"content",p),t('meta[name="twitter:title"]',"content",l),t('meta[name="twitter:description"]',"content",o),t('meta[name="twitter:image"]',"content",p)},[a,o,m,c,r])}export{S as u}; +import{r as $}from"./index-CpO7mTKO.js";const u="https://zioinfo.co.kr",d="(주)지오정보기술";function S({title:a,description:o,path:m="",image:c="/logo.png",keywords:r=""}){$.useEffect(()=>{const l=a?`${a} | ${d}`:d,i=`${u}${m}`,p=c.startsWith("http")?c:`${u}${c}`;document.title=l;const t=(s,f,g)=>{let n=document.querySelector(s);if(!n){n=document.createElement("meta");const[h,E]=s.replace("meta[","").replace("]","").split("=");n.setAttribute(h,E.replace(/"/g,"")),document.head.appendChild(n)}n.setAttribute(f,g)};let e=document.querySelector('link[rel="canonical"]');e||(e=document.createElement("link"),e.rel="canonical",document.head.appendChild(e)),e.href=i,t('meta[name="description"]',"content",o),r&&t('meta[name="keywords"]',"content",r),t('meta[property="og:title"]',"content",l),t('meta[property="og:description"]',"content",o),t('meta[property="og:url"]',"content",i),t('meta[property="og:image"]',"content",p),t('meta[name="twitter:title"]',"content",l),t('meta[name="twitter:description"]',"content",o),t('meta[name="twitter:image"]',"content",p)},[a,o,m,c,r])}export{S as u}; diff --git a/workspace/zioinfo-web/backend/src/main/resources/static/index.html b/workspace/zioinfo-web/backend/src/main/resources/static/index.html index 25af8702..7958209c 100644 --- a/workspace/zioinfo-web/backend/src/main/resources/static/index.html +++ b/workspace/zioinfo-web/backend/src/main/resources/static/index.html @@ -1,96 +1,96 @@ - - - - - - - - (주)지오정보기술 — AI 기반 인프라 자율 운영 플랫폼 GUARDiA ITSM - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + (주)지오정보기술 — AI 기반 인프라 자율 운영 플랫폼 GUARDiA ITSM + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - -
- - + + +
+ + diff --git a/workspace/zioinfo-web/frontend/src/components/layout/Footer.jsx b/workspace/zioinfo-web/frontend/src/components/layout/Footer.jsx index d3cee14a..febcb0e7 100644 --- a/workspace/zioinfo-web/frontend/src/components/layout/Footer.jsx +++ b/workspace/zioinfo-web/frontend/src/components/layout/Footer.jsx @@ -48,8 +48,9 @@ export default function Footer() { {/* 회사 정보 */}
- (주)지오정보기술 로고 { e.target.style.display='none'; e.target.nextSibling.style.display='block'; }} /> + (주)지오정보기술 로고 { e.target.src='/ziologo.png'; e.target.onerror = () => { e.target.style.display='none'; e.target.nextSibling.style.display='block'; }; }} /> ZioInfo diff --git a/workspace/zioinfo-web/frontend/src/pages/Contact.jsx b/workspace/zioinfo-web/frontend/src/pages/Contact.jsx index 96c1d6fe..12d81568 100644 --- a/workspace/zioinfo-web/frontend/src/pages/Contact.jsx +++ b/workspace/zioinfo-web/frontend/src/pages/Contact.jsx @@ -49,10 +49,10 @@ export default function Contact() {

연락처 정보

{[ - { icon: '📞', label: '대표전화', value: '02-000-0000' }, + { icon: '📞', label: '대표전화', value: '031-483-1766' }, { icon: '✉️', label: '이메일', value: 'info@zioinfo.co.kr' }, { icon: '🕐', label: '운영시간', value: '평일 09:00 ~ 18:00' }, - { icon: '📍', label: '주소', value: '서울특별시' }, + { icon: '📍', label: '주소', value: '경기도 안산시 단원구 광덕4로 220 오피스브이 578호' }, ].map((c,i) => (
{c.icon}