From 467951d0ce902a59bc16e5099618afb9944856ec Mon Sep 17 00:00:00 2001 From: Elias Schriefer Date: Sat, 6 Jul 2024 14:35:30 +0200 Subject: [PATCH] Use more native html elements --- src/main/resources/static/details.css | 31 ++++++++++++++++++-------- src/main/resources/static/details.html | 8 +++---- src/main/resources/static/details.js | 10 +++++---- 3 files changed, 32 insertions(+), 17 deletions(-) diff --git a/src/main/resources/static/details.css b/src/main/resources/static/details.css index 0fa3256..86bb412 100644 --- a/src/main/resources/static/details.css +++ b/src/main/resources/static/details.css @@ -81,21 +81,34 @@ h1 { #rating { color: color-mix(in oklab, var(--text-color) 80%, black); -} - -#rating::after { - content: ""; - display: inline-block; - width: 5em; + color: transparent; + width: 5lh; height: 1lh; - vertical-align: bottom; margin-inline: .5ch; mask-image: url("stars.svg"); -webkit-mask-image: url("stars.svg"); - mask-size: 100% 100%; + mask-size: contain; mask-mode: alpha; --rating-percent: calc((var(--rating, 0) / 5) * 100%); - background: linear-gradient(to right, var(--rating-color) var(--rating-percent), var(--bg-color) var(--rating-percent)); + background: var(--bg-color); + vertical-align: bottom; +} + +#rating::-webkit-meter-bar { + background: var(--bg-color); + border: none; + border-radius: 0; + grid-row: 1 / -1; +} + +#rating::-webkit-meter-optimum-value, +#rating::-webkit-meter-suboptimum-value, +#rating::-webkit-meter-even-less-good-value { + background-color: var(--rating-color); +} + +#rating::-moz-meter-bar { + background: var(--rating-color); } a { diff --git a/src/main/resources/static/details.html b/src/main/resources/static/details.html index b17cec3..e91405e 100644 --- a/src/main/resources/static/details.html +++ b/src/main/resources/static/details.html @@ -22,10 +22,10 @@

Title

- - 4 + + 4 Lorem ipsum dolor sit amet consectetur adipisicing elit. Perspiciatis recusandae laborum odio corrupti voluptas quisquam dicta, quibusdam ipsum qui exercitationem. - + https://example.com/dataset
- Added on: 1. January 1970 + Added on: Category: Something License: MIT Terms of Use diff --git a/src/main/resources/static/details.js b/src/main/resources/static/details.js index fcf0fee..e770a5c 100644 --- a/src/main/resources/static/details.js +++ b/src/main/resources/static/details.js @@ -1,9 +1,11 @@ import Dataset from "./dataset.js"; -const mainElement = document.getElementsByTagName("main")[0]; +const mainPage = document.getElementById("details"); +const notFoundPage = document.getElementById("not-found"); const title = document.getElementById("title"); const rating = document.getElementById("rating"); +const ratingText = document.getElementById("rating-text"); const shortDescription = document.getElementById("short-description"); const url = document.getElementById("url"); const date = document.getElementById("date"); @@ -26,19 +28,19 @@ if (currentLocation.searchParams.has("id")) { title.innerText = dataset.title; title.dataset.type = dataset.type.toLowerCase(); - rating.innerText = dataset.rating; - rating.style.setProperty("--rating", `${dataset.rating}`); + rating.value = dataset.rating; + ratingText.innerText = dataset.rating; shortDescription.innerText = dataset.shortDescription; url.href = dataset.url; url.innerText = dataset.url; mainPage.querySelector(".upvote").replaceWith(upvoteComponent); + date.datetime = dataset.date; date.innerText = dataset.parseDate().toLocaleDateString(undefined, { day: "numeric", month: "long", year: "numeric", }); - date.dataset.date = dataset.parseDate().getTime(); category.innerText = dataset.category.name; category.dataset.id = dataset.category.id; license.innerText = dataset.license;