Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 6 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,18 +6,20 @@
> Comfit은 기업의 핵심 정보와 나의 경험을 하나로 엮어 지원 기업별 맞춤 자소서 전략을 제안하는 AI 기반 분석 플랫폼입니다.

<br/>
<img width="1080" alt="comfit_background" src="https://github.com/user-attachments/assets/26653123-9674-4584-b94a-242c36db19b7" />





<br/><br/>

## 👥 Team member

| <img src="https://avatars.githubusercontent.com/u/84303489?v=4" width="150" /> | <img src="https://avatars.githubusercontent.com/u/91336314?v=4" width="150" /> | <img src="https://avatars.githubusercontent.com/u/108409327?v=4" width="150" /> | <img src="https://avatars.githubusercontent.com/u/101101694?v=4" width="150" /> |
| <img width="200" height="300" alt="채리드" src="https://github.com/user-attachments/assets/c59d5e55-e980-48b6-b745-27c10d470f74" /> | <img width="200" height="300" alt="오두콩" src="https://github.com/user-attachments/assets/74c2eb7e-ef44-4a9a-a71d-b4271cddd038" /> | <img width="200" height="300" alt="막냉이" src="https://github.com/user-attachments/assets/1480d054-19c9-4f9d-8b15-08052ad14e38" /> | <img width="200" height="300" alt="배정민" src="https://github.com/user-attachments/assets/8644c3db-81da-44cb-9979-0bc672810b47" /> |
| :--: | :--: | :--: | :--: |
| <div align="center"><b>이채영 👑</b></div> | <div align="center"><b>오수빈</b></div> | <div align="center"><b>정유진</b></div> | <div align="center"><b>배정민</b></div> |
| [@hummingbbird](https://github.com/hummingbbird) | [@odukong](https://github.com/odukong) | [@u-zzn](https://github.com/u-zzn) | [@qowjdals23](https://github.com/qowjdals23) |

<br/>
<br/>

## 🔧 Tech Stack
Expand Down Expand Up @@ -71,7 +73,6 @@ type: description (#이슈 넘버)
<br>

### 👀 Git Convention
<img width="585" height="682" alt="git flow 이미지" src="https://github.com/user-attachments/assets/e98f22e2-a1a4-4627-b27d-c3b2ffc3651c" />

- 기본 틀: **[type]/#[이슈넘버]/기능 이름** (ex)`feat/#914/company-card-component`)
- 기능 타입에 맞게 가장 앞단의 키워드를 변경해주세요. (feat / refactor / fix / hotfix/ chore 등)
Expand Down Expand Up @@ -198,4 +199,4 @@ src
4. 근거 있는 개발, 근거 있는 AI 툴 사용 🤖
5. 컨벤션 잘 지키기 👮

<br><br>
<br><br>
4 changes: 2 additions & 2 deletions src/features/experience-matching/ui/analyzing/analyzing.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { useEffect, useState } from "react";

import { LOVE } from "@/shared/assets/gifs";
import { CAT_SPINNER } from "@/shared/assets/gifs";
import { Alert } from "@/shared/ui/alert";
import { useCreateReport } from "@features/experience-matching/index";

Expand Down Expand Up @@ -40,12 +40,12 @@
},
}
);
}, [nextStep, setReportId, mutate]);

Check warning on line 43 in src/features/experience-matching/ui/analyzing/analyzing.tsx

View workflow job for this annotation

GitHub Actions / build-and-deploy

React Hook useEffect has missing dependencies: 'company?.id', 'experience?.id', and 'jobDescription'. Either include them or remove the dependency array

Check warning on line 43 in src/features/experience-matching/ui/analyzing/analyzing.tsx

View workflow job for this annotation

GitHub Actions / build-and-deploy

React Hook useEffect has missing dependencies: 'company?.id', 'experience?.id', and 'jobDescription'. Either include them or remove the dependency array

