-
Notifications
You must be signed in to change notification settings - Fork 1
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
[FEAT] 공통 컴포넌트 아이콘 SVG 삽입 #296
Conversation
엄청 많은 아이콘들을 다 넣어주셨네요!!!! 고생하셨습니다 네이밍 결국 해결하네욤 ㅎ.ㅎ |
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.
아이콘 다 가져오느라 고생하셨습니다~~~ V1 파일쪽에서 오류가 많이 터져서, 이 부분 수정해주시구 SelectedIcon
오류 관련 질문드려용
- ?react 없애기
vite.config.ts 파일에서
svgr({
svgrOptions: {
icon: true,
memo: true,
},
include: '**/*.svg',
}),
이렇게 적용하면 ?react 없이 사용 가능하다고 합니다! 이 부분 추가 후 말씀드린 변경사항 추가해주세요!
- SelectedIcon 오류나는 문제
현재 이 Icn이 이런 식으로 구성되어있어서, 말씀하신대로 객체가 (IcnDown, IcnLeft, IcnRight, IcnUp 묶음)이 전달되는 게 문제로 보입니다!
const SelectedIcon = Icn[name];
이 부분에서 SelectedIcon이 저 묶음 전체를 내보내고있는데, 이게 본래 의도한 게 맞을까요???
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.
import Icn_arrow_narrow_right from '@/assets/svg/V1/arrow-narrow-right.svg';
import Arrow_up from '@/assets/svg/V1/arrow-up.svg';
import Icn_calander from '@/assets/svg/V1/calendar-minus-01.svg';
import ClockCheck from '@/assets/svg/V1/clock-check.svg';
import Icn_date_clock from '@/assets/svg/V1/clock.svg';
import Dashboard_Complete from '@/assets/svg/V1/Dashboard_Complete_Icon.svg';
import DashboardPostpone from '@/assets/svg/V1/Dashboard_Postpone_Icon.svg';
import DashboardProgress from '@/assets/svg/V1/Dashboard_Progress_Icon.svg';
import DeleteIcon from '@/assets/svg/V1/Delete.svg';
import DoneIcon from '@/assets/svg/V1/DoneIcon.svg';
import TimelineDelete from '@/assets/svg/V1/ic_delete.svg';
import Icn_selectbox_selected from '@/assets/svg/V1/ic_selectbox_selected.svg';
import Icn_selectbox_Unselected from '@/assets/svg/V1/ic_selectbox_unselected.svg';
import IcnArrangeCalendar from '@/assets/svg/V1/icn_arrange_calendar.svg';
import IcnArrangeLeft from '@/assets/svg/V1/icn_arrange_left.svg';
import IcnArrangeRight from '@/assets/svg/V1/icn_arrange_right.svg';
import IcnArrangeSet from '@/assets/svg/V1/icn_arrange_set.svg';
import Icn_clock from '@/assets/svg/V1/icn_clock.svg';
import IcnFile from '@/assets/svg/V1/icn_file.svg';
import Icn_hover_indicator from '@/assets/svg/V1/icn_hover_indicator.svg';
import Icn_nav_calendar from '@/assets/svg/V1/icn_nav_calendar.svg';
import Icn_nav_dashboard from '@/assets/svg/V1/icn_nav_dashboard.svg';
import Icn_nav_setting from '@/assets/svg/V1/icn_nav_setting.svg';
import Icn_nav_today from '@/assets/svg/V1/icn_nav_today.svg';
import Icn_line from '@/assets/svg/V1/line164.svg';
import plus_circle from '@/assets/svg/V1/plus-circle.svg';
import PlusArrow from '@/assets/svg/V1/PlusArrow.svg';
import ProgressIcon from '@/assets/svg/V1/ProgressIcon.svg';
import Refresh from '@/assets/svg/V1/refresh.svg';
import SelectedBox from '@/assets/svg/V1/Selectbox_Selected.svg';
import UnselectedBox from '@/assets/svg/V1/Selectbox_Unselected.svg';
import SettingCheck1 from '@/assets/svg/V1/SettingCheck1.svg';
import SettingCheck2 from '@/assets/svg/V1/SettingCheck2Icon.svg';
import SettingCheck3 from '@/assets/svg/V1/SettingCheck3Icon.svg';
import SettingCheck4 from '@/assets/svg/V1/SettingCheck4Icon.svg';
import SettingProgress from '@/assets/svg/V1/SettingProgressIcon.svg';
import SettingX from '@/assets/svg/V1/SettingXIcon.svg';
import IcnXCricle from '@/assets/svg/V1/x-circle.svg';
여기 import 다 오류나네요! 이렇게 바꿔주세요!!
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.
아 기존 V2파일 추가하면서 ?react 부분을 깜빡했었네요! ㅜㅜ
?react가 붙어야 svg 파일들을 리액트 컴포넌트로 사용할 수 있는거로 알고 있는데 V1 경로만 추가해두면 될 것 같아요!
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.
아 저걸 적용하면 저 부분 생략하고도 컴포넌트로 활용 가능하다는 말잉었군요! 잘못 이해했습니다... 수정해둘게용!!
src/assets/svg/V2/IcnCalender.svg
Outdated
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.
파일명 오타났네요! IcnCalendar.svg 로 e -> a 변경해주세여!! index.ts에서 오류나네요
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.
레전드 매의 눈 감샇합니다 ㅜ
으엉 왜 자꾸 충돌나는거지 빌드 에러 잡아볼게요 |
svg 직접 경로로 불러오고 있어서 리액트 컴포넌트로 인식하지 못하는 문제가 있다고 해서 돌려봤는데요, 타입 관련된 문제인 것 같아 declare module '*.svg' {
const ReactComponent: React.FC<React.SVGProps<SVGSVGElement>>;
export default ReactComponent;
} 다음과 같이 타입 인지할 수 있도록 바꿨습니다. 아래 커밋 확인해주시구 궁금한 점이나 다른 문제가 있다면 알려주세요!! |
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.
수정사항 확인했습니다!! 수고하셨어요 👍 👍
한가지 제안드리자면, <Icon name="IcnDown" />
지금은 이런 식으로 사용중인데 조금 더 편하게 사용하기 위해 <Icon name=Icon.IcnDown />
이렇게 사용할 수 있도록 props 타입 수정해주실 수 있을까요??
앞으로 워낙 자주 사용될 컴포넌트라서 제안드립니당!!
작업 내용 🧑💻
알게된 점 🚀
리뷰 요구사항 💬
🆕 👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇
🆕👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆
관련 이슈
close #286
스크린샷 (선택)