Skip to content

Commit df7e619

Browse files
authored
Merge pull request #265 from FE9-2/dev
최종 발표 전 배포
2 parents dc2f2bd + 2b64fdc commit df7e619

File tree

8 files changed

+54
-30
lines changed

8 files changed

+54
-30
lines changed

src/app/(pages)/(workform)/apply/[formId]/page.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ export default function Apply() {
102102
"absolute -bottom-[26px] right-1 text-[13px] text-sm font-medium leading-[22px] text-state-error lg:text-base lg:leading-[26px]";
103103

104104
return (
105-
<form className="my-8 flex flex-col gap-4" onSubmit={handleSubmit(() => mutation.mutate())}>
105+
<form className="flex flex-col gap-4" onSubmit={handleSubmit(() => mutation.mutate())}>
106106
<Label>이름</Label>
107107
<BaseInput
108108
{...register("name", { required: "이름은 필수입니다" })}

src/app/(pages)/(workform)/work/[formId]/components/FormActions.tsx

Lines changed: 24 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ export default function FormActions({ formId, albaFormDetailData }: FormActionsP
2929
const isMyAlbaForm = user?.id === albaFormDetailData.ownerId;
3030
const isOwnerRole = user?.role === "OWNER";
3131
const buttonStyle = "h-10 lg:h-16 w-full rounded-lg font-bold lg:mb-4";
32+
const buttonWrapStyle = "flex flex-col gap-2 text-2xl lg:gap-0";
3233

3334
const [isLoading, setIsLoading] = useState(false);
3435
const queryClient = useQueryClient();
@@ -78,26 +79,28 @@ export default function FormActions({ formId, albaFormDetailData }: FormActionsP
7879
// 비회원일 때
7980
if (!user) {
8081
return (
81-
<div>
82-
<Link href={`/apply/${formId}`}>
83-
<FloatingBtn className={`${buttonStyle}`} icon={<HiMail />}>
84-
지원하기
82+
<div className={buttonWrapStyle}>
83+
<div>
84+
<Link href={`/apply/${formId}`}>
85+
<FloatingBtn className={`${buttonStyle}`} icon={<HiMail />}>
86+
지원하기
87+
</FloatingBtn>
88+
</Link>
89+
<FloatingBtn
90+
variant="white"
91+
className={buttonStyle}
92+
icon={<HiDocumentText />}
93+
onClick={() =>
94+
openModal("verifyMyApplication", {
95+
formId,
96+
isOpen: true,
97+
onVerify: handleVerifySuccess,
98+
})
99+
}
100+
>
101+
내 지원내역 조회
85102
</FloatingBtn>
86-
</Link>
87-
<FloatingBtn
88-
variant="white"
89-
className={buttonStyle}
90-
icon={<HiDocumentText />}
91-
onClick={() =>
92-
openModal("verifyMyApplication", {
93-
formId,
94-
isOpen: true,
95-
onVerify: handleVerifySuccess,
96-
})
97-
}
98-
>
99-
내 지원내역 조회
100-
</FloatingBtn>
103+
</div>
101104
</div>
102105
);
103106
}
@@ -106,7 +109,7 @@ export default function FormActions({ formId, albaFormDetailData }: FormActionsP
106109
if (isOwnerRole) {
107110
if (!isMyAlbaForm) return null;
108111
return (
109-
<div className="flex flex-col gap-2 text-2xl lg:gap-0">
112+
<div className={buttonWrapStyle}>
110113
<Link href={`/work/${formId}/edit`}>
111114
<FloatingBtn className={buttonStyle} icon={<FaEdit />} disabled={isLoading}>
112115
{isLoading ? <DotLoadingSpinner /> : "수정하기"}
@@ -127,7 +130,7 @@ export default function FormActions({ formId, albaFormDetailData }: FormActionsP
127130

128131
// 사장님이 아니면 지원하기/내 지원내역 보기 버튼
129132
return (
130-
<div className="flex flex-col gap-2 text-2xl lg:gap-0">
133+
<div className={buttonWrapStyle}>
131134
{isApplicationLoading ? (
132135
<>
133136
<FloatingBtn className={`${buttonStyle}`} variant="white">

src/app/clientLayout.tsx

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,12 @@ export default function ClientLayout({ children }: { children: React.ReactNode }
3737
const excludePaths = ["/login", "/signup", "/auth/callback"];
3838
const showChannelTalk = !excludePaths.some((path) => pathname.startsWith(path));
3939
const isHome = pathname === "/";
40-
40+
const isLogin = pathname === "/login";
41+
const isSignupA = pathname === "/signup/applicant";
42+
const isSignupO = pathname === "/signup/owner";
4143
return (
4244
<QueryClientProvider client={queryClient}>
43-
<div className={`relative min-h-[80vh] ${!isHome ? "pt-16" : ""}`}>
45+
<div className={`relative min-h-[80vh] ${!(isHome || isLogin || isSignupA || isSignupO) ? "pt-16" : ""}`}>
4446
{children}
4547
<MouseTrail />
4648
<Toaster

src/app/components/button/default/ScrapBtn.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ const ScrapBtn = ({ className = "", formId }: ScrapBtnProps) => {
4949
return (
5050
<button
5151
className={cn(
52-
"inline-flex h-12 w-12 items-center justify-center rounded-full bg-primary-orange-50 p-2 transition-colors",
52+
"inline-flex h-12 w-12 items-center justify-center rounded-full bg-primary-blue-50 p-2 transition-colors",
5353
className
5454
)}
5555
onClick={toggleScrap}

src/app/components/card/cardList/apply/ApplyStatusCard.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ const ApplyStatusCard = ({ formId }: ApplyStatusCardProps) => {
103103
<button
104104
type="button"
105105
onClick={() => handleApplicationClick(application)}
106-
className="col-span-3 grid grid-cols-[1fr_2fr_1fr] px-6 py-4 text-left transition-colors hover:bg-gray-50"
106+
className="col-span-3 grid grid-cols-[1fr_2fr_1fr] items-center px-6 py-4 text-left transition-colors hover:bg-gray-50"
107107
aria-label={`${application.name}님의 지원 정보 보기`}
108108
>
109109
<span className="w-2/5">{application.name}</span>

src/app/components/modal/modals/apply/MyApplicationModal.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,6 @@ const ModalHeader = () => {
5858

5959
const ResumeDownloadButton = ({ resumeId, resumeName }: ResumeDownloadProps) => {
6060
const { downloadResume, downloading } = useResumeDownLoad();
61-
6261
const handleResumeDownload = () => {
6362
downloadResume({ resumeId, resumeName });
6463
};
@@ -83,6 +82,8 @@ const ApplicationContent = ({
8382
introduction,
8483
createdAt,
8584
}: ApplicationResponse) => {
85+
const user = useUser();
86+
8687
return (
8788
<div className="space-y-4">
8889
<Chip label={getStatusMap(status)} variant="positive" />
@@ -93,7 +94,7 @@ const ApplicationContent = ({
9394
{resumeName && (
9495
<>
9596
<InfoRow label="이력서" value="제출됨" />
96-
<ResumeDownloadButton resumeId={resumeId} resumeName={resumeName} />
97+
{user && <ResumeDownloadButton resumeId={resumeId} resumeName={resumeName} />}
9798
</>
9899
)}
99100
<InfoRow label="자기소개" value={introduction} isIntroduction />

src/app/components/mouseTrail/CustomCursor.tsx

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,27 +9,45 @@ interface CursorPosition {
99

1010
export default function CustomCursor() {
1111
const [position, setPosition] = useState<CursorPosition>({ x: 0, y: 0 });
12+
const [isVisible, setIsVisible] = useState(true);
1213

1314
useEffect(() => {
1415
const updatePosition = (e: MouseEvent) => {
1516
setPosition({ x: e.clientX, y: e.clientY });
1617
};
1718

19+
// Lightbox 요소 감시
20+
const observer = new MutationObserver((mutations) => {
21+
mutations.forEach((mutation) => {
22+
if (mutation.addedNodes.length) {
23+
const lightbox = document.querySelector('[role="dialog"]');
24+
if (lightbox) {
25+
setIsVisible(true);
26+
}
27+
}
28+
});
29+
});
30+
31+
observer.observe(document.body, { childList: true, subtree: true });
1832
window.addEventListener("mousemove", updatePosition);
1933

2034
return () => {
35+
observer.disconnect();
2136
window.removeEventListener("mousemove", updatePosition);
2237
};
2338
}, []);
2439

2540
return (
2641
<div
42+
data-custom-cursor
2743
style={{
2844
position: "fixed",
2945
left: position.x,
3046
top: position.y,
31-
zIndex: 9999,
47+
zIndex: 99999,
3248
pointerEvents: "none",
49+
opacity: isVisible ? 1 : 0,
50+
transform: "translate(-50%, -50%)",
3351
}}
3452
>
3553
<TreeSVG />

src/utils/shareToKakao.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ const shareToKakao = (content?: ShareContent) => {
1616
title: getMetaContentByProperty("og:title") || "WorkRoot",
1717
description:
1818
getMetaContentByProperty("og:description") || "🌳 일을 통해 자신의 뿌리를 내리며 성장하는 구인구직 사이트",
19-
imageUrl: getMetaContentByProperty("og:image") || "/logo.svg",
19+
imageUrl: getMetaContentByProperty("og:image") || "/logo.png",
2020
buttonText: "자세히 보기",
2121
};
2222

0 commit comments

Comments
 (0)