return (
<>
<div className={styles.layout}>
<img className={styles.spinner} src={LOVE} alt="로딩 스피너" />
<img className={styles.spinner} src={CAT_SPINNER} alt="로딩 스피너" />
<div className={styles.titleBox}>
<div className={styles.title}>기업과 나의 경험을 분석하고 있어요</div>
<div className={styles.subTitle}>평균 15~30초 소요됩니다</div>
Expand Down
8 changes: 4 additions & 4 deletions src/pages/experience-detail/experience-detail-page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -71,12 +71,12 @@ const ExperienceDetailPage = ({ mode }: ExperiencePageProps) => {
<ExperienceAlertRenderer />
<ModalBasic
isOpen={isOpen}
onClose={confirmLeave}
onConfirm={cancelLeave}
onClose={cancelLeave}
onConfirm={confirmLeave}
title={`작성중인 내용이 있습니다.\n정말 나가시겠습니까?`}
subTitle="저장하지 않으면 내용이 사라져요."
closeText="나가기"
confirmText="이어서 작성하기"
closeText="이어서 작성"
confirmText="나가기"
/>
</>
);
Expand Down
24 changes: 21 additions & 3 deletions src/pages/home/major-company-section/major-company-section.css.ts
Original file line number Diff line number Diff line change
Expand Up @@ -52,9 +52,27 @@ export const smallCards = style({
});

export const emptyWrapper = style({
display: "grid",
gridTemplateColumns: "1fr 1fr",
gap: "2rem",
// 1. 부모 그리드에서 가로를 꽉 채우기 (2컬럼 기준)
gridColumn: "1 / -1",

// 2. 내부 이미지 중앙 정렬을 위해 flex 사용
display: "flex",
flexDirection: "column",
justifyContent: "center",
alignItems: "center", // 부모 그리드 수직 중앙 정렬 (필요시)

width: "100%",
minHeight: "45rem",
});

export const spinner = style({
width: "20rem",
aspectRatio: "1 / 1",
objectFit: "contain",
});

export const spinnerText = style({
marginTop: "0.2rem",
...themeVars.fontStyles.hline_m_18,
color: themeVars.color.gray600,
});
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import { useState } from "react";
import { useAuthStore } from "@/app/store";
import { useGetMajorCompanies } from "@/features/home/api/use-get-major-companies.query";
import { MajorCompanyCard } from "@/features/home/ui";
import { CAT_SPINNER } from "@/shared/assets/gifs";
import { RefreshButton } from "@/widgets";

import * as styles from "./major-company-section.css";
Expand Down Expand Up @@ -40,7 +41,10 @@ const MajorCompanySection = () => {

<div className={styles.cardGrid}>
{isLoading || safeData.length < 3 ? (
<div className={styles.emptyWrapper}>로딩 중...</div>
<div className={styles.emptyWrapper}>
<img src={CAT_SPINNER} className={styles.spinner} alt="로딩중" />
<p className={styles.spinnerText}>기업 정보를 불러오고 있어요</p>
</div>
) : (
<>
<div className={styles.smallCards}>
Expand Down
2 changes: 0 additions & 2 deletions src/pages/login/kakao-login-page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,6 @@ const KakaoLoginPage = () => {
if (result && result.accessToken) {
actions.login(result.accessToken);
const targetPath = result.isNew ? "/onboarding" : "/";
console.log("응답값:", result);
console.log("응답값:", result.isNew);
navigate(targetPath, { replace: true });
} else {
navigate("/login", { replace: true });
Expand Down
5 changes: 4 additions & 1 deletion src/pages/login/login-page.css.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,14 @@ const AppleFont = fontFace({

export const container = style({
margin: `0 auto`,
paddingTop: `calc(${themeVars.height.header} + 28.4rem)`,
paddingTop: `calc(${themeVars.height.header})`,
display: "flex",
flexDirection: "column",
alignItems: "center",
justifyContent: "center",
gap: "8rem",
border: "1px solid red",
height: "100vh",
});

export const section = style({
Expand Down
Binary file added src/shared/assets/gifs/cat_walk.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions src/shared/assets/gifs/index.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
export { default as LOADING } from "./spinner.gif";
export { default as LOVE } from "./love.gif";
export { default as KEY_SPINNER } from "./key-spinner.gif";
export { default as CAT_SPINNER } from "./cat_walk.gif";
Loading