From c9e9569258224f36bb47be6d0e889333c6281510 Mon Sep 17 00:00:00 2001 From: constantly-dev Date: Mon, 23 Feb 2026 14:00:28 +0900 Subject: [PATCH 01/11] =?UTF-8?q?feat:=20funnel=20progress=20bar=20?= =?UTF-8?q?=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jobSelectionFunnel/FunnelProgress.tsx | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 apps/client/src/shared/components/jobSelectionFunnel/FunnelProgress.tsx diff --git a/apps/client/src/shared/components/jobSelectionFunnel/FunnelProgress.tsx b/apps/client/src/shared/components/jobSelectionFunnel/FunnelProgress.tsx new file mode 100644 index 00000000..3072d5e9 --- /dev/null +++ b/apps/client/src/shared/components/jobSelectionFunnel/FunnelProgress.tsx @@ -0,0 +1,43 @@ +import { cn } from '@pinback/design-system/utils'; + +interface FunnelProgressProps { + currentIndex: number; + totalSteps: number; +} + +const FunnelProgress = ({ currentIndex, totalSteps }: FunnelProgressProps) => { + const maxIndex = Math.max(1, totalSteps - 1); + const percent = Math.max( + 0, + Math.min(100, (currentIndex / maxIndex) * 100) + ); + + return ( +
+
+
+
+
+ {Array.from({ length: totalSteps }).map((_, index) => { + const isActive = index <= currentIndex; + return ( +
+ {index + 1} +
+ ); + })} +
+
+ ); +}; + +export default FunnelProgress; From 031a26cb4138973e3a0a886e4df40336d27a87cc Mon Sep 17 00:00:00 2001 From: constantly-dev Date: Mon, 23 Feb 2026 14:01:14 +0900 Subject: [PATCH 02/11] =?UTF-8?q?feat:=20job=20selelction=20funnel=20?= =?UTF-8?q?=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pinStep_description.svg | 23 ++++ .../shareStep_description.svg | 75 ++++++++++++ .../jobSelectionFunnel/JobSelectionFunnel.tsx | 69 +++++++++++ .../jobSelectionFunnel/step/JobStep.tsx | 115 ++++++++++++++++++ .../jobSelectionFunnel/step/PinStep.tsx | 26 ++++ .../jobSelectionFunnel/step/ShareStep.tsx | 27 ++++ 6 files changed, 335 insertions(+) create mode 100644 apps/client/public/assets/jobSelectionFunnel/pinStep_description.svg create mode 100644 apps/client/public/assets/jobSelectionFunnel/shareStep_description.svg create mode 100644 apps/client/src/shared/components/jobSelectionFunnel/JobSelectionFunnel.tsx create mode 100644 apps/client/src/shared/components/jobSelectionFunnel/step/JobStep.tsx create mode 100644 apps/client/src/shared/components/jobSelectionFunnel/step/PinStep.tsx create mode 100644 apps/client/src/shared/components/jobSelectionFunnel/step/ShareStep.tsx diff --git a/apps/client/public/assets/jobSelectionFunnel/pinStep_description.svg b/apps/client/public/assets/jobSelectionFunnel/pinStep_description.svg new file mode 100644 index 00000000..7faec79d --- /dev/null +++ b/apps/client/public/assets/jobSelectionFunnel/pinStep_description.svg @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/client/public/assets/jobSelectionFunnel/shareStep_description.svg b/apps/client/public/assets/jobSelectionFunnel/shareStep_description.svg new file mode 100644 index 00000000..c01de09f --- /dev/null +++ b/apps/client/public/assets/jobSelectionFunnel/shareStep_description.svg @@ -0,0 +1,75 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/client/src/shared/components/jobSelectionFunnel/JobSelectionFunnel.tsx b/apps/client/src/shared/components/jobSelectionFunnel/JobSelectionFunnel.tsx new file mode 100644 index 00000000..5c59ad3d --- /dev/null +++ b/apps/client/src/shared/components/jobSelectionFunnel/JobSelectionFunnel.tsx @@ -0,0 +1,69 @@ +import { Button } from '@pinback/design-system/ui'; +import { useFunnel } from '@shared/hooks/useFunnel'; +import { useState } from 'react'; +import FunnelProgress from './FunnelProgress'; +import JobStep, { JobKey } from './step/JobStep'; +import PinStep from './step/PinStep'; +import ShareStep from './step/ShareStep'; + +const funnelSteps = ['job', 'pin', 'share'] as const; +type FunnelStep = (typeof funnelSteps)[number]; + +interface JobSelectionFunnelProps { + onComplete?: () => void; +} + +export default function JobSelectionFunnel({ + onComplete, +}: JobSelectionFunnelProps) { + const { currentStep, currentIndex, goNext, isLastStep } = + useFunnel({ + steps: funnelSteps, + initialStep: 'job', + }); + + const [selectedJob, setSelectedJob] = useState('planner'); + const [jobShareAgree, setJobShareAgree] = useState(true); + + const handleNext = () => { + if (isLastStep) { + onComplete?.(); + return; + } + goNext(); + }; + + return ( +
+ + +
+ {currentStep === 'job' && ( + + )} + {currentStep === 'pin' && } + {currentStep === 'share' && } +
+ +
+ +
+
+ ); +} diff --git a/apps/client/src/shared/components/jobSelectionFunnel/step/JobStep.tsx b/apps/client/src/shared/components/jobSelectionFunnel/step/JobStep.tsx new file mode 100644 index 00000000..af87b32d --- /dev/null +++ b/apps/client/src/shared/components/jobSelectionFunnel/step/JobStep.tsx @@ -0,0 +1,115 @@ +import { Checkbox } from '@pinback/design-system/ui'; +import { cn } from '@pinback/design-system/utils'; +import dotori from '/assets/onBoarding/icons/dotori.svg'; +import jobPlan from '/assets/onBoarding/jobs/jobPlan.svg'; +import jobDesign from '/assets/onBoarding/jobs/jobDesign.svg'; +import jobFrontend from '/assets/onBoarding/jobs/jobFrontend.svg'; +import jobBackend from '/assets/onBoarding/jobs/jobBackend.svg'; + +export type JobKey = 'planner' | 'designer' | 'frontend' | 'backend'; + +export interface JobStepProps { + selectedJob: JobKey; + onSelectJob: (job: JobKey) => void; + agreeChecked: boolean; + onAgreeChange: (checked: boolean) => void; +} + +const jobCardStyle = (selected: boolean) => + cn( + 'flex h-[22.4rem] w-[18rem] flex-col items-center justify-center rounded-[1.2rem] border transition', + 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-main400 focus-visible:ring-offset-2 focus-visible:ring-offset-white-bg', + selected + ? 'border-main400 bg-main0' + : 'border-transparent bg-white-bg hover:border-main300' + ); + +const JobIcon = ({ type }: { type: JobKey }) => { + const iconMap: Record = { + planner: jobPlan, + designer: jobDesign, + frontend: jobFrontend, + backend: jobBackend, + }; + + return ( + + ); +}; + +const JobStep = ({ + selectedJob, + onSelectJob, + agreeChecked, + onAgreeChange, +}: JobStepProps) => { + const jobs: { key: JobKey; label: string }[] = [ + { key: 'planner', label: '기획자' }, + { key: 'designer', label: '디자이너' }, + { key: 'frontend', label: '프론트엔드 개발자' }, + { key: 'backend', label: '백엔드 개발자' }, + ]; + + return ( +
+ dotori +
+

직무를 선택해주세요

+

+ 직무에 따라 아티클을 추천해드려요 +

+
+ +
+ {jobs.map((job) => { + const isSelected = selectedJob === job.key; + return ( + + ); + })} +
+ + +
+ ); +}; + +export default JobStep; diff --git a/apps/client/src/shared/components/jobSelectionFunnel/step/PinStep.tsx b/apps/client/src/shared/components/jobSelectionFunnel/step/PinStep.tsx new file mode 100644 index 00000000..63e67b88 --- /dev/null +++ b/apps/client/src/shared/components/jobSelectionFunnel/step/PinStep.tsx @@ -0,0 +1,26 @@ +const pinStepImage = '/assets/jobSelectionFunnel/pinStep_description.svg'; + +const PinStep = () => { + return ( +
+
+

+ 관심 직무 핀이 새롭게 개설되었어요! +

+

+ 우측 사이드바를 통해 탐색해보세요 +

+
+ +
+ 관심 직무 핀 안내 +
+
+ ); +}; + +export default PinStep; diff --git a/apps/client/src/shared/components/jobSelectionFunnel/step/ShareStep.tsx b/apps/client/src/shared/components/jobSelectionFunnel/step/ShareStep.tsx new file mode 100644 index 00000000..83419a4f --- /dev/null +++ b/apps/client/src/shared/components/jobSelectionFunnel/step/ShareStep.tsx @@ -0,0 +1,27 @@ +const shareStepImage = '/assets/jobSelectionFunnel/shareStep_description.svg'; + +const ShareStep = () => { + return ( +
+
+

+ 내가 저장한 아티클을 공유할 수 있어요 +

+

+ 카테고리를 공유해 다른 사용자들에게 내가 저장한 좋은 아티클을 보여줄 + 수 있어요 +

+
+ +
+ 카테고리 공유 안내 +
+
+ ); +}; + +export default ShareStep; From bfe025dc9ab4ebcb63452df276048f32d96fa9de Mon Sep 17 00:00:00 2001 From: constantly-dev Date: Mon, 23 Feb 2026 14:01:53 +0900 Subject: [PATCH 03/11] =?UTF-8?q?feat:=20job=20funnel=20remind=20page?= =?UTF-8?q?=EC=97=90=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/client/src/pages/remind/Remind.tsx | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/apps/client/src/pages/remind/Remind.tsx b/apps/client/src/pages/remind/Remind.tsx index 1ad210df..9714ec6b 100644 --- a/apps/client/src/pages/remind/Remind.tsx +++ b/apps/client/src/pages/remind/Remind.tsx @@ -24,6 +24,7 @@ import FetchCard from './components/fetchCard/FetchCard'; import { useInfiniteScroll } from '@shared/hooks/useInfiniteScroll'; import Tooltip from '@shared/components/tooltip/Tooltip'; import Footer from './components/footer/Footer'; +import JobSelectionFunnel from '@shared/components/jobSelectionFunnel/JobSelectionFunnel'; const Remind = () => { useEffect(() => { @@ -34,6 +35,9 @@ const Remind = () => { const [activeBadge, setActiveBadge] = useState<'read' | 'notRead'>('notRead'); const [isDeleteOpen, setIsDeleteOpen] = useState(false); const [deleteTargetId, setDeleteTargetId] = useState(null); + const [showJobSelectionFunnel, setShowJobSelectionFunnel] = useState( + () => localStorage.getItem('hasJob') === 'false' + ); const scrollContainerRef = useRef(null); const formattedDate = useMemo(() => { @@ -242,6 +246,17 @@ const Remind = () => {
)} + + {showJobSelectionFunnel && ( +
+ { + localStorage.setItem('hasJob', 'true'); + setShowJobSelectionFunnel(false); + }} + /> +
+ )} ); }; From 0f4e3f52cac616bb81e81a8a16972a7d91907c49 Mon Sep 17 00:00:00 2001 From: constantly-dev Date: Mon, 23 Feb 2026 14:03:43 +0900 Subject: [PATCH 04/11] =?UTF-8?q?feat:=20login=20handler=20=ED=95=A8?= =?UTF-8?q?=EC=88=98=EC=97=90=20hasJob=20localstorage=20=EC=A0=80=EC=9E=A5?= =?UTF-8?q?=20=EB=A1=9C=EC=A7=81=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/client/src/pages/onBoarding/GoogleCallback.tsx | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/apps/client/src/pages/onBoarding/GoogleCallback.tsx b/apps/client/src/pages/onBoarding/GoogleCallback.tsx index db9f6344..656639b8 100644 --- a/apps/client/src/pages/onBoarding/GoogleCallback.tsx +++ b/apps/client/src/pages/onBoarding/GoogleCallback.tsx @@ -21,7 +21,8 @@ const GoogleCallback = () => { const handleUserLogin = ( isUser: boolean, - accessToken: string | undefined + accessToken: string | undefined, + hasJob?: boolean ) => { if (isUser) { if (accessToken) { @@ -38,6 +39,9 @@ const GoogleCallback = () => { }; sendTokenToExtension(accessToken); } + if (hasJob !== undefined) { + localStorage.setItem('hasJob', String(hasJob)); + } navigate('/'); } else { navigate('/onboarding?step=ALARM'); @@ -54,12 +58,12 @@ const GoogleCallback = () => { code, uri: redirectUri, }); - const { isUser, userId, email, accessToken } = res.data.data; + const { isUser, userId, email, accessToken, hasJob } = res.data.data; localStorage.setItem('email', email); localStorage.setItem('userId', userId); - handleUserLogin(isUser, accessToken); + handleUserLogin(isUser, accessToken, hasJob); } catch (error) { console.error('로그인 오류:', error); navigate('/onboarding?step=SOCIAL_LOGIN'); From 48677587f6fba6b47288266ef998df60cd87c564 Mon Sep 17 00:00:00 2001 From: constantly-dev Date: Tue, 24 Feb 2026 12:37:22 +0900 Subject: [PATCH 05/11] =?UTF-8?q?chore:=20progress=20bar=20step=20number?= =?UTF-8?q?=20font=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jobSelectionFunnel/FunnelProgress.tsx | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/apps/client/src/shared/components/jobSelectionFunnel/FunnelProgress.tsx b/apps/client/src/shared/components/jobSelectionFunnel/FunnelProgress.tsx index 3072d5e9..974b90ed 100644 --- a/apps/client/src/shared/components/jobSelectionFunnel/FunnelProgress.tsx +++ b/apps/client/src/shared/components/jobSelectionFunnel/FunnelProgress.tsx @@ -7,16 +7,13 @@ interface FunnelProgressProps { const FunnelProgress = ({ currentIndex, totalSteps }: FunnelProgressProps) => { const maxIndex = Math.max(1, totalSteps - 1); - const percent = Math.max( - 0, - Math.min(100, (currentIndex / maxIndex) * 100) - ); + const percent = Math.max(0, Math.min(100, (currentIndex / maxIndex) * 100)); return (
-
+
@@ -28,7 +25,9 @@ const FunnelProgress = ({ currentIndex, totalSteps }: FunnelProgressProps) => { key={`funnel-progress-${index}`} className={cn( 'flex size-[2rem] items-center justify-center rounded-full text-[1.2rem] font-semibold leading-[1.5]', - isActive ? 'bg-main400 text-white' : 'bg-gray100 text-[#999999]' + isActive + ? 'bg-main400 text-white' + : 'bg-gray100 text-font-ltgray-4' )} > {index + 1} From 8f5eeb22e3b1e7b64af196387a1aff2c6597f86f Mon Sep 17 00:00:00 2001 From: constantly-dev Date: Tue, 24 Feb 2026 15:50:34 +0900 Subject: [PATCH 06/11] =?UTF-8?q?fix:=20jobShareAgree=20default=20value=20?= =?UTF-8?q?false=EB=A1=9C=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../shared/components/jobSelectionFunnel/JobSelectionFunnel.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/client/src/shared/components/jobSelectionFunnel/JobSelectionFunnel.tsx b/apps/client/src/shared/components/jobSelectionFunnel/JobSelectionFunnel.tsx index 5c59ad3d..ccb4b48d 100644 --- a/apps/client/src/shared/components/jobSelectionFunnel/JobSelectionFunnel.tsx +++ b/apps/client/src/shared/components/jobSelectionFunnel/JobSelectionFunnel.tsx @@ -23,7 +23,7 @@ export default function JobSelectionFunnel({ }); const [selectedJob, setSelectedJob] = useState('planner'); - const [jobShareAgree, setJobShareAgree] = useState(true); + const [jobShareAgree, setJobShareAgree] = useState(false); const handleNext = () => { if (isLastStep) { From 4796807f132b6d79b9a721ec31032a080489153b Mon Sep 17 00:00:00 2001 From: constantly-dev Date: Tue, 24 Feb 2026 15:52:23 +0900 Subject: [PATCH 07/11] =?UTF-8?q?refactor:=20hasJob=20type=20guard=20boole?= =?UTF-8?q?an=20=EB=B9=84=EA=B5=90=EB=A1=9C=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/client/src/pages/onBoarding/GoogleCallback.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/client/src/pages/onBoarding/GoogleCallback.tsx b/apps/client/src/pages/onBoarding/GoogleCallback.tsx index 656639b8..66e96989 100644 --- a/apps/client/src/pages/onBoarding/GoogleCallback.tsx +++ b/apps/client/src/pages/onBoarding/GoogleCallback.tsx @@ -39,7 +39,7 @@ const GoogleCallback = () => { }; sendTokenToExtension(accessToken); } - if (hasJob !== undefined) { + if (typeof hasJob === 'boolean') { localStorage.setItem('hasJob', String(hasJob)); } navigate('/'); From 23910dbcf44e897a573637a2398a34218912a700 Mon Sep 17 00:00:00 2001 From: constantly-dev Date: Tue, 24 Feb 2026 16:00:52 +0900 Subject: [PATCH 08/11] =?UTF-8?q?fix:=20image=20path=20import=EB=A1=9C=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/shared/components/jobSelectionFunnel/step/PinStep.tsx | 2 +- .../src/shared/components/jobSelectionFunnel/step/ShareStep.tsx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/client/src/shared/components/jobSelectionFunnel/step/PinStep.tsx b/apps/client/src/shared/components/jobSelectionFunnel/step/PinStep.tsx index 63e67b88..c3985e1f 100644 --- a/apps/client/src/shared/components/jobSelectionFunnel/step/PinStep.tsx +++ b/apps/client/src/shared/components/jobSelectionFunnel/step/PinStep.tsx @@ -1,4 +1,4 @@ -const pinStepImage = '/assets/jobSelectionFunnel/pinStep_description.svg'; +import pinStepImage from '/assets/jobSelectionFunnel/pinStep_description.svg'; const PinStep = () => { return ( diff --git a/apps/client/src/shared/components/jobSelectionFunnel/step/ShareStep.tsx b/apps/client/src/shared/components/jobSelectionFunnel/step/ShareStep.tsx index 83419a4f..67de9563 100644 --- a/apps/client/src/shared/components/jobSelectionFunnel/step/ShareStep.tsx +++ b/apps/client/src/shared/components/jobSelectionFunnel/step/ShareStep.tsx @@ -1,4 +1,4 @@ -const shareStepImage = '/assets/jobSelectionFunnel/shareStep_description.svg'; +import shareStepImage from '/assets/jobSelectionFunnel/shareStep_description.svg'; const ShareStep = () => { return ( From f264068d46d8c7ea15b92c3765abb587bcf93f3c Mon Sep 17 00:00:00 2001 From: constantly-dev Date: Tue, 24 Feb 2026 16:03:36 +0900 Subject: [PATCH 09/11] =?UTF-8?q?fix:=20funnel=20show=20default=20value=20?= =?UTF-8?q?=EC=A1=B0=EA=B1=B4=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/client/src/pages/remind/Remind.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/client/src/pages/remind/Remind.tsx b/apps/client/src/pages/remind/Remind.tsx index 9714ec6b..da16360a 100644 --- a/apps/client/src/pages/remind/Remind.tsx +++ b/apps/client/src/pages/remind/Remind.tsx @@ -36,7 +36,7 @@ const Remind = () => { const [isDeleteOpen, setIsDeleteOpen] = useState(false); const [deleteTargetId, setDeleteTargetId] = useState(null); const [showJobSelectionFunnel, setShowJobSelectionFunnel] = useState( - () => localStorage.getItem('hasJob') === 'false' + () => localStorage.getItem('hasJob') !== 'true' ); const scrollContainerRef = useRef(null); @@ -251,7 +251,7 @@ const Remind = () => {
{ - localStorage.setItem('hasJob', 'true'); + // TODO: 관심 직무 핀 API 연동 필요 setShowJobSelectionFunnel(false); }} /> From 729c32ee0a6309639451b9692d0234329356f020 Mon Sep 17 00:00:00 2001 From: constantly-dev Date: Tue, 24 Feb 2026 16:10:00 +0900 Subject: [PATCH 10/11] =?UTF-8?q?chore:=20=EB=B6=88=ED=95=84=EC=9A=94=20?= =?UTF-8?q?=EB=94=94=EC=9E=90=EC=9D=B8=20=EC=9A=94=EC=86=8C=20=EC=A0=9C?= =?UTF-8?q?=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/shared/components/jobSelectionFunnel/step/JobStep.tsx | 1 - 1 file changed, 1 deletion(-) diff --git a/apps/client/src/shared/components/jobSelectionFunnel/step/JobStep.tsx b/apps/client/src/shared/components/jobSelectionFunnel/step/JobStep.tsx index af87b32d..df9b02be 100644 --- a/apps/client/src/shared/components/jobSelectionFunnel/step/JobStep.tsx +++ b/apps/client/src/shared/components/jobSelectionFunnel/step/JobStep.tsx @@ -57,7 +57,6 @@ const JobStep = ({ return (
- dotori

직무를 선택해주세요

From 81895718bb397f80201037fc201d53a7dc031ff7 Mon Sep 17 00:00:00 2001 From: constantly-dev Date: Tue, 24 Feb 2026 16:14:48 +0900 Subject: [PATCH 11/11] =?UTF-8?q?chore:=20=EB=B6=88=ED=95=84=EC=9A=94=20im?= =?UTF-8?q?port=EB=AC=B8=20=EC=82=AD=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/shared/components/jobSelectionFunnel/step/JobStep.tsx | 1 - 1 file changed, 1 deletion(-) diff --git a/apps/client/src/shared/components/jobSelectionFunnel/step/JobStep.tsx b/apps/client/src/shared/components/jobSelectionFunnel/step/JobStep.tsx index df9b02be..e37ad31c 100644 --- a/apps/client/src/shared/components/jobSelectionFunnel/step/JobStep.tsx +++ b/apps/client/src/shared/components/jobSelectionFunnel/step/JobStep.tsx @@ -1,6 +1,5 @@ import { Checkbox } from '@pinback/design-system/ui'; import { cn } from '@pinback/design-system/utils'; -import dotori from '/assets/onBoarding/icons/dotori.svg'; import jobPlan from '/assets/onBoarding/jobs/jobPlan.svg'; import jobDesign from '/assets/onBoarding/jobs/jobDesign.svg'; import jobFrontend from '/assets/onBoarding/jobs/jobFrontend.svg';