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
8 changes: 4 additions & 4 deletions app/(my)/my-study-review/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,16 @@

import Image from 'next/image';
import { useEffect, useRef, useState } from 'react';
import { MyReviewItem } from '@/entities/review/api/review-types';
import KeywordReview from '@/entities/user/ui/keyword-review';
import MoreKeywordReviewModal from '@/entities/user/ui/more-keyword-review-modal';
import { MyReviewItem } from '@/features/study/api/types';
import { formatKoreaRelativeTime } from '@/shared/lib/time';
import UserAvatar from '@/shared/ui/avatar';
import {
useMyNegativeKeywordsQuery,
useMyReviewsInfinityQuery,
useUserPositiveKeywordsQuery,
} from '@/features/study/model/use-review-query';
import { formatKoreaRelativeTime } from '@/shared/lib/time';
import UserAvatar from '@/shared/ui/avatar';
} from '@/entities/review/model/use-review-query';

export default function MyStudyReview() {
const { data: positiveKeywordsData } = useUserPositiveKeywordsQuery({
Expand Down
2 changes: 1 addition & 1 deletion app/page.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { Metadata } from 'next';
import StudyCard from '@/features/study/ui/study-card';
import StudyCard from '@/features/study/schedule/ui/study-card';
import Banner from '@/widgets/home/banner';
import Sidebar from '@/widgets/home/sidebar';

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
import { axiosInstance } from '@/shared/tanstack-query/axios';
import type {
AddStudyReviewRequest,
UserPositiveKeywordsResponse,
Expand All @@ -9,7 +8,8 @@ import type {
MyReviewsResponse,
MyReviewsRequest,
ShouldReviewPartnerResponse,
} from './types';
} from '@/entities/review/api/review-types';
import { axiosInstance } from '@/shared/tanstack-query/axios';

export const getPartnerStudyReview =
async (): Promise<StudyEvaluationResponse> => {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,100 +1,4 @@
export type StudyProgressStatus =
| 'PENDING'
| 'IN_PROGRESS'
| 'COMPLETE'
| 'ABSENT';

export interface DailyStudy {
interviewer: string;
interviewerImage: string;
interviewee: string;
intervieweeImage: string;
dailyStudyId: number;
subject: string;
description: string;
link: string;
progressStatus: StudyProgressStatus;
studyDate: string;
feedback: string | undefined;
}

export interface DailyStudyDetail {
dailyStudyId: number;
interviewerId: number;
interviewerName: string;
interviewerImage: string;
intervieweeId: number;
intervieweeName: string;
intervieweeImage: string;
studySpaceId: number;
progressStatus: StudyProgressStatus;
subject: string;
description: string;
link: string;
feedback: string;
}

export interface GetDailyStudiesParams {
cursor?: number;
pageSize?: number;
studyDate?: string;
}

export interface GetDailyStudiesResponse {
items: DailyStudy[];
nextCursor: number;
hasNext: boolean;
}

export interface GetMonthlyCalendarParams {
year: number;
month: number;
}

export interface StudyCalendarDay {
day: number;
hasStudy: boolean;
status: StudyProgressStatus | undefined;
}

export interface MonthlyCalendarResponse {
calendar: StudyCalendarDay[];
monthlyCompletedCount?: number;
totalCompletedCount?: number;
}

export interface PostDailyRetrospectRequest {
description: string;
parentId: number;
}

export interface PrepareStudyRequest {
subject: string;
link: string;
}

export interface JoinStudyRequest {
memberId: number;
selfIntroduction?: string;
studyPlan?: string;
preferredStudySubjectId?: string;
availableStudyTimeIds?: number[];
techStackIds?: number[];
tel?: string;
githubLink?: string;
blogOrSnsLink?: string;
}

export interface WeeklyParticipationResponse {
memberId: number;
isParticipate: boolean;
}

export interface CompleteStudyRequest {
feedback: string;
progressStatus: StudyProgressStatus;
}

// 리뷰 관련 타입
export interface EvalKeyword {
id: number;
keyword: string;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@ import {
useQuery,
useSuspenseQuery,
} from '@tanstack/react-query';
import {
MyNegativeKeywordsRequest,
UserPositiveKeywordsRequest,
} from '@/entities/review/api/review-types';
import { getKoreaDate } from '@/shared/lib/time';
import {
addStudyReview,
Expand All @@ -13,10 +17,6 @@ import {
getMyReviews,
getShouldReviewPartner,
} from '../api/get-review';
import {
MyNegativeKeywordsRequest,
UserPositiveKeywordsRequest,
} from '../api/types';

export const usePartnerStudyReviewQuery = () => {
return useSuspenseQuery({
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,17 +3,20 @@
import { XIcon } from 'lucide-react';
import Image from 'next/image';
import { useState } from 'react';
import {
EvalKeyword,
StudyEvaluationResponse,
} from '@/entities/review/api/review-types';
import UserAvatar from '@/shared/ui/avatar';
import Button from '@/shared/ui/button';
import Checkbox from '@/shared/ui/checkbox';
import { TextAreaInput } from '@/shared/ui/input';
import ListItem from '@/shared/ui/list-item';
import { Modal } from '@/shared/ui/modal';
import { EvalKeyword, StudyEvaluationResponse } from '../api/types';
import {
useAddStudyReviewMutation,
usePartnerStudyReviewQuery,
} from '../model/use-review-query';
} from '@/entities/review/model/use-review-query';

interface FormState {
studySpaceId: number;
Expand Down
2 changes: 1 addition & 1 deletion src/entities/user/model/use-user-profile-query.ts
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ export const usePatchAutoMatchingMutation = () => {
});
}

return { prev };
return { prev };
},

onError: (_err, { memberId }, ctx) => {
Expand Down
4 changes: 2 additions & 2 deletions src/entities/user/ui/my-profile-card.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@

import Link from 'next/link';
import React, { useState } from 'react';
import { useReviewReminder } from '@/entities/review/lib/use-reminder-review';
import StudyReviewModal from '@/entities/review/ui/study-review-modal';
import { usePatchAutoMatchingMutation } from '@/entities/user/model/use-user-profile-query';
import { useReviewReminder } from '@/features/study/lib/use-reminder-review';
import StudyReviewModal from '@/features/study/ui/study-review-modal';
import { getSincerityPresetByLevelName } from '@/shared/config/sincerity-temp-presets';
import { cn } from '@/shared/shadcn/lib/utils';
import UserAvatar from '@/shared/ui/avatar';
Expand Down
2 changes: 1 addition & 1 deletion src/entities/user/ui/user-profile-modal.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,11 @@ import CakeIcon from '@/features/my-page/ui/icon/cake.svg';
import GithubIcon from '@/features/my-page/ui/icon/github-logo.svg';
import GlobeIcon from '@/features/my-page/ui/icon/globe-simple.svg';
import PhoneIcon from '@/features/my-page/ui/icon/phone.svg';
import { useUserPositiveKeywordsQuery } from '@/features/study/model/use-review-query';
import { getSincerityPresetByLevelName } from '@/shared/config/sincerity-temp-presets';
import UserAvatar from '@/shared/ui/avatar';
import Badge from '@/shared/ui/badge';
import { Modal } from '@/shared/ui/modal';
import { useUserPositiveKeywordsQuery } from '@/entities/review/model/use-review-query';

interface UserProfileModalProps {
memberId: number;
Expand Down
1 change: 0 additions & 1 deletion src/features/my-page/model/profile-form.schema.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
import { FieldNamesMarkedBoolean } from 'react-hook-form';
import { z } from 'zod';
import type { MemberProfile } from '@/entities/user/api/types';
import { UrlSchema } from '@/shared/util/zod-schema';
Expand Down
2 changes: 1 addition & 1 deletion src/features/my-page/ui/profile-edit-modal.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ function ProfileEditForm({

const {
handleSubmit,
formState: { isValid, isSubmitting, dirtyFields },
formState: { isValid, isSubmitting },
} = methods;

const onValidSubmit = async (values: ProfileFormValues) => {
Expand Down
96 changes: 0 additions & 96 deletions src/features/study/api/get-study-data.ts

This file was deleted.

38 changes: 38 additions & 0 deletions src/features/study/interview/api/get-interview.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
import type {
CompleteStudyRequest,
DailyStudyDetail,
PrepareStudyRequest,
} from '@/features/study/interview/api/interview-types';
import { axiosInstance } from '@/shared/tanstack-query/axios';

// 스터디 상세 조회
export const getDailyStudyDetail = async (
params: string,
): Promise<DailyStudyDetail> => {
const res = await axiosInstance.get(`/study/daily/mine/${params}`);

return res.data.content;
};

// 면접 준비 시작
export const putStudyDaily = async (
dailyId: number,
body: PrepareStudyRequest,
) => {
const res = await axiosInstance.put(`/study/daily/${dailyId}/prepare`, body);

return res.data;
};

// 면접 완료 및 회고 작성
export const completeStudy = async (
dailyStudyId: number,
body: CompleteStudyRequest,
) => {
const res = await axiosInstance.post(
`/study/daily/${dailyStudyId}/complete`,
body,
);

return res.data;
};
Loading