Compare commits

..

7 Commits

6 changed files with 71 additions and 104 deletions

View File

@@ -1,9 +1,3 @@
<!--
announcement.svelte
used to display a short announcement at the top of the site
-->
<script>
import { slide } from 'svelte/transition';
export let message;
@@ -16,6 +10,7 @@
{#if visible}
<div transition:slide bind:this={noderef} class="announcement prevent-select" style="background-color: {color};">
{#if link}
<a href={link}>{message}</a>
{:else}
@@ -31,22 +26,27 @@
display: flex;
justify-content: center;
align-items: center;
gap: 5px;
height: 36px;
font-size: 18px;
color: white;
}
.close-button {
height: 25px;
width: 25px;
cursor: pointer;
background-color: white;
object-fit: contain;
-webkit-mask-image: url('$lib/images/icons/ui/cross.svg');
mask-image: url('$lib/images/icons/ui/cross.svg');
mask-repeat: no-repeat;
mask-size: contain;
height: 25px;
width: 25px;
}
a, a:visited, a:hover, a:active {

View File

@@ -58,48 +58,50 @@
"copyright copyright copyright";
box-shadow: 0px 5px var(--col_footer_copyright);
background-color: var(--col_footer);
}
.social-row {
padding: 20px;
background-color: var(--col_panel);
}
.footer__social-notice-box {
grid-area: social-notice;
height: 100%;
background-color: var(--col_panel);
margin: 0;
padding: inherit 40px;
line-height: 30px;
background-color: var(--col_panel);
}
.footer__social-notice-text {
display: inline-block;
vertical-align: middle;
margin: 0 auto;
padding: 20px;
padding: inherit 40px;
width: 100%;
font-family: 'Source_Sans_3' sans-serif;
font-weight: bold;
font-size: 20px;
display: inline-block;
vertical-align: middle;
line-height:1fr;
color: var(--col_text_panel);
}
.footer__social-links {
display: flex;
justify-content: right;
grid-area: social-links;
gap: 20px;
grid-area: social-links;
width: auto;
}
.footer-column {
@@ -107,6 +109,7 @@
display: flex;
flex-direction: column;
justify-self: center;
gap: 20px;
padding: 30px 20px;
@@ -120,7 +123,6 @@
margin-top: 0;
margin-bottom: 0;
padding: 0;
}
.footer__column1 {
@@ -136,44 +138,42 @@
}
.footer-column-title {
position: relative;
padding-bottom: 20px;
font-family: "Source_Sans_3" sans-serif;
font-weight: bold;
text-transform: uppercase;
}
.footer-column-title::after {
content: "";
background-color: var(--col_text_footer);
position: absolute;
bottom: 0;
left: 0;
height: 2px;
width: 45%;
width: 100px;
background-color: var(--col_text_footer);
}
.footer__copyright {
grid-area: copyright;
margin: auto 0 0 0;
padding: 10px;
height: fit-content;
font-family: "Montserrat" sans-serif;
font-size: 24px;
color: var(--col_text_copyright);
text-align: center;
color: var(--col_text_copyright);
background-color: var(--col_footer_copyright);
}
@media screen and (max-width: 800px) {
.footer {
grid-template-areas: "social-notice social-notice social-links"
"column1 column1 column1"
@@ -186,9 +186,11 @@
{
justify-content: center;
justify-items: center;
padding: 20px;
max-width: 60%;
width: 100%;
text-align: center;
}
@@ -197,14 +199,9 @@
}
.footer-column-title::after {
content: "";
background-color: var(--col_text_footer);
position: absolute;
bottom: 0;
left: 28%;
height: 2px;
width: 45%;
margin: inherit auto;
left: 0;
width: 100%;
max-width: 100%;
}
}
@@ -224,8 +221,8 @@
.footer__social-links {
justify-content: center;
gap: 10%;
margin: inherit 20px;
}
}
</style>

View File

