diff --git a/src/app/(with-header-sidebar)/mypage/_components/AlertModal.module.css b/src/app/(with-header-sidebar)/mypage/_components/AlertModal.module.css new file mode 100644 index 0000000..1921720 --- /dev/null +++ b/src/app/(with-header-sidebar)/mypage/_components/AlertModal.module.css @@ -0,0 +1,31 @@ +.modal { + display: flex; + flex-direction: column; + align-items: center; + gap: 32px; + font-size: 16px; + font-weight: 500; + line-height: 26px; + color: var(--black-100); + padding: 32px 40px; +} + +.button { + font-size: 14px; + font-weight: 600; + line-height: 24px; + padding: 9px 83.5px; +} + +@media screen and (min-width: 768px) { + .modal { + font-size: 20px; + line-height: 32px; + padding: 40px 64px; + } + .button { + font-size: 16px; + line-height: 26px; + padding: 11px 106px; + } +} diff --git a/src/app/(with-header-sidebar)/mypage/_components/AlertModal.tsx b/src/app/(with-header-sidebar)/mypage/_components/AlertModal.tsx new file mode 100644 index 0000000..1150b36 --- /dev/null +++ b/src/app/(with-header-sidebar)/mypage/_components/AlertModal.tsx @@ -0,0 +1,17 @@ +import { ReactNode } from 'react'; +import Button from '@/components/Button'; +import styles from './AlertModal.module.css'; +import useModalStore from '../_store/modalStore'; + +export default function AlertModal({ children }: { children: ReactNode }) { + const { closeModal } = useModalStore(); + + return ( +
+ {children} + +
+ ); +} diff --git a/src/app/mypage/components/FileInput.module.css b/src/app/(with-header-sidebar)/mypage/_components/FileInput.module.css similarity index 60% rename from src/app/mypage/components/FileInput.module.css rename to src/app/(with-header-sidebar)/mypage/_components/FileInput.module.css index f9a08af..767db80 100644 --- a/src/app/mypage/components/FileInput.module.css +++ b/src/app/(with-header-sidebar)/mypage/_components/FileInput.module.css @@ -20,6 +20,26 @@ display: none; } +.image { + border-radius: 8px; +} + +.hoverContent { + opacity: 0; + transition: opacity 0.3s ease-in-out; +} + +.label:hover .image { + filter: brightness(50%); + transition: filter 0.3s ease-in-out; +} + +.label:hover .hoverContent { + opacity: 1; + transition: opacity 0.3s ease-in-out; + z-index: 1; +} + @media screen and (min-width: 768px) { .label { width: 182px; diff --git a/src/app/mypage/components/FileInput.tsx b/src/app/(with-header-sidebar)/mypage/_components/FileInput.tsx similarity index 78% rename from src/app/mypage/components/FileInput.tsx rename to src/app/(with-header-sidebar)/mypage/_components/FileInput.tsx index 11f1b56..9bd3793 100644 --- a/src/app/mypage/components/FileInput.tsx +++ b/src/app/(with-header-sidebar)/mypage/_components/FileInput.tsx @@ -1,3 +1,5 @@ +'use client'; + import { useEffect } from 'react'; import { ChangeEvent, useState } from 'react'; import Image from 'next/image'; @@ -31,7 +33,16 @@ export default function FileInput({ name, setValue, url, id }: FileInputProps) { <>