Initial curated DockDeck source from 26772208f608782e88c736dc70878e7b5abd3916

This commit is contained in:
Public Source Publisher committed 2026-10-01 01:44:08 +02:00
commit 3c61fba98f
146 files changed
+45229

No files matched your search

Binary file not shown.

After

Width:  |  Height:  |  Size: 98 KiB

+21
View File
@@ -0,0 +1,21 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" role="img" aria-labelledby="title">
<title id="title">DockDeck</title>
<defs>
<linearGradient id="shell" x1="64" y1="42" x2="448" y2="470" gradientUnits="userSpaceOnUse">
<stop stop-color="#243732"/>
<stop offset="1" stop-color="#111b19"/>
</linearGradient>
<linearGradient id="deck" x1="142" y1="134" x2="370" y2="372" gradientUnits="userSpaceOnUse">
<stop stop-color="#ff8b6e"/>
<stop offset="1" stop-color="#d9563d"/>
</linearGradient>
</defs>
<rect x="20" y="20" width="472" height="472" rx="122" fill="url(#shell)"/>
<rect x="42" y="42" width="428" height="428" rx="103" fill="none" stroke="#fff" stroke-opacity=".08" stroke-width="4"/>
<path d="M126 151c0-20 16-36 36-36h103c80 0 145 65 145 145v3c0 74-60 134-134 134H162c-20 0-36-16-36-36V151Z" fill="#f5f4ed"/>
<path d="M187 181h78c44 0 80 36 80 80s-36 80-80 80h-78V181Z" fill="url(#deck)"/>
<rect x="213" y="214" width="82" height="14" rx="7" fill="#fff" fill-opacity=".9"/>
<rect x="213" y="249" width="59" height="14" rx="7" fill="#fff" fill-opacity=".72"/>
<rect x="213" y="284" width="71" height="14" rx="7" fill="#fff" fill-opacity=".55"/>
<circle cx="378" cy="135" r="26" fill="#8bd5b5" stroke="#17221f" stroke-width="10"/>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

+6
View File
@@ -0,0 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" role="img" aria-labelledby="title">
<title id="title">DockDeck beeldmerk voor donkere achtergrond</title>
<path d="M9 7h13.5C33 7 41 15 41 25.5S33 44 22.5 44H9V7Z" fill="none" stroke="#818cf8" stroke-width="3.5" stroke-linejoin="round"/>
<path d="M7.5 27.5h33M11 27.5l9-11 18 11M20 17v17" fill="none" stroke="#818cf8" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M8 36c4-2.5 8-2.5 12 0s8 2.5 12 0 6-2.5 9-1" fill="none" stroke="#818cf8" stroke-width="3" stroke-linecap="round"/>
</svg>

After

Width:  |  Height:  |  Size: 584 B

+6
View File
@@ -0,0 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" role="img" aria-labelledby="title">
<title id="title">DockDeck beeldmerk voor lichte achtergrond</title>
<path d="M9 7h13.5C33 7 41 15 41 25.5S33 44 22.5 44H9V7Z" fill="none" stroke="#4f56cf" stroke-width="3.5" stroke-linejoin="round"/>
<path d="M7.5 27.5h33M11 27.5l9-11 18 11M20 17v17" fill="none" stroke="#4f56cf" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M8 36c4-2.5 8-2.5 12 0s8 2.5 12 0 6-2.5 9-1" fill="none" stroke="#4f56cf" stroke-width="3" stroke-linecap="round"/>
</svg>

After

Width:  |  Height:  |  Size: 583 B

+6
View File
@@ -0,0 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" role="img" aria-labelledby="title">
<title id="title">DockDeck monochroom beeldmerk</title>
<path d="M9 7h13.5C33 7 41 15 41 25.5S33 44 22.5 44H9V7Z" fill="none" stroke="currentColor" stroke-width="3.5" stroke-linejoin="round"/>
<path d="M7.5 27.5h33M11 27.5l9-11 18 11M20 17v17" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M8 36c4-2.5 8-2.5 12 0s8 2.5 12 0 6-2.5 9-1" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round"/>
</svg>

After

Width:  |  Height:  |  Size: 585 B

+8
View File
@@ -0,0 +1,8 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" role="img" aria-labelledby="title desc">
<title id="title">DockDeck</title>
<desc id="desc">Een geometrische D met een aanlegkanaal en twee gestapelde dekken.</desc>
<path fill="#36558f" d="M8 7h22c16.6 0 27 9.6 27 25S46.6 57 30 57H8V43h13V21H8V7Zm25 14v22c6.5-.8 10-4.4 10-11s-3.5-10.2-10-11Z"/>
<path fill="#12bff3" d="m18 28 10-6v18l-10 6-10-6V28l10 6 10-6Z"/>
<path fill="#17d7b0" d="m18 46 13-7 13 7-13 7-13-7Zm13-3-5.5 3 5.5 3 5.5-3-5.5-3Z"/>
<path fill="#12bff3" d="m31 52 13-7v7l-13 7-13-7v-7l13 7Z"/>
</svg>

