diff options
author | metamuffin <metamuffin@disroot.org> | 2023-10-01 10:14:20 +0200 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2023-10-01 10:14:20 +0200 |
commit | 3fa55dba1b0ca408a10e7456a6d4308dd114c2f6 (patch) | |
tree | f1f378662406a5f091816ca97c3f1ccfb5210eef /web/nodecard.css | |
parent | d857684dd6358fb5ff979ca09ac78b5649b0f411 (diff) | |
download | jellything-3fa55dba1b0ca408a10e7456a6d4308dd114c2f6.tar jellything-3fa55dba1b0ca408a10e7456a6d4308dd114c2f6.tar.bz2 jellything-3fa55dba1b0ca408a10e7456a6d4308dd114c2f6.tar.zst |
move stylesheets and refactor js bundler
Diffstat (limited to 'web/nodecard.css')
-rw-r--r-- | web/nodecard.css | 155 |
1 files changed, 155 insertions, 0 deletions
diff --git a/web/nodecard.css b/web/nodecard.css new file mode 100644 index 0000000..bfc0b74 --- /dev/null +++ b/web/nodecard.css @@ -0,0 +1,155 @@ +/* + This file is part of jellything (https://codeberg.org/metamuffin/jellything) + which is licensed under the GNU Affero General Public License (version 3); see /COPYING. + Copyright (C) 2023 metamuffin <metamuffin.org> + Copyright (C) 2023 tpart +*/ +.children { + padding: 1em; + padding-left: 3em; + padding-right: 3em; + list-style: none; + display: flex; + flex-wrap: wrap; + width: 100%; + box-sizing: border-box; +} +.children li { + display: block; +} + +.dirup { + width: 100%; + font-size: large; + display: block; + text-align: center; + background-color: var(--background-light); + border-radius: 0.2em; + padding: 0.6em; + margin: 0.2em; + transition: filter 0.22s; +} +.dirup:hover { + filter: brightness(120%); +} + +.node.card { + padding: 1em; + height: var(--card-size); +} +.node.card.poster.poster-port { + width: calc(var(--card-size) / var(--port-poster-aspect)); +} +.node.card.poster.poster-land { + width: calc(var(--card-size) / var(--land-poster-aspect)); +} +.node.card.poster.thumb-land { + width: calc(var(--card-size) / var(--land-thumb-aspect)); +} +.node.card.poster.poster-square { + width: calc(var(--card-size)); +} + +.node.card .title { + margin-top: 0.1em; + text-align: center; + text-overflow: ellipsis; +} +.node.card .poster { + display: grid; +} +.node.card .poster a { + grid-area: 1 / 1; +} + +.node.card.poster.poster-port .poster img { + width: calc(var(--card-size) / var(--port-poster-aspect)); + height: var(--card-size); +} +.node.card.poster.poster-land .poster img { + width: calc(var(--card-size) / var(--land-poster-aspect)); + height: var(--card-size); +} +.node.card.poster.thumb-land .poster img { + width: calc(var(--card-size) / var(--land-thumb-aspect)); + height: var(--card-size); +} +.node.card.poster.poster-square .poster img { + width: calc(var(--card-size)); + height: var(--card-size); +} +.node.card .poster a img { + object-fit: cover; + object-position: center; +} + +.node.card.poster .poster .cardhover.open { + transition: opacity 0.3s, backdrop-filter 0.3s; + opacity: 0; + display: flex; + position: relative; + bottom: 0px; + height: 5em; + margin-top: -5em; +} +.node.card.poster .poster:hover .cardhover.open { + opacity: 1; + background-color: #0004; + backdrop-filter: blur(3px); +} +.node.card.poster .poster .cardhover.open a { + text-decoration: none; + width: 100%; + height: 1.7em; + font-size: large; + display: block; + text-align: center; + background-color: #0004; + border-radius: 0.2em; + padding: 0.6em; + margin: 0.6em; + transition: background-color 0.2s; +} +.node.card.poster .poster .cardhover.open a:hover { + background-color: #0008; +} + +.node.card.poster .poster .cardhover.item { + position: relative; + pointer-events: none; + grid-area: 1 / 1; + transition: opacity 0.3s, backdrop-filter 0.3s; + opacity: 0; + display: flex; + justify-content: center; + align-items: center; +} +.node.card.poster .poster:hover .cardhover.item { + opacity: 1; + background-color: #0004; + backdrop-filter: blur(3px); +} + +.node.card.poster .poster .cardhover.item a.play { + text-decoration: none; + font-stretch: 200%; + width: 1em; + height: 1em; + line-height: 1; + margin: auto; + padding: 0.4em 0.3em 0.4em 0.5em; + border-radius: 50%; + font-size: 1.8em; + pointer-events: all; + background-color: #0005; + transition: background-color 0.2s, font-size 0.2s; +} +.node.card.poster .poster .cardhover.item a.play:hover { + background-color: #0008; + font-size: 2.4em; +} +.node.card.poster .poster .cardhover.item .props { + position: absolute; + bottom: 0px; + left: 0px; +} |