Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,9 @@ export interface OpenGalleryMessage {

export interface ShareMessage {
type: AppBridgeMessageType.SHARE;
payload: "";
payload: {
shareText: string;
};
}

export interface CreateReviewMessage {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ const iosHandlers = {
window.webkit?.messageHandlers.openCamera.postMessage(message),
[AppBridgeMessageType.OPEN_GALLERY]: (message: string) =>
window.webkit?.messageHandlers.openGallery.postMessage(message),
[AppBridgeMessageType.SHARE]: (message: string) =>
window.webkit?.messageHandlers.share.postMessage(message),
[AppBridgeMessageType.SHARE]: (message: { payload: { shareText: string } }) =>
window.webkit?.messageHandlers.share.postMessage(message.payload),
[AppBridgeMessageType.CREATE_REVIEW]: (message: {
payload: { ocrText: string; hashTag: string[]; reviewStyle: string };
}) => window.webkit?.messageHandlers.createReview.postMessage(message.payload),
Expand All @@ -22,7 +22,8 @@ const iosHandlers = {
const androidHandlers = {
[AppBridgeMessageType.OPEN_CAMERA]: () => window.AndroidBridge?.openCamera(),
[AppBridgeMessageType.OPEN_GALLERY]: () => window.AndroidBridge?.openGallery(),
[AppBridgeMessageType.SHARE]: () => window.AndroidBridge?.share(),
[AppBridgeMessageType.SHARE]: (message: { payload: { shareText: string } }) =>
window.AndroidBridge?.share(JSON.stringify(message.payload)),
[AppBridgeMessageType.CREATE_REVIEW]: (message: {
payload: { ocrText: string; hashTag: string[]; reviewStyle: string };
}) => window.AndroidBridge?.createReview(JSON.stringify(message.payload)),
Expand Down
9 changes: 8 additions & 1 deletion src/pages/HomePage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,20 @@ import { AppBridgeMessageType } from "@/components/provider/AppBridgeProvider/Ap
import { useAppBridge } from "@/components/provider/AppBridgeProvider/AppBridgeProvider";
import Text from "@/components/ui/Text/Text";

const SHARE_TEXT =
"영수증을 촬영하면 AI가 자동으로 맛집 리뷰를 생성! 🍽️✨ 간편하게 추억을 남기고, 나만의 미식 기록을 완성하세요. 미식 경험을 더욱 스마트하게, 미식 MISIK!";

const HomePage = () => {
const { send } = useAppBridge();

return (
<>
<Navbar>
<Navbar.RightButton onClick={() => send({ type: AppBridgeMessageType.SHARE, payload: "" })}>
<Navbar.RightButton
onClick={() =>
send({ type: AppBridgeMessageType.SHARE, payload: { shareText: SHARE_TEXT } })
}
>
<Text variant="bodySm" color="secondary">
앱 공유하기
</Text>
Expand Down
7 changes: 5 additions & 2 deletions src/types/global.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,9 @@ type MessageHandler<T = void> = {
};

declare global {
interface ShareTextPayload {
shareText: string;
}
interface CreateReviewPayload {
ocrText: string;
hashTag: string[];
Expand All @@ -32,15 +35,15 @@ declare global {
messageHandlers: {
openCamera: MessageHandler<string>;
openGallery: MessageHandler<string>;
share: MessageHandler<string>;
share: MessageHandler<ShareTextPayload>;
createReview: MessageHandler<CreateReviewPayload>;
copy: MessageHandler<CopyMessagePayload>;
};
};
AndroidBridge?: {
openCamera: () => void;
openGallery: () => void;
share: () => void;
share: (json: string) => void;
createReview: (json: string) => void;
copy: (json: string) => void;
};
Expand Down