diff --git a/index.html b/index.html index bcfcd75..bc0087d 100644 --- a/index.html +++ b/index.html @@ -22,7 +22,7 @@ - +
diff --git a/public/favicon.svg b/public/favicon.svg index 6893eb1..17ee7d1 100644 --- a/public/favicon.svg +++ b/public/favicon.svg @@ -1 +1,16 @@ - \ No newline at end of file + diff --git a/public/images/Gemini_Generated_Image_swyu86swyu86swyu.png b/public/images/Gemini_Generated_Image_swyu86swyu86swyu.png deleted file mode 100644 index 084c64d..0000000 Binary files a/public/images/Gemini_Generated_Image_swyu86swyu86swyu.png and /dev/null differ diff --git a/public/images/brand/apple-touch-icon.png b/public/images/brand/apple-touch-icon.png new file mode 100644 index 0000000..9eab98c Binary files /dev/null and b/public/images/brand/apple-touch-icon.png differ diff --git a/public/images/brand/icon-192.png b/public/images/brand/icon-192.png new file mode 100644 index 0000000..1e2bb17 Binary files /dev/null and b/public/images/brand/icon-192.png differ diff --git a/public/images/brand/icon-512.png b/public/images/brand/icon-512.png new file mode 100644 index 0000000..9f56147 Binary files /dev/null and b/public/images/brand/icon-512.png differ diff --git a/public/images/brand/icon-maskable-512.png b/public/images/brand/icon-maskable-512.png new file mode 100644 index 0000000..d5a2a72 Binary files /dev/null and b/public/images/brand/icon-maskable-512.png differ diff --git a/public/images/brand/icon-maskable.svg b/public/images/brand/icon-maskable.svg new file mode 100644 index 0000000..b904d93 --- /dev/null +++ b/public/images/brand/icon-maskable.svg @@ -0,0 +1,16 @@ + diff --git a/public/images/dashboard/er-capacity.svg b/public/images/dashboard/er-capacity.svg new file mode 100644 index 0000000..89a81ef --- /dev/null +++ b/public/images/dashboard/er-capacity.svg @@ -0,0 +1,43 @@ + diff --git a/public/images/dashboard/ppe-check.svg b/public/images/dashboard/ppe-check.svg new file mode 100644 index 0000000..ceaccdf --- /dev/null +++ b/public/images/dashboard/ppe-check.svg @@ -0,0 +1,51 @@ + diff --git a/public/images/regions/busan.png b/public/images/regions/busan.png deleted file mode 100644 index f6ba3e3..0000000 Binary files a/public/images/regions/busan.png and /dev/null differ diff --git a/public/images/regions/busan.webp b/public/images/regions/busan.webp new file mode 100644 index 0000000..941311b Binary files /dev/null and b/public/images/regions/busan.webp differ diff --git a/public/images/regions/daegu.png b/public/images/regions/daegu.png deleted file mode 100644 index 2b9aa0e..0000000 Binary files a/public/images/regions/daegu.png and /dev/null differ diff --git a/public/images/regions/daegu.webp b/public/images/regions/daegu.webp new file mode 100644 index 0000000..3a5eee2 Binary files /dev/null and b/public/images/regions/daegu.webp differ diff --git a/public/images/regions/daejeon.png b/public/images/regions/daejeon.png deleted file mode 100644 index b454d71..0000000 Binary files a/public/images/regions/daejeon.png and /dev/null differ diff --git a/public/images/regions/daejeon.webp b/public/images/regions/daejeon.webp new file mode 100644 index 0000000..0e7f4c5 Binary files /dev/null and b/public/images/regions/daejeon.webp differ diff --git a/public/images/regions/gwangju.png b/public/images/regions/gwangju.png deleted file mode 100644 index b493bb0..0000000 Binary files a/public/images/regions/gwangju.png and /dev/null differ diff --git a/public/images/regions/gwangju.webp b/public/images/regions/gwangju.webp new file mode 100644 index 0000000..caf4c77 Binary files /dev/null and b/public/images/regions/gwangju.webp differ diff --git a/public/images/regions/incheon.png b/public/images/regions/incheon.png deleted file mode 100644 index ee11ffd..0000000 Binary files a/public/images/regions/incheon.png and /dev/null differ diff --git a/public/images/regions/incheon.webp b/public/images/regions/incheon.webp new file mode 100644 index 0000000..52899f7 Binary files /dev/null and b/public/images/regions/incheon.webp differ diff --git a/public/images/regions/jeju.png b/public/images/regions/jeju.png deleted file mode 100644 index cb03742..0000000 Binary files a/public/images/regions/jeju.png and /dev/null differ diff --git a/public/images/regions/jeju.webp b/public/images/regions/jeju.webp new file mode 100644 index 0000000..8ead053 Binary files /dev/null and b/public/images/regions/jeju.webp differ diff --git a/public/images/regions/sejong.png b/public/images/regions/sejong.png deleted file mode 100644 index e9d825f..0000000 Binary files a/public/images/regions/sejong.png and /dev/null differ diff --git a/public/images/regions/sejong.webp b/public/images/regions/sejong.webp new file mode 100644 index 0000000..de7337a Binary files /dev/null and b/public/images/regions/sejong.webp differ diff --git a/public/images/regions/seoul.png b/public/images/regions/seoul.png deleted file mode 100644 index 6aa6d40..0000000 Binary files a/public/images/regions/seoul.png and /dev/null differ diff --git a/public/images/regions/seoul.webp b/public/images/regions/seoul.webp new file mode 100644 index 0000000..2ad2794 Binary files /dev/null and b/public/images/regions/seoul.webp differ diff --git a/public/images/regions/ulsan.png b/public/images/regions/ulsan.png deleted file mode 100644 index 13b9ba1..0000000 Binary files a/public/images/regions/ulsan.png and /dev/null differ diff --git a/public/images/regions/ulsan.webp b/public/images/regions/ulsan.webp new file mode 100644 index 0000000..8d84752 Binary files /dev/null and b/public/images/regions/ulsan.webp differ diff --git a/public/images/safety_equipment.png b/public/images/safety_equipment.png deleted file mode 100644 index d1728bf..0000000 Binary files a/public/images/safety_equipment.png and /dev/null differ diff --git a/public/images/tools/Gemini_Generated_Image_1eyesc1eyesc1eye.png b/public/images/tools/Gemini_Generated_Image_1eyesc1eyesc1eye.png deleted file mode 100644 index d08ad07..0000000 Binary files a/public/images/tools/Gemini_Generated_Image_1eyesc1eyesc1eye.png and /dev/null differ diff --git a/public/images/tools/Gemini_Generated_Image_5cq1b5cq1b5cq1b5.png b/public/images/tools/Gemini_Generated_Image_5cq1b5cq1b5cq1b5.png deleted file mode 100644 index 7a5280f..0000000 Binary files a/public/images/tools/Gemini_Generated_Image_5cq1b5cq1b5cq1b5.png and /dev/null differ diff --git a/public/images/tools/Gemini_Generated_Image_5n8rd95n8rd95n8r.png b/public/images/tools/Gemini_Generated_Image_5n8rd95n8rd95n8r.png deleted file mode 100644 index 3e4edce..0000000 Binary files a/public/images/tools/Gemini_Generated_Image_5n8rd95n8rd95n8r.png and /dev/null differ diff --git a/public/images/tools/bg_building.png b/public/images/tools/bg_building.png deleted file mode 100644 index e48391d..0000000 Binary files a/public/images/tools/bg_building.png and /dev/null differ diff --git a/public/images/tools/bg_building.webp b/public/images/tools/bg_building.webp new file mode 100644 index 0000000..34489f3 Binary files /dev/null and b/public/images/tools/bg_building.webp differ diff --git a/public/images/tools/bg_checklist.png b/public/images/tools/bg_checklist.png deleted file mode 100644 index 1994713..0000000 Binary files a/public/images/tools/bg_checklist.png and /dev/null differ diff --git a/public/images/tools/bg_er.png b/public/images/tools/bg_er.png deleted file mode 100644 index 249ee8e..0000000 Binary files a/public/images/tools/bg_er.png and /dev/null differ diff --git a/public/images/tools/bg_er.webp b/public/images/tools/bg_er.webp new file mode 100644 index 0000000..1617eb4 Binary files /dev/null and b/public/images/tools/bg_er.webp differ diff --git a/public/images/tools/bg_hazmat.png b/public/images/tools/bg_hazmat.png deleted file mode 100644 index 671653f..0000000 Binary files a/public/images/tools/bg_hazmat.png and /dev/null differ diff --git a/public/images/tools/bg_shelter.png b/public/images/tools/bg_shelter.png deleted file mode 100644 index c739e91..0000000 Binary files a/public/images/tools/bg_shelter.png and /dev/null differ diff --git a/public/images/tools/bg_shelter.webp b/public/images/tools/bg_shelter.webp new file mode 100644 index 0000000..3e62d0a Binary files /dev/null and b/public/images/tools/bg_shelter.webp differ diff --git a/public/images/tools/bg_timer.png b/public/images/tools/bg_timer.png deleted file mode 100644 index b3e100f..0000000 Binary files a/public/images/tools/bg_timer.png and /dev/null differ diff --git a/public/images/tools/bg_timer.webp b/public/images/tools/bg_timer.webp new file mode 100644 index 0000000..b6f7f47 Binary files /dev/null and b/public/images/tools/bg_timer.webp differ diff --git a/public/images/tools/bg_water.png b/public/images/tools/bg_water.png deleted file mode 100644 index 28b0781..0000000 Binary files a/public/images/tools/bg_water.png and /dev/null differ diff --git a/public/images/tools/bg_wildfire.png b/public/images/tools/bg_wildfire.png deleted file mode 100644 index 06334af..0000000 Binary files a/public/images/tools/bg_wildfire.png and /dev/null differ diff --git a/public/images/tools/bg_wildfire.webp b/public/images/tools/bg_wildfire.webp new file mode 100644 index 0000000..c0167cb Binary files /dev/null and b/public/images/tools/bg_wildfire.webp differ diff --git a/public/images/tools/diagram_air_tank.svg b/public/images/tools/diagram_air_tank.svg new file mode 100644 index 0000000..5a81ed2 --- /dev/null +++ b/public/images/tools/diagram_air_tank.svg @@ -0,0 +1,35 @@ + diff --git a/public/images/tools/diagram_aviation.svg b/public/images/tools/diagram_aviation.svg new file mode 100644 index 0000000..48508fa --- /dev/null +++ b/public/images/tools/diagram_aviation.svg @@ -0,0 +1,33 @@ + diff --git a/public/images/tools/diagram_hazmat_wind.svg b/public/images/tools/diagram_hazmat_wind.svg new file mode 100644 index 0000000..2da95a6 --- /dev/null +++ b/public/images/tools/diagram_hazmat_wind.svg @@ -0,0 +1,30 @@ + diff --git a/public/images/tools/diagram_hose_deployment.svg b/public/images/tools/diagram_hose_deployment.svg new file mode 100644 index 0000000..d2e458b --- /dev/null +++ b/public/images/tools/diagram_hose_deployment.svg @@ -0,0 +1,35 @@ + diff --git a/public/images/tools/diagram_incident.svg b/public/images/tools/diagram_incident.svg new file mode 100644 index 0000000..1e62b9b --- /dev/null +++ b/public/images/tools/diagram_incident.svg @@ -0,0 +1,28 @@ + diff --git a/public/images/tools/diagram_law_defense.svg b/public/images/tools/diagram_law_defense.svg new file mode 100644 index 0000000..b1e75e0 --- /dev/null +++ b/public/images/tools/diagram_law_defense.svg @@ -0,0 +1,33 @@ + diff --git a/public/images/tools/diagram_water_pressure.svg b/public/images/tools/diagram_water_pressure.svg new file mode 100644 index 0000000..cac0362 --- /dev/null +++ b/public/images/tools/diagram_water_pressure.svg @@ -0,0 +1,43 @@ + diff --git a/public/images/weather/cloudy.png b/public/images/weather/cloudy.png deleted file mode 100644 index 9b422cf..0000000 Binary files a/public/images/weather/cloudy.png and /dev/null differ diff --git a/public/images/weather/cloudy.webp b/public/images/weather/cloudy.webp new file mode 100644 index 0000000..f0a7dd8 Binary files /dev/null and b/public/images/weather/cloudy.webp differ diff --git a/public/images/weather/dust.png b/public/images/weather/dust.png deleted file mode 100644 index eedc02f..0000000 Binary files a/public/images/weather/dust.png and /dev/null differ diff --git a/public/images/weather/dust.webp b/public/images/weather/dust.webp new file mode 100644 index 0000000..061be27 Binary files /dev/null and b/public/images/weather/dust.webp differ diff --git a/public/images/weather/rain.png b/public/images/weather/rain.png deleted file mode 100644 index b83e38d..0000000 Binary files a/public/images/weather/rain.png and /dev/null differ diff --git a/public/images/weather/rain.webp b/public/images/weather/rain.webp new file mode 100644 index 0000000..0096b04 Binary files /dev/null and b/public/images/weather/rain.webp differ diff --git a/public/images/weather/shower.png b/public/images/weather/shower.png deleted file mode 100644 index cd387ff..0000000 Binary files a/public/images/weather/shower.png and /dev/null differ diff --git a/public/images/weather/shower.webp b/public/images/weather/shower.webp new file mode 100644 index 0000000..243e5fe Binary files /dev/null and b/public/images/weather/shower.webp differ diff --git a/public/images/weather/snow.png b/public/images/weather/snow.png deleted file mode 100644 index 6b173cb..0000000 Binary files a/public/images/weather/snow.png and /dev/null differ diff --git a/public/images/weather/snow.webp b/public/images/weather/snow.webp new file mode 100644 index 0000000..e88efba Binary files /dev/null and b/public/images/weather/snow.webp differ diff --git a/public/images/weather/sunny.png b/public/images/weather/sunny.png deleted file mode 100644 index 2a13274..0000000 Binary files a/public/images/weather/sunny.png and /dev/null differ diff --git a/public/images/weather/sunny.webp b/public/images/weather/sunny.webp new file mode 100644 index 0000000..f3f079a Binary files /dev/null and b/public/images/weather/sunny.webp differ diff --git a/public/images/weather/thunder.png b/public/images/weather/thunder.png deleted file mode 100644 index 3a46652..0000000 Binary files a/public/images/weather/thunder.png and /dev/null differ diff --git a/public/images/weather/thunder.webp b/public/images/weather/thunder.webp new file mode 100644 index 0000000..01bc8a0 Binary files /dev/null and b/public/images/weather/thunder.webp differ diff --git a/public/manifest.json b/public/manifest.json index 3f214b0..ac79d60 100644 --- a/public/manifest.json +++ b/public/manifest.json @@ -10,10 +10,22 @@ "lang": "ko", "icons": [ { - "src": "/favicon.svg", - "sizes": "any", - "type": "image/svg+xml", - "purpose": "any maskable" + "src": "/images/brand/icon-192.png", + "sizes": "192x192", + "type": "image/png", + "purpose": "any" + }, + { + "src": "/images/brand/icon-512.png", + "sizes": "512x512", + "type": "image/png", + "purpose": "any" + }, + { + "src": "/images/brand/icon-maskable-512.png", + "sizes": "512x512", + "type": "image/png", + "purpose": "maskable" } ], "categories": ["utilities", "productivity"], @@ -22,13 +34,13 @@ "name": "산불 현황", "short_name": "산불", "url": "/?tab=wildfire", - "icons": [{ "src": "/favicon.svg", "sizes": "any" }] + "icons": [{ "src": "/images/brand/icon-192.png", "sizes": "192x192" }] }, { "name": "응급실 현황", "short_name": "응급실", "url": "/?tab=er", - "icons": [{ "src": "/favicon.svg", "sizes": "any" }] + "icons": [{ "src": "/images/brand/icon-192.png", "sizes": "192x192" }] } ] } diff --git a/public/sw.js b/public/sw.js index a9fc0ff..2c30e9e 100644 --- a/public/sw.js +++ b/public/sw.js @@ -16,7 +16,7 @@ * 영영 갱신되지 않는다 (소화전 데이터는 매달 갱신됨). 반드시 SWR로. */ -const CACHE_VERSION = 'v4'; +const CACHE_VERSION = 'v5'; const SHELL_CACHE = `119-shell-${CACHE_VERSION}`; const ASSET_CACHE = `119-assets-${CACHE_VERSION}`; const DATA_CACHE = '119-data-v1'; // 버전 독립 — 받아둔 관할 데이터 보존 @@ -24,6 +24,25 @@ const KEEP_CACHES = [SHELL_CACHE, ASSET_CACHE, DATA_CACHE]; const DATA_CACHE_MAX_ENTRIES = 800; const DATA_CACHE_PRUNE_COUNT = 80; +function isLegacyImagePath(pathname) { + return pathname === '/images/safety_equipment.png' + || pathname === '/images/Gemini_Generated_Image_swyu86swyu86swyu.png' + || /^\/images\/regions\/[^/]+\.png$/i.test(pathname) + || /^\/images\/weather\/[^/]+\.png$/i.test(pathname) + || /^\/images\/tools\/Gemini_Generated_Image_[^/]+\.png$/i.test(pathname) + || /^\/images\/tools\/bg_(?:building|checklist|er|hazmat|shelter|timer|water|wildfire)\.png$/i.test(pathname); +} + +async function removeLegacyImagesFromDataCache() { + const cache = await caches.open(DATA_CACHE); + const requests = await cache.keys(); + await Promise.all( + requests + .filter((request) => isLegacyImagePath(new URL(request.url).pathname)) + .map((request) => cache.delete(request)) + ); +} + // 오프라인에서도 최소한 앱 셸이 뜨도록 미리 캐시할 항목 // 폰트 포함: 아이콘이 폰트 기반(Material Symbols)이라 없으면 오프라인 UI가 깨짐 const PRECACHE_URLS = [ @@ -70,6 +89,7 @@ self.addEventListener('activate', (event) => { await Promise.all( keys.filter((key) => !KEEP_CACHES.includes(key)).map((key) => caches.delete(key)) ); + await removeLegacyImagesFromDataCache(); await self.clients.claim(); })() ); diff --git a/src/assets/hero.png b/src/assets/hero.png deleted file mode 100644 index cc51a3d..0000000 Binary files a/src/assets/hero.png and /dev/null differ diff --git a/src/assets/hydrant_bg.jpg b/src/assets/hydrant_bg.jpg deleted file mode 100644 index 00d6b25..0000000 Binary files a/src/assets/hydrant_bg.jpg and /dev/null differ diff --git a/src/assets/hydrant_bg.webp b/src/assets/hydrant_bg.webp new file mode 100644 index 0000000..3490576 Binary files /dev/null and b/src/assets/hydrant_bg.webp differ diff --git a/src/assets/react.svg b/src/assets/react.svg deleted file mode 100644 index 6c87de9..0000000 --- a/src/assets/react.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/assets/vite.svg b/src/assets/vite.svg deleted file mode 100644 index 5101b67..0000000 --- a/src/assets/vite.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/src/assets/water_tower_bg.jpg b/src/assets/water_tower_bg.jpg deleted file mode 100644 index e87c6ba..0000000 Binary files a/src/assets/water_tower_bg.jpg and /dev/null differ diff --git a/src/assets/water_tower_bg.webp b/src/assets/water_tower_bg.webp new file mode 100644 index 0000000..769ec58 Binary files /dev/null and b/src/assets/water_tower_bg.webp differ diff --git a/src/components/Calculators.tsx b/src/components/Calculators.tsx index a6495a7..0723b55 100644 --- a/src/components/Calculators.tsx +++ b/src/components/Calculators.tsx @@ -35,7 +35,12 @@ function WaterPressureCalc() {층수 입력 → 필요 송수압력 자동 계산
-※ 간이 참고용 타이머입니다. 실제 철수 판단은 장비 경보, 잔압 기준, 현장 지휘 지침을 우선하세요.