Remove deprecated root-level files after Vite migration

app.js replaced by src/ modules; sw.js, manifest.json, icon.svg
moved to public/ — root copies were duplicates.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
HoneyandClaude Sonnet 4.6 committed 2026-04-26 13:04:00 +02:00
1 parent 9aded56713
commit 655cbe6893
4 files changed
-1943

No files matched your search

-1856
View File
File diff suppressed because it is too large. Load diff
-22
View File
@@ -1,22 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
<rect width="512" height="512" rx="90" fill="#07070f"/>
<rect width="512" height="512" rx="90" fill="url(#bg)"/>
<defs>
<radialGradient id="bg" cx="30%" cy="40%" r="80%">
<stop offset="0%" stop-color="#1a1a2e"/>
<stop offset="100%" stop-color="#07070f"/>
</radialGradient>
</defs>
<!-- Music note -->
<g fill="#e8a020">
<!-- Note head 1 -->
<ellipse cx="180" cy="340" rx="48" ry="36" transform="rotate(-15 180 340)"/>
<!-- Note head 2 -->
<ellipse cx="332" cy="300" rx="48" ry="36" transform="rotate(-15 332 300)"/>
<!-- Stem -->
<rect x="218" y="160" width="18" height="185" rx="9"/>
<rect x="370" y="120" width="18" height="185" rx="9"/>
<!-- Beam -->
<rect x="218" y="160" width="170" height="22" rx="11"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 855 B

-25
View File
@@ -1,25 +0,0 @@
{
"name": "NovaSonic",
"short_name": "NovaSonic",
"description": "Self-hosted music streaming PWA",
"start_url": "/",
"scope": "/",
"display": "standalone",
"orientation": "portrait-primary",
"background_color": "#07070f",
"theme_color": "#07070f",
"icons": [
{
"src": "icon.svg",
"sizes": "any",
"type": "image/svg+xml",
"purpose": "any"
},
{
"src": "icon.svg",
"sizes": "any",
"type": "image/svg+xml",
"purpose": "maskable"
}
]
}
-40
View File
@@ -1,40 +0,0 @@
const CACHE = 'ns-v37';
const PRECACHE = ['/', 'index.html', 'styles.css', 'app.js', 'manifest.json', 'icon.svg'];
const SKIP_PATHS = ['/rest/stream', '/rest/download', '/config.js'];
self.addEventListener('install', e => {
e.waitUntil(caches.open(CACHE).then(c => c.addAll(PRECACHE)));
self.skipWaiting();
});
self.addEventListener('activate', e => {
e.waitUntil(
caches.keys()
.then(keys => Promise.all(keys.filter(k => k !== CACHE).map(k => caches.delete(k))))
.then(() => self.clients.claim())
.then(() => self.clients.matchAll({ type: 'window', includeUncontrolled: true }))
.then(clients => clients.forEach(c => c.postMessage({ type: 'SW_UPDATED', version: CACHE })))
);
});
self.addEventListener('message', e => {
if (e.data?.type === 'GET_VERSION') {
e.source.postMessage({ type: 'VERSION', version: CACHE });
}
});
self.addEventListener('fetch', e => {
if (!e.request.url.startsWith(self.location.origin)) return;
if (SKIP_PATHS.some(p => e.request.url.includes(p))) return;
e.respondWith(
fetch(e.request)
.then(res => {
if (res.status === 200 && e.request.method === 'GET') {
const clone = res.clone();
caches.open(CACHE).then(c => c.put(e.request, clone));
}
return res;
})
.catch(() => caches.match(e.request).then(r => r || Response.error()))
);
});