1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8122],{80965:function(e,t,o){(window.__NEXT_P=window.__NEXT_P||[]).push(["/projects/my",function(){return o(621)}])},40162:function(e,t,o){"use strict";var r=o(64836);t.Z=void 0;var n=r(o(33651)),c=o(85893);t.Z=(0,n.default)([(0,c.jsx)("path",{d:"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2M12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8"},"0"),(0,c.jsx)("path",{d:"M12.5 7H11v6l5.25 3.15.75-1.23-4.5-2.67z"},"1")],"AccessTime")},82591:function(e,t,o){"use strict";var r=o(64836);t.Z=void 0;var n=r(o(33651)),c=o(85893);t.Z=(0,n.default)((0,c.jsx)("path",{d:"M13 7h-2v4H7v2h4v4h2v-4h4v-2h-4zm-1-5C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8"}),"AddCircleOutline")},92088:function(e,t,o){"use strict";var r=o(64836);t.Z=void 0;var n=r(o(33651)),c=o(85893);t.Z=(0,n.default)((0,c.jsx)("path",{d:"M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7m0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5"}),"LocationOn")},98443:function(e,t,o){"use strict";var r=o(64836);t.Z=void 0;var n=r(o(33651)),c=o(85893);t.Z=(0,n.default)((0,c.jsx)("path",{d:"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5M12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5m0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3"}),"Visibility")},4952:function(e,t,o){"use strict";o.d(t,{Z:function(){return p}});var r=o(63366),n=o(87462),c=o(67294),a=o(90512),l=o(94780),s=o(77527),i=o(44001),d=o(1588),x=o(34867);function g(e){return(0,x.ZP)("MuiCardActions",e)}(0,d.Z)("MuiCardActions",["root","spacing"]);var u=o(85893);let h=["disableSpacing","className"],f=e=>{let{classes:t,disableSpacing:o}=e;return(0,l.Z)({root:["root",!o&&"spacing"]},g,t)},m=(0,s.ZP)("div",{name:"MuiCardActions",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:o}=e;return[t.root,!o.disableSpacing&&t.spacing]}})(e=>{let{ownerState:t}=e;return(0,n.Z)({display:"flex",alignItems:"center",padding:8},!t.disableSpacing&&{"& > :not(style) ~ :not(style)":{marginLeft:8}})});var p=c.forwardRef(function(e,t){let o=(0,i.i)({props:e,name:"MuiCardActions"}),{disableSpacing:c=!1,className:l}=o,s=(0,r.Z)(o,h),d=(0,n.Z)({},o,{disableSpacing:c}),x=f(d);return(0,u.jsx)(m,(0,n.Z)({className:(0,a.Z)(x.root,l),ownerState:d,ref:t},s))})},621:function(e,t,o){"use strict";o.r(t),o.d(t,{default:function(){return M}});var r=o(85893),n=o(67294),c=o(20702),a=o(60762),l=o(37093),s=o(60990),i=o(71919),d=o(84166),x=o(81873),g=o(96788),u=o(44723),h=o(56912),f=o(4952),m=o(51015),p=o(11032),b=o(55895),j=o(68573),Z=o(93454),v=o(88607),y=o(28907),S=o(97182),C=o(82591),E=o(42942),P=o(98443),D=o(75189),F=o(78033),B=o(77504),I=o(72482),A=o(29090);let R={PENDING:{label:"ì¬ì¬ì¤",bgcolor:"#F59E0B",color:"#fff"},APPROVED:{label:"ì¹ì¸",bgcolor:"#22c55e",color:"#fff"},REJECTED:{label:"ë°ë ¤",bgcolor:"#ef4444",color:"#fff"}},w=[{value:"ALL",label:"ì ì²´"},{value:"PYGAME",label:"íì´ê²ì"},{value:"SPRING_BOOT",label:"ì¤íë§ë¶í¸"},{value:"WEB",label:"ì¹"},{value:"APP",label:"ì±"},{value:"OTHER",label:"기í"}],N=e=>{var t;let{project:o,colors:n,navigate:c}=e,p=A.k[o.projectType]||A.k.OTHER,b=R[o.status]||R.PENDING,j="APPROVED"===o.status,Z="REJECTED"===o.status;return(0,r.jsxs)(a.Z,{sx:{borderRadius:3,border:"1px solid ".concat(n.cardBorder),bgcolor:n.bgSecondary,display:"flex",flexDirection:"column",height:"100%"},children:[o.thumbnail?(0,r.jsx)(l.Z,{component:"img",image:o.thumbnail,alt:o.title,sx:{height:160,objectFit:"cover"},onError:e=>{e.target.style.display="none"}}):(0,r.jsx)(s.Z,{sx:{height:160,display:"flex",alignItems:"center",justifyContent:"center",bgcolor:"rgba(255,107,53,0.05)"},children:(0,r.jsx)(D.Z,{sx:{fontSize:48,color:"#FF6B35",opacity:.25}})}),(0,r.jsxs)(i.Z,{sx:{flex:1,pb:1},children:[(0,r.jsxs)(d.Z,{direction:"row",spacing:.75,mb:1,flexWrap:"wrap",useFlexGap:!0,children:[(0,r.jsx)(x.Z,{label:"".concat(p.icon," ").concat(p.label),size:"small",sx:{bgcolor:p.color,color:"#fff",fontWeight:700,fontSize:"0.7rem"}}),(0,r.jsx)(x.Z,{label:b.label,size:"small",sx:{bgcolor:b.bgcolor,color:b.color,fontWeight:700,fontSize:"0.7rem"}}),o.cohort&&(0,r.jsx)(x.Z,{label:"".concat(o.cohort,"기"),size:"small",variant:"outlined",sx:{borderColor:n.cardBorder,color:n.textSecondary,fontSize:"0.7rem"}})]}),(0,r.jsx)(g.Z,{variant:"subtitle1",sx:{fontWeight:700,color:n.textPrimary,lineHeight:1.3,mb:.75},children:o.title}),Z&&o.rejectReason&&(0,r.jsxs)(u.Z,{severity:"error",sx:{py:.5,px:1.5,mb:1,fontSize:"0.78rem"},children:[(0,r.jsx)(g.Z,{variant:"caption",sx:{fontWeight:600},children:"ë°ë ¤ ì¬ì : "}),(0,r.jsx)(g.Z,{variant:"caption",children:o.rejectReason})]}),j&&(0,r.jsxs)(d.Z,{direction:"row",alignItems:"center",spacing:.5,mt:.5,children:[(0,r.jsx)(E.Z,{sx:{fontSize:14,color:"#F59E0B"}}),(0,r.jsx)(g.Z,{variant:"caption",sx:{color:n.textSecondary,fontWeight:600},children:(null===(t=o.avgRating)||void 0===t?void 0:t.toFixed(1))||"-"}),(0,r.jsxs)(g.Z,{variant:"caption",sx:{color:n.textMuted},children:["(",o.ratingCount||0,"ëª
)"]})]})]}),(0,r.jsx)(h.Z,{sx:{borderColor:n.cardBorder}}),(0,r.jsxs)(f.Z,{sx:{px:2,py:1.5,justifyContent:"flex-end"},children:[j&&(0,r.jsx)(m.Z,{size:"small",startIcon:(0,r.jsx)(P.Z,{fontSize:"small"}),onClick:()=>c("/projects/showcase/".concat(o.id)),sx:{color:"#FF6B35",fontWeight:700,fontSize:"0.8rem"},children:"ìì¸ ë³´ê¸°"}),!j&&(0,r.jsx)(g.Z,{variant:"caption",sx:{color:n.textMuted,px:1},children:"PENDING"===o.status?"ì¬ì¬ê° ì§í ì¤ì
ëë¤.":"ë°ë ¤ë ìíì
ëë¤."})]})]})};var M=()=>{let e=(0,c.s0)(),t=(0,c.mu)(),{colors:o}=(0,I.VC)(),a=localStorage.getItem("typingStudentId")||localStorage.getItem("userId"),l=localStorage.getItem("typingStudentName")||localStorage.getItem("username")||"íì",i=!!a,[x,h]=(0,n.use
1State)([]),[f,E]=(0,n.useState)("ALL"),[P,R]=(0,n.useState)(!0),[M,T]=(0,n.useState)(""),W=(0,n.useCallback)(()=>{i&&(R(!0),A.T.getMyProjects().then(e=>{e.data.success?h(e.data.data||[]):T("목ë¡ì ë¶ë¬ì¤ì§ 못íìµëë¤.")}).catch(()=>T("íë¡ì í¸ ëª©ë¡ì ë¶ë¬ì¤ë ì¤ ì¤ë¥ê° ë°ìíìµëë¤.")).finally(()=>R(!1)))},[i]);(0,n.useEffect)(()=>{if(!i){R(!1);return}W()},[i,W]);let z="ALL"===f?x:x.filter(e=>(e.projectType||"PYGAME")===f);if(!i)return(0,r.jsxs)(s.Z,{sx:{minHeight:"100vh",bgcolor:o.bgPrimary,display:"flex",flexDirection:"column"},children:[(0,r.jsx)(F.Z,{}),(0,r.jsxs)(p.Z,{maxWidth:"sm",sx:{py:10,flexGrow:1,textAlign:"center"},children:[(0,r.jsx)(D.Z,{sx:{fontSize:64,color:o.textSecondary,opacity:.3,mb:3}}),(0,r.jsx)(g.Z,{variant:"h6",sx:{color:o.textPrimary,mb:1,fontWeight:700},children:"ë¡ê·¸ì¸ì´ íìí©ëë¤"}),(0,r.jsx)(g.Z,{variant:"body2",sx:{color:o.textSecondary,mb:3},children:"ë´ ìí 목ë¡ì ë³´ë ¤ë©´ ë¡ê·¸ì¸íì¸ì."}),(0,r.jsx)(m.Z,{variant:"contained",onClick:()=>t(),sx:{bgcolor:"#FF6B35","&:hover":{bgcolor:"#e55a25"},fontWeight:700},children:"ë¡ê·¸ì¸íë¬ ê°ê¸°"})]}),(0,r.jsx)(B.Z,{})]});let O=x.filter(e=>"APPROVED"===e.status),_=x.filter(e=>"PENDING"===e.status),G=x.filter(e=>"REJECTED"===e.status);return(0,r.jsxs)(s.Z,{sx:{minHeight:"100vh",bgcolor:o.bgPrimary,display:"flex",flexDirection:"column"},children:[(0,r.jsx)(F.Z,{}),(0,r.jsx)(s.Z,{sx:{bgcolor:o.bgSecondary,borderBottom:"1px solid ".concat(o.cardBorder),py:4},children:(0,r.jsx)(p.Z,{maxWidth:"lg",children:(0,r.jsxs)(d.Z,{direction:{xs:"column",sm:"row"},spacing:2,alignItems:{sm:"center"},justifyContent:"space-between",children:[(0,r.jsxs)(d.Z,{direction:"row",spacing:2,alignItems:"center",children:[(0,r.jsx)(b.Z,{sx:{width:56,height:56,fontSize:"1.5rem",bgcolor:"#FF6B35"},children:l[0]}),(0,r.jsxs)(s.Z,{children:[(0,r.jsx)(g.Z,{variant:"h6",sx:{fontWeight:800,color:o.textPrimary},children:l}),(0,r.jsx)(g.Z,{variant:"caption",sx:{color:o.textSecondary},children:"ë´ ìí ê´ë¦¬"})]})]}),(0,r.jsx)(m.Z,{variant:"contained",startIcon:(0,r.jsx)(C.Z,{}),onClick:()=>e("/projects/showcase/register"),sx:{bgcolor:"#FF6B35","&:hover":{bgcolor:"#e55a25"},fontWeight:700},children:"ì ìí ë±ë¡"})]})})}),(0,r.jsxs)(p.Z,{maxWidth:"lg",sx:{py:4,flexGrow:1},children:[M&&(0,r.jsx)(u.Z,{severity:"error",sx:{mb:3},onClose:()=>T(""),children:M}),(0,r.jsx)(j.ZP,{container:!0,spacing:2,mb:4,children:[{label:"ì ì²´ ìí",value:x.length,color:"#FF6B35"},{label:"ì¹ì¸ë¨",value:O.length,color:"#22c55e"},{label:"ì¬ì¬ì¤",value:_.length,color:"#F59E0B"},{label:"ë°ë ¤ë¨",value:G.length,color:"#ef4444"}].map(e=>(0,r.jsx)(j.ZP,{item:!0,xs:6,sm:3,children:(0,r.jsxs)(Z.Z,{sx:{p:2,borderRadius:2,bgcolor:o.bgSecondary,border:"1px solid ".concat(o.cardBorder),textAlign:"center"},children:[(0,r.jsx)(g.Z,{variant:"h5",sx:{fontWeight:900,color:e.color},children:e.value}),(0,r.jsx)(g.Z,{variant:"caption",sx:{color:o.textSecondary},children:e.label})]})},e.label))}),(0,r.jsx)(Z.Z,{sx:{borderRadius:2,bgcolor:o.bgSecondary,border:"1px solid ".concat(o.cardBorder),mb:3},children:(0,r.jsx)(v.Z,{value:f,onChange:(e,t)=>
1E(t),variant:"scrollable",scrollButtons:"auto",sx:{px:1},children:w.map(e=>(0,r.jsx)(y.Z,{value:e.value,label:e.label},e.value))})}),P?(0,r.jsx)(s.Z,{sx:{display:"flex",justifyContent:"center",py:10},children:(0,r.jsx)(S.Z,{sx:{color:"#FF6B35"}})}):0===z.length?(0,r.jsxs)(s.Z,{sx:{textAlign:"center",py:10},children:[(0,r.jsx)(D.Z,{sx:{fontSize:56,color:o.textSecondary,opacity:.25,mb:2}}),(0,r.jsx)(g.Z,{variant:"body1",sx:{color:o.textSecondary,mb:3},children:0===x.length?"ìì§ ë±ë¡í ìíì´ ììµëë¤.":"í´ë¹ ì íì ìíì´ ììµëë¤."}),0===x.length&&(0,r.jsx)(m.Z,{variant:"contained",startIcon:(0,r.jsx)(C.Z,{}),onClick:()=>e("/projects/showcase/register"),sx:{bgcolor:"#FF6B35","&:hover":{bgcolor:"#e55a25"},fontWeight:700},children:"첫 ìí ë±ë¡í기"})]}):(0,r.jsx)(j.ZP,{container:!0,spacing:3,children:z.map(t=>(0,r.jsx)(j.ZP,{item:!0,xs:12,sm:6,children:(0,r.jsx)(N,{project:t,colors:o,navigate:e})},t.id))})]}),(0,r.jsx)(B.Z,{})]})}},29090:function(e,t,o){"use strict";o.d(t,{T:function(){return s},k:function(){return l}});var r=o(87066),n=o(37696);let c="/api/projects",a=r.Z.create();a.interceptors.request.use(e=>{e=(0,n.c2)(e);{let t=localStorage.getItem("typingStudentId"),o=localStorage.getItem("typingStudentName")||localStorage.getItem("username");t&&(e.headers["X-User-Id"]=t),o&&(e.headers["X-Username"]=o)}return e});let l={PYGAME:{label:"íì´ê²ì",color:"#4CAF50",icon:"\uD83C\uDFAE"},PYTHON:{label:"Python ìµí©",color:"#22c55e",icon:"\uD83D\uDC0D"},SPRING_BOOT:{label:"ì¤íë§ë¶í¸",color:"#6DB33F",icon:"\uD83C\uDF43"},WEB:{label:"ì¹ íë¡ì í¸",color:"#2196F3",icon:"\uD83C\uDF10"},APP:{label:"ì± ê°ë°",color:"#FF9800",icon:"\uD83D\uDCF1"},OTHER:{label:"기í",color:"#9E9E9E",icon:"\uD83D\uDCBB"}},s={getList:e=>a.get(c,{params:e}),getDetail:e=>a.get("".concat(c,"/").concat(e)),getTags:()=>a.get("".concat(c,"/tags")),getCohorts:()=>a.get("".concat(c,"/cohorts")),getMyProjects:()=>a.get("".concat(c,"/my")),registerGeneral:(e,t,o)=>{let r=new FormData;return r.append("data",JSON.stringify(e)),(t||[]).forEach(e=>r.append("screenshots",e)),a.post("".concat(c,"/register/general"),r,{headers:{"Content-Type":"multipart/form-data"},onUploadProgress:o})},getRatings:e=>a.get("".concat(c,"/").concat(e,"/ratings")),submitRating:(e,t)=>a.post("".concat(c,"/").concat(e,"/rate"),{score:t}),getComments:e=>a.get("".concat(c,"/").concat(e,"/comments")),addComment:(e,t)=>a.post("".concat(c,"/").concat(e,"/comments"),{content:t}),getPortfolio:e=>a.get("".concat(c,"/portfolio/").concat(e))}}},function(e){e.O(0,[8710,5076,1873,5077,8573,9744,4235,4723,3338,6530,8033,7504,2888,9774,179],function(){return e(e.s=80965)}),_N_E=e.O()}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.