remove bloat fonts, get rid of svelte-i18n
Signed-off-by: ngn <ngn@ngn.tf>
This commit is contained in:
138
app/src/components/service.svelte
Normal file
138
app/src/components/service.svelte
Normal file
@@ -0,0 +1,138 @@
|
||||
<script>
|
||||
import { time_from_ts } from "$lib/util.js";
|
||||
import { _, locale } from "$lib/locale.js";
|
||||
|
||||
export let service = {};
|
||||
</script>
|
||||
|
||||
<main>
|
||||
<div class="info">
|
||||
<div>
|
||||
<h1>{service.name}</h1>
|
||||
<p>{service.desc[$locale.code]}</p>
|
||||
</div>
|
||||
<ul>
|
||||
<li><a href={service.clear}> Clear</a></li>
|
||||
<li><a href={service.onion}>TOR</a></li>
|
||||
<li><a href={service.i2p}> I2P</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="check">
|
||||
<h1>
|
||||
{$_("services.last", {
|
||||
time: time_from_ts(service.check_time),
|
||||
})}
|
||||
</h1>
|
||||
{#if service.check_res == 0}
|
||||
<span style="background: var(--white-2)">
|
||||
{$_("services.status.down")}
|
||||
</span>
|
||||
{:else if service.check_res == 1}
|
||||
<span style="background: var(--color)">
|
||||
{$_("services.status.up")}
|
||||
</span>
|
||||
{:else if service.check_res == 2}
|
||||
<span style="background: var(--color); filter: brightness(50%);">
|
||||
{$_("services.status.slow")}
|
||||
</span>
|
||||
{/if}
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<style>
|
||||
main {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
|
||||
background: var(--black-2);
|
||||
border: solid 1px var(--black-3);
|
||||
text-align: left;
|
||||
|
||||
flex-grow: 1;
|
||||
}
|
||||
|
||||
main .info {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: start;
|
||||
justify-content: space-between;
|
||||
flex: 1;
|
||||
|
||||
color: var(--white-1);
|
||||
padding: 15px 18px;
|
||||
}
|
||||
|
||||
main .info div h1 {
|
||||
font-size: var(--size-4);
|
||||
font-weight: 900;
|
||||
}
|
||||
|
||||
main .info div p {
|
||||
font-size: var(--size-2);
|
||||
color: var(--white-2);
|
||||
font-weight: 100;
|
||||
}
|
||||
|
||||
main .info ul {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
gap: 5px;
|
||||
|
||||
text-align: right;
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
main .info ul li:not(:last-of-type)::after {
|
||||
content: " / ";
|
||||
color: var(--white-3);
|
||||
font-weight: 900;
|
||||
}
|
||||
|
||||
main .info li a {
|
||||
color: var(--color);
|
||||
text-decoration: none;
|
||||
|
||||
font-size: var(--size-2);
|
||||
font-weight: 100;
|
||||
}
|
||||
|
||||
main .info li a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
main .info li a[href=""] {
|
||||
color: var(--white-3);
|
||||
cursor: not-allowed;
|
||||
}
|
||||
|
||||
main .info li a[href=""]:hover {
|
||||
text-decoration: none;
|
||||
text-shadow: none;
|
||||
}
|
||||
|
||||
main .check {
|
||||
border-top: solid 1px var(--black-3);
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
color: var(--white-1);
|
||||
}
|
||||
|
||||
main .check h1 {
|
||||
font-size: var(--size-2);
|
||||
font-weight: 100;
|
||||
|
||||
color: var(--white-2);
|
||||
padding: 5px 18px;
|
||||
}
|
||||
|
||||
main .check span {
|
||||
font-size: var(--size-4);
|
||||
font-weight: 1000;
|
||||
|
||||
color: var(--black-1);
|
||||
padding: 5px 18px;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
</style>
|
Reference in New Issue
Block a user