Skip to content

Commit

Permalink
Refactor: (#666)
Browse files Browse the repository at this point in the history
* refactor: 이름 변경 .client 제거 및 다국어 ssr

* refactor: numberform 핸드폰 번호 제거

* fix: 빌드 오류 해결
  • Loading branch information
dev-dong-su authored Mar 19, 2024
1 parent 4b1e53e commit 983142f
Show file tree
Hide file tree
Showing 30 changed files with 113 additions and 81 deletions.
4 changes: 2 additions & 2 deletions packages/app/android/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -89,8 +89,8 @@ android {
applicationId "com.goodcode.gloddy"
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 7
versionName "1.4.0"
versionCode 8
versionName "1.4.1"
resValue 'string', "CODE_PUSH_APK_BUILD_TIME", String.format("\"%d\"", System.currentTimeMillis())
}
signingConfigs {
Expand Down
1 change: 0 additions & 1 deletion packages/web/src/apis/auth/mutations.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import { useMutation } from '@tanstack/react-query';

import {
LoginResponse,
SignUpResponse,
postEmail,
postEmailVerify,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import { useEffect } from 'react';
import { useInView } from 'react-intersection-observer';

import { useGetCommunityArticles } from '@/apis/community/queries';
import ArticleItem from '@/app/[lng]/(main)/community/components/ArticleItem.client';
import ArticleItem from '@/app/[lng]/(main)/community/components/ArticleItem';
import Empty from '@/app/[lng]/(main)/community/components/Empty';
import { ItemList } from '@/components/List';
import { useBlockStore } from '@/store/useBlockStore';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import { enUS, ko } from 'date-fns/locale';
import Image from 'next/image';

import { CommunityArticle } from '@/apis/community';
import ArticleBadge from '@/app/[lng]/(main)/community/components/ArticleBadge.client';
import ArticleBadge from '@/app/[lng]/(main)/community/components/ArticleBadge';
import { useTranslation } from '@/app/i18n/client';
import { Avatar } from '@/components/Avatar';
import { Divider } from '@/components/Divider';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,5 @@
import { serverTranslation } from '@/app/i18n';
import { IconButton } from '@/components/Button';
import { Header } from '@/components/Header';
import { Icon } from '@/components/Icon';
import { NavLink } from '@/components/NavLink';

interface CommunityHeaderProps {
lng: string;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
'use client';
import dynamic from 'next/dynamic';
import { Suspense } from 'react';
import { useTranslation } from 'react-i18next';

import { useTranslation } from '@/app/i18n/client';
import { Loading } from '@/components/Loading';
import { Tabs } from '@/components/Tabs';

const AllContent = dynamic(() => import('./AllContent.client'));
const AllContent = dynamic(() => import('./AllContent'));
const KpopContent = dynamic(() => import('./KpopContent'));
const LanguageContent = dynamic(() => import('./LanguageContent.client'));
const QuestionContent = dynamic(() => import('./QuestionContent.client'));
const LanguageContent = dynamic(() => import('./LanguageContent'));
const QuestionContent = dynamic(() => import('./QuestionContent'));

export default function ContentSection() {
const { t } = useTranslation('community');
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import { useEffect } from 'react';
import { useInView } from 'react-intersection-observer';

import ArticleItem from './ArticleItem.client';
import ArticleItem from './ArticleItem';
import Empty from './Empty';

import { useGetCommunityArticles } from '@/apis/community/queries';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import { useEffect } from 'react';
import { useInView } from 'react-intersection-observer';

import ArticleItem from './ArticleItem.client';
import ArticleItem from './ArticleItem';
import Empty from './Empty';

import { useGetCommunityArticles } from '@/apis/community/queries';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import { useEffect } from 'react';
import { useInView } from 'react-intersection-observer';

import ArticleItem from './ArticleItem.client';
import ArticleItem from './ArticleItem';
import Empty from './Empty';

import { useGetCommunityArticles } from '@/apis/community/queries';
Expand Down
2 changes: 1 addition & 1 deletion packages/web/src/app/[lng]/(main)/community/page.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import CommunityHeader from './components/CommunityHeader';
import ContentSection from './components/ContentSection.client';
import ContentSection from './components/ContentSection';
import CreateArticleButton from './components/CreateArticleButton';

import { Keys, getCommunityArticles } from '@/apis/community';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,20 @@
import { useEffect } from 'react';
import { useInView } from 'react-intersection-observer';

import NoMeeting from '../../meeting/components/NoMeeting';

import { useGetGroups } from '@/apis/groups';
import { useTranslation } from '@/app/i18n/client';
import { GroupingCard } from '@/components/Card';
import { Empty } from '@/components/Empty';
import { ItemList } from '@/components/List';
import { useBlockStore } from '@/store/useBlockStore';

export default function GroupingCardList() {
interface GroupingCardList {
lng: string;
}

export default function GroupingCardList({ lng }: GroupingCardList) {
const { ref, inView } = useInView();
const { blockGroupIds } = useBlockStore();
const { data: groupList, fetchNextPage, hasNextPage } = useGetGroups();
const { t } = useTranslation('grouping');

useEffect(() => {
if (inView && hasNextPage) fetchNextPage();
Expand All @@ -27,7 +28,7 @@ export default function GroupingCardList() {
renderItem={(group) => {
return !blockGroupIds.includes(group.groupId) && <GroupingCard groupingData={group} />;
}}
renderEmpty={() => <NoMeeting message={t('noGroup')} />}
renderEmpty={() => <Empty lng={lng} ns={'grouping'} message={'noGroup'} />}
/>
<div ref={ref} />
</>
Expand Down
2 changes: 1 addition & 1 deletion packages/web/src/app/[lng]/(main)/grouping/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ export default function GroupingPage({ params: { lng } }: GroupingPageProps) {
<GroupingHeader />
<LocalSuspenseErrorBoundary>
<HydrationProvider queryFn={() => getGroups(0)} queryKey={Keys.getGroups()} isInfiniteQuery>
<GroupingCardList />
<GroupingCardList lng={lng} />
</HydrationProvider>
</LocalSuspenseErrorBoundary>
<CreateGroupButton />
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,16 @@
'use client';
import FeedbackContent from './FeedbackContent.client';
import ParticipatingContent from './ParticipatingContent.client';
import WaitingContent from './WaitingContent.client';

import dynamic from 'next/dynamic';
import { Suspense } from 'react';

import { useTranslation } from '@/app/i18n/client';
import { Loading } from '@/components/Loading';
import { Tabs } from '@/components/Tabs';

const ParticipatingContent = dynamic(() => import('./ParticipatingContent.client'));
const WaitingContent = dynamic(() => import('./WaitingContent.client'));
const FeedbackContent = dynamic(() => import('./FeedbackContent.client'));

export default function ContentSection() {
const { t } = useTranslation('meeting');

Expand All @@ -16,13 +22,19 @@ export default function ContentSection() {
<Tabs.Tab value="feedback" text={t('home.evaluation')} />
</Tabs.List>
<Tabs.Panel value="participating">
<ParticipatingContent />
<Suspense fallback={<Loading />}>
<ParticipatingContent />
</Suspense>
</Tabs.Panel>
<Tabs.Panel value="waiting">
<WaitingContent />
<Suspense fallback={<Loading />}>
<WaitingContent />
</Suspense>
</Tabs.Panel>
<Tabs.Panel value="feedback">
<FeedbackContent />
<Suspense fallback={<Loading />}>
<FeedbackContent />
</Suspense>
</Tabs.Panel>
</Tabs>
);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
'use client';

import FeedbackModal from './FeedbackModal.client';
import SubtitleSection from './SubtitleSection';
import NoMeeting from '../../components/NoMeeting';

import { useGetMeetingNotEstimated } from '@/apis/meeting';
import { useTranslation } from '@/app/i18n/client';
import { Button } from '@/components/Button';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
'use client';
import Image from 'next/image';

import { useTranslation } from '@/app/i18n/client';
import { Modal } from '@/components/Modal';
import { Spacing } from '@/components/Spacing';
import useAppRouter from '@/hooks/useAppRouter';
import Image from 'next/image';

interface FeedbackModalProps {
onClose: () => void;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,14 @@
'use client';
import { useTranslation } from '@/app/i18n/client';
import { Header } from '@/components/Header';
import Link from 'next/link';

export default function MeetingParticipateHeader() {
const { t } = useTranslation('meeting');
import { serverTranslation } from '@/app/i18n';
import { Header } from '@/components/Header';

interface MeetingParticipateHeaderProps {
lng: string;
}

export default async function MeetingParticipateHeader({ lng }: MeetingParticipateHeaderProps) {
const { t } = await serverTranslation(lng, 'meeting');

return (
<Header>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
'use client';

import SubtitleSection from './SubtitleSection';
import NoMeeting from '../../components/NoMeeting';

import { useGetMeetingHosting, useGetMeetingParticipating } from '@/apis/meeting';
import { useTranslation } from '@/app/i18n/client';
import { GroupingCard } from '@/components/Card';
Expand All @@ -24,6 +26,7 @@ export default function ParticipatingContent() {
{meetingParticipatingData.length === 0 && (
<NoMeeting message={t('home.noParticipatingGroups')} />
)}

{meetingParticipatingData.map((groupingData) => (
<GroupingCard
groupingData={groupingData.group}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
import RejectModal from './RejectModal';
import SubtitleSection from './SubtitleSection';
import NoMeeting from '../../components/NoMeeting';

import { useGetMeetingRejected, useGetMeetingWaiting } from '@/apis/meeting';
import { useTranslation } from '@/app/i18n/client';
import { GroupingCard } from '@/components/Card';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ interface MeetingPageProps {
export default function MeetingPage({ params: { lng } }: MeetingPageProps) {
return (
<>
<MeetingParticipateHeader />
<MeetingParticipateHeader lng={lng} />
<LocalSuspenseErrorBoundary>
<HydrationProvider
queryMultipleFn={[
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,15 @@
'use client';
import NoMeeting from '../../components/NoMeeting';

import { useGetMeetingScrap } from '@/apis/meeting';
import { useTranslation } from '@/app/i18n/client';
import { GroupingCard } from '@/components/Card';
import { Empty } from '@/components/Empty';
import { ItemList } from '@/components/List';

export default function ContentSection() {
const { t } = useTranslation('meeting');
interface ContentSectionProps {
lng: string;
}

export default function ContentSection({ lng }: ContentSectionProps) {
const {
data: { contents },
} = useGetMeetingScrap();
Expand All @@ -15,7 +18,7 @@ export default function ContentSection() {
<ItemList
data={contents}
renderItem={(content) => <GroupingCard groupingData={content} isScrapped />}
renderEmpty={() => <NoMeeting message={t('home.noFavoritedGroups')} />}
renderEmpty={() => <Empty lng={lng} ns={'meeting'} message={'home.noFavoritedGroups'} />}
/>
);
}
Original file line number Diff line number Diff line change
@@ -1,10 +1,14 @@
'use client';
import { useTranslation } from '@/app/i18n/client';
import { Header } from '@/components/Header';
import Link from 'next/link';

export default function MeetingScrapHeader() {
const { t } = useTranslation('meeting');
import { serverTranslation } from '@/app/i18n';
import { Header } from '@/components/Header';

interface MeetingScrapHeaderProps {
lng: string;
}

export default async function MeetingScrapHeader({ lng }: MeetingScrapHeaderProps) {
const { t } = await serverTranslation(lng, 'meeting');

return (
<Header>
Expand Down
6 changes: 3 additions & 3 deletions packages/web/src/app/[lng]/(main)/meeting/scrap/page.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import ContentSection from './components/ContentSection.client';
import ContentSection from './components/ContentSection';
import MeetingScrapHeader from './components/MeetingScrapHeader';

import { Keys, getMeetingScrap } from '@/apis/meeting';
Expand All @@ -15,10 +15,10 @@ interface MeetingPageProps {
export default function MeetingPage({ params: { lng } }: MeetingPageProps) {
return (
<>
<MeetingScrapHeader />
<MeetingScrapHeader lng={lng} />
<LocalSuspenseErrorBoundary>
<HydrationProvider queryFn={getMeetingScrap} queryKey={Keys.getMeetingScraps()}>
<ContentSection />
<ContentSection lng={lng} />
</HydrationProvider>
</LocalSuspenseErrorBoundary>
<Footer page="meeting" lng={lng} />
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
import { ElementType, KeyboardEventHandler } from 'react';

import { useJoinContext } from '../../../components/JoinContext.client';
import { formatNumber, formatNumberBackSpace } from '../util';

import type { SignUpState } from '../../../type';
import type { StatusType } from '../type';
import type { SubmitHandler } from 'react-hook-form';

import { useLoginMutation, useSMSMutation } from '@/apis/auth';
import { useTranslation } from '@/app/i18n/client';
import { Button, ButtonGroup } from '@/components/Button';
Expand All @@ -8,11 +15,6 @@ import { Spacing } from '@/components/Spacing';
import { TextFieldController } from '@/components/TextField';
import { regexr } from '@/constants/regexr';
import { useToast } from '@/hooks/useModal';
import { ElementType, KeyboardEventHandler } from 'react';

import type { SignUpState } from '../../../type';
import type { StatusType } from '../type';
import type { SubmitHandler } from 'react-hook-form';

interface NumberSectionProps {
inputStatus: StatusType;
Expand Down Expand Up @@ -45,10 +47,6 @@ export default function NumberForm({ inputStatus, setInputStatus }: NumberSectio
if (timerStatus === 'RUNNING') return;
timerStart();
const phoneNumberWithoutHyphen = data.phoneNumber.replace(/[-\s]/g, '');
if (phoneNumberWithoutHyphen === '01089695610') {
mutateLogin({ phoneNumber: data.phoneNumber });
return;
}
mutateSMS({ number: phoneNumberWithoutHyphen });
openToast('인증 번호가 전송되었습니다.');
setInputStatus('afterSend');
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
import { useJoinContext } from '../../../components/JoinContext.client';
import { useFunnelContext } from '../../JoinFunnel';
import { formatWithoutHyphen } from '../util';

import type { SignUpState } from '../../../type';
import type { SubmitHandler } from 'react-hook-form';

import { LoginResponse, useLoginMutation, useSMSMutation, useSMSVerifyMutation } from '@/apis/auth';
import { useTranslation } from '@/app/i18n/client';
import { Button, ButtonGroup } from '@/components/Button';
Expand All @@ -10,9 +14,6 @@ import { TextFieldController } from '@/components/TextField';
import { regexr } from '@/constants/regexr';
import useLogin from '@/hooks/token/useLogin';

import type { SignUpState } from '../../../type';
import type { SubmitHandler } from 'react-hook-form';

interface NumberVerifyFormProps {
setInputStatus: React.Dispatch<React.SetStateAction<'beforeSend' | 'afterSend'>>;
}
Expand Down
Loading

0 comments on commit 983142f

Please sign in to comment.