Skip to content

Commit d2c6c87

Browse files
author
Alexia Michelle
committed
feat: Implement glassmorphism design and refine dark theme UI with new background effects and updated component styles.
1 parent 98814d8 commit d2c6c87

4 files changed

Lines changed: 161 additions & 61 deletions

File tree

src/components/HomepageFeatures/styles.module.css

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,22 +6,29 @@
66
}
77

88
.featureCard {
9-
background: rgba(255, 255, 255, 0.02);
10-
border: 1px solid rgba(255, 255, 255, 0.05);
11-
border-radius: 16px;
12-
padding: 2.5rem;
9+
background: var(--glass-bg);
10+
backdrop-filter: var(--glass-blur);
11+
-webkit-backdrop-filter: var(--glass-blur);
12+
border: 1px solid var(--glass-border);
13+
border-radius: 20px;
14+
padding: 3rem 2rem;
1315
text-align: center;
14-
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
16+
transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
1517
height: 100%;
18+
display: flex;
19+
flex-direction: column;
20+
align-items: center;
1621
}
1722

23+
1824
.featureCard:hover {
19-
transform: translateY(-8px);
20-
background: rgba(255, 255, 255, 0.04);
21-
border-color: rgba(162, 155, 254, 0.3);
22-
box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4);
25+
transform: translateY(-12px);
26+
background: rgba(255, 255, 255, 0.06);
27+
border-color: rgba(175, 115, 255, 0.4);
28+
box-shadow: 0 30px 60px rgba(0, 0, 0, 0.5), 0 0 30px rgba(175, 115, 255, 0.2);
2329
}
2430

31+
2532
.featureSvg {
2633
height: 80px;
2734
width: 80px;

src/css/custom.css

Lines changed: 49 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -30,45 +30,70 @@
3030

3131
/* Premium Dark overrides */
3232
[data-theme='dark'] {
33-
--ifm-background-color: #06010d;
34-
/* Even deeper dark */
35-
--ifm-navbar-background-color: #06010d;
36-
--ifm-footer-background-color: #030005;
37-
/* Deepest footer */
33+
--ifm-background-color: #08080a;
34+
/* Refined charcoal background */
35+
--ifm-navbar-background-color: rgba(8, 8, 10, 0.7);
36+
--ifm-footer-background-color: #08080a;
37+
/* Unified with background */
3838

39-
--ifm-font-color-base: #e9ecef;
39+
--ifm-font-color-base: #eceef2;
4040
--ifm-heading-color: #ffffff;
4141

42-
--ifm-color-primary: #a29bfe;
43-
--ifm-color-primary-dark: #8179f8;
44-
--ifm-color-primary-darker: #7167f7;
45-
--ifm-color-primary-darkest: #4333f4;
46-
--ifm-color-primary-light: #c3befd;
47-
--ifm-color-primary-lighter: #d4d0fe;
48-
--ifm-color-primary-lightest: #f1f0ff;
42+
/* More vibrant accents */
43+
--ifm-color-primary: #af73ff;
44+
--ifm-color-primary-dark: #9646ff;
45+
--ifm-color-primary-darker: #8930ff;
46+
--ifm-color-primary-darkest: #6a00f4;
47+
--ifm-color-primary-light: #c8a2ff;
48+
--ifm-color-primary-lighter: #d4b8ff;
49+
--ifm-color-primary-lightest: #f0e6ff;
4950

50-
--ifm-contents-border-color: rgba(255, 255, 255, 0.03);
51-
--ifm-toc-border-color: rgba(255, 255, 255, 0.03);
51+
--ifm-contents-border-color: rgba(255, 255, 255, 0.06);
52+
--ifm-toc-border-color: rgba(255, 255, 255, 0.06);
5253

53-
/* Modern Depth */
54-
--glow-accent: rgba(162, 155, 254, 0.15);
54+
/* Modern Depth & Glassmorphism */
55+
--glow-accent: rgba(175, 115, 255, 0.25);
56+
--glass-bg: rgba(255, 255, 255, 0.03);
57+
--glass-border: rgba(255, 255, 255, 0.08);
58+
--glass-blur: blur(12px);
5559
}
5660

61+
5762
/* Layout Polish */
5863
.navbar {
59-
box-shadow: 0 4px 30px rgba(0, 0, 0, 0.3);
60-
backdrop-filter: blur(10px);
61-
-webkit-backdrop-filter: blur(10px);
62-
border-bottom: 1px solid rgba(255, 255, 255, 0.03);
64+
box-shadow: 0 4px 30px rgba(0, 0, 0, 0.5);
65+
backdrop-filter: var(--glass-blur);
66+
-webkit-backdrop-filter: var(--glass-blur);
67+
border-bottom: 1px solid var(--glass-border);
68+
background: var(--ifm-navbar-background-color);
6369
}
6470

71+
6572
.footer {
66-
background: var(--ifm-footer-background-color);
67-
border-top: 1px solid rgba(255, 255, 255, 0.03);
73+
background-color: var(--ifm-background-color) !important;
74+
border-top: none !important;
6875
text-align: center;
69-
padding: 5rem 0;
76+
padding: 8rem 0;
77+
/* More padding for a premium feel */
78+
position: relative;
79+
overflow: hidden;
80+
}
81+
82+
83+
84+
.footer::before {
85+
content: '';
86+
position: absolute;
87+
top: 0;
88+
left: 0;
89+
right: 0;
90+
height: 1px;
91+
background: linear-gradient(90deg, transparent, var(--ifm-color-primary), transparent);
92+
opacity: 0.2;
7093
}
7194

95+
96+
7297
.footer__links {
7398
justify-content: center;
7499
margin-bottom: 2rem;

src/pages/index.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,11 +122,12 @@ export default function Home() {
122122
description: 'The description of the homepage',
123123
})}>
124124
<HomepageHeader />
125-
<main>
125+
<main className={styles.mainBackground}>
126126
<HomepageScreenshot />
127127
<CockpitSection />
128128
<HomepageFeatures />
129129
</main>
130+
130131
</Layout>
131132
);
132133
}

