Skip to content

Commit 0dffbfb

Browse files
committed
Use responsive CSS custom properties for chart layout
1 parent d486860 commit 0dffbfb

3 files changed

Lines changed: 20 additions & 35 deletions

File tree

‎src/components/charts/ScrollScatter.svelte‎

Lines changed: 12 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,7 @@
212212
controlsMetric={"oracle/nop"}
213213
{rangeW}
214214
{rangeH}
215-
padding={windowW >= 700 ? 192 : 32}
215+
padding={rangeH ? rangeH * 0.2 : 32}
216216
/>
217217
<Range
218218
min={0}
@@ -222,7 +222,7 @@
222222
controlsMetric={"agent/nop"}
223223
{rangeW}
224224
{rangeH}
225-
padding={windowW >= 700 ? 156 : 54}
225+
padding={rangeW ? rangeW * 0.16 : 54}
226226
/>
227227
{/if}
228228
</div>
@@ -311,10 +311,11 @@
311311
}
312312
313313
.chart-container {
314+
--chart-padding: clamp(2rem, 8%, 6rem);
314315
width: 100%;
315316
height: 100%;
316317
overflow: hidden;
317-
padding: 6rem;
318+
padding: var(--chart-padding);
318319
position: relative;
319320
}
320321
@@ -362,20 +363,20 @@
362363
}
363364
364365
.label-price {
365-
top: 8.25rem;
366-
left: -1.5rem;
366+
top: calc(var(--chart-padding) + 2.25rem);
367+
left: calc(var(--chart-padding) * -0.25);
367368
transform: rotate(-90deg);
368369
}
369370
370371
.label-rating {
371-
right: 2.5rem;
372-
bottom: 2rem;
372+
right: calc(var(--chart-padding) * 0.4);
373+
bottom: calc(var(--chart-padding) * 0.33);
373374
transform: translate(-50%, 0);
374375
}
375376
376377
.label-aggregation {
377-
left: 6.5rem;
378-
bottom: 2rem;
378+
left: calc(var(--chart-padding) + 0.5rem);
379+
bottom: calc(var(--chart-padding) * 0.33);
379380
font-size: var(--14px);
380381
color: var(--text-primary);
381382
}
@@ -395,33 +396,17 @@
395396
width: 100%;
396397
height: 100%;
397398
z-index: 1000;
398-
padding: 6rem;
399+
padding: var(--chart-padding);
399400
pointer-events: none;
400401
overflow: hidden;
401402
}
402403
403404
@media (max-width: 700px) {
404405
.chart-container {
405-
padding: 3rem 2rem;
406-
}
407-
408-
.range-wrapper {
409-
padding: 3rem 2rem;
410-
}
411-
412-
.label-price {
413-
top: 5rem;
414-
left: -2.5rem;
415-
}
416-
417-
.label-rating {
418-
right: -1.5rem;
419-
bottom: -0.5rem;
406+
--chart-padding: clamp(1.5rem, 6%, 3rem);
420407
}
421408
422409
.label-aggregation {
423-
left: 2.5rem;
424-
bottom: -0.5rem;
425410
font-size: var(--12px);
426411
}
427412

‎src/components/helpers/Range.svelte‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -120,15 +120,15 @@
120120
transform: rotate(-90deg) translate(-100%, 0);
121121
transform-origin: left top;
122122
top: 4.25rem;
123-
left: calc(100% - 6rem);
123+
left: calc(100% - var(--chart-padding, 6rem));
124124
pointer-events: auto;
125125
overflow: visible;
126126
}
127127
128128
#range-oracle-nop {
129129
position: absolute;
130130
pointer-events: auto;
131-
left: 78px;
131+
left: var(--chart-padding, 6rem);
132132
top: 10%;
133133
}
134134
@@ -284,13 +284,13 @@
284284
285285
@media (max-width: 700px) {
286286
#range-agent-nop {
287-
left: calc(100% - 2rem);
287+
left: calc(100% - var(--chart-padding, 2rem));
288288
top: 1rem;
289289
z-index: 1001;
290290
}
291291
292292
#range-oracle-nop {
293-
left: 1.5rem;
293+
left: var(--chart-padding, 1.5rem);
294294
top: calc(100% - 4rem);
295295
}
296296

‎src/components/layercake/ScrollScatter.svg.svelte‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -249,7 +249,7 @@
249249
});
250250
251251
const indicators = [];
252-
const padding = 20;
252+
const padding = Math.max(14, Math.min(20, $width * 0.03));
253253
254254
// Right edge
255255
if (overflow.right.length > 0) {
@@ -587,7 +587,7 @@
587587
class="label equal-advantage-label"
588588
x={x1}
589589
y={y1}
590-
transform={`translate(-30, 5) rotate(${angle}, ${x1}, ${y1})`}
590+
transform={`translate(${-Math.max(20, $width * 0.04)}, 5) rotate(${angle}, ${x1}, ${y1})`}
591591
text-anchor="end"
592592
fill="var(--text-primary)"
593593
>
@@ -637,7 +637,7 @@
637637
{/if}
638638
<text
639639
class="label"
640-
x={$width - 20}
640+
x={$width - Math.max(20, $width * 0.04)}
641641
y={$yScale(1.0) - 10}
642642
text-anchor="end"
643643
fill="var(--text-primary)"
@@ -647,7 +647,7 @@
647647
648648
<text
649649
class="label"
650-
x={$xScale(1.0) - 180}
650+
x={$xScale(1.0) - Math.min(180, $width * 0.25)}
651651
y={17}
652652
transform={`rotate(-90, ${$xScale(1.0)}, 0)`}
653653
text-anchor="start"

0 commit comments

Comments
 (0)