Skip to content

Commit 7ca7a44

Browse files
committed
Bug(resolved) redesigned profile page and enhanced heatmap structure with structured layout
1 parent fcb8c02 commit 7ca7a44

7 files changed

Lines changed: 945 additions & 261 deletions

File tree

‎frontend/css/pwa.css‎

Lines changed: 132 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -1,84 +1,160 @@
1-
/* pwa.css */
1+
/* PWA Install Banner - polished */
2+
:root{
3+
--pwa-bg: rgba(255,252,246,0.98);
4+
--pwa-border: rgba(93,64,55,0.08);
5+
--pwa-ink: #2c2420;
6+
--pwa-subtle: #7a6b61;
7+
--pwa-accent-1: #5d4037;
8+
--pwa-accent-2: #8d6e63;
9+
}
210

11+
#pwa-install-banner,
312
.pwa-install-banner {
4-
position: fixed;
5-
bottom: 20px;
6-
left: 50%;
7-
transform: translateX(-50%);
8-
display: flex;
9-
justify-content: center;
10-
align-items: center;
11-
padding: 16px 24px;
12-
background: #fff;
13-
border-radius: 12px;
14-
box-shadow: 0 4px 20px rgba(0,0,0,0.15);
15-
z-index: 10000;
13+
position: fixed;
14+
left: 50%;
15+
bottom: 1.25rem;
16+
transform: translateX(-50%) translateY(10px);
17+
z-index: 10000;
18+
display: flex;
19+
align-items: center;
20+
justify-content: space-between;
21+
gap: 1rem;
22+
width: min(520px, calc(100vw - 2rem));
23+
padding: 1rem 1.1rem;
24+
border-radius: 14px;
25+
border: 1px solid var(--pwa-border);
26+
background: var(--pwa-bg);
27+
color: var(--pwa-ink);
28+
box-shadow: 0 10px 30px rgba(44,36,32,0.12);
29+
backdrop-filter: blur(10px);
30+
-webkit-backdrop-filter: blur(10px);
31+
opacity: 0;
32+
pointer-events: auto;
33+
transition: opacity 0.22s ease, transform 0.22s ease;
1634
}
1735

18-
.pwa-banner-icon {
19-
height: 100px;
20-
margin-bottom: 0px;
36+
#pwa-install-banner.pwa-banner-visible,
37+
.pwa-install-banner.pwa-banner-visible {
38+
opacity: 1;
39+
transform: translateX(-50%) translateY(0);
2140
}
2241

2342
.pwa-banner-content {
24-
display: block;
25-
align-items: center;
26-
justify-content: center;
27-
gap: 12px;
43+
display: flex;
44+
align-items: center;
45+
gap: 0.9rem;
46+
min-width: 0;
47+
}
2848

29-
text-align: center;
49+
.pwa-banner-icon {
50+
width: 40px;
51+
height: 40px;
52+
border-radius: 10px;
53+
object-fit: cover;
54+
flex: 0 0 auto;
55+
box-shadow: 0 6px 14px rgba(44,36,32,0.10);
56+
background: linear-gradient(180deg, rgba(255,255,255,0.25), rgba(0,0,0,0.02));
3057
}
3158

3259
.pwa-banner-text {
33-
margin-bottom: 15px;
60+
display: flex;
61+
flex-direction: column;
62+
gap: 0.12rem;
63+
min-width: 0;
3464
}
3565

36-
.pwa-banner-actions {
37-
display: flex;
38-
justify-content: center;
39-
align-items: center;
40-
gap: 10px;
66+
.pwa-banner-text strong {
67+
font-family: 'Playfair Display', serif;
68+
font-size: 1.02rem;
69+
line-height: 1.18;
70+
color: var(--pwa-ink);
4171
}
4272

73+
.pwa-banner-text span {
74+
color: var(--pwa-subtle);
75+
font-size: 0.92rem;
76+
line-height: 1.32;
77+
}
4378

79+
.pwa-banner-actions {
80+
display: flex;
81+
align-items: center;
82+
gap: 0.6rem;
83+
flex: 0 0 auto;
84+
}
4485

45-
/* CSS */
46-
.pwa-install-btn {
47-
background-color: #fbeee0;
48-
border: 2px solid #422800;
49-
border-radius: 30px;
50-
box-shadow: #422800 4px 4px 0 0;
51-
color: #422800;
86+
.pwa-install-btn,
87+
.pwa-dismiss-btn {
88+
border: none;
89+
border-radius: 12px;
5290
cursor: pointer;
53-
display: inline-block;
54-
font-weight: 600;
55-
font-size: 18px;
56-
padding: 0 18px;
57-
line-height: 50px;
58-
text-align: center;
59-
text-decoration: none;
60-
user-select: none;
61-
-webkit-user-select: none;
62-
touch-action: manipulation;
63-
margin-bottom: 15px;
91+
transition: transform 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease;
92+
display: inline-flex;
93+
align-items: center;
94+
justify-content: center;
6495
}
6596

66-
.pwa-install-btn:hover {
67-
background-color: #fff;
97+
.pwa-install-btn {
98+
padding: 0.56rem 0.95rem;
99+
background: linear-gradient(180deg, var(--pwa-accent-1), var(--pwa-accent-2));
100+
color: #fff;
101+
font-family: Georgia, serif;
102+
font-size: 0.95rem;
103+
font-weight: 600;
104+
box-shadow: 0 8px 18px rgba(93,64,55,0.16);
68105
}
69106

70-
.pwa-install-btn:active {
71-
box-shadow: #422800 2px 2px 0 0;
72-
transform: translate(2px, 2px);
107+
.pwa-install-btn svg {
108+
width: 16px;
109+
height: 16px;
110+
margin-right: 0.45rem;
73111
}
74112

75-
@media (min-width: 768px) {
76-
.button-74 {
77-
min-width: 120px;
78-
padding: 0 25px;
79-
}
113+
.pwa-install-btn:hover,
114+
.pwa-install-btn:focus-visible {
115+
transform: translateY(-2px);
116+
box-shadow: 0 14px 28px rgba(93,64,55,0.22);
117+
outline: none;
80118
}
81119

82120
.pwa-dismiss-btn {
83-
display: none;
121+
width: 36px;
122+
height: 36px;
123+
background: rgba(93,64,55,0.06);
124+
color: var(--pwa-ink);
125+
}
126+
127+
.pwa-dismiss-btn:hover,
128+
.pwa-dismiss-btn:focus-visible {
129+
background: rgba(93,64,55,0.12);
130+
transform: translateY(-2px);
131+
outline: none;
132+
}
133+
134+
@media (max-width: 640px) {
135+
#pwa-install-banner,
136+
.pwa-install-banner {
137+
width: calc(100vw - 1rem);
138+
left: 50%;
139+
bottom: 0.6rem;
140+
padding: 0.9rem;
141+
border-radius: 12px;
142+
flex-direction: column;
143+
align-items: stretch;
144+
gap: 0.6rem;
145+
}
146+
147+
.pwa-banner-content {
148+
width: 100%;
149+
}
150+
151+
.pwa-banner-actions {
152+
justify-content: space-between;
153+
width: 100%;
154+
}
155+
156+
.pwa-install-btn {
157+
flex: 1;
158+
padding: 0.6rem 0.8rem;
159+
}
84160
}

0 commit comments

Comments
 (0)