src/pages/index.module.css

Lines changed: 94 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -4,33 +4,81 @@
44
*/
55

66
.heroBanner {
7-
padding: 10rem 0;
7+
padding: 12rem 0;
88
text-align: center;
99
position: relative;
1010
overflow: hidden;
11-
background: radial-gradient(circle at 50% 120%, #1a0233 0%, #06010d 100%);
11+
background: var(--ifm-background-color);
12+
}
13+
14+
15+
.heroBanner::before,
16+
.heroBanner::after {
17+
content: '';
18+
position: absolute;
19+
width: 500px;
20+
height: 500px;
21+
border-radius: 50%;
22+
filter: blur(100px);
23+
z-index: 0;
24+
opacity: 0.15;
25+
pointer-events: none;
26+
}
27+
28+
.heroBanner::before {
29+
background: var(--ifm-color-primary);
30+
top: -100px;
31+
left: -100px;
32+
animation: drift 20s infinite alternate ease-in-out;
33+
}
34+
35+
.heroBanner::after {
36+
background: #6a00f4;
37+
bottom: -100px;
38+
right: -100px;
39+
animation: drift 25s infinite alternate-reverse ease-in-out;
40+
}
41+
42+
@keyframes drift {
43+
from {
44+
transform: translate(0, 0) scale(1);
45+
}
46+
47+
to {
48+
transform: translate(100px, 50px) scale(1.1);
49+
}
50+
}
51+
52+
.heroBanner :global(.container) {
53+
position: relative;
54+
z-index: 1;
1255
}
1356

57+
1458
.heroBanner :global(.hero__title) {
15-
font-size: 5rem;
16-
font-weight: 800;
17-
letter-spacing: -0.04em;
18-
margin-bottom: 1rem;
19-
background: linear-gradient(180deg, #fff 0%, rgba(255, 255, 255, 0.7) 100%);
59+
font-size: 5.5rem;
60+
font-weight: 850;
61+
letter-spacing: -0.05em;
62+
margin-bottom: 1.5rem;
63+
background: linear-gradient(to bottom, #fff 30%, #a29bfe 100%);
2064
-webkit-background-clip: text;
2165
background-clip: text;
2266
-webkit-text-fill-color: transparent;
67+
line-height: 1.1;
2368
}
2469

70+
2571
.heroBanner :global(.hero__subtitle) {
26-
font-size: 1.5rem;
27-
color: #a0aec0;
28-
max-width: 800px;
29-
margin: 0 auto 3rem;
72+
font-size: 1.6rem;
73+
color: #94a3b8;
74+
max-width: 650px;
75+
margin: 0 auto 3.5rem;
3076
font-weight: 400;
77+
line-height: 1.6;
3178
}
3279

3380

81+
3482
@media screen and (max-width: 996px) {
3583
.heroBanner {
3684
padding: 4rem 2rem;
@@ -48,42 +96,61 @@
4896
}
4997

5098
.screenshotSection {
51-
background: var(--ifm-background-color);
52-
padding: 4rem 0;
99+
background: transparent;
100+
padding: 6rem 0;
53101
position: relative;
54102
}
55103

104+
56105
.desktopScreenshot {
57106
max-width: 1000px;
58107
width: 100%;
59-
border-radius: 12px;
60-
box-shadow: 0 30px 60px rgba(0, 0, 0, 0.8), 0 0 20px rgba(162, 155, 254, 0.1);
61-
border: 1px solid rgba(255, 255, 255, 0.1);
62-
margin-top: 2rem;
108+
border-radius: 16px;
109+
box-shadow: 0 40px 80px rgba(0, 0, 0, 0.9), 0 0 40px rgba(175, 115, 255, 0.05);
110+
border: 1px solid var(--glass-border);
111+
margin-top: 3rem;
63112
position: relative;
64113
z-index: 2;
114+
background: rgba(255, 255, 255, 0.01);
115+
backdrop-filter: var(--glass-blur);
116+
}
117+
118+
119+
120+
/* Unified background for all sections below hero */
121+
.mainBackground {
122+
background: var(--ifm-background-color);
123+
position: relative;
124+
overflow: hidden;
125+
margin-top: -1px;
126+
/* Remove any potential sub-pixel gaps */
65127
}
66128

67-
/* Central glow effect behind images */
68-
.screenshotSection::before,
69-
.cockpitSection::before {
129+
.mainBackground::before {
70130
content: '';
71131
position: absolute;
72-
top: 50%;
132+
top: -200px;
133+
/* Overlap with hero for seamless glow */
73134
left: 50%;
74-
transform: translate(-50%, -50%);
75-
width: 80%;
76-
height: 80%;
77-
background: radial-gradient(circle, rgba(162, 155, 254, 0.08) 0%, transparent 70%);
135+
transform: translateX(-50%);
136+
width: 200%;
137+
height: 2000px;
138+
background: radial-gradient(circle at 50% 10%, rgba(175, 115, 255, 0.04) 0%, transparent 60%);
78139
pointer-events: none;
79-
z-index: 1;
140+
z-index: 0;
80141
}
81142

143+
144+
145+
146+
147+
82148
.cockpitSection {
83-
background: var(--ifm-background-color);
149+
background: transparent;
84150
position: relative;
85151
}
86152

153+
87154
.cockpitImageGrid {
88155
position: relative;
89156
height: 400px;

0 commit comments

Comments
 (0)