From 04572a8e5081b1e4871e273cde9dbaaa44c52fe0 Mon Sep 17 00:00:00 2001 From: MohamedBassem Date: Wed, 13 Mar 2024 21:43:44 +0000 Subject: structure: Create apps dir and copy tooling dir from t3-turbo repo --- apps/mobile/app/dashboard/add-note.tsx | 53 ++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 apps/mobile/app/dashboard/add-note.tsx (limited to 'apps/mobile/app/dashboard/add-note.tsx') diff --git a/apps/mobile/app/dashboard/add-note.tsx b/apps/mobile/app/dashboard/add-note.tsx new file mode 100644 index 00000000..cf775a15 --- /dev/null +++ b/apps/mobile/app/dashboard/add-note.tsx @@ -0,0 +1,53 @@ +import { useRouter } from "expo-router"; +import { useState } from "react"; +import { View, Text } from "react-native"; + +import { Button } from "@/components/ui/Button"; +import { Input } from "@/components/ui/Input"; +import { api } from "@/lib/trpc"; + +export default function AddNote() { + const [text, setText] = useState(""); + const [error, setError] = useState(); + const router = useRouter(); + const invalidateAllBookmarks = + api.useUtils().bookmarks.getBookmarks.invalidate; + + const { mutate } = api.bookmarks.createBookmark.useMutation({ + onSuccess: () => { + invalidateAllBookmarks(); + if (router.canGoBack()) { + router.replace("../"); + } else { + router.replace("dashboard"); + } + }, + onError: (e) => { + let message; + if (e.data?.code === "BAD_REQUEST") { + const error = JSON.parse(e.message)[0]; + message = error.message; + } else { + message = `Something went wrong: ${e.message}`; + } + setError(message); + }, + }); + + return ( + + {error && ( + {error} + )} + +