Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
9c96f79
Feat: λ‚˜μ˜ 크루 νŽ˜μ΄μ§€ μ΄ˆμ•ˆ μž‘μ„±
yulrang Nov 5, 2024
06fef16
🚨 Fix: λ¦°νŠΈν”„λ¦¬ν‹°μ–΄ 적용
yulrang Nov 5, 2024
2533b88
🚨 Fix: λΉŒλ“œ 였λ₯˜ μˆ˜μ •
yulrang Nov 5, 2024
6d6f000
Merge branch 'develop' into Feat/56/MyCrewPage
yulrang Nov 5, 2024
a04b09b
Update crew-card-list.tsx
yulrang Nov 5, 2024
a09a117
🚨 Fix: λΉŒλ“œ 였λ₯˜ 제거
yulrang Nov 5, 2024
1085b68
Merge branch 'Feat/56/MyCrewPage' of https://github.com/CodeitFESI4-T…
yulrang Nov 5, 2024
93f7717
Merge branch 'develop' into Feat/56/MyCrewPage
yulrang Nov 5, 2024
749f7ab
🚚 Chore: 파일 이동
yulrang Nov 5, 2024
62a4202
Merge branch 'develop' into Feat/56/MyCrewPage
yulrang Nov 5, 2024
895a695
πŸ’„ Design: PCμ—μ„œλ§Œ 2μ—΄λ‘œ 보이도둝 μˆ˜μ •
yulrang Nov 5, 2024
f43219a
Merge branch 'develop' into Feat/56/MyCrewPage
yulrang Nov 5, 2024
b936ada
πŸ’„ Design: νŒ¨λ”© μΆ”κ°€, 파일 이동
yulrang Nov 6, 2024
b8808fe
πŸ’„ Design : μƒμ„±νŽ˜μ΄μ§€ νŒ¨λ”© μΆ”κ°€
yulrang Nov 6, 2024
9573464
✨ Feat: λ‘œλ” 적용
yulrang Nov 6, 2024
7afb4bc
🎨 Style: 린트 프리티어 적용
yulrang Nov 6, 2024
c6f1018
πŸ’š CI: μ›Œν¬ν”Œλ‘œμš° μˆ˜μ •
yulrang Nov 6, 2024
49e96bd
Merge branch 'develop' into Feat/56/MyCrewPage
yulrang Nov 6, 2024
9147cda
🚨 Fix: μ ˆλŒ€κ²½λ‘œλ‘œ μˆ˜μ •
yulrang Nov 6, 2024
54feaf3
Fix: λΉŒλ“œμ—λŸ¬ μˆ˜μ •
yulrang Nov 6, 2024
fb45e60
Merge branch 'develop' into Feat/56/MyCrewPage
yulrang Nov 6, 2024
8109882
🚨 Fix: λΉŒλ“œ 였λ₯˜ μˆ˜μ •
yulrang Nov 6, 2024
074f17a
🚨 Fix: νƒ€μž… 였λ₯˜ μˆ˜μ •
yulrang Nov 6, 2024
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
23 changes: 0 additions & 23 deletions .github/workflows/deploy_develop.yml

This file was deleted.

17 changes: 0 additions & 17 deletions .github/workflows/dispatch_develop.yml

This file was deleted.

2 changes: 1 addition & 1 deletion src/app/(auth)/signup/_component/signup-form.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import React, { useEffect } from 'react';
import { UseFormReturn, useForm } from 'react-hook-form';
import { UseFormReturn } from 'react-hook-form';
import { Button } from '@mantine/core';
import { useDebouncedCallback } from '@mantine/hooks';
import PasswordInput from '@/src/components/common/input/password-input';
Expand Down
2 changes: 1 addition & 1 deletion src/app/(crew)/crew/_components/create-crew-form/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import { useRouter } from 'next/navigation';
import { NumberInput } from '@mantine/core';
import categoryData from '@/src/data/category.json';
import regionData from '@/src/data/region.json';
import Button from '@/src/components/common/button';
import Button from '@/src/components/common/input/button';
import DropDown from '@/src/components/common/input/drop-down';
import FileInputWrap from '@/src/components/common/input/file-input-wrap';
import TextInput from '@/src/components/common/input/text-input';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import { useState } from 'react';
import { useForm } from 'react-hook-form';
import { NumberInput } from '@mantine/core';
import Button from '@/src/components/common/button';
import Button from '@/src/components/common/input/button';
import DateTimePicker from '@/src/components/common/input/date-time-picker';
import FileInputWrap from '@/src/components/common/input/file-input-wrap';
import TextInput from '@/src/components/common/input/text-input';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
'use client';

