Skip to content

Commit 133c940

Browse files
authored
Merge pull request #150 from LennartvdM/codex/add-activity-balance-history-barcode-feature
Add activity balance history view to visuals
2 parents 7d7b463 + c8db6ba commit 133c940

4 files changed

Lines changed: 606 additions & 3 deletions

File tree

web/style.css

Lines changed: 192 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1214,6 +1214,15 @@ body {
12141214
box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.25);
12151215
}
12161216

1217+
.activity-share__track.is-interactive {
1218+
cursor: pointer;
1219+
}
1220+
1221+
.activity-share__track.is-interactive:focus-visible {
1222+
outline: 2px solid rgba(129, 140, 248, 0.65);
1223+
outline-offset: 2px;
1224+
}
1225+
12171226
.activity-share__segment {
12181227
flex: 1 1 0%;
12191228
display: flex;
@@ -1245,6 +1254,14 @@ body {
12451254
color: rgba(148, 163, 184, 0.85);
12461255
}
12471256

1257+
.activity-share__hint {
1258+
margin: 0;
1259+
font-size: 11px;
1260+
letter-spacing: 0.06em;
1261+
text-transform: uppercase;
1262+
color: rgba(148, 163, 184, 0.75);
1263+
}
1264+
12481265
.activity-share__tooltip {
12491266
position: absolute;
12501267
transform: translate(-50%, -100%) translateY(-12px);
@@ -1281,6 +1298,176 @@ body {
12811298
display: none;
12821299
}
12831300

1301+
.activity-balance-history {
1302+
position: relative;
1303+
flex: 1;
1304+
display: flex;
1305+
flex-direction: column;
1306+
gap: 12px;
1307+
padding: 16px 18px;
1308+
background: rgba(15, 23, 42, 0.72);
1309+
border: 1px solid rgba(148, 163, 184, 0.22);
1310+
border-radius: 18px;
1311+
box-shadow: 0 18px 32px rgba(15, 23, 42, 0.28);
1312+
min-height: 0;
1313+
}
1314+
1315+
.activity-balance-history[hidden] {
1316+
display: none;
1317+
}
1318+
1319+
.activity-balance-history__header {
1320+
display: flex;
1321+
align-items: baseline;
1322+
justify-content: space-between;
1323+
gap: 12px;
1324+
}
1325+
1326+
.activity-balance-history__title {
1327+
margin: 0;
1328+
font-size: 13px;
1329+
font-weight: 600;
1330+
letter-spacing: 0.06em;
1331+
text-transform: uppercase;
1332+
color: #e2e8f0;
1333+
}
1334+
1335+
.activity-balance-history__hint {
1336+
margin: 0;
1337+
font-size: 11px;
1338+
letter-spacing: 0.08em;
1339+
text-transform: uppercase;
1340+
color: rgba(148, 163, 184, 0.75);
1341+
}
1342+
1343+
.activity-balance-history__stack {
1344+
flex: 1;
1345+
display: flex;
1346+
flex-direction: column;
1347+
gap: 4px;
1348+
min-height: 0;
1349+
}
1350+
1351+
.activity-balance-history__stack[hidden] {
1352+
display: none;
1353+
}
1354+
1355+
.activity-balance-history__row {
1356+
display: flex;
1357+
align-items: stretch;
1358+
gap: 10px;
1359+
flex: 1 1 0%;
1360+
min-height: 8px;
1361+
}
1362+
1363+
.activity-balance-history__run-wrapper {
1364+
display: flex;
1365+
flex-direction: column;
1366+
justify-content: center;
1367+
gap: 2px;
1368+
min-width: 78px;
1369+
flex: 0 0 auto;
1370+
}
1371+
1372+
.activity-balance-history__run {
1373+
font-size: 11px;
1374+
font-weight: 600;
1375+
letter-spacing: 0.08em;
1376+
text-transform: uppercase;
1377+
color: rgba(203, 213, 225, 0.85);
1378+
}
1379+
1380+
.activity-balance-history__run-meta {
1381+
font-size: 10px;
1382+
color: rgba(148, 163, 184, 0.65);
1383+
}
1384+
1385+
.activity-balance-history__run-meta[hidden] {
1386+
display: none;
1387+
}
1388+
1389+
.activity-balance-history__bar {
1390+
flex: 1;
1391+
display: flex;
1392+
border-radius: 12px;
1393+
overflow: hidden;
1394+
border: 1px solid rgba(148, 163, 184, 0.24);
1395+
background: rgba(148, 163, 184, 0.1);
1396+
min-height: 0;
1397+
}
1398+
1399+
.activity-balance-history__segment {
1400+
padding: 0;
1401+
align-items: center;
1402+
justify-content: center;
1403+
min-width: 3px;
1404+
transition: none;
1405+
}
1406+
1407+
.activity-balance-history__segment:hover {
1408+
transform: none;
1409+
}
1410+
1411+
.activity-balance-history__segment-label {
1412+
font-size: 10px;
1413+
font-weight: 600;
1414+
padding: 0 6px;
1415+
white-space: nowrap;
1416+
text-shadow: 0 1px 2px rgba(15, 23, 42, 0.35);
1417+
}
1418+
1419+
.activity-balance-history__empty {
1420+
margin: 0;
1421+
padding: 12px;
1422+
border-radius: 12px;
1423+
background: rgba(15, 23, 42, 0.4);
1424+
color: rgba(203, 213, 225, 0.82);
1425+
font-size: 12px;
1426+
text-align: center;
1427+
}
1428+
1429+
.activity-balance-history__empty[hidden] {
1430+
display: none;
1431+
}
1432+
1433+
.activity-balance-history__tooltip {
1434+
position: absolute;
1435+
transform: translate(-50%, -100%) translateY(-12px);
1436+
background: rgba(15, 23, 42, 0.92);
1437+
border-radius: 12px;
1438+
padding: 8px 10px;
1439+
border: 1px solid rgba(148, 163, 184, 0.35);
1440+
box-shadow: 0 16px 28px rgba(15, 23, 42, 0.45);
1441+
display: flex;
1442+
flex-direction: column;
1443+
gap: 4px;
1444+
font-size: 11px;
1445+
pointer-events: none;
1446+
color: #f8fafc;
1447+
z-index: 3;
1448+
}
1449+
1450+
.activity-balance-history__tooltip strong {
1451+
font-size: 12px;
1452+
font-weight: 700;
1453+
color: #cbd5f5;
1454+
}
1455+
1456+
.activity-balance-history__tooltip span {
1457+
display: block;
1458+
color: rgba(226, 232, 240, 0.92);
1459+
}
1460+
1461+
.activity-balance-history__tooltip .meta {
1462+
font-size: 10px;
1463+
color: rgba(148, 163, 184, 0.7);
1464+
text-transform: none;
1465+
}
1466+
1467+
.activity-balance-history__tooltip[hidden] {
1468+
display: none;
1469+
}
1470+
12841471
.radial-urchin__legend-empty {
12851472
margin: 0;
12861473
color: #94a3b8;
@@ -1429,6 +1616,11 @@ body {
14291616
overflow: hidden;
14301617
}
14311618

1619+
.radial-urchin--history-open .radial-urchin__stage {
1620+
flex: 0 0 200px;
1621+
min-height: 200px;
1622+
}
1623+
14321624
.radial-urchin__canvas {
14331625
width: 100%;
14341626
height: 100%;

0 commit comments

Comments
 (0)