This commit is contained in:
83
src/main.ts
83
src/main.ts
@ -6,48 +6,49 @@ import "./styles.css";
|
||||
import Typed from "typed.js";
|
||||
|
||||
window.addEventListener("load", (_ev) => {
|
||||
new Typed(document.querySelector("description") ?? "description", {
|
||||
stringsElement: "#description-list",
|
||||
shuffle: true,
|
||||
typeSpeed: 60,
|
||||
backDelay: 2000,
|
||||
fadeOut: false,
|
||||
loop: true,
|
||||
showCursor: false,
|
||||
});
|
||||
new Typed(document.querySelector("description") ?? "description", {
|
||||
stringsElement: "#description-list",
|
||||
shuffle: true,
|
||||
typeSpeed: 60,
|
||||
backDelay: 2000,
|
||||
fadeOut: true,
|
||||
loop: true,
|
||||
showCursor: true,
|
||||
smartBackspace: true,
|
||||
});
|
||||
|
||||
document.querySelectorAll("[alt]").forEach((Elem) => {
|
||||
const tooltip = document.createElement("tooltiptext");
|
||||
tooltip.innerText = Elem.getAttribute("alt") ?? "";
|
||||
Elem.appendChild(tooltip);
|
||||
});
|
||||
document.querySelectorAll("[alt]").forEach((Elem) => {
|
||||
const tooltip = document.createElement("tooltiptext");
|
||||
tooltip.innerText = Elem.getAttribute("alt") ?? "";
|
||||
Elem.appendChild(tooltip);
|
||||
});
|
||||
|
||||
// @ts-expect-error
|
||||
document.querySelector(
|
||||
"#footer > div"
|
||||
).innerHTML += `<a href="https://git.186526.xyz/186526/home-app"><img alt="Update Commit" src="https://blog.186526.xyz/shields.io/badge/commit-${__APP_VERSION__}-blue" /></a> <img alt="Latest Update" src="https://blog.186526.xyz/shields.io/date/${__APP_BUILD_TIME__}?color=sucessful&label=latest%20update" />`;
|
||||
// @ts-expect-error
|
||||
document.querySelector(
|
||||
"#footer > div"
|
||||
).innerHTML += `<a href="https://git.186526.xyz/186526/home-app"><img alt="Update Commit" src="https://blog.186526.xyz/shields.io/badge/commit-${__APP_VERSION__}-blue" /></a> <img alt="Latest Update" src="https://blog.186526.xyz/shields.io/date/${__APP_BUILD_TIME__}?color=sucessful&label=latest%20update" />`;
|
||||
|
||||
if ("serviceWorker" in navigator) {
|
||||
navigator.serviceWorker
|
||||
.register("./sw.js", {
|
||||
scope: "/",
|
||||
})
|
||||
.then(function (registration) {
|
||||
console.log(
|
||||
"ServiceWorker registration successful with scope: ",
|
||||
registration.scope
|
||||
);
|
||||
})
|
||||
.catch(function (err) {
|
||||
console.warn("ServiceWorker registration failed: ", err);
|
||||
});
|
||||
let refreshing = false;
|
||||
navigator.serviceWorker.addEventListener("controllerchange", () => {
|
||||
if (refreshing) {
|
||||
return;
|
||||
}
|
||||
refreshing = true;
|
||||
window.location.reload();
|
||||
});
|
||||
}
|
||||
if ("serviceWorker" in navigator) {
|
||||
navigator.serviceWorker
|
||||
.register("./sw.js", {
|
||||
scope: "/",
|
||||
})
|
||||
.then(function (registration) {
|
||||
console.log(
|
||||
"ServiceWorker registration successful with scope: ",
|
||||
registration.scope
|
||||
);
|
||||
})
|
||||
.catch(function (err) {
|
||||
console.warn("ServiceWorker registration failed: ", err);
|
||||
});
|
||||
let refreshing = false;
|
||||
navigator.serviceWorker.addEventListener("controllerchange", () => {
|
||||
if (refreshing) {
|
||||
return;
|
||||
}
|
||||
refreshing = true;
|
||||
window.location.reload();
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
@ -1,183 +1,183 @@
|
||||
:root {
|
||||
--background-color: #fff;
|
||||
--font-color: #000;
|
||||
--font-color-lighter: rgb(87, 89, 88);
|
||||
--font-size-main: 3.045rem;
|
||||
--font-size-description: 1.245rem;
|
||||
--lineheight-description: 1.845rem;
|
||||
--box-color: #f2f2f2;
|
||||
--working-color: #137333;
|
||||
--working-color-background: #e6f4ea;
|
||||
--error-color-background: #fce8e6;
|
||||
--error-color: #c5221f;
|
||||
--working-with-error-color: #b05a00;
|
||||
--working-with-error-color-background: #fef7e0;
|
||||
--linear-start-color: #f37335;
|
||||
--linear-end-color: #ff4200fc;
|
||||
--icon-size: 48px;
|
||||
--mask-color: rgba(255, 255, 255, 0.5);
|
||||
--background-color: #fff;
|
||||
--font-color: #000;
|
||||
--font-color-lighter: rgb(87, 89, 88);
|
||||
--font-size-main: 3.045rem;
|
||||
--font-size-description: 1.245rem;
|
||||
--lineheight-description: 1.845rem;
|
||||
--box-color: rgba(242, 242, 242, 0.5);
|
||||
--working-color: #137333;
|
||||
--working-color-background: #e6f4ea;
|
||||
--error-color-background: #fce8e6;
|
||||
--error-color: #c5221f;
|
||||
--working-with-error-color: #b05a00;
|
||||
--working-with-error-color-background: #fef7e0;
|
||||
--linear-start-color: #f37335;
|
||||
--linear-end-color: #ff4200fc;
|
||||
--icon-size: 48px;
|
||||
--mask-color: rgba(255, 255, 255, 0.5);
|
||||
}
|
||||
|
||||
h2,
|
||||
h1 {
|
||||
font-family: "Google Sans", Roboto, Noto Sans SC, sans-serif;
|
||||
background-image: linear-gradient(
|
||||
90deg,
|
||||
var(--linear-start-color),
|
||||
var(--linear-end-color)
|
||||
) !important;
|
||||
color: transparent !important;
|
||||
-webkit-background-clip: text;
|
||||
background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
font-family: "Google Sans", Roboto, Noto Sans SC, sans-serif;
|
||||
background-image: linear-gradient(
|
||||
90deg,
|
||||
var(--linear-start-color),
|
||||
var(--linear-end-color)
|
||||
) !important;
|
||||
color: transparent !important;
|
||||
-webkit-background-clip: text;
|
||||
background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
}
|
||||
|
||||
div,
|
||||
p {
|
||||
font-family: Roboto, Noto Sans SC, sans-serif;
|
||||
line-height: 140%;
|
||||
font-family: Roboto, Noto Sans SC, sans-serif;
|
||||
line-height: 140%;
|
||||
}
|
||||
|
||||
body {
|
||||
margin: 6rem 5vw;
|
||||
font-family: Roboto, Noto Sans SC, sans-serif;
|
||||
color: var(--font-color);
|
||||
background-color: var(--background-color);
|
||||
margin: 20vh calc(10vw - 0.5rem);
|
||||
font-family: Roboto, Noto Sans SC, sans-serif;
|
||||
color: var(--font-color);
|
||||
background-color: var(--background-color);
|
||||
}
|
||||
|
||||
background > p {
|
||||
visibility: hidden;
|
||||
position: absolute;
|
||||
top: 69vh;
|
||||
right: 0;
|
||||
color: var(--font-color-lighter);
|
||||
font-size: calc(var(--font-size-description) - 0.4rem);
|
||||
visibility: hidden;
|
||||
position: absolute;
|
||||
top: 69vh;
|
||||
right: 0;
|
||||
color: var(--font-color-lighter);
|
||||
font-size: calc(var(--font-size-description) - 0.4rem);
|
||||
}
|
||||
|
||||
background:hover > p {
|
||||
visibility: visible;
|
||||
visibility: visible;
|
||||
}
|
||||
|
||||
a {
|
||||
text-decoration: none;
|
||||
color: #1967d2;
|
||||
text-decoration: none;
|
||||
color: #1967d2;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 480px) {
|
||||
body {
|
||||
margin: 6rem 2vw;
|
||||
}
|
||||
body {
|
||||
margin: 20vh calc(4vw - 0.5rem);
|
||||
}
|
||||
|
||||
.toast {
|
||||
margin: 0 2vw !important;
|
||||
}
|
||||
.toast {
|
||||
margin: 0 2vw !important;
|
||||
}
|
||||
|
||||
:root {
|
||||
--font-size-main: 2.25rem;
|
||||
--font-size-description: 1.045rem;
|
||||
}
|
||||
:root {
|
||||
--font-size-main: 2.25rem;
|
||||
--font-size-description: 1.045rem;
|
||||
}
|
||||
}
|
||||
|
||||
code {
|
||||
font-family: Fira Mono, monospace;
|
||||
font-family: Fira Mono, monospace;
|
||||
}
|
||||
|
||||
none {
|
||||
display: none;
|
||||
display: none;
|
||||
}
|
||||
|
||||
icon {
|
||||
vertical-align: middle;
|
||||
font-size: 48px;
|
||||
font-family: "Material Icons Outlined";
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
line-height: 1;
|
||||
letter-spacing: normal;
|
||||
text-transform: none;
|
||||
display: inline-block;
|
||||
white-space: nowrap;
|
||||
word-wrap: normal;
|
||||
direction: ltr;
|
||||
-webkit-font-feature-settings: "liga";
|
||||
font-feature-settings: "liga";
|
||||
-webkit-font-smoothing: antialiased;
|
||||
vertical-align: middle;
|
||||
font-size: 48px;
|
||||
font-family: "Material Icons Outlined";
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
line-height: 1;
|
||||
letter-spacing: normal;
|
||||
text-transform: none;
|
||||
display: inline-block;
|
||||
white-space: nowrap;
|
||||
word-wrap: normal;
|
||||
direction: ltr;
|
||||
-webkit-font-feature-settings: "liga";
|
||||
font-feature-settings: "liga";
|
||||
-webkit-font-smoothing: antialiased;
|
||||
}
|
||||
|
||||
background {
|
||||
top: 0px;
|
||||
right: 0px;
|
||||
float: right;
|
||||
position: absolute;
|
||||
min-width: 100%;
|
||||
min-height: 75vh;
|
||||
background-size: cover;
|
||||
background-image: url(https://storage.186526.xyz/home-app/assets/background.webp),
|
||||
url(https://storage.186526.xyz/home-app/assets/background.png);
|
||||
z-index: -1;
|
||||
border-radius: 0 0 15px 15px;
|
||||
filter: blur(0.2px);
|
||||
top: 0px;
|
||||
right: 0px;
|
||||
float: right;
|
||||
position: absolute;
|
||||
min-width: 100%;
|
||||
min-height: 75vh;
|
||||
background-size: cover;
|
||||
background-image: url(https://storage.186526.xyz/home-app/assets/background.webp),
|
||||
url(https://storage.186526.xyz/home-app/assets/background.png);
|
||||
z-index: -1;
|
||||
border-radius: 0 0 15px 15px;
|
||||
filter: blur(0.2px);
|
||||
}
|
||||
|
||||
@media (prefers-color-scheme: dark) {
|
||||
:root {
|
||||
--font-color: #e8eaed;
|
||||
--font-color-lighter: #9aa0a6;
|
||||
--background-color: #121212;
|
||||
--box-color: rgb(40 40 40 / 73%);
|
||||
--working-color-background: rgba(129, 201, 149, 0.24);
|
||||
--error-color-background: rgba(242, 139, 130, 0.24);
|
||||
--working-with-error-color-background: rgba(253, 214, 99, 0.24);
|
||||
--working-color: #81c995;
|
||||
--error-color: #f28b82;
|
||||
--working-with-error-color: #fdd663;
|
||||
--linear-start-color: #0c8cca;
|
||||
--linear-end-color: #00bdff;
|
||||
--mask-color: rgba(0, 0, 0, 0.5);
|
||||
}
|
||||
:root {
|
||||
--font-color: #e8eaed;
|
||||
--font-color-lighter: #9aa0a6;
|
||||
--background-color: #121212;
|
||||
--box-color: rgb(40 40 40 / 73%);
|
||||
--working-color-background: rgba(129, 201, 149, 0.24);
|
||||
--error-color-background: rgba(242, 139, 130, 0.24);
|
||||
--working-with-error-color-background: rgba(253, 214, 99, 0.24);
|
||||
--working-color: #81c995;
|
||||
--error-color: #f28b82;
|
||||
--working-with-error-color: #fdd663;
|
||||
--linear-start-color: #0c8cca;
|
||||
--linear-end-color: #00bdff;
|
||||
--mask-color: rgba(0, 0, 0, 0.5);
|
||||
}
|
||||
|
||||
background {
|
||||
filter: brightness(50%);
|
||||
}
|
||||
background {
|
||||
filter: brightness(50%);
|
||||
}
|
||||
}
|
||||
|
||||
tooltiptext {
|
||||
display: none;
|
||||
visibility: hidden;
|
||||
font-family: "Google Sans", Roboto, Noto Sans SC, sans-serif;
|
||||
width: 120px;
|
||||
background-color: #555;
|
||||
color: #fff;
|
||||
text-align: center;
|
||||
padding: 5px 0;
|
||||
border-radius: 6px;
|
||||
opacity: 0;
|
||||
transition: opacity 0.6s;
|
||||
display: none;
|
||||
visibility: hidden;
|
||||
font-family: "Google Sans", Roboto, Noto Sans SC, sans-serif;
|
||||
width: 120px;
|
||||
background-color: #555;
|
||||
color: #fff;
|
||||
text-align: center;
|
||||
padding: 5px 0;
|
||||
border-radius: 6px;
|
||||
opacity: 0;
|
||||
transition: opacity 0.6s;
|
||||
|
||||
position: absolute;
|
||||
z-index: 1;
|
||||
position: absolute;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
:hover > tooltiptext {
|
||||
display: block;
|
||||
visibility: visible;
|
||||
opacity: 1;
|
||||
display: block;
|
||||
visibility: visible;
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.toast {
|
||||
background: var(--mask-color);
|
||||
border-radius: 8px;
|
||||
display: block;
|
||||
padding: 0.4rem;
|
||||
width: 100%;
|
||||
background: var(--mask-color);
|
||||
border-radius: 8px;
|
||||
display: block;
|
||||
padding: 0.4rem;
|
||||
width: 100%;
|
||||
|
||||
left: 0px;
|
||||
position: absolute;
|
||||
top: 8px;
|
||||
right: 0px;
|
||||
width: -webkit-fill-available;
|
||||
width: fill-available;
|
||||
margin: 0 5vw;
|
||||
left: 0px;
|
||||
position: absolute;
|
||||
top: 8px;
|
||||
right: 0px;
|
||||
width: -webkit-fill-available;
|
||||
width: fill-available;
|
||||
margin: 0 5vw;
|
||||
|
||||
backdrop-filter: blur(15px);
|
||||
backdrop-filter: blur(15px);
|
||||
}
|
||||
|
||||
@ -1,31 +1,28 @@
|
||||
contents {
|
||||
display: flex;
|
||||
position: absolute;
|
||||
top: 75vh;
|
||||
position: relative;
|
||||
top: 32.5vh;
|
||||
|
||||
right: 0vh;
|
||||
left: 0vh;
|
||||
|
||||
margin: 0vh calc(5vw - 0.5rem);
|
||||
|
||||
justify-content: center;
|
||||
align-items: flex-start;
|
||||
flex-direction: column;
|
||||
flex-wrap: nowrap;
|
||||
right: 0vh;
|
||||
left: 0vh;
|
||||
|
||||
justify-content: center;
|
||||
align-items: flex-start;
|
||||
flex-direction: column;
|
||||
flex-wrap: nowrap;
|
||||
}
|
||||
|
||||
contents > group {
|
||||
display: flex;
|
||||
margin: 2.5vh 0;
|
||||
flex-direction: row;
|
||||
flex-wrap: wrap;
|
||||
justify-content: space-between;
|
||||
align-items: stretch;
|
||||
flex-direction: row;
|
||||
flex-wrap: wrap;
|
||||
justify-content: space-between;
|
||||
align-items: stretch;
|
||||
}
|
||||
|
||||
card {
|
||||
display: flex;
|
||||
display: flex;
|
||||
background-color: var(--box-color);
|
||||
padding: 2rem;
|
||||
min-height: 3rem;
|
||||
@ -33,27 +30,29 @@ card {
|
||||
flex-grow: 1;
|
||||
margin-top: 1rem;
|
||||
margin-right: 0.5rem;
|
||||
margin-left: 0.5rem;
|
||||
align-content: center;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
margin-left: 0.5rem;
|
||||
align-content: center;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
|
||||
backdrop-filter: blur(15px);
|
||||
}
|
||||
|
||||
card > a > img {
|
||||
max-height: 48px;
|
||||
max-width: 48px;
|
||||
max-width: 48px;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
group#friend > card > a > img {
|
||||
max-height: 48px;
|
||||
max-width: 48px;
|
||||
max-width: 48px;
|
||||
border-radius: 100px;
|
||||
}
|
||||
|
||||
group#footer {
|
||||
display: block;
|
||||
margin: 2rem 0.5rem;
|
||||
display: block;
|
||||
margin: 2rem 0.5rem;
|
||||
align-self: flex-start;
|
||||
color: var(--font-color-lighter);
|
||||
font-size: calc(var(--font-size-description) - 0.4rem);
|
||||
@ -64,14 +63,19 @@ group#footer > * {
|
||||
}
|
||||
|
||||
@media (prefers-color-scheme: dark) {
|
||||
card#github > a > img {
|
||||
filter: invert(100%);
|
||||
}
|
||||
card#github > a > img {
|
||||
filter: invert(100%);
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (max-width: 1024px) {
|
||||
contents {
|
||||
top: 27.5vh;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (max-width: 480px) {
|
||||
contents {
|
||||
margin: 0 calc(2vw - 0.5rem);
|
||||
top: 20vh;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -7,6 +7,11 @@ header > div {
|
||||
align-content: stretch;
|
||||
}
|
||||
|
||||
header p {
|
||||
margin-block-start: 0em;
|
||||
margin-block-end: 0em;
|
||||
}
|
||||
|
||||
header > div h1 {
|
||||
margin-block-start: 0em;
|
||||
margin-block-end: 0em;
|
||||
@ -54,10 +59,16 @@ header > img {
|
||||
align-items: center;
|
||||
}
|
||||
}
|
||||
@media screen and (max-width: 480px) {
|
||||
|
||||
@media screen and (max-width: 1024px) {
|
||||
header {
|
||||
width: -moz-available;
|
||||
width: -webkit-fill-available;
|
||||
width: fill-available;
|
||||
}
|
||||
}
|
||||
@media screen and (max-width: 480px) {
|
||||
header {
|
||||
min-height: 30vh;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user