|
2 | 2 |
|
3 | 3 | import { useState } from 'react'; |
4 | 4 | import Card from './Card'; |
5 | | -import CheckList, { ChecklistItem } from './CheckList'; |
| 5 | +import CheckList from './CheckList'; |
| 6 | +import { Todo } from '@/lib/home/todoService'; |
6 | 7 |
|
7 | 8 | interface BottomSectionProps { |
8 | 9 | className?: string; |
| 10 | + todos: Todo[]; |
| 11 | + onToggleTodo: (id: string, currentStatus: boolean) => void; |
9 | 12 | } |
10 | 13 |
|
11 | | -const TODAY_DUMMY = [ |
12 | | - { id: 't1', text: 'React Hooks 정리', isChecked: false }, |
13 | | - { id: 't2', text: 'GSAP ScrollTrigger 복습', isChecked: true }, |
14 | | - { id: 't3', text: '알고리즘 1문제 풀기', isChecked: false }, |
15 | | -]; |
16 | | - |
17 | | -const UPCOMING_DUMMY = [ |
18 | | - { id: 'u1', text: 'Next.js App Router 정리', isChecked: false }, |
19 | | - { id: 'u2', text: '포트폴리오 리팩토링', isChecked: false }, |
20 | | -]; |
21 | | - |
22 | | -export default function BottomSection({ className }: BottomSectionProps) { |
23 | | - const [today, setToday] = useState<ChecklistItem[]>(TODAY_DUMMY); |
24 | | - const [upcoming, setUpcoming] = useState<ChecklistItem[]>(UPCOMING_DUMMY); |
25 | | - |
26 | | - const toggleToday = (id: string) => { |
27 | | - setToday((prev) => |
28 | | - prev.map((it) => |
29 | | - it.id === id ? { ...it, isChecked: !it.isChecked } : it |
30 | | - ) |
31 | | - ); |
32 | | - }; |
33 | | - |
34 | | - const toggleUpcoming = (id: string) => { |
35 | | - setUpcoming((prev) => |
36 | | - prev.map((it) => |
37 | | - it.id === id ? { ...it, isChecked: !it.isChecked } : it |
38 | | - ) |
39 | | - ); |
40 | | - }; |
| 14 | +// const TODAY_DUMMY = [ |
| 15 | +// { id: 't1', text: 'React Hooks 정리', isChecked: false }, |
| 16 | +// { id: 't2', text: 'GSAP ScrollTrigger 복습', isChecked: true }, |
| 17 | +// { id: 't3', text: '알고리즘 1문제 풀기', isChecked: false }, |
| 18 | +// ]; |
| 19 | + |
| 20 | +// const UPCOMING_DUMMY = [ |
| 21 | +// { id: 'u1', text: 'Next.js App Router 정리', isChecked: false }, |
| 22 | +// { id: 'u2', text: '포트폴리오 리팩토링', isChecked: false }, |
| 23 | +// ]; |
| 24 | + |
| 25 | +export default function BottomSection({ |
| 26 | + className, |
| 27 | + todos, |
| 28 | + onToggleTodo, |
| 29 | +}: BottomSectionProps) { |
| 30 | + // const [today, setToday] = useState<ChecklistItem[]>(TODAY_DUMMY); |
| 31 | + // const [upcoming, setUpcoming] = useState<ChecklistItem[]>(UPCOMING_DUMMY); |
| 32 | + |
| 33 | + // const toggleToday = (id: string) => { |
| 34 | + // setToday((prev) => |
| 35 | + // prev.map((it) => |
| 36 | + // it.id === id ? { ...it, isChecked: !it.isChecked } : it |
| 37 | + // ) |
| 38 | + // ); |
| 39 | + // }; |
| 40 | + |
| 41 | + // const toggleUpcoming = (id: string) => { |
| 42 | + // setUpcoming((prev) => |
| 43 | + // prev.map((it) => |
| 44 | + // it.id === id ? { ...it, isChecked: !it.isChecked } : it |
| 45 | + // ) |
| 46 | + // ); |
| 47 | + // }; |
41 | 48 |
|
42 | 49 | return ( |
43 | 50 | <div className={className}> |
44 | 51 | <Card title="오늘 할 일"> |
45 | 52 | <CheckList |
46 | | - items={today} |
47 | | - onToggle={toggleToday} |
| 53 | + items={todos} |
| 54 | + onToggleTodo={onToggleTodo} |
48 | 55 | emptyText="오늘 할 일이 없습니다" |
49 | 56 | /> |
50 | 57 | </Card> |
51 | 58 |
|
52 | | - <Card title="다가오는 일정"> |
| 59 | + {/* <Card title="다가오는 일정"> |
53 | 60 | <CheckList |
54 | 61 | items={upcoming} |
55 | 62 | onToggle={toggleUpcoming} |
56 | 63 | emptyText="다가오는 일정이 없습니다" |
57 | 64 | /> |
58 | | - </Card> |
| 65 | + </Card> */} |
59 | 66 | </div> |
60 | 67 | ); |
61 | 68 | } |
0 commit comments