From fe997f3d4edc0fdfc3208c12ad5dddfd4f9f02e5 Mon Sep 17 00:00:00 2001 From: John Jeong Date: Wed, 12 Mar 2025 16:51:57 +0900 Subject: [PATCH 01/10] made settings simpler --- apps/mobile/package.json | 1 - apps/mobile/src/mock/settings.ts | 4 ++++ pnpm-lock.yaml | 3 --- 3 files changed, 4 insertions(+), 4 deletions(-) create mode 100644 apps/mobile/src/mock/settings.ts diff --git a/apps/mobile/package.json b/apps/mobile/package.json index feaa19de54..83a7a0d7f8 100644 --- a/apps/mobile/package.json +++ b/apps/mobile/package.json @@ -13,7 +13,6 @@ "dependencies": { "@date-fns/tz": "^1.2.0", "@hookform/resolvers": "^3.10.0", - "@huggingface/languages": "^1.0.0", "@hypr/plugin-auth": "workspace:^", "@hypr/plugin-db": "workspace:^", "@hypr/plugin-listener": "workspace:^", diff --git a/apps/mobile/src/mock/settings.ts b/apps/mobile/src/mock/settings.ts new file mode 100644 index 0000000000..c9df53178e --- /dev/null +++ b/apps/mobile/src/mock/settings.ts @@ -0,0 +1,4 @@ +export const mockUserSettings = { + alertEnhancingDone: true, + remindUpcomingEvents: false, +}; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 803dc4f99f..206cec649e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -461,9 +461,6 @@ importers: '@hookform/resolvers': specifier: ^3.10.0 version: 3.10.0(react-hook-form@7.54.2(react@18.3.1)) - '@huggingface/languages': - specifier: ^1.0.0 - version: 1.0.0 '@hypr/plugin-auth': specifier: workspace:^ version: link:../../plugins/auth From 47f1e2d186a940378e33f193d41b0f4dcee22854 Mon Sep 17 00:00:00 2001 From: John Jeong Date: Wed, 12 Mar 2025 16:52:35 +0900 Subject: [PATCH 02/10] refactoring home --- apps/mobile/src/components/event-item.tsx | 31 +++++++++++++++++++++++ apps/mobile/src/components/note-item.tsx | 28 ++++++++++++++++++++ 2 files changed, 59 insertions(+) create mode 100644 apps/mobile/src/components/event-item.tsx create mode 100644 apps/mobile/src/components/note-item.tsx diff --git a/apps/mobile/src/components/event-item.tsx b/apps/mobile/src/components/event-item.tsx new file mode 100644 index 0000000000..c9cf5fa4a8 --- /dev/null +++ b/apps/mobile/src/components/event-item.tsx @@ -0,0 +1,31 @@ +import { useQuery } from "@tanstack/react-query"; +import { formatRemainingTime } from "../utils/date"; + +import { commands as dbCommands, type Event } from "@hypr/plugin-db"; + +export function EventItem({ event, onSelect }: { event: Event; onSelect: (sessionId: string) => void }) { + const session = useQuery({ + queryKey: ["event-session", event.id], + queryFn: async () => dbCommands.getSession({ calendarEventId: event.id }), + }); + + const handleClick = () => { + if (session.data) { + onSelect(session.data.id); + } + }; + + return ( + + ); +} diff --git a/apps/mobile/src/components/note-item.tsx b/apps/mobile/src/components/note-item.tsx new file mode 100644 index 0000000000..805d04ab6e --- /dev/null +++ b/apps/mobile/src/components/note-item.tsx @@ -0,0 +1,28 @@ +import { type Session } from "@hypr/plugin-db"; +import { format } from "date-fns"; + +export function NoteItem({ + session, + onSelect, +}: { + session: Session; + onSelect: () => void; +}) { + const sessionDate = new Date(session.created_at); + + return ( + + ); +} From 56f3563c0da7ebb9f7f874e7a128e31f05f634c9 Mon Sep 17 00:00:00 2001 From: John Jeong Date: Wed, 12 Mar 2025 16:52:49 +0900 Subject: [PATCH 03/10] updated route config --- apps/mobile/src/stackflow.config.ts | 5 ----- apps/mobile/src/stackflow.tsx | 2 -- 2 files changed, 7 deletions(-) diff --git a/apps/mobile/src/stackflow.config.ts b/apps/mobile/src/stackflow.config.ts index ddcf03a66f..5280fa42b1 100644 --- a/apps/mobile/src/stackflow.config.ts +++ b/apps/mobile/src/stackflow.config.ts @@ -1,7 +1,6 @@ import { defineConfig } from "@stackflow/config"; import { homeActivityLoader } from "./views/home"; import { noteActivityLoader } from "./views/note"; -import { profileActivityLoader } from "./views/profile"; import { settingsActivityLoader } from "./views/settings"; export const config = defineConfig({ @@ -22,10 +21,6 @@ export const config = defineConfig({ name: "SettingsActivity", loader: settingsActivityLoader, }, - { - name: "ProfileActivity", - loader: profileActivityLoader, - }, ], initialActivity: () => "HomeActivity", }); diff --git a/apps/mobile/src/stackflow.tsx b/apps/mobile/src/stackflow.tsx index 8073b2e2f2..7a5517f6a8 100644 --- a/apps/mobile/src/stackflow.tsx +++ b/apps/mobile/src/stackflow.tsx @@ -5,7 +5,6 @@ import { config } from "./stackflow.config"; import { HomeActivity } from "./views/home"; import { LoginActivity } from "./views/login"; import { NoteActivity } from "./views/note"; -import { ProfileActivity } from "./views/profile"; import { SettingsActivity } from "./views/settings"; export const { Stack } = stackflow({ @@ -15,7 +14,6 @@ export const { Stack } = stackflow({ NoteActivity, LoginActivity, SettingsActivity, - ProfileActivity, }, plugins: [basicRendererPlugin(), basicUIPlugin({ theme: "cupertino" })], }); From f3f698107ce5d286f896349a00a1d1e8535d0bc9 Mon Sep 17 00:00:00 2001 From: John Jeong Date: Wed, 12 Mar 2025 16:53:08 +0900 Subject: [PATCH 04/10] fix modal footer --- packages/ui/src/components/ui/modal.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/ui/src/components/ui/modal.tsx b/packages/ui/src/components/ui/modal.tsx index 3c8d74a7a5..d85a586ecc 100644 --- a/packages/ui/src/components/ui/modal.tsx +++ b/packages/ui/src/components/ui/modal.tsx @@ -104,7 +104,7 @@ export function ModalFooter({ children, className }: ModalFooterProps) { return (
From 6d6def0d8f36d8645b9b79829c9f9daf7683d732 Mon Sep 17 00:00:00 2001 From: John Jeong Date: Wed, 12 Mar 2025 16:53:35 +0900 Subject: [PATCH 05/10] chores --- apps/mobile/src/components/bottom-sheet.tsx | 99 ++++++++ apps/mobile/src/main.tsx | 5 +- apps/mobile/src/mock/home.ts | 146 ++++++++++++ apps/mobile/src/mock/index.ts | 2 + apps/mobile/src/utils/date.ts | 2 +- apps/mobile/src/views/home.tsx | 146 +++--------- apps/mobile/src/views/profile.tsx | 242 ------------------- apps/mobile/src/views/settings.tsx | 248 ++++++++------------ apps/mobile/tailwind.config.ts | 30 ++- 9 files changed, 418 insertions(+), 502 deletions(-) create mode 100644 apps/mobile/src/components/bottom-sheet.tsx create mode 100644 apps/mobile/src/mock/home.ts create mode 100644 apps/mobile/src/mock/index.ts delete mode 100644 apps/mobile/src/views/profile.tsx diff --git a/apps/mobile/src/components/bottom-sheet.tsx b/apps/mobile/src/components/bottom-sheet.tsx new file mode 100644 index 0000000000..2d310562da --- /dev/null +++ b/apps/mobile/src/components/bottom-sheet.tsx @@ -0,0 +1,99 @@ +import * as React from "react"; +import { cn } from "@hypr/ui/lib/utils"; + +interface BottomSheetProps { + open: boolean; + onClose: () => void; + children: React.ReactNode; + className?: string; + preventClose?: boolean; +} + +export function BottomSheet({ + open, + onClose, + children, + className, + preventClose = false, +}: BottomSheetProps) { + React.useEffect(() => { + const handleEscapeKey = (event: KeyboardEvent) => { + if (event.key === "Escape" && open && !preventClose) { + event.preventDefault(); + onClose(); + } + }; + + if (open) { + document.addEventListener("keydown", handleEscapeKey, true); + } + + return () => { + document.removeEventListener("keydown", handleEscapeKey, true); + }; + }, [open, preventClose, onClose]); + + if (!open) return null; + + return ( + <> +