Skip to content

Commit 73511ae

Browse files
committed
Refactor About page by modularizing sections into separate components for improved readability
1 parent 8668aa7 commit 73511ae

File tree

6 files changed

+546
-519
lines changed

6 files changed

+546
-519
lines changed

src/assets/styles/about.css

Lines changed: 1 addition & 308 deletions
Original file line numberDiff line numberDiff line change
@@ -59,83 +59,6 @@
5959
transform: translateY(-2px);
6060
}
6161

62-
/* Hero Section */
63-
.hero-section {
64-
position: relative;
65-
text-align: center;
66-
padding: 4rem 1rem;
67-
margin-bottom: 4rem;
68-
border-radius: 1rem;
69-
background: light-dark(var(--bg-light), linear-gradient(135deg, var(--bg-secondary) 0%, var(--bg-dark) 100%));
70-
box-shadow: 2px 5px 10px 3px rgba(0, 0, 0, 0.2);
71-
overflow: hidden;
72-
}
73-
74-
.hero-content {
75-
max-width: 800px;
76-
margin: 0 auto;
77-
z-index: 2;
78-
position: relative;
79-
}
80-
81-
.hero-logo {
82-
max-width: 150px;
83-
height: auto;
84-
margin-bottom: 1.5rem;
85-
display: block;
86-
margin-left: auto;
87-
margin-right: auto;
88-
}
89-
90-
.hero-title {
91-
font-size: 2.5rem;
92-
margin-bottom: 1.5rem;
93-
color: light-dark(var(--text-secondary), var(--text-primary));
94-
text-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
95-
}
96-
97-
.hero-text {
98-
font-size: 1.25rem;
99-
color: light-dark(var(--text-secondary), var(--text-primary));
100-
line-height: 1.6;
101-
margin-bottom: 2rem;
102-
}
103-
104-
.hero-buttons {
105-
display: flex;
106-
justify-content: center;
107-
flex-wrap: wrap;
108-
gap: 1rem;
109-
margin-top: 2rem;
110-
}
111-
112-
.hero-bubbles {
113-
position: absolute;
114-
width: 100%;
115-
height: 100%;
116-
top: 0;
117-
left: 0;
118-
z-index: 1;
119-
pointer-events: none;
120-
}
121-
122-
.bubble {
123-
position: absolute;
124-
background: light-dark(rgb(226, 223, 223), rgba(59, 130, 246, 0.2));
125-
color: light-dark(var(--bg-dark), var(--bg-light));
126-
border-radius: 50%;
127-
display: flex;
128-
justify-content: center;
129-
align-items: center;
130-
font-size: calc(var(--size) * 0.6);
131-
animation: float-up 15s linear infinite;
132-
animation-delay: calc(var(--i) * 2s);
133-
width: var(--size);
134-
height: var(--size);
135-
bottom: -10%;
136-
left: calc(10% + var(--i) * 12%);
137-
}
138-
13962
/* Sections */
14063
.section {
14164
max-width: 1200px;
@@ -148,6 +71,7 @@
14871
text-align: center;
14972
margin-bottom: 1rem;
15073
color: light-dark(var(--text-secondary), var(--text-primary));
74+
position: relative;
15175
}
15276

15377
.section-subtitle {
@@ -170,239 +94,8 @@
17094
border-radius: 2px;
17195
}
17296

