CLIO v1.0 — Scanner Inteligente com IA (MVP)
This commit is contained in:
6
frontend/public/icon-192.svg
Normal file
6
frontend/public/icon-192.svg
Normal file
@@ -0,0 +1,6 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="192" height="192" viewBox="0 0 512 512">
|
||||
<rect width="512" height="512" rx="80" fill="#0A0E17"/>
|
||||
<rect x="20" y="20" width="472" height="472" rx="60" fill="none" stroke="#6C63FF" stroke-width="4" opacity="0.3"/>
|
||||
<text x="256" y="280" font-size="200" text-anchor="middle" dominant-baseline="middle">📜</text>
|
||||
<text x="256" y="420" font-family="Arial,sans-serif" font-size="72" font-weight="bold" fill="#6C63FF" text-anchor="middle">CLIO</text>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 506 B |
6
frontend/public/icon-512.svg
Normal file
6
frontend/public/icon-512.svg
Normal file
@@ -0,0 +1,6 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="512" height="512" viewBox="0 0 512 512">
|
||||
<rect width="512" height="512" rx="80" fill="#0A0E17"/>
|
||||
<rect x="20" y="20" width="472" height="472" rx="60" fill="none" stroke="#6C63FF" stroke-width="4" opacity="0.3"/>
|
||||
<text x="256" y="280" font-size="200" text-anchor="middle" dominant-baseline="middle">📜</text>
|
||||
<text x="256" y="420" font-family="Arial,sans-serif" font-size="72" font-weight="bold" fill="#6C63FF" text-anchor="middle">CLIO</text>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 506 B |
14
frontend/public/manifest.json
Normal file
14
frontend/public/manifest.json
Normal file
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"name": "CLIO — Scanner Inteligente com IA",
|
||||
"short_name": "CLIO",
|
||||
"description": "Escaneie documentos com IA. OCR, categorização e extração automática.",
|
||||
"start_url": "/",
|
||||
"display": "standalone",
|
||||
"background_color": "#0A0E17",
|
||||
"theme_color": "#6C63FF",
|
||||
"orientation": "portrait",
|
||||
"icons": [
|
||||
{ "src": "/icon-192.svg", "sizes": "192x192", "type": "image/svg+xml" },
|
||||
{ "src": "/icon-512.svg", "sizes": "512x512", "type": "image/svg+xml" }
|
||||
]
|
||||
}
|
||||
24
frontend/public/sw.js
Normal file
24
frontend/public/sw.js
Normal file
@@ -0,0 +1,24 @@
|
||||
const CACHE_NAME = 'clio-v1';
|
||||
const STATIC_ASSETS = ['/', '/manifest.json'];
|
||||
|
||||
self.addEventListener('install', e => {
|
||||
e.waitUntil(caches.open(CACHE_NAME).then(c => c.addAll(STATIC_ASSETS)));
|
||||
self.skipWaiting();
|
||||
});
|
||||
|
||||
self.addEventListener('activate', e => {
|
||||
e.waitUntil(caches.keys().then(keys => Promise.all(keys.filter(k => k !== CACHE_NAME).map(k => caches.delete(k)))));
|
||||
self.clients.claim();
|
||||
});
|
||||
|
||||
self.addEventListener('fetch', e => {
|
||||
if (e.request.method !== 'GET') return;
|
||||
if (e.request.url.includes('/api/')) return;
|
||||
e.respondWith(
|
||||
fetch(e.request).then(res => {
|
||||
const clone = res.clone();
|
||||
caches.open(CACHE_NAME).then(c => c.put(e.request, clone));
|
||||
return res;
|
||||
}).catch(() => caches.match(e.request))
|
||||
);
|
||||
});
|
||||
Reference in New Issue
Block a user