implement clickable preload files, rename static to public, rename preload config argument to public, rename Storage to Public

This commit is contained in:
yggverse 2025-08-09 23:11:46 +03:00
parent bff6b209c9
commit 6b149ba1b9
13 changed files with 77 additions and 51 deletions

3
public/.gitignore vendored Normal file
View file

@ -0,0 +1,3 @@
/*
!.gitignore
!/theme

208
public/theme/default.css Normal file
View file

@ -0,0 +1,208 @@
* {
border: 0;
margin: 0;
padding: 0;
box-sizing: border-box;
outline: none;
}
:focus,
:focus-within,
:focus-visible,
:active,
:target,
:hover {
opacity: 1;
transition: opacity .2s ease-in-out;
}
:root {
--accent: #96d9a1;
--background: #282b3c;
--default: #ccc;
--item: #34384f;
--separator: #4f536a;
}
body {
background: var(--background);
color: var(--default);
font-family: Sans-serif;
font-size: 13px;
}
a,
a:visited,
a:active {
color: var(--accent);
text-decoration: none;
opacity: .9;
}
h1, h2, h3, h4, h5 {
display: inline-block;
font-weight: normal;
}
h1, h2 {
font-size: 14px;
padding: 0 8px;
}
table {
border-collapse: collapse;
width: 100%;
}
table td,
table th {
padding: 4px 8px;
}
table > thead > tr > th {
text-align: left;
}
table > tbody > tr:hover > td {
background: var(--background)
}
body > * {
position: relative;
overflow: hidden;
max-width: 748px;
}
header {
margin: 16px auto;
text-align: center;
}
header > a,
header > a:active,
header > a:hover,
header > a:visited {
color: var(--default);
font-size: 20px;
}
header::first-letter {
color: var(--accent);
}
header > div {
margin-top: 16px;
}
header > div > code:not(:last-child)::after {
content: "|";
margin: 0 6px;
}
main {
margin: 0 auto;
}
/* pagination */
main > a {
background: var(--item);
border-radius: 3px;
float: right;
margin-left: 8px;
opacity: .96;
padding: 8px 12px;
}
/* item row */
main > div {
background-color: var(--item);
border-radius: 3px;
margin: 8px 0;
padding: 24px;
}
/* item row description */
main > div > p {
margin: 8px 0;
}
/* item row meta, controls */
main > div > div {
border-top: 1px solid var(--separator);
margin-top: 16px;
overflow: hidden;
padding: 16px 8px 0;
}
main > div > div > ul {
list-style: none;
}
main > div > div > ul > li {
cursor: default;
float: left;
}
main > div > div > ul > li > span {
color: white;
display: inline-block;
font-size: smaller;
opacity: 0.7;
}
main > div > div > ul > li > span:hover {
opacity: 1;
}
main > div > div > ul > li:not(:last-child)::after {
content: "•";
margin: 0 6px;
}
main > div > div > ul > li > span.leechers {
background-image: url('default/leechers.svg');
background-position: left center;
background-repeat: no-repeat;
padding-left: 16px;
}
main > div > div > ul > li > span.peers {
background-image: url('default/peers.svg');
background-position: left center;
background-repeat: no-repeat;
padding-left: 16px;
}
main > div > div > ul > li > span.seeders {
background-image: url('default/seeders.svg');
background-position: left center;
background-repeat: no-repeat;
padding-left: 16px;
}
/* control actions */
main > div > div > div {
float: right;
}
main > div > div > div > a {
background-position: center;
background-repeat: no-repeat;
display: inline-block;
height: 16px;
width: 16px;
}
main > div > div > div > a.magnet {
background-image: url('default/magnet.svg');
}
/* pagination info */
main > span {
float: right;
padding: 8px;
}
footer {
margin: 16px auto 36px;
text-align: center;
}

View file

