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 --- packages/mobile/.eslintrc.js | 4 - packages/mobile/.gitignore | 39 ---- packages/mobile/.npmrc | 1 - packages/mobile/app.json | 57 ----- packages/mobile/app/+not-found.tsx | 6 - packages/mobile/app/_layout.tsx | 53 ----- packages/mobile/app/dashboard/(tabs)/_layout.tsx | 38 ---- packages/mobile/app/dashboard/(tabs)/index.tsx | 31 --- packages/mobile/app/dashboard/(tabs)/lists.tsx | 67 ------ packages/mobile/app/dashboard/(tabs)/search.tsx | 35 --- packages/mobile/app/dashboard/(tabs)/settings.tsx | 41 ---- packages/mobile/app/dashboard/_layout.tsx | 38 ---- packages/mobile/app/dashboard/add-link.tsx | 57 ----- packages/mobile/app/dashboard/add-note.tsx | 53 ----- packages/mobile/app/dashboard/archive.tsx | 11 - packages/mobile/app/dashboard/favourites.tsx | 11 - packages/mobile/app/dashboard/lists/[slug].tsx | 31 --- packages/mobile/app/error.tsx | 9 - packages/mobile/app/index.tsx | 20 -- packages/mobile/app/sharing.tsx | 99 --------- packages/mobile/app/signin.tsx | 101 --------- packages/mobile/assets/blur.jpeg | Bin 178818 -> 0 bytes packages/mobile/assets/icon.png | Bin 2362 -> 0 bytes packages/mobile/assets/splash.png | Bin 117993 -> 0 bytes packages/mobile/babel.config.js | 9 - packages/mobile/components/Logo.tsx | 11 - .../mobile/components/bookmarks/BookmarkCard.tsx | 243 --------------------- .../mobile/components/bookmarks/BookmarkList.tsx | 61 ------ packages/mobile/components/ui/ActionButton.tsx | 21 -- packages/mobile/components/ui/Button.tsx | 81 ------- packages/mobile/components/ui/Divider.tsx | 28 --- packages/mobile/components/ui/FullPageSpinner.tsx | 9 - packages/mobile/components/ui/Input.tsx | 28 --- packages/mobile/components/ui/Skeleton.tsx | 38 ---- packages/mobile/components/ui/Toast.tsx | 183 ---------------- packages/mobile/eas.json | 19 -- packages/mobile/globals.css | 80 ------- packages/mobile/lib/last-shared-intent.ts | 15 -- packages/mobile/lib/providers.tsx | 54 ----- packages/mobile/lib/session.ts | 20 -- packages/mobile/lib/settings.ts | 29 --- packages/mobile/lib/storage-state.ts | 51 ----- packages/mobile/lib/trpc.ts | 4 - packages/mobile/lib/utils.ts | 6 - packages/mobile/metro.config.js | 8 - packages/mobile/nativewind-env.d.ts | 1 - packages/mobile/package.json | 53 ----- packages/mobile/tailwind.config.js | 71 ------ packages/mobile/tsconfig.json | 10 - 49 files changed, 1935 deletions(-) delete mode 100644 packages/mobile/.eslintrc.js delete mode 100644 packages/mobile/.gitignore delete mode 100644 packages/mobile/.npmrc delete mode 100644 packages/mobile/app.json delete mode 100644 packages/mobile/app/+not-found.tsx delete mode 100644 packages/mobile/app/_layout.tsx delete mode 100644 packages/mobile/app/dashboard/(tabs)/_layout.tsx delete mode 100644 packages/mobile/app/dashboard/(tabs)/index.tsx delete mode 100644 packages/mobile/app/dashboard/(tabs)/lists.tsx delete mode 100644 packages/mobile/app/dashboard/(tabs)/search.tsx delete mode 100644 packages/mobile/app/dashboard/(tabs)/settings.tsx delete mode 100644 packages/mobile/app/dashboard/_layout.tsx delete mode 100644 packages/mobile/app/dashboard/add-link.tsx delete mode 100644 packages/mobile/app/dashboard/add-note.tsx delete mode 100644 packages/mobile/app/dashboard/archive.tsx delete mode 100644 packages/mobile/app/dashboard/favourites.tsx delete mode 100644 packages/mobile/app/dashboard/lists/[slug].tsx delete mode 100644 packages/mobile/app/error.tsx delete mode 100644 packages/mobile/app/index.tsx delete mode 100644 packages/mobile/app/sharing.tsx delete mode 100644 packages/mobile/app/signin.tsx delete mode 100644 packages/mobile/assets/blur.jpeg delete mode 100644 packages/mobile/assets/icon.png delete mode 100644 packages/mobile/assets/splash.png delete mode 100644 packages/mobile/babel.config.js delete mode 100644 packages/mobile/components/Logo.tsx delete mode 100644 packages/mobile/components/bookmarks/BookmarkCard.tsx delete mode 100644 packages/mobile/components/bookmarks/BookmarkList.tsx delete mode 100644 packages/mobile/components/ui/ActionButton.tsx delete mode 100644 packages/mobile/components/ui/Button.tsx delete mode 100644 packages/mobile/components/ui/Divider.tsx delete mode 100644 packages/mobile/components/ui/FullPageSpinner.tsx delete mode 100644 packages/mobile/components/ui/Input.tsx delete mode 100644 packages/mobile/components/ui/Skeleton.tsx delete mode 100644 packages/mobile/components/ui/Toast.tsx delete mode 100644 packages/mobile/eas.json delete mode 100644 packages/mobile/globals.css delete mode 100644 packages/mobile/lib/last-shared-intent.ts delete mode 100644 packages/mobile/lib/providers.tsx delete mode 100644 packages/mobile/lib/session.ts delete mode 100644 packages/mobile/lib/settings.ts delete mode 100644 packages/mobile/lib/storage-state.ts delete mode 100644 packages/mobile/lib/trpc.ts delete mode 100644 packages/mobile/lib/utils.ts delete mode 100644 packages/mobile/metro.config.js delete mode 100644 packages/mobile/nativewind-env.d.ts delete mode 100644 packages/mobile/package.json delete mode 100644 packages/mobile/tailwind.config.js delete mode 100644 packages/mobile/tsconfig.json (limited to 'packages/mobile') diff --git a/packages/mobile/.eslintrc.js b/packages/mobile/.eslintrc.js deleted file mode 100644 index 53beac49..00000000 --- a/packages/mobile/.eslintrc.js +++ /dev/null @@ -1,4 +0,0 @@ -module.exports = { - root: true, - extends: ["universe/native"], -}; diff --git a/packages/mobile/.gitignore b/packages/mobile/.gitignore deleted file mode 100644 index 2920e5a8..00000000 --- a/packages/mobile/.gitignore +++ /dev/null @@ -1,39 +0,0 @@ -# Learn more https://docs.github.com/en/get-started/getting-started-with-git/ignoring-files - -# dependencies -node_modules/ - -# Expo -.expo/ -dist/ -web-build/ - -# Native -*.orig.* -*.jks -*.p8 -*.p12 -*.key -*.mobileprovision - -# Metro -.metro-health-check* - -# debug -npm-debug.* -yarn-debug.* -yarn-error.* - -# macOS -.DS_Store -*.pem - -# local env files -.env*.local - -# typescript -*.tsbuildinfo - -#build files -ios/ -android/ diff --git a/packages/mobile/.npmrc b/packages/mobile/.npmrc deleted file mode 100644 index d67f3748..00000000 --- a/packages/mobile/.npmrc +++ /dev/null @@ -1 +0,0 @@ -node-linker=hoisted diff --git a/packages/mobile/app.json b/packages/mobile/app.json deleted file mode 100644 index e16baa37..00000000 --- a/packages/mobile/app.json +++ /dev/null @@ -1,57 +0,0 @@ -{ - "expo": { - "name": "Hoarder App", - "slug": "hoarder", - "scheme": "hoarder", - "version": "1.2.0", - "orientation": "portrait", - "icon": "./assets/icon.png", - "userInterfaceStyle": "light", - "splash": { - "image": "./assets/splash.png", - "resizeMode": "contain", - "backgroundColor": "#ffffff" - }, - "assetBundlePatterns": [ - "**/*" - ], - "ios": { - "supportsTablet": true, - "bundleIdentifier": "app.hoarder.hoardermobile", - "config": { - "usesNonExemptEncryption": false - } - }, - "android": { - "adaptiveIcon": { - "foregroundImage": "./assets/icon.png", - "backgroundColor": "#ffffff" - }, - "package": "app.hoarder.hoardermobile" - }, - "plugins": [ - "expo-router", - [ - "expo-share-intent", - { - "iosActivationRules": { - "NSExtensionActivationSupportsWebURLWithMaxCount": 1, - "NSExtensionActivationSupportsWebPageWithMaxCount": 0, - "NSExtensionActivationSupportsImageWithMaxCount": 0, - "NSExtensionActivationSupportsMovieWithMaxCount": 0, - "NSExtensionActivationSupportsText": true - } - } - ], - "expo-secure-store" - ], - "extra": { - "router": { - "origin": false - }, - "eas": { - "projectId": "d6d14643-ad43-4cd3-902a-92c5944d5e45" - } - } - } -} diff --git a/packages/mobile/app/+not-found.tsx b/packages/mobile/app/+not-found.tsx deleted file mode 100644 index 466505b6..00000000 --- a/packages/mobile/app/+not-found.tsx +++ /dev/null @@ -1,6 +0,0 @@ -import { View } from "react-native"; - -// This is kinda important given that the sharing modal always resolve to an unknown route -export default function NotFound() { - return ; -} diff --git a/packages/mobile/app/_layout.tsx b/packages/mobile/app/_layout.tsx deleted file mode 100644 index 6304ced5..00000000 --- a/packages/mobile/app/_layout.tsx +++ /dev/null @@ -1,53 +0,0 @@ -import "@/globals.css"; -import "expo-dev-client"; - -import { useRouter } from "expo-router"; -import { Stack } from "expo-router/stack"; -import { useShareIntent } from "expo-share-intent"; -import { StatusBar } from "expo-status-bar"; -import { useEffect } from "react"; -import { View } from "react-native"; - -import { useLastSharedIntent } from "@/lib/last-shared-intent"; -import { Providers } from "@/lib/providers"; - -export default function RootLayout() { - const router = useRouter(); - const { hasShareIntent, shareIntent, resetShareIntent } = useShareIntent(); - - const lastSharedIntent = useLastSharedIntent(); - - useEffect(() => { - const intentJson = JSON.stringify(shareIntent); - if (hasShareIntent && !lastSharedIntent.isPreviouslyShared(intentJson)) { - // TODO: Remove once https://github.com/achorein/expo-share-intent/issues/14 is fixed - lastSharedIntent.setIntent(intentJson); - router.replace({ - pathname: "sharing", - params: { shareIntent: intentJson }, - }); - resetShareIntent(); - } - }, [hasShareIntent]); - - return ( - - - - - - - - - - ); -} diff --git a/packages/mobile/app/dashboard/(tabs)/_layout.tsx b/packages/mobile/app/dashboard/(tabs)/_layout.tsx deleted file mode 100644 index 5b2d810a..00000000 --- a/packages/mobile/app/dashboard/(tabs)/_layout.tsx +++ /dev/null @@ -1,38 +0,0 @@ -import { Tabs } from "expo-router"; -import { ClipboardList, Home, Search, Settings } from "lucide-react-native"; -import React from "react"; - -export default function TabLayout() { - return ( - - , - }} - /> - , - }} - /> - , - }} - /> - , - }} - /> - - ); -} diff --git a/packages/mobile/app/dashboard/(tabs)/index.tsx b/packages/mobile/app/dashboard/(tabs)/index.tsx deleted file mode 100644 index b2349525..00000000 --- a/packages/mobile/app/dashboard/(tabs)/index.tsx +++ /dev/null @@ -1,31 +0,0 @@ -import { Link, Stack } from "expo-router"; -import { SquarePen, Link as LinkIcon } from "lucide-react-native"; -import { View } from "react-native"; - -import BookmarkList from "@/components/bookmarks/BookmarkList"; - -function HeaderRight() { - return ( - - - - - - - - - ); -} - -export default function Home() { - return ( - <> - , - }} - /> - - - ); -} diff --git a/packages/mobile/app/dashboard/(tabs)/lists.tsx b/packages/mobile/app/dashboard/(tabs)/lists.tsx deleted file mode 100644 index b534ddda..00000000 --- a/packages/mobile/app/dashboard/(tabs)/lists.tsx +++ /dev/null @@ -1,67 +0,0 @@ -import { Link } from "expo-router"; -import { useEffect, useState } from "react"; -import { FlatList, View } from "react-native"; - -import { api } from "@/lib/trpc"; - -export default function Lists() { - const [refreshing, setRefreshing] = useState(false); - const { data: lists, isPending } = api.lists.list.useQuery(); - const apiUtils = api.useUtils(); - - useEffect(() => { - setRefreshing(isPending); - }, [isPending]); - - if (!lists) { - // Add spinner - return ; - } - - const onRefresh = () => { - apiUtils.lists.list.invalidate(); - }; - - const links = [ - { - id: "fav", - logo: "⭐️", - name: "Favourites", - href: "/dashboard/favourites", - }, - { - id: "arch", - logo: "🗄️", - name: "Archive", - href: "/dashboard/archive", - }, - ]; - - links.push( - ...lists.lists.map((l) => ({ - id: l.id, - logo: l.icon, - name: l.name, - href: `/dashboard/lists/${l.id}`, - })), - ); - - return ( - ( - - - {l.item.logo} {l.item.name} - - - )} - data={links} - refreshing={refreshing} - onRefresh={onRefresh} - /> - ); -} diff --git a/packages/mobile/app/dashboard/(tabs)/search.tsx b/packages/mobile/app/dashboard/(tabs)/search.tsx deleted file mode 100644 index 980cab36..00000000 --- a/packages/mobile/app/dashboard/(tabs)/search.tsx +++ /dev/null @@ -1,35 +0,0 @@ -import { keepPreviousData } from "@tanstack/react-query"; -import { useState } from "react"; -import { View } from "react-native"; -import { useDebounce } from "use-debounce"; - -import BookmarkList from "@/components/bookmarks/BookmarkList"; -import { Divider } from "@/components/ui/Divider"; -import { Input } from "@/components/ui/Input"; -import { api } from "@/lib/trpc"; - -export default function Search() { - const [search, setSearch] = useState(""); - - const [query] = useDebounce(search, 200); - - const { data } = api.bookmarks.searchBookmarks.useQuery( - { text: query }, - { placeholderData: keepPreviousData }, - ); - - return ( - - - - {data && b.id)} />} - - ); -} diff --git a/packages/mobile/app/dashboard/(tabs)/settings.tsx b/packages/mobile/app/dashboard/(tabs)/settings.tsx deleted file mode 100644 index 9f86d5ec..00000000 --- a/packages/mobile/app/dashboard/(tabs)/settings.tsx +++ /dev/null @@ -1,41 +0,0 @@ -import { useRouter } from "expo-router"; -import { useEffect } from "react"; -import { Text, View } from "react-native"; - -import Logo from "@/components/Logo"; -import { Button } from "@/components/ui/Button"; -import { useSession } from "@/lib/session"; -import { api } from "@/lib/trpc"; - -export default function Dashboard() { - const router = useRouter(); - - const { isLoggedIn, logout } = useSession(); - - useEffect(() => { - if (isLoggedIn !== undefined && !isLoggedIn) { - router.replace("signin"); - } - }, [isLoggedIn]); - - const { data, error, isLoading } = api.users.whoami.useQuery(); - - useEffect(() => { - if (error?.data?.code === "UNAUTHORIZED") { - logout(); - } - }, [error]); - - return ( - - - - - {isLoading ? "Loading ..." : data?.email} - - - -