-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[Feat] Gallery List Page & Component κ°λ° (#471)
* feat: header μμ± * feat: gallery card view * feat: list view card ꡬν * feat: filter tab click style μΆκ° * feat: layout μμ , animation μΆκ° * feat: λͺ ν¨ μ λ νλ² λλ₯΄λ©΄ λ€μλ 보μ΄μ§ μλλ‘ * refactor: card open λ‘μ§ λΆλ¦¬ * feat: modal add * feat: modal content style μΆκ° * feat: gallery λͺ ν¨ κ²μ μ»΄ν¬λνΈ μΆκ°, API μ°κ²°λ§ νλ©΄ λ¨. * feat: λ΄ κ°€λ¬λ¦¬ ν리뷰 μ‘°ν API μ°κ²°, λλ―Έ μΆκ° * feat: λ΄ μΉ΄λ (ME) tag μΆκ° * refactor: div ꡬ쑰 λ³κ²½ * chore: νμ±λ 리뷰 λ°μ * refactor: gallery header κ³΅ν΅ μ»΄ν¬λνΈλ‘ λΆλ¦¬ * fix: api λ³κ²½μ¬ν μ μ© * λ΄ λͺ ν¨ μ λ‘λ κΈ°λ₯ μΆκ° (#473) * feat: μ‘°ν API μ°κ²°, μλ΅κ° μμ λ°μ * feat: λμ κ°€λ¬λ¦¬ preview api μ°κ²° λ° μ€μΌλ ν€ μΆκ° * feat: survey submit mutate μΆκ° * feat: λͺ ν¨ κ²μ ν μλ¬ νΈλ€λ§ * feat: λͺ ν¨ μ λ‘λ ν 리ν¨μΉ * refactor: ν·κ°λ¦¬λ λ€μ΄λ° μμ * refactor: μλ²μμ λ΄ λͺ ν¨μ΄ μλμ§ νμΈνλ λ‘μ§ μμ * λͺ ν¨ κ°€λ¬λ¦¬ μ‘°ν & νν° μΆκ° (#475) * feat: μ νν νν° νμ λ°λΌ μ λ ¬ μμ λ³κ²½ * feat: λͺ ν¨ filter position -> job * refactor: key μΆκ° (μ λ맀μ΄μ ) --------- Co-authored-by: byun sumi <[email protected]> * refactor: 리뷰 μ μ© --------- Co-authored-by: byun sumi <[email protected]> * μ¬μ΄λ ꡬν (#481) * refacotor: μ½λ μ 리 λ° μ λ맀μ΄μ μΆκ° * feat: μ μ μ 보 API μ°κ²° * style: menu list style μΆκ° * refactor: μ½λ리뷰 μ μ© --------- Co-authored-by: byun sumi <[email protected]> * λͺ ν¨ κ°€λ¬λ¦¬ λΆλ§ν¬ μΆκ° / μμ κΈ°λ₯ (#480) * feat: μ‘°ν API μ°κ²°, μλ΅κ° μμ λ°μ * feat: λμ κ°€λ¬λ¦¬ preview api μ°κ²° λ° μ€μΌλ ν€ μΆκ° * feat: survey submit mutate μΆκ° * feat: λͺ ν¨ κ²μ ν μλ¬ νΈλ€λ§ * feat: λͺ ν¨ μ λ‘λ ν 리ν¨μΉ * feat: μ νν νν° νμ λ°λΌ μ λ ¬ μμ λ³κ²½ * feat: λͺ ν¨ filter position -> job * refactor: key μΆκ° (μ λ맀μ΄μ ) * feat: bookmark add and get api μ°κ²° μΆκ° * refactor: refetching λ‘μ§ μΆκ° * feat: add bookmark λ‘μ§ νμΈ * feat: λ΄ μΉ΄λ κ²μ¦ λ° λΆλ§ν¬ μ²΄ν¬ * feat: bookmark μμ κΈ°λ₯ μΆκ° * feat: card clickμ νμ΄μ§ μ΄λ * refactor: ν·κ°λ¦¬λ λ€μ΄λ° μμ * refactor: μλ²μμ λ΄ λͺ ν¨μ΄ μλμ§ νμΈνλ λ‘μ§ μμ * refactor: bookmark state μ κ±° * λͺ ν¨ κ°€λ¬λ¦¬ μ‘°ν & νν° μΆκ° (#475) * feat: μ νν νν° νμ λ°λΌ μ λ ¬ μμ λ³κ²½ * feat: λͺ ν¨ filter position -> job * refactor: key μΆκ° (μ λ맀μ΄μ ) --------- Co-authored-by: byun sumi <[email protected]> * λ΄κ° μ μ₯ν λͺ ν¨ νμ΄μ§ μΆκ° (#482) * feat: λ΄κ° λΆλ§ν¬ν 리μ€νΈ 보μ¬μ£ΌκΈ° * feat: λΆλ§ν¬ μμ λ° λ¦¬νλ μ± * feat: νμ΄ν μΆκ°, λΉμλ€λ μλ΄ μΆκ° * refactor: todo λ° λ¦¬λ·° μ μ© * refactor: μ£Όμ μ κ±° --------- Co-authored-by: byun sumi <[email protected]> * fix: build error fix * feat: menu herf μΆκ° * fix: λμΉ λΆλΆ μμ * refactor: interface λΆλ¦¬ * refactor: νμ±λ 리뷰 μ μ© * refactor: λΉ μ§ λΆλΆ μμ --------- Co-authored-by: byun sumi <[email protected]>
- Loading branch information
Showing
56 changed files
with
2,021 additions
and
28 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,63 @@ | ||
import { css, type Theme } from '@emotion/react'; | ||
|
||
import { MenuBarIcon } from '~/components/icons/MenuIcon'; | ||
import SideMenu from '~/components/sideMenu/SideMenu'; | ||
import useBoolean from '~/hooks/common/useBoolean'; | ||
import { HEAD_1_BOLD } from '~/styles/typo'; | ||
|
||
// NOTE: MobileHeader μμ λ€μ΄λ°, μΆν μμ νμ | ||
interface Props { | ||
title: string; | ||
} | ||
|
||
function MobileHeader(props: Props) { | ||
const [isSideMenuOpen, toggleSideMenu] = useBoolean(false); | ||
|
||
return ( | ||
<> | ||
<header css={headerCss}> | ||
<h1>{props.title}</h1> | ||
<button type="button" css={menuButtonCss} onClick={toggleSideMenu}> | ||
<MenuBarIcon color="#394258" /> | ||
</button> | ||
</header> | ||
<div css={blankCss} /> | ||
<SideMenu isOpen={isSideMenuOpen} onClose={toggleSideMenu} /> | ||
</> | ||
); | ||
} | ||
|
||
export default MobileHeader; | ||
|
||
const menuButtonCss = css` | ||
height: 48px; | ||
`; | ||
|
||
const headerCss = (theme: Theme) => css` | ||
position: fixed; | ||
z-index: ${theme.zIndex.aboveDefault}; | ||
top: 0; | ||
right: 0; | ||
left: 0; | ||
display: flex; | ||
align-items: center; | ||
justify-content: space-between; | ||
width: 100vw; | ||
max-width: ${theme.size.maxWidth}; | ||
height: 60px; | ||
margin-inline: auto; | ||
padding: 0 20px; | ||
background-color: ${theme.colors.white}; | ||
h1 { | ||
${HEAD_1_BOLD}; | ||
} | ||
`; | ||
|
||
const blankCss = css` | ||
width: 100%; | ||
height: 60px; | ||
`; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
import { type ComponentProps } from 'react'; | ||
|
||
import type Svg from '../svg/Svg'; | ||
|
||
function AlignUpdatedIcon({ width = 21, height = 20, color = '#1D2942', ...rest }: ComponentProps<typeof Svg>) { | ||
return ( | ||
<svg | ||
viewBox="0 0 21 20" | ||
fill="none" | ||
xmlns="http://www.w3.org/2000/svg" | ||
width={width} | ||
height={height} | ||
color={color} | ||
{...rest} | ||
> | ||
<path | ||
d="M10.7 3.28003C14.23 3.28003 17.13 5.89003 17.62 9.28003H19.7L16.2 13.28L12.7 9.28003H15.02C14.7963 8.30114 14.2473 7.42701 13.4626 6.8004C12.678 6.17379 11.7041 5.83171 10.7 5.83003C9.24999 5.83003 7.96999 6.54003 7.15999 7.61003L5.44999 5.66003C6.1045 4.91159 6.91167 4.31195 7.81722 3.90143C8.72278 3.49092 9.70573 3.27903 10.7 3.28003ZM10.3 16.72C6.77999 16.72 3.86999 14.11 3.37999 10.72H1.29999L4.79999 6.72003C5.96999 8.05003 7.12999 9.39003 8.29999 10.72H5.97999C6.2037 11.6989 6.7527 12.5731 7.53733 13.1997C8.32196 13.8263 9.29586 14.1684 10.3 14.17C11.75 14.17 13.03 13.46 13.84 12.39L15.55 14.34C14.8961 15.0892 14.0891 15.6894 13.1834 16.1C12.2777 16.5106 11.2944 16.722 10.3 16.72Z" | ||
// fill="#1D2942" | ||
fill="currentColor" | ||
/> | ||
</svg> | ||
); | ||
} | ||
|
||
export default AlignUpdatedIcon; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
import { type ComponentProps } from 'react'; | ||
|
||
import Svg from '~/components/svg/Svg'; | ||
|
||
function CheckCircleIcon({ width = 24, height = 24, color = '#CDE7AC', ...rest }: ComponentProps<typeof Svg>) { | ||
return ( | ||
<Svg xmlns="http://www.w3.org/2000/svg" width={width} height={height} viewBox="0 0 24 24" fill="none" {...rest}> | ||
<path | ||
fillRule="evenodd" | ||
clipRule="evenodd" | ||
d="M17.207 10.215L11.624 15.799C11.4359 15.9858 11.1816 16.0906 10.9165 16.0906C10.6514 16.0906 10.3971 15.9858 10.209 15.799L6.793 12.383C6.70016 12.2902 6.62651 12.1799 6.57626 12.0586C6.52601 11.9373 6.50015 11.8073 6.50015 11.676C6.50015 11.4108 6.60549 11.1565 6.793 10.969C6.98051 10.7815 7.23482 10.6762 7.5 10.6762C7.76518 10.6762 8.01949 10.7815 8.207 10.969L10.916 13.678L15.793 8.801C15.8858 8.70816 15.9961 8.63451 16.1174 8.58426C16.2387 8.53401 16.3687 8.50815 16.5 8.50815C16.6313 8.50815 16.7613 8.53401 16.8826 8.58426C17.0039 8.63451 17.1142 8.70816 17.207 8.801C17.2998 8.89384 17.3735 9.00407 17.4237 9.12537C17.474 9.24668 17.4998 9.3767 17.4998 9.508C17.4998 9.6393 17.474 9.76932 17.4237 9.89063C17.3735 10.0119 17.2998 10.1222 17.207 10.215ZM12 1C5.925 1 1 5.925 1 12C1 18.075 5.925 23 12 23C18.075 23 23 18.075 23 12C23 5.925 18.075 1 12 1Z" | ||
fill={color} | ||
/> | ||
</Svg> | ||
); | ||
} | ||
|
||
export default CheckCircleIcon; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
import React, { type ComponentProps } from 'react'; | ||
|
||
import Svg from '~/components/svg/Svg'; | ||
|
||
function MinusCircleIcon({ width = 24, height = 24, color = '#F85B81', ...rest }: ComponentProps<typeof Svg>) { | ||
return ( | ||
<Svg viewBox="0 0 24 24" fill="none" width={width} height={height} {...rest}> | ||
<path | ||
fillRule="evenodd" | ||
clipRule="evenodd" | ||
d="M16.492 13.061H7.492C7.34999 13.0654 7.20856 13.0412 7.07608 12.9898C6.9436 12.9385 6.82279 12.8611 6.7208 12.7622C6.6188 12.6633 6.53771 12.5449 6.48234 12.414C6.42696 12.2832 6.39843 12.1426 6.39843 12.0005C6.39843 11.8584 6.42696 11.7178 6.48234 11.587C6.53771 11.4561 6.6188 11.3377 6.7208 11.2388C6.82279 11.1399 6.9436 11.0625 7.07608 11.0112C7.20856 10.9598 7.34999 10.9356 7.492 10.94H16.492C16.7676 10.9485 17.0291 11.0639 17.2211 11.2619C17.4131 11.4598 17.5204 11.7247 17.5204 12.0005C17.5204 12.2763 17.4131 12.5412 17.2211 12.7391C17.0291 12.9371 16.7676 13.0525 16.492 13.061ZM12 1C5.925 1 1 5.925 1 12C1 18.076 5.925 23 12 23C18.075 23 23 18.076 23 12C23 5.925 18.075 1 12 1Z" | ||
fill={color} | ||
/> | ||
</Svg> | ||
); | ||
} | ||
|
||
export default MinusCircleIcon; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,110 @@ | ||
import Link from 'next/link'; | ||
import { useRouter } from 'next/router'; | ||
import { css } from '@emotion/react'; | ||
|
||
import BookmarkIcon from '~/components/icons/BookmarkIcon'; | ||
import useKakaoLogin from '~/hooks/auth/useKakaoLogin'; | ||
|
||
function MenuSection() { | ||
const router = useRouter(); | ||
const { logOutHandler } = useKakaoLogin(); | ||
|
||
const MENU_LIST: { | ||
id: string; | ||
label: string; | ||
href?: string; | ||
action?: () => void; | ||
}[] = [ | ||
{ | ||
id: 'bookmark-card', | ||
label: 'μ μ₯ν λͺ ν¨', | ||
href: '/gallery/bookmarks', | ||
}, | ||
{ | ||
id: 'logout', | ||
label: 'λ‘κ·Έμμ', | ||
action: () => { | ||
// μ€ νκ²½μμ λλμ§ μ²΄ν¬ | ||
logOutHandler(); | ||
router.replace('/'); | ||
}, | ||
}, | ||
// { | ||
// id: 'terms', | ||
// label: 'μ½κ΄ λ° μ μ± ', | ||
// href: '#', | ||
// }, | ||
// { | ||
// id: 'suggest', | ||
// label: '건μνκΈ°', | ||
// href: '#', | ||
// }, | ||
// { | ||
// id: 'withdraw', | ||
// label: 'νμνν΄', | ||
// href: '#', | ||
// }, | ||
]; | ||
|
||
return ( | ||
<section> | ||
<ul css={menuListCss}> | ||
{MENU_LIST.map((menu) => { | ||
if (menu.href) { | ||
return ( | ||
<Link | ||
key={menu.id} | ||
href={menu.href} | ||
style={{ | ||
all: 'unset', | ||
}} | ||
> | ||
<li css={menuItemCss}> | ||
<BookmarkIcon isBookmarked={false} width={20} height={20} color="#fff" /> | ||
<span>{menu.label}</span> | ||
</li> | ||
</Link> | ||
); | ||
} | ||
if (menu.action) { | ||
return ( | ||
<button type="button" key={menu.id} onClick={menu.action}> | ||
<li css={menuItemCss}> | ||
<BookmarkIcon isBookmarked={false} width={20} height={20} color="#fff" /> | ||
<span>{menu.label}</span> | ||
</li> | ||
</button> | ||
); | ||
} | ||
|
||
return null; | ||
})} | ||
</ul> | ||
</section> | ||
); | ||
} | ||
|
||
export default MenuSection; | ||
|
||
const menuListCss = css` | ||
display: flex; | ||
flex-direction: column; | ||
gap: 12px; | ||
`; | ||
|
||
const menuItemCss = css` | ||
cursor: pointer; | ||
display: flex; | ||
gap: 8px; | ||
align-items: center; | ||
padding: 8px 20px; | ||
color: #fff; | ||
span { | ||
display: inline-block; | ||
text-decoration: none; | ||
} | ||
`; |
Oops, something went wrong.