import GatheringDetailModalPresenter from '@/src/components/gathering-detail-modal/presenter';
import { GatheringDetailType } from '@/src/types/gathering-data';
import GatheringDetailModalPresenter from './presenter';

export interface GatheringDetailModalContainerProps {
opened: boolean;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import Image from 'next/image';
import { Modal, ScrollArea } from '@mantine/core';
import { formatDate } from '@/src/utils/format-date';
import isToday from '@/src/utils/is-today';
import Button from '@/src/components/common/button';
import Button from '@/src/components/common/input/button';
import { Profile } from '@/src/components/common/profile';
import { GatheringDetailType } from '@/src/types/gathering-data';
import IcoClock from '@/public/assets/icons/ic-clock.svg';
Expand Down
2 changes: 1 addition & 1 deletion src/app/(crew)/crew/create/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ export default function CreateCrewPage() {
};

return (
<div className="lg:px-8.5 flex flex-col gap-3 gap-8 px-3 md:gap-4 md:px-8">
<div className="lg:px-8.5 flex flex-col gap-3 px-3 py-8 md:gap-4 md:px-8 md:py-12.5 lg:gap-8">
<div className="flex items-center gap-3">
<figure className="relative h-16 w-20">
<Image
Expand Down
2 changes: 1 addition & 1 deletion src/app/(crew)/crew/detail/[id]/edit/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ export default function EditCrewPage() {
};

return (
<div className="lg:px-8.5 flex flex-col gap-3 px-3 md:gap-4 md:px-8 lg:gap-8">
<div className="lg:px-8.5 flex flex-col gap-3 px-3 py-8 md:gap-4 md:px-8 md:py-12.5 lg:gap-8">
<div className="flex items-center gap-3">
<figure className="relative h-16 w-20">
<Image
Expand Down
2 changes: 1 addition & 1 deletion src/app/(crew)/crew/detail/[id]/page.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { getCrewDetail } from '@/src/_apis/detail/get-crew-detail';
import { getGatheringList } from '@/src/_apis/detail/get-gathering-list';
import Button from '@/src/components/common/button';
import DetailCrewCard from '@/src/components/common/crew-list/detail-crew-card';
import Button from '@/src/components/common/input/button';
import GatheringCardCarousel from '@/src/components/gathering-list/gathering-card-carousel';
import CrewReviewSection from './_components/review-section';

Expand Down
42 changes: 0 additions & 42 deletions src/app/(crew)/crew/edit/page.tsx

This file was deleted.

4 changes: 3 additions & 1 deletion src/app/(crew)/layout.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,9 @@ export default function RootLayout({
<>
<Header />
<div className="flex min-h-screen flex-col items-center bg-gray-50">
<main className="container flex max-w-pc flex-col md:shadow-bg">{children}</main>
<main className="container flex min-h-screen max-w-pc flex-col md:shadow-bg">
{children}
</main>
</div>
</>
);
Expand Down
Empty file removed src/app/(crew)/my-crew/.gitkeep
Empty file.
48 changes: 48 additions & 0 deletions src/app/(crew)/my-crew/page.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
'use client';

import { useState } from 'react';
import { useInfiniteScroll } from '@/src/hooks/useInfiniteScroll';
import { fetchCrewData } from '@/src/app/api/mock-api/crew';
import CrewCardList from '@/src/components/common/crew-list/crew-card-list';
import Tabs from '@/src/components/common/tab';
import { CrewCardInformResponse } from '@/src/types/crew-card';

export default function MyCrePage() {
const myPageTabs = [
{ label: 'λ‚΄κ°€ μ°Έμ—¬ν•œ 크루', id: 'joined-crew' },
{ label: 'λ‚΄κ°€ λ§Œλ“  크루', id: 'made-crew' },
];
const [currentTab, setCurrentTab] = useState(myPageTabs[0].id);

// TODO: fetchCrewData ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•˜μ—¬ 데이터λ₯Ό 뢈러였기 : νŒŒλΌλ―Έν„° μˆ˜μ • ν•„μš”
const { data, ref, isFetchingNextPage } = useInfiniteScroll<CrewCardInformResponse>({
queryKey: ['crew'],
queryFn: ({ pageParam = 0 }) => {
return fetchCrewData(pageParam, 3);
},
getNextPageParam: (lastPage, allPages) =>
lastPage.hasNextPage ? allPages.length + 1 : undefined,
});
return (
<div className="py-8 md:py-12.5">
<div className="px-3 md:px-8 lg:px-11.5">
<Tabs
variant="default"
tabs={myPageTabs}
activeTab={currentTab}
onTabClick={(id) => {
setCurrentTab(id);
}}
/>
</div>
<div className="mt-8 px-3 md:px-8 lg:px-11.5">
<CrewCardList
inWhere="my-crew"
data={data}
ref={ref}
isFetchingNextPage={isFetchingNextPage}
/>
</div>
</div>
);
}
2 changes: 1 addition & 1 deletion src/app/(crew)/mypage/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@
import { useState } from 'react';
import { Divider } from '@mantine/core';
import { useInfiniteScroll } from '@/src/hooks/useInfiniteScroll';
import ProfileCardContainer from '@/src/app/(crew)/mypage/_components/profile-card/container';
import ReviewCardList from '@/src/components/common/review-list/review-card-list';
import Tabs from '@/src/components/common/tab';
import ProfileCardContainer from '@/src/components/my-page/profile-card/container';
import { ReviewInformResponse } from '@/src/types/review';
import { fetchMyReviewData } from '../../api/mock-api/review';

Expand Down
14 changes: 4 additions & 10 deletions src/app/(crew)/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,21 +5,15 @@ import Image from 'next/image';
import { Divider } from '@mantine/core';
import regionData from '@/src/data/region.json';
import { useInfiniteScroll } from '@/src/hooks/useInfiniteScroll';
import CategoryContainer from '@/src/app/_components/category/category-container';
import HeroCrew from '@/src/app/_components/hero/hero-crew';
import { fetchCrewData } from '@/src/app/api/mock-api/crew';
import CategoryContainer from '@/src/components/common/category/category-container';
import CrewCardList from '@/src/components/common/crew-list/crew-card-list';
import HeroCrew from '@/src/components/common/hero/hero-crew';
import DropDown from '@/src/components/common/input/drop-down';
import TextInput from '@/src/components/common/input/text-input';
import { CrewCardInformResponse } from '@/src/types/crew-card';
import IcoSearch from '@/public/assets/icons/ic-search.svg';

export interface ValuesType {
region: string;
date: Date;
sort: string;
}

export default function Home() {
const [mainCategory, setMainCategory] = useState('cardio_strength');
const [subCategory, setSubCategory] = useState('running');
Expand All @@ -37,7 +31,7 @@ export default function Home() {
});

return (
<>
<div className="py-8 md:py-12.5">
<div className="flex flex-col px-3 md:px-8 lg:px-11.5">
<HeroCrew />
<CategoryContainer
Expand Down Expand Up @@ -90,6 +84,6 @@ export default function Home() {
<div className="mt-8 px-3 md:px-8 lg:px-11.5">
<CrewCardList data={data} ref={ref} isFetchingNextPage={isFetchingNextPage} />
</div>
</>
</div>
);
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@

import { useEffect, useState } from 'react';
import category from '@/src/data/category.json';
import InternalCategory from '@/src/components/common/category/internal-category';
import MainCategory from '@/src/components/common/category/main-category';
import InternalCategory from '@/src/app/_components/category/internal-category';
import MainCategory from '@/src/app/_components/category/main-category';

export interface CategoryContainerProps {
mainCategory: string;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

import { usePathname } from 'next/navigation';
import { useSlider } from '@/src/hooks/useSlider';
import Button from '@/src/components/common/button';
import Button from '@/src/components/common/input/button';
import { CategoryItem } from '@/src/types/category';

export interface InternalCategoryProps {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

import { useCallback, useEffect, useRef, useState } from 'react';
import { usePathname } from 'next/navigation';
import Button from '@/src/components/common/button';
import Button from '@/src/components/common/input/button';
import { MainCategoryItem } from '@/src/types/category';

export interface MainCategoryProps {
Expand Down
10 changes: 8 additions & 2 deletions src/components/common/crew-list/crew-card.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import ProgressBar from '@/src/components/common/progress-bar/index';
import { CrewMemberList } from '@/src/types/crew-card';
import Check from '@/public/assets/icons/ic-check.svg';
import UserIco from '@/public/assets/icons/ic-user.svg';
import Profiles from './profiles';

interface CrewCardProps {
id: number;
Expand All @@ -18,8 +19,8 @@ interface CrewCardProps {
isConfirmed: boolean;
thumbnail: string;
gatheringCount: number;
inWhere?: 'my-crew';
crewMember?: CrewMemberList[];
inWhere?: 'my-crew';
}

export default function CrewCard({
Expand Down Expand Up @@ -57,7 +58,7 @@ export default function CrewCard({
className="relative mx-auto flex h-[430px] w-full animate-fade cursor-pointer flex-col overflow-hidden rounded-[14px] bg-white shadow-bg md:h-[203px] md:flex-row"
>
{/* 썸넀일 */}
<div className="relative h-[203px] w-full flex-shrink-0 md:w-[230px] lg:w-[200px]">
<div className="relative h-[203px] w-full flex-shrink-0 md:w-[230px]">
<Image fill objectFit="cover" alt={name} src={thumbnail} />
</div>

Expand All @@ -83,6 +84,11 @@ export default function CrewCard({
<span className="text-base font-medium">
{participantCount}/{capacity}
</span>
{inWhere === 'my-crew' && (
<span>
<Profiles size="medium" profiles={crewMember ?? []} />
</span>
)}
</div>
{isConfirmed && (
<span className="flex items-center gap-[1px] text-blue-600">
Expand Down
2 changes: 1 addition & 1 deletion src/components/common/crew-list/profiles.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ interface ProfilesProps {
}

export default function Profiles({ size = 'small', profiles }: ProfilesProps) {
const shows = 4;
const shows = 4; // μ΅œλŒ€ ν‘œμ‹œν•  ν”„λ‘œν•„ 수λ₯Ό κ³ μ •κ°’μœΌλ‘œ μ„€μ •
const visibleProfiles = profiles.slice(0, shows);
const extraCount = profiles.length - shows;

Expand Down
2 changes: 1 addition & 1 deletion src/components/common/gathering-card/container.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@

import { useState } from 'react';
import { useDisclosure } from '@mantine/hooks';
import GatheringDetailModalContainer from '@/src/app/(crew)/crew/_components/gathering-detail-modal/container';
import { GatheringDetailType } from '@/src/types/gathering-data';
import GatheringDetailModalContainer from '../../gathering-detail-modal/container';
import GatheringCardPresenter from './presenter';

interface GatheringCardContainerProps {
Expand Down
4 changes: 2 additions & 2 deletions src/components/common/gathering-card/presenter.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ import Image from 'next/image';
import { Badge } from '@mantine/core';
import { cn } from '@/src/hooks/cn';
import { formatDate } from '@/src/utils/format-date';
import Button from '@/src/components/common/button';
import LikeBtn from '@/src/components/common/button/like-btn';
import Button from '@/src/components/common/input/button';
import LikeBtn from '@/src/components/common/input/button/like-btn';
import IcoPerson from '@/public/assets/icons/person.svg';
import IcoTimer from '@/public/assets/icons/timer.svg';

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import Image from 'next/image';
import { Badge } from '@mantine/core';
import { formatDate } from '@/src/utils/format-date';
import LikeBtn from '@/src/components/common/button/like-btn';
import LikeBtn from '@/src/components/common/input/button/like-btn';
import IcoPerson from '@/public/assets/icons/person.svg';

interface ScheduledGatheringCardPresenterProps {
Expand Down
1 change: 0 additions & 1 deletion src/components/common/header/container.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
'use client';

import { useState } from 'react';
import { useRouter } from 'next/navigation';
import { useAuthStore } from '@/src/store/use-auth-store';
import HeaderPresenter from '@/src/components/common/header/presenter';
Expand Down
2 changes: 1 addition & 1 deletion src/components/common/modal/confirm-cancel-modal.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { ReactNode } from 'react';
import { Modal } from '@mantine/core';
import Button from '@/src/components/common/button/index';
import Button from '@/src/components/common/input/button/index';

interface ConfirmCancelModalProps {
children: ReactNode;
Expand Down
2 changes: 1 addition & 1 deletion src/components/common/modal/confirm-modal.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { ReactNode } from 'react';
import { Modal } from '@mantine/core';
import Button from '@/src/components/common/button/index';
import Button from '@/src/components/common/input/button/index';

interface ConfirmModalProps {
children: ReactNode;
Expand Down
Loading