Skip to content

Commit 2c182fb

Browse files
authored
Dev to Main (#182)
2 parents ee96c81 + 6943b56 commit 2c182fb

File tree

11 files changed

+161
-50
lines changed

11 files changed

+161
-50
lines changed

β€ŽREADME.md

Lines changed: 122 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,124 @@
1-
<img src=".github/images/cover.png">
1+
# <img width="1920" alt="sikshare-readme" src="https://github.com/user-attachments/assets/02051137-b27d-465e-98b1-b8e848554c08" />
22

3-
<br />
3+
> **식샀 - 1인 가ꡬλ₯Ό μœ„ν•œ μ‹μžμž¬ 곡유 ν”Œλž«νΌ** <br/>
4+
> [sik-share.com](https://sik-share.com) <br/>
5+
> 개발 κΈ°κ°„ : 25.05.07 ~ 25.06.04 (1μ°¨ 개발 μ™„λ£Œ)
46
5-
<img src=".github/images/1.png">
7+
<br/>
8+
9+
**πŸ“Ž ν…ŒμŠ€νŠΈ 계정 (κ΅¬κΈ€λ‘œκ·ΈμΈ)**
10+
- 이메일 : sikshare.dev@gmail.com
11+
- λΉ„λ°€λ²ˆν˜Έ : 5t6y7u8i!
12+
13+
14+
### πŸ₯— Team Sik-Share
15+
16+
| 이름 | μ—­ν•  |
17+
| :---- | :------------------------------------------------------------------------ |
18+
| κΉ€λ‹€ν›ˆ [@hoon95](https://github.com/hoon95) | **PM, λ°œν‘œ 및 자료 μ œμž‘** <br/> - 아이디어 발의 / 기초 기획 κ³ μ•ˆ <br/> - 메인 νŽ˜μ΄μ§€ / 동넀 지도 μ‹œμŠ€ν…œ 개발 <br/> - λ‚˜λˆ”Β·κ°™μ΄μž₯보기 μƒμ„Έμ‘°νšŒ 및 μ°Έμ—¬ 개발 |
19+
| 박은지 [@EJ-99](https://github.com/EJ-99) | **DB 섀계** <br/> - 둜그인 / νšŒμ›κ°€μž… 인증 개발 <br/> - λ‚˜λˆ”Β·μž₯보기 등둝 및 μˆ˜μ • 개발 <br/> - ν›„κΈ° μž‘μ„± 개발 |
20+
| μ„œν˜„μš° [@Harang-Dev](https://github.com/Harang-Dev) | **μ›Ήμ†ŒμΌ“ μ„œλ²„ ꡬ좕** <br/> - 1:1 λ‚˜λˆ” μ±„νŒ…, 1:N 같이 μž₯보기 μ±„νŒ… μ‹œμŠ€ν…œ 개발 <br/> - 3D λ‚˜λˆ”ν•¨ 개발 |
21+
| μ†‘ν•˜ [@poan1221](https://github.com/poan1221) | **λ””μžμΈ / 곡톡 μŠ€νƒ€μΌ ꡬ성** <br/> - λ§ˆμ΄νŽ˜μ΄μ§€ νšŒμ› 정보 μ‘°νšŒΒ·μˆ˜μ • 개발 및 3D 캐릭터 μ œμž‘ <br/> - μž‘μ„±, μ°Έμ—¬ λ‚΄μ—­, ν›„κΈ° 쑰회 개발 <br/> - 배포 및 PWA κ΄€λ ¨ μ„€μ • |
22+
23+
24+
πŸ‘‰ [Team Wiki](https://github.com/FRONT-END-BOOTCAMP-PLUS-4/sik-share/wiki)
25+
26+
27+
<br/>
28+
29+
## πŸ› οΈ ν”„λ‘œμ νŠΈ μ†Œκ°œ
30+
31+
**"이웃과 ν•¨κ»˜ λ‚˜λˆ„λ©°, κΉŒλ‹€λ‘œμš΄ μ‹μžμž¬ κ΄€λ¦¬κΉŒμ§€ ν•œλ²ˆμ—!"**
32+
33+
### πŸ€” **기획 μ˜λ„**
34+
- 1인 κ°€κ΅¬μ˜ μ¦κ°€λ‘œ κ°œμΈν™”λœ μƒν™œ, κ°λ°•ν•œ ν˜„λŒ€ μ‚¬νšŒ 속 μ΄μ›ƒκ³Όμ˜ λ‹¨μ ˆ, μ†Œν†΅ λΆ€μž¬ ν•΄κ²°
35+
36+
![κΈ°νšμ˜λ„](https://github.com/user-attachments/assets/52489682-161f-46a7-a718-d73526705aa1)
37+
38+
- κ°€νŒŒλ₯Έ λ¬Όκ°€ μƒμŠΉμ— λ”°λ₯Έ 체감 μž₯λ°”κ΅¬λ‹ˆ λΆ€λ‹΄μ˜ ν•΄μ†Œ ν•„μš”
39+
40+
![κΈ°νšμ˜λ„02](https://github.com/user-attachments/assets/f6088932-22e7-46dc-bf13-e2de306f887f)
41+
42+
### πŸ™‹ **νƒ€κ²Ÿ μ‚¬μš©μž**
43+
- 큰 λ‹¨μœ„μ˜ μ‚­μžμž¬ ꡬ맀가 μ–΄λ €μš΄ 1인 가ꡬ
44+
- 이웃과 μ†Œν†΅ν•˜λ©° λ‚¨λŠ” μ‹μžμž¬λ„ μ†ŒλΉ„ν•˜κ³  싢은 이용자
45+
- 1인 가ꡬ가 많이 μ‚΄κ³  μžˆλŠ” 관악ꡬλ₯Ό μ€‘μ‹¬μœΌλ‘œ 기획
46+
47+
<br/>
48+
49+
### 🎯 **μ£Όμš” λͺ©ν‘œ**
50+
51+
- μ‹μžμž¬ λ‚˜λˆ”Β·κ°™μ΄ μž₯보기 등둝 및 곡유
52+
- 3D λ‚˜λˆ”ν•¨μ„ 톡해 λ“±λ‘λœ λ‚˜λˆ”μ„ μ§μ ‘μ μœΌλ‘œ 확인
53+
- λ‚΄ 주변에 μžˆλŠ” λ‚˜λˆ”Β·κ°™μ΄ μž₯보기λ₯Ό 지도 λ§΅ ν΄λŸ¬μŠ€ν„°λ₯Ό 톡해 쑰회
54+
- λ‚˜λˆ”Β·κ°™μ΄ μž₯보기 μ‹ μ²­ ν›„, μ±„νŒ…μ„ ν†΅ν•œ μ˜μ‚¬μ†Œν†΅ 및 λ§Œλ‚¨ μ˜ˆμ•½
55+
- λ‚˜λˆ” μ§€μˆ˜μ— λ”°λ₯Έ 캐릭터 μ„±μž₯ 및 λ§ˆμ΄νŽ˜μ΄μ§€ λ‚΄ μ‚¬μš©μžμ˜ λ‚΄μ—­ 쑰회
56+
57+
<br/>
58+
59+
## πŸ“Œ μ£Όμš” κΈ°λŠ₯
60+
### πŸ‘€ νšŒμ› 등둝
61+
- SNS κ³„μ •μœΌλ‘œ κ°„νŽΈν•œ νšŒμ›κ°€μž…
62+
- 졜초 1회 동넀 λ“±λ‘μœΌλ‘œ μœ„μΉ˜ 기반 μ„œλΉ„μŠ€ 제곡
63+
64+
![νšŒμ›λ“±λ‘ gif](https://github.com/user-attachments/assets/4850c8a9-fd4d-4eec-9df3-2979baf090dc)
65+
66+
### 🏑 λ™λ„€κΈ°λ°˜ ν΄λŸ¬μŠ€ν„°λ§
67+
- μ‚¬μš©μžμ˜ ν˜„μž¬ μœ„μΉ˜λ₯Ό κΈ°μ€€μœΌλ‘œ κ°€κΉŒμš΄ 이웃 정보 반영
68+
- λ―Όκ°ν•œ μœ„μΉ˜ λ…ΈμΆœμ€ μ΅œμ†Œν™”, 동넀 ν™œλ™ 이웃 수 직관적 ν‘œμ‹œ
69+
- ν΄λŸ¬μŠ€ν„° 클릭 μ‹œ, ν•΄λ‹Ή μ§€μ—­μ˜ λ‚˜λˆ”Β·κ°™μ΄ μž₯보기 리슀트 좜λ ₯
70+
71+
![λ™λ„€κΈ°λ°˜ ν΄λŸ¬μŠ€ν„°λ§ gif](https://github.com/user-attachments/assets/a5731971-68e8-42dd-966f-2d25eb64100f)
72+
73+
### πŸ“¦ λ‚˜λˆ”Β·μž₯보기 등둝
74+
- 남은 μ‹μž¬λ£Œ λ‚˜λˆ” λ˜λŠ” μž₯보기 λͺ¨μ§‘을 κ°„νŽΈν•˜κ²Œ 등둝
75+
- 동넀 μ΄μ›ƒμ—κ²Œ μ‹€μ‹œκ°„μœΌλ‘œ 정보 λ…ΈμΆœ
76+
77+
![λ‚˜λˆ”Β·μž₯보기 gif](https://github.com/user-attachments/assets/5d1e7bf1-23f9-40b9-991a-4edb7e0b7b28)
78+
79+
### πŸ₯• 3D μ‹μž¬λ£Œ 관리
80+
- 보유 쀑인 μ‹μž¬λ£Œλ₯Ό 3D둜 μ‹œκ°ν™”ν•˜μ—¬ ν‘œν˜„ πŸ‘‰ @react-three-fiber/drei둜 μ‹μž¬λ£Œ λͺ¨λΈ 배치
81+
- μ‹μž¬λ£Œ 클릭 μ‹œ κ°„λž΅ 정보 제곡 및 λ‚˜λˆ” μ‹ μ²­ κ°€λŠ₯
82+
83+
![3D μ‹μž¬λ£Œ gif](https://github.com/user-attachments/assets/48daf533-7ae6-48b3-b080-8a629bfecdfc)
84+
85+
### μ‹€μ‹œκ°„ 1:1 & κ·Έλ£Ή μ±„νŒ…
86+
- 이웃과 μ¦‰μ‹œ μ†Œν†΅ν•  수 μžˆλŠ” μ‹€μ‹œκ°„ μ±„νŒ… 제곡
87+
- μ±„νŒ… λ‚΄ 일정 곡유, ν›„κΈ° μž‘μ„± λ“± λΆ€κ°€ κΈ°λŠ₯ 지원
88+
- μ‹€μ‹œκ°„ 읽음 ν‘œμ‹œ 확인 κ°€λŠ₯
89+
90+
![μ±„νŒ… gif](https://github.com/user-attachments/assets/6928eee6-2f81-4315-83ea-6699ca0fed68)
91+
![ν›„κΈ°μž‘μ„± gif](https://github.com/user-attachments/assets/a4af1a9e-127f-40d3-8e8c-0d993ab63076)
92+
93+
### 🍚 λ§ˆμ΄νŽ˜μ΄μ§€
94+
- λ‚˜λˆ”Β·μž₯보기 λ“± ν™œλ™ 이λ ₯을 ν•œ λˆˆμ— 확인 κ°€λŠ₯
95+
- 🌑️ λ‚˜λˆ”μ§€μˆ˜ : ν™œλ™ λ‚΄μ—­, 받은 ν›„κΈ° 기반 신뒰도 ν‘œμ‹œ
96+
- 🐀 캐릭터 μ„±μž₯ : ν™œλ™ν•  수둝 캐릭터가 μ„±μž₯ν•˜λŠ” μž¬λ―Έμš”μ†Œλ‘œ μžμ—°μŠ€λŸ¬μš΄ μ°Έμ—¬ μœ λ„
97+
98+
![λ§ˆμ΄νŽ˜μ΄μ§€ gif](https://github.com/user-attachments/assets/22e53a0e-b4e3-49eb-aa47-4f7a33514cf6)
99+
100+
## ν”„λ‘œμ νŠΈ 일정
101+
![ν”„λ‘œμ νŠΈ 일정](https://github.com/user-attachments/assets/654c4706-ab94-4910-b2b4-b0f9a57677ae)
102+
103+
## 기술 μŠ€νƒ
104+
![기술 μŠ€νƒ](https://github.com/user-attachments/assets/f6f95703-b52f-4146-8119-7f5280f1d42d)
105+
106+
## ERD
107+
![ERD](https://github.com/user-attachments/assets/bc3b3edf-f030-455b-bb5f-6c8d5fa88f88)
108+
109+
110+
## πŸ”« νŠΈλŸ¬λΈ” μŠˆνŒ…
111+
### πŸ“± PWA μ„€μ •
112+
#### 식샀λ₯Ό 더 λΉ λ₯΄κ²Œ μ΄μš©ν•˜λŠ” 방법!
113+
- ν™ˆ 화면에 μΆ”κ°€ν•˜μ—¬, λΈŒλΌμš°μ €λ₯Ό κ±°μΉ˜μ§€ μ•Šκ³  μ•±μ²˜λŸΌ μ‹€ν–‰ ν•˜λ„λ‘ μœ λ„
114+
β†’ μ•±κ³Ό 같은 ν™˜κ²½μ—μ„œ 더 λΆ€λ“œλŸ½κ³  λΉ λ₯΄κ²Œ μ‚¬μš© κ°€λŠ₯
115+
- λͺ¨λ°”일 λΈŒλΌμš°μ € 접속 μ‹œ, PWA μ„€μΉ˜ μ•ˆλ‚΄ νŒμ—… μžλ™ λ…ΈμΆœ
116+
117+
![PWA](https://github.com/user-attachments/assets/d05ad676-5e9f-4637-8600-acb2fb4b2d56)
118+
119+
### πŸ“ 데이터 캐싱
120+
React Hooks ν™œμš© μ»€μŠ€ν…€ 캐싱
121+
- κ°œμ„  μ „ : νƒ­ μ „ν™˜λ§ˆλ‹€ λ™μΌν•œ fetch μš”μ²­ λ°œμƒ β†’ λΆˆν•„μš”ν•œ λ„€νŠΈμ›Œν¬ λ‚­λΉ„, μ‚¬μš©μž μž…μž₯μ—μ„œλ„ λ‘œλ”© μ§€μ—° λ°œμƒ
122+
- κ°œμ„  ν›„ : νƒ­ 별 데이터λ₯Ό Key-Value ν˜•νƒœλ‘œ λ©”λͺ¨λ¦¬μ— 캐싱 β†’ λ™μΌν•œ selectedId에 λŒ€ν•΄μ„œλŠ” API μž¬μš”μ²­ 없이 μ¦‰μ‹œ λ Œλ”λ§
123+
124+
![데이터 캐싱](https://github.com/user-attachments/assets/609bc86c-6578-4b2b-a234-8a85ff777fbe)

β€Žapp/api/chat/[chatId]/together/complete/route.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ export async function PATCH(
1414

1515
await useCase.execute({
1616
chatId: Number(chatId),
17-
status: 2,
17+
status: 1,
1818
});
1919

2020
return NextResponse.json({ message: "success" }, { status: 200 });

β€Žapp/chat/components/ChatList.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ export default function ChatList({
6565
src={
6666
getImageUrl(imageUrl)?.startsWith("http")
6767
? getImageUrl(imageUrl)
68-
: "/assets/images/example/thumbnail.png"
68+
: "/assets/images/example/default-group-buys-thumbnail.png"
6969
}
7070
width={40}
7171
height={40}

β€Žapp/chat/components/TogetherInfo.tsx

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ export default function TogetherInfo({
5555
const handleTogetherComplete = async () => {
5656
try {
5757
await completeTogether(chatId);
58-
setStatus(2);
58+
setStatus(1);
5959
setOpen(false);
6060
} catch (e) {}
6161
};
@@ -78,12 +78,12 @@ export default function TogetherInfo({
7878
src={
7979
getImageUrl(imageUrl)?.startsWith("http")
8080
? getImageUrl(imageUrl)
81-
: "/assets/images/example/thumbnail.png"
81+
: "/assets/images/example/default-group-buys-thumbnail.png"
8282
}
8383
width={64}
8484
height={64}
8585
alt="μž₯보기 이미지"
86-
className="rounded-md"
86+
className="w-[64px] h-[64px] rounded-md border border-zinc-100"
8787
/>
8888
</div>
8989
<div className="flex flex-col justify-center min-w-0 itmes-center">
@@ -120,12 +120,12 @@ export default function TogetherInfo({
120120
src={
121121
getImageUrl(imageUrl)?.startsWith("http")
122122
? getImageUrl(imageUrl)
123-
: "/assets/images/example/thumbnail.png"
123+
: "/assets/images/example/default-group-buys-thumbnail.png"
124124
}
125125
width={64}
126126
height={64}
127127
alt="μž₯보기 이미지"
128-
className="rounded-md border border-zinc-100"
128+
className="w-[64px] h-[64px] rounded-md border border-zinc-100"
129129
/>
130130
</div>
131131
<div className="flex flex-col flex-1 min-w-0 self-center">
@@ -144,7 +144,7 @@ export default function TogetherInfo({
144144
</div>
145145
</div>
146146
<div>
147-
{status === 2 ? (
147+
{status === 1 ? (
148148
<Badge
149149
variant="reserve"
150150
className="self-center text-white w-fit h-fit bold ml-auto px-3 py-2"

β€Žapplication/usecases/group-buy/UpdateGroupBuyUsecase.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ export class UpdateGroupBuyUsecase {
2525
lng : groupBuy.lng,
2626
locationNote : groupBuy.locationNote,
2727
description : groupBuy.description,
28+
meetingDate: groupBuy.meetingDate,
29+
desiredItem: groupBuy.desiredItem
2830
});
2931

3032

β€Žapplication/usecases/join/CreateJoinUsecase.ts

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,22 +16,30 @@ export class CreateJoinUsecase {
1616

1717
async execute(dto: CreateJoinDto): Promise<{ chatId?: number }> {
1818
if (dto.type === "share") {
19-
const candidateRooms = await this.shareChatRepo.findByShareId(dto.postId) as Array<{ id: number; participants: Array<{ userId: number }> }>;
20-
const ownerId = await this.shareChatRepo.getOwnerId(dto.postId);
19+
const myUserId = String(dto.userId);
20+
const ownerId = String(await this.shareChatRepo.getOwnerId(dto.postId));
2121

22+
// 후보방 μ „λΆ€ κ°€μ Έμ˜€κΈ° (userIdλŠ” string)
23+
const candidateRooms = (await this.shareChatRepo.findByShareId(dto.postId)) as Array<{
24+
id: number;
25+
participants: Array<{ userId: string }>;
26+
}>;
27+
28+
// λ‚΄ 방이 μžˆλŠ”μ§€ 검사 (μ°Έμ—¬μž 2λͺ…, 본인/κ°œμ„€μž λ‘˜ λ‹€ λ“€μ–΄μžˆμœΌλ©΄)
2229
const myRoom = candidateRooms.find(
2330
(room) =>
2431
room.participants.length === 2 &&
25-
room.participants.some((p: { userId: number }) => p.userId === Number(dto.userId)) &&
26-
room.participants.some((p: { userId: number }) => p.userId === Number(ownerId))
32+
room.participants.some((p) => p.userId === myUserId) &&
33+
room.participants.some((p) => p.userId === ownerId)
2734
);
2835
if (myRoom) {
2936
return { chatId: myRoom.id };
3037
}
3138

39+
// μ—†μœΌλ©΄ μƒˆλ‘œ 생성
3240
const chat = await this.shareChatRepo.create({ shareId: dto.postId });
3341
await this.shareChatParticipantRepo.saveMany([
34-
{ chatId: chat.id, userId: dto.userId },
42+
{ chatId: chat.id, userId: myUserId },
3543
{ chatId: chat.id, userId: ownerId },
3644
]);
3745
return { chatId: chat.id };
@@ -58,11 +66,13 @@ export class CreateJoinUsecase {
5866
chatId: chat.id,
5967
userId: dto.userId,
6068
});
69+
70+
return { chatId: chat.id };
6171
}
62-
return { chatId: chat ? chat.id : undefined };
72+
// λ§Œμ•½ μ±„νŒ…λ°©μ΄ μ—†λ‹€λ©΄(이상 상황), chatId 없이 리턴
73+
return {};
6374
}
6475

6576
throw new Error("잘λͺ»λœ νƒ€μž…μž…λ‹ˆλ‹€");
6677
}
6778
}
68-

β€Žapplication/usecases/user/GetUserHistoryCountUsecase.ts

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -57,11 +57,10 @@ export class GetUserHistoryCountUsecase {
5757
this.shareRepo.getCount({ recipientId: user?.id, deletedAt : null, }),
5858
this.groupbuyRepo.getCount({
5959
deletedAt : null,
60-
participants: {
61-
some: {
62-
userId: user?.id,
63-
},
64-
},
60+
AND: [
61+
{ organizerId: { not: user?.id } },
62+
{ participants: { some: { userId: user?.id } } }
63+
]
6564
}),
6665
]);
6766
return { share, groupbuy };

β€Žapplication/usecases/user/GetUserParticipationsUsecase.ts

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -47,11 +47,10 @@ export class GetUserParticipationsUsecase {
4747
} else {
4848
const where = {
4949
deletedAt : null,
50-
participants: {
51-
some : {
52-
userId: user?.id,
53-
}
54-
}
50+
AND: [
51+
{ organizerId: { not: user?.id } },
52+
{ participants: { some: { userId: user?.id } } }
53+
]
5554
};
5655

5756
const data = await this.groupbuyRepo.getUserGroupbuys({

β€Žcomponents/ui/alert-dialog.tsx

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
"use client";
22

33
import type * as React from "react";
4-
import { useEffect, useState } from "react";
54
import * as AlertDialogPrimitive from "@radix-ui/react-alert-dialog";
65

76
import { cn } from "@/lib/utils";
@@ -37,7 +36,7 @@ function AlertDialogOverlay({
3736
<AlertDialogPrimitive.Overlay
3837
data-slot="alert-dialog-overlay"
3938
className={cn(
40-
"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 absolute inset-0 z-50 bg-black/50",
39+
"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50 w-full max-w-[var(--space-mobileMax)] mx-auto",
4140
className,
4241
)}
4342
{...props}
@@ -49,19 +48,14 @@ function AlertDialogContent({
4948
className,
5049
...props
5150
}: React.ComponentProps<typeof AlertDialogPrimitive.Content>) {
52-
const [container, setContainer] = useState<HTMLElement | null>(null);
53-
54-
useEffect(() => {
55-
setContainer(document.getElementById("drawer-customPortal"));
56-
}, []);
5751

5852
return (
59-
<AlertDialogPortal container={container}>
53+
<AlertDialogPortal>
6054
<AlertDialogOverlay />
6155
<AlertDialogPrimitive.Content
6256
data-slot="alert-dialog-content"
6357
className={cn(
64-
"bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 absolute top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200",
58+
"bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(var(--space-mobileMax)-32px)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200",
6559
className,
6660
)}
6761
{...props}

β€Žinfra/repositories/prisma/PrismaUpdateTogetherStatusRepository.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ export class PrismaUpdateTogetherStatusRepository implements UpdateTogetherStatu
1616

1717
await prisma.groupBuy.update({
1818
where: { id: chat.groupBuyId },
19-
data: { status: 2 },
19+
data: { status: 1 },
2020
});
2121
}
2222
}

0 commit comments

Comments
Β (0)