diff --git a/package-lock.json b/package-lock.json index a659f657..4a910e74 100644 --- a/package-lock.json +++ b/package-lock.json @@ -19994,6 +19994,126 @@ "funding": { "url": "https://github.com/sponsors/sindresorhus" } + }, + "node_modules/@next/swc-darwin-x64": { + "version": "14.2.13", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-14.2.13.tgz", + "integrity": "sha512-Dv1RBGs2TTjkwEnFMVL5XIfJEavnLqqwYSD6LXgTPdEy/u6FlSrLBSSfe1pcfqhFEXRAgVL3Wpjibe5wXJzWog==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm64-gnu": { + "version": "14.2.13", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.2.13.tgz", + "integrity": "sha512-yB1tYEFFqo4ZNWkwrJultbsw7NPAAxlPXURXioRl9SdW6aIefOLS+0TEsKrWBtbJ9moTDgU3HRILL6QBQnMevg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm64-musl": { + "version": "14.2.13", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.2.13.tgz", + "integrity": "sha512-v5jZ/FV/eHGoWhMKYrsAweQ7CWb8xsWGM/8m1mwwZQ/sutJjoFaXchwK4pX8NqwImILEvQmZWyb8pPTcP7htWg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-x64-gnu": { + "version": "14.2.13", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.2.13.tgz", + "integrity": "sha512-aVc7m4YL7ViiRv7SOXK3RplXzOEe/qQzRA5R2vpXboHABs3w8vtFslGTz+5tKiQzWUmTmBNVW0UQdhkKRORmGA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-x64-musl": { + "version": "14.2.13", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.2.13.tgz", + "integrity": "sha512-4wWY7/OsSaJOOKvMsu1Teylku7vKyTuocvDLTZQq0TYv9OjiYYWt63PiE1nTuZnqQ4RPvME7Xai+9enoiN0Wrg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-arm64-msvc": { + "version": "14.2.13", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.2.13.tgz", + "integrity": "sha512-uP1XkqCqV2NVH9+g2sC7qIw+w2tRbcMiXFEbMihkQ8B1+V6m28sshBwAB0SDmOe0u44ne1vFU66+gx/28RsBVQ==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-ia32-msvc": { + "version": "14.2.13", + "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.2.13.tgz", + "integrity": "sha512-V26ezyjPqQpDBV4lcWIh8B/QICQ4v+M5Bo9ykLN+sqeKKBxJVDpEc6biDVyluTXTC40f5IqCU0ttth7Es2ZuMw==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-x64-msvc": { + "version": "14.2.13", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.2.13.tgz", + "integrity": "sha512-WwzOEAFBGhlDHE5Z73mNU8CO8mqMNLqaG+AO9ETmzdCQlJhVtWZnOl2+rqgVQS+YHunjOWptdFmNfbpwcUuEsw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } } } } diff --git a/src/app/my-map/[mapId]/crew-info-editable-item.tsx b/src/app/my-map/[mapId]/crew-info-editable-item.tsx index 429eae98..9a5c3c77 100644 --- a/src/app/my-map/[mapId]/crew-info-editable-item.tsx +++ b/src/app/my-map/[mapId]/crew-info-editable-item.tsx @@ -11,6 +11,7 @@ import BottomModal from '@/components/common/bottom-modal' import { api } from '@/utils/api' import { notify } from '@/components/common/custom-toast' import useFetch from '@/hooks/use-fetch' +import Link from 'next/link' const RoleButton = ({ role, @@ -128,7 +129,10 @@ const CrewInfoEditableItem = ({ return ( <> -
  • +
    { + className="flex h-full items-center gap-[2px]" + onClick={(e) => { + e.preventDefault() setIsOpenRoleModal(true) }} > @@ -164,7 +169,7 @@ const CrewInfoEditableItem = ({ )} -
  • + diff --git a/src/app/my-map/[mapId]/crew-info-read-only-item.tsx b/src/app/my-map/[mapId]/crew-info-read-only-item.tsx index 3cfe2061..124d3cdd 100644 --- a/src/app/my-map/[mapId]/crew-info-read-only-item.tsx +++ b/src/app/my-map/[mapId]/crew-info-read-only-item.tsx @@ -1,20 +1,27 @@ import Avatar from '@/components/common/avatar' import Chip from '@/components/common/chip' import Typography from '@/components/common/typography' -import type { MapMemberData } from '@/models/map' +import type { MapInfo, MapMemberData } from '@/models/map' import { korRole } from './constant' +import Link from 'next/link' const CrewInfoReadOnlyItem = ({ member, isMe, avatarColor, + mapId, }: { + mapId: MapInfo['id'] member: MapMemberData avatarColor: Parameters[0]['colorScheme'] isMe: boolean }) => { return ( -
  • +
    {korRole[member.role]} -
  • + ) } diff --git a/src/app/place/[placeId]/place-liked-users.tsx b/src/app/place/[placeId]/place-liked-users.tsx index 0fee6ffe..749d04a9 100644 --- a/src/app/place/[placeId]/place-liked-users.tsx +++ b/src/app/place/[placeId]/place-liked-users.tsx @@ -3,7 +3,9 @@ import Typography from '@/components/common/typography' import type { LikeUser } from '@/components/place/types' import type { ClassName } from '@/models/common' import type { User } from '@/models/user' +import { getMapId } from '@/services/map-id' import cn from '@/utils/cn' +import { useRouter } from 'next/navigation' interface PlaceLikedUserProps extends ClassName { me: User | null @@ -11,10 +13,22 @@ interface PlaceLikedUserProps extends ClassName { } const PlaceLikedUser = ({ likedUser, className, me }: PlaceLikedUserProps) => { + const router = useRouter() + + const handleMoveProfile = async (userId: User['id']) => { + const mapId = await getMapId() + if (!mapId) return + router.push(`/profile/${mapId}/${userId}`) + } + return (