PageSourceSearch

https://portfolio-chi1180.vercel.app/_next/static/chunks/app/page-e2a3b447b214251a.js

js portfolio-chi1180.vercel.app collected 2026-10-03 07:30:58 UTC 37,972 bytes, 1 lines download raw bytes

1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[974],{61:(e,a,t)=>{Promise.resolve().then(t.bind(t,4843))},4843:(e,a,t)=>{"use strict";t.r(a),t.d(a,{default:()=>_});var r=t(5155),n=t(2115),o=t(63),s=t(6174),l=t(2619),c=t.n(l);let i=[{id:"minimal",name:"Modern Minimal",icon:"◯"},{id:"cyber",name:"Cyberpunk",icon:"◈"},{id:"terminal",name:"Terminal",icon:"▣"}];function d(){let{theme:e,setTheme:a,colorMode:t,toggleColorMode:o}=(0,s.D)(),[l,c]=(0,n.useState)(!1),d=(0,n.useRef)(null),m=i.find(a=>a.id===e)||i[0];return(0,n.useEffect)(()=>{let e=e=>{d.current&&!d.current.contains(e.target)&&c(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[]),(0,n.useEffect)(()=>{let e=e=>{"Escape"===e.key&&c(!1)};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[]),(0,r.jsxs)("div",{className:"flex items-center gap-3",children:[(0,r.jsxs)("div",{className:"relative",ref:d,children:[(0,r.jsxs)("button",{type:"button",onClick:()=>c(!l),className:"flex items-center gap-2 px-4 py-2 rounded-lg bg-[var(--background-secondary)] border border-[var(--border)] text-[var(--foreground)] text-sm font-medium transition-all duration-300 hover:border-[var(--accent)] hover:shadow-sm","aria-expanded":l,"aria-haspopup":"listbox",children:[(0,r.jsx)("span",{className:"text-lg",children:m.icon}),(0,r.jsx)("span",{className:"hidden sm:inline",children:m.name}),(0,r.jsxs)("svg",{className:"w-4 h-4 transition-transform duration-200 ".concat(l?"rotate-180":""),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24","aria-hidden":"true",children:[(0,r.jsx)("title",{children:"Toggle dropdown"}),(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"})]})]}),l&&(0,r.jsx)("div",{className:"absolute right-0 mt-2 w-48 py-2 bg-[var(--background)] border border-[var(--border)] rounded-lg shadow-lg z-50 animate-fade-in",role:"listbox",children:i.map(t=>(0,r.jsxs)("button",{type:"button",onClick:()=>{a(t.id),c(!1)},className:"w-full flex items-center gap-3 px-4 py-2.5 text-left text-sm transition-colors duration-150 ".concat(e===t.id?"bg-[var(--accent-secondary)] text-[var(--accent)]":"text-[var(--foreground)] hover:bg-[var(--background-secondary)]"),role:"option","aria-selected":e===t.id,children:[(0,r.jsx)("span",{className:"text-lg",children:t.icon}),(0,r.jsx)("span",{children:t.name}),e===t.id&&(0,r.jsxs)("svg",{className:"w-4 h-4 ml-auto text-[var(--accent)]",fill:"currentColor",viewBox:"0 0 20 20","aria-hidden":"true",children:[(0,r.jsx)("title",{children:"Selected"}),(0,r.jsx)("path",{fillRule:"evenodd",d:"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z",clipRule:"evenodd"})]})]},t.id))})]}),(0,r.jsx)("button",{type:"button",onClick:o,className:"flex items-center justify-center w-10 h-10 rounded-lg bg-[var(--background-secondary)] border border-[var(--border)] text-[var(--foreground)] transition-all duration-300 hover:border-[var(--accent)] hover:shadow-sm","aria-label":"Switch to ".concat("light"===t?"dark":"light"," mode"),children:"light"===t?(0,r.jsxs)("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24","aria-hidden":"true",children:[(0,r.jsx)("title",{children:"Switch to dark mode"}),(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M20.354 15.354A9 9 0 018.646 3.646 9.003 9.003 0 0012 21a9.003 9.003 0 008.354-5.646z"})]}):(0,r.jsxs)("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24","aria-hidden":"true",children:[(0,r.jsx)("title",{children:"Switch to light mode"}),(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 3v1m0 16v1m9-9h-1M4 12H3m15.364 6.364l-.707-.707M6.343 6.343l-.707-.707m12.728 0l-.707.707M6.343 17.657l-.707.707M16 12a4 4 0 11-8 0 4 4 0 018 0z"})]})})]})}let m=[{name:"Home",href:"#hero"},{name:"Skills",href:"#skills"},{name:"Certifications",href:"#certifications"},{name:"Contact",href:"#contacts"}];function x(){let{theme:e}
1=(0,s.D)(),[a,t]=(0,n.useState)(!1),[o,l]=(0,n.useState)(!1);(0,n.useEffect)(()=>{let e=()=>{t(window.scrollY>20)};return window.addEventListener("scroll",e),()=>window.removeEventListener("scroll",e)},[]);let i=()=>{l(!1)};return(0,r.jsxs)("header",{className:"\n        fixed top-0 left-0 right-0 z-50 transition-all duration-300\n        ".concat(a?"py-3":"py-4 sm:py-5","\n        ").concat("terminal"===e?"font-mono":"","\n      "),style:{background:a?"var(--background)":"transparent",backdropFilter:a?"blur(12px)":"none",borderBottom:a?"1px solid var(--border)":"none",boxShadow:a?"0 2px 16px var(--shadow)":"none"},children:[(0,r.jsxs)("div",{className:"container mx-auto px-4 sm:px-8 flex items-center justify-between",children:[(0,r.jsx)(c(),{href:"#hero",className:"\n            text-xl sm:text-2xl font-bold transition-all duration-300 hover:opacity-80\n          ",style:{color:"var(--foreground)"},children:"terminal"===e?"> Chi1180":"Chi1180"}),(0,r.jsxs)("nav",{className:"hidden md:flex items-center gap-6",children:[(0,r.jsx)("ul",{className:"flex items-center gap-5",children:m.map(a=>(0,r.jsx)("li",{children:(0,r.jsx)(c(),{href:a.href,className:"\n                    text-sm font-medium transition-all duration-200\n                    hover:opacity-70\n                    ".concat("terminal"===e?"font-mono":"","\n                  "),style:{color:"var(--foreground)"},children:"terminal"===e?"/".concat(a.name.toLowerCase()):a.name})},a.name))}),"minimal"===e&&(0,r.jsx)(d,{})]}),(0,r.jsxs)("div",{className:"flex items-center gap-4 md:hidden",children:["minimal"===e&&(0,r.jsx)(d,{}),(0,r.jsxs)("button",{className:"relative w-10 h-10 flex flex-col items-center justify-center gap-1.5 cursor-pointer",onClick:()=>l(!o),type:"button","aria-label":"Toggle navigation menu","aria-expanded":o,children:[(0,r.jsx)("span",{className:"\n                w-6 h-0.5 transition-all duration-300 origin-center\n                ".concat(o?"rotate-45 translate-y-2":"","\n              "),style:{background:"var(--foreground)"}}),(0,r.jsx)("span",{className:"\n                w-6 h-0.5 transition-all duration-300\n                ".concat(o?"opacity-0 scale-0":"opacity-100","\n              "),style:{background:"var(--foreground)"}}),(0,r.jsx)("span",{className:"\n                w-6 h-0.5 transition-all duration-300 origin-center\n                ".concat(o?"-rotate-45 -translate-y-2":"","\n              "),style:{background:"var(--foreground)"}})]})]})]}),(0,r.jsx)("div",{className:"\n          md:hidden overflow-hidden transition-all duration-300\n          ".concat(o?"max-h-96 opacity-100":"max-h-0 opacity-0","\n        "),style:{background:"var(--background)",borderBottom:o?"1px solid var(--border)":"none"},children:(0,r.jsx)("ul",{className:"container mx-auto px-4 py-4 flex flex-col gap-4",children:m.map(a=>(0,r.jsx)("li",{children:(0,r.jsx)(c(),{href:a.href,onClick:i,className:"\n                  block py-2 text-base font-medium transition-opacity duration-200\n                  hover:opacity-70\n                  ".concat("terminal"===e?"font-mono":"","\n                "),style:{color:"var(--foreground)"},children:"terminal"===e?"> ".concat(a.name.toLowerCase()):a.name})},a.name))})})]})}var u=t(5239);function h(){let{theme:e}=(0,s.D)();return(0,r.jsxs)("footer",{className:"\n        py-12 sm:py-16 flex flex-col sm:flex-row items-center justify-center gap-6 sm:gap-10\n        ".concat("terminal"===e?"font-mono":"","\n      "),style:{background:"var(--background)",borderTop:"1px solid var(--border)"},children:[(0,r.jsx)("div",{className:"\n          relative w-14 h-14 sm:w-16 sm:h-16 rounded-lg overflow-hidden\n          ".concat("terminal"===e?"rounded-none":"","\n        "),style:{boxShadow:"0 2px 12px var(--shadow)",border:"1px solid var(--border)"},children:(0,r.jsx)(u.default,{src:"/icon.png",alt:"Chi1180 Logo",fill:!0,className:"object-cover"})}),(0,r.jsxs)("div",{className:"flex flex-col gap-1 items-center sm:items-end text-center sm:text-right",children:[(0,r.jsx)("h2",{className:"text-lg sm:text-xl font-semibold",style:{color:"var(--foreground)"},children:"terminal"===e?"> Chi1180 portfolio_":"Chi1180 portfolio_"}),(0,r.jsx)("p",{className:"text-sm",style:{color:"var(--foreground-secondary)"},children:"terminal"===e?"// 2025":"\xa9 2025 Chi1180"})]})]})}function p(){let{theme:e}=(0,s.D)();return(0,r.jsxs)("section",{id:"hero",className:"section min-h-screen flex items-center justify-center relative overflow-hidden pt-24",children:["cyber"===e&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{className:"absolute inset-0 opacity-10",style:{backgroundImage:"\n                linear-gradient(rgba(232, 121, 249, 0.3) 1px, transparent 1px),\n                linear-gradient(90deg, rgba(232, 121, 249, 0.3) 1px, transparent 1px)\n              ",backgroundSize:"60px 60px"}}),(0,r.jsx)("div",{className:"absolute top-1/4 -left-48 w-96 h-96 bg-[#e879f9] rounded-full opacity-10 blur-[120px]"}),(0,r.jsx)("div",{className:"absolute bottom-1/4 -right-48 w-96 h-96 bg-[#22d3ee] rounded-full opacity-10 blur-[120px]"})]}),"terminal"===e&&(0,r.jsx)(r.Fragment,{children:(0,r.jsx)("div",{className:"absolute inset-0 opacity-[0.03]",style:{backgroundImage:"url(\"data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Ctext x='0' y='30' font-family='monospace' font-size='20' fill='%2339ff14'%3E0%3C/text%3E%3C/svg%3E\")",backgroundSize:"40px 40px"}})}),(0,r.jsxs)("div",{className:"container mx-auto px-6 sm:px-8 flex flex-col lg:flex-row items-center gap-12 lg:gap-20 relative z-10",children:[(0,r.jsxs)("div",{className:"flex-1 text-center lg:text-left",children:[(0,r.jsxs)("h3",{className:"text-xl sm:text-2xl md:text-3xl mb-4 sm:mb-6 opacity-0 animate-fade-in-up stagger-1 ".concat("terminal"===e?"font-mono":""),style:{color:"var(--foreground-secondary)"},children:["terminal"===e?"> ":"","Hi, I'm Chi1180"]}),(0,r.jsxs)("h1",{className:"text-4xl sm:text-5xl md:text-6xl lg:text-7xl font-bold mb-6 sm:mb-8 opacity-0 animate-fade-in-up stagger-2 leading-tight ".concat("terminal"===e?"font-mono":""),style:{color:"var(--foreground)"},children:["A little coder",(0,r.jsx)("span",{className:"".concat("terminal"===e?"animate-pulse":""),style:{color:"var(--accent)"},children:"_"})]}),(0,r.jsxs)("p",{className:"text-lg sm:text-xl md:text-2xl mb-10 sm:mb-12 opacity-0 animate-fade-in-up stagger-3 ".concat("terminal"===e?"font-mono":""),style:{color:"var(--foreground-secondary)"},children:["terminal"===e?"// ":"","Write code for Web, Desktop and Mobile..."]}),(0,r.jsxs)("div",{className:"flex flex-col sm:flex-row gap-4 sm:gap-6 justify-center lg:justify-start opacity-0 animate-fade-in-up stagger-4",children:[(0,r.jsxs)(c(),{href:"#skills",className:"btn btn-primary text-base sm:text-lg px-6 sm:px-8 py-3 sm:py-4 ".concat("terminal"===e?"font-mono":""),children:["terminal"===e?"$ ":"","See skill set"]}),(0,r.jsxs)(c(),{href:"https://github.com/chi1180",target:"_blank",rel:"noopener noreferrer",className:"btn btn-secondary text-base sm:text-lg px-6 sm:px-8 py-3 sm:py-4 ".concat("terminal"===e?"font-mono":""),children:["terminal"===e?"$ ":"","See GitHub"]})]})]}),(0,r.jsx)("div",{className:"flex-1 flex justify-center lg:justify-end opacity-0 animate-fade-in-right stagger-3",children:(0,r.jsxs)("div",{className:"relative w-64 h-64 sm:w-72 sm:h-72 md:w-80 md:h-80 lg:w-96 lg:h-96 rounded-2xl overflow-hidden ".concat("terminal"===e?"rounded-none":""),style:{boxShadow:"cyber"===e?"0 0 32px rgba(232, 121, 249, 0.2), 0 8px 32px rgba(0, 0, 0, 0.3)":"terminal"===e?"0 0 24px rgba(57, 255, 20, 0.15)":"0 16px 48px rgba(0, 0, 0, 0.12)",border:"terminal"===e?"2px solid var(--border)":"cyber"===e?"1px solid var(--border)":"none"},children:[(0,r.jsx)("div",{className:"w-full h-full bg-cover bg-center",style:{backgroundImage:"url(/top-image.png)"}}),"cyber"===e&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{className:"absolute -top-1 -left-1 w-6 h-6 border-t-2 border-l-2 border-[#22d3ee] opacity-60"}),(0,r.jsx)("div",{className:"absolute -top-1 -right-1 w-6 h-6 border-t-2 border-r-2 border-[#e879f9] opacity-60"}),(0,r.jsx)("div",{className:"absolute -bottom-1 -left-1 w-6 h-6 border-b-2 border-l-2 border-[#e879f9] opacity-60"}),(0,r.jsx)("div",{className:"absolute -bottom-1 -right-1 w-6 h-6 border-b-2 border-r-2 border-[#22d3ee] opacity-60"})]}),"terminal"===e&&(0,r.jsx)("div",{className:"absolute -top-8 left-0 font-mono text-xs opacity-60",style:{color:"var(--foreground-secondary)"},children:"┌── profile.png"})]})})]}),(0,r.jsx)("div",{className:"absolute bottom-8 left-1/2 transform -translate-x-1/2 opacity-0 animate-fade-in stagger-5",children:(0,r.jsxs)(c(),{href:"#skills",className:"flex flex-col items-center gap-2 transition-colors hover:opacity-80",style:{color:"var(--foreground-secondary)"},children:[(0,r.jsx)("span",{className:"text-sm ".concat("terminal"===e?"font-mono":""),children:"terminal"===e?"scroll_down()":"Scroll"}),(0,r.jsxs)("svg",{className:"w-5 h-5 animate-bounce",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24","aria-hidden":"true",children:[(0,r.jsx)("title",{children:"Scroll down"}),(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 14l-7 7m0 0l-7-7m7 7V3"})]})]})})]})}let f=[{name:"JavaScript",tags:["web","electron","react","node.js"]},{name:"TypeScript",tags:["web","next.js"],favorite:!0},{name:"Python",tags:["web","machine learning","web scraping"]},{name:"HTML",tags:["web","HTML5"]},{name:"CSS",tags:["web","SCSS","Tailwind","Material UI"]}];function g(){let{theme:e}=(0,s.D)();return(0,r.jsx)("section",{id:"skills",className:"section min-h-screen py-24 px-4 sm:px-8 lg:px-16",
1style:{background:"var(--background-secondary)"},children:(0,r.jsxs)("div",{className:"max-w-6xl mx-auto",children:[(0,r.jsxs)("div",{className:"mb-16 text-center",children:[(0,r.jsx)("h2",{className:"text-3xl sm:text-4xl lg:text-5xl font-bold mb-4 ".concat("terminal"===e?"font-mono":""),style:{color:"var(--foreground)"},children:"terminal"===e?"$ cat languages.txt":"cyber"===e?"< Languages />":"Languages & Skills"}),(0,r.jsx)("p",{className:"text-lg max-w-2xl mx-auto",style:{color:"var(--foreground-secondary)"},children:"terminal"===e?"// Technologies I work with":"Technologies and frameworks I use to build amazing things"})]}),(0,r.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6",children:f.map((a,t)=>(0,r.jsxs)("div",{className:"p-6 rounded-xl transition-all duration-300 hover:-translate-y-1 ".concat("terminal"===e?"rounded-none":""),style:{background:"var(--card-bg)",border:"1px solid var(--border)",boxShadow:"0 4px 16px var(--shadow)",animationDelay:"".concat(100*t,"ms")},children:[(0,r.jsxs)("div",{className:"flex items-center gap-3 mb-4",children:[(0,r.jsx)("h3",{className:"text-xl sm:text-2xl font-semibold ".concat("terminal"===e?"font-mono":""),style:{color:"var(--foreground)"},children:"terminal"===e?"> ".concat(a.name):a.name}),a.favorite&&(0,r.jsx)("span",{className:"text-xl",title:"Favorite",children:"❤️"})]}),(0,r.jsx)("div",{className:"h-0.5 mb-5 rounded-full",style:{background:"cyber"===e?"linear-gradient(90deg, var(--neon-pink), var(--neon-cyan))":"var(--accent)",opacity:"cyber"===e?.6:.3}}),(0,r.jsx)("div",{className:"flex flex-wrap gap-2",children:a.tags.map(a=>(0,r.jsx)("span",{className:"px-3 py-1.5 text-sm rounded-full transition-all duration-200 ".concat("terminal"===e?"font-mono rounded-none":""),style:{background:"var(--accent-secondary)",color:"var(--accent)",border:"terminal"===e?"1px solid var(--border)":"none"},children:"terminal"===e?"[".concat(a,"]"):a},a))})]},a.name))})]})})}let b=[{name:["Responsive","Web","Design"],url:"https://www.freecodecamp.org/japanese/certification/fccc270c309-fe95-47fe-aeed-839c2c79fce1/responsive-web-design",img:"/Website Creator-bro.svg"},{name:["JavaScript Algorithms","and","Data Structures"],url:"https://www.freecodecamp.org/japanese/certification/fccc270c309-fe95-47fe-aeed-839c2c79fce1/javascript-algorithms-and-data-structures",img:"/Data report-amico.svg"}];function v(){let{theme:e}=(0,s.D)();return(0,r.jsx)("section",{id:"certifications",className:"section min-h-screen py-24",children:(0,r.jsxs)("div",{className:"container mx-auto px-4 sm:px-8 max-w-5xl",children:[(0,r.jsxs)("div",{className:"mb-16 text-center",children:[(0,r.jsx)("h2",{className:"text-3xl sm:text-4xl lg:text-5xl font-bold mb-4 ".concat("terminal"===e?"font-mono":""),style:{color:"var(--foreground)"},children:"terminal"===e?"$ cat certifications.txt":"cyber"===e?"< Certifications />":"Certifications"}),(0,r.jsx)("p",{className:"text-lg max-w-2xl mx-auto",style:{color:"var(--foreground-secondary)"},children:"terminal"===e?"// Verified credentials from freeCodeCamp":"Professional certifications and achievements"})]}),(0,r.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-8",children:b.map((a,t)=>(0,r.jsxs)(c(),{href:a.url,target:"_blank",rel:"noopener noreferrer",className:"\n                group relative overflow-hidden p-8 rounded-2xl\n                transition-all duration-300 hover:-translate-y-2\n                ".concat("terminal"===e?"rounded-none":"","\n              "),style:{background:"var(--card-bg)",border:"1px solid var(--border)",boxShadow:"0 4px 24px var(--shadow)"},children:["terminal"===e&&(0,r.jsxs)("div",{className:"absolute top-0 left-0 right-0 px-4 py-2 text-xs font-mono border-b",style:{borderColor:"var(--border)",color:"var(--foreground-secondary)",background:"var(--background-secondary)"},children:["cert_",t,".md"]}),(0,r.jsxs)("div",{className:"relative z-10 flex flex-col items-center text-center ".concat("terminal"===e?"pt-8":""),children:[(0,r.jsx)("div",{className:"relative w-40 h-40 sm:w-48 sm:h-48 mb-6 opacity-80 group-hover:opacity-100 transition-opacity duration-300",children:(0,r.jsx)(u.default,{src:a.img,alt:"".concat(a.name.join(" ")," certification"),fill:!0,className:"object-contain",style:{filter:"cyber"===e?"hue-rotate(280deg) saturate(1.3) brightness(1.1)":"terminal"===e?"hue-rotate(90deg) saturate(1.5) brightness(1.2)":"none"}})}),(0,r.jsx)("div",{className:"mb-4",children:a.name.map((a,t)=>(0,r.jsxs)("span",{className:"\n                        block text-xl sm:text-2xl font-semibold leading-tight\n                        ".concat("terminal"===e?"font-mono":"","\n                      "),style:{color:"var(--foreground)"},children:["terminal"===e&&0===t?"# ":"",a]},a))}),(0,r.jsx)("div",{className:"flex items-center gap-2 text-sm font-medium transition-all duration-300 group-hover:gap-3",style:{color:"var(--accent)"},children:"terminal"===e?(0,r.jsxs)("span",{className:"font-mono",children:[">"," view --cert",(0,r.jsx)("span",{className:"animate-pulse",children:"_"})]}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("span",{children:"View Certificate"}),(0,r.jsxs)("svg",{className:"w-4 h-4 transition-transform duration-300 group-hover:translate-x-1",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24","aria-hidden":"true",children:[(0,r.jsx)("title",{children:"Arrow right"}),(0,r.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M17 8l4 4m0 0l-4 4m4-4H3"})]})]})})]}),(0,r.jsx)("div",{className:"absolute inset-0 opacity-0 group-hover:opacity-100 transition-opacity duration-300 pointer-events-none rounded-2xl",style:{boxShadow:"cyber"===e?"inset 0 0 30px rgba(232, 121, 249, 0.1)":"terminal"===e?"inset 0 0 20px rgba(57, 255, 20, 0.05)":"none"}})]}
1,a.name[0]))})]})})}function y(e,a){let t=function(e){let[a,t]=e.split(", "),r=[];for(let e=a.split("/").length-1;e>-1;e--)r.push(a.split("/").at(e));return"[".concat(r.join("-")," ").concat(t,"]")}(new Date().toLocaleString());console.log("".concat(t," [").concat(a,"] ").concat(e))}var j=t(8368);let w={publicKey:"kSkyNdkMfA1J1a17O",blockHeadless:!0,limitRate:{id:"app",throttle:6e5}},k={serviceID:"service_fht8v2p",templateID:"template_1mejccm",templateParams:{message:""}},N=[{name:"GitHub",url:"https://github.com/chi1180",icon:"GH"},{name:"Qiita",url:"https://qiita.com/chi1180",icon:"QT"},{name:"Lapras",url:"https://lapras.com/public/KYH2X5C",icon:"LP"}];function S(){let{theme:e}=(0,s.D)(),[a,t]=(0,n.useState)(""),[o,l]=(0,n.useState)(""),[c,i]=(0,n.useState)(!1),[d,m]=(0,n.useState)(!1),x=(0,n.useId)(),u=(0,n.useId)(),h=a.trim().length>0,p=async e=>{if(e.preventDefault(),""===a.trim())return void alert("Please enter a message \uD83D\uDE41");m(!0);try{var r;r=o.trim()?"".concat(a,"\n\n---\nReply to: ").concat(o.trim()):a,k.templateParams.message=r,j.Ay.init(w),y("EmailJS initialized","INFO"),y(JSON.stringify(k.templateParams),"DEBUG"),j.Ay.send(k.serviceID,k.templateID,k.templateParams).then(e=>{y("Email sent successfully\n".concat(e.status,"\n").concat(e.text),"INFO")},e=>{y("Failed...\n".concat(e),"ERROR")}
1),i(!0),t("Thank you for your message :)"),l("")}catch(e){console.error("Failed to send message:",e),alert("Failed to send message. Please try again.")}finally{m(!1)}};return(0,r.jsx)("section",{id:"contacts",className:"section min-h-screen py-24",style:{background:"var(--background-secondary)"},children:(0,r.jsxs)("div",{className:"container mx-auto px-4 sm:px-8 max-w-5xl",children:[(0,r.jsxs)("div",{className:"mb-16 text-center",children:[(0,r.jsx)("h2",{className:"text-3xl sm:text-4xl lg:text-5xl font-bold mb-4 ".concat("terminal"===e?"font-mono":""),style:{color:"var(--foreground)"},children:"terminal"===e?"$ contact --connect":"cyber"===e?"< Contact />":"Get in Touch"}),(0,r.jsx)("p",{className:"text-lg max-w-2xl mx-auto",style:{color:"var(--foreground-secondary)"},children:"terminal"===e?"// Establish connection":"Let's connect and create something amazing together"})]}),(0,r.jsxs)("div",{className:"grid lg:grid-cols-2 gap-8 lg:gap-12",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("h3",{className:"text-xl font-semibold mb-6 ".concat("terminal"===e?"font-mono":""),style:{color:"var(--foreground)"},children:"terminal"===e?"> social_links":"Find me online"}),(0,r.jsx)("div",{className:"flex flex-col gap-4",children:N.map(a=>(0,r.jsxs)("a",{href:a.url,target:"_blank",rel:"noopener noreferrer",className:"\n                    group flex items-center gap-4 p-5 rounded-xl transition-all duration-300\n                    hover:-translate-y-1\n                    ".concat("terminal"===e?"rounded-none":"","\n                  "),style:{background:"var(--card-bg)",border:"1px solid var(--border)",boxShadow:"0 2px 12px var(--shadow)"},children:[(0,r.jsx)("div",{className:"w-12 h-12 rounded-lg flex items-center justify-center text-sm font-bold ".concat("terminal"===e?"rounded-none font-mono":""),style:{background:"var(--accent-secondary)",color:"var(--accent)"},children:a.icon}),(0,r.jsxs)("div",{className:"flex-1",children:[(0,r.jsx)("span",{className:"text-lg font-medium block ".concat("terminal"===e?"font-mono":""),style:{color:"var(--foreground)"},children:"terminal"===e?"> ".concat(a.name):a.name}),(0,r.jsx)("span",{className:"text-sm",style:{color:"var(--foreground-secondary)"},children:a.url.replace("https://","")})]}),(0,r.jsx)("span",{className:"text-xl opacity-0 group-hover:opacity-100 transition-all duration-300 group-hover:translate-x-1",style:{color:"var(--accent)"},children:"→"})]},a.name))})]}),(0,r.jsxs)("div",{className:"p-6 sm:p-8 rounded-xl ".concat("terminal"===e?"rounded-none":""),style:{background:"var(--card-bg)",border:"1px solid var(--border)",boxShadow:"0 4px 24px var(--shadow)"},children:[(0,r.jsx)("h3",{className:"text-xl font-semibold mb-6 ".concat("terminal"===e?"font-mono":""),style:{color:"var(--foreground)"},children:"terminal"===e?"> send_message":"Send a message"}),(0,r.jsxs)("form",{onSubmit:p,className:"space-y-6",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("label",{htmlFor:x,className:"block text-sm font-medium mb-2 ".concat("terminal"===e?"font-mono":""),style:{color:"var(--foreground-secondary)"},children:"terminal"===e?"message_content:":"Your Message"}),(0,r.jsx)("textarea",{id:x,value:a,onChange:e=>!c&&t(e.target.value),placeholder:"terminal"===e?"// Enter your message here...":"Tell me about your project or just say hi! \uD83D\uDC4B",rows:5,disabled:c,className:"w-full p-4 rounded-lg resize-none transition-all duration-300 focus:outline-none focus:ring-2 focus:ring-[var(--accent)] ".concat("terminal"===e?"rounded-none font-mono":""),style:{background:"var(--background)",color:"var(--foreground)",border:"1px solid var(--border)",opacity:c?.7:1}})]}),h&&(0,r.jsxs)("div",{className:"transition-all duration-300 ease-in-out",style:{opacity:+!!h,transform:h?"translateY(0)":"translateY(-10px)"},children:[(0,r.jsxs)("label",{htmlFor:u,className:"block text-sm font-medium mb-2 ".concat("terminal"===e?"font-mono":""),style:{color:"var(--foreground-secondary)"},children:["terminal"===e?"reply_address:":"Your Email",(0,r.jsx)("span",{className:"ml-2 text-xs",style:{color:"var(--foreground-secondary)",opacity:.7},children:"terminal"===e?"// optional: if response needed":"(optional - if you'd like a reply)"})]}),(0,r.jsx)("input",{id:u,type:"email",value:o,onChange:e=>!c&&l(e.target.value),placeholder:"terminal"===e?"// [email protected]":"[email protected]",disabled:c,
1className:"w-full p-4 rounded-lg transition-all duration-300 focus:outline-none focus:ring-2 focus:ring-[var(--accent)] ".concat("terminal"===e?"rounded-none font-mono":""),style:{background:"var(--background)",color:"var(--foreground)",border:"1px solid var(--border)",opacity:c?.7:1}})]}),(0,r.jsx)("button",{type:"submit",disabled:c||d,className:"\n                  w-full py-4 rounded-lg font-semibold text-base transition-all duration-300\n                  ".concat("terminal"===e?"font-mono uppercase rounded-none":"","\n                  ").concat(c?"opacity-50 cursor-not-allowed":"hover:-translate-y-1","\n                "),style:{background:c?"var(--foreground-secondary)":"var(--accent)",color:"#ffffff",boxShadow:c?"none":"0 4px 16px var(--shadow)"},children:d?"terminal"===e?"> Sending...":"Sending...":c?"terminal"===e?"> Message_sent ✓":"Message Sent ✓":"terminal"===e?"> Execute send":"Send Message"})]})]})]})]})})}let C=[{id:"minimal",name:"MINIMAL",icon:"◇"},{id:"cyber",name:"CYBER",icon:"◈"},{id:"terminal",name:"TERMINAL",icon:"▣"}];function E(){let{theme:e,setTheme:a,colorMode:t,toggleColorMode:o}=(0,s.D)(),[l,c]=(0,n.useState)(!1),[i,d]=(0,n.useState)(!1);return(0,r.jsxs)("div",{className:"fixed bottom-6 right-6 z-50",children:[(0,r.jsx)("button",{type:"button",onClick:()=>c(!l),className:"\n          relative w-12 h-12 rounded-lg\n          flex items-center justify-center\n          transition-all duration-300\n          ".concat(i?"animate-[glitch_0.3s_ease_infinite]":"","\n        "),style:{background:"var(--card-bg)",border:"1px solid var(--border)",boxShadow:l?"0 0 20px rgba(232, 121, 249, 0.3)":"0 0 12px rgba(232, 121, 249, 0.15)"},"aria-label":"Open theme switcher",children:(0,r.jsx)("span",{className:"text-xl",style:{color:"var(--accent)"},"aria-hidden":"true",children:"◈"})}),l&&(0,r.jsxs)("div",{className:"absolute bottom-14 right-0 mb-2 p-2 rounded-lg overflow-hidden",style:{background:"var(--card-bg)",backdropFilter:"blur(12px)",border:"1px solid var(--border)",boxShadow:"0 8px 32px var(--shadow)"},children:[(0,r.jsx)("div",{className:"flex flex-col gap-1 p-2",children:C.map(t=>(0,r.jsxs)("button",{type:"button",onClick:()=>{var e;return e=t.id,void(d(!0),setTimeout(()=>{a(e),d(!1),c(!1)},300))},className:"\n                  relative px-4 py-2.5 rounded-lg text-left font-mono text-sm\n                  transition-all duration-200\n                  flex items-center gap-3 min-w-[140px]\n                ",style:{background:e===t.id?"var(--accent-secondary)":"transparent",color:e===t.id?"var(--accent)":"var(--foreground-secondary)"},children:[(0,r.jsx)("span",{className:"text-base",style:{color:"var(--accent)"},"aria-hidden":"true",children:t.icon}),(0,r.jsx)("span",{children:t.name}),e===t.id&&(0,r.jsx)("span",{className:"ml-auto",style:{color:"var(--accent)"},"aria-hidden":"true",children:"●"})]},t.id))}),(0,r.jsx)("div",{className:"mx-3 my-1 h-px",style:{background:"var(--border)"},"aria-hidden":"true"}),(0,r.jsx)("div",{className:"p-2",children:(0,r.jsxs)("button",{type:"button",onClick:o,className:"w-full px-4 py-2.5 rounded-lg font-mono text-sm text-left flex items-center gap-3 transition-all duration-200",style:{color:"var(--foreground-secondary)"},children:[(0,r.jsx)("span",{className:"text-base",style:{color:"var(--accent)"},"aria-hidden":"true",children:"dark"===t?"◐":"◑"}),(0,r.jsx)("span",{children:"dark"===t?"LIGHT":"DARK"})]})})]})]})}let L={help:"Available commands:\n  theme list          - Show all available themes\n  theme <name>        - Switch to a theme (minimal, cyber, terminal)\n  dark                - Toggle dark mode\n  clear               - Clear terminal history\n  about               - About this portfolio\n  help                - Show this help message",about:"┌─────────────────────────────────────┐\n│           Chi1180's Portfolio       │\n├─────────────────────────────────────┤\n│  A little coder_                    │\n│                                     │\n│  Writing code for:                  │\n│    • Web                            │\n│    • Desktop                        │\n│    • Mobile                         │\n│                                     │\n│  Favorite: TypeScript ❤️            │\n└─────────────────────────────────────┘",themeList:"Available themes:\n  ├── minimal   : Modern Minimal - Clean and elegant\n  ├── cyber     : Cyberpunk - 
1Neon lights and glow\n  └── terminal  : Terminal - Hacker-style CLI"},D=0;function M(){return D+=1,"entry-".concat(Date.now(),"-").concat(D)}function T(){let{theme:e,setTheme:a,colorMode:t,toggleColorMode:o}=(0,s.D)(),[l,c]=(0,n.useState)(!1),[i,d]=(0,n.useState)(""),[m,x]=(0,n.useState)([{id:M(),command:"",output:'Type "help" for available commands.'}]),[u,h]=(0,n.useState)([]),[p,f]=(0,n.useState)(-1),g=(0,n.useRef)(null),b=(0,n.useRef)(null);(0,n.useEffect)(()=>{l&&g.current&&g.current.focus()},[l]),(0,n.useEffect)(()=>{b.current&&(b.current.scrollTop=b.current.scrollHeight)});let v=(0,n.useCallback)(e=>{let r=e.trim().toLowerCase().split(" "),n=r[0],s=r.slice(1),l="",c=!1;switch(n){case"help":l=L.help;break;case"about":l=L.about;break;case"clear":x([]);return;case"dark":case"toggle":o(),l="Color mode switched to: ".concat("light"===t?"dark":"light");break;case"theme":if(0===s.length||"list"===s[0])l=L.themeList;else{let e=s[0];["minimal","cyber","terminal"].includes(e)?(a(e),l="✓ Theme switched to: ".concat(e)):(l='Error: Unknown theme "'.concat(s[0],'"\nUse "theme list" to see available themes.'),c=!0)}break;case"":return;default:l="Command not found: ".concat(n,'\nType "help" for available commands.'),c=!0}x(a=>[...a,{id:M(),command:e,output:l,isError:c}]),h(a=>[...a,e]),f(-1)},[t,a,o]);return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("button",{type:"button",onClick:()=>c(!l),className:"fixed bottom-4 right-4 z-50 px-4 py-2.5 font-mono text-sm rounded-lg transition-all duration-300",style:{border:"1px solid var(--border)",color:"var(--foreground)",background:"var(--card-bg)",boxShadow:l?"0 0 16px rgba(57, 255, 20, 0.2)":"0 4px 12px var(--shadow)"},children:(0,r.jsxs)("span",{className:"flex items-center gap-2",children:[(0,r.jsx)("span",{"aria-hidden":"true",style:{color:"var(--accent)"},children:">_"}),(0,r.jsx)("span",{className:"hidden sm:inline",children:"terminal"})]})}),l&&(0,r.jsxs)("div",{className:"fixed bottom-16 right-4 z-50 w-[calc(100vw-2rem)] sm:w-[480px] max-h-[55vh] rounded-lg overflow-hidden animate-slide-in-up",style:{border:"1px solid var(--border)",boxShadow:"0 8px 32px var(--shadow)"},children:[(0,r.jsxs)("div",{className:"flex items-center justify-between px-4 py-2.5 border-b",style:{background:"var(--card-bg)",borderColor:"var(--border)"},children:[(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsxs)("div",{className:"flex gap-1.5",children:[(0,r.jsx)("button",{type:"button",onClick:()=>c(!1),className:"w-3 h-3 rounded-full bg-red-500 hover:bg-red-600","aria-label":"Close terminal"}),(0,r.jsx)("div",{className:"w-3 h-3 rounded-full bg-yellow-500","aria-hidden":"true"}),(0,r.jsx)("div",{className:"w-3 h-3 rounded-full bg-green-500","aria-hidden":"true"})]}),(0,r.jsx)("span",{className:"ml-2 text-xs font-mono opacity-60",style:{color:"var(--foreground)"},children:"theme-switcher"})]}),(0,r.jsxs)("span",{className:"text-xs font-mono opacity-40",style:{color:"var(--foreground)"},children:[e," | ",t]})]}),(0,r.jsxs)("div",{ref:b,className:"p-4 h-[280px] overflow-y-auto font-mono text-sm",style:{background:"var(--background)",color:"var(--foreground)"},children:[m.map(e=>(0,r.jsxs)("div",{className:"mb-2",children:[e.command&&(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)("span",{style:{color:"var(--accent)"},"aria-hidden":"true",children:"$"}),(0,r.jsx)("span",{children:e.command})]}),(0,r.jsx)("pre",{className:"whitespace-pre-wrap mt-1 text-xs sm:text-sm",style:{color:e.isError?"#f87171":"var(--foreground-secondary)"},children:e.output})]},e.id)),(0,r.jsxs)("form",{onSubmit:e=>{e.preventDefault(),v(i),d("")},className:"flex items-center gap-2",children:[(0,r.jsx)("span",{style:{color:"var(--accent)"},"aria-hidden":"true",children:"$"}),(0,r.jsx)("input",{ref:g,type:"text",value:i,onChange:e=>d(e.target.value),onKeyDown:e=>{if("ArrowUp"===e.key){if(e.preventDefault(),u.length>0){let e=p<u.length-1?p+1:p;f(e),d(u[u.length-1-e]||"")}}else if("ArrowDown"===e.key)if(e.preventDefault(),p>0){let e=p-1;f(e),d(u[u.length-1-e]||"")}else 0===p&&(f(-1),d(""));else"Escape"===e.key&&c(!1)},className:"flex-1 bg-transparent outline-none font-mono",style:{color:"var(--foreground)",caretColor:"var(--accent)"},autoComplete:"off",spellCheck:!1,"aria-label":"Terminal input"}),(0,r.jsx)("span",{className:"animate-pulse",style:{color:"var(--accent)"},"aria-hidden":"true",children:"▌"})]})]})]})]})}function _(){let e=(0,o.useRouter)(),{theme:a,isFirstVisit:t}=(0,s.D)();return((0,n.useEffect)(()=>{t&&e.push("/intro")},[t,e]),t)?(0,r.jsx)("div",{className:"min-h-screen flex items-center justify-center",style:{background:"var(--background)"},children:(0,r.jsx)("div",{className:"text-2xl animate-pulse",style:{color:"var(--foreground)"},children:"Loading..."})}):(0,r.jsxs)("div",{className:"\n        min-h-screen\n        ".concat("cyber"===a?"scanlines":"","\n        ").concat("terminal"===a?"crt":"","\n      "),style:{background:"var(--background)",color:"var(--foreground)"},children:[(0,r.jsx)(x,{}),(0,r.jsxs)("main",{className:"relative",children:[(0,r.jsx)(p,{}),(0,r.jsx)(g,{}),(0,r.jsx)(v,{}),(0,r.jsx)(S,{})]}),(0,r.jsx)(h,{}),"cyber"===a&&(0,r.jsx)(E,{}),"terminal"===a&&(0,r.jsx)(T,{})]})}},6174:(e,a,t)=>{"use strict";t.d(a,{D:()=>m,ThemeProvider:()=>d});
1var r=t(5155),n=t(2115);let o=(0,n.createContext)(void 0),s="chi1180-portfolio-theme",l="chi1180-portfolio-color-mode",c="chi1180-portfolio-visited",i={minimal:{light:{background:"#ffffff",backgroundSecondary:"#f8fafc",accent:"#3b82f6",accentSecondary:"#eff6ff",text:"#0f172a",textSecondary:"#475569",border:"#e2e8f0"},dark:{background:"#0f172a",backgroundSecondary:"#1e293b",accent:"#60a5fa",accentSecondary:"#1e3a5f",text:"#f1f5f9",textSecondary:"#94a3b8",border:"#334155"}},cyber:{light:{background:"#1a1535",backgroundSecondary:"#231d45",accent:"#e879f9",accentSecondary:"#2d1f3d",text:"#ffffff",textSecondary:"#c4c1e0",border:"#3b2d5a"},dark:{background:"#0c0a1d",backgroundSecondary:"#13102a",accent:"#e879f9",accentSecondary:"#2d1f3d",text:"#f0eeff",textSecondary:"#b8b5d0",border:"#3b2d5a"}},terminal:{light:{background:"#f0f5f0",backgroundSecondary:"#e0ebe0",accent:"#16a34a",accentSecondary:"#dcfce7",text:"#0a2e0a",textSecondary:"#1a5a1a",border:"#a7d4a7"},dark:{background:"#0a0e14",backgroundSecondary:"#0f1419",accent:"#39ff14",accentSecondary:"#0f2910",text:"#b3f5bc",textSecondary:"#73d982",border:"#1a3d1a"}}};function d(e){let{children:a}=e,[t,d]=(0,n.useState)("terminal"),[m,x]=(0,n.useState)("dark"),[u,h]=(0,n.useState)(!0),[p,f]=(0,n.useState)(!1);(0,n.useEffect)(()=>{{let e=localStorage.getItem(s),a=localStorage.getItem(l),t=localStorage.getItem(c);e&&["minimal","cyber","terminal"].includes(e)&&d(e),a&&["light","dark"].includes(a)?x(a):x(window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),h(!t),f(!0)}},[]),(0,n.useEffect)(()=>{p&&function(e,a){let t=i[e][a],r=document.documentElement;r.style.setProperty("--background",t.background),r.style.setProperty("--background-secondary",t.backgroundSecondary),r.style.setProperty("--accent",t.accent),r.style.setProperty("--accent-secondary",t.accentSecondary),r.style.setProperty("--text",t.text),r.style.setProperty("--text-secondary",t.textSecondary),r.style.setProperty("--border",t.border),r.setAttribute("data-theme",e),r.setAttribute("data-color-mode",a)}(t,m)},[t,m,p]);let g=e=>{x(e),localStorage.setItem(l,e)};return p?(0,r.jsx)(o.Provider,{value:{theme:t,setTheme:e=>{d(e),localStorage.setItem(s,e)},colorMode:m,setColorMode:g,toggleColorMode:()=>{g("light"===m?"dark":"light")},isFirstVisit:u,setFirstVisitComplete:()=>{h(!1),localStorage.setItem(c,"true")}},children:a}):(0,r.jsx)("div",{style:{visibility:"hidden",minHeight:"100vh",background:"#0f172a"}})}function m(){let e=(0,n.useContext)(o);if(void 0===e)throw Error("useTheme must be used within a ThemeProvider");return e}}},e=>{e.O(0,[631,441,255,358],()=>e(e.s=61)),_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.