Skip to content

Commit 6b8b347

Browse files
Merge pull request #42 from The-Creative-Programming-Group/add-button
enhancement: add button component
2 parents f257c5e + bc3b3ec commit 6b8b347

37 files changed

+484
-475
lines changed

.env.example

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
11
EXPO_PUBLIC_API_URL="http://localhost:8081"
22
EXPO_PUBLIC_CLERK_PUBLISHABLE_KEY="Your Expo Public Clerk Publishable Key Here"
3+
# keep Clerk secret key secure: do not expose it to client-side code
4+
CLERK_SECRET_KEY="<YOUR_CLERK_SECRET_KEY>"
5+
# keep Neon credentials secure: do not expose them to client-side code
36
DATABASE_URL="postgresql://<USERNAME>:<PASSWORD>@<HOST>/<DATABASE>?sslmode=require"

.github/workflows/expo-build.yml

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,9 @@ jobs:
2828
- name: Setup pnpm
2929
uses: pnpm/action-setup@v3
3030
with:
31-
version: 10.12.1
31+
# Keep in sync with pnpm version in package.json etc.
32+
# Can we use corepack to init pnpm? That would reduce maintenance.
33+
version: 10.15.0
3234
- name: Install dependencies
3335
run: pnpm install --frozen-lockfile
3436
- name: ESLint check
@@ -46,7 +48,9 @@ jobs:
4648
- name: Setup pnpm
4749
uses: pnpm/action-setup@v3
4850
with:
49-
version: 10.12.1
51+
# Keep in sync with pnpm version in package.json etc.
52+
# Can we use corepack to init pnpm? That would reduce maintenance.
53+
version: 10.15.0
5054
- name: Install dependencies
5155
run: pnpm install --frozen-lockfile
5256
- name: Prettier formatting check
@@ -64,8 +68,10 @@ jobs:
6468
- name: Setup pnpm
6569
uses: pnpm/action-setup@v3
6670
with:
67-
version: 10.12.1
71+
# Keep in sync with pnpm version in package.json etc.
72+
# Can we use corepack to init pnpm? That would reduce maintenance.
73+
version: 10.15.0
6874
- name: Install dependencies
6975
run: pnpm install --frozen-lockfile
7076
- name: TypeScript type check
71-
run: npx tsc --noEmit
77+
run: pnpm typecheck

eslint.config.js

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,19 @@ module.exports = defineConfig([
1717
name: "react-native",
1818
importNames: ["Text"],
1919
message:
20-
"Use <AppText> instead of <Text>. The <AppText> component is located in 'components/AppText'. We are using this because it has a custom font and some other features.",
20+
"Use <AppText> instead of <Text>. The <AppText> component is located in 'components/ui/AppText'. We are using this because it has a custom font and some other features.",
21+
},
22+
{
23+
name: "expo-image",
24+
importNames: ["Image"],
25+
message:
26+
"Use <AppImage> instead of <Image>. The <AppImage> component is located in 'components/ui/AppImage'. We are using this because it can be styled with NativeWind and has some other features.",
27+
},
28+
{
29+
name: "react-native",
30+
importNames: ["Image"],
31+
message:
32+
"Use <AppImage> instead of <Image>. The <AppImage> component is located in 'components/ui/AppImage'. We are using this because it can be styled with NativeWind and has some other features.",
2133
},
2234
],
2335
},
@@ -28,14 +40,19 @@ module.exports = defineConfig([
2840
{
2941
selector: "JSXOpeningElement[name.name='Text']",
3042
message:
31-
"Use <AppText> instead of <Text>. The <AppText> component is located in 'components/AppText'. We are using this because it has a custom font and some other features.",
43+
"Use <AppText> instead of <Text>. The <AppText> component is located in 'components/ui/AppText'. We are using this because it has a custom font and some other features.",
44+
},
45+
{
46+
selector: "JSXOpeningElement[name.name='Image']",
47+
message:
48+
"Use <AppImage> instead of <Image>. The <AppImage> component is located in 'components/ui/AppImage'. We are using this because it can be styled with NativeWind and has some other features.",
3249
},
3350
],
3451
},
3552
},
3653

