-
Notifications
You must be signed in to change notification settings - Fork 3
๐ Fix: ๋์๋ณด๋ ํ์ด์ง ๋ด ๋ฒ๊ทธ ์์ #214
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. Weโll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
- #207 : ์นด๋ ์ปดํฌ๋ํธ ๋๊ธ ๊ฐ์ ๋ณด์ฌ์ฃผ๊ธฐ - ๋์๋ณด๋ ๋ฐ์ํ ๋์์ธ ์์ - ์นด๋ ์ด๋ฏธ์ง placeholder ์ง์ - ํ๋กํ์ด๋ฏธ์ง ๊นจ์ง, ์นด๋ ์ ๋ชฉ ๊นจ์ง ์์ - ์นด๋์ ๋๊ธ์ด ์์ ๋ ๋น๋๊ธ ์ด๋ฏธ์ง ํ์ - ์นด๋ ์ค๋ช ๊ธ ์ค๋ฐ๊ฟ ๋ฐ์ - ์นด๋ ๋ชจ๋ฌ ๋ด ์ ๋๋ฉ์ด์ ๋ค ์ถ๊ฐ
| onKeyDown={handleTagsEnterKeyDown} | ||
| /> | ||
| <Tags tags={formValues.tags} customClass='mt-[10px]' onClick={handleTagClick} /> | ||
| <Tags tags={formValues.tags} customClass='mt-[10px] flex flex-wrap' onClick={handleTagClick} /> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- ์์ ๋ชจ๋ฌ์๋ ์ฟผ๋ฆฌ ๋ฌดํจํ ์ง์ ํด๋์์ต๋๋ค!
- ํ๊ทธ ์๊ฐ ๋ง์์ง๋ฉด ๋ฐ์ผ๋ก ํ์ด๋์ค๋ ๋์์ธ ๋ฌธ์ ๋ flex-wrap ์ผ๋ก ๊ฐ์ธ ์์ ํ์ต๋๋ค.
| const { data, refetch } = useFetchData<CommentsResponse>(['comments', card.id], () => getComments(card.id)); | ||
| const [newComment, setNewComment] = useState(''); | ||
| const [errorMessage, setErrorMessage] = useState(''); | ||
| const comments = data?.comments; | ||
| const { closeModal } = useModal(); | ||
| const router = useRouter(); | ||
| const { id: dashboardId } = router.query; | ||
| const queryClient = useQueryClient(); | ||
|
|
||
| const handleModalClose = () => { | ||
| useEffect(() => { | ||
| refetch(); | ||
| }, [refetch]); | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
๋ฉํ ๋์ด ํผ๋๋ฐฑ ์ฃผ์ ๋ฆฌํจ์น ์ ์ฉํด์, ์นด๋๋ชจ๋ฌ์ ๋์ธ ๋๋ง๋ค ๋๊ธ ๋ฐ์ดํฐ๋ฅผ ๋ฐ๋ก ์ต์ ํ๋๋๋ก ํ์ต๋๋ค.
๋๊ธ ์น์
์ด์ ์๊น๋นก๊ฑฐ๋ฆฌ๋ค์!
์์ธํ ํด๊ฒฐ ๋ด์ฉ์ ์๋ ์ด์์ ์ ๋ฆฌํด๋์์ต๋๋ค!
| setErrorMessage(''); // ์ฑ๊ณต ์ ์๋ฌ ๋ฉ์์ง ์ด๊ธฐํ | ||
| } catch (error) { | ||
| console.error('๋๊ธ ์ถ๊ฐ ์ค ์๋ฌ ๋ฐ์:', error); | ||
| // ์๋ฌ ์ฒ๋ฆฌ | ||
| if (error) { | ||
| setErrorMessage('๋ด์ฉ์ ์์ฑํด์ฃผ์ธ์.'); | ||
| } else { | ||
| setErrorMessage('๋๊ธ์ ์์ฑํ๋ ๋ฐ ์คํจํ์ต๋๋ค.'); | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
์ค ๊น๋ํ๋ค์ ๐
ํ์ฌ ๋ฒํผ์ด๋ ์๋ฌ๋ฉ์ธ์ง์ item-center๊ฐ ์๋ง๋๊ฑฐ ๊ฐ์ต๋๋ค!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
๋ต ์์ ํด๋๊ฒ์!!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ํ๋ก์ ํธ ์ ๋ฐ์ ์ผ๋ก๋ ๋น ๊ฐ or ๋ณ๊ฒฝ์ฌํญ ์์ผ๋ฉด ๋ฒํผ์ด ๋นํ์ฑํ ๋์ด์๊ธด ํฉ๋๋ค!
์ง๊ธ์ฒ๋ผ ํด๋ ๋ฌธ์ ๋ ์์ ๊ฒ ๊ฐ์์ (์ PR ๊ณต์ ๋์๋ณด๋์ ๋ฉค๋ฒ ์๋ ๋ก๊ทธ์ธ ํ ์ฌ๋ ์๋ฌ์ฒ๋ฆฌ๋ ๊ฐ์ ์ํฉ)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
์ ๊ทธ๋ ๋ค์!! ๊ทธ๋ผ ๊ทธ๋ฅ ์๋ฌ๋ฉ์์ง ์์ ๊ณ ๊น๋ํ๊ฒ disabled ์ฒ๋ฆฌํด๋ณผ๊ฒ์!
2024-07-07.3.19.25.mov
| {/* Card Description & Comment Section */} | ||
| <div className='flex h-[484px] w-[288px] flex-col gap-[16px] overflow-y-auto pr-3 md:h-[608px] md:w-[420px] lg:w-[450px]'> | ||
| <p className='break-words text-[14px] leading-6'>{card.description}</p> | ||
| <p className='whitespace-pre-wrap break-words text-[14px] leading-6'>{card.description}</p> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| {comments && comments.length > 0 ? ( | ||
| comments.map((comment) => ( | ||
| <Comment key={comment.id} comment={comment} columnId={column.id} cardId={card.id} /> | ||
| )) | ||
| ) : ( | ||
| <>์์ง ๋๊ธ์ด ์์ต๋๋ค.</> | ||
| <div className='flex flex-col items-center text-[14px] text-gray-9f hover:cursor-default'> | ||
| <Image src='/icons/comment-empty.svg' width={150} height={150} alt='๋น ๋๊ธ์ฐฝ' /> | ||
| ์์ฑ๋ ๋๊ธ์ด ์์ต๋๋ค. | ||
| </div> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
์๊ฑฐ ์๊ทธ๋๋ ๋๋ฌด ๊ท์ฝ๋๋ผ๊ตฌ์!! ๐
| <button onClick={handleModalClose} className='transition-all duration-200 hover:opacity-50'> | ||
| <Image src='/icons/x.svg' alt='X ์์ด์ฝ' width={32} height={32} className='dark:hidden' /> | ||
| <Image src='/icons/x-white.svg' alt='X ์์ด์ฝ' width={32} height={32} className='hidden dark:block' /> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| ์ทจ์ | ||
| </button> | ||
| <button | ||
| className='text-black-33 transition-all duration-100 hover:text-violet hover:underline dark:text-dark-10 dark:hover:text-violet-light-hover' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| export default function ColumnSkeleton() { | ||
| return ( | ||
| <div className='block animate-pulse lg:flex'> | ||
| <div className='flex flex-col bg-gray-fa p-5 transition-colors lg:w-[354px] dark:bg-dark-bg'> | ||
| {/* Column Header */} | ||
| <div className='mb-[6px] flex cursor-default items-center justify-between'> | ||
| <div className='flex items-center'> | ||
| <span className='mr-[8px] text-xs text-violet'>๐น</span> | ||
| <span className='flex size-[20px] items-center justify-center rounded-[6px] bg-gray-ee text-xs text-gray-78 dark:bg-dark-200 dark:text-dark-10'></span> | ||
| </div> | ||
| </div> | ||
|
|
||
| {/* Add Card Button */} | ||
| <button className='btn-violet-light dark:btn-violet-dark mb-[16px] h-[40px] rounded-[6px] border-none hover:cursor-default hover:bg-white'></button> | ||
|
|
||
| {/* Card List Section */} | ||
| <div className='lg:h-[700px] lg:overflow-y-auto'> | ||
| <div className='h-[200px] rounded-[6px] bg-white lg:h-[500px] dark:bg-dark-bg'></div> | ||
| </div> | ||
| </div> | ||
| </div> | ||
| ); | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
un0211
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
์๊ณ ํ์ จ์ต๋๋ค~~
| setErrorMessage(''); // ์ฑ๊ณต ์ ์๋ฌ ๋ฉ์์ง ์ด๊ธฐํ | ||
| } catch (error) { | ||
| console.error('๋๊ธ ์ถ๊ฐ ์ค ์๋ฌ ๋ฐ์:', error); | ||
| // ์๋ฌ ์ฒ๋ฆฌ | ||
| if (error) { | ||
| setErrorMessage('๋ด์ฉ์ ์์ฑํด์ฃผ์ธ์.'); | ||
| } else { | ||
| setErrorMessage('๋๊ธ์ ์์ฑํ๋ ๋ฐ ์คํจํ์ต๋๋ค.'); | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ํ๋ก์ ํธ ์ ๋ฐ์ ์ผ๋ก๋ ๋น ๊ฐ or ๋ณ๊ฒฝ์ฌํญ ์์ผ๋ฉด ๋ฒํผ์ด ๋นํ์ฑํ ๋์ด์๊ธด ํฉ๋๋ค!
์ง๊ธ์ฒ๋ผ ํด๋ ๋ฌธ์ ๋ ์์ ๊ฒ ๊ฐ์์ (์ PR ๊ณต์ ๋์๋ณด๋์ ๋ฉค๋ฒ ์๋ ๋ก๊ทธ์ธ ํ ์ฌ๋ ์๋ฌ์ฒ๋ฆฌ๋ ๊ฐ์ ์ํฉ)
| {comments && comments.length > 0 ? ( | ||
| comments.map((comment) => ( | ||
| <Comment key={comment.id} comment={comment} columnId={column.id} cardId={card.id} /> | ||
| )) | ||
| ) : ( | ||
| <>์์ง ๋๊ธ์ด ์์ต๋๋ค.</> | ||
| <div className='flex flex-col items-center text-[14px] text-gray-9f hover:cursor-default'> | ||
| <Image src='/icons/comment-empty.svg' width={150} height={150} alt='๋น ๋๊ธ์ฐฝ' /> | ||
| ์์ฑ๋ ๋๊ธ์ด ์์ต๋๋ค. | ||
| </div> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
์๊ฑฐ ์๊ทธ๋๋ ๋๋ฌด ๊ท์ฝ๋๋ผ๊ตฌ์!! ๐
??! ์ฃ์กํ๋ฐ ์๊ฒ ์ด๋์ ์์นํ ์์ด์ฝ์ด์ฃ ?! |
|
์, ๋์๋ ์์ฑ/์์ ๋ชจ๋ฌ์ ์๋ ๋ด์ฉ์ด์๋ค์...! ํน์ ์ฌ๊ธฐ์ ๊ฐ์ด ์์ ํด์ฃผ์ค ์ ์์๊น์?! |
์ ๋ค๋ค!! ์ด ๋ถ๋ถ์ ์ ๊ฐ ์์ ํ ๊ฒ์! |
- ํ ์ผ ์์ฑ/์์ ์นด๋ ๋ด์ ํ๋กํ์์ด์ฝ - ๋๊ธ ๋ด์ ํ๋กํ์์ด์ฝ
|
์นด๋๋ชฉ๋ก/๋๊ธ๋ชฉ๋ก ๋ฌดํ์คํฌ๋กค์ ์๋ก์ด PR๋ก ์ฌ๋ฆฌ๊ฒ ์ต๋๋ค! |
* โ๏ธ Chore: tailwind ์ปฌ๋ฌ ํ๋ ํธ ๋ฐ ๋ฐ์ํ ๋ธ๋ ์ดํฌ ํฌ์ธํธ ์ธํ (#33) โ๏ธ chore: tailwind ์ปฌ๋ฌ ํ๋ ํธ ๋ฐ ๋ฐ์ํ ๋ธ๋ ์ดํฌ ํฌ์ธํธ ์ธํ * โจ Feat: ํ์ด์ง ๋ผ์ฐํ ์ค์ (#34) * โ๏ธ Chore: ๋ฐฐํฌํ๊ธฐ (#39) * โ๏ธ chore: pnpm-lock.yaml ์ ๋ฐ์ดํธ * โ๏ธ chore: ๋ฐฐํฌ์ฉ repo์ main๊ณผ develop ๋ณํ ๋ฐ์ํ๋๋ก workflow ์์ฑ * โจ feat: userReducer ์ถ๊ฐ - store ์ค์ - userSlice ์ถ๊ฐ - app ์ปดํฌ๋ํธ์์์ Provider ์ง์ * โ๏ธ Chore: eslintrc.json ํ์ ์คํฌ๋ฆฝํธ์ ๋ง์ถฐ์ ์์ (#38) * โ๏ธ Chore: eslintrc.json ํ์ ์คํฌ๋ฆฝํธ์ ๋ง์ถฐ์ ์์ * โ๏ธ Chore: eslintrc.json rules ๋ณ๊ฒฝ - react/jsx-filename-extension์ .js, .jsx ์ถ๊ฐ * โจ feat: ๋ก๊ทธ์ธ ์ปค์คํ ํ useSignIn ์ถ๊ฐ * โ test: ํ ์คํธ์ฉ ๋ก๊ทธ์ธ ํผ * ๐ fix: ์ค๋ณต๋ userReducer ๋ฑ๋ก ์์ * โ๏ธ Chore: eslintrc.json ๋ณ๊ฒฝ์ ๋ฐ๋ฅธ ํจํค์ง ์ถ๊ฐ (#46) * โ๏ธ Chore: ์ ์ ๊ธฐ๋ฅ ๊ด๋ จ ํจํค์ง ์ถ๊ฐ (#47) * โ๏ธ chore: install React Query * โ๏ธ chore: install Redux Toolkit(+ Persist) * โจ Feat: ๊ณต์ฉ ๋ฒํผ ์ปดํฌ๋ํธ ๊ตฌํ (#50) * โจ feat: ๊ณต์ฉ ๋ฒํผ ์ปดํฌ๋ํธ ๊ตฌํ * โจ feat: className ๊ธฐ๋ณธ๊ฐ ์ถ๊ฐ * ๐ remove: ํ ์คํธ ์ฝ๋ ์ ๊ฑฐ * โจ feat: useFetchData ์ปค์คํ ํ (#55) โจ feat: useFetchData ์ปค์คํ ํ ์ ์ * โจ Feat: generateTagIndex ํจ์ ๊ตฌํ (#44) โจ feat: generateTagIndex ํจ์ ๊ตฌํ * โ๏ธ Chore: scope ์ ๋ ๊ฒ ๊ฐ์ ํ๋๋ก ๋ณ๊ฒฝ (์ด์๋๋ฒ ์ ๊ธฐ) (#56) โ๏ธ chore(#51): scope ์ ๋ ๊ฒ ๊ฐ์ ํ๋๋ก ๋ณ๊ฒฝ (์ด์๋๋ฒ ์ ๊ธฐ) * โป๏ธ Refactor: ์๋น์ค ๋ก์ง ๋ถ๋ฆฌ & useFetch ์ปค์คํ ํ ๋ฆฌํฉํ ๋ง (#63) * โ๏ธ chore(#58): install axios * โป๏ธ refactor(#54): useFetchData ๋ฆฌํฉํ ๋ง -> useQuery ํ ์ฌ์ฉ * โจ feat(#58): axios ์ธ์คํฐ์ค ์์ฑ & GET ํธ์ถ ๋ก์ง ๋ถ๋ฆฌ * โจ feat(#52): ๋์๋ณด๋ ์ธํฐํ์ด์ค ์ ์ * โจ feat(#52): ๋์๋ณด๋ ๋ชฉ๋ก์ ์ ์ญ ์ํ๋ก ๋ฑ๋ก (Reducer) * โจ feat(#52): ๋์๋ณด๋ ๋ชฉ๋ก ๋ฐ์ดํฐ ํจ์นญ ์ปค์คํ ํ * ๐ fix(#54): ์บ์ ํค๋ฅผ ํ๋ผ๋ฏธํฐ๋ก ์ง์ ํ ์ ์๋๋ก ์์ * ๐ fix(#58): getDashboardsList() ํ๋ผ๋ฏธํฐ ํ์ ์์ * โจ Feat(#2): Sidebar ์ ์ (#65) * โจ Feat(#2): Sidebar Layout ๊ตฌ์ฑ * โจ Feat(#2): Sidebar ์์ api ์ฐ๋ ๋ฐ ๊ตฌํ * โจ Feat(#2): Sidebar ์์ ๊ตฌํ ์๋ฃ - API ์ฌ์ฐ๋ ํ์ - ๋ชจ๋ฌ ์ฐ๋ ํ์ * โจ Feat(#2): Sidebar ์ ์ ์๋ฃ - ๋ชจ๋ฌ ์ฐ๋ ํ์ * โป๏ธ refactor(#2): Sidebar ์ฝ๋ ๊ฐ์ * ๐จ design(#2): sidebar css ์์ * ๐จ design(#2): padding, margin ํผ๊ทธ๋ง ๋์์ธ์ ๋ง์ถฐ์ ์์ * โจ Feat: user ๊ด๋ จ ์ ์ฅํ๋ ์ ๋ณด ์ถ๊ฐ (์ด๋ฉ์ผ, ํ๋กํ ์ด๋ฏธ์ง) (#70) * ๐ fix(#69): ๋ก๊ทธ์ธ ์ ์ด๋ฉ์ผ, ํ๋กํ ์ด๋ฏธ์ง ์ ๋ณด๋ ์ ์ฅํ๋๋ก ๋ณ๊ฒฝ * โ๏ธ chore(#69): import named ์๋ฌ ํด๊ฒฐ .eslintrc.json์import/typescript ํ๋ฌ๊ทธ์ธ ์ถ๊ฐ * โจ feat(#31): Layout ์ค์ (#67) * โจ feat(#31): Layout ์ ์ฉ - ๋๋ฉ, ๋ก๊ทธ์ธ, ํ์๊ฐ์ , 404 ํ์ด์ง ์ ์ธํ ๋ชจ๋ ํ์ด์ง์ ๋ ์ด์์ ์ ์ฉ * โจ feat(#31): Layout ์์ ์ค์ * โป๏ธ refactor(#2): Sidebar ์ฝ๋ ๊ฐ์ * ๐จ design(#2): sidebar css ์์ * ๐จ design(#2): padding, margin ํผ๊ทธ๋ง ๋์์ธ์ ๋ง์ถฐ์ ์์ * โจ feat(#31): Layout์ Sidebar ์ถ๊ฐ * โจ feat(#31): Layouts ํด๋๋ก MainLayout ์ด๋ - src/components/MainLayout/index.tsx -> src/layouts/MainLayout.tsx๋ก ๋ณ๊ฒฝ - src/layouts/MainLayout.tsx์์ tailwindcss ์ ์ฉ ์๋๋ ๋ฌธ์ ํด๊ฒฐ * โจ Feat(#6, #7): ๋ก๊ทธ์ธ, ํ์๊ฐ์ ํ์ด์ง (#68) * โ๏ธ chore: react-hook-form ์ถ๊ฐ * โ๏ธ chore: yup ์ถ๊ฐ * โ๏ธ chore: hookform resolvers ์ถ๊ฐ * โจ feat(#7): ํ์๊ฐ์ ํ์ด์ง ํผ๋ธ๋ฆฌ์ฑ * โ๏ธ chore(#7): ํ์ผ ๊ตฌ์กฐ ๋ณ๊ฒฝ * ๐จ design(#7): css ์กฐ์ * โจ feat(#7): ๋น๋ฐ๋ฒํธ ํ์ธ validation ๋ณ๊ฒฝ * โ๏ธ chore(#72): eslint tui ์ ๊ฑฐ *โ๏ธ style(#6): ํ์ดํ ํจ์, ์ ์ธ๋ฌธ์ผ๋ก ๋ณ๊ฒฝ * ๐ rename(#6, #7): input ์ปดํฌ๋ํธ ํ์ผ๋ช ๋ณ๊ฒฝ * โ๏ธ Chore(#74): tailwind.config.ts ์ปฌ๋ฌ ์์ ๋ฐ ๊ธฐ์กด ์ปฌ๋ฌ ํด๋์ค๋ช ๋ณ๊ฒฝ (#75) * โ๏ธ chore(#74): tailwind.config.ts ์ปฌ๋ฌ ์์ *โ๏ธ style(#74): ๊ธฐ์กด color ๋ฐ์ดํฐ ํ์ฌ ํฌ๋งท์ ๋ง๊ฒ ๋ณ๊ฒฝ * โจ Feat: ์ปฌ๋ผ ์น์ & ๊ฐ๋ณ ์ปฌ๋ผ (#71) * โ๏ธ chore(#29): containers/ ์ดํ์ ์ปดํฌ๋ํธ์๋ tailwindCSS ์ ์ฉ * โจ feat(#12): define Column Interface * โจ feat(#12): add ColumnsSection.tsx * โจ feat(#13): add Column.tsx *โ๏ธ style(#12, #13): ์๋งจํฑ ํ๊ทธ๋ก ์์ & ์ฃผ์ ์ถ๊ฐ * ๐ fix(#12): modify ColumnsSectionProps Type * โจ feat(#12): dashboard/[id] ํ์ด์ง ๋ด ColumnsSection ์ปดํฌ๋ํธ ๋ ๋๋ง *โ๏ธ style(#74): tailwind ์ปฌ๋ฌ๋ช ์์ ๋ฐ์ * ๐ fix(#31): ๋ ์ด์์ ๋ด main ํ๊ทธ์ ํจ๋ฉ๊ฐ ์ ๊ฑฐ * โ๏ธ chore(#79): pnpm-lock.yaml ์ต์ ํ (#81) * โจ Feat(#9): Header ์ปดํฌ๋ํธ ๊ตฌํ (#78) * ๐จ design(#9): ํฐํธ Pretendard 400 ๊ธฐ๋ณธ์ผ๋ก ์ค์ * โจ feat(#9): ๋๋ฉ ํ์ด์ง ๋ด๋น๊ฒ์ด์ ๊ตฌํ(๋ก๊ณ ์ด๋ฏธ์ง ์ ์ธ ๋ฐ์ํ) * โจ feat(#9): ์ฌ์ฉ์ ํ๋กํ ์ปดํฌ๋ํธ ๊ตฌํ * โจ feat(#9): ๊ธฐ๋ณธ ํค๋ ์ปดํฌ๋ํธ ๊ตฌํ * ๐ rename(#9): ์ด๋ฏธ์ง ์ด๋ฆ - ์ฌ์ฉํ๋๋ก ๋ณ๊ฒฝ * โจ feat(#9): ๋์๋ณด๋ ํค๋ ์ปดํฌ๋ํธ ๊ตฌํ (๊ตฌ์ฑ์ ๋ชฉ๋ก ์ ์ธ) * โจ feat(#9): ํค๋ ์ปดํฌ๋ํธ ๊ตฌํ * โจ feat(#9): ๋์๋ณด๋ ํค๋ ์ปดํฌ๋ํธ ๊ตฌ์ฑ์ ๊ตฌํ(๋ฏธ์) * โจ feat(#9): ๋ ์ด์์์ ํค๋ ์ ์ฉ *โ๏ธ style(#74): ๋ฐ๋ tailwind ์ค์ ์ ๋ง๊ฒ ์์ ์ง์ * ๐ remove(#9): ์ค๋ณต ์์ด์ฝ ์ญ์ * ๐จ design(#9): ์ ์ ์์ด์ฝ ํฐํธ ์ ์ฉ * ๐ fix(#9): ๊ด๋ฆฌ ๋ฒํผ ๊ด๋ฆฌ ํ์ด์ง๋ก ์ด๋ํ๋๋ก ๋ณ๊ฒฝ * โ๏ธ chore(#38): tailwind ๊ด๋ จ ํ๋ฆฌํฐ์ด ์ค์ ๋ณ๊ฒฝ * ๐จ design(#9): inline style๋ก ๊ตฌ์ฑ์ ํ๋กํ ๊ฒน์ณ์ ๋ฐฐ์ด * โจ feat(#9): ํค๋์ ์ ์ ๋ฉ๋ด ๋๋กญ๋ค์ด ๊ธฐ๋ฅ๋ง ๊ตฌํ * ๐ fix(#9): ๋์๋ณด๋ ํ์ด์ง ์ ํ์ ์๋ฌ ํด๊ฒฐ *โ๏ธ style(#9): ์ปจ๋ฒค์ ์ ๋ง๊ฒ ํจ์ ํํ์์ผ๋ก ๋ณ๊ฒฝ * ๐ fix(#9): localStoarge ๊ด๋ จ ์ฝ๋ ์ ๊ฑฐ * ๐จ design(#9): ์์ด์ฝ์์ ๊ธ์ ๊ฐ์ด๋ฐ์ ๋ ฌ * โ๏ธ chore(#38): tailwind ๊ด๋ จ eslint ์ค์ ๋ณ๊ฒฝ * โจ Feat(#16): mydashboard ํ์ด์ง DashboardList ์ปดํฌ๋ํธ ๊ตฌํ (#80) * โจ Feat(#16): mydashboard ํ์ด์ง DashboardList ์ปดํฌ๋ํธ ๊ตฌํ - ๋ฆฌ๋์ค์ ๋ฑ๋ก๋ ๋์๋ณด๋ ๋ชฉ๋ก์ 5๊ฐ์ฉ ๋ณด์ฌ์ฃผ๋ ์ปดํฌ๋ํธ ๊ตฌํ - ๋์๋ณด๋ ๋ชฉ๋ก์ ํด๋ฆญํ๋ฉด ํด๋น ๋์๋ณด๋๋ก ์ด๋ํ๋ ๊ธฐ๋ฅ ๊ตฌํ * ๐ fix(#16): mydashboard ํ์ด์ง ๋์๋ณด๋ ๋ชฉ๋ก ํ์ด์ง ์์ - ๊ธฐ์กด ์ ์ญ ๋์๋ณด๋ ๋ชฉ๋ก์ ๋ฐ์์ค๋ ๋ฐฉ์์ ์๋ฒ์ ์์ฒญํ์ฌ ๋ฐ์์ค๋๋ก ์์ - ํ์ด์ง๋ค์ด์ ๊ธฐ๋ฅ ์ถ๊ฐ * ๐ fix(#16): mydashboard ํ์ด์ง ๊ฐ์ - API ํธ์ถ ๋ฐฉ์์ useFetchData hook์ ์ฌ์ฉํ๋๋ก ๋ณ๊ฒฝ - ํ์ด์ง๋ค์ด์ ๋ฒํผ ์์ * ๐จ design(#16): ๋์๋ณด๋ ์ด๋ ๋ฒํผ ํ์ดํ ์ถ๊ฐ - section ํฌ๊ธฐ ์กฐ์ * ๐จ design(#16): ํ์ดํ ์ด๋ฏธ์ง ์ถ๊ฐ * ๐จ design(#16): ๋ฐ์ํ ๋์์ธ ์ค์ * ๐จ design(#16): ๋์๋ณด๋ ๋ชฉ๋ก ๋ฒํผ ๋ฐฐ๊ฒฝ์ ์์ * ๐ fix(#16): ํ์ด์ง๋ค์ด์ ๋ฒํผ ๋ถ๋ฆฌ * โ๏ธ chore(#78): ํ๋ฆฌํฐ์ด ํ๋ฌ๊ทธ์ธ ์ค์น์ ๋ฐ๋ฅธ ํจํค์ง ์ ๋ฐ์ดํธ (#91) * โจ Feat: POST API ๋ก์ง ๋ถ๋ฆฌ (#83) *โ๏ธ style(#58): getService.ts ๋ด์ function ์ ์ธ ํจ์๋ค -> ํํ์์ผ๋ก ๋ณ๊ฒฝ * โจ feat(#76): define SignUpForm Interface * โจ feat(#76): define async function - postSignUp() * โจ feat(#76): ํ์๊ฐ์ ํผ POST API ์ฐ๋ * โจ feat(#76): ํ์๊ฐ์ ์ฑ๊ณต ์ ๋ก๊ทธ์ธ ํ์ด์ง๋ก ๋ฆฌ๋ค์ด๋ ํธ๋๋๋ก ๋ก์ง ์ถ๊ฐ * ๐ fix(#6): ๋ก๊ทธ์ธํผ ๋ด์ ์ด์ฉ์ฝ๊ด ๋์ ์ฒดํฌ๋ฐ์ค ์ ๊ฑฐ * โจ feat(#76): ๋ก๊ทธ์ธ ์ฑ๊ณต ์ MY๋์๋ณด๋ํ์ด์ง๋ก ๋ฆฌ๋ค์ด๋ ํธ๋๋๋ก ๋ก์ง ์ถ๊ฐ * โจ feat(#76): ๋ก๊ทธ์ธํผ ๋ฆฌํ์คํธ/๋ฆฌ์คํฐ์ค ์ธํฐํ์ด์ค ์ ์ * โจ feat(#76): redefined User Interface * โป๏ธ refactor(#76): postSignIn๊ณผ ์ฐ๋ํ useSignin ๋ฆฌํฉํ ๋ง * ๐ fix(#76): postSignIn ํจ์ ๋ด accessToken์ ๋ก์ปฌ์คํ ๋ฆฌ์ง์ ์ ์ฅํ๋ ์ฝ๋ ์ญ์ * โจ Feat: SideBar ์ปดํฌ๋ํธ ๋ฐ์ํ ๋์์ธ ์ถ๊ฐ ๋ฐ ๋ก๋ฉ UI ์์ (#92) * ๐ fix(#2): API ๋ก๋ฉ ์ UI ์์ * ๐จ design(#2): ๋ฐ์ํ ๋์์ธ ์ค์ * ๐จ design(#2): ๋ชจ๋ฐ์ผ์ฉ ๋ก๊ณ ์ด๋ฏธ์ง ํ์ผ ์ ๋ก๋ * ๐จ design(#2): ์ด๋ฏธ์ง๋ฅผ ๋ถ๋ฌ์ค๋ ๋ฐฉ์ ์์ * โป๏ธ Refactor(#86): ๋ฒํผ ๋์์ธ ํด๋์ค ์์ฑ ๋ฐ ๋ฒํผ ์ปดํฌ๋ํธ ๊ฐ์ (#89) * ๐จ design(#86): ์์๋ณ ๋ฒํผ ํด๋์ค ์์ฑ * โป๏ธ refactor(#86): ๋ฒํผ ํด๋์ค ๋ฆฌํฉํ ๋ง (์์ฃผ ์ฌ์ฉํ๋ ๋ฒํผ ์ปดํฌ๋ํธํ) * ๐ fix(#86): ๋ฒํผ ์ปดํฌ๋ํธ ๋ฐ์ํ ์์ * โป๏ธ refactor(#86): ๊ธฐ์กด ๋ฒํผ์ ๋ฒํผ ์คํ์ผ ์ ์ฉ * ๐จ design(#86): ๋ฒํผ ๋์์ธ ์ ์ฉ * ๐จ design(#86): ๋ก๊ทธ์ธ/ํ์๊ฐ์ ๋ฒํผ ๋์์ธ ์ ์ฉ * ๐ fix(#16): ๋์๋ณด๋ ๋ฆฌ์คํธ ๋ฒํผ ๋นํ์ฑํ ์ถ๊ฐ (#93) * ๐ fix(#16): ๋์๋ณด๋ ๋ฆฌ์คํธ ๋ฒํผ ๋นํ์ฑํ ์ถ๊ฐ * ๐จ design(#16): ํ์ด์ง ์ด๋ ๋ฒํผ ๋ฐฐ๊ฒฝ์ ์์ * ๐จ design(#16): ์ด๋ฏธ์ง๋ฅผ ๋ฐ์์ค๋ ๋ฐฉ์ ์์ * ๐ fix(#16): ํ์ด์ง ๋ฆฌ์คํธ totalPage ์์ * ๐จ design(#31): ๋ ์ด์์ ํฌ๊ธฐ, ์์ ์์ (#95) - ์ต๋ ํฌ๊ธฐ ์์ฐ - ์ต์ ๋๋น 375px๋ก ์ค์ - main ๋ถ๋ถ ๋ฐฐ๊ฒฝ์ ์ง์ (ํ์ด์ง๋ณ๋ก ๊ฐ๊ฐ ์ง์ ํ๋ ๊ฒ ์ญ์ ) * ๐จ Design(#31): ๋ ์ด์์ main์ด ๋จ์ ํฌ๊ธฐ ์ฐจ์งํ๋๋ก ์ค์ (#98) * โ๏ธ Chore: Tanstack Query ์ ๊ทธ๋ ์ด๋ (#96) * โ chore(#73): install Tanstack Query * ๐ fix(#73): tanstack query ํจํค์ง ์ํฌํธ & ๊ฐ๋ฐ์ ๋๊ตฌ ์ถ๊ฐ * ๐ fix(#73): useFetchData ์์ - Tanstack Query ์ ์ฉ * ๐ fix(#73): useSignIn ์์ - Tanstack Query ์ ์ฉ * ๐ fix(#73): useFetchDashboards ์์ - Tanstack Query ์ ์ฉ * โจ Feat(#8): ํ๋กํ ์์ ๊ธฐ๋ฅ (#100) * ๐จ design(#8): ํ๋กํ ๋ณ๊ฒฝ ์น์ ๋์์ธ * โจ feat(#8): ์ ๋ ฅํผ ๋ด๋ถ๊ธฐ๋ฅ ์์ฑ (API ์ฐ๊ฒฐ X) * โจ feat(#8): ํ๋กํ๋ณ๊ฒฝ API ์ฐ๊ฒฐ (๋ด๋ถ์ ๋ณด ์ ๋ฐ์ดํธ X) * โจ feat(#8): ํ๋กํ ๋ณ๊ฒฝ์ ์ ์ ์ ๋ณด ์ ๋ฐ์ดํธ - userSlice์์ accessToken์ด string | null์ด๋ฏ๋ก ํจ์์์๋ ๊ฐ์ ํ์ ์ ๋ฐ๋๋ก ํจ * ๐ fix(#9): ํค๋์์ ์๋ฌ ์ ๋ณด๋ฅผ ์ ์ ์ ๋ณด๋์ ํ์ํ์ง ์๋๋ก ํจ *โ๏ธ style(#9): ์์ฐ๊ฒ ๋ import ์ญ์ * โ๏ธ chore(#9): ํ๋กํ ์ด๋ฏธ์ง ๋ฐ์์ฌ ์ ์๊ฒ next.config.mjs ์ค์ * ๐จ design(#9): ํ๋กํ ์ด๋ฏธ์ง ๋์์ธ ์์ - ๋น์จ ์ ์ง - ๋ฅ๊ทผ ํ ๋๋ฆฌ * โจ feat(#8): ๋๋ค์ ์ ํจ์ฑ ๊ฒ์ฌ - ๊ธธ์ด 1์ ์ด์ 10์ ์ดํ * โจ feat(#8): ํ๋กํ ์ด๋ฏธ์ง ์ญ์ ๊ธฐ๋ฅ ์ถ๊ฐ + ์ ๋ฐ์ดํธ ํผ์์ ์ ๋ณด ์ ํ์ ์ผ๋ก ์ ๋ฌํ๋๋ก ๋ณ๊ฒฝ * ๐จ design(#8): ์ด๋ฏธ์ง ์ธํ ํธ๋ฒ, ํด๋ฆญ์ ํจ๊ณผ ์ ์ฉ * ๐ fix(#8, #73): tanstack query ์ ๊ทธ๋ ์ด๋์ ๋ฐ๋ฅธ ํ ๊ณผ ์ฌ์ฉ์ฒ ์์ " * ๐จ design(#8): label ๋ฐ์ํ ํฌ๊ธฐ ์์ * โจ feat(#20) ๋ด๊ฐ ๋ฐ์ ์ด๋ ๋ชฉ๋ก ์ปดํฌ๋ํธ ์ ์ (#99) * โจ feat(#20): ๋ด๊ฐ ์ด๋๋ฐ์ ๋์๋ณด๋ ๋ชฉ๋ก์ ๋ณด์ฌ์ฃผ๋ ํ์ด์ง ์ถ๊ฐ - ์์๋ก ์ด๋๋ฐ์ ๋์๋ณด๋ ๋ชฉ๋ก์ ๋ณด์ฌ์ฃผ๋ ํ์ด์ง๋ฅผ ์ถ๊ฐ * ๐จ design(#20): Image ์ค๋ฅ ์์ * โจ feat(#20): API ์ฐ๋ ๋ฐ UI ๊ตฌํ ์๋ฃ * โจ feat(#20): ์ด๋ ๋ชฉ๋ก state ๊ด๋ฆฌ ๋ฐ ๋ ๋๋ง ๊ตฌํ * โจ feat(#20): ์ด๋๋ฐ์ ๋์๋ณด๋ ๊ฒ์ ๊ธฐ๋ฅ ์ถ๊ฐ * โป๏ธ refactor(#20): ๋ด๊ฐ ๋ฐ์ ์ด๋ ๋ชฉ๋ก ์ปดํฌ๋ํธ ๊ตฌ์กฐ ๋ณ๊ฒฝ ๋ฐ ๋ถ๋ฆฌ * โป๏ธ refactor(#20): getInvitationsList ์์ * โจ feat(#20): ์ด๋ ์๋ฝ ์ ๋์๋ณด๋ ๋ฆฌ์คํธ ๊ฐฑ์ * โจ feat(#20): ๋ฌดํ์คํฌ๋กค ๊ตฌํ - ๊ฒ์ ๊ธฐ๋ฅ API ์ฐ๋ํด์ ๊ฒ์ํ๋๋ก ๊ตฌํ * ๐จ design(#20): ๋ฐ์ํ ๋์์ธ ์ค์ * ๐ fix(#20): ์ด๋ ๋ชฉ๋ก ๋ฌดํ์คํฌ๋กค ์์ * โจ Feat: ์ ์ญ ๋ชจ๋ฌ 1์ฐจ ์๋ฃ (#97) * โจ feat(#42): redux ๋ชจ๋ฌ ์ํ ๊ด๋ฆฌ ์ถ๊ฐ * โจ feat(#42): _app์ Modal ์ปดํฌ๋ํธ ์ถ๊ฐ * โจ feat(#42): modal ์ปดํฌ๋ํธ ์ถ๊ฐ * โป๏ธ refactor(#42): button ์ปดํฌ๋ํธ ๋ณ๊ฒฝ * โจ feat(#94, #42): ๊ณตํต ๋ชจ๋ฌ ์๋ฆผ์ฐฝ ๊ตฌํ * โจ feat(#94, #42): openModal์ props optional๋ก ๋ณ๊ฒฝ * โจ feat(#42): ์ด๋ํ๊ธฐ, ์ปฌ๋ผ ์์ฑ ๋ชจ๋ฌ ๊ตฌํ * โจ feat(#42, #17): ๋์๋ณด๋ ์์ฑ ๋ชจ๋ฌ ๊ตฌํ * โจ feat(#42, #17): ์ด๋ํ๊ธฐ ๋ชจ๋ฌ valid ์ถ๊ฐ * ๐ rename(#42): ์์ ๋ค์ด๋ฐ ๋ณ๊ฒฝ * โจ feat(#42): ์ปฌ๋ผ ์ญ์ ์์ ๋ชจ๋ฌ, props ์ถ๊ฐ * โจ feat(#42): ๋ชจ๋ฌ props ํ์ ์ถ๊ฐ * โจ feat(#42): ๋ชจ๋ฌ ํ๋กญ ํ์ ์ ์ * โจ feat(#42): null ๊ฐ ์ด๊ธฐํ ์ ๊ฑฐ * โจ feat(#42): ๋์๋ณด๋ ์์ฑ ๋ชจ๋ฌ, ์ปฌ๋ผ ์์ฑ ๋ชจ๋ฌ API ์ฐ๊ฒฐ * โจ feat(#42): ๋์๋ณด๋ ๋ฉค๋ฒ ์ด๋ API ์ฐ๊ฒฐ * ๐ fix(#42): ๋์๋ณด๋ ์์ฑ ๋ชจ๋ฌ ์ปฌ๋ฌ ๋ฒํผ ์์ ๋ณด์ด๊ฒ ์์ * ๐ fix(#42): ๋์๋ณด๋ ์์ฑ ๋ชจ๋ฌ ์ปฌ๋ฌ ๋ฒ๊ทธ ์์ * โจ feat(#42): ์ปฌ๋ผ ์์ ๋ฐ ์ญ์ ํ๊ธฐ API ์ฐ๊ฒฐ * โจ feat(#42, #109): ๋์๋ณด๋ ์ญ์ ๋ชจ๋ฌ ๋ฐ ๋์๋ณด๋ ์ญ์ API ์ฐ๊ฒฐ * โจ feat(#42): ์ด๋ํ๊ธฐ ๋ชจ๋ฌ, ์กด์ฌํ์ง ์๋ ๋ฉค๋ฒ ์ด๋ ์ ์๋ฌ ๋ฉ์์ง ์ถ๋ ฅ * ๐ fix(#42): ํจ์ ์ด๋ฆ ๋ณ๊ฒฝ * ๐จ Design(#85, #87): ํค๋์ ์ฌ์ฉ์ ํ๋กํ, ๋๋กญ๋ค์ด ๋์์ธ ์์ฑ (#105) * ๐จ design(#85): ์์ด์ฝ ๊ฐ์ด๋ฐ์ ๋ ฌ * ๐จ design(#87): ๋๋กญ๋ค์ด ๋์์ธ ์ ์ฉ * ๐ fix(#87): ๋๋กญ๋ค์ด ๋ฉ๋ด ์ ํ์ ๋๋กญ๋ค์ด ๋ซ๊ธฐ * ๐ fix(#85): ๋์๋ณด๋ ํค๋์์ ์ง์ ์์ธ์ ๋ณด ์กฐํํ๋๋ก ๋ณ๊ฒฝ * ๐จ design(#85): ๋๋ฉ ํค๋ ๋ก๊ณ ๋ฐ์ํ * โป๏ธ refactor(#85): ๋์๋ณด๋ ํค๋ ์ปดํฌ๋ํธ ํ์ผ ๋ถ๋ฆฌ * ๐จ design(#85): ๋์๋ณด๋ ํค๋ ๋ฉค๋ฒ๋ชฉ๋ก ๋ฐ์ํ ๋์์ธ (๋ ธ๊ฐ๋ค) * โจ Feat(#27): ๋น๋ฐ๋ฒํธ ๋ณ๊ฒฝ ๊ธฐ๋ฅ (#102) * ๐จ design(#27): ๋น๋ฐ๋ฒํธ ๋ณ๊ฒฝ ๊ธฐ๋ฅ ๋ฐ์ํ ๋์์ธ ๊ตฌํ * โจ feat(#27): ๋น๋ฐ๋ฒํธ ์ ํจ์ฑ ๊ฒ์ฌ * ๐ fix(#8): ํ๋กํ ๋ณ๊ฒฝ ๊ด๋ จ ํ์ export ํ๋๋ก ๋ณ๊ฒฝ * โจ feat(#27): ๋น๋ฐ๋ฒํธ ๋ณ๊ฒฝ ๊ธฐ๋ฅ ๊ตฌํ * ๐จ design(#27): ๋ง์ดํ์ด์ง์ ๋น๋ฐ๋ฒํธ ๋ณ๊ฒฝ ํผ ๋ฐฐ์น * ๐ fix(#27): ์ ๋ ฅ ์ ํจ์ฑ ๊ฒ์ฌ ๋ก์ง ๋ณ๊ฒฝ - ๋ชจ๋ ํฌ์ปค์ค ์์ ๋ ๋ ๊ฒ์ฌ - ์ ๋น๋ฐ๋ฒํธ๊ฐ ๊ธฐ์กด ๋น๋ฐ๋ฒํธ๋ ๊ฐ์ ๊ฒฝ์ฐ ๊ฑฐ์ (์๋ฒ์์๋ ๊ฑฐ์ ํ๋ฉฐ, ๋ณ๊ฒฝ ์๋ฏธ๊ฐ ์์ผ๋ฏ๋ก) - ๊ฐ ์ ๋ ฅ ์๋์ด์์ ๋ ๋ฒํผ ๋นํ์ฑํ * ๐ fix(#8, #27): type export/import ๊ด๋ จ ๋ฌธ์ ํด๊ฒฐ * โจ Feat(#84): ์ฌ์ฉ์ ์์ด์ฝ ์์ ๋ฐฐ์ ํจ์ ๊ตฌํ๊ณผ ์์ ์ค์ (#107) * ๐จ design(#84): ํ๋กํ ์์ด์ฝ ์์ ์ค์ * โจ feat(#84): ํ๋กํ ์์ด์ฝ ๋ฐฐ๊ฒฝ ์์ ์ ์ฉ * โจ Feat: Card ์ปดํฌ๋ํธ (๋์๋ณด๋ ํ์ด์ง) (#117) * โจ feat(#13): define Card Interface * โจ feat(#13): ์ปฌ๋ผ ๋ด ์นด๋ ๊ฐ์ ๋ฐ์ดํฐ ํ์(API ์ฐ๊ฒฐ) * โป๏ธ refactor(#58): ์๋น์ค ํจ์๋ค ํ๋ผ๋ฏธํฐ id ํ์ ๋ค์ number๋ก ์์ * โจ feat(#19): ๋ ์ง ํ์ ํฌ๋งทํ ํจ์ ์ ์ * ๐จ design(#41): ๋์๋ณด๋ ํ์ด์ง ๋ด divํ๊ทธ ์ ๊ฑฐ * ๐ fix(#31): ๋ฉ์ธ ๋ ์ด์์ ๋ด ์์ง ์คํฌ๋กค ์ ๊ฑฐ * ๐ fix(#12): ์ปฌ๋ผ ์น์ ๋ด ์คํฌ๋กค ์์ * ๐ fix(#13): ์ปฌ๋ผ queryKey ๊ฐ ์์ * โจ feat(#13): ์ปฌ๋ผ ๋ด ์นด๋ ๋ ๋๋ง & ์ปฌ๋ผ ๋ด ์ํ ์คํฌ๋กค ์ถ๊ฐ * โจ feat(#19): ํ ์ผ ์นด๋ ์ปดํฌ๋ํธ ์ถ๊ฐ * โจ feat(#19): ํ๊ทธ์ปฌ๋ฌ ์๋์์ฑ ์ ํธํจ์ ์ ์ * โจ feat(#19): ์นด๋ ์์ธ ๋ฐ์ดํฐ ์กฐํ GET ํจ์ ์ถ๊ฐ * โ๏ธ chore(#19): ํ๊ทธ์ ์ฉ ์ปฌ๋ฌ 4์ข ์ถ๊ฐ * โจ feat(#19): ์นด๋ ๋ด ProfilIcon ์ถ๊ฐ * ๐ fix(#19): ์นด๋ ๋ด ์ด๋ฏธ์ง ๊ฐ์ด ์์ ๋๋ง ๋ ๋๋ง๋๋๋ก ์์ * ๐ fix(#12): ์ปฌ๋ผ ์ถ๊ฐ ๋ฒํผ ๋ด ๋ง์ง๊ฐ ์์ * โจ feat(#13): ์ปฌ๋ผ์์ ๋ชจ๋ฌ ์ฐ๋ * โจ feat(#12): ์ปฌ๋ผ์ถ๊ฐ ๋ชจ๋ฌ ์ฐ๋ * ๐ fix(#12): ์ปฌ๋ผ ๋ด x-scroll ๋ฒ๊ทธํฝ์ค - widthํฌ๊ธฐ ์์ ์ง์ * ๐ fix(#13): ์ปฌ๋ผ ๋ด y-scroll ๋ฒ๊ทธํฝ์ค - height ๊ฐ ์์ * ๐ฌ comment(#12): ์ปฌ๋ผ์ถ๊ฐ ๋ชจ๋ฌ์ ์ํ ์ฃผ์ ์ถ๊ฐ * ๐ fix(#12): ์ปฌ๋ผ์น์ ๋ด ์ค๋ฒ์คํฌ๋กค ์์ * โจ feat(#104): ์ฌ์ด๋๋ฐ ํ์ด์ง๋ค์ด์ ๊ตฌํ ๋ฐ ์ด๋ ๋ฒํผ ์ถ๊ฐ (#110) * โจ feat(#104): ์ฌ์ด๋๋ฐ ํ์ด์ง๋ค์ด์ ๊ตฌํ ๋ฐ ์ด๋ ๋ฒํผ ์ถ๊ฐ - ๋ด ๋์๋ณด๋, ๋ด ํ์ด์ง ์ด๋ ๋ฒํผ ์ถ๊ฐ * ๐จ design(#104): ๋์์ธ ์์ * โจ feat(#104): ์ฌ์ด๋๋ฐ์ ๋์๋ณด๋ ์์ฑ ๋ชจ๋ฌ ์ฐ๋ * ๐จ design(#104): ์ฌ์ด๋๋ฐ ์ค์ผ๋ ํค ์ถ๊ฐ * โจ Feat(#7): ํ์๊ฐ์ ๋ชจ๋ฌ ์ฐ๊ฒฐ (#112) * โจ feat(#7): ํ์๊ฐ์ ๋ชจ๋ฌ ์ฐ๊ฒฐ * โจ feat(#7): email ์ค๋ณต ์ ์ด๋ฉ์ผ ํ๋ ๋น์ฐ๊ธฐ * โจ feat(#7): ์ด๋ฉ์ผ input focus ๋ฐ ๋น์ฐ๊ธฐ, ์ผ๋ฐ ํ ์คํธ ์ ๋ฌ ๋ฐ๋ ๋ชจ๋ฌ ์ถ๊ฐ * โจ Feat: ์ด๋ ๋ด์ญ ์ปดํฌ๋ํธ (#116) * ๐จ design(#23): ์ด๋๋ด์ญ ์ปดํฌ๋ํธ ๋ฐ์ํ ๋์์ธ * โจ feat(#23): ์ด๋๋ด์ญ ๋ถ๋ฌ์ค๊ธฐ ๊ธฐ๋ฅ ๊ตฌํ (ํ์ด์ง๋ด์ด์ ) * ๐ fix(#23): ol์ ๋ชจ๋ ์์ ํ๊ทธ์ ๊ณ ์ ํ key ๋ถ์ฌ * โจ feat(#23): ์ด๋ ์ทจ์ ๊ธฐ๋ฅ ๊ตฌํ * โป๏ธ refactor(#23): useDeleteData ํ ์ผ๋ก ๋ค๋ฅธ delete ํจ์๋ค๋ ํธ์ถํ ์ ์๋๋ก ํจ * โจ feat(#23): ํ์ด์ง๋ค์ด์ ํ ์คํธ ์์ด ์ฌ์ฉ ๊ฐ๋ฅํ๊ฒ ๋ณ๊ฒฝ * โป๏ธ refactor(#23): ๊ธฐ์กด ์ฝ๋์์๋ ํ์ด์ง๋ค์ด์ ์ปดํฌ๋ํธ ์ฌ์ฉํ๋๋ก ๋ณ๊ฒฝ * ๐ Fix(#84): ๋ฉค๋ฒ์ ํ๋กํ์์์ ์ ๋๋ก ๋ณด์ฌ์ค ์ ์๋๋ก ์์ (#120) * ๐ fix(#84): ๋ฉค๋ฒ์ ํ๋กํ์์์ ์ ๋๋ก ๋ณด์ฌ์ค ์ ์๋๋ก ์์ * ๐ fix(#84): ์นด๋ ์ปดํฌ๋ํธ์์๋ userId ์ฌ์ฉํ๋๋ก ์์ --------- Co-authored-by: ๋ฅํ์ <[email protected]> * ๐ Fix(#118): ์ ๋น๋ฐ๋ฒํธ๋ ๊ธ์์ ํ์ธํ๋๋ก ๋ณ๊ฒฝ (#126) ๐ fix(#118): ์ ๋น๋ฐ๋ฒํธ๋ ๊ธ์์ ํ์ธํ๋๋ก ๋ณ๊ฒฝ * ๐จ design(#124): ๋ด ๋์๋ณด๋ ๋์๋ณด๋ ๋ชฉ๋ก ์ค์ผ๋ ํค ์ค์ (#125) * ๐จ design(#124): ๋ด ๋์๋ณด๋ ๋์๋ณด๋ ๋ชฉ๋ก ์ค์ผ๋ ํค ์ค์ * ๐จ design(#124): ๋์๋ณด๋ ์ด๋ ๋ชฉ๋ก ์ค์ผ๋ ํค ์ค์ * โป๏ธ refactor(#124): ์ค๋ณต ์ฝ๋ ๋ฐฐ์ด๋ก ๋ฌถ์ * โจ Feat: Tags ์ปดํฌ๋ํธ (#130) * โ๏ธ chore(#127): tailwind.config ๋ด ํ๊ทธ์ปฌ๋ฌ ์ ์ ์ ๊ฑฐ" * ๐ fix(#12): ์ปฌ๋ผ์น์ ๋ด ๋๋น/๋์ด ๊ฐ ๋ฒ๊ทธ ์์ * ๐ remove(#127): generateTagColor ์ ํธํจ์ ์ญ์ * โจ feat(#127): add Tags Component * ๐ fix(#19): ํ๋กํ์์ด์ฝ ์กฐ๊ฑด๋ถ ๋ ๋๋ง * ๐ fix(#127): generateTagIndex ํจ์๋ฅผ ์ด์ฉํ ๊ณ ์ ์์๊ฐ ์ง์ & ํ๋ผ๋ฏธํฐ ์์ * ๐ fix(#127): generateTagIndex ์์ - generateTagIndex ํ๋ผ๋ฏธํฐ ์๋๋๋ก ์์ - ์์ ์ข ๋ฅ 6๊ฐ์ง๋ก ์์ (NUM_TAG_COLORS) - yellow, purple ์์ ์ถ๊ฐ(์์ ๊ฐ์ฒด) * โจ Feat: ๋ก๊ทธ์ธ ํผ, ํ์๊ฐ์ ํผ ๋ชจ๋ฌ ์ฐ๊ฒฐ ๋ฐ ๋ชจ๋ฌ ๋ฆฌํฉํ ๋ง (#132) * โจ feat(#6): ๋ก๊ทธ์ธ ํผ ๋ชจ๋ฌ ์ฐ๊ฒฐ * โป๏ธ refactor(#6): ๋ชจ๋ฌ ํ๋กญ ์ ๊ฑฐ * โป๏ธ refactor(#6): ์๋ฆผ ๋ชจ๋ฌ ์ ๊ฑฐ ํ ํ ์คํธ ๋ชจ๋ฌ๋ก ๋ณ๊ฒฝ * โป๏ธ refactor(#6): ๋ชจ๋ฌ index ์ฝ๋ ์ ๋ฆฌ * ๐ remove(#6): notificationModal ์ ๊ฑฐ * โจ Feat: ๋ฉค๋ฒ ์ปดํฌ๋ํธ (#128) * ๐จ design(#24): ๊ตฌ์ฑ์ ์ปดํฌ๋ํธ ๋ฐ์ํ ๋์์ธ ์์ฑ * โจ feat(#24): ๊ตฌ์ฑ์ ๋ถ๋ฌ์ค๊ธฐ์ ํ์ด์ง๋ค์ด์ ๊ตฌํ * โจ feat(#24): ๋ฉค๋ฒ ์ญ์ ๊ธฐ๋ฅ ๊ตฌํ * โจ feat(#40): ๋์๋ณด๋ ์์ ํ์ด์ง ์์ฑ (#134) * โจ feat(#40): ๋์๋ณด๋ ์์ ํ์ด์ง ์์ฑ * ๐ fix(#9): ํค๋ ๋ชจ๋ฐ์ผ ๋์ด ์์ * ๐ Remove(#136): ์์ฐ๋ ํ์ผ ์ญ์ (dashboard, context) (#138) * ๐ remove(#136): dashboard ์ ์ญ ์ํ ๊ด๋ จ ์ ์ฐ๋ ํ์ผ ์ญ์ * ๐ remove(#136): context ํด๋ ์ญ์ * โป๏ธ Refactor(#121): ๊ธฐ๋ณธ ๋ชจ๋ฌ ๋ฆฌํฉํ ๋ง (#141) * โป๏ธ refactor(#121): ๊ธฐ๋ณธ ๋ชจ๋ฌ ๋ฆฌํฉํ ๋ง - notificationModal: ์ค๋ช ๊ณผ ํ์ธ ๋ฒํผ๋ง ์กด์ฌ. ํน๋ณํ ์์ ์ํ ์ onClick ์ ํ์ ์ผ๋ก - confirmModal: ์ญ์ ์ ํ์ธํ๋ ๋ชจ๋ฌ. ์ญ์ ์ ํ์ธ ๋ฒํผ ์กด์ฌ. ์ญ์ ์์ ์ onActionClick ํ์ * โป๏ธ refactor(#121): ์ ์ปฌ๋ผ ์์ฑ ๋ชจ๋ฌ ๋ฆฌํฉํ ๋ง - ์ปฌ๋ผ ์ค๋ณต ๊ฒ์ฌ ์ถ๊ฐ - ์ถ๊ฐ์ ํ๋ฉด์ ๋ฐ์๋๋๋ก refetch - ์ปฌ๋ผ 10๊ฐ ์์ ๋ ๋ ์์ฑํ์ง ๋ชปํ๋๋ก ๋ง์ * ๐ remove(#121): default modal ์ญ์ ํ๊ณ ๋น notification์ผ๋ก ๋์ฒด * ๐ fix(#121, #84, #24): button ํ์ ์ง์ + ๋์๋ณด๋๊ด๋ฆฌ ๊ตฌ์ฑ์ ์ปดํฌ๋ํธ ํ๋กํ ์์ด์ฝ ๋ณ๊ฒฝ ๋ฐ์ * ๐ fix(#121): ๋ชจ๋ฌ์์ dashboard id ์์์ ๊ฐ์ ธ๋ค ์ฐ๋๋ก ๋ณ๊ฒฝ * โจ Feat(#25): ๋์๋ณด๋ ์ ๋ณด ์์ ์ปดํฌ๋ํธ ์ถ๊ฐ (#143) * โจ feat(#25): ๋์๋ณด๋ ์ ๋ณด ์์ ์ปดํฌ๋ํธ ์ถ๊ฐ * ๐ fix(#25): ์ฝ๋ ๋ฆฌ๋ทฐ ๋ฐ์ ๋ฐ ์ฃผ์ ์ ๊ฑฐ * ๐จ design(#129): ํ๋ฉด ์ธ๋ก ํฌ๊ธฐ๋ฅผ ์ค์ด๋ฉด ๋ ์ด์์์ด ๊ณ ์ฅ๋๋ ๋ฒ๊ทธ ์์ (#133) * ๐จ design(#129): ํ๋ฉด ์ธ๋ก ํฌ๊ธฐ๋ฅผ ์ค์ด๋ฉด ๋ ์ด์์์ด ๊ณ ์ฅ๋๋ ๋ฒ๊ทธ ์์ * ๐จ design(#129): UI ๋์ด ๊ณ ์ * ๐จ design(#129): ๋์๋ณด๋ ์ ๋ชฉ์ด ๊ธด ๊ฒฝ์ฐ ์๊ธฐ๋ ๋ฌธ์ ํด๊ฒฐ - ์ฌ์ด๋๋ฐ ํฌ๊ธฐ ์กฐ์ - ๋์๋ณด๋ ๋ฆฌ์คํธ ์์ดํ ํฌ๊ธฐ ์กฐ์ * โป๏ธ refactor(#121, #114, #21): ์ปฌ๋ผ ์์ ๋ชจ๋ฌ ๋ฆฌํฉํ ๋ง ๋ฐ ์ ์ฉ (#147) * โป๏ธ refactor(#121, #114, #21): ์ปฌ๋ผ ์์ ๋ชจ๋ฌ ๋ฆฌํฉํ ๋ง - ์ค๋ณต ์ด๋ฆ ๋ฐฉ์ง - ๋ณ๊ฒฝ์ฌํญ ๋ฐ๋ก ๋ฐ์๋๋๋ก ์ฟผ๋ฆฌ ๋ฌดํจํ - ์ฌ์ฉ์ฒ์ธ dashboard ๋ณ๊ฒฝ (์ถ๊ฐ ํ์ผ ์ ๋ฆฌ) * ๐ fix(#121): ์๋ฌ ๋ฐ์ ์ ์ ๋ ฅ ํ๋จ์ ์๋ฌ๋ฉ์์ง ์ถ๋ ฅํ๋๋ก ๋ณ๊ฒฝ * โจ feat(#121, #21): ๊ธ์์ 10์ ์ ํ * โป๏ธ Refactor(#121, #22): ์ด๋ํ๊ธฐ ๋ชจ๋ฌ ๋ฆฌํฉํ ๋ง ๋ฐ ์ ์ฉ (#148) * โป๏ธ refactor(#121, #22): ์ด๋ํ๊ธฐ ๋ชจ๋ฌ ์ปดํฌ๋ํธ ๋ฆฌํฉํ ๋ง * โจ feat(#121, #9, #23): ์ด๋ํ๊ธฐ ๋ชจ๋ฌ ์ ์ฉ * ๐ fix(#121): ์ด๋ ๋ฒํผ ๊ธ์ ๋ณ๊ฒฝ, ์ด๊ธฐ ๋นํ์ฑํ ์ค์ * โป๏ธ Refactor: ๋์๋ณด๋ ์์ฑ ๋ชจ๋ฌ ๋ฆฌํฉํ ๋ง ๋ฐ ์ ์ฉ (#150) * โป๏ธ refactor(#121, #17): ๋์๋ณด๋ ์์ฑ ๋ชจ๋ฌ ๋ฆฌํฉํ ๋ง - ์๋ฌ ์ถ๋ ฅ ์ถ๊ฐ * โจ feat(#121): ๋์๋ณด๋ ์์ฑ ๋ชจ๋ฌ ์ ์ฉ * โจ feat(#121, #17): ๊ธ์์ 10์ ์ ํ * โจ Feat: ์นด๋ DnD (๋์๋ณด๋ ํ์ด์ง) (#145) * โ๏ธ chore(#131): install react-beautiful-dnd * โ๏ธ chore(#131): next.config ๋ด reactStrictMode false๋ก ๋ณ๊ฒฝ * ๐จ design(#19): ์นด๋ ์ปดํฌ๋ํธ ์ค๋ฅธ์ชฝ ๋ง์ง๊ฐ ์ ๊ฑฐ * โจ feat(#131): ๋์๋ณด๋ ๋ด ์นด๋ DnD ๊ตฌํ - react-beautiful-dnd ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํ์ฉ(DragDropContext: ์ปฌ๋ผ ์น์ , Droppable: ๊ฐ๋ณ ์ปฌ๋ผ/์นด๋, Draggable: ์นด๋) - ํ ์ปฌ๋ผ ๋ด & ๋ค๋ฅธ ์ปฌ๋ผ์ผ๋ก์ ์นด๋ ์ด๋ - ๋ค๋ฅธ ์ปฌ๋ผ์ผ๋ก์ ์ด๋์, ์ปฌ๋ผ ID๊ฐ์ ์์ ํ๊ธฐ ์ํ PUT API ํจ์ ์ ์ * ๐ fix(#131): ํ ์ปฌ๋ผ ๋ด ์นด๋ DnD ๊ธฐ๋ฅ ์ญ์ * ๐ Remove(#136): ๋๋ฝ๋ useFetchDashboard ์ญ์ (#159) ๐ remove(#136): ๋๋ฝ๋ useFetchDashboard ์ญ์ * โจ feat(#10): ๋๋ฉํ์ด์ง ์ ์ (#115) * โจ feat(#10): ๋๋ฉํ์ด์ง ์์ ์ ์ * ๐จ design(#10): ๋ฐ์ํ ๋์์ธ ์ถ๊ฐ * โจ feat(#10): ๋ก๊ทธ์ธ ํ ๋ก๊ณ ํด๋ฆญ ์ ๋ด ๋์๋ณด๋๋ก ์ด๋ํ๋ ๊ธฐ๋ฅ ์ถ๊ฐ - ๋ก๊ทธ์ธ ์ ์๋ ๋๋ฉ ํ์ด์ง๋ก ์ด๋ํ๋๋ก ์์ * ๐จ design(#10): Footer ๋งํฌ ์ ๊ฑฐ ๋ฐ ์ ๋ณ๊ฒฝ * ๐ Fix(#128): ๋ฐฐํฌ ์ค๋ฅ ํด๊ฒฐ (#161) ๐ fix(#128): ์๋ชป ๋ถ์ copy ์ญ์ * ๐ fix(#158): ๋ด ๋์๋ณด๋ ์ค์ผ๋ ํค key ๋ฌธ์ ํด๊ฒฐ (#160) * ๐ fix(#137): ๋๋กญ๋ค์ด ํด๋ฆญํจ๊ณผ ๋ฒ์ ์์ (#139) * ๐ fix(#137): ๋๋กญ๋ค์ด ํด๋ฆญํจ๊ณผ ๋ฒ์ ์์ * ๐จ design(#137): ์ ๋ณด์ด๊ฒ ํฌ๊ธฐ ์์ * ๐ fix(#137): ์ ์ญ์์ ๋๋กญ๋ค์ด ๋ซ์ ์ ์๋๋ก ๋ณ๊ฒฝ * โจ feat(#157): 404 ํ์ด์ง ์ ์ (#163) * โจ feat(#157): 404 ํ์ด์ง ์ ์ * โจ feat(#157): 404 ํ์ด์ง์์ ๋ ์ด์์ ์๋์ค๊ฒ ์์ * โจ feat(#157): ๋ก๊ทธ์ธ ์ 404ํ์ด์ง์์ ์ฌ์ด๋๋ฐ ๋ณด์ด๊ฒ ์ค์ * โป๏ธ Refactor(#121): ํจ์๋ฅผ ๋ถ๋ฆฌํ์ฌ ํ์ ์ ๊ฒํจ์ผ๋ก์จ ํ์ ๋จ์ธ ๋ฐฉ์ด (#151) * โป๏ธ refactor(#121): ํจ์๋ฅผ ๋ถ๋ฆฌํ์ฌ ํ์ ์ ๊ฒํจ์ผ๋ก์จ ํ์ ๋จ์ธ ๋ฐฉ์ด * ๐ fix(#121): ๊ธ์์ ์ ํ 15์๋ก ๋ณ๊ฒฝ * โจ feat(#121): ๋์๋ณด๋ ์์ฑ ์ ์์ฑ๋ ๋์๋ณด๋๋ก ์ด๋ * โจ Feat(#90): ๋น๋ฐ๋ฒํธ ์ํธํ (#164) * โ๏ธ chore(#90): .env๋ฅผ .gitignnore์ ์ถ๊ฐ * โ๏ธ chore(#90): sha256 ์ค์น * โจ feat(#90): ๋น๋ฐ๋ฒํธ ์ํธํ (๋๋ key๋ฅผ .env์ ์ ์ฅ) * ๐จ design(#171): ๋ด ๋์๋ณด๋ ๊ณ ์ ๋ ๋์์ธ ์์ (#175) * ๐จ design(#171): ๋ด ๋์๋ณด๋ ๊ณ ์ ๋ ๋์์ธ ์์ * ๐จ design(#162): HTML HEAD ์ค์ * ๐จ design(#171): ๋ด ๋์๋ณด๋ PC, Mobile ์ต๋ ๊ฐ๋ก ์ฌ์ด์ฆ ์ค์ * ๐จ design(#162): HTML ํ๋ฆฌ๋ทฐ ์ถ๊ฐ * ๐ Fix(#77): ์ฌ์์ฒญ ํ์ ์ ํ (#172) * ๐ fix(#85): ํค๋ ์์ (#169) * ๐ fix(#85): ํค๋ ๊ตฌ์ฑ์ ํ๋กํ ์ค๋ฅ ํด๊ฒฐ - ๊ตฌ์ฑ์ ์ซ์ ๋ฐ๋ฅด๊ฒ (totalCount) - ๊ตฌ์ฑ์ ์์ ๋ง๋ ์ฌ์ด์ฆ ๊ฐ๋๋ก - 385px์ผ ๋ ๋ ์ด์์ ๊นจ์ง์ง ์๋๋ก ๋ชจ๋ฐ์ผ ํค๋ ํจ๋ฉ ์ค์ * ๐จ design(#9, #171): ๋ชจ๋ฐ์ผ ์ฌ์ด์ฆ์์ ํค๋ ๋ฒํผ ์์ด์ฝ๋ง ๋ณด์ด๋๋ก ๋ณ๊ฒฝ * ๐ fix(#168): ๋์๋ณด๋ ์์ฑ์๊ฐ ์๋๋ฉด ๊ด๋ฆฌ ๋ฒํผ ๋ณด์ด์ง ์๋๋ก ํจ * ๐ fix(#171): ๋์์ธ ์ค๋ฅ ์์ - ์์น ์ ์ ํ๋๋ก header relative ์ค์ - z index ์ค์ * โจ Feat(#173): ๋ชจ๋ฌ ์ ์ฉํ๊ธฐ (#174) * โจ feat(#173): ๊ณ์ ๊ด๋ฆฌ - ํ๋กํ ๋ณ๊ฒฝ์ ๋ชจ๋ฌ ์ ์ฉ - ์ถ๊ฐ๋ก ๋ณ๊ฒฝ์ฌํญ ์์๋๋ง ๋ฒํผ ํ์ฑํ * โจ feat(#173): ๊ณ์ ๊ด๋ฆฌ - ๋น๋ฐ๋ฒํธ ๋ณ๊ฒฝ์ ๋ชจ๋ฌ ์ ์ฉ * โจ feat(#173): ๋์๋ณด๋ ์์ - ๊ตฌ์ฑ์ ์ญ์ ๋ชจ๋ฌ ์ฐ๊ฒฐ * ๐จ design(#121): ๋ชจ๋ฌ ํ ์คํธ ์ค๋ฐ๊ฟ ๋ฐ์, ๊ธ์จ ๊ฐ์ด๋ฐ์ ๋ ฌ * โจ feat(#173): ๋์๋ณด๋ ์์ - ๋์๋ณด๋ ์ญ์ ๊ธฐ๋ฅ ๊ตฌํ ๋ฐ ๋ชจ๋ฌ ์ฐ๊ฒฐ * โจ Feat(#82) : ๋ก๊ทธ์ธ ์ํ์ ๋ฐ๋ฅธ ๋ฆฌ๋ค์ด๋ ์ ๊ตฌํ (#154) * โจ feat(#82): ๋ก๊ทธ์ธ ์ํ์ ๋ฐ๋ฅธ ๋ฆฌ๋ค์ด๋ ์ ๊ตฌํ * ๐ fix(#82): ๋ฆฌ๋ค์ด๋ ํธ ๋ก์ง ์์ --------- Co-authored-by: un0211 <[email protected]> * โ๏ธHOTFIX(#82): ๋ฆฌ๋ค์ด๋ ์ ์ค ์ด์ ๋ชจ๋ฌ ์ฌ์ฉํ๋ ๋ถ๋ถ ์์ (#186) * ๐ fix(#185): ๋์๋ณด๋ ์ด๋ฆ ์์ ์ 15์ ๊ธธ์ด ์ ํ (#187) * ๐ fix(#185): ๋์๋ณด๋ ์ด๋ฆ ์์ ์ 15์ ๊ธธ์ด ์ ํ * ๐ fix(#185): ํ์๊ฐ์ ์ ๋๋ค์ 10์๋ก ๊ธธ์ด ์ ํ * โจ Feat(#156): ๋์๋ณด๋ ์ด๋ ์๋ฆผ ๊ธฐ๋ฅ ์ถ๊ฐ (#178) * ๐ rename(#156): ํค๋ ํด๋๊ตฌ์กฐ ๋ณ๊ฒฝ * โ๏ธ chore(#156): toastify ์ถ๊ฐ * โจ feat(#156): ์ด๋ ์๋ฆผ ํ ์คํธ ๊ตฌํ (3์ด๋ง๋ค ๊ฐฑ์ ) * ๐ rename(#156): ์์น ๋ณ๊ฒฝ, ์ฌ์์ฒญ ๊ฐ๊ฒฉ 5์ด๋ก ์กฐ์ * โจ Feat(#11): ํ ์ผ ์นด๋ ์์ฑ ๋ชจ๋ฌ ์ปดํฌ๋ํธ ๊ตฌํ (#184) * โจ feat(#11): ํ ์ผ ์นด๋ ๋ชจ๋ฌ ํผ๋ธ๋ฆฌ์ฑ ๋ฐ columnId ์ ๋ฌ * โจ feat(#11): ๋ด๋น์ ์ ํ ๋๋๋ค์ด ๊ตฌํ * โจ feat(#11): ํ ์ผ ์นด๋ ์์ฑ ๊ธฐ๋ณธ ํผ ๊ตฌํ * Merge branch 'develop' into feature/newCardModal * โจ feat(#11): ์์ฑ API ์ฐ๊ฒฐ * โจ feat(#11): ๋ชจ๋ฌ ํผ ๋์์ธ ์์ ๋ฐ isEdit ํ๋กญ ์ถ๊ฐ * โ๏ธ chore(#11): react-datepicker ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์น * โจ feat(#11): ์ด๋ฏธ์ง API ์์ * ๐ remove(#11): react-datepicker ์ ๊ฑฐ * ๐ fix(#11): ์ฝ๋ ๋ฆฌ๋ทฐ ๋ฐ์ * ๐จ design(#171): ์ ์ฒด ๋ ์ด์์๊ณผ ๋ด ๋์๋ณด๋ ๋์์ธ ๋ฌธ์ ์์ (#189) * ๐จ design(#171): ๋ด ๋์๋ณด๋ ๋์ด ๋์์ธ ๋ฌธ์ ์์ * ๐จ design(#171): ๋ด ๋์๋ณด๋ ํฐ์ ๋ถ๋ถ ์ต๋ ๋์ด ์ง์ * ๐จ design(#171): ๋ด ๋์๋ณด๋ ๋ชจ๋ฐ์ผ ํฌ๊ธฐ ์์ * ๐จ design(#171): ์ด๋๋ฐ์ ๋์๋ณด๋ ๋ชฉ๋ก ๋ฒํผ ํฌ๊ธฐ ์์ * ๐จ design(#171): ๋ ์ด์์ ์ ๋ฐ์ ์ธ ๋ฌธ์ ํด๊ฒฐ * ๐จ design(#171): ๋์๋ณด๋ ํ์ด์ง ๋ ์ด์์ ๊ฐ์ - ๋๋น ์กฐ์ (์ฌ์ด๋๋ฐ ํฌ๊ธฐ ๋ง๊ฒ, PC๋ง) - ๋์ด ์กฐ์ (full๋ก ์ฑ์ฐ๊ฒ) - section ์์ ๊ตณ์ด div ํ์ ์์ ๊ฒ ๊ฐ์ ์ญ์ --------- Co-authored-by: un0211 <[email protected]> * ๐จ Design(#171) ํค๋ ๊ด๋ จ ๋์์ธ ์์ ์ฌํญ (#190) * ๐จ design(#171): ๋๋ค์ ๊ธธ์ด๋ ํค๋ ๊นจ์ง์ง ์๊ฒ ๊ฐ๊ฒฉ ์กฐ์ * ๐จ design(#171): ๊ตฌ์ฑ์ ์์ ๋ง๊ฒ ๋ฉค๋ฒ ํ๋กํ ์์ญ ๋๋น ๋ณ๊ฒฝ * ๐จ design(#171): ํค๋ ๊ฐ๊ฒฉ ์ฌ์กฐ์ (ํจ๋ฉ ๋๋ฆฌ๊ธฐ) * ๐ fix(#168): ๋์๋ณด๋ ์ด๋ ์๋ฆผ ๋ฌธ์ ํด๊ฒฐ (#193) ๐ fix(#168): ๋์๋ณด๋ ์ด๋ ์๋ฆผ ๋น๋ก๊ทธ์ธ ์ ๊ณ์ ํธ์ถ๋๋ ๋ฌธ์ ํด๊ฒฐ * ๐ fix(#11): ์นด๋ ์์ฑ ๋ชจ๋ฌ ํ๊ทธ ์์ ์ถ๊ฐ (#195) * ๐ fix(#11): ์นด๋ ์์ฑ ๋ชจ๋ฌ ํ๊ทธ ์์ ์ถ๊ฐ * ๐ fix(#11): ํ๊ทธ ์ปดํฌ๋ํธ ์์ ๋ฐ ์ ์ฉ(์ญ์ ๊ธฐ๋ฅ ๋์ํ๋๋ก) --------- Co-authored-by: un0211 <[email protected]> * ๐จ design(#171): ๋ก๊ทธ์ธ/ํ์๊ฐ์ ์ฌ๋ฐฑ์ค์ (#191) * ๐จ design(#171): ๋ก๊ทธ์ธ/ํ์๊ฐ์ ์ฌ๋ฐฑ์ค์ * ๐จ design(#171): ๋ก๊ทธ์ธ/ํ์๊ฐ์ Tablet, PC ์ต๋ ๋์ด ์ง์ --------- Co-authored-by: jmj <[email protected]> * ๐ fix(#168): ์ด๋์๋ฆผ์์ user ์ ๊ทผ ์ ์๋ฌ ํด๊ฒฐ (#196) * โจ Feat: ํ ์ผ ์นด๋ ๋ชจ๋ฌ (#180) * ๐จ design(#127): ํ๊ทธ ํธ๋ฒ์ ์ปค์ ๋์์ธ ์์ * โป๏ธ refactor(#3): formatDate ํจ์ ์๊ฐ๊น์ง ๋ณผ ์ ์๋๋ก ์์ * ๐จ design(#12): ๋์๋ณด๋ ์คํฌ๋กค ํ๋ธ๋ฆฟ ์ดํ์์๋ ์๋ณด์ด๋๋ก ์์ * โจ feat(#3): ํ ์ผ์นด๋ ๋ชจ๋ฌ ์ ์ธ & ํ์ ์ ์ธ * โจ feat(#3): ํ ์ผ์นด๋ ๋ชจ๋ฌ ๊ด๋ จ API ํจ์ ์ถ๊ฐ - ๋๊ธ ์กฐํ, ์์ฑ, ์์ , ์ญ์ API ํจ์ ์ ์ - POST์ฉ CommentForm ํ์ ์ ์ * โจ feat(#3): ํ ์ผ์นด๋ ๋ชจ๋ฌ & ๋๊ธ ๊ธฐ๋ฅ ์ถ๊ฐ * ๐จ design(#3): ํ ์ผ์นด๋ ๋ชจ๋ฌ ๋ด์ ๋์์ธ ์์ - ์คํฌ๋กค ๋ณด์ด๊ฒ ํ๊ธฐ - (๊ผฝ์ฌ๋ฆฌ ์ปค๋ฐ) ๋ฐ์คํฌํฑ ํ๋ฉด์์ ์ปฌ๋ผ ๋๋น ๊ณ ์ ๋๋๋ก ์์ * ๐จ design(#127): ํ ์ผ์นด๋ ํ๊ทธ ์คํฌ๋กค/์ค๋ฐ๊ฟ ๋์์ธ ์ถ๊ฐ * โจ feat(#3): ์์ ํ๊ธฐ ๋๋กญ๋ค์ด ์ถ๊ฐ - ์์ ํ๊ธฐ/์ญ์ ํ๊ธฐ ๋๋กญ๋ค์ด ์ถ๊ฐ - ์นด๋ ์ญ์ DELETE API ํจ์ ์ ์ * ๐จ design(#3): ์์ ์นธ ํจ๋ฉ & ๋๊ธ ์ค๋ฐ๊ฟ ์ถ๊ฐ * ๐จ design(#3): ๋ด๋น์&๋ง๊ฐ์ผ ์น์ ์์ง ์ค์ ์ ๋ ฌ * ๐จ design(#3): ํ ์ผ์นด๋ ๋ชจ๋ฌ ๋ด ๋์์ธ ์ค๋ฅ ์์ * โ๏ธ chore(#3): ํ ์ผ์นด๋ ๋ชจ๋ฌ ๋ฐฐํฌ ํ ์คํธ * โจ Feat(#155): ๋์๋ณด๋ ๊ณต์ ๊ธฐ๋ฅ (#181) * ๐จ design(#155): ํ ๊ธ ๋์์ธ, ํด๋ฆญ ๊ธฐ๋ฅ ๊ตฌํ * โจ feat(#155): ๋์๋ณด๋ ์์ฑ ์ ๊ณต์ ์ ํํ๋ฉด ๊ณต์ ๊ณ์ ๋ฉค๋ฒ๋ก ์ถ๊ฐ * โจ feat(#155): ๋์๋ณด๋ ์์ ํ์ด์ง์์ ๊ณต์ on/off์ ๋ฐ๋ฅธ ๋ฉค๋ฒ ์ถ๊ฐ ์ญ์ * โจ feat(#155): ๊ณต์ ๊ณ์ ๋ฉค๋ฒ ์ญ์ ์ ์๋ ๊ณต์ ์ทจ์ * ๐จ design(#155): ๊ณต์ ์ ๋ก๊ทธ์ธ ์ํ ์ํ์์๋ ํค๋ ๋ณด์ด๊ฒ ๋ณ๊ฒฝ * ๐จ design(#157): 404 ํ์ด์ง์์ ํค๋ ๋ณด์ด๊ฒ ์์ ํ ๋์์ธ ์กฐ์ * ๐จ design(#155): ๋ก๊ทธ์ธ ์ํ ์ํ์์ ๊ณต์ ๋์๋ณด๋ ์ ๊ทผ ์ ์ฌ์ด๋๋ฐ ์ ๊ฑฐ *โ๏ธ style(#155): ์์ฐ๋ ์ฝ๋ ์ ๊ฑฐ * ๐ fix(#9, #155): ๋ฉค๋ฒ ์ญ์ ์ ์๋จ ๋ฉค๋ฒ ํ๋กํ์ ๋ฐ์ * โจ feat(#155, #168): ๊ด๋ฆฌ ํ์ด์ง ์ ๊ทผ ๊ถํ ์์ ๊ฒฝ์ฐ ๋ฆฌ๋ค์ด๋ ํธ * ๐ fix(#162): ํ๋ฆฌ๋ทฐ ์๋จ๋ ๋ฌธ์ ์์ (#204) * โ๏ธ HOTFIX(#24): ๋์๋ณด๋ ์์ฑ์ ๋ฉค๋ฒ ์ญ์ ๋ถ๊ฐ๋ฅํ๊ฒ ๋ณ๊ฒฝ (#203) ๐ fix(#24): ๋์๋ณด๋ ์์ฑ์ ๋ฉค๋ฒ ์ญ์ ๋ถ๊ฐ๋ฅํ๊ฒ ๋ณ๊ฒฝ * ๐จ design(#171): ๋๋ฉ ํ์ด์ง ๋์์ธ ์์ (#192) * ๐จ design(#171): ๋๋ฉ ํ์ด์ง ๊ฐ๋ก ํฌ๊ธฐ ์ค๋ฒ๋๋ ๋ฌธ์ ํด๊ฒฐ * ๐จ design(#171): ๋๋ฉ ํ์ด์ง ์ด๋ฏธ์ง ์์ * ๐ fix(#200): ๊ฐ์ ๋์๋ณด๋ ์ด๋๋ฅผ ํ๋๋ง ๋ฐ์ ์ ์๋๋ก ์์ (#201) * ๐จ Design(#153): ๋คํฌ ๋ชจ๋ ์ค์ (#197) * ๐จ design(#153): ๋คํฌ ๋ชจ๋ ์ถ๊ฐ * ๐จ design(#153): ๋ด ๋์๋ณด๋ ํ์ด์ง ๋คํฌ ๋ชจ๋ ์ถ๊ฐ * ๐จ design(#153): ๋ชจ๋ ํ์ด์ง, ๋ชจ๋ฌ ๋คํฌ ๋ชจ๋ ์ถ๊ฐ * ๐จ design(#153): ํ ์ผ ๋ชจ๋ฌ ๋๊ธ ๋คํฌ๋ชจ๋ ์ ์ฉ * ๐จ design(#153): ํ ๋ง ๋ฒํผ ์์ * ๐จ design(#153): ๋ฒํผ ๋์์ธ ์์ * ๐จ design(#153): ์ทจ์ ๋ฒํผ ์์ ๋ณ๊ฒฝ * ๐จ design(#153): ๋ก๊ทธ์ธ, ํ์๊ฐ์ ํ์ด์ง ๋คํฌ๋ชจ๋ ์ ์ฉ * โจ Feat(#18): ํ ์ผ ์นด๋ ์์ ๋ชจ๋ฌ ๊ตฌํ (#205) * โจ feat(#11): ํ ์ผ ์์ฑ ๋ชจ๋ฌ ์ปฌ๋ผ ๋๋๋ค์ด ์ถ๊ฐ * โจ feat(#11): ํ ์ผ ์นด๋ ์์ฑ ๋ฐ ์์ props ๋ณ๊ฒฝ * โจ feat(#11): ํ ์ผ ์นด๋ ๋ชจ๋ฌ ์์ ์์ฑ * โจ feat(#11): submit ๋ฒํผ ๋ก๋ฉ ์ disabled * ๐ remove(#11): ์ฃผ์ ์ ๊ฑฐ * โจ feat(#18): ์ปฌ๋ผ ๋ณํ ์์ ์ ์์ ๋ฒํผ ๋นํ์ฑํ * โจ feat(#11, #18): ์ ๋ชฉ ๊ธธ์ด ์ ํ ์ถ๊ฐ (ํ๊ธ 25์, ์์ด 50์) * ๐ fix(#198): ์ด๋๋ชฉ๋ก ๋ณ๋ ์๊ธธ ๊ฒฝ์ฐ๋ฅผ ๊ณ ๋ คํด ํํฐ๋ง ๊ธฐ์ค์ ์๊ฐ์ผ๋ก ๋ณ๊ฒฝ (#202) * โจ Feat(#210): ํ ์ผ ์นด๋ ์์ ๋ฐ ์์ฑ ์ถ๊ฐ ๊ธฐ๋ฅ ๊ตฌํ (#212) * โจ feat(#18): ์์ -> ์ทจ์ ์ ํ ์ผ ์นด๋ ๋ค์ ์คํ ๊ธฐ๋ฅ ๊ตฌํ * โจ feat(#11, #18): ์์ฑ ๋ฐ ์์ ์ ์นด๋ ์คํ * โจ feat(#11, #18): ๋ก๋ฉ ์คํผ๋ ๊ตฌํ * ๐ fix(#11, #18): ์์ฑ ์ ์์ฑ ์๋ฃ ๋ชจ๋ฌ๋ก ๋ณ๊ฒฝ ๋ฐ ํ์ ๋ณ๊ฒฝ * ๐ Fix(#153): ๋คํฌ๋ชจ๋๋ก ๋ฐ๋ ๋ฒํผ ๋์์ธ ๋ณต๊ท (#216) ๐จ design(#153): ๋คํฌ๋ชจ๋๋ก ๋ฐ๋ ๋ฒํผ ๋์์ธ ๋ณต๊ท * โจ Feat(#209): ํฐํธ ์ ์ฉ (#219) * ๐จ design(#209): ๋๋๊ณ ๋, Pretendard ํฐํธ ์ ์ฉ * ๐จ design(#209): ํ๋กํ ์์ด์ฝ์ ๋๋๊ณ ๋ ํฐํธ ์ ์ฉ * ๐ fix(#219): font weight 400 ๊ธฐ๋ณธ ์ค์ ๋ค์ ์ถ๊ฐ * ๐จ design(#217): ๋คํฌ๋ชจ๋ ์์ (#218) * ๐จ design(#217): ๋คํฌ๋ชจ๋ ์์ * ๐จ design(#153): ๋คํฌ๋ชจ๋๋ก ๋ฐ๋ ๋ฒํผ ๋์์ธ ๋ณต๊ท --------- Co-authored-by: un0211 <[email protected]> * ๐ Fix: ๋์๋ณด๋ ํ์ด์ง ๋ด ๋ฒ๊ทธ ์์ (#214) * โป๏ธ refactor(#12): ํ๋กญ id๋ช ์ dashboardId๋ก ์์ * ๐จ design(#180): ์์ ๋๋กญ๋ค์ด์ ์ํ z-index ์์ * ๐ fix(#180): ๋ ์ง๊ฐ -1๋ก ์ฐํ๋ ๋ฌธ์ ์์ (fix formatDate.ts) * ๐ fix(#182, #194): ์นด๋ ๋ฐ์ดํฐ ์ฟผ๋ฆฌ ๋ฌดํจํ ์ ์ฉ * ๐จ design(#171): ๋์๋ณด๋ ๋ด ์ข ํฉ ๋์์ธ ์์ - #207 : ์นด๋ ์ปดํฌ๋ํธ ๋๊ธ ๊ฐ์ ๋ณด์ฌ์ฃผ๊ธฐ - ๋์๋ณด๋ ๋ฐ์ํ ๋์์ธ ์์ - ์นด๋ ์ด๋ฏธ์ง placeholder ์ง์ - ํ๋กํ์ด๋ฏธ์ง ๊นจ์ง, ์นด๋ ์ ๋ชฉ ๊นจ์ง ์์ - ์นด๋์ ๋๊ธ์ด ์์ ๋ ๋น๋๊ธ ์ด๋ฏธ์ง ํ์ - ์นด๋ ์ค๋ช ๊ธ ์ค๋ฐ๊ฟ ๋ฐ์ - ์นด๋ ๋ชจ๋ฌ ๋ด ์ ๋๋ฉ์ด์ ๋ค ์ถ๊ฐ * โจ feat(#3): ๋๊ธ ์ ๋ ฅ ์์ด ์ ์ถํ๋ฉด ์๋ฌ๋ฉ์์ง ๋จ๋ ๊ธฐ๋ฅ ์ถ๊ฐ * ๐ fix(#4): ์นด๋๋ชจ๋ฌ ๋๊ธ ์น์ ๊น๋นก๊ฑฐ๋ฆผ ๋ฌธ์ ์์ (refetch ์ ์ฉ) * โจ feat(#166): ์ปฌ๋ผ ์น์ ์ค์ผ๋ ํค UI ์ ์ฉ * ๐ fix(#4): refetch & useEffect ํ ์ ์ปดํฌ๋ํธ ์ต์์ ๋ ๋ฒจ์์ ํธ์ถ๋๋๋ก ๋ถ๋ฆฌ * ๐จ design(#3): ๋๊ธ ์๋ฌ๋ฉ์์ง ํจ๋ฉ ์์ * ๐ fix(#4): ๋๊ธ ์๋ฌ๋ฅผ ๋ฒํผ disabled๋ก ๋ณ๊ฒฝ * ๐จ design(#184): ์นด๋ ๋ชจ๋ฌ ๋ด ํ๋กํ์์ด์ฝ ํฐํธ ํฌ๊ธฐ ์์ - ํ ์ผ ์์ฑ/์์ ์นด๋ ๋ด์ ํ๋กํ์์ด์ฝ - ๋๊ธ ๋ด์ ํ๋กํ์์ด์ฝ * ๐จ design(#171): ํ ์ผ์นด๋ ๋ชจ๋ฌ ๋ด ํ๋กํ ์์ด์ฝ ํฌ๊ธฐ ์์ * โป๏ธ refactor(#167): ๋ด ๋์๋ณด๋ ํ์ด์ง ์๋ฒ ์ฌ์ด๋ ๋ ๋๋ง ์ ์ฉ (#199) * โป๏ธ refactor(#167): ๋ด ๋์๋ณด๋ ํ์ด์ง ์๋ฒ ์ฌ์ด๋ ๋ ๋๋ง ์ ์ฉ * โป๏ธ refactor(#167): ๋ด ๋์๋ณด๋ ์๋ฒ ์ฌ์ด๋ ๋ ๋๋ง ์์ * ๐ fix(#167): ์๋ฒ์ฌ์ด๋ ์ค๋ณต ์ฝ๋ ์ ๊ฑฐ * ๐ fix(#167): ์ด๋ ๋ชฉ๋ก ํจ์ ์์ * ๐ fix(#167): ์ด๋ฏธ์ง ๋ถ๋ฌ์ค๋ ์ฑ๋ฅ ๊ฐ์ * ๐ fix(#167): ์ปจํ๋ฆญํธ ํด๊ฒฐ * โจ feat(#188): ๋์๋ณด๋ ์ฆ๊ฒจ์ฐพ๊ธฐ ์ถ๊ฐ (#213) * โจ feat(#188): ๋์๋ณด๋ ์ฆ๊ฒจ์ฐพ๊ธฐ API ์ถ๊ฐ * โจ feat(#188): ๋์๋ณด๋ ์ฆ๊ฒจ์ฐพ๊ธฐ 3๊ฐ ์ ํ ๊ธฐ๋ฅ ์ถ๊ฐ * โจ feat(#188): ๋์๋ณด๋ ์ฆ๊ฒจ์ฐพ๊ธฐ ์ฌ์ด๋๋ฐ์ ์ถ๊ฐ * ๐ fix(#188): ๋์๋ณด๋ ์ฆ๊ฒจ์ฐพ๊ธฐ ๊ฐฏ์ ์ ํ ์์ * ๐ fix(#188): ๋์๋ณด๋ ๊ฐฏ์ ์ ํ ์์ * ๐ fix(#188): request.http ์ ๊ฑฐ * ๐ fix(#188): ๋์๋ณด๋ ์ฆ๊ฒจ์ฐพ๊ธฐ ์ ์ ๋ง๋ค ๋ฐ์์ค๊ฒ ์ค์ * ๐ fix(#188): ์ฆ๊ฒจ์ฐพ๊ธฐ ์ ๊ฑฐ๊ธฐ๋ฅ ์์ * ๐ fix(#188): ์ฆ๊ฒจ์ฐพ๊ธฐ ์ต๋ 3๊ฐ๊น์ง ์ถ๊ฐ ๊ฐ๋ฅํ๊ฒ ์์ * ๐ fix(#188): ์ฆ๊ฒจ์ฐพ๊ธฐ ์ถ๊ฐ ์๋๋ ๋ฒ๊ทธ ์์ * ๐ fix(#188): ์ฆ๊ฒจ์ฐพ๊ธฐ ์๋ฌ ์์ * ๐ fix(#188): ์ฆ๊ฒจ์ฐพ๊ธฐ useFetchData ์ฌ์ฉํด์ ๋ถ๋ฌ์ค๊ฒ ์์ * ๐ fix(#188): ์ฆ๊ฒจ์ฐพ๊ธฐ ๋ฒ๊ทธ ์์ * ๐ Fix(#168): ๊ถํ์ ๋ฐ๋ฅธ ํ์ด์ง ์ ๊ทผ ์ ์ด (#211) * ๐ fix(#82): ํ ์ต์์์์๋ง ์ฐ๋๋ก ๋ณ๊ฒฝ * ๐ fix(#168): ๊ณต์ ๊ณ์ ์ผ๋ก ํ๋ ์์ฒญ ์ ํ * ๐ fix(#168): ์์ฑ์๊ฐ ์๋ ๊ฒฝ์ฐ ๋์๋ณด๋ ๊ด๋ฆฌ ํ์ด์ง ์ ๊ทผ์ ๋ฆฌ๋ค์ด๋ ํธ * ๐จ design(#168): ๋์๋ณด๋ ๊ด๋ฆฌํ์ด์ง ์๋ฌ๋ฌธ๊ตฌ ๊ฐ์ * ๐ fix(#168): ๋์๋ณด๋ ๊ด๋ฆฌํ์ด์ง ์ ๊ทผ ์์ ์ ์ด, ๋ฆฌ๋ค์ด๋ ํธ ํ ํ์ ๋ณ๊ฒฝ * ๐ fix(#168): ๋์๋ณด๋ ์ ๊ทผ ์ ์ด * ๐จ design(#168, #41): ๊ณต์ ๋์๋ณด๋ ๋น๋ก๊ทธ์ธ ์ํ์ผ๋ ๋ ์ด์์ ๊ฝ ์ฐจ๊ฒ * ๐ fix(#168): ๊ณต์ ๊ณ์ ์์ ๋ชจ๋ ์์ ๊ธฐ๋ฅ ๋นํ์ฑํ * ๐ fix(#4, #21): ๋ณ๊ฒฝ์ฌํญ ์์ ์ ๋ฒํผ ๋นํ์ฑํ (๋๊ธ์์ , ์ปฌ๋ผ ์์ * ๐ fix(#168): ๋ฆฌ๋ค์ด๋ ํธ ์์ (๋๋ฉ, 404) - ๋๋ฉ: ๋ก๊ทธ์ธ ์ํ์ผ๋ ๋ชจ๋ฌ ์์ด ๋ฐ๋ก ๋์ ๋์๋ณด๋๋ก - 404: 3์ด ๋ค ๋ก๊ทธ์ธ ์ฌ๋ถ์ ๋ฐ๋ผ ๋๋ฉ or ๋์ ๋์๋ณด๋๋ก * ๐ fix(#168): ๋ฉค๋ฒ๊ฐ ์๋ ๋ก๊ทธ์ธ ํ ์ฌ๋๋ ์์ ๋ฒํผ ๋นํ์ฑํ * ๐จ design(#13): ๋์๋ณด๋ ์ปฌ๋ผ ๊ธธ์ด ์์ (#220) * ๐ fix(#212, #211): ๋ฐฐํฌ ์ค๋ฅ ํด๊ฒฐ (#222) * ๐ fix(#212): postCardDat -> PostCardData * ๐ fix(#211): ํ ์ผ ์นด๋ ๋ชจ๋ฌ ์ฌ๋ ๊ณณ๋ง๋ค isMember ์ธ์ ์ถ๊ฐ * ๐ fix(#212): postCardDat -> PostCardData * ๐ fix(#214): ํ ์ผ ์์ ์์ ์ปฌ๋ผ ๋ณ๋ ์ ๋ ์ปฌ๋ผ ๋ชจ๋ ์๋ก๊ณ ์นจํ๋๋ก ์์ (#223) * ๐ fix(#198): ์ฒซ ๋ฒ์งธ ์ด๋๋ ์๋ ์ฌ ์ ์๊ฒ ๋ณ๊ฒฝ (#224) * ๐จ design(#188): ์ฌ์ด๋๋ฐ ์ฆ๊ฒจ์ฐพ๊ธฐ ๊ธ์ ์์ (#221) * ๐จ design(#188): ์ฌ์ด๋๋ฐ ์ฆ๊ฒจ์ฐพ๊ธฐ ๋ชจ๋ฐ์ผ ์ฌ์ด์ฆ์์ ์์ด์ฝ์ผ๋ก ๋ณ๊ฒฝ * ๐จ design(#188): ์ฌ์ด๋๋ฐ ์ฆ๊ฒจ์ฐพ๊ธฐ ๊ธ์ ์์ * ๐จ design(#188): ์ฌ์ด๋๋ฐ ๋์์ธ ์์ * ๐จ design(#153): ๋คํฌ๋ชจ๋ ๋ฒํผ ์์น ์์ (#228) * ๐จ design(#153): ๋คํฌ๋ชจ๋ ๋ฒํผ ์์น ์์ - ๋๋ฉ ํ์ด์ง๋ ํญ์ light ๋ชจ๋๋ก ๊ณ ์ * ๐จ design(#181): ํ ๊ธ ์์ด ์ ๊ฐ์ด๋ฐ ์ค๋๋ก ๋์ด๊ณ ์ --------- Co-authored-by: un0211 <[email protected]> * โป๏ธ refactor(#226): ์ฆ๊ฒจ์ฐพ๊ธฐ ๊ธฐ๋ฅ ์ต์ ํ (#227) * โป๏ธ refactor(#188): ์ฆ๊ฒจ์ฐพ๊ธฐ ๊ธฐ๋ฅ ์ต์ ํ - ์ฆ๊ฒจ์ฐพ๊ธฐ์ฉ ์ ์ ์ ๋ณด๋ฅผ Redux์ ์ ์ฅํ๋๋ก ๋ณ๊ฒฝ - ์ฆ๊ฒจ์ฐพ๊ธฐ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๋ ์์ฒญ์ ์ต์ํ * ๐ fix(#226): ์ด๊ธฐ๊ฐ ํ๋ฒ๋ง ๋ถ๋ฌ์ค๊ฒ ๋ณ๊ฒฝ * ๐ fix(#226): ๋ก๊ทธ์์ ์ ์ฆ๊ฒจ์ฐพ๊ธฐ ์ ๋ณด ์ ๋ฆฌ --------- Co-authored-by: un0211 <[email protected]> * โจ Feat: ์นด๋๋ชฉ๋ก, ๋๊ธ๋ชฉ๋ก ๋ฌดํ์คํฌ๋กค ์ ์ฉ & ๊ธฐํ ๋ฆฌํฉํ ๋ง (#225) * โป๏ธ refactor(#3): ๋๊ธ ์น์ refetch - ์ธ๋ง์ดํธ์ ์ฟผ๋ฆฌ๋ฅผ ์ทจ์ํ๋๋ก ๋ณ๊ฒฝ * ๐จ design(#166): ์ปฌ๋ผ์น์ ์ค์ผ๋ ํค ์์ * ๐ remove(#41): ์ฐ์ง ์๋ index.tsx ํ์ผ ์ญ์ * โป๏ธ refactor(#4): ๋๊ธ ์์ฑ ๋ ์ง(UTC)๋ ํฌ๋งท๋ ์ ์๋๋ก formatDate.ts ๋ฆฌํฉํ ๋ง * ๐จ design(#166): ๋คํฌ๋ชจ๋ ์ปฌ๋ผ ์ค์ผ๋ ํค ์์ ์์ * โจ feat(#13): ์ปฌ๋ผ ๋ด ์นด๋ ๋ฌดํ์คํฌ๋กค ์ ์ฉ - 10๊ฐ๋ฅผ ๊ธฐ๋ณธ์ผ๋ก ๋ก๋ํ๊ณ , ์ดํ๋ก๋ 1๊ฐ์ฉ ๋ก๋ - ๋ก๋ ์ค์ธ ์นด๋๋ ๋ก๋ฉ ์คํผ๋๋ก ๋์ฒด - getCardsList() ์๋น์ค ํจ์ ๋ก์ง ์์ * ๐จ design(#166): ๋ก๋ฉ ์คํผ๋ ๋ผ์ดํธ๋ชจ๋์์ ์์๋ฐ์ * ๐ fix(#13): ์นด๋ ํจ์น ๊ฐ์ 5๊ฐ๋ก ์์ * โจ feat(#4): ํ ์ผ์นด๋ ๋ด ๋๊ธ๋ชฉ๋ก ๋ฌดํ์คํฌ๋กค ์ ์ฉ * โจ feat(#4): ํ ์ผ์นด๋ ๋ด ๋๊ธ๋ชฉ๋ก ๋ฌดํ์คํฌ๋กค ์ ์ฉ * โป๏ธ refactor(#58): getComments ์๋น์ค ํจ์ ์์ * ๐จ design(#207): ๋๊ธ์ด 10๊ฐ ์ด์์ด๋ฉด 10+๋ก ๋ณด์ด๋๋ก ์ง์ * ๐จ design(#166): ๋์๋ณด๋ ํ์ด์ง, ์ปฌ๋ผ ์น์ ์ ๋ก๋ฉ ์คํผ๋ ์ ์ฉ * โป๏ธ refactor(#194): ์ฐ์ง ์๋ refetch ํจ์ ์ ๊ฑฐ * ๐จ design(#166): ์นด๋ ๋ก๋ฉ์คํผ๋ ํฌ๋ช ๋ ์์ * ๐จ design(#4): ์ปฌ๋ผ์น์ ๋ด ์นด๋์ถ๊ฐ ๋ฒํผ ๋์ด ์์ * ๐ docs(#165): README.md ์์ (#215) * ๐ docs(#165): ํ์ผ README.md 1์ฐจ ์์ (์ด๋ฏธ์ง, ํ์ํ๊ธฐ ์ถ๊ฐ ํ์) * ๐ docs(#165): ๋๋๊ทธ ์ค ๋๋กญ ์ค๋ช ์ถ๊ฐ * ๐ docs(#165): ์ฆ๊ฒจ์ฐพ๊ธฐ ์ค๋ช ์ถ๊ฐ * ๐ docs(#165): ๋คํฌ๋ชจ๋ ์ค๋ช ์ถ๊ฐ * ๐ docs(#165): ์ฆ๊ฒจ์ฐพ๊ธฐ ์ค๋ช ์์ * ๐ docs(#165): ์ ์ ํ๋ก์ฐ ์ถ๊ฐ * ๐ docs(#165): ํ์ด์ง ์ด๋ฏธ์ง์ ์ผ๋ถ ์ค๋ช ์ถ๊ฐ * ๐ docs(#165): ์์ฐ์์ ์ถ๊ฐ --------- Co-authored-by: Jiyun Kim <[email protected]> Co-authored-by: jmj <[email protected]> --------- Co-authored-by: DAEYANG LEE <[email protected]> Co-authored-by: JMJ <[email protected]> Co-authored-by: Jiyun Kim <[email protected]> Co-authored-by: jmj <[email protected]>







์ฐ๊ด๋ ์ด์
์์ ๋ด์ฉ
๋์๋ณด๋ ํ์ด์ง ๋ด ์ปฌ๋ผ ์น์ , ํ ์ผ์นด๋ ๋ชจ๋ฌ ๋ฒ๊ทธ ์์
์นด๋ ์ปดํฌ๋ํธ
ํ ์ผ์นด๋ ๋ชจ๋ฌ
์ถ๊ฐ์ฌํญ
์คํฌ๋ฆฐ์ท
์ฝ๋ฉํธ ๋ฐ ๋ ผ์ ์ฌํญ
#171 ์ด์์ ๋์์ธ ๋ฒ๊ทธ & ์นด๋ ๋ฐ์ดํฐ ์ฟผ๋ฆฌ ๋ฌดํจํ & ๋๊ธ ์น์ ๊น๋นก๊ฑฐ๋ฆผ ๋ฌธ์ ๋ค์ ์์ ํ์ต๋๋ค!
์ถ๊ฐ์ค๋ช ์ ์ฝ๋ฉํธ ๋จ๊ฒจ๋๊ฒ ์ต๋๋ค!