Skip to content

Commit 1ee914c

Browse files
committed
refactor: share 텍스트 추가, 핸들러 파라미터 수정
1 parent 8e63ff8 commit 1ee914c

File tree

4 files changed

+20
-7
lines changed

4 files changed

+20
-7
lines changed

src/components/provider/AppBridgeProvider/AppBridgeMessage.types.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,9 @@ export interface OpenGalleryMessage {
2929

3030
export interface ShareMessage {
3131
type: AppBridgeMessageType.SHARE;
32-
payload: "";
32+
payload: {
33+
shareText: string;
34+
};
3335
}
3436

3537
export interface CreateReviewMessage {

src/components/provider/AppBridgeProvider/convertToNativeMessage.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ const iosHandlers = {
66
window.webkit?.messageHandlers.openCamera.postMessage(message),
77
[AppBridgeMessageType.OPEN_GALLERY]: (message: string) =>
88
window.webkit?.messageHandlers.openGallery.postMessage(message),
9-
[AppBridgeMessageType.SHARE]: (message: string) =>
10-
window.webkit?.messageHandlers.share.postMessage(message),
9+
[AppBridgeMessageType.SHARE]: (message: { payload: { shareText: string } }) =>
10+
window.webkit?.messageHandlers.share.postMessage(message.payload),
1111
[AppBridgeMessageType.CREATE_REVIEW]: (message: {
1212
payload: { ocrText: string; hashTag: string[]; reviewStyle: string };
1313
}) => window.webkit?.messageHandlers.createReview.postMessage(message.payload),
@@ -22,7 +22,8 @@ const iosHandlers = {
2222
const androidHandlers = {
2323
[AppBridgeMessageType.OPEN_CAMERA]: () => window.AndroidBridge?.openCamera(),
2424
[AppBridgeMessageType.OPEN_GALLERY]: () => window.AndroidBridge?.openGallery(),
25-
[AppBridgeMessageType.SHARE]: () => window.AndroidBridge?.share(),
25+
[AppBridgeMessageType.SHARE]: (message: { payload: { shareText: string } }) =>
26+
window.AndroidBridge?.share(JSON.stringify(message.payload)),
2627
[AppBridgeMessageType.CREATE_REVIEW]: (message: {
2728
payload: { ocrText: string; hashTag: string[]; reviewStyle: string };
2829
}) => window.AndroidBridge?.createReview(JSON.stringify(message.payload)),

src/pages/HomePage.tsx

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,20 @@ import { AppBridgeMessageType } from "@/components/provider/AppBridgeProvider/Ap
44
import { useAppBridge } from "@/components/provider/AppBridgeProvider/AppBridgeProvider";
55
import Text from "@/components/ui/Text/Text";
66

7+
const SHARE_TEXT =
8+
"영수증을 촬영하면 AI가 자동으로 맛집 리뷰를 생성! 🍽️✨ 간편하게 추억을 남기고, 나만의 미식 기록을 완성하세요. 미식 경험을 더욱 스마트하게, 미식 MISIK!";
9+
710
const HomePage = () => {
811
const { send } = useAppBridge();
912

1013
return (
1114
<>
1215
<Navbar>
13-
<Navbar.RightButton onClick={() => send({ type: AppBridgeMessageType.SHARE, payload: "" })}>
16+
<Navbar.RightButton
17+
onClick={() =>
18+
send({ type: AppBridgeMessageType.SHARE, payload: { shareText: SHARE_TEXT } })
19+
}
20+
>
1421
<Text variant="bodySm" color="secondary">
1522
앱 공유하기
1623
</Text>

src/types/global.d.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,9 @@ type MessageHandler<T = void> = {
1010
};
1111

1212
declare global {
13+
interface ShareTextPayload {
14+
shareText: string;
15+
}
1316
interface CreateReviewPayload {
1417
ocrText: string;
1518
hashTag: string[];
@@ -32,15 +35,15 @@ declare global {
3235
messageHandlers: {
3336
openCamera: MessageHandler<string>;
3437
openGallery: MessageHandler<string>;
35-
share: MessageHandler<string>;
38+
share: MessageHandler<ShareTextPayload>;
3639
createReview: MessageHandler<CreateReviewPayload>;
3740
copy: MessageHandler<CopyMessagePayload>;
3841
};
3942
};
4043
AndroidBridge?: {
4144
openCamera: () => void;
4245
openGallery: () => void;
43-
share: () => void;
46+
share: (json: string) => void;
4447
createReview: (json: string) => void;
4548
copy: (json: string) => void;
4649
};

0 commit comments

Comments
 (0)