summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorjoonhoekim <26rote@gmail.com>2025-11-03 17:21:09 +0900
committerjoonhoekim <26rote@gmail.com>2025-11-03 17:21:09 +0900
commitdf5a6201bdf8ff9edfc6429b918cf2fd2b245684 (patch)
tree2564a861f69b8803a29db7786bcf1113557ddd0f /lib
parent6653a4bdf9ac9d12037ac62cfe8c8d31d60cadd3 (diff)
(김준회) Revert: 로그인 영상 관련 커밋 revert 처리
Diffstat (limited to 'lib')
-rw-r--r--lib/service-worker/register.ts118
1 files changed, 0 insertions, 118 deletions
diff --git a/lib/service-worker/register.ts b/lib/service-worker/register.ts
deleted file mode 100644
index 8babf788..00000000
--- a/lib/service-worker/register.ts
+++ /dev/null
@@ -1,118 +0,0 @@
-/**
- * Service Worker 등록 유틸리티
- *
- * 클라이언트 측에서 Service Worker를 등록하고
- * 캐시 상태를 확인할 수 있는 헬퍼 함수들
- */
-
-export interface CacheStatus {
- total: number;
- cached: number;
- urls: Array<{ url: string; cached: boolean }>;
-}
-
-/**
- * Service Worker 등록
- */
-export async function registerServiceWorker(): Promise<ServiceWorkerRegistration | null> {
- if (typeof window === 'undefined' || !('serviceWorker' in navigator)) {
- console.log('Service Worker not supported (supports https or localhost only)');
- return null;
- }
-
- try {
- const registration = await navigator.serviceWorker.register('/service-worker.js', {
- scope: '/',
- });
-
- console.log('Service Worker registered:', registration);
-
- // 업데이트 확인
- registration.addEventListener('updatefound', () => {
- const newWorker = registration.installing;
- console.log('Service Worker update found');
-
- newWorker?.addEventListener('statechange', () => {
- if (newWorker.state === 'installed' && navigator.serviceWorker.controller) {
- console.log('New Service Worker available. Refresh to update.');
- // 필요시 사용자에게 알림 표시 가능
- }
- });
- });
-
- return registration;
- } catch (error) {
- console.error('Service Worker registration failed:', error);
- return null;
- }
-}
-
-/**
- * Service Worker 캐시 상태 확인
- */
-export async function getCacheStatus(): Promise<CacheStatus | null> {
- if (typeof window === 'undefined' || !navigator.serviceWorker.controller) {
- return null;
- }
-
- return new Promise((resolve) => {
- const messageChannel = new MessageChannel();
-
- messageChannel.port1.onmessage = (event) => {
- resolve(event.data);
- };
-
- navigator.serviceWorker.controller.postMessage(
- { type: 'GET_CACHE_STATUS' },
- [messageChannel.port2]
- );
-
- // 타임아웃 설정 (3초)
- setTimeout(() => resolve(null), 3000);
- });
-}
-
-/**
- * Service Worker 캐시 삭제
- */
-export async function clearCache(): Promise<boolean> {
- if (typeof window === 'undefined' || !navigator.serviceWorker.controller) {
- return false;
- }
-
- return new Promise((resolve) => {
- const messageChannel = new MessageChannel();
-
- messageChannel.port1.onmessage = (event) => {
- resolve(event.data.success);
- };
-
- navigator.serviceWorker.controller.postMessage(
- { type: 'CLEAR_CACHE' },
- [messageChannel.port2]
- );
-
- setTimeout(() => resolve(false), 3000);
- });
-}
-
-/**
- * Service Worker 등록 해제
- */
-export async function unregisterServiceWorker(): Promise<boolean> {
- if (typeof window === 'undefined' || !('serviceWorker' in navigator)) {
- return false;
- }
-
- try {
- const registrations = await navigator.serviceWorker.getRegistrations();
- for (const registration of registrations) {
- await registration.unregister();
- }
- return true;
- } catch (error) {
- console.error('Service Worker unregistration failed:', error);
- return false;
- }
-}
-