@@ -5,14 +5,14 @@
import MenuIcon from "$lib/images/icons/ui/menu.svg";
import LanguageIcon from "$lib/images/icons/ui/language.svg";
import DarkmodeIcon from "$lib/images/icons/ui/darkmode.svg";
import Spacer from "./service/spacer.svelte";
import Searchbar from "./searchbar.svelte";
</script>
<header class="header prevent-select" data-sveltekit-preload-data="hover">
<div class="container">
<div class="container header-left">
<Icon class="header__menu-button" image={MenuIcon} size="64px"/>
<img class="header__logo" alt="WeirdCat.su" src={Logo}>
@@ -24,8 +24,8 @@
<Searchbar id="searchbar"/>
<div class="container">
<Spacer type="left"/>
<div class="container header-right">
<Icon class="header__language-button" image={LanguageIcon} size="40px"/>
<Icon class="header__darkmode-button" image={DarkmodeIcon} size="40px"/>
</div>
@@ -39,17 +39,30 @@
align-items: center;
gap: 20px;
padding: 5px 20px 5px 20px;
padding: 5px 10px;
height: 74px;
background-color: var(--col_panel);
box-shadow: 0px 6px 5px -5px rgba(0,0,0,0.3);
}
.container {
display: flex;
align-items: inherit;
justify-self: right;
padding: inherit;
gap: inherit;
}
.header-left {
margin-right: auto;
}
.header__logo {
height: 64px;
width: 64px;
}
:global(.header__menu-button) {
@@ -66,11 +79,8 @@
color: var(--col_text_hint);
}
.container {
display: flex;
align-items: inherit;
padding: inherit;
gap: inherit;
.header-right {
justify-self: right;
}
@media only screen and (max-width: 1036px) {
@@ -80,14 +90,12 @@
}
@media only screen and (max-width: 935px) {
.header {
grid-template-columns: auto auto 1fr;
}
}
@media only screen and (max-width: 730px) {
.header {
grid-template-columns: auto auto auto;
}
@@ -110,5 +118,4 @@
grid-template-columns: 1fr 1fr;
}
}
</style>

View File

@@ -1,5 +1,3 @@
<!-- FIXME: deal with this mess in style property. You can't do all that right in your HTML -->
<script>
export let image = "";
export let onclick;
@@ -13,21 +11,23 @@
</script>
<!-- FIXME: You horrible son of a goose-->
<input class="{externalClasses} {Clickablility} icon" type="button" value=""
style="--image: url({image}); --color: {color}; background-color: {color}; --size: {size};"
style="--icon-image: url({image}); --icon-color: {color}; --icon-size: {size};"
on:click={onclick ? onclick : null}>
<style>
:global(.icon) {
background-color: var(--color);
height: var(--icon-size);
width: var(--icon-size);
background-color: var(--icon-color);
object-fit: contain;
-webkit-mask-image: var(--image);
mask-image: var(--image);
-webkit-mask-image: var(--icon-image);
mask-image: var(--icon-image);
mask-repeat: no-repeat;
mask-size: contain;
height: var(--size);
width: var(--size);
}
.clickable {

View File

@@ -19,26 +19,25 @@
<style>
.searchbar {
display: flex;
align-items: center;
background-color: var(--col_panel_field);
border-radius: 30px;
width: auto;
height: 36px;
padding: 10px;
background-color: var(--col_panel_field);
border-radius: 30px;
}
.searchbar__input {
border: none;
background-color: transparent;
color: var(--col_text_panel);
max-width: 200px;
font-size: 16px;
color: var(--col_text_panel);
background-color: transparent;
border: none;
}
.searchbar__input:focus {
@@ -50,7 +49,6 @@
}
@media only screen and (max-width: 935px) {
.searchbar {
margin-left: auto;
}
@@ -63,7 +61,6 @@
}
@media only screen and (max-width: 730px) {
.searchbar {
margin-left: auto;
}
@@ -73,11 +70,9 @@
.compact {
display: none;
}
}
@media only screen and (max-width: 506px) {
.searchbar {
margin-left: auto;
}
@@ -88,5 +83,4 @@
display: flex;
}
}
</style>

View File

@@ -1,31 +0,0 @@
<script>
export let type = "left";
let rule = "";
if (type == "left") {
rule = "margin-left: auto";
}
if (type == "right") {
rule = "margin-right: auto";
}
if (type == "top") {
rule = "margin-top: auto";
}
if (type == "bottom") {
rule = "margin-bottom: auto";
}
if (type == "vertical") {
rule = "margin-top: auto; margin-bottom: auto";
}
if (type == "horizontal") {
rule = "margin-left: auto; margin-right: auto";
}
if (rule == "") {
console.error("Invalid spacer type: " + type);
}
</script>
<div class="spacer" style="{rule}"/>