PageSourceSearch

https://ewnetutesfaye.netlify.app/static/js/822.9869e816.chunk.js

js ewnetutesfaye.netlify.app collected 2026-10-03 10:43:03 UTC 9,392 bytes, 154 lines download raw bytes

1"use strict";(self.webpackChunkportsofzeki=self.webpackChunkportsofzeki||[]).push([[822],{2822:(e,t,r)=>{r.r(t),r.d(t,{default:()=>S});var i=r(5464),o=r(3968),n=r(3546),s=r(5043),a=r(579);const l=[{id:1,period:"2021 - Present",title:"Computer Science",institution:"Samara University",description:"Currently pursuing a Bachelor's degree in Computer Science with a focus on software development and system design.",skills:["Java","Python","Algorithms","Data Structures"],gpa:3.5},{id:2,period:"2018 - 2021",title:"High School Diploma",institution:"Sher Ethiopia Secondary School",description:"Completed secondary education with honors, focusing on science and mathematics."},{id:3,period:"January 2024 -  may 202",title:"Fullstack Development BootCamp",institution:"Udemy",description:"Completed secondary education with honors, focusing on science and mathematics.",skills:["React","Nodejs","MoongoDb","Data Structures","Expressjs"]}],d=[{id:1,period:"2024 - Present",title:"Fullstack Developer",company:"Asligroup",type:"Internship",description:"Contributing to scalable web applications development using modern technologies.",skills:["React","Node.js","MongoDB","AWS"],projects:["E-commerce Platform","Admin Dashboard"],impact:["Improved site performance by 40%","Implemented new features"]},{id:2,period:"2023 - Present",title:"Freelance Developer",company:"Self-Employed",type:"Contract",description:"Managing client projects and delivering custom web solutions.",skills:["Vue.js","Firebase","REST APIs","UI/UX"],projects:["Portfolio Sites","Booking System"],impact:["Completed 5+ projects","5-star client ratings"]},{id:3,period:"2024 - Present",title:"Fullstack Developer",company:"Self-Employed",type:"Contract",description:"Contributing to scalable web applications development using modern technologies.",skills:["React","Node.js","MongoDB","AWS","expressjs"],projects:["E-commerce Platform","Admin Dashboard","Tourism Website"],impact:["Improved site performance by 40%","Implemented new features"]}],c=i.Ay.section`
2  min-height: 100vh;
3  padding: 6rem 2rem;
4  background: ${e=>{let{theme:t}=e;return t.background}};
5  position: relative;
6  overflow: hidden;
7
8  &::before {
9    content: '';
10    position: absolute;
11    top: 0;
12    left: 0;
13    width: 45%;
14    height: 100%;
15    background: ${e=>{let{theme:t}=e;return t.gradient}};
16    opacity: 0.05;
17    clip-path: polygon(0 0%, 100% 0%, 70% 100%, 0% 100%);
18  }
19`,h=i.Ay.div`
20  max-width: 1200px;
21  margin: 0 auto;
22  display: grid;
23  grid-template-columns: repeat(2, 1fr);
24  gap: 4rem;
25
26  @media (max-width: 768px) {
27    grid-template-columns: 1fr;
28    gap: 2rem;
29  }
30`,p=i.Ay.div`
31  position: relative;
32`,m=(0,i.Ay)(o.P.h2)`
33  ${e=>{let{theme:t}=e;return t.mixins.headingStyles}};
34  font-size: ${e=>{let{theme:t}=e;return t.sizes["3xl"]}};
35  color: ${e=>{let{theme:t}=e;return t.text}};
36  margin-bottom: 2rem;
37  display: flex;
38  align-items: center;
39  gap: 1rem;
40
41  &::after {
42    content: '';
43    height: 4px;
44    flex: 1;
45    background: ${e=>{let{theme:t}=e;return t.primary}}30;
46    border-radius: 2px;
47  }
48`,u=(0,i.Ay)(o.P.div)`
49  position: relative;
50  padding: 2rem;
51  background: ${e=>{let{theme:t}=e;return t.card}};
52  border-radius: 16px;
53  margin-bottom: 2rem;
54  box-shadow: ${e=>{let{theme:t}=e;return t.shadowMd}};
55  border: 1px solid ${e=>{let{theme:t}=e;return t.border}};
56  transition: transform 0.3s ease, box-shadow 0.3s ease;
57
58  &:hover {
59    transform: translateY(-5px);
60    box-shadow: ${e=>{let{theme:t}=e;return t.shadowLg}};
61  }
62
63  &::before {
64    content: '';
65    position: absolute;
66    left: -12px;
67    top: 24px;
68    width: 24px;
69    height: 24px;
70    background: ${e=>{let{theme:t}=e;return t.primary}};
71    border-radius: 50%;
72    box-shadow: 0 0 0 6px ${e=>{let{theme:t}=e;return t.background}};
73  }
74`,x=i.Ay.h3`
75  ${e=>{let{theme:t}=e;return t.mixins.headingStyles}};
76  font-size: ${e=>{let{theme:t}=e;return t.sizes.xl}};
77  color: ${e=>{let{theme:t}=e;return t.primary}};
78  margin-bottom: 0.5rem;
79`,g=i.Ay.h4`
80  ${e=>{let{theme:t}=e;return t.mixins.bodyStyles}};
81  font-size: ${e=>{let{theme:t}=e;return t.sizes.base}};
82  color: ${e=>{let{theme:t}=e;return t.textLight}};
83  margin-bottom: 1rem;
84`,y=i.Ay.p`
85  ${e=>{let{theme:t}=e;return t.mixins.bodyStyles}};
86  font-size: ${e=>{let{theme:t}=e;return t.sizes.base}};
87  color: ${e=>{let{theme:t}=e;return t.textMuted}};
88  line-height: ${e=>{let{theme:t}=e;return t.lineHeights.relaxed}};
89`,b=i.Ay.span`
90  display: inline-block;
91  padding: 0.25rem 1rem;
92  background: ${e=>{let{theme:t}=e;return t.primary}}15;
93  color: ${e=>{let{theme:t}=e;return t.primary}};
94  border-radius: 20px;
95  font-size: ${e=>{let{theme:t}=e;return t.sizes.sm}}
95;
96  margin-bottom: 1rem;
97`,w=(0,i.Ay)(o.P.div)`
98  position: absolute;
99  left: -2px;
100  top: 0;
101  width: 4px;
102  height: 100%;
103  background: ${e=>{let{theme:t}=e;return t.primary}}30;
104  z-index: 0;
105`,f=(0,i.Ay)(o.P.div)`
106  position: absolute;
107  left: -2px;
108  top: 0;
109  width: 4px;
110  background: ${e=>{let{theme:t}=e;return t.primary}};
111  z-index: 1;
112`,j=(0,i.Ay)(o.P.span)`
113  display: inline-block;
114  padding: 0.25rem 0.75rem;
115  margin: 0.25rem;
116  background: ${e=>{let{theme:t}=e;return t.primary}}15;
117  color: ${e=>{let{theme:t}=e;return t.primary}};
118  border-radius: 15px;
119  font-size: ${e=>{let{theme:t}=e;return t.sizes.sm}};
120  cursor: pointer;
121  
122  &:hover {
123    background: ${e=>{let{theme:t}=e;return t.primary}}30;
124  }
125`,v=i.Ay.input`
126  width: 100%;
127  padding: 0.75rem 1rem;
128  margin-bottom: 2rem;
129  border: 1px solid ${e=>{let{theme:t}=e;return t.border}};
130  border-radius: 8px;
131  background: ${e=>{let{theme:t}=e;return t.card}};
132  color: ${e=>{let{theme:t}=e;return t.text}};
133  
134  &:focus {
135    outline: none;
136    border-color: ${e=>{let{theme:t}=e;return t.primary}};
137  }
138`,$=(0,i.Ay)(o.P.button)`
139  border: none;
140  background: none;
141  color: ${e=>{let{theme:t}=e;return t.primary}};
142  cursor: pointer;
143  font-size: ${e=>{let{theme:t}=e;return t.sizes.sm}};
144  margin-top: 1rem;
145  
146  &:hover {
147    text-decoration: underline;
148  }
149`,k=(0,i.Ay)(o.P.div)`
150  margin-top: 1rem;
151  padding-top: 1rem;
152  border-top: 1px solid ${e=>{let{theme:t}=e;return t.border}};
153`,S=()=>{const[e,t]=(0,s.useState)(""),[r,i]=(0,s.useState)(new Set),[S,A]=(0,s.useState)(0),C=(0,s.useRef)(null),P=l.filter((t=>t.title.toLowerCase().includes(e.toLowerCase())||t.institution.toLowerCase().includes(e.toLowerCase()))),z=d.filter((t=>t.title.toLowerCase().includes(e.toLowerCase())||t.company.toLowerCase().includes(e.toLowerCase()))),L=e=>{i((t=>{const r=new Set(t);return r.has(e)?r.delete(e):r.add(e),r}))};return(0,s.useEffect)((()=>{const e=()=>{if(C.current){const e=C.current,t=window.pageYOffset+window.innerHeight,r=e.offsetTop,i=r+e.offsetHeight,o=Math.min(Math.max((t-r)/(i-r)*100,0),100);A(o)}};return window.addEventListener("scroll",e),()=>window.removeEventListener("scroll",e)}),[]),(0,a.jsxs)(c,{id:"resume",ref:C,children:[(0,a.jsx)(v,{placeholder:"Search education or experience...",value:e,onChange:e=>t(e.target.value)}),(0,a.jsxs)(h,{as:o.P.div,initial:"hidden",whileInView:"visible",viewport:{once:!0},children:[(0,a.jsxs)(p,{children:[(0,a.jsx)(m,{children:"Education \ud83c\udf93"}),(0,a.jsx)(w,{}),(0,a.jsx)(f,{initial:{height:"0%"},style:{height:`${S}%`}}),(0,a.jsx)(n.N,{children:P.map((e=>{var t;return(0,a.jsxs)(u,{initial:{x:-50,opacity:0},animate:{x:0,opacity:1},exit:{x:-50,opacity:0},whileHover:{scale:1.02},children:[(0,a.jsx)(b,{children:e.period}),(0,a.jsx)(x,{children:e.title}),(0,a.jsx)(g,{children:e.institution}),(0,a.jsx)(y,{children:e.description}),(0,a.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:"0.5rem"},children:null===(t=e.skills)||void 0===t?void 0:t.map((e=>(0,a.jsx)(j,{whileHover:{scale:1.1},whileTap:{scale:.95},children:e},e)))}),(0,a.jsx)($,{onClick:()=>L(e.id),children:r.has(e.id)?"Show Less":"Show More"}),(0,a.jsx)(n.N,{children:r.has(e.id)&&(0,a.jsxs)(k,{initial:{height:0,opacity:0},animate:{height:"auto",opacity:1},exit:{height:0,opacity:0},children:[(0,a.jsx)("h4",{children:"Achievements:"}),(0,a.jsx)("ul",{children:e.achievements.map((e=>(0,a.jsx)("li",{children:e},e)))}),(0,a.jsxs)("p",{children:["GPA: ",e.gpa]})]})})]},e.id)}))})]}),(0,a.jsxs)(p,{children:[(0,a.jsx)(m,{children:"Experience \ud83d\udcbc"}),(0,a.jsx)(w,{}),(0,a.jsx)(f,{initial:{height:"0%"},style:{height:`${S}%`}}),(0,a.jsx)(n.N,{children:z.map((e=>{var t;return(0,a.jsxs)(u,{initial:{x:50,opacity:0},animate:{x:0,opacity:1},exit:{x:50,opacity:0},whileHover:{scale:1.02},children:[(0,a.jsx)(b,{children:e.period}),(0,a.jsx)(x,{children:e.title}),(0,a.jsx)(g,{children:`${e.company} - ${e.type}`}),(0,a.jsx)(y,{children:e.description}),(0,a.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:"0.5rem"},children:null===(t=e.skills)||void 0===t?void 0:t.map((e=>(0,a.jsx)(j,{whileHover:{scale:1.1},whileTap:{scale:.95},children:e},e)))}),(0,a.jsx)($,{onClick:()=>L(e.id),children:r.has(e.id)?"Show Less":"Show More"}),(0,a.jsx)(n.N,{children:r.has(e.id)&&(0,a.jsxs)(k,{initial:{height:0,opacity:0}
153,animate:{height:"auto",opacity:1},exit:{height:0,opacity:0},children:[(0,a.jsx)("h4",{children:"Projects:"}),(0,a.jsx)("ul",{children:e.projects.map((e=>(0,a.jsx)("li",{children:e},e)))}),(0,a.jsx)("h4",{children:"Impact:"}),(0,a.jsx)("ul",{children:e.impact.map((e=>(0,a.jsx)("li",{children:e},e)))})]})})]},e.id)}))})]})]})]})}}}]);
154//# sourceMappingURL=822.9869e816.chunk.js.map

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.