Skip to content

Commit c2d487a

Browse files
authored
Merge pull request #337 from Team-TenTen/develop
[Release] v0.1.17
2 parents 14f5804 + c38cb9f commit c2d487a

File tree

101 files changed

+1745
-1476
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

101 files changed

+1745
-1476
lines changed

next.config.js

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@ const withPlugins = require('next-compose-plugins')
44

55
const withPWA = require('next-pwa')({
66
dest: 'public',
7+
disable: process.env.NODE_ENV === 'development',
8+
register: true,
9+
skipWaiting: true,
710
})
811

912
const withBundleAnalyzer = require('@next/bundle-analyzer')({
@@ -15,7 +18,10 @@ const nextConfig = {
1518
reactStrictMode: false,
1619
images: {
1720
minimumCacheTTL: 1 * 60 * 60 * 24 * 365,
18-
domains: ['linkhub-s3-2025.s3.ap-northeast-2.amazonaws.com'],
21+
domains: [
22+
'linkhub-s3-2025.s3.ap-northeast-2.amazonaws.com',
23+
'linkhub-s3.s3.ap-northeast-2.amazonaws.com',
24+
],
1925
formats: ['image/avif', 'image/webp'],
2026
remotePatterns: [
2127
{

package-lock.json

Lines changed: 109 additions & 27 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/app/(routes)/notification/invite/page.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
'use client'
22

33
import NotificationList from '@/components/common/NotificationList/NotificationList'
4-
import { fetchGetInvitations } from '@/services/notification/invitations'
4+
import { fetchGetInvitations } from '@/services/notification/useNotification'
55

66
const NotificationInvitePage = () => {
77
return (

src/app/(routes)/space/[spaceId]/comment/page.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,15 @@ import CommentList from '@/components/CommentList/CommentList'
66
import Button from '@/components/common/Button/Button'
77
import DeferredComponent from '@/components/common/DeferedComponent/DeferedComponent'
88
import Space from '@/components/common/Space/Space'
9-
import useGetSpace from '@/components/common/Space/hooks/useGetSpace'
109
import Tab from '@/components/common/Tab/Tab'
1110
import TabItem from '@/components/common/Tab/TabItem'
1211
import useTab from '@/components/common/Tab/hooks/useTab'
1312
import { CATEGORIES_RENDER, MIN_TAB_NUMBER } from '@/constants'
1413
import { useModal } from '@/hooks'
1514
import { useCurrentUser } from '@/hooks/useCurrentUser'
1615
import useSpaceComment from '@/hooks/useSpaceComment'
17-
import { fetchGetComments } from '@/services/comment/comment'
16+
import { fetchGetComments } from '@/services/comments/useComments'
17+
import { useGetSpace } from '@/services/space/useSpace'
1818
import { XMarkIcon } from '@heroicons/react/20/solid'
1919
import dynamic from 'next/dynamic'
2020

@@ -29,7 +29,7 @@ export interface CommentFormValues {
2929

3030
const SpaceCommentPage = ({ params }: { params: { spaceId: number } }) => {
3131
const { isLoggedIn } = useCurrentUser()
32-
const { space, isSpaceLoading } = useGetSpace()
32+
const { data: space, isLoading: isSpaceLoading } = useGetSpace(params.spaceId)
3333
const { register, unregister, setValue, setFocus, handleSubmit } =
3434
useForm<CommentFormValues>({
3535
defaultValues: {

src/app/(routes)/space/[spaceId]/layout.tsx

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,16 @@
1-
import { fetchGetSpace } from '@/services/space/space'
21
import { Metadata } from 'next'
32

43
type SpaceLayoutProps = {
54
params: { spaceId: number }
65
}
6+
const baseURL = process.env.NEXT_PUBLIC_API_ADDRESS
77

88
export async function generateMetadata({
99
params: { spaceId },
1010
}: SpaceLayoutProps): Promise<Metadata> {
11-
const space = await fetchGetSpace({ spaceId })
11+
const space = await fetch(`${baseURL}/spaces/${spaceId}`, {
12+
method: 'GET',
13+
}).then((res) => res.json())
1214

1315
return {
1416
title: space.spaceName,

src/app/(routes)/space/[spaceId]/page.tsx

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,6 @@ import Button from '@/components/common/Button/Button'
55
import DeferredComponent from '@/components/common/DeferedComponent/DeferedComponent'
66
import useViewLink from '@/components/common/LinkList/hooks/useViewLink'
77
import Space from '@/components/common/Space/Space'
8-
import useGetSpace from '@/components/common/Space/hooks/useGetSpace'
9-
import useGetTags from '@/components/common/Space/hooks/useGetTags'
108
import Tab from '@/components/common/Tab/Tab'
119
import TabItem from '@/components/common/Tab/TabItem'
1210
import useTab from '@/components/common/Tab/hooks/useTab'
@@ -15,7 +13,8 @@ import { CATEGORIES_RENDER, MIN_TAB_NUMBER } from '@/constants'
1513
import { useSortParam } from '@/hooks'
1614
import { useCurrentUser } from '@/hooks/useCurrentUser'
1715
import useTagParam from '@/hooks/useTagParam'
18-
import { fetchGetLinks } from '@/services/link/link'
16+
import { fetchGetLinks } from '@/services/link/useLink'
17+
import { useGetSpace, useGetTags } from '@/services/space/useSpace'
1918
import { cls } from '@/utils'
2019
import { PencilSquareIcon } from '@heroicons/react/24/outline'
2120
import {
@@ -26,12 +25,12 @@ import {
2625

2726
const SpacePage = ({ params }: { params: { spaceId: number } }) => {
2827
const { currentUser } = useCurrentUser()
29-
const { space, isSpaceLoading } = useGetSpace()
28+
const { data: space, isLoading: isSpaceLoading } = useGetSpace(params.spaceId)
3029
const [isEdit, editToggle] = useToggle(false)
3130
const [view, handleChangeList, handleChangeCard] = useViewLink()
3231
const { currentTab, tabList } = useTab({ type: 'space', space })
3332
const { sort, sortIndex, handleSortChange } = useSortParam('link')
34-
const { tags, refetchTags, isTagsLoading } = useGetTags({
33+
const { data: tags, isLoading: isTagsLoading } = useGetTags({
3534
spaceId: space?.spaceId,
3635
})
3736
const { tag, tagIndex, handleTagChange } = useTagParam({ tags })
@@ -138,10 +137,10 @@ const SpacePage = ({ params }: { params: { spaceId: number } }) => {
138137
isCanEdit={space.isCanEdit}
139138
isMember={
140139
!!space?.memberDetailInfos.find(
141-
(member) => member.memberId === currentUser?.memberId,
140+
(member: { memberId: number }) =>
141+
member.memberId === currentUser?.memberId,
142142
)
143143
}
144-
refetchTags={refetchTags}
145144
/>
146145
)}
147146
<SpaceMemberList

src/app/(routes)/space/[spaceId]/setting/page.tsx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,20 +5,20 @@ import { Spinner } from '@/components'
55
import SpaceForm from '@/components/Space/SpaceForm'
66
import Button from '@/components/common/Button/Button'
77
import DeferredComponent from '@/components/common/DeferedComponent/DeferedComponent'
8-
import useGetSpace from '@/components/common/Space/hooks/useGetSpace'
98
import { notify } from '@/components/common/Toast/Toast'
109
import { useModal } from '@/hooks'
11-
import { fetchDeleteSpace } from '@/services/space/space'
10+
import { useDeleteSpace, useGetSpace } from '@/services/space/useSpace'
1211
import { useRouter } from 'next/navigation'
1312

1413
const SpaceSettingPage = ({ params }: { params: { spaceId: number } }) => {
1514
const router = useRouter()
1615
const spaceId = params.spaceId
17-
const { space, isSpaceLoading } = useGetSpace()
16+
const { data: space, isLoading: isSpaceLoading } = useGetSpace(spaceId)
1817
const { Modal, isOpen, modalOpen, modalClose } = useModal(false)
18+
const { mutate: deleteSpace } = useDeleteSpace()
1919

20-
const handleConfirm = async () => {
21-
await fetchDeleteSpace(spaceId)
20+
const handleConfirm = () => {
21+
deleteSpace({ spaceId })
2222
notify('info', '스페이스가 삭제되었습니다.')
2323
router.replace('/')
2424
}

src/app/(routes)/user/[userId]/favorite/page.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import { useForm } from 'react-hook-form'
44
import { CategoryList, Input, SpaceList } from '@/components'
55
import { useCategoryParam, useProfileSpacesSearch } from '@/hooks'
6-
import { fetchGetMyFavoriteSpaces } from '@/services/user/profile/favorites'
6+
import { fetchGetMyFavoriteSpaces } from '@/services/space/useSpaces'
77
import { usePathname, useSearchParams } from 'next/navigation'
88
import { SearchFormValue } from '../space/page'
99

src/app/(routes)/user/[userId]/layout.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { ProfileTap } from '@/components'
2-
import { fetchGetUserProfile } from '@/services/user/profile/profile'
2+
import { fetchGetUserProfile } from '@/services/users/useUsers'
33
import { Metadata } from 'next'
44

55
export type UserLayoutProps = {

src/app/(routes)/user/[userId]/page.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import {
55
ProfileEditButton,
66
} from '@/components'
77
import { CATEGORIES_RENDER, PROFILE_MSG } from '@/constants'
8-
import { fetchGetUserProfile } from '@/services/user/profile/profile'
8+
import { fetchGetUserProfile } from '@/services/users/useUsers'
99
import { UserLayoutProps } from './layout'
1010

1111
export default async function UserPage({

0 commit comments

Comments
 (0)