After

Width:  |  Height:  |  Size: 589 B

+7
View File
@@ -0,0 +1,7 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" role="img" aria-labelledby="title">
<title id="title">DockDeck</title>
<rect width="48" height="48" rx="12" fill="#818cf8"/>
<path d="M13 13h9.5C30 13 36 19 36 26.5S30 40 22.5 40H13V13Z" fill="none" stroke="#0b1326" stroke-width="3.4" stroke-linejoin="round"/>
<path d="M11.5 28.5h25M15 28.5l7-8 13 8M21 21v13" fill="none" stroke="#0b1326" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M12 35c3-2 6-2 9 0s6 2 9 0 5-2 7-.8" fill="none" stroke="#0b1326" stroke-width="2.8" stroke-linecap="round"/>
</svg>

After

Width:  |  Height:  |  Size: 602 B

+9
View File
@@ -0,0 +1,9 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 236 48" role="img" aria-labelledby="title">
<title id="title">DockDeck woordmerk</title>
<g transform="translate(0)">
<path d="M9 7h13.5C33 7 41 15 41 25.5S33 44 22.5 44H9V7Z" fill="none" stroke="#818cf8" stroke-width="3.5" stroke-linejoin="round"/>
<path d="M7.5 27.5h33M11 27.5l9-11 18 11M20 17v17" fill="none" stroke="#818cf8" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M8 36c4-2.5 8-2.5 12 0s8 2.5 12 0 6-2.5 9-1" fill="none" stroke="#818cf8" stroke-width="3" stroke-linecap="round"/>
</g>
<text x="57" y="32" fill="#eef0ff" font-family="Geist, Inter, system-ui, sans-serif" font-size="26" font-weight="650" letter-spacing="-1">DockDeck</text>
</svg>

After

Width:  |  Height:  |  Size: 760 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 MiB

+9
View File
@@ -0,0 +1,9 @@
<svg xmlns="http://www.w3.org/2000/svg"
width="904" height="198" viewBox="0 0 904 198"
role="img" aria-labelledby="title desc">
<title id="title">ITWorx.tech logo</title>
<desc id="desc">Cyan cloud, green checkmark, navy ITWorx wordmark and cyan dot-tech suffix.</desc>
<image width="904" height="198"
href="data:image/png;base64,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 truncated
preserveAspectRatio="xMidYMid meet"/>
</svg>

After

Width:  |  Height:  |  Size: 113 KiB

+17
View File
@@ -0,0 +1,17 @@
{
"name": "ITWorx DockDeck",
"short_name": "ITWorx",
"description": "ITWorx.tech startpunt voor apps en favorieten.",
"start_url": "/",
"display": "standalone",
"background_color": "#0b1326",
"theme_color": "#818cf8",
"icons": [
{
"src": "/dockdeck-mark-v2.svg",
"sizes": "any",
"type": "image/svg+xml",
"purpose": "any"
}
]
}
+58
View File
@@ -0,0 +1,58 @@
/* global self, caches, fetch, URL */
const CACHE = "dockdeck-shell-v3";
const SHELL = ["/", "/manifest.webmanifest", "/dockdeck-mark-v2.svg"];
self.addEventListener("install", (event) => {
event.waitUntil(caches.open(CACHE).then((cache) => cache.addAll(SHELL)));
self.skipWaiting();
});
self.addEventListener("activate", (event) => {
event.waitUntil(
caches
.keys()
.then((keys) =>
Promise.all(
keys.filter((key) => key !== CACHE).map((key) => caches.delete(key)),
),
),
);
self.clients.claim();
});
self.addEventListener("fetch", (event) => {
const request = event.request;
const url = new URL(request.url);
if (
request.method !== "GET" ||
url.origin !== self.location.origin ||
url.pathname.startsWith("/api/")
)
return;
if (request.mode === "navigate") {
event.respondWith(
fetch(request)
.then((response) => {
const copy = response.clone();
caches.open(CACHE).then((cache) => cache.put("/", copy));
return response;
})
.catch(() => caches.match("/")),
);
return;
}
event.respondWith(
caches.match(request).then(
(cached) =>
cached ||
fetch(request).then((response) => {
if (response.ok)
caches
.open(CACHE)
.then((cache) => cache.put(request, response.clone()));
return response;
}),
),
);
});