@ -0,0 +1,4 @@
<svg xmlns="http://www.w3.org/2000/svg" width="11" height="11" fill="white" viewBox="0 0 16 16">
<path fill-rule="evenodd" d="M.5 6a.5.5 0 0 0-.488.608l1.652 7.434A2.5 2.5 0 0 0 4.104 16h5.792a2.5 2.5 0 0 0 2.44-1.958l.131-.59a3 3 0 0 0 1.3-5.854l.221-.99A.5.5 0 0 0 13.5 6H.5ZM13 12.5a2.01 2.01 0 0 1-.316-.025l.867-3.898A2.001 2.001 0 0 1 13 12.5ZM2.64 13.825 1.123 7h11.754l-1.517 6.825A1.5 1.5 0 0 1 9.896 15H4.104a1.5 1.5 0 0 1-1.464-1.175Z"/>
<path d="m4.4.8-.003.004-.014.019a4.167 4.167 0 0 0-.204.31 2.327 2.327 0 0 0-.141.267c-.026.06-.034.092-.037.103v.004a.593.593 0 0 0 .091.248c.075.133.178.272.308.445l.01.012c.118.158.26.347.37.543.112.2.22.455.22.745 0 .188-.065.368-.119.494a3.31 3.31 0 0 1-.202.388 5.444 5.444 0 0 1-.253.382l-.018.025-.005.008-.002.002A.5.5 0 0 1 3.6 4.2l.003-.004.014-.019a4.149 4.149 0 0 0 .204-.31 2.06 2.06 0 0 0 .141-.267c.026-.06.034-.092.037-.103a.593.593 0 0 0-.09-.252A4.334 4.334 0 0 0 3.6 2.8l-.01-.012a5.099 5.099 0 0 1-.37-.543A1.53 1.53 0 0 1 3 1.5c0-.188.065-.368.119-.494.059-.138.134-.274.202-.388a5.446 5.446 0 0 1 .253-.382l.025-.035A.5.5 0 0 1 4.4.8Zm3 0-.003.004-.014.019a4.167 4.167 0 0 0-.204.31 2.327 2.327 0 0 0-.141.267c-.026.06-.034.092-.037.103v.004a.593.593 0 0 0 .091.248c.075.133.178.272.308.445l.01.012c.118.158.26.347.37.543.112.2.22.455.22.745 0 .188-.065.368-.119.494a3.31 3.31 0 0 1-.202.388 5.444 5.444 0 0 1-.253.382l-.018.025-.005.008-.002.002A.5.5 0 0 1 6.6 4.2l.003-.004.014-.019a4.149 4.149 0 0 0 .204-.31 2.06 2.06 0 0 0 .141-.267c.026-.06.034-.092.037-.103a.593.593 0 0 0-.09-.252A4.334 4.334 0 0 0 6.6 2.8l-.01-.012a5.099 5.099 0 0 1-.37-.543A1.53 1.53 0 0 1 6 1.5c0-.188.065-.368.119-.494.059-.138.134-.274.202-.388a5.446 5.446 0 0 1 .253-.382l.025-.035A.5.5 0 0 1 7.4.8Zm3 0-.003.004-.014.019a4.077 4.077 0 0 0-.204.31 2.337 2.337 0 0 0-.141.267c-.026.06-.034.092-.037.103v.004a.593.593 0 0 0 .091.248c.075.133.178.272.308.445l.01.012c.118.158.26.347.37.543.112.2.22.455.22.745 0 .188-.065.368-.119.494a3.198 3.198 0 0 1-.202.388 5.385 5.385 0 0 1-.252.382l-.019.025-.005.008-.002.002A.5.5 0 0 1 9.6 4.2l.003-.004.014-.019a4.149 4.149 0 0 0 .204-.31 2.06 2.06 0 0 0 .141-.267c.026-.06.034-.092.037-.103a.593.593 0 0 0-.09-.252A4.334 4.334 0 0 0 9.6 2.8l-.01-.012a5.099 5.099 0 0 1-.37-.543A1.53 1.53 0 0 1 9 1.5c0-.188.065-.368.119-.494.059-.138.134-.274.202-.388a5.446 5.446 0 0 1 .253-.382l.025-.035A.5.5 0 0 1 10.4.8Z"/>
</svg>

After

Width:  |  Height:  |  Size: 2.4 KiB

View file

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" fill="#96d9a1" viewBox="0 0 16 16">
<path fill-rule="evenodd" d="M1 8a7 7 0 1 0 14 0A7 7 0 0 0 1 8zm15 0A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM8.5 4.5a.5.5 0 0 0-1 0v5.793L5.354 8.146a.5.5 0 1 0-.708.708l3 3a.5.5 0 0 0 .708 0l3-3a.5.5 0 0 0-.708-.708L8.5 10.293V4.5z"/>
</svg>

After

Width:  |  Height:  |  Size: 335 B

View file

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="11" height="11" fill="white" viewBox="0 0 16 16">
<path fill-rule="evenodd" d="M8 1a.5.5 0 0 1 .5.5v11.793l3.146-3.147a.5.5 0 0 1 .708.708l-4 4a.5.5 0 0 1-.708 0l-4-4a.5.5 0 0 1 .708-.708L7.5 13.293V1.5A.5.5 0 0 1 8 1z"/>
</svg>

After

Width:  |  Height:  |  Size: 279 B

View file

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="11" height="11" fill="white" viewBox="0 0 16 16">
<path fill-rule="evenodd" d="M8 15a.5.5 0 0 0 .5-.5V2.707l3.146 3.147a.5.5 0 0 0 .708-.708l-4-4a.5.5 0 0 0-.708 0l-4 4a.5.5 0 1 0 .708.708L7.5 2.707V14.5a.5.5 0 0 0 .5.5z"/>
</svg>

After

Width:  |  Height:  |  Size: 281 B