Skip to content
Snippets Groups Projects
Commit 1e6fd0e5 authored by Jakob Yanagibashi's avatar Jakob Yanagibashi :nail_care_tone4:
Browse files

Merge branch 'dev' into 'main'

New logo

See merge request !5
parents c9468539 bcbab590
No related branches found
No related tags found
1 merge request!5New logo
Pipeline #263206 passed
Showing with 548 additions and 123 deletions
......@@ -48,6 +48,10 @@ pages:
- git checkout dev
- git pull
# Check for favicon updates
- npm install -g cli-real-favicon
- real-favicon check-for-update --fail-on-update faviconData.json
# Build for GitLab Pages
- npm run build-gitlab
- cp -a dist/. public/
......
:root {
--main-accent-color: #97010e;
--sub-accent-color: #f34c3f;
--main-highlight-color: #b8caba;
--sub-highlight-color: #5a6b5d;
--100-color: #e1e1e1;
--200-color: #adadad;
--300-color: #949494;
--400-color: #474747;
}
body {
display: flex;
flex-flow: column wrap;
font-family: ui-sans-serif, sans-serif;
font-family: "Roboto Mono", ui-monospace, monospace, ui-sans-serif, sans-serif;
-webkit-user-select: none; /* still needed for Safari 16 */
user-select: none;
}
#viewer-settings-knob {
position: fixed;
background: var(--100-color);
margin: 0.5rem;
padding: 0.5rem;
border-radius: 0.75rem;
display: none;
}
menu {
display: inline-block;
display: inline-flex;
list-style-type: none;
padding: 0;
margin: 0;
}
header {
display: none;
}
#tailorbirdLogo {
--logosize-scalefactor: 1.5;
height: calc(102px / var(--logosize-scalefactor));
width: calc(334px / var(--logosize-scalefactor));
}
menu > li {
display: inline-block;
}
menu button {
border-radius: 0.25rem;
background-color: #ccc;
background-color: var(--200-color);
padding: 0.25rem 0.75rem;
margin: 0 0.5rem;
border: 1.5px solid #ccc;
transition: 0.3s;
border: 1.5px solid var(--300-color);
cursor: pointer;
}
menu button#zoomIntoViewButton {
cursor: zoom-in;
}
menu button#zoomOutViewButton {
cursor: zoom-out;
}
menu button.buttonRightFlat {
margin-right: 0;
border-right: none;
border-top-right-radius: 0;
border-bottom-right-radius: 0;
}
menu button.buttonLeftFlat {
margin-left: 0;
border-left: none;
border-top-left-radius: 0;
border-bottom-left-radius: 0;
}
menu button:hover {
background-color: #bbb;
border-color: #7a7a7a;
background-color: var(--300-color);
border-color: var(--400-color);
}
menu button:active {
background-color: #999;
background-color: var(--400-color);
}
menu button:disabled {
color: #aaa;
color: var(--100-color);
}
menu.menu-impressum {
padding-left: 1rem;
......@@ -56,7 +79,7 @@ menu.menu-impressum li:not(:last-child)::after {
}
menu.menu-impressum a {
text-decoration: none;
color: #000;
color: black;
}
menu.menu-right {
float: right;
......@@ -69,7 +92,7 @@ main {
}
section {
outline: 2px solid black;
outline: 2px solid var(--400-color);
display: flex;
flex-direction: column;
height: 100vh;
......@@ -80,13 +103,16 @@ section#viewer {
}
article#viewer-settings {
background-color: #eee;
padding: 0.5rem 0 0 0.5rem;
outline: 2px solid black;
position: fixed;
background: no-repeat url("/icon.svg") var(--100-color);
margin: 0 1vw;
padding: 0.75rem 0 0 3rem;
outline: 2px solid var(--400-color);
transition: 0.3s;
}
section#tools {
background-color: #eee;
background-color: var(--100-color);
flex: none; /* Equivalent to flex: 0 0 auto; */
}
......@@ -120,15 +146,15 @@ article#tools-list {
}
#list-commands {
background-color: #eee;
background-color: var(--100-color);
}
#list-commands > ul {
background-color: #bbb;
background-color: var(--200-color);
}
#list-commands > ul > ul {
background-color: #999;
background-color: var(--400-color);
}
#list-commands li {
......@@ -139,17 +165,16 @@ article#tools-list {
#list-commands li.selected {
color: white;
background-color: darkslategray;
background-color: var(--sub-highlight-color);
}
#list-commands li:hover {
color: white;
background-color: darkgray;
background-color: var(--main-highlight-color);
}
#list-commands li.selected:hover {
color: white;
background-color: darkslategray;
background-color: var(--sub-highlight-color);
}
article#tools-list-buttons {
......@@ -161,59 +186,26 @@ article#tools-list-buttons {
padding: 0;
}
#helpDialog ul > li > span.helpControlText {
#helpDialog span.helpControlText {
position: absolute;
left: 3rem;
}
/* Zdog */
.zdog-canvas {
display: block;
width: 100%;
height: calc(100vh - 3rem); /* 3rem is height of footer incl. margin */
}
/*ul {
padding-left: 0;
margin-bottom: 0;
}
#command-area {
height: 400px;
}
#list-commands-wrapper {
margin: 1rem 0;
width: 300px;
float: left;
background-color: slategray;
outline-radius: 10px;
#helpDialog a {
text-decoration: none;
color: black;
}
#list-commands > li {
width: 200px;
margin: 1rem auto;
padding: 0.5rem 1rem;
background-color: lightgray;
outline-radius: 10px;
#helpLogo {
width: 75px;
height: 75px;
float: right;
}
#list-commands .command-active {
background-color: white;
}
/* Zdog */
#popup-edit {
margin: 1rem 0;
width: 300px;
display: none;
float: right;
background-color: white;
padding: 2rem 3rem;
height: 300px;
outline-radius: 10px;
.zdog-canvas {
display: block;
width: 100%;
height: 100vh;
}
#popup-edit-parameters {
list-style: none;
}*/
{"result":{"status":"success"},"favicon":{"package_url":"https://realfavicongenerator.net/files/99cf5207dde3f7619c6fb5a9800c66ae90c92df3/favicon_package_v0.16.zip","files_urls":["https://realfavicongenerator.net/files/99cf5207dde3f7619c6fb5a9800c66ae90c92df3/package_files/android-chrome-192x192.png","https://realfavicongenerator.net/files/99cf5207dde3f7619c6fb5a9800c66ae90c92df3/package_files/android-chrome-512x512.png","https://realfavicongenerator.net/files/99cf5207dde3f7619c6fb5a9800c66ae90c92df3/package_files/apple-touch-icon.png","https://realfavicongenerator.net/files/99cf5207dde3f7619c6fb5a9800c66ae90c92df3/package_files/browserconfig.xml","https://realfavicongenerator.net/files/99cf5207dde3f7619c6fb5a9800c66ae90c92df3/package_files/favicon-16x16.png","https://realfavicongenerator.net/files/99cf5207dde3f7619c6fb5a9800c66ae90c92df3/package_files/favicon-32x32.png","https://realfavicongenerator.net/files/99cf5207dde3f7619c6fb5a9800c66ae90c92df3/package_files/favicon.ico","https://realfavicongenerator.net/files/99cf5207dde3f7619c6fb5a9800c66ae90c92df3/package_files/mstile-144x144.png","https://realfavicongenerator.net/files/99cf5207dde3f7619c6fb5a9800c66ae90c92df3/package_files/mstile-150x150.png","https://realfavicongenerator.net/files/99cf5207dde3f7619c6fb5a9800c66ae90c92df3/package_files/mstile-310x150.png","https://realfavicongenerator.net/files/99cf5207dde3f7619c6fb5a9800c66ae90c92df3/package_files/mstile-310x310.png","https://realfavicongenerator.net/files/99cf5207dde3f7619c6fb5a9800c66ae90c92df3/package_files/mstile-70x70.png","https://realfavicongenerator.net/files/99cf5207dde3f7619c6fb5a9800c66ae90c92df3/package_files/safari-pinned-tab.svg","https://realfavicongenerator.net/files/99cf5207dde3f7619c6fb5a9800c66ae90c92df3/package_files/site.webmanifest"],"html_code":"<link rel=\"apple-touch-icon\" sizes=\"180x180\" href=\"/apple-touch-icon.png\">\n<link rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/favicon-32x32.png\">\n<link rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/favicon-16x16.png\">\n<link rel=\"manifest\" href=\"/site.webmanifest\">\n<link rel=\"mask-icon\" href=\"/safari-pinned-tab.svg\" color=\"#5a6b5d\">\n<meta name=\"apple-mobile-web-app-title\" content=\"Tailorbird\">\n<meta name=\"application-name\" content=\"Tailorbird\">\n<meta name=\"msapplication-TileColor\" content=\"#e1e1e1\">\n<meta name=\"theme-color\" content=\"#e1e1e1\">","compression":"false","overlapping_markups":["link[rel=\"apple-touch-icon\"]","meta[name=\"apple-mobile-web-app-title\"]","link[rel=\"shortcut\"]","link[rel=\"shortcut icon\"]","link[rel=\"icon\",sizes=\"16x16\"]","link[rel=\"icon\",sizes=\"32x32\"]","meta[name=\"msapplication-TileColor\"]","meta[name=\"application-name\"]","link[rel=\"manifest\"]","meta[name=\"theme-color\"]","link[rel=\"mask-icon\"]"]},"files_location":{"type":"path","path":"/"},"preview_picture_url":"https://realfavicongenerator.net/files/99cf5207dde3f7619c6fb5a9800c66ae90c92df3/favicon_preview.png","version":"0.16"}
\ No newline at end of file
{
"masterPicture": "img/icon.svg",
"iconsPath": "/",
"design": {
"ios": {
"pictureAspect": "backgroundAndMargin",
"backgroundColor": "#e1e1e1",
"margin": "0%",
"assets": {
"ios6AndPriorIcons": false,
"ios7AndLaterIcons": false,
"precomposedIcons": false,
"declareOnlyDefaultIcon": true
},
"appName": "Tailorbird"
},
"desktopBrowser": {
"design": "raw"
},
"windows": {
"pictureAspect": "noChange",
"backgroundColor": "#e1e1e1",
"onConflict": "override",
"assets": {
"windows80Ie10Tile": false,
"windows10Ie11EdgeTiles": {
"small": false,
"medium": true,
"big": false,
"rectangle": false
}
},
"appName": "Tailorbird"
},
"androidChrome": {
"pictureAspect": "noChange",
"themeColor": "#e1e1e1",
"manifest": {
"name": "Tailorbird",
"startUrl": "https://tailorbird3d.rwth-aachen.de/",
"display": "standalone",
"orientation": "notSet",
"onConflict": "override",
"declared": true
},
"assets": {
"legacyIcon": false,
"lowResolutionIcons": false
}
},
"safariPinnedTab": {
"pictureAspect": "blackAndWhite",
"threshold": 77.96875,
"themeColor": "#5a6b5d"
}
},
"settings": {
"scalingAlgorithm": "Mitchell",
"errorOnImageTooSmall": false,
"readmeFile": false,
"htmlCodeFile": false,
"usePathAsIs": false
}
}
img/logo-big.png

