Remove conflicting React app files to ensure Next.js deployment
This commit is contained in:
parent
26dd9bea50
commit
9a86a5a834
2 changed files with 0 additions and 129 deletions
|
|
@ -1,42 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8" />
|
|
||||||
<link rel="icon" href="%PUBLIC_URL%/favicon.ico" />
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover, user-scalable=no" />
|
|
||||||
<meta name="theme-color" content="#8b5cf6" />
|
|
||||||
<meta name="apple-mobile-web-app-capable" content="yes" />
|
|
||||||
<meta name="apple-mobile-web-app-status-bar-style" content="default" />
|
|
||||||
<meta name="apple-mobile-web-app-title" content="TCG Vault" />
|
|
||||||
<meta name="mobile-web-app-capable" content="yes" />
|
|
||||||
|
|
||||||
<!-- PWA Meta Tags -->
|
|
||||||
<meta name="application-name" content="TCG Vault" />
|
|
||||||
<meta name="msapplication-TileColor" content="#8b5cf6" />
|
|
||||||
<meta name="msapplication-config" content="%PUBLIC_URL%/browserconfig.xml" />
|
|
||||||
|
|
||||||
<!-- iOS Splash Screen -->
|
|
||||||
<link rel="apple-touch-startup-image" href="%PUBLIC_URL%/logo512.png" />
|
|
||||||
|
|
||||||
<meta name="description" content="Mobile-first PWA for managing your trading card game collections, decks, and scanning cards with AI-powered OCR" />
|
|
||||||
<link rel="apple-touch-icon" href="%PUBLIC_URL%/logo192.png" />
|
|
||||||
<link rel="manifest" href="%PUBLIC_URL%/manifest.json" />
|
|
||||||
<title>TCG Vault</title>
|
|
||||||
|
|
||||||
<style>
|
|
||||||
/* Prevent flash of unstyled content */
|
|
||||||
html {
|
|
||||||
background-color: #ffffff;
|
|
||||||
}
|
|
||||||
@media (prefers-color-scheme: dark) {
|
|
||||||
html {
|
|
||||||
background-color: #0f172a;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<noscript>You need to enable JavaScript to run this app.</noscript>
|
|
||||||
<div id="root"></div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
87
public/sw.js
87
public/sw.js
|
|
@ -1,87 +0,0 @@
|
||||||
const CACHE_NAME = 'tcg-vault-v1';
|
|
||||||
const urlsToCache = [
|
|
||||||
'/',
|
|
||||||
'/static/js/bundle.js',
|
|
||||||
'/static/css/main.css',
|
|
||||||
'/manifest.json',
|
|
||||||
'/favicon.ico',
|
|
||||||
'/logo192.png',
|
|
||||||
'/logo512.png'
|
|
||||||
];
|
|
||||||
|
|
||||||
// Install event
|
|
||||||
self.addEventListener('install', (event) => {
|
|
||||||
event.waitUntil(
|
|
||||||
caches.open(CACHE_NAME)
|
|
||||||
.then((cache) => cache.addAll(urlsToCache))
|
|
||||||
.catch((error) => {
|
|
||||||
console.error('Failed to cache resources:', error);
|
|
||||||
})
|
|
||||||
);
|
|
||||||
});
|
|
||||||
|
|
||||||
// Fetch event
|
|
||||||
self.addEventListener('fetch', (event) => {
|
|
||||||
event.respondWith(
|
|
||||||
caches.match(event.request)
|
|
||||||
.then((response) => {
|
|
||||||
// Return cached version or fetch from network
|
|
||||||
return response || fetch(event.request);
|
|
||||||
})
|
|
||||||
.catch((error) => {
|
|
||||||
console.error('Fetch failed:', error);
|
|
||||||
// Return offline page if available
|
|
||||||
return caches.match('/');
|
|
||||||
})
|
|
||||||
);
|
|
||||||
});
|
|
||||||
|
|
||||||
// Activate event
|
|
||||||
self.addEventListener('activate', (event) => {
|
|
||||||
event.waitUntil(
|
|
||||||
caches.keys().then((cacheNames) => {
|
|
||||||
return Promise.all(
|
|
||||||
cacheNames.map((cacheName) => {
|
|
||||||
if (cacheName !== CACHE_NAME) {
|
|
||||||
return caches.delete(cacheName);
|
|
||||||
}
|
|
||||||
})
|
|
||||||
);
|
|
||||||
})
|
|
||||||
);
|
|
||||||
});
|
|
||||||
|
|
||||||
// Background sync for offline actions
|
|
||||||
self.addEventListener('sync', (event) => {
|
|
||||||
if (event.tag === 'background-sync') {
|
|
||||||
event.waitUntil(
|
|
||||||
// Handle offline actions when back online
|
|
||||||
console.log('Background sync triggered')
|
|
||||||
);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
// Push notifications (for future use)
|
|
||||||
self.addEventListener('push', (event) => {
|
|
||||||
if (event.data) {
|
|
||||||
const data = event.data.json();
|
|
||||||
const options = {
|
|
||||||
body: data.body,
|
|
||||||
icon: '/logo192.png',
|
|
||||||
badge: '/favicon.ico',
|
|
||||||
vibrate: [200, 100, 200]
|
|
||||||
};
|
|
||||||
|
|
||||||
event.waitUntil(
|
|
||||||
self.registration.showNotification(data.title, options)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
// Notification click
|
|
||||||
self.addEventListener('notificationclick', (event) => {
|
|
||||||
event.notification.close();
|
|
||||||
event.waitUntil(
|
|
||||||
clients.openWindow('/')
|
|
||||||
);
|
|
||||||
});
|
|
||||||
Loading…
Reference in a new issue