-
Notifications
You must be signed in to change notification settings - Fork 4
Open
Labels
featurenew featurenew feature
Description
설명
D-Day가 1일 이하로 남은 Todo 항목에 대해 Chrome 알림을 보내는 기능
작업 내용
Service Worker 설정
-
manifest.json에backgroundservice worker 설정 추가 -
public/background.js생성 (또는src/background.ts) - 필요한 권한 추가:
notifications,alarms,storage
알림 로직 구현
-
chrome.alarmsAPI로 주기적 체크 (예: 1시간마다) -
chrome.storage.local에서 Todo 데이터 읽기 - D-Day 1일 이하 항목 필터링
-
chrome.notificationsAPI로 알림 생성
알림 설정 UI (Settings Dialog)
- 알림 on/off 토글
- Switch 컴포넌트로 알림 활성화/비활성화
- 비활성화 시 모든 알람 삭제 (chrome.alarms.clearAll)
- 알림 주기 설정 (동적 변경 가능)
- Select/Dropdown으로 선택 (15분/30분/1시간/3시간/6시간/12시간)
- 선택값을
chrome.storage.local의notificationInterval에 저장 - Service Worker에서 저장된 주기 읽어서
chrome.alarms.create()적용 - 주기 변경 시 기존 알람 삭제 후 새 주기로 재생성
- 알림 시간대 설정 (선택적)
- 시작 시간 / 종료 시간 입력 (예: 09:00 ~ 21:00)
- 시간대 밖에는 알림 표시 안함 (체크는 하되 알림만 스킵)
- D-Day 임계값 설정
- Select/Dropdown (6시간/12시간/24시간/48시간)
- 임계값 이하의 Todo만 알림 대상으로 필터링
- 설정 저장/불러오기
- 기본값: 알림 활성화, 1시간 주기, 24시간 임계값
알림 동작
- 알림 클릭 시 확장 프로그램 열기
- 알림에 Todo 제목과 남은 시간 표시
- 여러 개의 Todo가 있을 때 그룹화
- 이미 완료된 항목은 알림 제외
저장소 관리
-
chrome.storage.local에 알림 설정 저장 - 마지막 알림 시간 저장 (중복 알림 방지)
- 알림 읽음/무시 상태 관리 (선택)
테스트 및 디버깅
- Service Worker 로그 확인
- 알림이 정상적으로 표시되는지 테스트
- 확장 프로그램 재시작 시 알림 동작 확인
기술 스택
- Chrome Extension Manifest V3
- Service Worker (
chrome.alarms,chrome.notifications) - TypeScript background script
우선순위
⭐⭐ 중상
예상 소요 시간
3-4시간
Metadata
Metadata
Assignees
Labels
featurenew featurenew feature