3754
{
38-
files: ["src/components/AppText.tsx"],
55+
files: ["src/components/ui/AppText.tsx", "src/components/ui/AppImage.ts"],
3956
rules: {
4057
"no-restricted-imports": "off",
4158
"no-restricted-syntax": "off",

localization/de.json

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -80,13 +80,6 @@
8080

8181
"resetLanguage": "Auf Gerätesprache zurücksetzen",
8282

83-
"invalidEmail": "Bitte geben Sie eine gültige E-Mail-Adresse ein",
84-
"passwordRequired": "Passwort ist erforderlich",
85-
"signInFailed": "Anmeldung fehlgeschlagen. Bitte überprüfen Sie Ihre Zugangsdaten",
86-
"userDoesNotExist": "Benutzer existiert nicht",
87-
"incorrectPassword": "Ihr Passwort ist falsch",
88-
"unknownError": "Ein unbekannter Fehler ist aufgetreten",
89-
9083
"appName": "Finance.io",
9184
"bankNamePlaceholder": "Revolut",
9285

localization/en.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
"password": "Password",
44
"signIn": "Sign In",
55
"signingIn": "Signing In...",
6-
"dontHaveAccount": "Don't have an account?",
7-
"signUp": "Sign up",
6+
"dontHaveAccount": "Don't have an account yet?",
7+
"signUp": "Sign Up",
88
"goToHome": "Go to Home",
99
"firstName": "First Name",
1010
"lastName": "Last Name",
@@ -55,6 +55,7 @@
5555
"accountCreationFailed": "Failed to create account",
5656
"resetLanguage": "Reset to Device Language",
5757
"invalidEmail": "Please enter a valid email address",
58+
"emailRequired": "Please enter a valid email address",
5859
"firstNameRequired": "First name is required",
5960
"lastNameRequired": "Last name is required",
6061
"passwordRequired": "Password is required",

localization/es.json

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -68,11 +68,6 @@
6868
"accountCreationFailed": "Error al crear la cuenta",
6969
"resetLanguage": "Volver al idioma del dispositivo",
7070

71-
"invalidEmail": "Por favor, ingresa un correo electrónico válido",
72-
"signInFailed": "Error al iniciar sesión. Por favor, verifica tus credenciales",
73-
"userDoesNotExist": "El usuario no existe",
74-
"incorrectPassword": "Tu contraseña es incorrecta",
75-
"unknownError": "Ocurrió un error desconocido",
7671
"appName": "Finance.io",
7772
"bankNamePlaceholder": "Revolut",
7873

localization/it.json

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -67,12 +67,6 @@
6767
"accountCreated": "Conto creato con successo!",
6868
"accountCreationFailed": "Creazione del conto fallita",
6969
"resetLanguage": "Ripristina lingua del dispositivo",
70-
71-
"invalidEmail": "Inserisci un indirizzo email valido",
72-
"signInFailed": "Accesso fallito. Verifica le tue credenziali",
73-
"userDoesNotExist": "L'utente non esiste",
74-
"incorrectPassword": "La tua password non è corretta",
75-
"unknownError": "Si è verificato un errore sconosciuto",
7670
"appName": "Finance.io",
7771
"bankNamePlaceholder": "Revolut",
7872

package.json

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,16 @@
99
"web": "expo start --web",
1010
"test": "jest --watchAll",
1111
"lint": "expo lint",
12+
"typecheck": "tsc --noEmit",
1213
"format:check": "prettier --check .",
1314
"format:write": "prettier --write ."
1415
},
1516
"jest": {
1617
"preset": "jest-expo"
1718
},
1819
"dependencies": {
20+
"@clerk/backend": "^2.9.4",
1921
"@clerk/clerk-expo": "^2.13.0",
20-
"@clerk/clerk-sdk-node": "^5.1.6",
2122
"@expo/server": "^0.5.3",
2223
"@expo/vector-icons": "^14.0.2",
2324
"@hookform/resolvers": "^5.1.1",
@@ -70,6 +71,7 @@
7071
"react-native-web": "~0.20.0",
7172
"react-native-webview": "13.13.5",
7273
"superjson": "^2.2.2",
74+
"tailwind-merge": "^3.3.1",
7375
"tailwind-variants": "^1.0.0",
7476
"tailwindcss": "^3.4.17",
7577
"zod": "^3.25.46"
@@ -92,5 +94,5 @@
9294
"typescript": "^5.3.3"
9395
},
9496
"private": true,
95-
"packageManager": "pnpm@10.12.1+sha512.f0dda8580f0ee9481c5c79a1d927b9164f2c478e90992ad268bbb2465a736984391d6333d2c327913578b2804af33474ca554ba29c04a8b13060a717675ae3ac"
97+
"packageManager": "pnpm@10.15.0+sha512.486ebc259d3e999a4e8691ce03b5cac4a71cbeca39372a9b762cb500cfdf0873e2cb16abe3d951b1ee2cf012503f027b98b6584e4df22524e0c7450d9ec7aa7b"
9698
}

0 commit comments

Comments
 (0)