Skip to content

Commit fac31f4

Browse files
committed
updated demo homeview class to make it more readable
1 parent ddd8ced commit fac31f4

File tree

2 files changed

+315
-294
lines changed
  • jlmap-vaadin-demo/src/main

2 files changed

+315
-294
lines changed

jlmap-vaadin-demo/src/main/frontend/themes/jlmap-vaadin-demo/styles.css

Lines changed: 177 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,180 @@
77
/* Vaadin overlays always on top */
88
.v-overlay-container {
99
z-index: 3000 !important;
10-
}
10+
}
11+
12+
/* Google-quality, pixel-perfect left menu styles */
13+
.jlmap-menu {
14+
position: absolute;
15+
top: 64px;
16+
left: 40px;
17+
z-index: 10;
18+
background: rgba(255, 255, 255, 0.55);
19+
border-radius: 18px;
20+
box-shadow: 0 2px 16px 0 rgba(60, 64, 67, 0.10), 0 1.5px 4px 0 rgba(60, 64, 67, 0.10);
21+
padding: 32px 20px 32px 20px;
22+
min-width: 270px;
23+
max-width: 320px;
24+
max-height: calc(100vh - 128px);
25+
display: flex;
26+
flex-direction: column;
27+
gap: 32px;
28+
align-items: stretch;
29+
pointer-events: auto;
30+
overflow-y: auto;
31+
-webkit-backdrop-filter: blur(24px) saturate(180%) brightness(1.15) contrast(1.15);
32+
backdrop-filter: blur(24px) saturate(180%) brightness(1.15) contrast(1.15);
33+
border: 1.5px solid rgba(255, 255, 255, 0.35);
34+
bottom: 64px;
35+
}
36+
37+
.jlmap-menu::before {
38+
/* Animated caustic SVG overlay for liquid glass effect */
39+
content: "";
40+
position: absolute;
41+
top: 0;
42+
left: 0;
43+
right: 0;
44+
bottom: 0;
45+
pointer-events: none;
46+
border-radius: inherit;
47+
z-index: 1;
48+
background: url('data:image/svg+xml;utf8,<svg width=\'400\' height=\'400\' xmlns=\'http://www.w3.org/2000/svg\'><defs><radialGradient id=\'g1\' cx=\'50%\' cy=\'50%\' r=\'0.7\'><stop offset=\'0%\' stop-color=\'#fff8\'/><stop offset=\'100%\' stop-color=\'#fff0\'/></radialGradient></defs><ellipse cx=\'200\' cy=\'200\' rx=\'180\' ry=\'120\' fill=\'url(%23g1)\'/><ellipse cx=\'120\' cy=\'80\' rx=\'60\' ry=\'40\' fill=\'url(%23g1)\' opacity=\'0.5\'/><ellipse cx=\'300\' cy=\'320\' rx=\'70\' ry=\'50\' fill=\'url(%23g1)\' opacity=\'0.4\'/></svg>');
49+
background-size: 200% 200%;
50+
background-repeat: no-repeat;
51+
mix-blend-mode: lighten;
52+
opacity: 0.45;
53+
animation: jlmap-liquid-caustic 12s ease-in-out infinite alternate;
54+
}
55+
56+
@keyframes jlmap-liquid-caustic {
57+
0% {
58+
background-position: 0% 0%;
59+
}
60+
100% {
61+
background-position: 100% 100%;
62+
}
63+
}
64+
65+
.jlmap-menu::after {
66+
/* Soft edge glow for depth */
67+
content: "";
68+
position: absolute;
69+
top: 0;
70+
left: 0;
71+
right: 0;
72+
bottom: 0;
73+
pointer-events: none;
74+
border-radius: inherit;
75+
z-index: 2;
76+
box-shadow: 0 0 32px 8px rgba(255, 255, 255, 0.18) inset, 0 0 0 2px rgba(255, 255, 255, 0.10) inset;
77+
}
78+
79+
.jlmap-menu > * {
80+
position: relative;
81+
z-index: 3;
82+
}
83+
84+
.jlmap-menu-content {
85+
flex: 1 1 auto;
86+
overflow-y: auto;
87+
min-height: 0;
88+
display: flex;
89+
flex-direction: column;
90+
gap: 32px;
91+
}
92+
93+
.jlmap-menu-section {
94+
display: flex;
95+
flex-direction: column;
96+
gap: 12px;
97+
}
98+
99+
.jlmap-menu-section-title {
100+
font-size: 1.1rem;
101+
font-weight: 600;
102+
color: #202124;
103+
margin-bottom: 6px;
104+
letter-spacing: 0.01em;
105+
}
106+
107+
.jlmap-menu-item {
108+
background: none;
109+
border: none;
110+
border-radius: 8px;
111+
padding: 10px 14px;
112+
font-size: 1rem;
113+
color: #444;
114+
text-align: left;
115+
transition: background 0.15s, color 0.15s;
116+
cursor: pointer;
117+
outline: none;
118+
font-family: inherit;
119+
}
120+
121+
.jlmap-menu-item:hover, .jlmap-menu-item:focus {
122+
background: #ffffff;
123+
color: #000000;
124+
}
125+
126+
.jlmap-menu-item:active {
127+
background: #ffffff;
128+
color: #000000;
129+
}
130+
131+
.jlmap-menu-footer {
132+
flex-shrink: 0;
133+
position: sticky;
134+
bottom: 0;
135+
left: 0;
136+
width: 100%;
137+
display: block;
138+
margin-top: auto;
139+
padding: 18px 0 0 0;
140+
text-align: center;
141+
font-size: 1.04rem;
142+
font-weight: 500;
143+
color: #174ea6;
144+
background: linear-gradient(to top, rgba(255,255,255,0.32) 80%, rgba(255,255,255,0.01) 100%);
145+
text-decoration: none;
146+
border-top: 1px solid rgba(255,255,255,0.18);
147+
z-index: 4;
148+
transition: color 0.18s;
149+
}
150+
151+
.jlmap-menu-footer:hover, .jlmap-menu-footer:focus {
152+
color: #0b254a;
153+
text-decoration: underline;
154+
}
155+
156+
.jlmap-github-icon {
157+
display: inline-flex;
158+
vertical-align: middle;
159+
margin-right: 8px;
160+
height: 20px;
161+
width: 20px;
162+
align-items: center;
163+
justify-content: center;
164+
}
165+
166+
@media (max-width: 700px) {
167+
.jlmap-menu {
168+
top: 16px;
169+
left: 8px;
170+
margin: 0;
171+
padding: 12px 4px 12px 4px;
172+
min-width: 160px;
173+
max-width: 95vw;
174+
max-height: calc(100vh - 32px);
175+
bottom: 16px;
176+
}
177+
178+
.jlmap-menu-section-title {
179+
font-size: 1rem;
180+
}
181+
182+
.jlmap-menu-item {
183+
font-size: 0.97rem;
184+
padding: 8px 8px;
185+
}
186+
}

0 commit comments

Comments
 (0)