1.09 MiB

img/logo-new.jpg

24.6 KiB

img/logo.png

171 KiB

......@@ -4,6 +4,21 @@
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Tailorbird</title>
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png" />
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png" />
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png" />
<link rel="manifest" href="/site.webmanifest" />
<link rel="mask-icon" href="/safari-pinned-tab.svg" color="#5a6b5d" />
<meta name="apple-mobile-web-app-title" content="Tailorbird" />
<meta name="application-name" content="Tailorbird" />
<meta name="msapplication-TileColor" content="#e1e1e1" />
<meta name="theme-color" content="#e1e1e1" />
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link
href="https://fonts.googleapis.com/css2?family=Roboto+Mono&display=swap"
rel="stylesheet"
/>
</head>
<body>
<div id="app"></div>
......
......@@ -81,7 +81,7 @@ class Project {
}
// Vertical center line
new Zdog.Shape({
/*new Zdog.Shape({
addTo: window.illoGridGroup,
path: [
{
......@@ -97,7 +97,7 @@ class Project {
],
stroke: 0.5,
color: "#111111",
});
});*/
}
addLine(flow, speed, toX, toY, toZ) {
......@@ -175,7 +175,13 @@ class Project {
}
break;
}
var newMove = new Move(prevCoords.e + flowStep * i, speed, newX, newY, newZ);
var newMove = new Move(
prevCoords.e + flowStep * i,
speed,
newX,
newY,
newZ
);
this.model.append(newMove);
}
}
......
import "normalize.css";
import "./css/main.css";
import tailorbirdLogo from "./img/logo-new.jpg";
// Zdog
import * as Zdog from "zdog";
......@@ -16,7 +15,7 @@ var aboutText = `
`;
if (import.meta.env.VITE_APP_BRANCH == "dev") {
aboutText = `
<i class="fa-solid fa-kiwi-bird fa-bounce"></i> TESTING</h1>
<i class="fa-solid fa-kiwi-bird fa-bounce"></i></h1>
<p>Version: ${import.meta.env.VITE_APP_DATE}
(${import.meta.env.VITE_APP_BRANCH}
${import.meta.env.VITE_APP_HASH})</p>
......@@ -26,46 +25,35 @@ if (import.meta.env.VITE_APP_BRANCH == "dev") {
document.querySelector("#app").innerHTML = `
<main>
<section id="viewer">
<article id="viewer-main">
<canvas class="zdog-canvas"></canvas>
<article id="viewer-settings-knob">
<i class="fa-solid fa-bars"></i>
</article>
<article id="viewer-settings">
<menu>
<li>
<button id="zoomIntoViewButton">
<!-- <li>
<button id="zoomIntoViewButton" class="buttonRightFlat">
<i class="fa-solid fa-magnifying-glass-plus"></i>
</button>
</li>
<li>
<button id="zoomOutViewButton">
<button id="zoomOutViewButton" class="buttonLeftFlat">
<i class="fa-solid fa-magnifying-glass-minus"></i>
</button>
</li>
</li> -->
<li>
<button id="playViewButton">
<i class="fa-solid fa-play"></i> Simulate
</button>
</li>
</menu>
<menu class="menu-impressum">
<li>
<a href="#" id="helpLink">About</a>
</li>
<li>
<a href="mailto:yanagibashi@kg.rwth-aachen.de">Contact</a>
</li>
<li>
<a href="https://www.kg.rwth-aachen.de/cms/KG/Footer/Service/~vcyq/Impressum/">Impressum</a>
</li>
</menu>
<menu class="menu-right">
<li>
<button id="saveProjectMenuButton">
<button id="saveProjectMenuButton" class="buttonRightFlat">
<i class="fa-solid fa-floppy-disk"></i> Save
</button>
</li>
<li>
<button id="loadProjectMenuButton">
<button id="loadProjectMenuButton" class="buttonLeftFlat">
<i class="fa-solid fa-folder-open"></i> Load
</button>
</li>
......@@ -81,19 +69,21 @@ document.querySelector("#app").innerHTML = `
</li>
</menu>
</article>
<article id="viewer-main">
<canvas class="zdog-canvas"></canvas>
</article>
</section>
<section id="tools">
<img id="tailorbirdLogo" src="${tailorbirdLogo}" />
<article id="tools-edit">
<menu>
<li>
<button id="addLineEditButton">
<i class="fa-solid fa-lines-leaning"></i> Add line
<i class="fa-solid fa-lines-leaning"></i> New line
</button>
</li>
<li>
<button id="addArcEditButton">
<i class="fa-solid fa-bezier-curve"></i> Add arc
<i class="fa-solid fa-bezier-curve"></i> New arc
</button>
</li>
</menu>
......@@ -114,12 +104,18 @@ document.querySelector("#app").innerHTML = `
</button>
</li>
</menu>
<menu class="menu-impressum">
<li>
<a href="#" id="helpLink">About Tailorbird</a>
</li>
</menu>
</article>
</section>
</main>
<!-- Dialogs -->
<dialog id="helpDialog">
<img src="./icon.svg" width="75" height="75" id="helpLogo">
<h1>Tailorbird 3D ${aboutText}
<h2><i class="fa-solid fa-keyboard"></i> Controls</h2>
<p>
......@@ -131,11 +127,22 @@ document.querySelector("#app").innerHTML = `
<li><i class="fa-solid fa-share fa-rotate-90"></i> <span class="helpControlText">Jump to: O</span></li>
</ul>
</p>
<h2><i class="fa-solid fa-address-card"></i></i> Help</h2>
<p>
<ul>
<li>
<a href="mailto:yanagibashi@kg.rwth-aachen.de"><i class="fa-solid fa-envelope"></i> <span class="helpControlText">Contact</span></a>
</li>
<li>
<a href="https://www.kg.rwth-aachen.de/cms/KG/Footer/Service/~vcyq/Impressum/"><i class="fa-solid fa-circle-info"></i> <span class="helpControlText">Impressum</span></a>
</li>
</ul>
</p>
<form method="dialog">
<menu>
<button value="example1">Load example 1</button>
<button value="example2">Load example 2</button>
<button value="cancel">Close</button>
<li><button value="example1">Load example 1</button></li>
<li><button value="example2">Load example 2</button></li>
<li><button value="cancel">Close</button></li>
</menu>
</form>
</dialog>
......@@ -176,7 +183,7 @@ document.querySelector("#app").innerHTML = `
<!-- Dialogs Edit menu -->
<dialog id="addLineDialog">
<form method="dialog" id="addLineForm">
<h3>Add line</h3>
<h3>New line</h3>
<fieldset>
<legend>Position</legend>
<input
......@@ -239,7 +246,7 @@ document.querySelector("#app").innerHTML = `
<dialog id="addArcDialog">
<form method="dialog" id="addArcForm">
<h3>Add arc</h3>
<h3>New arc</h3>
<fieldset>
<legend>Properties</legend>
Size: <input type="text" id="addArcInputSize" /><br />
......@@ -786,6 +793,24 @@ function initEditEventListeners() {
function initViewEventListeners() {
document
.getElementById("viewer-settings")
.addEventListener("click", function (e) {
if (e.eventPhase !== 2) return; /* make sure not triggered by bubbling */
if (e.offsetX > 50) return; /* only react for clicks on logo */
// Hide viewer settings
this.style.visibility = "hidden";
this.style.opacity = "0";
document.getElementById("viewer-settings-knob").style.display = "block";
});
document
.getElementById("viewer-settings-knob")
.addEventListener("click", function (e) {
// Hide viewer settings
document.getElementById("viewer-settings").style.visibility = "visible";
document.getElementById("viewer-settings").style.opacity = "1";
this.style.display = "none";
});
/*document
.getElementById("zoomIntoViewButton")
.addEventListener("click", function (e) {
// Zoom into
......@@ -796,7 +821,7 @@ function initViewEventListeners() {
.addEventListener("click", function (e) {
// Zoom out
window.illo.scale.multiply(1 / 1.1);
});
});*/
document
.getElementById("playViewButton")
.addEventListener("click", function (e) {
......
......@@ -15,7 +15,8 @@
"zdog": "^1.1.3"
},
"devDependencies": {
"vite": "^4.0.0"
"vite": "^4.0.0",
"vite-plugin-webfont-dl": "^3.7.4"
}
},
"node_modules/@esbuild/android-arm": {
......@@ -384,6 +385,78 @@
"resolved": "https://registry.npmjs.org/ajon/-/ajon-2.1.4.tgz",
"integrity": "sha512-1ps1cw66hwwm3K9OkF+7T6nZX9V3KKAgpzKqqlRXW7G7mheBYjW8eea0T3kc9rleyqcilcvpJwhNwTMkCqN8CA=="
},
"node_modules/asynckit": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
"integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==",
"dev": true
},
"node_modules/axios": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/axios/-/axios-1.4.0.tgz",
"integrity": "sha512-S4XCWMEmzvo64T9GfvQDOXgYRDJ/wsSZc7Jvdgx5u1sd0JwsuPLqb3SYmusag+edF6ziyMensPVqLTSc1PiSEA==",
"dev": true,
"dependencies": {
"follow-redirects": "^1.15.0",
"form-data": "^4.0.0",
"proxy-from-env": "^1.1.0"
}
},
"node_modules/balanced-match": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
"dev": true
},
"node_modules/brace-expansion": {
"version": "1.1.11",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
"dev": true,
"dependencies": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
}
},
"node_modules/clean-css": {
"version": "5.3.2",
"resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.2.tgz",
"integrity": "sha512-JVJbM+f3d3Q704rF4bqQ5UUyTtuJ0JRKNbTKVEeujCCBoMdkEi+V+e8oktO9qGQNSvHrFTM6JZRXrUvGR1czww==",
"dev": true,
"dependencies": {
"source-map": "~0.6.0"
},
"engines": {
"node": ">= 10.0"
}
},
"node_modules/combined-stream": {
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
"integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
"dev": true,
"dependencies": {
"delayed-stream": "~1.0.0"
},
"engines": {
"node": ">= 0.8"
}
},
"node_modules/concat-map": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
"integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
"dev": true
},
"node_modules/delayed-stream": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
"integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
"dev": true,
"engines": {
"node": ">=0.4.0"
}
},
"node_modules/esbuild": {
"version": "0.17.18",
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.18.tgz",
......@@ -421,6 +494,65 @@
"@esbuild/win32-x64": "0.17.18"
}
},
"node_modules/flat-cache": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz",
"integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==",
"dev": true,
"dependencies": {
"flatted": "^3.1.0",
"rimraf": "^3.0.2"
},
"engines": {
"node": "^10.12.0 || >=12.0.0"
}
},
"node_modules/flatted": {
"version": "3.2.7",
"resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz",
"integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==",
"dev": true
},
"node_modules/follow-redirects": {
"version": "1.15.2",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz",
"integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==",
"dev": true,
"funding": [
{
"type": "individual",
"url": "https://github.com/sponsors/RubenVerborgh"
}
],
"engines": {
"node": ">=4.0"
},
"peerDependenciesMeta": {
"debug": {
"optional": true
}
}
},
"node_modules/form-data": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
"integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
"dev": true,
"dependencies": {
"asynckit": "^0.4.0",
"combined-stream": "^1.0.8",
"mime-types": "^2.1.12"
},
"engines": {
"node": ">= 6"
}
},
"node_modules/fs.realpath": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
"integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
"dev": true
},
"node_modules/fsevents": {
"version": "2.3.2",
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
......@@ -435,6 +567,75 @@
"node": "^8.16.0 || ^10.6.0 || >=11.0.0"
}
},
"node_modules/glob": {
"version": "7.2.3",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
"integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
"dev": true,
"dependencies": {
"fs.realpath": "^1.0.0",
"inflight": "^1.0.4",
"inherits": "2",
"minimatch": "^3.1.1",
"once": "^1.3.0",
"path-is-absolute": "^1.0.0"
},
"engines": {
"node": "*"
},
"funding": {
"url": "https://github.com/sponsors/isaacs"
}
},
"node_modules/inflight": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
"integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
"dev": true,
"dependencies": {
"once": "^1.3.0",
"wrappy": "1"
}
},
"node_modules/inherits": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
"dev": true
},
"node_modules/mime-db": {
"version": "1.52.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
"integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
"dev": true,
"engines": {
"node": ">= 0.6"
}
},
"node_modules/mime-types": {
"version": "2.1.35",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
"integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
"dev": true,
"dependencies": {
"mime-db": "1.52.0"
},
"engines": {
"node": ">= 0.6"
}
},
"node_modules/minimatch": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
"dev": true,
"dependencies": {
"brace-expansion": "^1.1.7"
},
"engines": {
"node": "*"
}
},
"node_modules/nanoid": {
"version": "3.3.6",
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz",
......@@ -458,6 +659,24 @@
"resolved": "https://registry.npmjs.org/normalize.css/-/normalize.css-8.0.1.tgz",
"integrity": "sha512-qizSNPO93t1YUuUhP22btGOo3chcvDFqFaj2TRybP0DMxkHOCTYwp3n34fel4a31ORXy4m1Xq0Gyqpb5m33qIg=="
},
"node_modules/once": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
"integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
"dev": true,
"dependencies": {
"wrappy": "1"
}
},
"node_modules/path-is-absolute": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
"integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
"dev": true,
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/picocolors": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
......@@ -492,6 +711,12 @@
"node": "^10 || ^12 || >=14"
}
},
"node_modules/proxy-from-env": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
"integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==",
"dev": true
},
"node_modules/rhaboo": {
"version": "3.2.2",
"resolved": "https://registry.npmjs.org/rhaboo/-/rhaboo-3.2.2.tgz",
......@@ -500,10 +725,25 @@
"ajon": "^2.0.0"
}
},
"node_modules/rimraf": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
"integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
"dev": true,
"dependencies": {
"glob": "^7.1.3"
},
"bin": {
"rimraf": "bin.js"
},
"funding": {
"url": "https://github.com/sponsors/isaacs"
}
},
"node_modules/rollup": {
"version": "3.21.3",
"resolved": "https://registry.npmjs.org/rollup/-/rollup-3.21.3.tgz",
"integrity": "sha512-VnPfEG51nIv2xPLnZaekkuN06q9ZbnyDcLkaBdJa/W7UddyhOfMP2yOPziYQfeY7k++fZM8FdQIummFN5y14kA==",
"version": "3.21.5",
"resolved": "https://registry.npmjs.org/rollup/-/rollup-3.21.5.tgz",
"integrity": "sha512-a4NTKS4u9PusbUJcfF4IMxuqjFzjm6ifj76P54a7cKnvVzJaG12BLVR+hgU2YDGHzyMMQNxLAZWuALsn8q2oQg==",
"dev": true,
"bin": {
"rollup": "dist/bin/rollup"
......@@ -516,6 +756,15 @@
"fsevents": "~2.3.2"
}
},
"node_modules/source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"dev": true,
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/source-map-js": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
......@@ -526,9 +775,9 @@
}
},
"node_modules/vite": {
"version": "4.3.4",
"resolved": "https://registry.npmjs.org/vite/-/vite-4.3.4.tgz",
"integrity": "sha512-f90aqGBoxSFxWph2b39ae2uHAxm5jFBBdnfueNxZAT1FTpM13ccFQExCaKbR2xFW5atowjleRniQ7onjJ22QEg==",
"version": "4.3.5",
"resolved": "https://registry.npmjs.org/vite/-/vite-4.3.5.tgz",
"integrity": "sha512-0gEnL9wiRFxgz40o/i/eTBwm+NEbpUeTWhzKrZDSdKm6nplj+z4lKz8ANDgildxHm47Vg8EUia0aicKbawUVVA==",
"dev": true,
"dependencies": {
"esbuild": "^0.17.5",
......@@ -573,6 +822,27 @@
}
}
},
"node_modules/vite-plugin-webfont-dl": {
"version": "3.7.4",
"resolved": "https://registry.npmjs.org/vite-plugin-webfont-dl/-/vite-plugin-webfont-dl-3.7.4.tgz",
"integrity": "sha512-cCvP4aMHevcug0KAPd8v0ll8eA7NqWOI7SQ/qKTshpb4Di18zsdo2Z/ECgZSrVd9UpJhCFVso52WgO+zM0sQeQ==",
"dev": true,
"dependencies": {
"axios": "^1.2",
"clean-css": "^5.3",
"flat-cache": "^3.0",
"picocolors": "^1.0"
},
"peerDependencies": {
"vite": "^2 || ^3 || ^4"
}
},
"node_modules/wrappy": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
"integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
"dev": true
},
"node_modules/zdog": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/zdog/-/zdog-1.1.3.tgz",
......
......@@ -30,6 +30,7 @@
"zdog": "^1.1.3"
},
"devDependencies": {
"vite": "^4.0.0"
"vite": "^4.0.0",
"vite-plugin-webfont-dl": "^3.7.4"
}
}
public/android-chrome-192x192.png

15 KiB

public/android-chrome-512x512.png

43 KiB

public/apple-touch-icon.png

10.5 KiB

<?xml version="1.0" encoding="utf-8"?>
<browserconfig>
<msapplication>
<tile>
<square150x150logo src="/mstile-150x150.png"/>
<TileColor>#e1e1e1</TileColor>
</tile>
</msapplication>
</browserconfig>
public/favicon-16x16.png

1.03 KiB

public/favicon-32x32.png

1.75 KiB

public/favicon.ico

14.7 KiB

<?xml version="1.0" encoding="UTF-8"?>
<svg id="b" data-name="FAVICON HELL" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 500 500">
<defs>
<style>
.g {
fill: #e1e1e1;
}
.h {
fill: #474747;
}
.i {
fill: #5a6b5d;
}
.j {
fill: none;
stroke: #5a6b5d;
stroke-linecap: round;
stroke-miterlimit: 10;
stroke-width: 19px;
}
</style>
</defs>
<circle class="g" cx="250" cy="250" r="250"/>
<path class="h" d="m319.17,217.96c-.31-8.89-.77-17.68-2.36-26.24-1.55-8.59-4.12-16.93-7.14-25.12-5.96-16.14-13.76-32.01-24.68-45.3-8.1-10-17.94-18.14-28.55-25.43-1.99-1.32-6.16-4.34-8.06-5.56-11.59-7.25-24.73-13.04-37.59-18.11-4.87-1.78-9.69-3.73-14.39-4.51,0,0-.05,0,.03.01.07,0,.06,0,.27.02,1.91-.08,3.28-.61,5.09-2.18,2.49-2.2,3.37-6.56,1.93-9.32-.03-.06-.06-.12-.09-.18-.1-.16-.04-.1-.07-.14-.02-.04,0-.02.03.02,1.55,1.9,10.22,10.04,12.12,11.95,3.03,2.94,6.19,6.27,9.07,9.4,3.82,4.32,6.8,8.94,9.35,13.61,1.87,3.54,3.6,7.02,4.84,11.04.72,2.56,1.34,5.56.43,8.63-1.65,6.05-8.07,9.2-13.83,7.78-4.88-1.16-9.36-3.72-13.72-5.73-15.58-7.46-30.72-14.94-47.23-19.68-13.15-3.54-26.85-5.68-40.07-3.14-2.11.5-3.93.96-5.39,1.93-.03.02-.07.04-.02.03.14-.08.28-.18.39-.31.16-.13.31-.3.44-.46.79-1.39-1.63,2.93,1.79-3.16,2.66-6.03-.86-12.87-2.56-14.06-2.01-2.03-2.54-2.17-4-2.95-.3-.13-.35-.16-.54-.23l-.35-.14c-.08-.03.04,0,.17.03,0,0,2.75.58,2.75.58,11.3,2.25,23.01,5.26,34,9.08,2.59.85,5.56,2.1,7.9,3.31,9.5,5.04,23.05,12.71,27.75,22.81,4.22,9,.23,18.77-7.83,23.91-3.44,2.23-7.49,3.54-11.45,4.24-10.41,1.69-21.1.77-31.21,1.47-7.64.43-14.45,1.58-21.46,4.05-16.05,5.23-33.11,17.51-37.55,33.15-.51-3.75-3.25-7.07-6.47-9.12-2.88-1.81-6.48-2.85-9.84-2.26,0,0,.2-.04.2-.04.2-.03.91-.18,1.16-.23,12.19-2.88,24.61-3.88,37.03-3.63,7.24.28,13.77.55,21.15,2.65,9.51,2.67,16.11,11.37,13.56,21.41-1.35,5.27-5.4,9.44-10.06,11.57-6.15,2.71-11.76,3.72-17.77,5.78-11.61,3.69-22.59,8.61-32.82,15.25-7.16,4.68-14.79,10.26-20.14,16.56-.04-.03-.05-.06.02-.66.03-.4.03-.88-.02-1.3-.25-3.3-3.19-6.57-6.29-7.08-.27-.02-.13.02-.14.04l.37.1c2.34.4,4.72.44,7.34.56,6.54.14,13.25.33,19.84.31,1.68.04,3.85.02,5.69.26,6.13.52,9.09,7.25,4.86,11.75-1.74,1.84-4.1,3-6.18,4.12-8.14,4.13-16.03,7.78-24.08,11.92-.87.44-1.94.09-2.38-.79-.35-.71-.19-1.54.35-2.07,3.25-3.14,6.66-6.11,10.06-9.09,4.39-3.94,9.33-7.32,13.26-11.5,0,0,.06-.12.06-.12.02-.04-.04-.01-.05-.01-.03.01-.16.14-.21.22-1.32,1.59-.9,4.97.81,6.43.7.73,1.67,1.18,2.49,1.42,0,0-.1.04-.1.04-.01,0-.11.03-.2.04-10.08,1.95-20.04,4.18-30.42,5.12-1.92.12-3.76.21-5.76-.22-5.42-1.03-9.16-6.46-8.78-11.98.7-9.1,8.61-17.61,14.15-23.77,10.05-10.67,21.74-19.68,34.59-26.74,6.35-3.53,12.96-6.52,19.62-9.2,2.59-1.1,5.67-2.16,7.72-3.32-.65.17-1.65.99-2.29,1.57-7.34,6.7-5.41,19.79,3.82,23.82.75.3-.08.09-.89.06-7.26-.45-15.34.22-22.67,1.13-6.29.81-12.08,2.23-18.07,3.9-7.63,2.17-15.57,1.12-21.4-4.65-8.42-8.19-8.05-21.8-4.67-31.92,9.1-27.81,35.34-46.75,62.59-53.8,16.26-4.74,34.06-3.59,49.66-2.62,2.73.11,4.67.17,6.98,0,.26,0,.25-.03.37-.01.01,0-.04.02-.05.04-.03.06-.12.06-.18.1-5.43,2.97-7.31,11.27-4.15,16.57.07.08.26.4.33.42-.04-.22-.5-.65-.97-1.17-4.28-4.13-10.07-8.17-15.4-10.85-6.33-2.66-12.95-4.98-19.56-6.99-5.71-1.78-11.47-2.97-17.49-4.74-.65-.2-1.37-.5-2.06-.81-1.74-.88-2.5-1.19-4.7-3.39-1.79-1.29-5.38-8.27-2.66-14.43,3.48-6.22,1.17-1.98,2.04-3.49,0,0,.37-.44.37-.44.88-1.05,1.95-2.09,3.01-2.96,7.36-5.77,16.98-7.46,25.83-7.99,21.19-.93,41.71,4.75,60.72,13.22,14.36,6.3,28.03,14.51,41.76,21.59,0,0,.11.05.11.05.04.02-.03,0-.04,0,0,0-.04,0-.04,0l-.19-.04c-2.17-.41-4.84.15-6.76,1.45-.81.48-2.42,1.9-3.12,3.2-.96,1.54-1.35,3.12-1.41,4.59,0,.75.05.93.07,1.04.05.19,0-.1-.05-.34-1.7-6.03-5.21-12.7-8.91-17.52-.88-1.11-2.63-3.14-3.56-4.24-2.79-3.32-10.34-11.33-13.38-14.64-1.83-2.05-3.89-4.28-5.22-6.91-2.92-5.45-.14-12.47,6-13.97,3.43-.95,7.22.2,10.3,1.16,9.2,3.17,17.1,7.08,25.57,11.34,9.62,5.01,19.43,10.36,28.3,17.09,5.62,4.51,11.78,9.09,17.13,14.01,21.03,18.28,34.09,43.98,41.67,70.39,2.5,8.71,4.55,17.62,5.49,26.66,1,9.07.8,18.13.46,27.02-.22,2.21-3.32,2.25-3.5,0h0Z"/>
<rect class="h" x="102.69" y="216.05" width="56.96" height="97.77" rx="21.81" ry="21.81"/>
<path class="h" d="m300.7,314.35c-7.61-11.47-18.81-20.47-33.61-26.99,11.54-6.24,20.27-14.19,26.17-23.83,5.91-9.64,8.86-20.84,8.86-33.61,0-24.17-8.63-43.39-25.87-57.64-10.8-8.93-23.94-15.06-39.42-18.39-15.24-3.28-29.57,8.53-29.57,24.12h0c0,9.94,6.02,18.81,15.16,22.72,3.73,1.6,7.04,3.76,9.94,6.49,6.99,6.59,10.49,15.51,10.49,26.79,0,13.58-4.11,23.66-12.32,30.25-8.22,6.59-16.01,9.88-32.84,9.88h-5.69c-.2,0-.4-.03-.6-.03-11.14,0-20.17,9.03-20.17,20.17s9.02,20.16,20.15,20.17v.02h6.72c19.69,0,29.45,3.53,38.75,10.59,9.3,7.06,13.95,18,13.95,32.79s-4.01,25.77-12.02,33.3c-8.01,7.54-19.83,11.3-35.44,11.3-14.26,0-25.19-4.24-32.79-12.73-7.58-8.46-11.38-20.53-11.4-36.21,0-.06,0-.11,0-.17,0-15.58-12.63-28.21-28.21-28.21s-28.21,12.63-28.21,28.21c0,0,0,.01,0,.02h0v.81c0,30.83,8.89,54.59,26.68,71.29,17.79,16.7,42.98,25.05,75.57,25.05s58.93-8.55,78.22-25.66c19.28-17.11,28.92-40.26,28.92-69.46,0-15.89-3.8-29.57-11.41-41.04Z"/>
<path class="h" d="m274.81,265.55c4.94,7.52,17.1,4.68,36.73,7.35.73.1,16.03,3.75,32.4,8.6,31.53,9.35,60.64,26.34,63.09,26.54.25.02.41-.02.48-.12,1.09-1.54-21.48-17.63-24.3-19.64-29.79-21.24-95.78-53.25-108.35-37.77-3.28,4.04-2.69,11.03-.05,15.04Z"/>
<g>
<path class="j" d="m448.33,351.41c-11.12,0-24.2,0-35.41,0-49.29,0-89.3,39.62-89.98,88.75"/>
<path class="j" d="m435.72,373.6c-6.26,0-15.9,0-22.8,0-36.91,0-66.86,29.74-67.23,66.56"/>
<path class="j" d="m418.2,395.78c-1.68,0-3.72,0-5.28,0-23.94,0-44.7,19.21-44.7,44.38"/>
<path class="i" d="m399.19,216.92c-13.82,7.74-23.44,20.86-31.19,34.29-6.86,12.31-14.34,27.89-9.58,41.77,11.66,29.3,49.64,27.85,76.29,26.89,5.25-.25,9.7,3.8,9.95,9.05.3,5.57-4.41,10.25-9.97,9.95-24.31-1.54-52.83-3.28-71.83-20.64-6.56-6.12-11.84-13.81-13.83-22.68-3.01-12.89,1.69-26,8.26-36.82,10.32-16.83,23.48-33.64,41.9-41.81h0Z"/>
</g>
<path class="h" d="m287.59,226c18.67-9.54,41.95.8,65.19,11.12,2.49,1.11,9.89,4.58,20.57,10.59,40.14,22.58,56.27,42.63,55.53,43.47-.49.56-12-5.31-36.96-17.63-14.07-6.95-33.12-14.55-55.46-18.95-38.57-7.6-62.11,1.31-65.35-7.32-2.28-6.05,7.05-16.47,16.47-21.28Z"/>
</svg>
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment