diff --git a/assets/otadesign_rounded.woff b/assets/otadesign_rounded.woff
new file mode 100644
index 0000000..34a0623
Binary files /dev/null and b/assets/otadesign_rounded.woff differ
diff --git a/assets/otadesign_rounded.woff2 b/assets/otadesign_rounded.woff2
new file mode 100644
index 0000000..b5f1cfc
Binary files /dev/null and b/assets/otadesign_rounded.woff2 differ
diff --git a/package.json b/package.json
index 3a1ef4e..e3029ec 100644
--- a/package.json
+++ b/package.json
@@ -8,9 +8,10 @@
"scripts": {
"build": "run-s build:backend build:frontend",
"build:frontend": "webpack",
- "build:backend": "run-s build:backend-source build:views build:styles build:meta",
+ "build:backend": "run-s build:backend-source build:views build:meta build:styles build:assets",
"build:backend-source": "tsc",
"build:views": "copyfiles -u 1 src/backend/views/*.pug ./built/",
+ "build:assets": "copyfiles -u 1 assets/* ./built/assets/",
"build:meta": "node ./build-meta.js",
"build:styles": "sass styles/:built/assets",
"start": "node built/app.js",
@@ -91,7 +92,7 @@
"typeorm": "0.2.25",
"typescript": "^4.4.2",
"uuid": "^8.3.0",
- "webpack": "^5.51.1",
+ "webpack": "^5.75.0",
"webpack-cli": "^4.8.0",
"xeltica-ui": "xeltica/design-system"
},
diff --git a/src/backend/views/frontend.pug b/src/backend/views/frontend.pug
index 94f7f0c..3cb8724 100644
--- a/src/backend/views/frontend.pug
+++ b/src/backend/views/frontend.pug
@@ -14,19 +14,12 @@ html
meta(name='twitter:card' content='summary')
meta(name='twitter:site' content='@Xeltica')
meta(name='twitter:creator' content='@Xeltica')
+ link(rel="preload" href="https://koruri.chillout.chat/koruri.css")
+ link(rel="preload", href="/assets/otadesign_rounded.woff")
+ link(rel="preload", href="/assets/otadesign_rounded.woff2")
link(rel="stylesheet" href="https://koruri.chillout.chat/koruri.css")
script(src='https://kit.fontawesome.com/c7ab6eba70.js' crossorigin='anonymous')
- style.
- .loading {
- display: flex;
- position: fixed;
- inset: 0;
- background: #222;
- color: #fff;
- font-size: 16px;
- align-items: center;
- justify-content: center;
- }
+ link(rel="stylesheet", href="/assets/style.css")
body
#app: .loading Loading...
diff --git a/src/frontend/components/NavigationMenu.tsx b/src/frontend/components/NavigationMenu.tsx
index eaef9de..45a1d79 100644
--- a/src/frontend/components/NavigationMenu.tsx
+++ b/src/frontend/components/NavigationMenu.tsx
@@ -20,7 +20,7 @@ export const NavigationMenu: React.VFC = () => {
return (
<>
-
{t('title')}
+ {t('title')}
diff --git a/src/frontend/pages/index.welcome.tsx b/src/frontend/pages/index.welcome.tsx
index bcf6604..6bf92e0 100644
--- a/src/frontend/pages/index.welcome.tsx
+++ b/src/frontend/pages/index.welcome.tsx
@@ -76,7 +76,7 @@ export const IndexWelcomePage: React.VFC = () => {
<>
-
{t('title')}
+
{t('title')}
{t('description1')}
{t('description2')}
diff --git a/styles/_colors.scss b/styles/_colors.scss
deleted file mode 100644
index 986e193..0000000
--- a/styles/_colors.scss
+++ /dev/null
@@ -1,300 +0,0 @@
-/*
-https://github.com/shuhei/material-colors
-ISC License
-Copyright 2014 Shuhei Kagawa
-Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.
-THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-*/
-
-$md-red-50: #ffebee;
-$md-red-100: #ffcdd2;
-$md-red-200: #ef9a9a;
-$md-red-300: #e57373;
-$md-red-400: #ef5350;
-$md-red-500: #f44336;
-$md-red-600: #e53935;
-$md-red-700: #d32f2f;
-$md-red-800: #c62828;
-$md-red-900: #b71c1c;
-$md-red-a100: #ff8a80;
-$md-red-a200: #ff5252;
-$md-red-a400: #ff1744;
-$md-red-a700: #d50000;
-
-$md-pink-50: #fce4ec;
-$md-pink-100: #f8bbd0;
-$md-pink-200: #f48fb1;
-$md-pink-300: #f06292;
-$md-pink-400: #ec407a;
-$md-pink-500: #e91e63;
-$md-pink-600: #d81b60;
-$md-pink-700: #c2185b;
-$md-pink-800: #ad1457;
-$md-pink-900: #880e4f;
-$md-pink-a100: #ff80ab;
-$md-pink-a200: #ff4081;
-$md-pink-a400: #f50057;
-$md-pink-a700: #c51162;
-
-$md-purple-50: #f3e5f5;
-$md-purple-100: #e1bee7;
-$md-purple-200: #ce93d8;
-$md-purple-300: #ba68c8;
-$md-purple-400: #ab47bc;
-$md-purple-500: #9c27b0;
-$md-purple-600: #8e24aa;
-$md-purple-700: #7b1fa2;
-$md-purple-800: #6a1b9a;
-$md-purple-900: #4a148c;
-$md-purple-a100: #ea80fc;
-$md-purple-a200: #e040fb;
-$md-purple-a400: #d500f9;
-$md-purple-a700: #aa00ff;
-
-$md-deep-purple-50: #ede7f6;
-$md-deep-purple-100: #d1c4e9;
-$md-deep-purple-200: #b39ddb;
-$md-deep-purple-300: #9575cd;
-$md-deep-purple-400: #7e57c2;
-$md-deep-purple-500: #673ab7;
-$md-deep-purple-600: #5e35b1;
-$md-deep-purple-700: #512da8;
-$md-deep-purple-800: #4527a0;
-$md-deep-purple-900: #311b92;
-$md-deep-purple-a100: #b388ff;
-$md-deep-purple-a200: #7c4dff;
-$md-deep-purple-a400: #651fff;
-$md-deep-purple-a700: #6200ea;
-
-$md-indigo-50: #e8eaf6;
-$md-indigo-100: #c5cae9;
-$md-indigo-200: #9fa8da;
-$md-indigo-300: #7986cb;
-$md-indigo-400: #5c6bc0;
-$md-indigo-500: #3f51b5;
-$md-indigo-600: #3949ab;
-$md-indigo-700: #303f9f;
-$md-indigo-800: #283593;
-$md-indigo-900: #1a237e;
-$md-indigo-a100: #8c9eff;
-$md-indigo-a200: #536dfe;
-$md-indigo-a400: #3d5afe;
-$md-indigo-a700: #304ffe;
-
-$md-blue-50: #e3f2fd;
-$md-blue-100: #bbdefb;
-$md-blue-200: #90caf9;
-$md-blue-300: #64b5f6;
-$md-blue-400: #42a5f5;
-$md-blue-500: #2196f3;
-$md-blue-600: #1e88e5;
-$md-blue-700: #1976d2;
-$md-blue-800: #1565c0;
-$md-blue-900: #0d47a1;
-$md-blue-a100: #82b1ff;
-$md-blue-a200: #448aff;
-$md-blue-a400: #2979ff;
-$md-blue-a700: #2962ff;
-
-$md-light-blue-50: #e1f5fe;
-$md-light-blue-100: #b3e5fc;
-$md-light-blue-200: #81d4fa;
-$md-light-blue-300: #4fc3f7;
-$md-light-blue-400: #29b6f6;
-$md-light-blue-500: #03a9f4;
-$md-light-blue-600: #039be5;
-$md-light-blue-700: #0288d1;
-$md-light-blue-800: #0277bd;
-$md-light-blue-900: #01579b;
-$md-light-blue-a100: #80d8ff;
-$md-light-blue-a200: #40c4ff;
-$md-light-blue-a400: #00b0ff;
-$md-light-blue-a700: #0091ea;
-
-$md-cyan-50: #e0f7fa;
-$md-cyan-100: #b2ebf2;
-$md-cyan-200: #80deea;
-$md-cyan-300: #4dd0e1;
-$md-cyan-400: #26c6da;
-$md-cyan-500: #00bcd4;
-$md-cyan-600: #00acc1;
-$md-cyan-700: #0097a7;
-$md-cyan-800: #00838f;
-$md-cyan-900: #006064;
-$md-cyan-a100: #84ffff;
-$md-cyan-a200: #18ffff;
-$md-cyan-a400: #00e5ff;
-$md-cyan-a700: #00b8d4;
-
-$md-teal-50: #e0f2f1;
-$md-teal-100: #b2dfdb;
-$md-teal-200: #80cbc4;
-$md-teal-300: #4db6ac;
-$md-teal-400: #26a69a;
-$md-teal-500: #009688;
-$md-teal-600: #00897b;
-$md-teal-700: #00796b;
-$md-teal-800: #00695c;
-$md-teal-900: #004d40;
-$md-teal-a100: #a7ffeb;
-$md-teal-a200: #64ffda;
-$md-teal-a400: #1de9b6;
-$md-teal-a700: #00bfa5;
-
-$md-green-50: #e8f5e9;
-$md-green-100: #c8e6c9;
-$md-green-200: #a5d6a7;
-$md-green-300: #81c784;
-$md-green-400: #66bb6a;
-$md-green-500: #4caf50;
-$md-green-600: #43a047;
-$md-green-700: #388e3c;
-$md-green-800: #2e7d32;
-$md-green-900: #1b5e20;
-$md-green-a100: #b9f6ca;
-$md-green-a200: #69f0ae;
-$md-green-a400: #00e676;
-$md-green-a700: #00c853;
-
-$md-light-green-50: #f1f8e9;
-$md-light-green-100: #dcedc8;
-$md-light-green-200: #c5e1a5;
-$md-light-green-300: #aed581;
-$md-light-green-400: #9ccc65;
-$md-light-green-500: #8bc34a;
-$md-light-green-600: #7cb342;
-$md-light-green-700: #689f38;
-$md-light-green-800: #558b2f;
-$md-light-green-900: #33691e;
-$md-light-green-a100: #ccff90;
-$md-light-green-a200: #b2ff59;
-$md-light-green-a400: #76ff03;
-$md-light-green-a700: #64dd17;
-
-$md-lime-50: #f9fbe7;
-$md-lime-100: #f0f4c3;
-$md-lime-200: #e6ee9c;
-$md-lime-300: #dce775;
-$md-lime-400: #d4e157;
-$md-lime-500: #cddc39;
-$md-lime-600: #c0ca33;
-$md-lime-700: #afb42b;
-$md-lime-800: #9e9d24;
-$md-lime-900: #827717;
-$md-lime-a100: #f4ff81;
-$md-lime-a200: #eeff41;
-$md-lime-a400: #c6ff00;
-$md-lime-a700: #aeea00;
-
-$md-yellow-50: #fffde7;
-$md-yellow-100: #fff9c4;
-$md-yellow-200: #fff59d;
-$md-yellow-300: #fff176;
-$md-yellow-400: #ffee58;
-$md-yellow-500: #ffeb3b;
-$md-yellow-600: #fdd835;
-$md-yellow-700: #fbc02d;
-$md-yellow-800: #f9a825;
-$md-yellow-900: #f57f17;
-$md-yellow-a100: #ffff8d;
-$md-yellow-a200: #ffff00;
-$md-yellow-a400: #ffea00;
-$md-yellow-a700: #ffd600;
-
-$md-amber-50: #fff8e1;
-$md-amber-100: #ffecb3;
-$md-amber-200: #ffe082;
-$md-amber-300: #ffd54f;
-$md-amber-400: #ffca28;
-$md-amber-500: #ffc107;
-$md-amber-600: #ffb300;
-$md-amber-700: #ffa000;
-$md-amber-800: #ff8f00;
-$md-amber-900: #ff6f00;
-$md-amber-a100: #ffe57f;
-$md-amber-a200: #ffd740;
-$md-amber-a400: #ffc400;
-$md-amber-a700: #ffab00;
-
-$md-orange-50: #fff3e0;
-$md-orange-100: #ffe0b2;
-$md-orange-200: #ffcc80;
-$md-orange-300: #ffb74d;
-$md-orange-400: #ffa726;
-$md-orange-500: #ff9800;
-$md-orange-600: #fb8c00;
-$md-orange-700: #f57c00;
-$md-orange-800: #ef6c00;
-$md-orange-900: #e65100;
-$md-orange-a100: #ffd180;
-$md-orange-a200: #ffab40;
-$md-orange-a400: #ff9100;
-$md-orange-a700: #ff6d00;
-
-$md-deep-orange-50: #fbe9e7;
-$md-deep-orange-100: #ffccbc;
-$md-deep-orange-200: #ffab91;
-$md-deep-orange-300: #ff8a65;
-$md-deep-orange-400: #ff7043;
-$md-deep-orange-500: #ff5722;
-$md-deep-orange-600: #f4511e;
-$md-deep-orange-700: #e64a19;
-$md-deep-orange-800: #d84315;
-$md-deep-orange-900: #bf360c;
-$md-deep-orange-a100: #ff9e80;
-$md-deep-orange-a200: #ff6e40;
-$md-deep-orange-a400: #ff3d00;
-$md-deep-orange-a700: #dd2c00;
-
-$md-brown-50: #efebe9;
-$md-brown-100: #d7ccc8;
-$md-brown-200: #bcaaa4;
-$md-brown-300: #a1887f;
-$md-brown-400: #8d6e63;
-$md-brown-500: #795548;
-$md-brown-600: #6d4c41;
-$md-brown-700: #5d4037;
-$md-brown-800: #4e342e;
-$md-brown-900: #3e2723;
-
-$md-grey-50: #fafafa;
-$md-grey-100: #f5f5f5;
-$md-grey-200: #eeeeee;
-$md-grey-300: #e0e0e0;
-$md-grey-400: #bdbdbd;
-$md-grey-500: #9e9e9e;
-$md-grey-600: #757575;
-$md-grey-700: #616161;
-$md-grey-800: #424242;
-$md-grey-900: #212121;
-
-$md-blue-grey-50: #eceff1;
-$md-blue-grey-100: #cfd8dc;
-$md-blue-grey-200: #b0bec5;
-$md-blue-grey-300: #90a4ae;
-$md-blue-grey-400: #78909c;
-$md-blue-grey-500: #607d8b;
-$md-blue-grey-600: #546e7a;
-$md-blue-grey-700: #455a64;
-$md-blue-grey-800: #37474f;
-$md-blue-grey-900: #263238;
-
-$md-black: #000000;
-
-$md-white: #ffffff;
-
-$md-dark-text-primary: rgba(0, 0, 0, 0.87);
-$md-dark-text-secondary: rgba(0, 0, 0, 0.54);
-$md-dark-text-disabled: rgba(0, 0, 0, 0.38);
-$md-dark-text-dividers: rgba(0, 0, 0, 0.12);
-
-$md-light-text-primary: rgba(255, 255, 255, 1);
-$md-light-text-secondary: rgba(255, 255, 255, 0.7);
-$md-light-text-disabled: rgba(255, 255, 255, 0.5);
-$md-light-text-dividers: rgba(255, 255, 255, 0.12);
-
-$md-dark-icons-active: rgba(0, 0, 0, 0.54);
-$md-dark-icons-inactive: rgba(0, 0, 0, 0.38);
-
-$md-light-icons-active: rgba(255, 255, 255, 1);
-$md-light-icons-inactive: rgba(255, 255, 255, 0.5);
\ No newline at end of file
diff --git a/styles/_xeltica-design.scss b/styles/_xeltica-design.scss
deleted file mode 100644
index 31259af..0000000
--- a/styles/_xeltica-design.scss
+++ /dev/null
@@ -1,501 +0,0 @@
-/*
- Xeltica Design CSS Framework
- (C)2020 Xeltica
-*/
-
-* {
- box-sizing: border-box;
- line-height: 1.8em;
-}
-
-html {
- $primary: rgb(134, 179, 0);
- $fg: rgba(255, 255, 255, 0.8);
- $bg: rgba(24, 24, 24, 0.8);
- $overlay: transparentize($bg, 0.5);
- $danger: #c72c2c;
- font-size: 18px;
- @media screen and (max-width: 640px) {
- font-size: 15px;
- }
- --primary: #{$primary};
- --primary-light: #{lighten($primary, 5%)};
- --primary-dark: #{darken($primary, 5%)};
- --primary-fg: white;
- --bg: #{$bg};
- --bg-pale-1: #{darken($bg, 5%)};
- --bg-pale-2: #{darken($bg, 10%)};
- --overlay: #{$overlay};
- --fg: #{$fg};
- // --divider: rgba(70, 70, 70, 0.25);
- --radius: 0px;
- --margin: 16px;
-
- --bg-danger: #{$danger};
- --fg-danger: white;
- --divider-danger: #400e0e;
- --bg-danger-lighten: #{lighten($danger, 5%)};
- --bg-danger-darken: #{darken($danger, 5%)};
-}
-
-body {
- background: var(--bg);
- color: var(--fg);
-}
-
-h1, h2, h3, h4, h5, h6 {
- font-weight: normal;
- margin: 0;
- margin-bottom: 8px;
-}
-
-dl {
- margin: 0;
- > dt {
- font-weight: bold;
- }
- > dd {
- margin-left: 2rem;
- @media screen and (max-width: 640px) {
- margin-left: 0;
- }
- }
-}
-
-h1 { font-size: 2.5rem; }
-h2 { font-size: 1.6rem; }
-h3 { font-size: 1.4rem; }
-h4 { font-size: 1.2rem; }
-h5 { font-size: 1.1rem; }
-h6 { font-size: 1.05rem; }
-
-input.xd-input {
- outline: none;
- border-radius: var(--radius);
- color: var(--fg);
- background: transparent;
- border: 1px solid var(--fg);
- padding: 2px 8px;
- font-size: 1rem;
-
- &:focus {
- border-color: var(--primary);
- }
-}
-
-p {
- margin: 1em 0;
- &:first-child {
- margin-top: 0;
- }
-}
-
-.xd-inputs {
- display: flex;
- > *:not(:first-child) {
- border-left: none;
- border-top-left-radius: 0;
- border-bottom-left-radius: 0;
- }
-
- > *:not(:last-child) {
- border-top-right-radius: 0;
- border-bottom-right-radius: 0;
- }
-}
-
-.xd-main {
- background: var(--bg);
- padding: 32px;
- border-radius: var(--radius);
- border: 1px solid var(--divider);
- max-width: 960px;
- margin: 24px auto;
- backdrop-filter: blur(32px) saturate(4);
- -webkit-backdrop-filter: blur(32px) saturate(4);
- box-shadow: 0 0 16px black;
-}
-
-button, .xd-button {
- display: flex;
- color: var(--fg);
- background: var(--bg);
- border: 1px solid var(--bg-pale-1);
- align-items: center;
- justify-content: center;
- border-radius: var(--radius);
- font-size: 1rem;
- outline: none;
- padding: 2px 8px;
- text-decoration: none;
- cursor: pointer;
-
- &:hover, &:focus {
- background: var(--bg-pale-1);
- }
- &:active {
- background: var(--bg-pale-2);
- }
-
- &.primary {
- background: var(--primary);
- color: var(--primary-fg);
- border-color: var(--primary-dark);
- &:hover, &:focus {
- background: var(--primary-light);
- }
- &:active {
- background: var(--primary-dark);
- }
- }
-
- &.danger {
- background: var(--bg-danger);
- color: white;
- border-color: var(--divider-danger);
- &:hover, &:focus {
- background: var(--bg-danger-lighten);
- }
- &:active {
- background: var(--bg-danger-lighten);
- }
- }
-}
-
-textarea {
- width: 100%;
- font-size: 1rem;
- padding: 16px;
- border-radius: var(--radius);
- background: var(--overlay);
- border: none;
- outline: none;
- height: 8rem;
- line-height: 1.2;
- color: var(--fg);
- &:focus {
- border: 1px solid var(--primary);
- }
-}
-
-// ul, ol {
-// > ul, > ol {
-// margin-bottom: 0;
-// }
-// }
-
-a, .link {
- text-decoration: none;
- color: var(--primary);
- &:hover {
- opacity: 0.7;
- }
-}
-
-table {
- border: 1px solid var(--divider);
- border-radius: var(--radius);
- background: var(--overlay);
- width: 100%;
-
- > thead {
- background: var(--overlay);
- margin-bottom: 2px;
- text-align: left;
- }
- > tbody > tr {
- border-bottom: 1px solid var(--overlay);
- }
- th, td {
- padding: 4px 8px;
- }
-}
-
-code {
- border-radius: var(--radius);
- color: #0f0;
- background: #000;
- padding: 8px;
-}
-
-.xd-container {
- max-width: 960px;
- margin: 64px auto;
-}
-
-.xd-hstack {
- display: flex;
- > *:not(:last-child) {
- margin-right: var(--margin);
- }
-
- > * {
- width: 100%;
- }
-
- @media screen and (max-width: 640px) {
- flex-direction: column;
- > * {
- margin-bottom: var(--margin);
- }
- }
-}
-
-.xd-vstack {
- display: flex;
- flex-direction: column;
- > *:not(:last-child) {
- margin-bottom: var(--margin);
- }
-}
-
-.xd-card {
- background: var(--bg);
- padding: 16px;
- border-radius: var(--radius);
- border: 1px solid var(--divider);
- // backdrop-filter: blur(32px) saturate(4);
- // -webkit-backdrop-filter: blur(32px) saturate(4);
- box-shadow: 0 0 16px black;
- overflow: hidden;
-
-
- h1 { font-size: 2rem; }
- h2 { font-size: 1.5rem; }
- h3 { font-size: 1.3rem; }
- h4 { font-size: 1.17rem; }
- h5 { font-size: 1.12rem; }
- h6 { font-size: 1.08rem; }
-
- > .media {
- width: 100%;
- height: auto;
- object-fit: cover;
- }
-
- > .body {
- padding: 16px;
- }
-
- > .header, > .footer {
- padding: 8px 16px;
- }
-
- > .header {
- > h1.title {
- font-size: 1.5rem;
- margin: 0;
- font-weight: bold;
- }
- }
-
- > .footer {
- background: var(--bg-pale-1);
- border-top: 1px solid var(--divider);
- }
- @media screen and (max-width: 640px) {
- border-radius: 0;
- }
-}
-
-.xd-cards {
- list-style: none;
- display: flex;
- flex-direction: row;
- flex-wrap: nowrap;
- justify-content: left;
-
- > .xd-card {
- width: 100%;
- margin: 8px;
- }
-
- &.center {
- justify-content: center;
- }
- @media screen and (max-width: 640px) {
- flex-wrap: wrap;
- > .xd-card {
- margin: 8px 0;
- }
- }
-
- &.wrap {
- flex-wrap: wrap;
- }
-}
-
-.mx-auto { margin-left: auto; margin-right: auto; }
-.my-auto { margin-top: auto; margin-bottom: auto; }
-
-.px-auto { padding-left: auto; padding-right: auto; }
-.py-auto { padding-top: auto; padding-bottom: auto; }
-
-@for $v from -5 through 5 {
- $size: $v * 8px;
- .ma-#{$v} { margin: $size; }
- .ml-#{$v} { margin-left: $size; }
- .mr-#{$v} { margin-right: $size; }
- .mt-#{$v} { margin-top: $size; }
- .mb-#{$v} { margin-bottom: $size; }
- .mx-#{$v} { margin-left: $size; margin-right: $size; }
- .my-#{$v} { margin-top: $size; margin-bottom: $size; }
-
- .pa-#{$v} { padding: $size; }
- .pl-#{$v} { padding-left: $size; }
- .pr-#{$v} { padding-right: $size; }
- .pt-#{$v} { padding-top: $size; }
- .pb-#{$v} { padding-bottom: $size; }
- .px-#{$v} { padding-left: $size; padding-right: $size; }
- .py-#{$v} { padding-top: $size; padding-bottom: $size; }
-}
-
-.xd-slide-in {
- animation: slideIn 1s ease-out;
-}
-
-@keyframes slideIn {
- 0% {
- transform: translateY(32px);
- opacity: 0;
- }
-
- 100% {
- transform: none;
- opacity: 1;
- }
-}
-
-figure {
- margin: 0;
- padding: 0;
-}
-
-@each $mode in none, block, inline, flex, grid, inline-block, inline-flex {
- .display-#{$mode} { display: $mode; }
-}
-
-@media screen and (min-width: 901px) {
- .hide-on-pc {
- display: none !important;
- }
-}
-
-@media screen and (max-width: 900px) and (min-width: 641px) {
- .hide-on-tablet {
- display: none !important;
- }
-}
-
-@media screen and (max-width: 640px) {
- .hide-on-mobile {
- display: none !important;
- }
-}
-
-@for $i from -18 through 18 {
- .xd-tilt-#{$i * 5} {
- display: inline-block;
- transform: rotateZ($i * 5deg);
- }
-}
-
-@keyframes blink {
- 0% { opacity: 1 }
- 10% { opacity: 1 }
- 12% { opacity: 0 }
- 14% { opacity: 1 }
- 20% { opacity: 1 }
- 21% { opacity: 0 }
- 39% { opacity: 0 }
- 40% { opacity: 1 }
- 48% { opacity: 1 }
- 49% { opacity: 0 }
- 50% { opacity: 1 }
- 54% { opacity: 1 }
- 55% { opacity: 0 }
- 56% { opacity: 1 }
- 85% { opacity: 1 }
- 89% { opacity: 0 }
- 95% { opacity: 1 }
-}
-
-.xd-big {
- font-size: 2rem;
-}
-
-.xd-small {
- font-size: 0.5rem;
-}
-
-.xd-blink {
- animation: blink 2s infinite linear;
-}
-
-.xd-fluid {
- width: 100%;
-}
-
-img, .xd-responsive {
- max-width: 100%;
-}
-
-.xd-footer {
- text-align: center;
- // background: darken($bg, 2);
-}
-
-.xd-columns {
- display: flex;
-
- @media screen and (max-width: 640px) {
- flex-wrap: wrap;
- }
-
- .xd-column {
- &.gap-1 { margin: 8px; }
- &.gap-2 { margin: 16px; }
- &.gap-3 { margin: 24px; }
- }
-}
-
-.xd-alert {
- padding: 8px 16px;
- display: flex;
- align-items: center;
- border-radius: var(--radius);
- width: 100%;
- background: var(--bg);
- border: 1px solid var(--bg-pale-2);
- color: var(--fg);
- font-size: 75%;
-
- > .icon {
- opacity: 0.5;
- font-size: 1.2rem;
- margin-right: 16px;
- }
-
- &.danger {
- > .icon {
- opacity: 1;
- }
- background: var(--bg-danger);
- border: 1px solid var(--divider-danger);
- color: var(--fg-danger);
- }
-
-}
-
-.xd-center {
- text-align: center;
-}
-
-.xd-centerized {
- display: flex;
- justify-content: center;
- align-items: center;
- text-align: center;
- width: 100vw;
- height: 100vh;
-}
\ No newline at end of file
diff --git a/styles/style.scss b/styles/style.scss
index 8b895c4..812e2b0 100644
--- a/styles/style.scss
+++ b/styles/style.scss
@@ -1,58 +1,20 @@
-@import '_xeltica-design.scss';
-
-body {
- background: var(--bg-pale-1);
+@font-face {
+ font-family: "OTADESIGN Rounded";
+ src: url("/assets/otadesign_rounded.woff2") format('woff2'),
+ url("/assets/otadesign_rounded.woff") format('woff');
}
-h1> a {
- border-bottom: none;
+.font-misskey {
+ font-family: "OTADESIGN Rounded";
}
-.background {
+.loading {
+ display: flex;
position: fixed;
- z-index: -50;
inset: 0;
-
- background: radial-gradient(
- farthest-corner at 0 0,
- #86b300 0%,
- #86b300 40%,
- #6900ba 90%,
- #6900ba 100%
- );
-}
-
-.background:before {
- z-index: -200;
- position: absolute;
- inset: 0;
- background: radial-gradient(
- 60vw at 150vh 50vh,
- #ff9900 0%,
- #ff9900 20%,
- rgba(0, 0, 0, 0) 100%
- );
- content: "";
-}
-
-.background:after {
- z-index: -100;
- position: absolute;
- inset: 0;
- background: radial-gradient(
- 50vw at 120vw 120vh,
- rgba(0, 30, 190, 1) 0%,
- rgba(0, 30, 190, 0) 100%
- );
- content: "";
-}
-
-details > summary {
- margin-bottom: 8px;
- cursor: pointer;
-}
-
-h1 > small {
- margin-left: 1rem;
- font-size: 1.2rem;
+ background: #222;
+ color: #fff;
+ font-size: 16px;
+ align-items: center;
+ justify-content: center;
}
\ No newline at end of file
diff --git a/yarn.lock b/yarn.lock
index 61560c8..07ca7c5 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -362,10 +362,10 @@
dependencies:
deepmerge "*"
-"@types/eslint-scope@^3.7.0":
- version "3.7.1"
- resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.1.tgz#8dc390a7b4f9dd9f1284629efce982e41612116e"
- integrity sha512-SCFeogqiptms4Fg29WpOTk5nHIzfpKCemSN63ksBQYKTcXoJEmJagV+DhVmbapZzY4/5YaOV1nZwrsU79fFm1g==
+"@types/eslint-scope@^3.7.3":
+ version "3.7.4"
+ resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.4.tgz#37fc1223f0786c39627068a12e94d6e6fc61de16"
+ integrity sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==
dependencies:
"@types/eslint" "*"
"@types/estree" "*"
@@ -378,11 +378,16 @@
"@types/estree" "*"
"@types/json-schema" "*"
-"@types/estree@*", "@types/estree@^0.0.50":
+"@types/estree@*":
version "0.0.50"
resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.50.tgz#1e0caa9364d3fccd2931c3ed96fdbeaa5d4cca83"
integrity sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw==
+"@types/estree@^0.0.51":
+ version "0.0.51"
+ resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.51.tgz#cfd70924a25a3fd32b218e5e420e6897e1ac4f40"
+ integrity sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==
+
"@types/express-serve-static-core@^4.17.18":
version "4.17.24"
resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.24.tgz#ea41f93bf7e0d59cd5a76665068ed6aab6815c07"
@@ -926,10 +931,10 @@ acorn@^7.1.1, acorn@^7.4.0:
resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa"
integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==
-acorn@^8.4.1:
- version "8.5.0"
- resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.5.0.tgz#4512ccb99b3698c752591e9bb4472e38ad43cee2"
- integrity sha512-yXbYeFy+jUuYd3/CDcg2NkIYE991XYX/bje7LmjJigUciaeO1JR4XxXgCIV1/Zc/dRuFEyw1L0pbA+qynJkW5Q==
+acorn@^8.7.1:
+ version "8.8.1"
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.1.tgz#0a3f9cbecc4ec3bea6f0a80b66ae8dd2da250b73"
+ integrity sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==
ajv-keywords@^3.5.2:
version "3.5.2"
@@ -1909,7 +1914,7 @@ end-of-stream@^1.1.0:
dependencies:
once "^1.4.0"
-enhanced-resolve@^5.0.0, enhanced-resolve@^5.7.0, enhanced-resolve@^5.8.3:
+enhanced-resolve@^5.0.0, enhanced-resolve@^5.7.0:
version "5.8.3"
resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.8.3.tgz#6d552d465cce0423f5b3d718511ea53826a7b2f0"
integrity sha512-EGAbGvH7j7Xt2nc0E7D99La1OiEs8LnyimkRgwExpUMScN6O+3x9tIWs7PLQZVNx4YD+00skHXPXi1yQHpAmZA==
@@ -1917,6 +1922,14 @@ enhanced-resolve@^5.0.0, enhanced-resolve@^5.7.0, enhanced-resolve@^5.8.3:
graceful-fs "^4.2.4"
tapable "^2.2.0"
+enhanced-resolve@^5.10.0:
+ version "5.12.0"
+ resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz#300e1c90228f5b570c4d35babf263f6da7155634"
+ integrity sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==
+ dependencies:
+ graceful-fs "^4.2.4"
+ tapable "^2.2.0"
+
enquirer@^2.3.5:
version "2.3.6"
resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d"
@@ -2562,7 +2575,7 @@ graceful-fs@^4.1.2, graceful-fs@^4.2.4:
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.8.tgz#e412b8d33f5e006593cbd3cee6df9f2cebbe802a"
integrity sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==
-graceful-fs@^4.1.6, graceful-fs@^4.2.0:
+graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.9:
version "4.2.10"
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c"
integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==
@@ -3173,11 +3186,16 @@ json-buffer@3.0.0:
resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898"
integrity sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=
-json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2:
+json-parse-better-errors@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9"
integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==
+json-parse-even-better-errors@^2.3.1:
+ version "2.3.1"
+ resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d"
+ integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==
+
json-schema-traverse@^0.4.1:
version "0.4.1"
resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
@@ -6145,10 +6163,10 @@ void-elements@3.1.0, void-elements@^3.1.0:
resolved "https://registry.yarnpkg.com/void-elements/-/void-elements-3.1.0.tgz#614f7fbf8d801f0bb5f0661f5b2f5785750e4f09"
integrity sha1-YU9/v42AHwu18GYfWy9XhXUOTwk=
-watchpack@^2.2.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.2.0.tgz#47d78f5415fe550ecd740f99fe2882323a58b1ce"
- integrity sha512-up4YAn/XHgZHIxFBVCdlMiWDj6WaLKpwVeGQk2I5thdYxF/KmF0aaz6TfJZ/hfl1h/XlcDr7k1KH7ThDagpFaA==
+watchpack@^2.4.0:
+ version "2.4.0"
+ resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.0.tgz#fa33032374962c78113f93c7f2fb4c54c9862a5d"
+ integrity sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==
dependencies:
glob-to-regexp "^0.4.1"
graceful-fs "^4.1.2"
@@ -6180,40 +6198,40 @@ webpack-merge@^5.7.3:
clone-deep "^4.0.1"
wildcard "^2.0.0"
-webpack-sources@^3.2.0:
- version "3.2.1"
- resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.1.tgz#251a7d9720d75ada1469ca07dbb62f3641a05b6d"
- integrity sha512-t6BMVLQ0AkjBOoRTZgqrWm7xbXMBzD+XDq2EZ96+vMfn3qKgsvdXZhbPZ4ElUOpdv4u+iiGe+w3+J75iy/bYGA==
+webpack-sources@^3.2.3:
+ version "3.2.3"
+ resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde"
+ integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==
-webpack@^5.51.1:
- version "5.58.0"
- resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.58.0.tgz#9ec621cf8534f23c25e779e7c35dfde1211d5ccb"
- integrity sha512-xc2k5MLbR1iah24Z5xUm1nBh1PZXEdUnrX6YkTSOScq/VWbl5JCLREXJzGYqEAUbIO8tZI+Dzv82lGtnuUnVCQ==
+webpack@^5.75.0:
+ version "5.75.0"
+ resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.75.0.tgz#1e440468647b2505860e94c9ff3e44d5b582c152"
+ integrity sha512-piaIaoVJlqMsPtX/+3KTTO6jfvrSYgauFVdt8cr9LTHKmcq/AMd4mhzsiP7ZF/PGRNPGA8336jldh9l2Kt2ogQ==
dependencies:
- "@types/eslint-scope" "^3.7.0"
- "@types/estree" "^0.0.50"
+ "@types/eslint-scope" "^3.7.3"
+ "@types/estree" "^0.0.51"
"@webassemblyjs/ast" "1.11.1"
"@webassemblyjs/wasm-edit" "1.11.1"
"@webassemblyjs/wasm-parser" "1.11.1"
- acorn "^8.4.1"
+ acorn "^8.7.1"
acorn-import-assertions "^1.7.6"
browserslist "^4.14.5"
chrome-trace-event "^1.0.2"
- enhanced-resolve "^5.8.3"
+ enhanced-resolve "^5.10.0"
es-module-lexer "^0.9.0"
eslint-scope "5.1.1"
events "^3.2.0"
glob-to-regexp "^0.4.1"
- graceful-fs "^4.2.4"
- json-parse-better-errors "^1.0.2"
+ graceful-fs "^4.2.9"
+ json-parse-even-better-errors "^2.3.1"
loader-runner "^4.2.0"
mime-types "^2.1.27"
neo-async "^2.6.2"
schema-utils "^3.1.0"
tapable "^2.1.1"
terser-webpack-plugin "^5.1.3"
- watchpack "^2.2.0"
- webpack-sources "^3.2.0"
+ watchpack "^2.4.0"
+ webpack-sources "^3.2.3"
which-boxed-primitive@^1.0.2:
version "1.0.2"