Skip to content

Feat/todo#39

Merged
Turtle-Hwan merged 31 commits intomainfrom
feat/todo
Oct 10, 2025
Merged

Feat/todo#39
Turtle-Hwan merged 31 commits intomainfrom
feat/todo

Conversation

@Turtle-Hwan
Copy link
Copy Markdown
Owner

@Turtle-Hwan Turtle-Hwan commented Oct 9, 2025

#35

  • 추가로 설정 페이지에서 원하는 양식대로 복사할 수 있게 수정하는 기능

#31


주요 변경사항

1. Custom Todo 기능 확장

  • 과목명(subject), 마감시간(dueTime) 필드
    추가
  • TodoItem 컴포넌트 구현 및 정렬 기능 통합
  • CRUD 기능 구현 (추가, 수정, 삭제)
  • 날짜 포맷팅 유틸리티 추가
  • 마크다운 형식으로 Todo 내보내기 기능

2. eCampus 로그인 자격증명 관리

  • AES-GCM 암호화/복호화로 안전한 비밀번호 저장
  • Chrome Storage API 래퍼 구현
  • 저장 후 백그라운드 로그인 검증 기능
  • Toast 알림으로 사용자 피드백 개선

3. GitHub Actions 워크플로우

  • PR 빌드 자동 체크 워크플로우 추가
  • manifest 버전 기반 릴리스 자동 생성 워크플로우
    추가
  • dist.zip 자동 생성 및 첨부

4. UI/UX 개선

  • Sonner 라이브러리 기반 Toast 알림 시스템 도입
  • 색상 변수 리팩토링 및 일관성 개선
  • Settings 다이얼로그 레이아웃 및 접근성 향상
  • 아이콘 색상 커스터마이징 개선

5. 기타

  • 클립보드 복사 훅 추가
  • 마크다운 변환 로직 개선
  • 타입 정의 리팩토링

@Turtle-Hwan Turtle-Hwan requested a review from Copilot October 9, 2025 17:24
@Turtle-Hwan Turtle-Hwan self-assigned this Oct 9, 2025
@Turtle-Hwan Turtle-Hwan added the feature new feature label Oct 9, 2025
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR adds a todo list export feature that allows users to copy their todo items to the clipboard in markdown format. The implementation includes clipboard functionality using the Web Clipboard API and toast notifications for user feedback.

  • Adds markdown conversion utility for todo items
  • Implements clipboard copy hook with toast notifications
  • Integrates export button into todo list interface

Reviewed Changes

Copilot reviewed 7 out of 8 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
src/utils/todoMarkdown.ts Utility function to convert todo items to markdown checklist format
src/hooks/useClipboardCopy.ts Custom hook for clipboard operations with success/error feedback
src/components/ui/sonner.tsx Toast notification component wrapper
src/components/Tabs/TodoList/TodoExportButton.tsx Export button component with copy/check state icons
src/components/Tabs/TodoList/TodoList.tsx Integration of export button into todo list UI
src/App.tsx Addition of Toaster component to app root
package.json Added sonner dependency for toast notifications
Files not reviewed (1)
  • pnpm-lock.yaml: Language not supported

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

Comment thread src/hooks/useClipboardCopy.ts
Comment thread src/utils/todoMarkdown.ts Outdated
Comment on lines +26 to +28
const title = `${item.title}`;
const subject = `${item.subject}`;
const deadline = `${item.dueDate}`;
Copy link

Copilot AI Oct 9, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These template literals are unnecessary since the properties are already strings. You can directly use the properties: item.title, item.subject, and item.dueDate.

Suggested change
const title = `${item.title}`;
const subject = `${item.subject}`;
const deadline = `${item.dueDate}`;
const title = item.title;
const subject = item.subject;
const deadline = item.dueDate;

Copilot uses AI. Check for mistakes.
@cloudflare-workers-and-pages
Copy link
Copy Markdown

cloudflare-workers-and-pages Bot commented Oct 9, 2025

Deploying linku with  Cloudflare Pages  Cloudflare Pages

Latest commit: 794aa02
Status: ✅  Deploy successful!
Preview URL: https://94c5037a.linku-6s6.pages.dev
Branch Preview URL: https://feat-todo.linku-6s6.pages.dev

View logs

@Turtle-Hwan Turtle-Hwan merged commit 4f65a5b into main Oct 10, 2025
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature new feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants