diff --git a/public/assets/image/iPhone.png b/public/assets/image/iPhone.png deleted file mode 100644 index 10c5d1f..0000000 Binary files a/public/assets/image/iPhone.png and /dev/null differ diff --git a/public/assets/image/iPhone_status.png b/public/assets/image/iPhone_status.png deleted file mode 100644 index 20e47c4..0000000 Binary files a/public/assets/image/iPhone_status.png and /dev/null differ diff --git a/public/assets/sprites/common.svg b/public/assets/sprites/common.svg deleted file mode 100644 index 5998e5a..0000000 --- a/public/assets/sprites/common.svg +++ /dev/null @@ -1,220 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/app/App.tsx b/src/app/App.tsx index fc60bd4..e576978 100644 --- a/src/app/App.tsx +++ b/src/app/App.tsx @@ -5,6 +5,7 @@ import { RouterProvider } from 'react-router-dom'; import { queryClient } from '@/shared/react-query'; import { Toast } from '@/shared/toast'; +import { GlobalSVGProvider } from './provider'; import { router } from './routers/index'; import './styles/global.scss'; @@ -15,6 +16,7 @@ function App() { + ); } diff --git a/src/app/provider/GlobalSVGProvider.tsx b/src/app/provider/GlobalSVGProvider.tsx new file mode 100644 index 0000000..11ce14b --- /dev/null +++ b/src/app/provider/GlobalSVGProvider.tsx @@ -0,0 +1,238 @@ +import { createPortal } from 'react-dom'; + +const spliteSvgCode = ( + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +); + +// App 내부에서 선언되어 최초 생성된는 DOM에 추가됩니다. +export function GlobalSVGProvider() { + return createPortal(spliteSvgCode, document.body); +} diff --git a/src/app/provider/index.ts b/src/app/provider/index.ts new file mode 100644 index 0000000..9c5a2e3 --- /dev/null +++ b/src/app/provider/index.ts @@ -0,0 +1 @@ +export { GlobalSVGProvider } from './GlobalSVGProvider'; diff --git a/src/shared/ui/icon/ui/Icon.tsx b/src/shared/ui/icon/ui/Icon.tsx index ad28742..86a77c7 100644 --- a/src/shared/ui/icon/ui/Icon.tsx +++ b/src/shared/ui/icon/ui/Icon.tsx @@ -10,10 +10,7 @@ interface IconProps { export const Icon: React.FC = ({ name, width, height, color }) => { return ( - + ); }; diff --git a/src/widgets/profile-user/assets/no-profile-icon.svg b/src/widgets/profile-user/assets/no-profile-icon.svg deleted file mode 100644 index 89594f9..0000000 --- a/src/widgets/profile-user/assets/no-profile-icon.svg +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/src/widgets/profile-user/assets/profile-change-icon.svg b/src/widgets/profile-user/assets/profile-change-icon.svg deleted file mode 100644 index 906d0ba..0000000 --- a/src/widgets/profile-user/assets/profile-change-icon.svg +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - diff --git a/src/widgets/profile-user/ui/ProfileUserImage.scss b/src/widgets/profile-user/ui/ProfileUserImage.scss index e86dc87..354bc99 100644 --- a/src/widgets/profile-user/ui/ProfileUserImage.scss +++ b/src/widgets/profile-user/ui/ProfileUserImage.scss @@ -25,11 +25,13 @@ } .profile-change-btn { - z-index: 10; - position: absolute; - top: 47px; - left: 62px; width: 24px; height: 24px; + + z-index: 10; + position: absolute; + + bottom: 8px; + right: -5px; } } diff --git a/src/widgets/profile-user/ui/ProfileUserImage.tsx b/src/widgets/profile-user/ui/ProfileUserImage.tsx index 37cc630..11e8b08 100644 --- a/src/widgets/profile-user/ui/ProfileUserImage.tsx +++ b/src/widgets/profile-user/ui/ProfileUserImage.tsx @@ -1,5 +1,5 @@ -import NoProfileIcon from '../assets/no-profile-icon.svg?react'; -import ProfileChangeIcon from '../assets/profile-change-icon.svg?react'; +import { Icon } from '@/shared/ui'; + import './ProfileUserImage.scss'; interface ProfileUserImageProps { @@ -23,12 +23,12 @@ export const ProfileUserImage = ({ /> ) : (
- +
)} {isOwner && ( )}