173-
/* Features Section */
174-
.features-section {
175-
margin-bottom: 4rem;
176-
}
177-
178-
.features-grid {
179-
display: grid;
180-
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
181-
gap: 2rem;
182-
}
183-
184-
.feature-card {
185-
background: light-dark(var(--bg-light), var(--bg-secondary));
186-
border-radius: 1rem;
187-
padding: 2rem;
188-
transition: transform 0.3s ease;
189-
box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.2);
190-
border: 1px solid rgba(59, 130, 246, 0.2);
191-
display: flex;
192-
flex-direction: column;
193-
align-items: center;
194-
text-align: center;
195-
}
196-
197-
.feature-card:hover {
198-
transform: translateY(-10px);
199-
}
200-
201-
.feature-icon {
202-
font-size: 3rem;
203-
margin-bottom: 1.5rem;
204-
color: var(--accent-color);
205-
}
206-
207-
.feature-title {
208-
font-size: 1.5rem;
209-
margin-bottom: 1rem;
210-
color: light-dark(var(--primary), var(--text-main));
211-
}
212-
213-
.feature-desc {
214-
color: light-dark(var(--bg-dark), var(--text-primary));
215-
line-height: 1.6;
216-
}
217-
218-
/* Team Section */
219-
.team-section {
220-
margin-bottom: 4rem;
221-
}
222-
223-
.team-grid {
224-
display: grid;
225-
grid-template-columns: repeat(3, 1fr);
226-
gap: 2rem;
227-
}
228-
229-
.team-card {
230-
background: light-dark(var(--bg-light), var(--bg-secondary));
231-
border-radius: 1rem;
232-
padding: 2rem;
233-
text-align: center;
234-
transition: all 0.3s ease;
235-
box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.2);
236-
display: flex;
237-
flex-direction: column;
238-
align-items: center;
239-
}
240-
241-
.team-card:hover {
242-
transform: translateY(-5px);
243-
box-shadow: 0 15px 20px -5px rgba(0, 0, 0, 0.3);
244-
}
245-
246-
.team-image-container {
247-
position: relative;
248-
width: 140px;
249-
height: 140px;
250-
margin: 0 auto 1.5rem;
251-
}
252-
253-
.team-avatar {
254-
width: 100%;
255-
height: 100%;
256-
border-radius: 50%;
257-
display: flex;
258-
justify-content: center;
259-
align-items: center;
260-
font-size: 2.5rem;
261-
font-weight: bold;
262-
color: white;
263-
position: relative;
264-
z-index: 2;
265-
}
266-
267-
.team-image-border {
268-
position: absolute;
269-
top: -5px;
270-
left: -5px;
271-
right: -5px;
272-
bottom: -5px;
273-
border-radius: 50%;
274-
background: linear-gradient(45deg, var(--primary), var(--accent));
275-
z-index: 1;
276-
animation: rotate-border 4s linear infinite;
277-
}
278-
279-
.team-name {
280-
font-size: 1.5rem;
281-
margin-bottom: 0.5rem;
282-
color: var(--primary-light);
283-
}
284-
285-
.team-role {
286-
color: light-dark(var(--bg-dark), var(--text-main));
287-
font-style: italic;
288-
margin-bottom: 1rem;
289-
}
290-
291-
.team-desc {
292-
color: light-dark(var(--bg-dark), var(--text-primary));
293-
line-height: 1.6;
294-
}
295-
296-
.team-github-link {
297-
display: flex;
298-
align-items: center;
299-
gap: 0.5rem;
300-
margin-top: 1rem;
301-
color: var(--primary-light);
302-
text-decoration: none;
303-
transition: color 0.3s ease;
304-
}
305-
306-
.team-github-link:hover {
307-
color: var(--primary);
308-
}
309-
310-
.github-icon {
311-
width: 1.5rem;
312-
height: 1.5rem;
313-
}
314-
315-
/* Tech Section */
316-
.tech-section {
317-
background: light-dark(var(--bg-light), var(--bg-secondary));
318-
box-shadow: 2px 5px 10px 3px rgba(0, 0, 0, 0.2);
319-
border-radius: 1rem;
320-
padding: 4rem 2rem;
321-
text-align: center;
322-
}
323-
324-
.tech-content {
325-
max-width: 800px;
326-
margin: 0 auto;
327-
}
328-
329-
.tech-text {
330-
font-size: 1.25rem;
331-
color: light-dark(var(--bg-dark), var(--text-primary));
332-
margin-bottom: 2rem;
333-
line-height: 1.6;
334-
}
335-
336-
.tech-icons {
337-
display: flex;
338-
justify-content: center;
339-
gap: 2rem;
340-
flex-wrap: wrap;
341-
}
342-
343-
.tech-icon {
344-
font-size: 2.5rem;
345-
animation: bounce 2s ease infinite;
346-
animation-delay: calc(var(--i) * 0.2s);
347-
}
348-
349-
/* Animations */
350-
@keyframes float-up {
351-
0% {
352-
transform: translateY(0) rotate(0deg);
353-
opacity: 0;
354-
}
355-
10% {
356-
opacity: 1;
357-
}
358-
100% {
359-
transform: translateY(-100vh) rotate(360deg);
360-
opacity: 0;
361-
}
362-
}
363-
364-
@keyframes rotate-border {
365-
0% {
366-
transform: rotate(0deg);
367-
}
368-
100% {
369-
transform: rotate(360deg);
370-
}
371-
}
372-
373-
@keyframes bounce {
374-
0%, 100% {
375-
transform: translateY(0);
376-
}
377-
50% {
378-
transform: translateY(-10px);
379-
}
380-
}
381-
382-
/* Responsive Styles */
38397
@media (max-width: 768px) {
384-
.hero-logo {
385-
max-width: 120px;
386-
}
387-
388-
.hero-title {
389-
font-size: 1.8rem;
390-
}
391-
392-
.hero-text {
393-
font-size: 1rem;
394-
}
395-
39698
.section-title {
39799
font-size: 1.5rem;
398100
}
399-
400-
.team-image-container {
401-
width: 120px;
402-
height: 120px;
403-
}
404-
405-
.tech-section {
406-
padding: 3rem 1rem;
407-
}
408101
}

0 commit comments

Comments
 (0)