Add Apps page with local icons, favicon, and React Router navigation
ci/woodpecker/push/woodpecker Pipeline was successful
- Move app links to dedicated /apps page with grouped icon tiles - Download all icons locally to public/icons/ (no CDN dependency) - Add favicon and replace header logo-mark with custom icon - Fix icon names: synology, termix, docsight-light, dbgate (png) - Add nav tabs in header for Dashboard/Apps routing Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@@ -4,6 +4,7 @@
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>syco.me — Dashboard</title>
|
||||
<link rel="icon" type="image/png" href="/icons/favicon.png" />
|
||||
<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=JetBrains+Mono:wght@300;400;500;600&family=Syne:wght@400;600;700;800&display=swap" rel="stylesheet" />
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
"express": "^4.19.2",
|
||||
"react": "^18.3.1",
|
||||
"react-dom": "^18.3.1",
|
||||
"react-router-dom": "^6.24.0",
|
||||
"socket.io-client": "^4.8.3"
|
||||
},
|
||||
"devDependencies": {
|
||||
@@ -813,6 +814,15 @@
|
||||
"@jridgewell/sourcemap-codec": "^1.4.14"
|
||||
}
|
||||
},
|
||||
"node_modules/@remix-run/router": {
|
||||
"version": "1.23.2",
|
||||
"resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.23.2.tgz",
|
||||
"integrity": "sha512-Ic6m2U/rMjTkhERIa/0ZtXJP17QUi2CbWE7cqx4J58M8aA3QTfW+2UlQ4psvTX9IO1RfNVhK3pcpdjej7L+t2w==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=14.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@rolldown/pluginutils": {
|
||||
"version": "1.0.0-beta.27",
|
||||
"resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.27.tgz",
|
||||
@@ -912,9 +922,6 @@
|
||||
"arm"
|
||||
],
|
||||
"dev": true,
|
||||
"libc": [
|
||||
"glibc"
|
||||
],
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
@@ -929,9 +936,6 @@
|
||||
"arm"
|
||||
],
|
||||
"dev": true,
|
||||
"libc": [
|
||||
"musl"
|
||||
],
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
@@ -946,9 +950,6 @@
|
||||
"arm64"
|
||||
],
|
||||
"dev": true,
|
||||
"libc": [
|
||||
"glibc"
|
||||
],
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
@@ -963,9 +964,6 @@
|
||||
"arm64"
|
||||
],
|
||||
"dev": true,
|
||||
"libc": [
|
||||
"musl"
|
||||
],
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
@@ -980,9 +978,6 @@
|
||||
"loong64"
|
||||
],
|
||||
"dev": true,
|
||||
"libc": [
|
||||
"glibc"
|
||||
],
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
@@ -997,9 +992,6 @@
|
||||
"loong64"
|
||||
],
|
||||
"dev": true,
|
||||
"libc": [
|
||||
"musl"
|
||||
],
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
@@ -1014,9 +1006,6 @@
|
||||
"ppc64"
|
||||
],
|
||||
"dev": true,
|
||||
"libc": [
|
||||
"glibc"
|
||||
],
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
@@ -1031,9 +1020,6 @@
|
||||
"ppc64"
|
||||
],
|
||||
"dev": true,
|
||||
"libc": [
|
||||
"musl"
|
||||
],
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
@@ -1048,9 +1034,6 @@
|
||||
"riscv64"
|
||||
],
|
||||
"dev": true,
|
||||
"libc": [
|
||||
"glibc"
|
||||
],
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
@@ -1065,9 +1048,6 @@
|
||||
"riscv64"
|
||||
],
|
||||
"dev": true,
|
||||
"libc": [
|
||||
"musl"
|
||||
],
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
@@ -1082,9 +1062,6 @@
|
||||
"s390x"
|
||||
],
|
||||
"dev": true,
|
||||
"libc": [
|
||||
"glibc"
|
||||
],
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
@@ -1099,9 +1076,6 @@
|
||||
"x64"
|
||||
],
|
||||
"dev": true,
|
||||
"libc": [
|
||||
"glibc"
|
||||
],
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
@@ -1116,9 +1090,6 @@
|
||||
"x64"
|
||||
],
|
||||
"dev": true,
|
||||
"libc": [
|
||||
"musl"
|
||||
],
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
@@ -2800,6 +2771,38 @@
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/react-router": {
|
||||
"version": "6.30.3",
|
||||
"resolved": "https://registry.npmjs.org/react-router/-/react-router-6.30.3.tgz",
|
||||
"integrity": "sha512-XRnlbKMTmktBkjCLE8/XcZFlnHvr2Ltdr1eJX4idL55/9BbORzyZEaIkBFDhFGCEWBBItsVrDxwx3gnisMitdw==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@remix-run/router": "1.23.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=14.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"react": ">=16.8"
|
||||
}
|
||||
},
|
||||
"node_modules/react-router-dom": {
|
||||
"version": "6.30.3",
|
||||
"resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.30.3.tgz",
|
||||
"integrity": "sha512-pxPcv1AczD4vso7G4Z3TKcvlxK7g7TNt3/FNGMhfqyntocvYKj+GCatfigGDjbLozC4baguJ0ReCigoDJXb0ag==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@remix-run/router": "1.23.2",
|
||||
"react-router": "6.30.3"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=14.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"react": ">=16.8",
|
||||
"react-dom": ">=16.8"
|
||||
}
|
||||
},
|
||||
"node_modules/require-directory": {
|
||||
"version": "2.1.1",
|
||||
"resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
"express": "^4.19.2",
|
||||
"react": "^18.3.1",
|
||||
"react-dom": "^18.3.1",
|
||||
"react-router-dom": "^6.24.0",
|
||||
"socket.io-client": "^4.8.3"
|
||||
},
|
||||
"devDependencies": {
|
||||
|
||||
|
After Width: | Height: | Size: 15 KiB |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" viewBox="0 0 512 512"><path d="M505.8 58.8C428.2 18.4 334.1 0 256 0h-.3v511.8c-21.5-12.7-41.1-26-59.1-39.6 18 13.7 37.8 27 59.4 39.8C506.8 363.4 505.8 146 505.8 58.8" style="fill-rule:evenodd;clip-rule:evenodd;fill:#68bc71"/><path d="M255.7 511.8C5.2 363.3 6.2 146 6.2 58.8 83.7 18.4 177.7 0 255.7 0z" style="fill-rule:evenodd;clip-rule:evenodd;fill:#67b279"/><path d="m246.9 341.6 151-203.6c-11.1-8.9-20.8-2.6-26.1 2.2h-.2l-125.9 131-47.4-57.1c-22.6-26.2-53.4-6.2-60.6-.9z" style="fill-rule:evenodd;clip-rule:evenodd;fill:#fff"/></svg>
|
||||
|
After Width: | Height: | Size: 597 B |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" viewBox="0 0 512 512"><path d="M511.8 131.1c-.4-3.6-1.1-7.2-2-10.8-.3-1.1-.7-2.3-1-3.4-.1-.2-.2-.5-.3-.8-.1-.6-.3-1.1-.5-1.7s-.4-1.2-.6-1.7c-.2-.6-.5-1.2-.7-1.8-.3-.6-.6-1.2-.8-1.8-2-4.8-4.4-9.3-7.3-13.6l-.1-.1c-.8-1.1-1.5-2.1-2.3-3.2-.7-.9-1.3-1.8-2-2.6-.8-.9-1.6-1.9-2.4-2.8-.7-.9-1.6-1.8-2.4-2.6-3.4-3.4-7.1-6.6-11-9.4-.9-.6-1.8-1.3-2.8-1.9-1.1-.7-2.2-1.3-3.3-2-2.1-1.2-4.3-2.4-6.5-3.4-.7-.4-1.4-.7-2.1-1-3.1-1.3-6.2-2.5-9.4-3.4-1.2-.4-2.4-.7-3.7-1-.6-.1-1.2-.3-1.8-.4-3.6-.8-7.2-1.3-10.9-1.6l-1.6-.1h-.8c-1.2-.1-2.5-.1-3.7-.1H200.5c-1.3 0-2.5 0-3.7.1h-.8l-1.6.1c-3.7.3-7.3.8-10.9 1.6-.6.1-1.2.2-1.8.4-1.2.3-2.5.6-3.7 1-3.2.9-6.3 2.1-9.4 3.4-.7.3-1.4.7-2.1 1-2.3 1-4.4 2.2-6.5 3.4-1.1.6-2.2 1.3-3.3 2-.9.6-1.9 1.2-2.8 1.9-3.4 2.4-6.6 5.1-9.6 8-.5.5-1 .9-1.4 1.4l-.1.1c-.8.8-1.6 1.7-2.4 2.6s-1.6 1.9-2.4 2.8c-.7.9-1.3 1.7-2 2.6-.8 1.1-1.6 2.1-2.3 3.2l-.1.1c-2.9 4.3-5.3 8.9-7.3 13.6-.3.6-.6 1.2-.8 1.8s-.5 1.2-.7 1.8-.4 1.2-.6 1.7c-.1.6-.3 1.1-.5 1.7-.1.2-.2.5-.3.8-.4 1.1-.7 2.3-1 3.4-.9 3.5-1.6 7.1-2 10.8-.3 3-.5 6.1-.5 9.2v94.4c-.8-1.1-1.5-2.2-2.3-3.2-12.6-17.1-31.4-34.3-52.3-34.3-24 0-45.9 13.2-57.3 34.2h-.1C-15.9 273 17 329 65.3 327.8c37.4 0 68.2-55.5 68.2-65.3 0-3.6-4.2-13.5-11.5-24.5h131.6v-78.2h26.3v32.4h17.9v-32.4h28.7v19h17.9v-19h34v139H120v72.8c0 44.3 36 80.4 80.4 80.4h34.1v-78.8h163V452h34.1c44.3 0 80.4-36.1 80.4-80.4V140.3c0-3.1-.2-6.1-.2-9.2M38.2 231.6c13.6-11.6 33.1-15 47.2 0h.1c10.7 9.7 19.9 23.6 23.2 30.8-41.9 87.5-115.2 13-70.5-30.8" style="fill:#fd4b2d"/></svg>
|
||||
|
After Width: | Height: | Size: 1.5 KiB |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" id="bazarr_svg__Layer_1" x="0" y="0" version="1.1" viewBox="0 0 512 512"><style>.bazarr_svg__st0{fill:#fff}</style><path d="M506 256c0 138.1-111.9 250-250 250S6 394.1 6 256 117.9 6 256 6s250 111.9 250 250" class="bazarr_svg__st0"/><path d="M256 512C114.8 512 0 397.2 0 256S114.8 0 256 0s256 114.8 256 256-114.8 256-256 256m0-500C121.5 12 12 121.5 12 256s109.5 244 244 244 244-109.5 244-244S390.5 12 256 12m150.2 380.5c-100.2 6.4-200.6 6.4-300.8 0-25.4-1.7-50.2-24.6-53.3-50q-10.2-90.15 0-180.3c3.1-25.5 27.9-48.3 53.3-50 100.2-6.4 200.6-6.4 300.8 0 25.4 1.7 50.2 24.6 53.3 50q10.2 90.15 0 180.3c-3.1 25.5-27.9 48.3-53.3 50"/><path d="M348.4 366.7H163.2c-5.5 0-9.9-4.5-9.9-9.9 0-5.5 4.5-9.9 9.9-9.9h185.1c5.5 0 9.9 4.5 9.9 9.9.1 5.4-4.4 9.9-9.8 9.9m48.1-39.8H115c-5.5 0-10-4.5-10-10s4.5-10 10-10h281.5c5.5 0 10 4.5 10 10s-4.5 10-10 10" class="bazarr_svg__st0"/></svg>
|
||||
|
After Width: | Height: | Size: 927 B |
|
After Width: | Height: | Size: 6.0 KiB |
|
After Width: | Height: | Size: 6.7 KiB |
|
After Width: | Height: | Size: 143 KiB |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" viewBox="0 0 512 512"><path d="M256 512C114.8 512 0 397.2 0 256S114.8 0 256 0s256 114.8 256 256-114.8 256-256 256m0-505.7C118.3 6.3 6.3 118.3 6.3 256s112 249.7 249.7 249.7 249.7-112 249.7-249.7S393.7 6.3 256 6.3" style="opacity:.3;fill:#fff"/><path d="M256 428.8c-95.3 0-172.8-77.5-172.8-172.8S160.7 83.2 256 83.2 428.8 160.7 428.8 256 351.3 428.8 256 428.8m0-337.1c-90.6 0-164.3 73.7-164.3 164.3S165.4 420.3 256 420.3 420.3 346.6 420.3 256 346.6 91.7 256 91.7" style="opacity:.6;fill:#fff"/><path d="M256 345.5c-49.4 0-89.5-40.2-89.5-89.5s40.2-89.5 89.5-89.5 89.5 40.2 89.5 89.5-40.1 89.5-89.5 89.5m0-168.5c-43.6 0-79 35.4-79 79s35.4 79 79 79 79-35.4 79-79-35.4-79-79-79" style="opacity:.9;fill:#fff"/><circle cx="256" cy="256" r="31.6" style="fill:#fff"/></svg>
|
||||
|
After Width: | Height: | Size: 824 B |
|
After Width: | Height: | Size: 15 KiB |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" viewBox="0 0 512 512"><linearGradient id="firefly-iii_svg__a" x1="-99.78" x2="-99.78" y1="1.223" y2="2.014" gradientTransform="matrix(436.1719 0 0 647.181 43777.23 -791.588)" gradientUnits="userSpaceOnUse"><stop offset="0" style="stop-color:#ffa284"/><stop offset=".5" style="stop-color:#cd5029"/></linearGradient><path d="M215.6 0s19.5 66.2-18 104.7-33.5 81.1-18.3 101.4 14.2 35.5 2 46.7-22.3 19.3-29.4 1-15.2-18.3-18.3-27.4-9.1-25.4-9.1-25.4-19.3 30.4-31.4 48.7-12.2 46.7-4.1 61.9 5.1 33.5-1 58.8c-6.1 25.4 2 63.9 30.4 79.1s62.9 27.4 78.1 41.6 50.7 27.4 96.4 17.2c45.6-10.1 103.5-56.8 113.6-88.2 0 0 26.4-29.4 21.3-68-5.1-38.5-23.3-37.5-31.4-66.9s17.6-22.2-4.1-72.7c0 0-9.6-24-46.2-41.4-23.5-11.1-7.5-61.5-49.1-112.2S215.6 0 215.6 0" style="fill:url(#firefly-iii_svg__a)"/><path d="m200.9 251.5 1.8 41.9s-31.7 23.4-36 53.8l-12.7 1s-9.1 2-9.1 11.2v29.4s3 9.1 10.1 9.1l13-.3s6.3 24.1 28.9 40v20.2s-1.6 6.7 12.3 8.7c13.8 2 32.2 1.8 35.2-1.2s3-3.6 3-7.1c0 0 16.8 4 47.7 0v4s2.8 5.5 22.9 5.5 26.1-2.4 29.7-9.5v-19.8s29.3-28.7 28.3-72.6c-.9-37.8-12.6-50.9-28.3-65.6-17.9-16.8-55.3-24.7-93.3-20.1-.1 0-19.3-34.8-53.5-28.6" style="fill:#fff"/><circle cx="197" cy="358.8" r="7.5" style="fill:#03394d"/><path d="m376.6 349.3-1.9-9.3s-14.4-6.9-32.2 3.2c0 0-21.1-7.1-32.4 2.1-11.7 9.5-12.9 20.7-12.3 33.8 0 0 10.2-34.7 35.8-25.8 0 0-18.2 32 10.1 37.6 0 0 6.7 0 12.2-3.4 5.3-3.2 9.4-9 7.7-19.6 0 0-3.4-10.6-12.3-16.9 0 0 8.7-6.2 25.3-1.7m-25.2 18.5c5.5 9-3.9 13.5-3.9 13.5-17.6 1.4-4.4-23.5-4.4-23.5s2.7.6 8.3 10" style="fill:#cd5029"/></svg>
|
||||
|
After Width: | Height: | Size: 1.6 KiB |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" viewBox="0 0 512 512"><path d="M414.4 376.5 200 379.6l-1.4-256.7 103.5-15.2 108.8-1.5z" style="fill:#fff"/><path d="M502.6 103.7c-3.3-3.3-7.8-3.3-7.8-3.3s-95.5 5.4-144.9 6.5c-10.8.2-21.6.5-32.3.6V203c-4.5-2.1-9-4.3-13.5-6.4 0-29.6-.1-88.9-.1-88.9-23.6.3-72.7-1.8-72.7-1.8s-115.2-5.8-127.7-6.9c-8-.5-18.3-1.7-31.8 1.2-7.1 1.5-27.3 6-43.8 21.9C-8.7 154.8.7 206.7 1.9 214.5c1.4 9.5 5.6 36 25.8 59 37.3 45.7 117.6 44.6 117.6 44.6s9.9 23.5 24.9 45.2c20.4 27 41.3 48 61.7 50.5 51.3 0 153.9-.1 153.9-.1s9.8.1 23-8.4c11.4-6.9 21.6-19.1 21.6-19.1s10.5-11.2 25.2-36.9c4.5-7.9 8.2-15.6 11.5-22.8 0 0 45-95.4 45-188.2-1-28-7.9-33-9.5-34.6M97.7 269.9c-21.1-6.9-30.1-15.2-30.1-15.2S52 243.8 44.2 222.3c-13.4-36-1.1-58-1.1-58s6.8-18.3 31.4-24.4c11.2-3 25.2-2.5 25.2-2.5s5.8 48.4 12.8 76.7c5.9 23.8 20.2 63.3 20.2 63.3s-21.3-2.6-35-7.5m289.4-4.5c-5.2 12.6-44.8 92.1-44.8 92.1s-5 11.8-16 12.5c-4.7.3-8.4-1-8.4-1s-.2-.1-4.3-1.7l-92-44.8s-8.9-4.6-10.4-12.7c-1.8-6.6 2.2-14.7 2.2-14.7l44.2-91.1s3.9-7.9 9.9-10.6c.5-.2 1.9-.8 3.7-1.2 6.6-1.7 14.7 2.3 14.7 2.3l18.4 8.9c-3.7 7.6-7.5 15.2-11.2 22.9-5.5-.1-10.5 2.9-13.1 7.7-2.8 5.1-2.2 11.5 1.5 16.1-6.6 13.8-13.3 27.5-19.9 41.1-6.7.1-12.5 4.7-14.1 11.2-1.5 6.5 1.6 13.3 7.4 16.3 6.3 3.3 14.3 1.5 18.5-4.4 4.2-5.8 3.5-13.8-1.5-18.8l19.5-40c1.2.1 3 .2 5-.4 3.3-.7 5.8-2.9 5.8-2.9 3.4 1.5 7 3.1 10.8 5 3.9 2 7.6 4 10.9 5.9.7.4 1.5.9 2.3 1.5 1.3 1.1 2.8 2.5 3.8 4.5 1.5 4.5-1.5 12.1-1.5 12.1-1.9 6.2-15 33.1-15 33.1-6.6-.2-12.5 4.1-14.4 10.2-2.1 6.6.9 14.1 7.2 17.3 6.4 3.3 14.2 1.4 18.3-4.3 4.1-5.5 3.7-13.3-.9-18.4l4.6-9.2c4.1-8.5 11-24.8 11-24.8.7-1.4 4.6-8.4 2.2-17.3-2-9.3-10.3-13.6-10.3-13.6-9.9-6.4-23.8-12.4-23.8-12.4s0-3.3-.9-5.8-2.3-4.2-3.2-5.1c3.6-7.6 7.4-15.1 11-22.6l61.8 29.9s10.3 4.6 12.5 13.2c1.5 6-.4 11.4-1.5 14" style="fill:#609926"/></svg>
|
||||
|
After Width: | Height: | Size: 1.8 KiB |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" viewBox="0 0 512 512"><linearGradient id="grafana_svg__a" x1="256.002" x2="256.002" y1="432.036" y2="787.262" gradientTransform="translate(0 -279)" gradientUnits="userSpaceOnUse"><stop offset="0" style="stop-color:#f05a28"/><stop offset="1" style="stop-color:#fbca0a"/></linearGradient><path d="M490.8 226c-.8-8.6-2.3-18.5-5.1-29.5-2.8-10.9-7.1-22.8-13.3-35.3-6.2-12.4-14.2-25.2-24.7-37.8-4.1-4.9-8.6-9.7-13.4-14.4 7.2-28.6-8.7-53.5-8.7-53.5-27.5-1.7-45 8.6-51.5 13.3-1.1-.4-2.1-1-3.2-1.4-4.7-1.8-9.5-3.7-14.5-5.2-4.9-1.6-10-3-15.2-4.2-5.2-1.3-10.4-2.3-15.8-3.1-1-.1-1.8-.3-2.8-.4C310.6 16.1 276.1 0 276.1 0c-38.5 24.4-45.7 58.5-45.7 58.5s-.1.7-.4 2c-2.1.6-4.2 1.3-6.3 1.8-3 .8-5.9 2-8.7 3.1-3 1.1-5.8 2.3-8.7 3.5-5.8 2.5-11.6 5.4-17.2 8.5-5.5 3.1-10.9 6.5-16.1 10l-1.4-.6C118.2 66.6 70.9 91 70.9 91c-4.4 56.7 21.3 92.4 26.4 98.9-1.3 3.5-2.4 7.1-3.5 10.6-3.9 12.8-6.9 26-8.7 39.6-.3 2-.6 3.9-.7 5.9-49.4 24.4-63.9 74.2-63.9 74.2 41 47.3 89 50.2 89 50.2l.1-.1q9.15 16.35 21 30.9c3.4 4.1 6.8 7.9 10.4 11.7-15 42.9 2.1 78.4 2.1 78.4 45.7 1.7 75.7-20 82.1-25 4.5 1.6 9.2 3 13.8 4.1 14.1 3.7 28.5 5.8 42.9 6.3 3.5.1 7.2.3 10.7.1h5.1l2.3-.1v.1c21.6 30.7 59.4 35.1 59.4 35.1 26.9-28.4 28.5-56.6 28.5-62.6v-2.5c5.6-3.9 11-8.2 16.1-12.8 10.7-9.7 20.2-20.9 28.1-32.9.7-1.1 1.4-2.3 2.1-3.4 30.5 1.7 52-18.9 52-18.9-5.1-31.7-23.1-47.3-26.9-50.2 0 0-.1-.1-.4-.3-.3-.1-.3-.3-.3-.3-.1-.1-.4-.3-.7-.4.1-2 .3-3.8.4-5.8.3-3.4.3-6.9.3-10.3v-5.3l-.1-2.1-.1-2.8c0-1-.1-1.8-.3-2.7s-.1-1.8-.3-2.7l-.3-2.7-.4-2.7c-.6-3.5-1.1-6.9-2-10.4-3.2-13.7-8.6-26.7-15.5-38.4-7.1-11.7-15.8-22-25.8-30.7-9.9-8.7-21-15.8-32.6-21-11.7-5.2-23.8-8.6-36-10.2-6.1-.8-12.1-1.1-18.2-1h-4.6l-2.3.1c-.8 0-1.7.1-2.4.1-3.1.3-6.2.7-9.2 1.3-12.1 2.3-23.6 6.6-33.6 12.7s-18.8 13.5-25.8 22c-7.1 8.5-12.6 17.9-16.4 27.6s-5.9 19.9-6.5 29.6c-.1 2.4-.1 4.9-.1 7.3v1.8l.1 2c.1 1.1.1 2.4.3 3.5.4 4.9 1.4 9.7 2.7 14.2 2.7 9.2 6.9 17.5 12.1 24.5 5.2 7.1 11.6 12.8 18.2 17.5 6.6 4.5 13.8 7.8 20.9 9.9s14.1 3 20.7 3h3.7c.5 0 .8 0 1.3-.1.7 0 1.4-.1 2.1-.1.1 0 .4 0 .6-.1l.7-.1c.4 0 .8-.1 1.3-.1.8-.1 1.6-.3 2.4-.4s1.6-.3 2.3-.6c1.6-.3 3-.8 4.4-1.3 2.8-1 5.6-2.1 8-3.4 2.5-1.3 4.8-2.8 7.1-4.2.6-.4 1.3-.8 1.8-1.4 2.3-1.8 2.7-5.2.8-7.5-1.6-2-4.4-2.5-6.6-1.3-.6.3-1.1.6-1.7.8-2 1-3.9 1.8-6.1 2.5-2.1.7-4.4 1.3-6.6 1.7-1.1.1-2.3.3-3.5.4-.6 0-1.1.1-1.8.1h-3.4c-.7 0-1.4 0-2.1-.1h-.8c-.3 0-.7 0-1-.1-.7-.1-1.3-.1-2-.3-5.2-.7-10.4-2.3-15.4-4.5-5.1-2.3-9.9-5.4-14.2-9.3s-8.2-8.6-11.1-14c-3-5.4-5.1-11.3-6.1-17.5-.4-3.1-.7-6.3-.6-9.5 0-.8.1-1.7.1-2.5v-1.1c0-.4.1-.8.1-1.3.1-1.7.4-3.4.7-5.1 2.4-13.5 9.2-26.8 19.6-36.8 2.7-2.5 5.5-4.8 8.5-6.9s6.2-3.9 9.6-5.5 6.8-2.8 10.4-3.8c3.5-1 7.2-1.6 11-2 1.8-.1 3.7-.3 5.6-.3h4.4l1.6.1c4.1.3 8 .8 12 1.8 7.9 1.7 15.7 4.7 22.8 8.6 14.4 8 26.7 20.5 34.1 35.4 3.8 7.5 6.5 15.5 7.8 23.8.3 2.1.6 4.2.7 6.3l.1 1.6.1 1.6v6.2c0 1-.1 2.7-.1 3.7-.1 2.3-.4 4.7-.7 6.9-.3 2.3-.7 4.5-1.1 6.8s-1 4.5-1.6 6.6c-1.1 4.4-2.5 8.7-4.2 13.1-3.4 8.5-7.9 16.6-13.3 24.1-10.9 15-25.7 27.1-42.6 34.8-8.5 3.8-17.3 6.6-26.5 8-4.5.8-9.2 1.3-13.8 1.4h-7c-2.5 0-4.9-.1-7.5-.4-9.9-.7-19.6-2.5-29.2-5.2-9.5-2.7-18.6-6.5-27.4-11-17.3-9.3-33-22-45.1-37.4-6.1-7.6-11.4-15.9-15.8-24.5s-7.9-17.8-10.4-26.9c-2.5-9.3-4.1-18.8-4.8-28.4l-.1-1.8v-12.2c.1-4.7.6-9.6 1.1-14.4.6-4.8 1.4-9.7 2.4-14.5s2.1-9.6 3.5-14.4c2.7-9.5 6.1-18.6 10-27.2 8-17.2 18.5-32.6 31-44.9 3.1-3.1 6.3-5.9 9.7-8.7 3.4-2.7 6.9-5.2 10.6-7.6 3.5-2.4 7.3-4.5 11.1-6.5 1.8-1 3.8-2 5.8-2.8 1-.4 2-.8 3-1.3 1-.4 2-.8 3-1.3 3.9-1.7 8-3.1 12.3-4.4 1-.3 2.1-.6 3.1-1 1-.3 2.1-.6 3.1-.8 2.1-.6 4.2-1.1 6.3-1.6 1-.3 2.1-.4 3.2-.7s2.1-.4 3.2-.7c1.1-.1 2.1-.4 3.2-.6l1.6-.3 1.7-.3c1.1-.1 2.1-.3 3.2-.4 1.3-.1 2.4-.3 3.7-.4 1-.1 2.7-.3 3.7-.4.7-.1 1.6-.1 2.3-.3l1.6-.1.7-.1h.8c1.3-.1 2.4-.1 3.7-.3l1.8-.1h1.3c1 0 2.1-.1 3.1-.1 4.1-.1 8.3-.1 12.4 0 8.2.3 16.2 1.3 24 2.7 15.7 3 30.3 7.9 43.7 14.5 13.4 6.5 25.2 14.5 35.7 23.3.7.6 1.3 1.1 2 1.7.6.6 1.3 1.1 1.8 1.7 1.3 1.1 2.4 2.3 3.7 3.4s2.4 2.3 3.5 3.4 2.3 2.3 3.4 3.5c4.4 4.7 8.5 9.3 12.1 14.1 7.3 9.5 13.3 19 17.9 28.1.3.6.6 1.1.8 1.7.3.6.6 1.1.8 1.7.6 1.1 1.1 2.3 1.6 3.4.6 1.1 1 2.1 1.6 3.2.4 1.1 1 2.1 1.4 3.2 1.7 4.2 3.4 8.3 4.7 12.1 2.1 6.2 3.7 11.7 4.9 16.5.4 2 2.3 3.2 4.2 3 2.1-.1 3.7-1.8 3.7-3.9.4-5.4.2-11.4-.5-18.3" style="fill:url(#grafana_svg__a)"/></svg>
|
||||
|
After Width: | Height: | Size: 4.2 KiB |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" viewBox="0 0 512 512"><ellipse cx="49.5" cy="258.3" rx="49.5" ry="49.9" style="fill-rule:evenodd;clip-rule:evenodd;fill:#f8b5cb"/><path d="M135.9 220.2c7.8 0 14.2 6.3 14.2 14s-6.4 14-14.2 14-14.2-6.3-14.2-14 6.4-14 14.2-14m0 49c7.8 0 14.2 6.3 14.2 14s-6.4 14-14.2 14-14.2-6.3-14.2-14 6.4-14 14.2-14m64 0c7.8 0 14.2 6.3 14.2 14s-6.4 14-14.2 14-14.2-6.3-14.2-14 6.4-14 14.2-14m.2-49c7.8 0 14.2 6.3 14.2 14s-6.4 14-14.2 14-14.2-6.3-14.2-14 6.4-14 14.2-14" style="fill-rule:evenodd;clip-rule:evenodd;fill:#a2a2a2"/><path d="M325 208.8c27.4 0 49.6 22.4 49.6 50s-22.2 50-49.6 50-49.6-22.4-49.6-50 22.2-50 49.6-50m106.6 0c27.4 0 49.6 22.4 49.6 50s-22.2 50-49.6 50-49.6-22.4-49.6-50 22.2-50 49.6-50" style="fill-rule:evenodd;clip-rule:evenodd;fill:#8d8d8d"/><path d="M273.3 173.5h-28.8v165h28.8v-11.9h-17v-141h17zm209.9 0H512v165h-28.8v-11.9h17v-141h-17z" style="fill-rule:evenodd;clip-rule:evenodd;fill:#303030"/></svg>
|
||||
|
After Width: | Height: | Size: 973 B |
|
After Width: | Height: | Size: 5.1 KiB |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" viewBox="0 0 512 512"><linearGradient id="jellyfin_svg__a" x1="97.487" x2="522.047" y1="483.902" y2="729.018" gradientTransform="translate(0 -278)" gradientUnits="userSpaceOnUse"><stop offset="0" style="stop-color:#aa5cc3"/><stop offset="1" style="stop-color:#00a4dc"/></linearGradient><path d="M256 196.2c-22.4 0-94.8 131.3-83.8 153.4s156.8 21.9 167.7 0-61.3-153.4-83.9-153.4" style="fill:url(#jellyfin_svg__a)"/><linearGradient id="jellyfin_svg__b" x1="94.186" x2="518.747" y1="489.619" y2="734.735" gradientTransform="translate(0 -278)" gradientUnits="userSpaceOnUse"><stop offset="0" style="stop-color:#aa5cc3"/><stop offset="1" style="stop-color:#00a4dc"/></linearGradient><path d="M256 0C188.3 0-29.8 395.4 3.4 462.2s472.3 66 505.2 0S323.8 0 256 0m165.6 404.3c-21.6 43.2-309.3 43.8-331.1 0S211.7 101.4 256 101.4 443.2 361 421.6 404.3" style="fill:url(#jellyfin_svg__b)"/></svg>
|
||||
|
After Width: | Height: | Size: 944 B |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" viewBox="0 0 512 512"><circle cx="256" cy="256" r="256" style="fill:#e5e5e5"/><path d="M460.9 256.8c0-113.5-92-205.5-205.5-205.5V35.7l-9.2 15.7C137 56.3 49.9 146.3 49.9 256.8c0 113.5 92 205.5 205.5 205.5v15.5l9.2-15.7c109.2-4.9 196.3-94.9 196.3-205.3m-96.4-109.2c13.8 13.8 24.6 29.7 32.2 47H255.4v-92.2c41.2 0 80 16 109.1 45.2m-218.3 0c18.9-18.9 41.8-32.3 66.8-39.4L105.2 292.8q-4.2-17.55-4.2-36c0-41.3 16.1-80 45.2-109.2m0 218.3c-13.8-13.8-24.6-29.7-32.2-47h141.4v92.2c-41.3 0-80-16-109.2-45.2m151.5 39.4 107.8-184.6q4.2 17.55 4.2 36c0 41.2-16.1 80-45.2 109.2-18.8 18.9-41.8 32.3-66.8 39.4"/><path d="M447.5 175.6c-10.5-24.8-25.5-47.1-44.7-66.3-19.1-19.1-41.4-34.2-66.3-44.7-24.5-10.4-50.4-15.8-77.2-16.3V20.9l-16.2 27.7c-23.9 1.4-47 6.7-69 16-24.8 10.5-47.1 25.5-66.3 44.7-19.1 19.1-34.2 41.4-44.7 66.3-10.9 25.7-16.4 53-16.4 81.2s5.5 55.5 16.4 81.2c10.5 24.8 25.5 47.1 44.7 66.3s41.4 34.2 66.3 44.7c24.5 10.4 50.4 15.8 77.2 16.3v27.4l16.2-27.7c23.9-1.4 47-6.7 69-16 24.8-10.5 47.1-25.5 66.3-44.7s34.2-41.4 44.7-66.3c10.9-25.7 16.4-53 16.4-81.2s-5.5-55.5-16.4-81.2m-144.5 23h110.8L261.6 459.2c-.7 0-1.5 0-2.2.1V331.8c39.7-2.1 71.2-34.9 71.2-75.1 0-23.4-10.8-44.3-27.6-58.1m-95.3 116.3H97L249.1 54.4c.7 0 1.5 0 2.2-.1v127.4c-39.7 2.1-71.2 34.9-71.2 75.1.1 23.4 10.8 44.3 27.6 58.1M52.9 256.8c0-106.3 82.4-193.8 186.7-201.9L83 322.9h136.7c9.5 5.2 20.3 8.3 31.7 8.9v127.4c-109.8-2.1-198.5-92.1-198.5-202.4m218.3 201.8 156.6-268H291.1c-9.5-5.2-20.3-8.3-31.7-8.9V54.3c109.8 2.1 198.5 92.1 198.5 202.5 0 106.3-82.4 193.7-186.7 201.8" style="fill:#009252"/></svg>
|
||||
|
After Width: | Height: | Size: 1.6 KiB |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" viewBox="0 0 512 512"><path d="M458.4 274.8c-11.9-67.2-40.9-118.3-64.9-114-6.4 1.1-11.8 6.2-16 14.1-1.9-2.7-3.8-5.4-5.8-7.9 5.1-13.5 8-28.1 8-43.4C379.6 55.3 324.3 0 256 0S132.4 55.3 132.4 123.6c0 15.3 2.9 29.9 8 43.4-2 2.6-3.9 5.2-5.8 7.9-4.2-7.9-9.6-13-16-14.1-24-4.2-53.1 46.8-64.9 114-11.9 67.2-2 125.1 22 129.4 11.2 2 23.5-8.2 34.7-26.4 24.5 68.6 80.5 116.6 145.7 116.6s121.1-48 145.7-116.6c11.2 18.2 23.5 28.4 34.7 26.4 23.9-4.2 33.7-62.2 21.9-129.4" style="fill:#2d2d2d"/><path d="M361.9 335.4c0 78-47.4 141.2-105.9 141.2s-105.9-63.2-105.9-141.2c0-43.6 14.9-82.6 38.2-108.6 19.5 12.8 42.7 20.3 67.7 20.3s48.3-7.5 67.7-20.3c23.4 26 38.2 65 38.2 108.6M167.7 141.2c0-43.9 39.5-79.4 88.3-79.4s88.3 35.6 88.3 79.4-39.5 79.4-88.3 79.4-88.3-35.5-88.3-79.4m110.4-35.3c0 12.2 9.9 22.1 22.1 22.1s22.1-9.9 22.1-22.1-9.9-22.1-22.1-22.1c-12.3.1-22.1 9.9-22.1 22.1m-88.3 0c0 12.2 9.9 22.1 22.1 22.1s22.1-9.9 22.1-22.1-9.9-22.1-22.1-22.1c-12.2.1-22.1 9.9-22.1 22.1m22.1-6.1c0 3.9 3.2 7.1 7.1 7.1s7.1-3.2 7.1-7.1-3.2-7.1-7.1-7.1-7.1 3.2-7.1 7.1m88.2 0c0 3.9 3.2 7.1 7.1 7.1s7.1-3.2 7.1-7.1-3.2-7.1-7.1-7.1-7.1 3.2-7.1 7.1" style="fill:#f5f5f5"/><path d="m229.5 150.1 26.5 44.1 26.5-44.1zM194.2 459c29.3 0 53 11.9 53 26.5s-23.7 26.5-53 26.5-53-11.9-53-26.5 23.8-26.5 53-26.5m123.6 0c29.3 0 53 11.9 53 26.5S347 512 317.8 512c-29.3 0-53-11.9-53-26.5s23.7-26.5 53-26.5" style="fill:#f59e0b"/></svg>
|
||||
|
After Width: | Height: | Size: 1.4 KiB |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" viewBox="0 0 512 512"><circle cx="256" cy="256" r="245.6" style="fill:#0084ff"/><circle cx="256" cy="256" r="87.4" style="fill:#fff"/><path d="M256 0C114.8 0 0 114.8 0 256s114.8 256 256 256 256-114.8 256-256S397.2 0 256 0m0 491.3C126.3 491.3 20.7 385.7 20.7 256S126.3 20.7 256 20.7 491.3 126.3 491.3 256 385.7 491.3 256 491.3m0-137.9c-53.7 0-97.4-43.7-97.4-97.4s43.7-97.4 97.4-97.4 97.4 43.7 97.4 97.4-43.7 97.4-97.4 97.4m0-174.8c-42.7 0-77.4 34.7-77.4 77.4s34.7 77.4 77.4 77.4 77.4-34.7 77.4-77.4-34.7-77.4-77.4-77.4m0 235c-5.5 0-10-4.5-10-10s4.5-10 10-10c75.9 0 137.6-61.7 137.6-137.6 0-5.5 4.5-10 10-10s10 4.5 10 10c0 86.9-70.7 157.6-157.6 157.6M108.4 266c-5.5 0-10-4.5-10-10 0-86.9 70.7-157.6 157.6-157.6 5.5 0 10 4.5 10 10s-4.5 10-10 10c-75.9 0-137.6 61.7-137.6 137.6 0 5.5-4.5 10-10 10M256 459.8c-5.5 0-10-4.5-10-10s4.5-10 10-10c85.4 0 160.9-60.3 179.5-143.4 1.2-5.4 6.6-8.8 11.9-7.6 5.4 1.2 8.8 6.6 7.6 11.9-10 44.5-35.1 84.8-70.7 113.7-36.1 29.3-81.7 45.4-128.3 45.4m193.6-186.4h-.8c-5.5-.5-9.6-5.3-9.1-10.8.2-2 .2-4.3.2-6.6 0-5.5 4.5-10 10-10s10 4.5 10 10c0 2.5 0 5.4-.2 8.2-.5 5.3-4.9 9.2-10.1 9.2M62.2 266c-5.5 0-10-4.5-10-10 0-2.4 0-4.9.2-7.5.5-5.5 5.4-9.5 10.9-9.1 5.5.5 9.6 5.4 9.1 10.9-.2 1.7-.2 3.7-.2 5.7 0 5.5-4.5 10-10 10m3.8-38.6c-.7 0-1.3-.1-2-.2-5.4-1.1-8.9-6.4-7.8-11.8C75.4 120.8 159.5 52.2 256 52.2c5.5 0 10 4.5 10 10s-4.5 10-10 10c-87.1 0-162.9 61.9-180.2 147.2-1 4.7-5.2 8-9.8 8M256 284c-15.4 0-28-12.6-28-28s12.6-28 28-28 28 12.6 28 28-12.6 28-28 28m0-36c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8"/></svg>
|
||||
|
After Width: | Height: | Size: 1.6 KiB |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" viewBox="0 0 512 512"><linearGradient id="overseerr_svg__a" x1="128" x2="498.667" y1="382" y2="752.667" gradientTransform="translate(0 -254)" gradientUnits="userSpaceOnUse"><stop offset="0" style="stop-color:#c395fc"/><stop offset="1" style="stop-color:#4f65f5"/></linearGradient><path d="M256 512c141.4 0 256-114.6 256-256S397.4 0 256 0 0 114.6 0 256s114.6 256 256 256m170.7-234.7c0 82.5-66.9 149.3-149.3 149.3S128 359.8 128 277.3c0-15.3 2.3-30.1 6.6-44 11.7 25.9 37.8 44 68.1 44 41.2 0 74.7-33.4 74.7-74.7 0-30.3-18-56.4-44-68.1 13.9-4.3 28.7-6.6 44-6.6 82.4.1 149.3 67 149.3 149.4" style="fill-rule:evenodd;clip-rule:evenodd;fill:url(#overseerr_svg__a)"/><path d="M426.7 277.3c0 82.5-66.9 149.3-149.3 149.3-80.7 0-146.5-64.1-149.2-144.1-.1 1.8-.1 3.6-.1 5.4 0 88.4 71.6 160 160 160s160-71.6 160-160-71.6-160-160-160c-1.8 0-3.6 0-5.4.1 79.9 2.9 144 68.6 144 149.3" style="opacity:.2;fill-rule:evenodd;clip-rule:evenodd;fill:#131928"/><linearGradient id="overseerr_svg__b" x1="149.35" x2="149.35" y1="296.667" y2="510" gradientTransform="translate(0 -254)" gradientUnits="userSpaceOnUse"><stop offset="0" style="stop-color:#fff;stop-opacity:.4"/><stop offset="1" style="stop-color:#fff;stop-opacity:0"/></linearGradient><path d="M256 64C150 64 64 150 64 256c0 11.8-9.6 21.3-21.3 21.3-11.8 0-21.3-9.6-21.3-21.3-.1-129.6 105-234.7 234.6-234.7 11.8 0 21.3 9.6 21.3 21.3 0 11.8-9.5 21.4-21.3 21.4" style="fill-rule:evenodd;clip-rule:evenodd;fill:url(#overseerr_svg__b)"/></svg>
|
||||
|
After Width: | Height: | Size: 1.5 KiB |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" viewBox="0 0 512 512"><path d="M135.2 491.3c-2.5-11.9-7.6-35.8-8.1-35.8C20.9 392 33.4 282.1 68.6 219.3c7.6 79.1 147.6 133.8 66 230.6-.7 1.2 3.7 16.3 7.6 30.1 16.3-27.6 40.8-60.9 39.6-64C81.3 171 395.4 152.2 460.7.1c29.5 147-15.1 374.4-267.7 432.3-1.2.7-45.9 79.1-47.7 79.8 0-1.2-18.8-.7-16.3-6.9 1.2-4 3.7-9 6.2-14m62.3-108.7C157.9 289 274.2 186 331.9 160.3c-118.2 105.4-138.3 184-134.4 222.3m-65.4 49.6c32-37.1-5.6-100.6-28.3-121.2 38.3 66 35.8 104.2 28.3 121.2" style="fill:#17541f"/></svg>
|
||||
|
After Width: | Height: | Size: 553 B |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" viewBox="0 0 512 512"><path d="M412 96.8 282.7 22V0h-16v21.8l-.2-.3-130.2 75.3H73.1v16h114.2v77.5h41.4v-77.5h38V335c.6 0 11.6-.2 16 1.9V112.8h11.4v226.3c6.2 3.1 11.7 6.6 16 11.5V112.8h128.8v-16zm-191.1 51.9h-25.8v-35.9h25.8zm-52.6-51.9 98.4-56.9v56.9zm114.4-56.3L380 96.8h-97.3zM82.6 304.7c0 26.2 12.9 49.2 32.4 63.7 5.1-1.4 10.2-2.2 15.4-2.4 2.2 0 3.5.2 5.7.4 6-25.4 29.5-42.4 56.8-42.4 15.4 0 30.7 4.3 41 14.3 4.8-10.2 6.4-21.5 6.4-33.6 0-13.9-3.5-27.6-10.5-39.5H93.1c-6.8 11.9-10.5 25.6-10.5 39.5m11.5-87.4h41.4v41.6H94.1zm46.7-46.3h41.4v41.6h-41.4zm-46.7 0h41.4v41.6H94.1zm46.7 46.3h41.4v41.6h-41.4zm46.5 0h41.4v41.6h-41.4zm135.6 179.4c0-30.1-24.4-54.5-54.5-54.5-11.5 0-22 3.5-30.8 9.6-10.2-11.8-25-19.2-41.6-19.2-25.8 0-47.4 18-53.1 42-1.9-.4-3.9-.4-5.9-.1-30.3 0-54.7 24.4-54.7 54.5s24.6 54.5 54.7 54.5c3.9 0 7.6-.4 11.3-1.2 9.2 17.6 27.5 29.7 48.6 29.7 18.3 0 34.5-9.2 44.5-23.1 9.4 7.8 21.5 12.5 34.8 12.5 30.1 0 54.5-24.4 54.5-54.5 0-12.1-4.1-23.4-10.7-32.4 1.9-5.7 2.9-11.5 2.9-17.8" style="fill-rule:evenodd;clip-rule:evenodd;fill:#13bef9"/></svg>
|
||||
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 12 KiB |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" viewBox="0 0 512 512"><path d="M137.9 34.1c-10.5 0-19.7 1.9-28.5 5.7-8.6 3.8-16.2 8.9-22.9 15.6l170 186.4L426.1 55.3c-6.7-6.7-14.3-11.8-23.4-15.6-8.3-3.8-18-5.7-28-5.7-10.5 0-20.5 2.2-29.4 6.2-9.2 4-16.7 10-23.7 17l-65.2 72.2-66-72.2c-6.7-7-14.3-12.9-23.7-17-8.3-4-18.3-6.1-28.8-6.1M256.4 270l-170 186.7c6.7 6.5 14.3 11.8 22.9 15.6 8.9 3.8 18.1 5.7 28 5.7 11 0 20.5-2.4 29.4-6.2 9.4-4.3 17.5-10 24.2-17l65.5-72.2 65.4 72.2c6.7 7 14.3 12.7 23.4 17 8.9 3.8 18.6 6.2 29.4 6.2 10 0 19.7-1.9 28-5.7 9.2-3.8 16.7-9.2 23.4-15.6z" style="fill-rule:evenodd;clip-rule:evenodd"/><path d="M56 90.1c-10.8.3-21.3 2.4-30.7 6.5-9.7 4-18 9.7-25.3 16.7L129.8 256 0 398.5c7.3 7.3 15.6 12.9 25.3 17.2 9.4 4.3 19.9 6.2 30.7 6.7 11.6-.5 22.4-2.4 32.3-7.3q15-6.9 25.8-18.6l128-140.5-127.9-140.3c-7.8-7.5-16.2-13.7-26.1-18.6-10-4.6-20.5-6.7-32.1-7m399.7 0c-11.6.3-21.8 2.4-31.8 7-10 4.8-18.6 11-26.1 18.6L270.4 256l127.4 140.6q11.25 11.7 26.1 18.6c10 4.8 20.2 6.7 31.8 7.3 11.6-.5 21.5-2.4 31-6.7 10.2-4.3 18-10 25.3-17.2L382.5 256 512 113.3c-7.3-7-15.1-12.7-25.3-16.7-9.4-4.1-19.4-6.2-31-6.5" style="fill-rule:evenodd;clip-rule:evenodd;fill:#e57000"/></svg>
|
||||
|
After Width: | Height: | Size: 1.2 KiB |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" viewBox="0 0 512 512"><linearGradient id="qbittorrent_svg__a" x1="-545.332" x2="-545.12" y1="1053.675" y2="1053.291" gradientTransform="matrix(992 0 0 -992 541102 1045278)" gradientUnits="userSpaceOnUse"><stop offset="0" style="stop-color:#72b4f5"/><stop offset="1" style="stop-color:#356ebf"/></linearGradient><circle cx="256" cy="256" r="248" style="fill-rule:evenodd;clip-rule:evenodd;fill:url(#qbittorrent_svg__a)"/><path d="M256 512c-34.6 0-68.1-6.8-99.6-20.1C125.9 479 98.5 460.5 75 437s-42-50.9-54.9-81.4C6.8 324.1 0 290.6 0 256s6.8-68.1 20.1-99.6C33 125.9 51.5 98.5 75 75s50.9-42 81.4-54.9C187.9 6.8 221.4 0 256 0s68.1 6.8 99.6 20.1C386.1 33 413.5 51.5 437 75s42 50.9 54.9 81.4C505.3 188 512 221.5 512 256s-6.8 68.1-20.1 99.6C479 386.1 460.5 413.5 437 437s-50.9 42-81.4 54.9c-31.5 13.3-65 20.1-99.6 20.1m0-496C123.7 16 16 123.7 16 256s107.7 240 240 240 240-107.7 240-240S388.3 16 256 16" style="fill:#daefff"/><path d="M356.5 166.2c22.2 0 39.5 7.6 51.7 22.9 12.4 15.1 18.5 36.6 18.5 64.3q0 41.7-18.6 64.8c-12.4 15.4-29.5 23-51.5 23-11 0-21.1-2-30.2-6-9-4.1-16.6-10.4-22.9-18.8h-1.9l-5.4 21.8h-18.4V98h25.6v58.3c0 13.1-.4 24.8-1.2 35.2h1.2c11.9-16.9 29.6-25.3 53.1-25.3m-3.7 21.4c-17.5 0-30.1 5.1-37.8 15.1s-11.5 26.9-11.5 50.6 4 40.8 11.9 51 20.6 15.2 38.1 15.2c15.8 0 27.5-5.7 35.2-17.1 7.7-11.5 11.5-28 11.5-49.6 0-22-3.9-38.4-11.5-49.2-7.8-10.5-19.8-16-35.9-16" style="fill-rule:evenodd;clip-rule:evenodd;fill:#fff"/><path d="M158.6 319.8c17.1 0 29.5-4.6 37.4-13.8 7.8-9.1 12-24.6 12.5-46.3V254c0-23.6-4-40.7-12.1-51.1-8-10.4-20.8-15.6-38.1-15.6-15 0-26.6 5.9-34.6 17.6-7.9 11.6-11.9 28.1-11.9 49.4s3.9 37.5 11.8 48.8c8 11 19.6 16.6 35 16.7m-3.8 21.3c-21.8 0-38.8-7.6-51.1-23-12.2-15.4-18.3-36.7-18.3-64.2 0-27.6 6.2-49.2 18.5-64.8s29.5-23.3 51.5-23.3c23.1 0 40.9 8.8 53.4 26.2h1.4l3.7-23.1h20.2v245h-25.6v-72.3c0-10.3.6-19 1.7-26.2h-2c-11.8 17.2-29.6 25.7-53.4 25.7" style="fill-rule:evenodd;clip-rule:evenodd;fill:#c8e8ff"/></svg>
|
||||
|
After Width: | Height: | Size: 2.0 KiB |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" viewBox="0 0 512 512"><path d="m80.3 80.8 3.9 372.4c-31.4 3.9-54.9-11.8-54.9-43.1l-3.9-309.7c0-98 90.2-121.5 145.1-82.3l278.3 160.7c39.2 27.4 47 78.4 27.4 113.7-3.9-27.4-15.7-43.1-39.2-58.8L123.4 57.2C99.9 41.6 80.3 45.5 80.3 80.8m-23.5 392c23.5 7.8 47 3.9 66.6-7.8l321.5-188.2c19.6 27.4 15.7 54.9-7.8 70.6L166.5 504.2c-39.2 19.6-90.1 0-109.7-31.4" style="fill:#24292e"/><path d="M150.9 363 343 253.3 154.8 147.4z" style="fill:#ffc230"/></svg>
|
||||
|
After Width: | Height: | Size: 504 B |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" viewBox="0 0 512 512"><circle cx="256" cy="256" r="256" style="fill:#ede5f8"/><path d="M408.3 50.2 50.2 408.3C96.9 471.2 171.7 512 256 512c141.4 0 256-114.6 256-256 0-84.3-40.8-159.1-103.7-205.8" style="fill:#bea4e1"/><path d="M216.7 410c5.2.8 14.3 3.3 18.8 5.3 4.3 1.9 5.5 2.5 6.7 3.2.7.4 7.6 4.5 11.5 7.5 1.9 1.5 5.8 4.5 8.6 6.7 27.8 21.8 55.7 51.1 71.3 67.3 65.8-20.9 120-67.7 150.8-128.3-.8-5.1-1.8-11.1-2.2-13.4-3.3-18.7-8.8-36.8-14.2-54.9-3.6-13.7-7.3-26.7-10.3-36.6-4.8-15.9-9.6-31.9-15.2-47.6-.4-.9-7.6-21.2-11-31-4-11.3-8.3-22.5-12.3-33.9-8.3-22.3-16.5-44.7-25.7-66.7-.8-2.5-8.3-16.5-11.8-22.3-.8-1.4-2.5-3.4-4.1-4.9-4-3.8-17.5-10.8-29.4-16.3-2.1-.9-30-12.6-58.7-20.3-17.2-4.6-24.5-5.7-35.4-7.4-4.6-.7-9.6-1.6-11.2-1.9-7.3-1.5-16.6-.1-23.9 3.2-14.2 6.5-69.7 77-83.1 83-6.3 2.8-8.1 3.1-47.1 3l-38.5-.1C18.7 146.2 0 198.9 0 256s18.6 109.7 50.3 152.3l70.1.1c62.5 0 87.8.4 96.3 1.6" style="fill:#371f69"/><path d="M381.5 65c-.8-1.3-2.2-3.1-3.8-4.6-4-3.8-17.5-10.8-29.4-16.3-19.2-8.8-38.2-14.5-58.7-20.3-17.2-4.6-32.6-6.9-35.4-7.4-4.6-.8-9.5-1.6-11.2-1.9-1.3-.2-12.4-2.3-24 3-13.2 6-70.7 77.8-83.1 83.4-6.3 2.8-8.1 3.1-47.1 3l-38.6-.2C18.7 146.3 0 199 0 256c0 57.1 18.7 109.8 50.3 152.3L385.9 72.6c-1.4-2.6-3.4-5.9-4.4-7.6" style="fill:#553e98"/><path d="M274.6 93.7c17.4 0 31.5 14.1 31.5 31.5s-14.1 31.5-31.5 31.5-31.5-14.1-31.5-31.5 14.1-31.5 31.5-31.5m-58.9 58.6c17.4 0 31.5 14.1 31.5 31.5s-14.1 31.5-31.5 31.5-31.5-14.1-31.5-31.5 14.1-31.5 31.5-31.5" style="fill:#e6c7a7"/><path d="M334.8 151.2c17.4 0 31.5 14.1 31.5 31.5s-14.1 31.5-31.5 31.5-31.5-14.1-31.5-31.5 14-31.5 31.5-31.5m-60.2 60.7c17.4 0 31.5 14.1 31.5 31.5s-14.1 31.5-31.5 31.5-31.6-14.1-31.6-31.5 14.2-31.5 31.6-31.5" style="fill:#e1a38d"/></svg>
|
||||
|
After Width: | Height: | Size: 1.7 KiB |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" id="shoko-server_svg__Layer_1" x="0" y="0" version="1.1" viewBox="0 0 512 512"><style>.shoko-server_svg__st0{fill-rule:evenodd;clip-rule:evenodd;fill:#279ceb}</style><path d="M395.4 512H116.6C52.2 512 0 459.8 0 395.4V116.6C0 52.2 52.2 0 116.6 0h278.8C459.8 0 512 52.2 512 116.6v278.8c0 64.4-52.2 116.6-116.6 116.6" class="shoko-server_svg__st0"/><path d="M390.7 491.3H121.3c-55.5 0-100.5-45-100.5-100.5V121.3c0-55.5 45-100.5 100.5-100.5h269.5c55.5 0 100.5 45 100.5 100.5v269.5c0 55.5-45 100.5-100.6 100.5" style="fill-rule:evenodd;clip-rule:evenodd;fill:#171c28"/><path d="M244.8 89.6c-1.7.2-5 .7-7.4 1s-5.2.8-6.1 1c-1 .2-3.1.7-4.6 1-38.2 7.8-68.2 31.4-78.1 61.2-7.1 21.4-5 49.6 5 67.9 5.8 10.6 11.7 17.1 24.5 27.4 6.4 5.1 25.2 15.2 36.6 19.7 2.3.9 4.8 1.9 5.6 2.3s2.3.9 3.3 1.3c1 .3 2.3.8 2.8 1s1.8.7 2.8 1 2.3.8 2.8 1.1c1.2.5 11.2 3.7 20 6.4 28.1 8.7 44.2 18.2 49.6 29.5 4.6 9.6 4.5 22.9-.1 32.7-1.8 3.7-10.3 13.3-11.9 13.3-.3 0-1.5.6-2.7 1.4-16.3 10.9-57.5 10.6-83.1-.7-1-.4-2.6-1.2-3.7-1.6-10.4-4.6-19.9-10.3-29-17.6-5-4-5.5-4.2-7-2.3-.6.7-3 3.4-5.3 6-7.7 8.5-9.4 10.3-9.6 10.6-.1.1-2.2 2.4-4.6 5.1s-4.8 5.3-5.4 5.9-2.5 2.8-4.4 4.8c-1.8 2.1-4.1 4.6-5 5.6-2.2 2.5-1.9 3 5.5 9.1 1 .8 1.9 1.6 2 1.8 1.1 1.3 16.4 12.3 17.2 12.3.2 0 .9.4 1.7.9 1.3.9 8.2 4.7 10.8 6 1.3.6 3.4 1.6 9.6 4.3 8.5 3.7 25 8.4 35.9 10.3 7.7 1.3 9.4 1.6 14 2.1 19.7 2.1 39.1 2 56.3-.5 9.6-1.3 17.5-3.1 25.9-5.6 54.8-16.9 82.6-60.9 72.7-115-.7-3.7-2.9-12-3.8-14.3-6-15-15.5-28-27.1-36.8-1.5-1.2-2.9-2.3-3.1-2.4-.4-.5-4.6-3.3-8.5-5.6-4.4-2.7-22.9-11.8-23.9-11.8-.4 0-1-.2-1.2-.4-.3-.2-2.4-1.2-4.8-2.1s-4.8-1.9-5.4-2.1c-1.3-.6-10.9-3.7-21.8-7.1-10-3.2-23.5-7.9-28.4-10-.8-.4-3.6-1.5-6.1-2.6-17.4-7.3-25-16.4-25-29.7 0-11.6 5.8-20.1 17.4-25.7 3-1.5 3.6-1.7 7.3-2.8 13.1-3.7 33-3.9 46.6-.5 9.6 2.4 12.2 3.3 18.2 5.6 8.6 3.4 19 9.4 27.4 15.8 3.9 2.9 3 3.3 10.4-5.2.5-.6 2.1-2.4 3.6-4.1s3-3.4 3.4-3.9 1.9-2.2 3.3-3.9 3.5-4 4.6-5.3 2.8-3.1 3.7-4.1 3.5-4 5.8-6.7l4.2-4.9-2.5-2.3c-1.4-1.3-3.5-3.1-4.7-4.1s-2.5-2-2.8-2.3c-6-5.5-24.4-16-35.2-20.2-2.4-.9-4.8-1.9-5.2-2.1-.5-.3-1.3-.5-1.9-.5s-1.1-.2-1.3-.5-.8-.5-1.3-.5c-.6 0-1.4-.2-1.9-.5-1-.6-5.1-1.6-13.2-3.4-9.3-2.1-10-2.2-23.3-3.8-5.1-.6-35.7-.5-40.1.1" class="shoko-server_svg__st0"/></svg>
|
||||
|
After Width: | Height: | Size: 2.2 KiB |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" viewBox="0 0 512 512"><path d="M511.8 256c0 70.4-24.9 130.8-74.6 181.1-1.7 2-3.5 3.8-5.5 5.4-8.2 8-16.8 15.3-26 21.8Q341.05 512 256.3 512c-56.6 0-106.3-15.9-149.2-47.7-11.3-8-22-17.1-31.9-27.3C36.5 398.7 12.8 354 4 303.2c-1.7-9.9-2.9-20-3.4-30.2-.2-5.7-.4-11.3-.4-17 0-6 .1-11.7.4-17.1 0-.6.2-1.1.5-1.7 3.7-62.8 28.4-117 74.1-162.8C125.5 24.8 185.8 0 256.2 0c70.7 0 131 24.8 180.9 74.5q74.7 75.9 74.7 181.5" style="fill-rule:evenodd;clip-rule:evenodd;fill:#eee"/><path d="m459.7 100.3-52.9 52.9c-30.9 30.9-33.6 57.8-33.6 105.3 0 42.3 6.7 81.1 38.2 112.6 23 23 44.9 44.7 44.9 44.7-5.9 7.2-12.3 14.3-19.1 21.2-1.7 2-3.5 3.8-5.5 5.4-6 5.9-12.2 11.4-18.6 16.4l-41.4-41.4C334.9 380.6 305.6 377 257 377c-46.7 0-78.4 4.3-112.6 38.5-20.4 20.4-43.8 43.9-43.8 43.9-8.9-6.8-17.3-14.2-25.3-22.4-6.6-6.6-12.8-13.4-18.5-20.3 0 0 23.1-23.2 45.2-45.3 32.7-32.7 38-70.6 38-113 0-41.3-6.8-79.8-36.8-109.9C82.2 127.7 53.3 99 53.3 99c6.7-8.5 14-16.7 21.8-24.5 6.9-6.8 14-13.1 21.2-19l48 48c30.7 30.7 70 38.6 112.4 38.6 43.6 0 82.8-8.4 114.7-40.4C391 82.1 417 56.3 417 56.3c6.8 5.6 13.5 11.6 20.1 18.2 8.3 8.3 15.8 16.9 22.6 25.8" style="fill-rule:evenodd;clip-rule:evenodd;fill:#3a3f51"/><path d="M186 269.1c-.5-2.8-.8-5.5-.9-8.4-.1-1.6-.1-3.1-.1-4.7 0-1.7 0-3.2.1-4.7 0-.2 0-.3.1-.5 1-17.4 7.9-32.4 20.5-45.1 13.9-13.8 30.6-20.7 50.2-20.7s36.3 6.9 50.2 20.7c13.8 14 20.7 30.8 20.7 50.3s-6.9 36.2-20.7 50.2c-.5.5-1 1.1-1.5 1.5q-3.45 3.3-7.2 6-18 13.2-41.4 13.2c-23.4 0-29.4-4.4-41.3-13.2-3.1-2.2-6.1-4.7-8.9-7.6-10.8-10.6-17.3-22.9-19.8-37m189.2-125.6-1.8-1.8 66.4-64.6-1.4-1.4-66.4 64.6.7.7-.7-.7-1.8-1.8-40 40.6 5 5zm-238.3 2.1 40.6 40.5 5-5-40.6-40.5-1.8 1.8-66.5-66.3-1.4 1.4 66.5 66.3zm234.9 223.9-42.6-42.4-5 5 42.6 42.4 1.8-1.8 65.4 67.7 1.4-1.4-65.4-67.7zm-233.3 2.1 1.8 1.7-64.4 64.5 1.4 1.4 64.4-64.5 1.8 1.7 39.5-41.1-5-4.8z" style="fill-rule:evenodd;clip-rule:evenodd;fill:#0cf"/></svg>
|
||||
|
After Width: | Height: | Size: 1.9 KiB |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" viewBox="0 0 512 512"><path d="M435.2 512H76.8C34.4 512 0 477.6 0 435.2V76.8C0 34.4 34.4 0 76.8 0h358.3C477.6 0 512 34.4 512 76.8v358.3c0 42.5-34.4 76.9-76.8 76.9" style="fill:#fff"/><path d="m25.6 260.5 16.5-1.5c1 5.5 3 9.6 6.1 12.2s7.2 3.9 12.4 3.9c5.5 0 9.6-1.2 12.4-3.5 2.8-2.4 4.2-5 4.2-8.1 0-2-.6-3.7-1.7-5.1-1.2-1.4-3.2-2.6-6.1-3.6-2-.8-6.5-2-13.6-3.8-9.1-2.2-15.5-5.1-19.2-8.4q-7.8-7.05-7.8-17.1c0-4.3 1.2-8.4 3.7-12.1 2.4-3.8 6-6.6 10.6-8.6 4.6-1.9 10.1-2.9 16.6-2.9 10.6 0 18.5 2.3 23.9 7s8.1 11 8.4 18.8l-17.1.6c-.8-4.3-2.3-7.4-4.7-9.3s-6-2.9-10.7-2.9c-4.9 0-8.8 1-11.6 3.1-1.8 1.3-2.7 3-2.7 5.2 0 2 .8 3.7 2.5 5.1 2.1 1.9 7.4 3.7 15.6 5.7 8.3 2 14.4 4 18.3 6.1q6 3.15 9.3 8.7c2.2 3.6 3.4 8.2 3.4 13.5 0 4.8-1.4 9.4-4 13.6-2.7 4.2-6.5 7.4-11.4 9.5-4.9 2-11 3.1-18.4 3.1q-16.05 0-24.6-7.5c-5.8-5-9.2-12.2-10.3-21.7m66.5-33.8h17.1l14.6 43.6 14.3-43.6h16.7l-21.5 59-3.9 10.8c-1.4 3.6-2.8 6.3-4 8.2-1.3 1.9-2.8 3.5-4.4 4.6-1.7 1.1-3.8 2.1-6.1 2.7-2.5.7-5.2 1-8.3 1s-6.2-.4-9.2-1l-1.3-12.8c2.5.5 4.8.8 6.8.8 3.7 0 6.5-1.1 8.3-3.3 1.8-2.3 3.2-5.1 4.1-8.5zm119 61.4H195v-31.3c0-6.6-.3-10.8-1-12.8-.7-1.9-1.8-3.5-3.4-4.5-1.6-1.1-3.5-1.6-5.7-1.6-2.8 0-5.4.8-7.6 2.3-2.3 1.5-3.8 3.6-4.6 6.1-.8 2.6-1.2 7.2-1.2 14.1v27.7h-16.1v-61.4h14.9v9c5.4-6.8 12.1-10.2 20.2-10.2 3.6 0 6.9.7 9.9 1.9 3 1.3 5.2 2.9 6.7 5 1.5 2 2.6 4.3 3.2 6.8s.9 6.2.9 10.9zm.1-31.3c0-5.4 1.3-10.6 4-15.7 2.7-5 6.4-8.9 11.3-11.6s10.3-4 16.3-4q13.95 0 22.8 9c8.85 9 8.9 13.7 8.9 22.9q0 13.95-9 23.1c-9 9.15-13.5 9.2-22.6 9.2-5.6 0-11-1.3-16.1-3.8s-9-6.3-11.6-11.2c-2.7-4.9-4-10.9-4-17.9m16.5.8c0 6.1 1.4 10.8 4.4 14 2.9 3.3 6.5 4.9 10.7 4.9 4.3 0 7.8-1.6 10.7-4.9 2.9-3.2 4.3-7.9 4.3-14.1 0-6.1-1.4-10.7-4.3-13.9s-6.5-4.9-10.7-4.9c-4.3 0-7.8 1.7-10.7 4.9s-4.4 7.9-4.4 14" style="fill:#b5b6b6"/><path d="M294.4 195.2v79.3c0 3.8.3 6.3.8 7.5.6 1.3 1.4 2.2 2.5 2.8s3.3 1 6.3 1v2.4h-29.3v-2.4q4.05 0 5.7-.9c1-.6 1.8-1.5 2.3-2.8.6-1.3.8-3.8.8-7.5v-54.1c0-6.8-.1-11-.4-12.5-.3-1.6-.8-2.6-1.4-3.2-.7-.6-1.5-.9-2.5-.9-1.1 0-2.5.4-4.2 1.1l-1.1-2.3 17.6-7.3h2.9zm38.7 31.3c9.1 0 16.4 3.4 21.9 10.3 4.7 5.9 7 12.6 7 20.2 0 5.4-1.3 10.8-3.8 16.2-2.6 5.5-6.1 9.6-10.6 12.4s-9.5 4.2-15.1 4.2c-9.1 0-16.2-3.6-21.5-10.8-4.5-6-6.7-12.8-6.7-20.4 0-5.5 1.4-10.9 4.1-16.3 2.8-5.5 6.3-9.4 10.8-12.1 4.2-2.4 8.9-3.7 13.9-3.7m-2 4.4c-2.3 0-4.6.6-7 2-2.3 1.4-4.2 3.7-5.7 7.1-1.4 3.5-2.2 7.9-2.2 13.2 0 8.7 1.8 16.1 5.2 22.5 3.5 6.2 8 9.4 13.7 9.4 4.3 0 7.7-1.8 10.4-5.2 2.8-3.5 4.1-9.4 4.1-17.9 0-10.6-2.3-18.9-6.9-25-2.9-4.1-6.8-6.1-11.6-6.1m44 35.3c-3.6-1.9-6.4-4.3-8.4-7.5-1.9-3.2-2.9-6.7-2.9-10.6 0-5.9 2.2-11 6.6-15.2 4.5-4.3 10.2-6.4 17.1-6.4 5.7 0 10.6 1.3 14.8 4.1h12.6c1.9 0 3 .1 3.3.2q.45.15.6.6c.2.4.4 1.1.4 2.1 0 1.1-.1 2-.3 2.4-.1.2-.4.4-.7.5s-1.4.2-3.3.2h-7.8c2.5 3.1 3.7 7.2 3.7 12.1 0 5.6-2.2 10.3-6.4 14.3q-6.45 6-17.1 6c-3 0-6-.4-9.1-1.4-1.8 1.7-3.1 3.1-3.7 4.4-.7 1.3-1 2.3-1 3.1s.4 1.5 1.1 2.2 2.1 1.2 4.2 1.5c1.2.2 4.3.4 9.1.5 8.9.3 14.7.6 17.4 1.1 4 .6 7.3 2.1 9.7 4.5s3.6 5.4 3.6 8.9c0 4.8-2.3 9.5-6.9 13.7-6.7 6.3-15.6 9.4-26.4 9.4-8.4 0-15.4-1.8-21.2-5.6-3.3-2.2-4.9-4.4-4.9-6.8 0-1 .2-2.1.7-3.1.7-1.6 2.2-3.8 4.5-6.7.3-.4 2.5-2.7 6.5-7-2.2-1.4-3.8-2.6-4.7-3.7s-1.4-2.3-1.4-3.6q0-2.25 1.8-5.4c1.2-2.2 4-5.1 8.5-8.8m-.6 21.9c-2 2.2-3.5 4.2-4.5 6.2-1 1.8-1.5 3.6-1.5 5.2 0 2.1 1.2 3.9 3.8 5.5 4.4 2.7 10.6 4 18.8 4 7.8 0 13.5-1.4 17.3-4.1 3.7-2.7 5.6-5.6 5.6-8.7q0-3.3-3.3-4.8c-2.3-1-6.7-1.5-13.5-1.7-9.9-.3-17.4-.9-22.7-1.6m11.9-58.3c-3.2 0-5.9 1.3-8 3.9-2.2 2.5-3.2 6.4-3.2 11.7 0 6.8 1.5 12.1 4.4 15.9 2.3 2.8 5.1 4.3 8.5 4.3 3.3 0 6-1.3 8.1-3.7 2.1-2.5 3.2-6.3 3.2-11.5 0-6.9-1.5-12.3-4.4-16.1-2.3-3-5.1-4.5-8.6-4.5m34.7-1.5h28v2.4h-1.4c-2 0-3.4.5-4.4 1.3-1 .9-1.4 1.9-1.4 3.2 0 1.7.7 4.1 2.2 7.1l14.6 30.3 13.3-33.1c.7-1.8 1.1-3.6 1.1-5.4 0-.8-.2-1.3-.5-1.7-.4-.5-.9-.9-1.6-1.1-.7-.3-2-.5-3.9-.5v-2.4h19.3v2.4c-1.6.2-2.9.5-3.7 1.1-.9.5-1.8 1.5-2.9 2.9-.4.6-1.2 2.3-2.2 5l-24.2 59.6c-2.4 5.8-5.5 10.2-9.3 13.1-3.8 3-7.5 4.4-11.1 4.4-2.6 0-4.7-.7-6.4-2.2s-2.5-3.1-2.5-5.1c0-1.8.6-3.2 1.8-4.4s2.9-1.7 5-1.7c1.4 0 3.4.5 5.9 1.4 1.7.6 2.9 1 3.3 1 1.3 0 2.7-.7 4.3-2 1.5-1.3 3.1-3.9 4.7-7.8l4.2-10.4-21.5-45c-.7-1.4-1.7-3-3.1-5-1.1-1.5-2-2.5-2.7-3.1q-1.5-1.05-4.8-1.8z"/></svg>
|
||||
|
After Width: | Height: | Size: 4.1 KiB |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" viewBox="0 0 512 512"><path d="M35 46.7h441.5c16.8 0 30.2 13.5 30.2 30.2v356.6c0 16.8-13.5 30.2-30.2 30.2H35c-16.8 0-30.2-13.5-30.2-30.2V77C4.7 60.2 18.2 46.7 35 46.7" style="fill:#3f3f45"/><path d="M35.2 42.5C15.8 42.5 0 58.3 0 77.7v356.6c0 19.4 15.8 35.2 35.2 35.2h441.5c19.4 0 35.2-15.8 35.2-35.2V77.7c0-19.4-15.8-35.2-35.2-35.2zm0 10h441.5c14.1 0 25.2 11.2 25.2 25.2v266H10v-266c0-14.1 11.2-25.2 25.2-25.2M10 353.7h492v80.6c0 14.1-11.2 25.2-25.2 25.2H35.2c-14.1 0-25.2-11.2-25.2-25.2z" style="fill:#090909"/><path d="M49 418.9V408l27.1-10.7L49 386.7v-10.9l38.9 16.8v9.3zm41.9 22v-7H136v7z" style="fill:#e4e4e4"/><path d="M65.2 72.9c-4.3 0-7.8 3.5-7.8 7.8V125c0 4.3 3.5 7.8 7.8 7.8h364c4.3 0 7.8-3.5 7.8-7.8V80.7c0-4.3-3.5-7.8-7.8-7.8zm-1 70.8h260.3c3.8 0 6.8 3.1 6.8 6.8v37.4c0 3.8-3.1 6.8-6.8 6.8H64.2c-3.8 0-6.8-3.1-6.8-6.8v-37.4c-.1-3.8 3-6.8 6.8-6.8m-2.6 61.9h349.5c2.4 0 4.3 1.9 4.3 4.3v23.5c0 2.4-1.9 4.3-4.3 4.3H61.6c-2.4 0-4.3-1.9-4.3-4.3v-23.5c0-2.4 2-4.3 4.3-4.3m0 42.8H374c2.4 0 4.3 1.9 4.3 4.3v23.5c0 2.4-1.9 4.3-4.3 4.3H61.6c-2.4 0-4.3-1.9-4.3-4.3v-23.5c0-2.3 2-4.3 4.3-4.3m0 42.9H219c2.4 0 4.3 1.9 4.3 4.3v23.5c0 2.4-1.9 4.3-4.3 4.3H61.6c-2.4 0-4.3-1.9-4.3-4.3v-23.5c0-2.4 2-4.3 4.3-4.3" style="fill:#0f0"/><path d="M114.8 87.8h-17l-9.7 37.9H77.6l9.7-37.9H70.5l2-7.8h44.3zm35.1 37.8h-22.2c-3.4 0-6.5-.8-9.3-2.3-3-1.7-4.9-4.4-5.8-8.1-.8-3.7-.7-7.8.4-12.2s3-8.4 5.7-11.9c2.9-3.9 6.3-6.7 10.1-8.5 2.1-1 4.1-1.6 5.9-2s3.9-.6 6.1-.6h20.6l-2.1 8.1h-19c-1.7 0-3.2.2-4.5.7-1.2.4-2.6 1.2-4 2.4s-2.5 2.3-3.2 3.5c-.7 1.1-1.3 2.5-1.7 4.1h30l-2.1 8.1H125c-.4 1.5-.5 2.8-.4 3.9s.5 2.2 1.2 3.4 1.6 2.1 2.5 2.7c1 .6 2.2.9 3.7.9h20zm53.4 0h-12.8l-7.2-17.8h-12.2l-4.6 17.8h-10.9L167.1 80h33.4c3.8 0 6.5 1.5 8.2 4.4s2.1 6.4 1.1 10.4c-.8 3.2-2.6 5.9-5.3 8.1s-5.7 3.6-9.1 4.2zm-6.6-31.3c.5-2.1.2-3.8-1.2-4.9-1.3-1.2-3.2-1.8-5.9-1.8H176l-3.3 12.8h14c2 0 4-.5 5.8-1.4 2.3-1.1 3.7-2.7 4.2-4.7m66.1 31.3H253l8.9-34.9-21.9 34.9h-11.7L224.1 90l-9.1 35.6h-9.5L217.2 80h15.2l4.1 36.1L258.6 80h15.8zm18.8 0h-12.2L281.1 80h12.2zm56.1 0h-13.3l-7.8-15.2-14.7 15.4h-13.6l23.6-22.7-11.5-23h13.7l6.5 15.2 15-15.2H349l-23.4 22.8z" style="fill:#26262b"/></svg>
|
||||
|
After Width: | Height: | Size: 2.1 KiB |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" viewBox="0 0 622 622"><linearGradient id="uptime-kuma_svg__a" x1="-82.4" x2="121.67" y1="753.919" y2="949.259" gradientTransform="translate(320.001 -488)" gradientUnits="userSpaceOnUse"><stop offset="0" style="stop-color:#5cdd8b"/><stop offset="1" style="stop-color:#86e6a9"/></linearGradient><path d="M481.4 226.6c53.7 122.7 53.7 199.7 0 230.9-80.5 46.7-290.4 61-350.9-10.9-40.3-47.9-40.3-121.2 0-220 41-67.5 99.2-101.2 174.6-101.2 75.5 0 134.3 33.8 176.3 101.2z" style="fill:url(#uptime-kuma_svg__a);stroke:#f2f2f2;stroke-width:200;stroke-opacity:.51"/></svg>
|
||||
|
After Width: | Height: | Size: 622 B |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" viewBox="0 0 512 512"><path d="m508.4 249.7-21.6-13c-.2-2.3-.4-4.6-.7-6.9l18.7-17c1.9-1.7 2.8-4.3 2.3-6.8s-2.3-4.6-4.7-5.5l-23.7-8.5c-.6-2.2-1.3-4.4-2-6.6l15-20.3c1.5-2.1 1.9-4.8.9-7.2s-3.1-4.1-5.7-4.4l-25-3.7c-1.1-2-2.1-4-3.3-6l10.8-22.9c1.1-2.3.9-5.1-.5-7.2s-3.9-3.4-6.4-3.2l-25.3 1.2c-1.4-1.8-2.8-3.5-4.3-5.2l6.2-24.6c.6-2.5-.1-5.1-1.9-6.9s-4.5-2.6-6.9-1.9l-24.6 6.2c-1.7-1.5-3.5-2.9-5.2-4.3l1.2-25.3c.1-2.6-1.1-5-3.2-6.4s-4.9-1.6-7.2-.5l-22.9 10.8-6-3.3-3.7-25c-.4-2.5-2.1-4.7-4.4-5.7-2.4-1-5.1-.7-7.2.9l-20.3 15c-2.2-.7-4.4-1.4-6.6-2l-8.5-23.7c-.9-2.4-2.9-4.2-5.5-4.7-2.5-.5-5.1.4-6.8 2.3l-17 18.7c-2.3-.3-4.6-.5-6.9-.7l-13-21.6C260.9 1.3 258.6 0 256 0s-5 1.3-6.3 3.6l-13 21.6c-2.3.2-4.6.4-6.9.7l-17-18.7c-1.7-1.9-4.3-2.8-6.8-2.3s-4.6 2.3-5.5 4.7L192 33.3c-2.2.6-4.4 1.3-6.6 2l-20.3-15c-2.1-1.5-4.8-1.9-7.2-.9s-4.1 3.1-4.4 5.7l-3.7 25c-2 1.1-4 2.1-6 3.3L121 42.6c-2.3-1.1-5.1-.9-7.2.5s-3.4 3.9-3.2 6.4l1.2 25.3c-1.8 1.4-3.5 2.8-5.2 4.3L82 72.9c-2.5-.6-5.1.1-6.9 1.9s-2.5 4.5-1.9 6.9l6.2 24.6c-1.5 1.7-2.9 3.5-4.3 5.2l-25.3-1.2c-2.6-.1-5 1.1-6.4 3.2s-1.6 4.9-.5 7.2l10.8 22.9-3.3 6-25 3.7c-2.5.4-4.7 2.1-5.7 4.4-1 2.4-.6 5.1.9 7.2l15 20.3c-.7 2.2-1.4 4.4-2 6.6l-23.7 8.5c-2.4.9-4.2 2.9-4.7 5.5-.5 2.5.4 5.1 2.3 6.8l18.7 17c-.3 2.3-.5 4.6-.7 6.9l-21.6 13C1.3 251.1 0 253.4 0 256s1.3 4.9 3.6 6.3l21.6 13c.2 2.3.4 4.6.7 6.9l-18.7 17c-1.9 1.7-2.8 4.3-2.3 6.8s2.3 4.6 4.7 5.5l23.7 8.5c.6 2.2 1.3 4.4 2 6.6l-15 20.3c-1.5 2.1-1.9 4.8-.9 7.2s3.1 4.1 5.7 4.4l25 3.7c1.1 2 2.1 4 3.3 6L42.6 391c-1.1 2.3-.9 5.1.5 7.2 1.4 2 3.6 3.3 6.1 3.3h.4l25.3-1.2c1.4 1.8 2.8 3.5 4.3 5.2L73 430.1c-.6 2.5.1 5.1 1.9 6.9 1.4 1.4 3.3 2.1 5.2 2.1.6 0 1.2-.1 1.8-.2l24.6-6.2c1.7 1.5 3.5 2.9 5.2 4.3l-1.2 25.3c-.1 2.6 1.1 5 3.2 6.4 1.2.8 2.6 1.2 4.1 1.2 1.1 0 2.1-.2 3.1-.7l22.9-10.8 6 3.3 3.7 25c.4 2.5 2.1 4.7 4.4 5.7.9.4 1.9.6 2.8.6 1.5 0 3.1-.5 4.4-1.4l20.3-15c2.2.7 4.4 1.4 6.6 2l8.5 23.7c.9 2.4 2.9 4.2 5.5 4.7.5.1 1 .1 1.4.1 2 0 4-.9 5.4-2.4l17-18.7c2.3.3 4.6.5 6.9.7l13 21.6c1.3 2.2 3.7 3.6 6.3 3.6s4.9-1.3 6.3-3.6l13-21.6c2.3-.2 4.6-.4 6.9-.7l17 18.7c1.4 1.5 3.4 2.4 5.4 2.4.5 0 1 0 1.4-.1 2.5-.5 4.6-2.3 5.5-4.7l8.5-23.7c2.2-.6 4.4-1.3 6.6-2l20.3 15c1.3.9 2.8 1.4 4.4 1.4.9 0 1.9-.2 2.8-.6 2.4-1 4.1-3.1 4.4-5.7l3.7-25c2-1.1 4-2.1 6-3.3l22.9 10.8c1 .5 2.1.7 3.1.7 1.4 0 2.8-.4 4.1-1.2 2.1-1.4 3.4-3.9 3.2-6.4l-1.2-25.3c1.8-1.4 3.5-2.8 5.2-4.3l24.6 6.2c.6.1 1.2.2 1.8.2 1.9 0 3.8-.8 5.2-2.1 1.8-1.8 2.5-4.5 1.9-6.9l-6.2-24.6c1.5-1.7 2.9-3.5 4.3-5.2l25.3 1.2h.4c2.4 0 4.7-1.2 6.1-3.3s1.6-4.9.5-7.2l-10.8-22.9 3.3-6 25-3.7c2.5-.4 4.7-2.1 5.7-4.4 1-2.4.6-5.1-.9-7.2l-15-20.3c.7-2.2 1.4-4.4 2-6.6l23.7-8.5c2.4-.9 4.2-2.9 4.7-5.5.5-2.5-.4-5.1-2.3-6.8l-18.7-17c.3-2.3.5-4.6.7-6.9l21.6-13c2.2-1.3 3.6-3.7 3.6-6.3 0-2.5-1.3-4.8-3.6-6.2m-64.7 6.3c0 49.9-19.6 95.3-51.4 129l-33.7-5.3c-8-1.3-15.5 4.2-16.7 12.2l-5.4 33.8c-13 6.2-26.8 10.9-41.3 14L402.6 139c6.8 8.5 12.9 17.6 18.2 27.3l-15.5 30.5c-3.7 7.2-.8 16 6.4 19.7l30.5 15.5q1.5 11.7 1.5 24M175.5 425.6l-5.4-33.8c-1.3-8-8.8-13.4-16.7-12.2l-33.7 5.3c-31.9-33.7-51.4-79.1-51.4-129 0-8.2.5-16.2 1.6-24.2l30.5-15.5c7.2-3.7 10.1-12.5 6.4-19.7L91.3 166c5.3-9.6 11.4-18.7 18.2-27.3l107.4 300.7c-14.6-2.9-28.4-7.6-41.4-13.8m45.9-354.1 24.2 24.2c2.7 2.7 6.5 4.3 10.3 4.3 3.9 0 7.6-1.5 10.3-4.3l24.2-24.2c20.6 3.8 40 11.1 57.7 21.1l-79.8 226.9c-4.8 13.1-8.9 25.7-12.4 37.5-3.5-12-7.7-24.9-12.5-38.4L164.2 92.3c17.5-9.9 36.8-17 57.2-20.8"/></svg>
|
||||
|
After Width: | Height: | Size: 3.3 KiB |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" viewBox="0 0 512 512"><path d="M171.4 27.5c-48.2.7-97.2 12.4-128.6 6.7-2.4-.4-3.8 2.4-2.1 4.1 26.5 25.3 36.5 50.7 66 54.2l.9.2c-13.6 14-25.2 32.4-33.4 56.1-8.8 25.4-11.3 52.9-14.2 84.8-4.4 47.4-9.3 101-36.1 168.3C13.3 428.5 5.3 456.2 0 484.5h40.8c4.7-23.2 11.5-46 20.2-68 28.9-72.6 34.3-131.8 38.7-179.4 2.7-29.2 5-54.5 12.2-75.3 21-60.3 70.9-73.6 109.9-66 37.8 7.3 75 36.9 73 79.2-1.4 28.8-14 41.7-23.2 51.2-5 5.2-9.8 10.1-12.1 17.1-5.5 16.5.2 35 15.3 49.6 40 37.3 61.8 107.5 60.6 191.7h39.9c1.1-95.3-25.1-176.1-72.9-220.7-3.8-3.6-4.8-6.5-5.7-6 2.2-2.8 5.8-6 8.3-8.7 52.9-39.2 140-3.4 192.6 17.4 13.6 5.4 20.3-7.8 7.3-15.5-45.2-26.7-137.7-97.2-189.6-143.4-7.2-6.4-12.2-14-20.6-21.1-27.9-49.5-75.2-59.8-123.3-59.1M234.8 136c-1.2.1-2.4.2-3.6.4-14.8 2.8-24.5 17.1-21.8 31.9 1.9 10 9.2 18.2 19.1 21.1 14.3 4.7 29.7-3.1 34.4-17.4s-3.1-29.7-17.4-34.4c-3.4-1.3-7.1-1.8-10.7-1.6m-79.7 264.8c-.7 0-1.4.2-2 .7-1.9 1.4-3.5 5.5-1.4 10.3 9.7 22.3 16.4 45.8 22.6 72.7h40.5c-10.2-29.9-29.3-61.3-50.1-79.1-3.7-3.2-7.2-4.7-9.6-4.6" style="fill:#439746"/></svg>
|
||||
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 15 KiB |
@@ -1,3 +1,4 @@
|
||||
import { BrowserRouter, Routes, Route } from 'react-router-dom'
|
||||
import { Header } from './components/Header'
|
||||
import { ProxmoxWidget } from './components/widgets/ProxmoxWidget'
|
||||
import { NasWidget } from './components/widgets/NasWidget'
|
||||
@@ -17,49 +18,60 @@ import { LokiWidget } from './components/widgets/LokiWidget'
|
||||
import { JellyfinWidget } from './components/widgets/JellyfinWidget'
|
||||
import { NavidromeWidget } from './components/widgets/NavidromeWidget'
|
||||
import { RommWidget } from './components/widgets/RommWidget'
|
||||
import { AppsPage } from './pages/AppsPage'
|
||||
|
||||
export default function App() {
|
||||
function DashboardPage() {
|
||||
return (
|
||||
<>
|
||||
<div className="blob blob-1" />
|
||||
<div className="blob blob-2" />
|
||||
<div className="shell">
|
||||
<Header />
|
||||
<div className="section-label">Infrastructure</div>
|
||||
<div className="infra-grid">
|
||||
<ProxmoxWidget />
|
||||
<NasWidget />
|
||||
<AdGuardWidget />
|
||||
<HeadscaleWidget />
|
||||
<FritzboxWidget />
|
||||
</div>
|
||||
|
||||
<div className="section-label">Infrastructure</div>
|
||||
<div className="infra-grid">
|
||||
<ProxmoxWidget />
|
||||
<NasWidget />
|
||||
<AdGuardWidget />
|
||||
<HeadscaleWidget />
|
||||
<FritzboxWidget />
|
||||
</div>
|
||||
<div className="section-label">Media</div>
|
||||
<div className="infra-grid">
|
||||
<JellyfinWidget />
|
||||
<NavidromeWidget />
|
||||
<RommWidget />
|
||||
<ArrCalendarWidget />
|
||||
<ArrStatsWidget />
|
||||
<QbittorrentWidget />
|
||||
</div>
|
||||
|
||||
<div className="section-label">Media</div>
|
||||
<div className="infra-grid">
|
||||
<JellyfinWidget />
|
||||
<NavidromeWidget />
|
||||
<RommWidget />
|
||||
<ArrCalendarWidget />
|
||||
<ArrStatsWidget />
|
||||
<QbittorrentWidget />
|
||||
</div>
|
||||
<div className="section-label">Monitoring</div>
|
||||
<div className="infra-grid">
|
||||
<KumaWidget />
|
||||
<CrowdSecWidget />
|
||||
<GrafanaWidget />
|
||||
<PrometheusWidget />
|
||||
<LokiWidget />
|
||||
</div>
|
||||
|
||||
<div className="section-label">Monitoring</div>
|
||||
<div className="infra-grid">
|
||||
<KumaWidget />
|
||||
<CrowdSecWidget />
|
||||
<GrafanaWidget />
|
||||
<PrometheusWidget />
|
||||
<LokiWidget />
|
||||
</div>
|
||||
|
||||
<div className="section-label">Access</div>
|
||||
<div className="infra-grid">
|
||||
<AuthentikWidget />
|
||||
<VaultwardenWidget />
|
||||
</div>
|
||||
<div className="section-label">Access</div>
|
||||
<div className="infra-grid">
|
||||
<AuthentikWidget />
|
||||
<VaultwardenWidget />
|
||||
</div>
|
||||
</>
|
||||
)
|
||||
}
|
||||
|
||||
export default function App() {
|
||||
return (
|
||||
<BrowserRouter>
|
||||
<div className="blob blob-1" />
|
||||
<div className="blob blob-2" />
|
||||
<div className="shell">
|
||||
<Header />
|
||||
<Routes>
|
||||
<Route path="/" element={<DashboardPage />} />
|
||||
<Route path="/apps" element={<AppsPage />} />
|
||||
</Routes>
|
||||
</div>
|
||||
</BrowserRouter>
|
||||
)
|
||||
}
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
import { useState } from 'react'
|
||||
import { appGroups } from '../config/apps'
|
||||
|
||||
function AppTile({ name, url, icon }: { name: string; url: string; icon: string }) {
|
||||
const [imgError, setImgError] = useState(false)
|
||||
|
||||
return (
|
||||
<a href={url} target="_blank" rel="noopener noreferrer" className="app-tile">
|
||||
{!imgError ? (
|
||||
<img
|
||||
src={icon}
|
||||
alt={name}
|
||||
className="app-icon"
|
||||
onError={() => setImgError(true)}
|
||||
/>
|
||||
) : (
|
||||
<div className="app-icon-fallback" style={{ display: 'flex' }}>
|
||||
{name.charAt(0).toUpperCase()}
|
||||
</div>
|
||||
)}
|
||||
<span className="app-name">{name}</span>
|
||||
</a>
|
||||
)
|
||||
}
|
||||
|
||||
export function AppsSection() {
|
||||
return (
|
||||
<>
|
||||
{appGroups.map(group => (
|
||||
<div key={group.name} className="app-group">
|
||||
<div className="app-group-label">{group.name}</div>
|
||||
<div className="app-grid">
|
||||
{group.apps.map(app => (
|
||||
<AppTile key={app.name} {...app} />
|
||||
))}
|
||||
</div>
|
||||
</div>
|
||||
))}
|
||||
</>
|
||||
)
|
||||
}
|
||||
@@ -1,4 +1,5 @@
|
||||
import { useState, useEffect } from 'react'
|
||||
import { NavLink } from 'react-router-dom'
|
||||
|
||||
export function Header() {
|
||||
const [time, setTime] = useState('')
|
||||
@@ -18,13 +19,17 @@ export function Header() {
|
||||
return (
|
||||
<header>
|
||||
<div className="logo">
|
||||
<div className="logo-mark">S</div>
|
||||
<img src="/icons/favicon.png" alt="logo" className="logo-mark" />
|
||||
<div>
|
||||
<div className="logo-text">syco.me</div>
|
||||
<div className="logo-sub">homelab dashboard</div>
|
||||
</div>
|
||||
</div>
|
||||
<div className="topbar-right">
|
||||
<nav className="nav-tabs">
|
||||
<NavLink to="/" end className={({ isActive }) => `nav-tab${isActive ? ' nav-tab-active' : ''}`}>Dashboard</NavLink>
|
||||
<NavLink to="/apps" className={({ isActive }) => `nav-tab${isActive ? ' nav-tab-active' : ''}`}>Apps</NavLink>
|
||||
</nav>
|
||||
<div className="clock-widget">
|
||||
<div className="clock-time">{time}</div>
|
||||
<div className="clock-date">{date}</div>
|
||||
|
||||
@@ -0,0 +1,72 @@
|
||||
const ICONS = '/icons'
|
||||
|
||||
export interface AppLink {
|
||||
name: string
|
||||
url: string
|
||||
icon: string
|
||||
}
|
||||
|
||||
export interface AppGroup {
|
||||
name: string
|
||||
apps: AppLink[]
|
||||
}
|
||||
|
||||
export const appGroups: AppGroup[] = [
|
||||
{
|
||||
name: 'Infrastructure',
|
||||
apps: [
|
||||
{ name: 'Proxmox', url: 'https://proxmox.syco.me', icon: `${ICONS}/proxmox.svg` },
|
||||
{ name: 'Synology NAS', url: 'https://nas.syco.me', icon: `${ICONS}/synology.svg` },
|
||||
{ name: 'AdGuard Home', url: 'https://adguard.syco.me', icon: `${ICONS}/adguard-home.svg` },
|
||||
{ name: 'Headscale', url: 'https://headscale.syco.me/admin', icon: `${ICONS}/headscale.svg` },
|
||||
{ name: 'FritzBox', url: 'http://fritz.box', icon: `${ICONS}/Fritz!_Logo.svg.png` },
|
||||
{ name: 'Portainer', url: 'https://portainer.syco.me', icon: `${ICONS}/portainer.svg` },
|
||||
{ name: 'CrowdSec', url: 'https://crowdsec.syco.me', icon: `${ICONS}/crowdsec.svg` },
|
||||
],
|
||||
},
|
||||
{
|
||||
name: 'Auth & Access',
|
||||
apps: [
|
||||
{ name: 'Authentik', url: 'https://auth.syco.me', icon: `${ICONS}/authentik.svg` },
|
||||
{ name: 'Vaultwarden', url: 'https://vaultwarden.syco.me', icon: `${ICONS}/vaultwarden.svg` },
|
||||
{ name: 'Termix', url: 'https://termix.syco.me', icon: `${ICONS}/termix.svg` },
|
||||
],
|
||||
},
|
||||
{
|
||||
name: 'Media',
|
||||
apps: [
|
||||
{ name: 'Jellyfin', url: 'https://jellyfin.syco.me', icon: `${ICONS}/jellyfin.svg` },
|
||||
{ name: 'Navidrome', url: 'https://music.syco.me', icon: `${ICONS}/navidrome.svg` },
|
||||
{ name: 'Overseerr', url: 'https://overseerr.syco.me', icon: `${ICONS}/overseerr.svg` },
|
||||
{ name: 'Radarr', url: 'https://radarr.syco.me', icon: `${ICONS}/radarr.svg` },
|
||||
{ name: 'Sonarr', url: 'https://sonarr.syco.me', icon: `${ICONS}/sonarr.svg` },
|
||||
{ name: 'Lidarr', url: 'https://lidarr.syco.me', icon: `${ICONS}/lidarr.svg` },
|
||||
{ name: 'Prowlarr', url: 'https://prowlarr.syco.me', icon: `${ICONS}/prowlarr.svg` },
|
||||
{ name: 'Bazarr', url: 'https://bazarr.syco.me', icon: `${ICONS}/bazarr.svg` },
|
||||
{ name: 'qBittorrent', url: 'https://bittorrent.syco.me', icon: `${ICONS}/qbittorrent.svg` },
|
||||
{ name: 'RomM', url: 'https://romm.syco.me', icon: `${ICONS}/romm.svg` },
|
||||
{ name: 'Shoko', url: 'http://shoko.internal', icon: `${ICONS}/shoko-server.svg` },
|
||||
],
|
||||
},
|
||||
{
|
||||
name: 'Monitoring',
|
||||
apps: [
|
||||
{ name: 'Grafana', url: 'https://grafana.syco.me', icon: `${ICONS}/grafana.svg` },
|
||||
{ name: 'Uptime Kuma', url: 'https://uptime.syco.me', icon: `${ICONS}/uptime-kuma.svg` },
|
||||
{ name: 'Update Dashboard', url: 'https://update-dashboard.syco.me', icon: `${ICONS}/linux-update-dashboard.svg` },
|
||||
],
|
||||
},
|
||||
{
|
||||
name: 'Dev & Tools',
|
||||
apps: [
|
||||
{ name: 'Gitea', url: 'https://git.syco.me', icon: `${ICONS}/gitea.svg` },
|
||||
{ name: 'Woodpecker', url: 'https://woodpecker.syco.me', icon: `${ICONS}/woodpecker-ci.svg` },
|
||||
{ name: 'DbGate', url: 'https://dbgate.syco.me', icon: `${ICONS}/dbgate.png` },
|
||||
{ name: 'IT-Tools', url: 'https://it-tools.syco.me', icon: `${ICONS}/it-tools.svg` },
|
||||
{ name: 'Docsight', url: 'http://docsight.internal', icon: `${ICONS}/docsight-light.svg` },
|
||||
{ name: 'Firefly III', url: 'https://firefly.syco.me', icon: `${ICONS}/firefly-iii.svg` },
|
||||
{ name: 'Copyparty', url: 'https://copyparty.syco.me', icon: `${ICONS}/copyparty.svg` },
|
||||
{ name: 'Yu-Gi-Oh', url: 'https://yugioh.syco.me', icon: `${ICONS}/yugiohCard.jpg` },
|
||||
],
|
||||
},
|
||||
]
|
||||
@@ -63,10 +63,8 @@ header {
|
||||
.logo { display: flex; align-items: center; gap: 10px; }
|
||||
.logo-mark {
|
||||
width: 32px; height: 32px;
|
||||
background: linear-gradient(135deg, var(--accent), var(--accent2));
|
||||
border-radius: 8px;
|
||||
display: flex; align-items: center; justify-content: center;
|
||||
font-size: 14px; font-weight: 800; letter-spacing: -1px; color: #fff;
|
||||
object-fit: contain;
|
||||
}
|
||||
.logo-text { font-size: 18px; font-weight: 700; letter-spacing: -0.5px; }
|
||||
.logo-sub { font-family: 'JetBrains Mono', monospace; font-size: 11px; color: var(--muted); }
|
||||
@@ -226,6 +224,94 @@ header {
|
||||
.topbar-right { gap: 12px; }
|
||||
}
|
||||
|
||||
/* ── Nav tabs ── */
|
||||
.nav-tabs {
|
||||
display: flex;
|
||||
gap: 4px;
|
||||
background: var(--surface);
|
||||
border: 1px solid var(--border);
|
||||
border-radius: 8px;
|
||||
padding: 3px;
|
||||
}
|
||||
.nav-tab {
|
||||
font-family: 'JetBrains Mono', monospace;
|
||||
font-size: 11px;
|
||||
font-weight: 500;
|
||||
padding: 5px 14px;
|
||||
border-radius: 6px;
|
||||
text-decoration: none;
|
||||
color: var(--text2);
|
||||
transition: background 0.15s, color 0.15s;
|
||||
}
|
||||
.nav-tab:hover { color: var(--text); }
|
||||
.nav-tab-active { background: var(--surface2); color: var(--text); }
|
||||
|
||||
/* ── Apps Section ── */
|
||||
.app-group { margin-bottom: 28px; }
|
||||
|
||||
.app-group-label {
|
||||
font-family: 'JetBrains Mono', monospace;
|
||||
font-size: 10px; font-weight: 500;
|
||||
letter-spacing: 2px; text-transform: uppercase;
|
||||
color: var(--muted);
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
|
||||
.app-grid {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.app-tile {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
padding: 14px 12px;
|
||||
width: 90px;
|
||||
background: var(--surface);
|
||||
border: 1px solid var(--border);
|
||||
border-radius: var(--radius);
|
||||
text-decoration: none;
|
||||
color: var(--text2);
|
||||
font-size: 11px;
|
||||
text-align: center;
|
||||
transition: border-color 0.2s, transform 0.2s, color 0.2s;
|
||||
cursor: pointer;
|
||||
}
|
||||
.app-tile:hover {
|
||||
border-color: var(--accent);
|
||||
transform: translateY(-2px);
|
||||
color: var(--text);
|
||||
}
|
||||
|
||||
.app-icon {
|
||||
width: 36px;
|
||||
height: 36px;
|
||||
object-fit: contain;
|
||||
}
|
||||
|
||||
.app-icon-fallback {
|
||||
width: 36px;
|
||||
height: 36px;
|
||||
border-radius: 8px;
|
||||
background: var(--surface2);
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 16px;
|
||||
font-weight: 700;
|
||||
color: var(--accent);
|
||||
}
|
||||
|
||||
.app-name {
|
||||
font-family: 'JetBrains Mono', monospace;
|
||||
font-size: 10px;
|
||||
color: inherit;
|
||||
line-height: 1.3;
|
||||
word-break: break-word;
|
||||
}
|
||||
|
||||
/* ── Scrollbar ── */
|
||||
::-webkit-scrollbar { width: 6px; height: 6px; }
|
||||
::-webkit-scrollbar-track { background: transparent; }
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
import { AppsSection } from '../components/AppsSection'
|
||||
|
||||
export function AppsPage() {
|
||||
return (
|
||||
<div className="shell">
|
||||
<div className="section-label">Apps</div>
|
||||
<AppsSection />
|
||||
</div>
|
||||
)
|
||||
}
|
||||