diff options
| author | MohamedBassem <me@mbassem.com> | 2024-03-10 23:06:49 +0000 |
|---|---|---|
| committer | MohamedBassem <me@mbassem.com> | 2024-03-10 23:06:49 +0000 |
| commit | f14c6f43c386fde627d786cf695c63eb1feab09a (patch) | |
| tree | e73ae8b7aa3c4da94aae2c2a25ae81fec69b2d08 | |
| parent | 3616e1aa7c1da030f5155e4fffa5c3c0b9769e8c (diff) | |
| download | karakeep-f14c6f43c386fde627d786cf695c63eb1feab09a.tar.zst | |
prep: Install lucide react native
| -rw-r--r-- | app/_layout.tsx | 12 | ||||
| -rw-r--r-- | app/index.tsx | 20 | ||||
| -rw-r--r-- | app/signin.tsx | 13 | ||||
| -rw-r--r-- | components/Logo.tsx | 11 | ||||
| -rw-r--r-- | package.json | 4 | ||||
| -rw-r--r-- | pnpm-lock.yaml | 99 | ||||
| -rw-r--r-- | tailwind.config.js | 5 |
7 files changed, 146 insertions, 18 deletions
diff --git a/app/_layout.tsx b/app/_layout.tsx new file mode 100644 index 00000000..38ccb408 --- /dev/null +++ b/app/_layout.tsx @@ -0,0 +1,12 @@ +import { Slot } from "expo-router"; +import { StatusBar } from "expo-status-bar"; +import { View } from "react-native"; + +export default function RootLayout() { + return ( + <View className="w-full h-full bg-white"> + <Slot /> + <StatusBar style="auto" /> + </View> + ); +} diff --git a/app/index.tsx b/app/index.tsx index c6131fa0..e352ba54 100644 --- a/app/index.tsx +++ b/app/index.tsx @@ -1,20 +1,12 @@ -import { StatusBar } from "expo-status-bar"; -import { StyleSheet, Text, View } from "react-native"; +import { Link } from "expo-router"; +import { View } from "react-native"; export default function App() { return ( - <View style={styles.container}> - <Text>Open up App.tsx to start working on your app!</Text> - <StatusBar style="auto" /> + <View className="flex-1 items-center justify-center bg-white"> + <Link href="/signin" className=""> + Signin + </Link> </View> ); } - -const styles = StyleSheet.create({ - container: { - flex: 1, - backgroundColor: "#fff", - alignItems: "center", - justifyContent: "center", - }, -}); diff --git a/app/signin.tsx b/app/signin.tsx new file mode 100644 index 00000000..fbb59698 --- /dev/null +++ b/app/signin.tsx @@ -0,0 +1,13 @@ +import Logo from "@/components/Logo"; +import { TextInput, View } from "react-native"; + +export default function Signin() { + return ( + <View className="items-center justify-center h-full"> + <Logo /> + + <TextInput /> + + </View> + ); +} diff --git a/components/Logo.tsx b/components/Logo.tsx new file mode 100644 index 00000000..8b1d0654 --- /dev/null +++ b/components/Logo.tsx @@ -0,0 +1,11 @@ +import { PackageOpen } from "lucide-react-native"; +import { View, Text } from "react-native"; + +export default function Logo() { + return ( + <View className="flex flex-row gap-2 justify-center items-center "> + <PackageOpen color="black" size={70} /> + <Text className="text-5xl">Hoarder</Text> + </View> + ); +} diff --git a/package.json b/package.json index 349a4ddd..ce3089e5 100644 --- a/package.json +++ b/package.json @@ -15,11 +15,13 @@ "expo-linking": "~6.2.2", "expo-router": "~3.4.8", "expo-status-bar": "~1.11.1", + "lucide-react-native": "^0.354.0", "nativewind": "^2.0.11", "react": "18.2.0", "react-native": "0.73.4", "react-native-safe-area-context": "4.8.2", - "react-native-screens": "~3.29.0" + "react-native-screens": "~3.29.0", + "react-native-svg": "^15.1.0" }, "devDependencies": { "@babel/core": "^7.20.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 38bad279..d8448717 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -20,6 +20,9 @@ dependencies: expo-status-bar: specifier: ~1.11.1 version: 1.11.1 + lucide-react-native: + specifier: ^0.354.0 + version: 0.354.0(react-native-svg@15.1.0)(react-native@0.73.4)(react@18.2.0) nativewind: specifier: ^2.0.11 version: 2.0.11(react@18.2.0)(tailwindcss@3.3.2) @@ -35,6 +38,9 @@ dependencies: react-native-screens: specifier: ~3.29.0 version: 3.29.0(react-native@0.73.4)(react@18.2.0) + react-native-svg: + specifier: ^15.1.0 + version: 15.1.0(react-native@0.73.4)(react@18.2.0) devDependencies: '@babel/core': @@ -3456,6 +3462,10 @@ packages: resolution: {integrity: sha512-DRQrD6gJyy8FbiE4s+bDoXS9hiW3Vbx5uCdwvcCf3zLHL+Iv7LtGHLpr+GZV8rHG8tK766FGYBwRbu8pELTt+w==} dev: false + /boolbase@1.0.0: + resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} + dev: false + /bplist-creator@0.1.0: resolution: {integrity: sha512-sXaHZicyEEmY86WyueLTQesbeoH/mquvarJaQNbjuOQO+7gbFcDEWqKmcWA4cOTLzFlfgvkiVxolk1k5bBIpmg==} dependencies: @@ -3952,6 +3962,16 @@ packages: resolution: {integrity: sha512-COtn4EROW5dBGlE/4PiKnh6rZpAPxDeFLaEEwt4i10jpDMFt2EhQGS79QmmrO+iKCHv0PU/HrOWEhijFd1x99Q==} dev: false + /css-select@5.1.0: + resolution: {integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==} + dependencies: + boolbase: 1.0.0 + css-what: 6.1.0 + domhandler: 5.0.3 + domutils: 3.1.0 + nth-check: 2.1.1 + dev: false + /css-to-react-native@3.2.0: resolution: {integrity: sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ==} dependencies: @@ -3960,6 +3980,19 @@ packages: postcss-value-parser: 4.2.0 dev: false + /css-tree@1.1.3: + resolution: {integrity: sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==} + engines: {node: '>=8.0.0'} + dependencies: + mdn-data: 2.0.14 + source-map: 0.6.1 + dev: false + + /css-what@6.1.0: + resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} + engines: {node: '>= 6'} + dev: false + /cssesc@3.0.0: resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} engines: {node: '>=4'} @@ -4148,6 +4181,33 @@ packages: esutils: 2.0.3 dev: true + /dom-serializer@2.0.0: + resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} + dependencies: + domelementtype: 2.3.0 + domhandler: 5.0.3 + entities: 4.5.0 + dev: false + + /domelementtype@2.3.0: + resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} + dev: false + + /domhandler@5.0.3: + resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} + engines: {node: '>= 4'} + dependencies: + domelementtype: 2.3.0 + dev: false + + /domutils@3.1.0: + resolution: {integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==} + dependencies: + dom-serializer: 2.0.0 + domelementtype: 2.3.0 + domhandler: 5.0.3 + dev: false + /dotenv-expand@10.0.0: resolution: {integrity: sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A==} engines: {node: '>=12'} @@ -4180,6 +4240,11 @@ packages: once: 1.4.0 dev: false + /entities@4.5.0: + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} + engines: {node: '>=0.12'} + dev: false + /env-editor@0.4.2: resolution: {integrity: sha512-ObFo8v4rQJAE59M69QzwloxPZtd33TpYEIjtKD1rrFDcM1Gd7IkDxEBU+HriziN6HSHQnBJi8Dmy+JWkav5HKA==} engines: {node: '>=8'} @@ -6201,6 +6266,18 @@ packages: dependencies: yallist: 4.0.0 + /lucide-react-native@0.354.0(react-native-svg@15.1.0)(react-native@0.73.4)(react@18.2.0): + resolution: {integrity: sha512-uNouh+JwusCJPyQ7YnoDD8lTmO+5T4dsh1MAjmnAYxv+cr8c8ZlN84rsbBeYsWDEaqLsrG8PMBFnIrvkcHX8zA==} + peerDependencies: + react: ^16.5.1 || ^17.0.0 || ^18.0.0 + react-native: '*' + react-native-svg: ^12.0.0 || ^13.0.0 || ^14.0.0 || ^15.0.0 + dependencies: + react: 18.2.0 + react-native: 0.73.4(@babel/core@7.24.0)(@babel/preset-env@7.24.0)(react@18.2.0) + react-native-svg: 15.1.0(react-native@0.73.4)(react@18.2.0) + dev: false + /make-dir@2.1.0: resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==} engines: {node: '>=6'} @@ -6247,6 +6324,10 @@ packages: resolution: {integrity: sha512-c2YOUbp33+6thdCUi34xIyOU/a7bvGKj/3DB1iaPMTuPHf/Q2d5s4sn1FaCOO43XkXggnb08y5W2PU8UNYNLKQ==} dev: false + /mdn-data@2.0.14: + resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==} + dev: false + /memoize-one@5.2.1: resolution: {integrity: sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==} dev: false @@ -6746,6 +6827,12 @@ packages: path-key: 3.1.1 dev: false + /nth-check@2.1.1: + resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} + dependencies: + boolbase: 1.0.0 + dev: false + /nullthrows@1.1.1: resolution: {integrity: sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==} dev: false @@ -7429,6 +7516,18 @@ packages: warn-once: 0.1.1 dev: false + /react-native-svg@15.1.0(react-native@0.73.4)(react@18.2.0): + resolution: {integrity: sha512-p0Sx0EpQNk1nu6UcMEiB8K9P04n3J7s+pNYUwf1d/Yz+v4hk961VjuVqjyndgiEbHZyWiKWLZRVNuvLpwjPY2A==} + peerDependencies: + react: '*' + react-native: '*' + dependencies: + css-select: 5.1.0 + css-tree: 1.1.3 + react: 18.2.0 + react-native: 0.73.4(@babel/core@7.24.0)(@babel/preset-env@7.24.0)(react@18.2.0) + dev: false + /react-native@0.73.4(@babel/core@7.24.0)(@babel/preset-env@7.24.0)(react@18.2.0): resolution: {integrity: sha512-VtS+Yr6OOTIuJGDECIYWzNU8QpJjASQYvMtfa/Hvm/2/h5GdB6W9H9TOmh13x07Lj4AOhNMx3XSsz6TdrO4jIg==} engines: {node: '>=18'} diff --git a/tailwind.config.js b/tailwind.config.js index 2acdcbd1..58c26c3a 100644 --- a/tailwind.config.js +++ b/tailwind.config.js @@ -1,9 +1,8 @@ /** @type {import('tailwindcss').Config} */ module.exports = { - content: ["./App.{js,jsx,ts,tsx}", "./<custom directory>/**/*.{js,jsx,ts,tsx}"], + content: ["./app/**/*.{js,jsx,ts,tsx}", "./components/**/*.{js,jsx,ts,tsx}"], theme: { extend: {}, }, plugins: [], -} - +}; |
