diff options
| -rw-r--r-- | Earthfile | 2 | ||||
| -rw-r--r-- | package.json | 88 | ||||
| -rw-r--r-- | src/app.html | 327 |
3 files changed, 212 insertions, 205 deletions
@@ -6,6 +6,7 @@ WORKDIR /due all: BUILD +lint + BUILD +check BUILD +docker dev: @@ -21,6 +22,7 @@ lint: COPY .prettierignore .prettierignore COPY .prettierrc .prettierrc + RUN bun --bun run lint RUN bun --bun run check docker: diff --git a/package.json b/package.json index 5295f13d..ce3c6f54 100644 --- a/package.json +++ b/package.json @@ -1,46 +1,46 @@ { - "name": "due.moe", - "version": "0.0.0", - "private": true, - "scripts": { - "dev": "vite dev", - "build": "vite build", - "preview": "vite preview", - "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json", - "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch", - "lint": "prettier --plugin-search-dir . --check . && eslint .", - "format": "prettier --plugin-search-dir . --write ." - }, - "devDependencies": { - "@sveltejs/adapter-auto": "^2.0.0", - "@sveltejs/kit": "^1.20.4", - "@types/dom-to-image": "^2.6.5", - "@types/file-saver": "^2.0.5", - "@types/jsdom": "^21.1.6", - "@typescript-eslint/eslint-plugin": "^5.45.0", - "@typescript-eslint/parser": "^5.45.0", - "eslint": "^8.28.0", - "eslint-config-prettier": "^8.5.0", - "eslint-plugin-svelte": "^2.30.0", - "prettier": "^2.8.0", - "prettier-plugin-svelte": "^2.10.1", - "svelte": "^4.0.5", - "svelte-adapter-bun": "^0.5.0", - "svelte-check": "^3.4.3", - "tslib": "^2.4.1", - "typescript": "^5.0.0", - "vite": "^4.4.2" - }, - "type": "module", - "dependencies": { - "bun-types": "^1.0.15", - "dexie": "^4.0.1-alpha.25", - "html2canvas": "^1.4.1", - "jsdom": "^23.0.1", - "modern-screenshot": "^4.4.33", - "rss-parser": "^3.13.0", - "socket.io": "^4.7.2", - "socket.io-client": "^4.7.2", - "wanakana": "^5.3.1" - } + "name": "due.moe", + "version": "0.0.0", + "private": true, + "scripts": { + "dev": "vite dev", + "build": "vite build", + "preview": "vite preview", + "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json", + "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch", + "lint": "prettier --plugin-search-dir . --check . && eslint .", + "format": "prettier --plugin-search-dir . --write ." + }, + "devDependencies": { + "@sveltejs/adapter-auto": "^2.0.0", + "@sveltejs/kit": "^1.20.4", + "@types/dom-to-image": "^2.6.5", + "@types/file-saver": "^2.0.5", + "@types/jsdom": "^21.1.6", + "@typescript-eslint/eslint-plugin": "^5.45.0", + "@typescript-eslint/parser": "^5.45.0", + "eslint": "^8.28.0", + "eslint-config-prettier": "^8.5.0", + "eslint-plugin-svelte": "^2.30.0", + "prettier": "^2.8.0", + "prettier-plugin-svelte": "^2.10.1", + "svelte": "^4.0.5", + "svelte-adapter-bun": "^0.5.0", + "svelte-check": "^3.4.3", + "tslib": "^2.4.1", + "typescript": "^5.0.0", + "vite": "^4.4.2" + }, + "type": "module", + "dependencies": { + "bun-types": "^1.0.15", + "dexie": "^4.0.1-alpha.25", + "html2canvas": "^1.4.1", + "jsdom": "^23.0.1", + "modern-screenshot": "^4.4.33", + "rss-parser": "^3.13.0", + "socket.io": "^4.7.2", + "socket.io-client": "^4.7.2", + "wanakana": "^5.3.1" + } } diff --git a/src/app.html b/src/app.html index 7954f226..090cc8f9 100644 --- a/src/app.html +++ b/src/app.html @@ -1,177 +1,182 @@ <!DOCTYPE html> <html lang="en"> - -<head> - <!-- HTML --> - <meta charset="utf-8" /> - <meta name="viewport" content="width=device-width" /> - <meta name="theme-color" content="#060506" /> - <meta name="description" content="Instantly view which anime & manga on your lists have new episodes/chapters!" /> - - <!-- Facebook --> - <meta property="og:url" content="https://due.moe" /> - <meta property="og:type" content="website" /> - <meta property="og:title" content="期限" /> - <meta property="og:site_name" content="due.moe" /> - <meta property="og:description" - content="Instantly view which anime & manga on your lists have new episodes/chapters!" /> - <meta property="og:image" content="https://due.moe/favicon-196x196.png" /> - - <!-- Twitter --> - <meta name="twitter:card" content="summary_large_image" /> - <meta property="twitter:domain" content="due.moe" /> - <meta property="twitter:url" content="https://due.moe" /> - <meta name="twitter:title" content="期限" /> - <meta name="twitter:description" - content="Instantly view which anime & manga on your lists have new episodes/chapters!" /> - <meta name="twitter:image" content="https://due.moe/favicon-196x196.png" /> - - <title>期限</title> - - <!-- Web Application Manifest --> - <link rel="manifest" href="%sveltekit.assets%/manifest.json" /> - - <!-- Stylesheets --> - <link rel="stylesheet" type="text/css" href="https://latex.now.sh/style.css" /> - <link rel="stylesheet" type="text/css" href="https://skybox.sh/css/palettes/base16-dark.css" /> - <link rel="stylesheet" type="text/css" href="https://skybox.sh/css/risotto.css" /> - <!-- <link rel="stylesheet" type="text/css" href="https://skybox.sh/css/custom.css"> --> - - <!-- Icons --> - <link rel="apple-touch-icon-precomposed" sizes="57x57" href="apple-touch-icon-57x57.png" /> - <link rel="apple-touch-icon-precomposed" sizes="114x114" href="apple-touch-icon-114x114.png" /> - <link rel="apple-touch-icon-precomposed" sizes="72x72" href="apple-touch-icon-72x72.png" /> - <link rel="apple-touch-icon-precomposed" sizes="144x144" href="apple-touch-icon-144x144.png" /> - <link rel="apple-touch-icon-precomposed" sizes="60x60" href="apple-touch-icon-60x60.png" /> - <link rel="apple-touch-icon-precomposed" sizes="120x120" href="apple-touch-icon-120x120.png" /> - <link rel="apple-touch-icon-precomposed" sizes="76x76" href="apple-touch-icon-76x76.png" /> - <link rel="apple-touch-icon-precomposed" sizes="152x152" href="apple-touch-icon-152x152.png" /> - <link rel="icon" type="image/png" href="favicon-196x196.png" sizes="196x196" /> - <link rel="icon" type="image/png" href="favicon-96x96.png" sizes="96x96" /> - <link rel="icon" type="image/png" href="favicon-32x32.png" sizes="32x32" /> - <link rel="icon" type="image/png" href="favicon-16x16.png" sizes="16x16" /> - <link rel="icon" type="image/png" href="favicon-128.png" sizes="128x128" /> - <meta name="application-name" content=" " /> - <meta name="msapplication-TileColor" content="#FFFFFF" /> - <meta name="msapplication-TileImage" content="mstile-144x144.png" /> - <meta name="msapplication-square70x70logo" content="mstile-70x70.png" /> - <meta name="msapplication-square150x150logo" content="mstile-150x150.png" /> - <meta name="msapplication-wide310x150logo" content="mstile-310x150.png" /> - <meta name="msapplication-square310x310logo" content="mstile-310x310.png" /> - - <script> - if (JSON.parse(localStorage.getItem("settings")).forceLightTheme === true) { - document.documentElement.classList.add('light-theme') - } else { - document.documentElement.classList.add('dark-theme') - } - - document.addEventListener('DOMContentLoaded', () => { - const header = document.getElementById('header') - const hoverHeader = document.getElementById('hover-header') - - if (JSON.parse(localStorage.getItem("settings")).hoverNavigation === true) { - header.style.display = 'none' - hoverHeader.style.display = 'block' + <head> + <!-- HTML --> + <meta charset="utf-8" /> + <meta name="viewport" content="width=device-width" /> + <meta name="theme-color" content="#060506" /> + <meta + name="description" + content="Instantly view which anime & manga on your lists have new episodes/chapters!" + /> + + <!-- Facebook --> + <meta property="og:url" content="https://due.moe" /> + <meta property="og:type" content="website" /> + <meta property="og:title" content="期限" /> + <meta property="og:site_name" content="due.moe" /> + <meta + property="og:description" + content="Instantly view which anime & manga on your lists have new episodes/chapters!" + /> + <meta property="og:image" content="https://due.moe/favicon-196x196.png" /> + + <!-- Twitter --> + <meta name="twitter:card" content="summary_large_image" /> + <meta property="twitter:domain" content="due.moe" /> + <meta property="twitter:url" content="https://due.moe" /> + <meta name="twitter:title" content="期限" /> + <meta + name="twitter:description" + content="Instantly view which anime & manga on your lists have new episodes/chapters!" + /> + <meta name="twitter:image" content="https://due.moe/favicon-196x196.png" /> + + <title>期限</title> + + <!-- Web Application Manifest --> + <link rel="manifest" href="%sveltekit.assets%/manifest.json" /> + + <!-- Stylesheets --> + <link rel="stylesheet" type="text/css" href="https://latex.now.sh/style.css" /> + <link rel="stylesheet" type="text/css" href="https://skybox.sh/css/palettes/base16-dark.css" /> + <link rel="stylesheet" type="text/css" href="https://skybox.sh/css/risotto.css" /> + <!-- <link rel="stylesheet" type="text/css" href="https://skybox.sh/css/custom.css"> --> + + <!-- Icons --> + <link rel="apple-touch-icon-precomposed" sizes="57x57" href="apple-touch-icon-57x57.png" /> + <link rel="apple-touch-icon-precomposed" sizes="114x114" href="apple-touch-icon-114x114.png" /> + <link rel="apple-touch-icon-precomposed" sizes="72x72" href="apple-touch-icon-72x72.png" /> + <link rel="apple-touch-icon-precomposed" sizes="144x144" href="apple-touch-icon-144x144.png" /> + <link rel="apple-touch-icon-precomposed" sizes="60x60" href="apple-touch-icon-60x60.png" /> + <link rel="apple-touch-icon-precomposed" sizes="120x120" href="apple-touch-icon-120x120.png" /> + <link rel="apple-touch-icon-precomposed" sizes="76x76" href="apple-touch-icon-76x76.png" /> + <link rel="apple-touch-icon-precomposed" sizes="152x152" href="apple-touch-icon-152x152.png" /> + <link rel="icon" type="image/png" href="favicon-196x196.png" sizes="196x196" /> + <link rel="icon" type="image/png" href="favicon-96x96.png" sizes="96x96" /> + <link rel="icon" type="image/png" href="favicon-32x32.png" sizes="32x32" /> + <link rel="icon" type="image/png" href="favicon-16x16.png" sizes="16x16" /> + <link rel="icon" type="image/png" href="favicon-128.png" sizes="128x128" /> + <meta name="application-name" content=" " /> + <meta name="msapplication-TileColor" content="#FFFFFF" /> + <meta name="msapplication-TileImage" content="mstile-144x144.png" /> + <meta name="msapplication-square70x70logo" content="mstile-70x70.png" /> + <meta name="msapplication-square150x150logo" content="mstile-150x150.png" /> + <meta name="msapplication-wide310x150logo" content="mstile-310x150.png" /> + <meta name="msapplication-square310x310logo" content="mstile-310x310.png" /> + + <script> + if (JSON.parse(localStorage.getItem('settings')).forceLightTheme === true) { + document.documentElement.classList.add('light-theme'); } else { - header.style.display = 'block' - hoverHeader.style.display = 'none' + document.documentElement.classList.add('dark-theme'); } - }) - - document.addEventListener('DOMContentLoaded', () => { - const mai = document.getElementById('mai') - const aoButa = JSON.parse(localStorage.getItem("settings")).displayAoButa; - mai.style.display = 'block' + document.addEventListener('DOMContentLoaded', () => { + const header = document.getElementById('header'); + const hoverHeader = document.getElementById('hover-header'); - switch (aoButa) { - case "mai": - { - mai.src = "/aobuta/mai.png" - } - break; - case "nodoka": - { - mai.src = "/aobuta/nodoka.webp" - } - break; - case "kaede": - { - mai.src = "/aobuta/kaede.png" - } - break; - case "none": { - { - mai.style.display = 'none' + if (JSON.parse(localStorage.getItem('settings')).hoverNavigation === true) { + header.style.display = 'none'; + hoverHeader.style.display = 'block'; + } else { + header.style.display = 'block'; + hoverHeader.style.display = 'none'; + } + }); + + document.addEventListener('DOMContentLoaded', () => { + const mai = document.getElementById('mai'); + const aoButa = JSON.parse(localStorage.getItem('settings')).displayAoButa; + + mai.style.display = 'block'; + + switch (aoButa) { + case 'mai': + { + mai.src = '/aobuta/mai.png'; + } + break; + case 'nodoka': + { + mai.src = '/aobuta/nodoka.webp'; + } + break; + case 'kaede': + { + mai.src = '/aobuta/kaede.png'; + } + break; + case 'none': { + { + mai.style.display = 'none'; + } + break; } - break; } + }); + </script> + + <style> + html { + transition: 300ms; } - }) - </script> - - <style> - html { - transition: 300ms; - } - - :root { - --base00: #f8f8f8; - --base01: #e8e8e8; - --base02: #d8d8d8; - --base03: #b8b8b8; - --base04: #585858; - --base05: #383838; - --base06: #282828; - --base07: #181818; - --base08: #ab4642; - --base09: #dc9656; - --base0A: #f7ca88; - --base0B: #a1b56c; - --base0C: #86c1b9; - --base0D: #7cafc2; - --base0E: #ba8baf; - --base0F: #a16946; - } - - @media (prefers-color-scheme: dark) { + :root { - --base00: #080808; - --base01: #181818; - --base02: #282828; - --base03: #484848; - --base04: #a8a8a8; - --base05: #c8c8c8; - --base06: #d8d8d8; - --base07: #f8f8f8; - --base08: #9a4541; - --base09: #cb9555; - --base0A: #f6c987; - --base0B: #a0b45b; - --base0C: #85c0b8; - --base0D: #7baeb1; - --base0E: #b98aae; - --base0F: #a06845; + --base00: #f8f8f8; + --base01: #e8e8e8; + --base02: #d8d8d8; + --base03: #b8b8b8; + --base04: #585858; + --base05: #383838; + --base06: #282828; + --base07: #181818; + --base08: #ab4642; + --base09: #dc9656; + --base0A: #f7ca88; + --base0B: #a1b56c; + --base0C: #86c1b9; + --base0D: #7cafc2; + --base0E: #ba8baf; + --base0F: #a16946; } - } - #mai { - position: fixed; - left: 0; - bottom: 0; - height: auto; - width: 10vh; - } - </style> + @media (prefers-color-scheme: dark) { + :root { + --base00: #080808; + --base01: #181818; + --base02: #282828; + --base03: #484848; + --base04: #a8a8a8; + --base05: #c8c8c8; + --base06: #d8d8d8; + --base07: #f8f8f8; + --base08: #9a4541; + --base09: #cb9555; + --base0A: #f6c987; + --base0B: #a0b45b; + --base0C: #85c0b8; + --base0D: #7baeb1; + --base0E: #b98aae; + --base0F: #a06845; + } + } - %sveltekit.head% -</head> + #mai { + position: fixed; + left: 0; + bottom: 0; + height: auto; + width: 10vh; + } + </style> -<body data-sveltekit-preload-data="hover" style="max-width: 90% !important"> - <div style="display: contents">%sveltekit.body%</div> + %sveltekit.head% + </head> - <img id="mai" onclick="alert('You\'re having lewd thoughts, aren\'t you?')" /> -</body> + <body data-sveltekit-preload-data="hover" style="max-width: 90% !important"> + <div style="display: contents">%sveltekit.body%</div> -</html>
\ No newline at end of file + <img id="mai" onclick="alert('You\'re having lewd thoughts, aren\'t you?')" /> + </body> +</html> |