Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merging main -> Tymon #20

Open
wants to merge 286 commits into
base: Tymon
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
286 commits
Select commit Hold shift + click to select a range
7d1f3ba
Adds ai feature small index changes
Fivlas Nov 5, 2024
b2acc1a
Adds ai feature small index changes
Fivlas Nov 5, 2024
f20057f
Merge pull request #12 from Fivlas/main
Fivlas Nov 5, 2024
233be28
Merge pull request #12 from Fivlas/main
Fivlas Nov 5, 2024
bbe82cb
Merge pull request #13 from Fivlas/Filip
Fivlas Nov 5, 2024
817a28b
Merge pull request #13 from Fivlas/Filip
Fivlas Nov 5, 2024
19c727a
Merge pull request #14 from Fivlas/main
Fivlas Nov 5, 2024
a906d02
Merge pull request #14 from Fivlas/main
Fivlas Nov 5, 2024
653a38d
filtering challenges list
jakubLag Nov 5, 2024
9c8a7b6
filtering challenges list
jakubLag Nov 5, 2024
ace095c
adds darktheme to index page and fixes some eslint warnings
Fivlas Nov 6, 2024
25f711c
adds darktheme to index page and fixes some eslint warnings
Fivlas Nov 6, 2024
d63cabc
cards' colors bug fixed
jakubLag Nov 6, 2024
ecd375a
cards' colors bug fixed
jakubLag Nov 6, 2024
5c21e3c
working on dynamic chall route
jakubLag Nov 6, 2024
770a4cc
working on dynamic chall route
jakubLag Nov 6, 2024
fde01bb
working on shop page & navbar
jakubLag Nov 6, 2024
50bbf40
working on shop page & navbar
jakubLag Nov 6, 2024
8b3ee2e
styling challenge page
jakubLag Nov 7, 2024
4493498
styling challenge page
jakubLag Nov 7, 2024
92d1863
stash
jakubLag Nov 7, 2024
7cb0fc1
stash
jakubLag Nov 7, 2024
f3a6afc
Merge branch 'main' into Kuba
jakubLag Nov 7, 2024
7eac8d1
Merge branch 'main' into Kuba
jakubLag Nov 7, 2024
4d0be94
Merge pull request #17 from Fivlas/Kuba
jakubLag Nov 7, 2024
da17962
Merge pull request #17 from Fivlas/Kuba
jakubLag Nov 7, 2024
5273d47
adds simple tree
Fivlas Nov 7, 2024
f754e21
adds simple tree
Fivlas Nov 7, 2024
1140f63
adds simple tree
Fivlas Nov 7, 2024
43bbec6
Szybki fix
Janek567 Nov 8, 2024
a265c5f
Szybki fix
Janek567 Nov 8, 2024
1258f27
Szybki fix
Janek567 Nov 8, 2024
b73f975
Rejestrwaonie, logowanie i firebase dla uzytkownika + zapis do asyncs…
Janek567 Nov 8, 2024
56e41cc
Rejestrwaonie, logowanie i firebase dla uzytkownika + zapis do asyncs…
Janek567 Nov 8, 2024
5897c15
Rejestrwaonie, logowanie i firebase dla uzytkownika + zapis do asyncs…
Janek567 Nov 8, 2024
fc4873d
REJESTRACJAJA DODANA + QUESTY W FIRESTORE
Janek567 Nov 2, 2024
3677baf
REJESTRACJAJA DODANA + QUESTY W FIRESTORE
Janek567 Nov 2, 2024
0414ec3
REJESTRACJAJA DODANA + QUESTY W FIRESTORE
Janek567 Nov 2, 2024
a13d9d7
Szybki fix
Janek567 Nov 8, 2024
5466159
Szybki fix
Janek567 Nov 8, 2024
cc9a521
Szybki fix
Janek567 Nov 8, 2024
2149338
Rejestrwaonie, logowanie i firebase dla uzytkownika + zapis do asyncs…
Janek567 Nov 8, 2024
ecef5aa
Rejestrwaonie, logowanie i firebase dla uzytkownika + zapis do asyncs…
Janek567 Nov 8, 2024
bef83f7
Rejestrwaonie, logowanie i firebase dla uzytkownika + zapis do asyncs…
Janek567 Nov 8, 2024
d57cc5a
tree view
Fivlas Nov 10, 2024
45002a4
tree view
Fivlas Nov 10, 2024
7733caa
tree view
Fivlas Nov 10, 2024
ca7a69e
Merge branch 'main' into Filip
Fivlas Nov 10, 2024
b6e322d
Merge branch 'main' into Filip
Fivlas Nov 10, 2024
a174e8e
Merge branch 'main' into Filip
Fivlas Nov 10, 2024
1a8b484
Merge pull request #18 from Fivlas/Filip
Fivlas Nov 10, 2024
3f824f8
Merge pull request #18 from Fivlas/Filip
Fivlas Nov 10, 2024
6bdb6a6
Merge pull request #18 from Fivlas/Filip
Fivlas Nov 10, 2024
9fafe75
adds shop small ui changes in challenges
Fivlas Nov 10, 2024
c99e2ff
adds shop small ui changes in challenges
Fivlas Nov 10, 2024
6798cb8
adds shop small ui changes in challenges
Fivlas Nov 10, 2024
d08c4a0
Merge pull request #19 from Fivlas/Janek
Fivlas Nov 10, 2024
0a61fdc
Merge pull request #19 from Fivlas/Janek
Fivlas Nov 10, 2024
db45c58
Merge pull request #19 from Fivlas/Janek
Fivlas Nov 10, 2024
462dbc5
adds welcome screen combined login with asyncstorage and adds hook us…
Fivlas Nov 11, 2024
dcb1b48
adds welcome screen combined login with asyncstorage and adds hook us…
Fivlas Nov 11, 2024
34cb693
adds welcome screen combined login with asyncstorage and adds hook us…
Fivlas Nov 11, 2024
25af126
adds images and text
Fivlas Nov 11, 2024
eed4371
adds images and text
Fivlas Nov 11, 2024
399446f
adds images and text
Fivlas Nov 11, 2024
30b51ec
Merge branch 'main' of https://github.com/Fivlas/treebie
jakubLag Nov 11, 2024
96c728e
Merge branch 'main' of https://github.com/Fivlas/treebie
jakubLag Nov 11, 2024
b8d7d53
Merge branch 'main' of https://github.com/Fivlas/treebie
jakubLag Nov 11, 2024
1562c5a
added id field
jakubLag Nov 11, 2024
39f3e46
added id field
jakubLag Nov 11, 2024
0242e34
added id field
jakubLag Nov 11, 2024
c9df0b3
removes unnecessary images and adds tree lvl system
Fivlas Nov 11, 2024
d7225ce
removes unnecessary images and adds tree lvl system
Fivlas Nov 11, 2024
5cfb509
removes unnecessary images and adds tree lvl system
Fivlas Nov 11, 2024
7a9d3b6
adds id field to ChallangeData interface
Fivlas Nov 11, 2024
29b0edb
adds id field to ChallangeData interface
Fivlas Nov 11, 2024
a4f0516
adds id field to ChallangeData interface
Fivlas Nov 11, 2024
7112c59
styled challenge route and added explore icon
jakubLag Nov 11, 2024
96afb4a
styled challenge route and added explore icon
jakubLag Nov 11, 2024
34312c5
styled challenge route and added explore icon
jakubLag Nov 11, 2024
296aa7e
Merge branch 'main' of https://github.com/Fivlas/treebie
jakubLag Nov 11, 2024
7eada17
Merge branch 'main' of https://github.com/Fivlas/treebie
jakubLag Nov 11, 2024
19ce5e9
Merge branch 'main' of https://github.com/Fivlas/treebie
jakubLag Nov 11, 2024
fe0fde8
removed unnecessary icon import
jakubLag Nov 11, 2024
2edd142
removed unnecessary icon import
jakubLag Nov 11, 2024
50d176c
removed unnecessary icon import
jakubLag Nov 11, 2024
bcb900c
deleted unnecessary code
jakubLag Nov 12, 2024
3062804
deleted unnecessary code
jakubLag Nov 12, 2024
bee2c76
deleted unnecessary code
jakubLag Nov 12, 2024
915cad2
control commit
jakubLag Nov 12, 2024
942d773
control commit
jakubLag Nov 12, 2024
930a6a3
control commit
jakubLag Nov 12, 2024
0b242ea
Merge branch 'Janek' of https://github.com/Fivlas/treebie into Janek
Janek567 Nov 12, 2024
4e122c3
Merge branch 'Janek' of https://github.com/Fivlas/treebie into Janek
Janek567 Nov 12, 2024
532426a
Merge branch 'Janek' of https://github.com/Fivlas/treebie into Janek
Janek567 Nov 12, 2024
6edf486
adds tree backend handler and optimises files
Fivlas Nov 12, 2024
8457e68
adds tree backend handler and optimises files
Fivlas Nov 12, 2024
dfd065d
adds tree backend handler and optimises files
Fivlas Nov 12, 2024
b0aefa1
REJESTRACJAJA DODANA + QUESTY W FIRESTORE
Janek567 Nov 2, 2024
dd5aff0
REJESTRACJAJA DODANA + QUESTY W FIRESTORE
Janek567 Nov 2, 2024
3264c2a
REJESTRACJAJA DODANA + QUESTY W FIRESTORE
Janek567 Nov 2, 2024
5db280e
Merge branch 'Janek' of https://github.com/Fivlas/treebie into Janek
Janek567 Nov 12, 2024
0ca4bc8
Merge branch 'Janek' of https://github.com/Fivlas/treebie into Janek
Janek567 Nov 12, 2024
c8ed3ee
Merge branch 'Janek' of https://github.com/Fivlas/treebie into Janek
Janek567 Nov 12, 2024
fb7c5b3
fix
Janek567 Nov 12, 2024
451e6f6
fix
Janek567 Nov 12, 2024
284d1ff
fix
Janek567 Nov 12, 2024
ed57d61
Team select
Janek567 Nov 13, 2024
62b8956
Team select
Janek567 Nov 13, 2024
6eee518
Team select
Janek567 Nov 13, 2024
17bd7a8
ChoseTeam.tsx
Janek567 Nov 13, 2024
c5677c1
ChoseTeam.tsx
Janek567 Nov 13, 2024
087bd9a
ChoseTeam.tsx
Janek567 Nov 13, 2024
27da548
updated styles changing and db updates on events
jakubLag Nov 13, 2024
51f3f50
updated styles changing and db updates on events
jakubLag Nov 13, 2024
a291524
updated styles changing and db updates on events
jakubLag Nov 13, 2024
ca86796
deleted uneccessary method
jakubLag Nov 13, 2024
5258055
deleted uneccessary method
jakubLag Nov 13, 2024
9df2c58
deleted uneccessary method
jakubLag Nov 13, 2024
f25016d
Update README.md
jakubLag Nov 13, 2024
42bf63b
Update README.md
jakubLag Nov 13, 2024
1ffd1ad
Update README.md
jakubLag Nov 13, 2024
09edcc0
Update README.md
jakubLag Nov 13, 2024
095a782
Update README.md
jakubLag Nov 13, 2024
a4d4a41
Update README.md
jakubLag Nov 13, 2024
a9712de
Update README.md
jakubLag Nov 13, 2024
84baf57
Update README.md
jakubLag Nov 13, 2024
316832b
Update README.md
jakubLag Nov 13, 2024
5a970bd
Update README.md
jakubLag Nov 13, 2024
e8369d6
Update README.md
jakubLag Nov 13, 2024
06132af
Update README.md
jakubLag Nov 13, 2024
1475f4a
Update README.md
jakubLag Nov 13, 2024
fd1aa28
Update README.md
jakubLag Nov 13, 2024
4a0306f
Update README.md
jakubLag Nov 13, 2024
7ec2e82
Merge pull request #21 from Fivlas/Kuba2
jakubLag Nov 13, 2024
3b93b75
Merge pull request #21 from Fivlas/Kuba2
jakubLag Nov 13, 2024
94c02ef
Merge pull request #21 from Fivlas/Kuba2
jakubLag Nov 13, 2024
0a42085
Merge branch 'main' into Filip
Fivlas Nov 13, 2024
92fe345
Merge branch 'main' into Filip
Fivlas Nov 13, 2024
46c6698
Merge branch 'main' into Filip
Fivlas Nov 13, 2024
bf666cb
Merge pull request #22 from Fivlas/Filip
Fivlas Nov 13, 2024
a455d0f
Merge pull request #22 from Fivlas/Filip
Fivlas Nov 13, 2024
ece177a
Merge pull request #22 from Fivlas/Filip
Fivlas Nov 13, 2024
c14d521
Merge pull request #23 from Fivlas/Janek
Fivlas Nov 13, 2024
f571bf9
Merge pull request #23 from Fivlas/Janek
Fivlas Nov 13, 2024
aab3c57
Merge pull request #23 from Fivlas/Janek
Fivlas Nov 13, 2024
5441416
fixes challange/[id]/index type logic
Fivlas Nov 13, 2024
a148f72
fixes challange/[id]/index type logic
Fivlas Nov 13, 2024
e80ba75
fixes challange/[id]/index type logic
Fivlas Nov 13, 2024
aaa17d6
challenge searching done
jakubLag Nov 13, 2024
6427e72
challenge searching done
jakubLag Nov 13, 2024
7d63a3f
challenge searching done
jakubLag Nov 13, 2024
35147fb
update
jakubLag Nov 13, 2024
acc719a
update
jakubLag Nov 13, 2024
3feb0ec
update
jakubLag Nov 13, 2024
f87698e
incrementing user exp
jakubLag Nov 13, 2024
a8b207c
incrementing user exp
jakubLag Nov 13, 2024
1dd3ea2
incrementing user exp
jakubLag Nov 13, 2024
9e847a7
fixes responsive on android and upgrades to expo 52 sdk to work on ne…
Fivlas Nov 13, 2024
cffed38
secures firebase
Fivlas Nov 13, 2024
1cfebfd
added active quest and chachnged challenge type
jakubLag Nov 13, 2024
cc228e6
added active quest and chachnged challenge type
jakubLag Nov 13, 2024
c6d9f67
Merge branch 'main' of https://github.com/Fivlas/treebie
jakubLag Nov 13, 2024
d184305
Merge branch 'main' of https://github.com/Fivlas/treebie
jakubLag Nov 13, 2024
cc6d842
darkmode (have to change it)
jakubLag Nov 13, 2024
7a18ab0
darkmode (have to change it)
jakubLag Nov 13, 2024
4229c67
changes challange view, removes completed challnages from list, asks …
Fivlas Nov 14, 2024
f388566
changes challange view, removes completed challnages from list, asks …
Fivlas Nov 14, 2024
3570603
adds dark mode
Fivlas Nov 14, 2024
cc67af7
adds dark mode
Fivlas Nov 14, 2024
c01dce2
Update README.md
jakubLag Nov 14, 2024
c13be76
Update README.md
jakubLag Nov 14, 2024
68634bc
fixes bugs, optimizes code adds tos and privacy
Fivlas Nov 14, 2024
954bb13
fixes bugs, optimizes code adds tos and privacy
Fivlas Nov 14, 2024
f539a2f
Create .env
Fivlas Nov 14, 2024
a19a6d9
Create .env
Fivlas Nov 14, 2024
b5ab691
changes localziation and file name cuse of build error
Fivlas Nov 14, 2024
5c25db3
changes localziation and file name cuse of build error
Fivlas Nov 14, 2024
db0b754
Update README.md
jakubLag Nov 14, 2024
13b2afc
Update README.md
jakubLag Nov 14, 2024
d29d98e
Update README.md
jakubLag Nov 14, 2024
d9cdec3
Update README.md
jakubLag Nov 14, 2024
ad61eaf
Update README.md
jakubLag Nov 14, 2024
d657e89
Update README.md
jakubLag Nov 14, 2024
e31a93a
Update README.md
jakubLag Nov 14, 2024
df0f5ed
Update README.md
jakubLag Nov 14, 2024
b134063
adoc documentation of (auth)
Janek567 Nov 14, 2024
b42445d
adoc documentation of (auth)
Janek567 Nov 14, 2024
65f6208
adoc documentation of (auth)
Janek567 Nov 14, 2024
11d04be
adoc documentation of (auth)
Janek567 Nov 14, 2024
76bcc5c
adoc documentation of index
Janek567 Nov 14, 2024
d42fe20
adoc documentation of index
Janek567 Nov 14, 2024
c4de71b
Update README.md
jakubLag Nov 14, 2024
8a1e733
Update README.md
jakubLag Nov 14, 2024
0352cf2
Update README.md
jakubLag Nov 14, 2024
39d6448
Update README.md
jakubLag Nov 14, 2024
8289e3b
Update README.md
jakubLag Nov 14, 2024
4f1a643
Update README.md
jakubLag Nov 14, 2024
257f672
Update README.md
jakubLag Nov 14, 2024
ad8be4c
Update README.md
jakubLag Nov 14, 2024
035a73b
Update README.md
jakubLag Nov 14, 2024
4437f75
Update README.md
jakubLag Nov 14, 2024
2ddb109
Update README.md
jakubLag Nov 14, 2024
d01928a
Update README.md
jakubLag Nov 14, 2024
a83b373
adoc documentation
Janek567 Nov 14, 2024
6949502
adoc documentation
Janek567 Nov 14, 2024
d020083
Merge branch 'main' of https://github.com/Fivlas/treebie
Janek567 Nov 14, 2024
3a5f9fb
Merge branch 'main' of https://github.com/Fivlas/treebie
Janek567 Nov 14, 2024
5f2827b
Update README.md
Fivlas Nov 14, 2024
7c0a93d
Update README.md
Fivlas Nov 14, 2024
c3ed8c4
docs#1
jakubLag Nov 14, 2024
974aad0
docs#1
jakubLag Nov 14, 2024
2adf963
Merge branch 'main' of https://github.com/Fivlas/treebie
jakubLag Nov 14, 2024
535fca0
Merge branch 'main' of https://github.com/Fivlas/treebie
jakubLag Nov 14, 2024
89fa1ce
docs#2
jakubLag Nov 14, 2024
80bb4b6
docs#2
jakubLag Nov 14, 2024
90233ca
doc#3
jakubLag Nov 14, 2024
4a2948e
doc#3
jakubLag Nov 14, 2024
6cbd05f
doc#3 update
jakubLag Nov 14, 2024
86aea78
doc#3 update
jakubLag Nov 14, 2024
446149a
doc#3 update#2
jakubLag Nov 14, 2024
b0ff98e
doc#3 update#2
jakubLag Nov 14, 2024
1c7fd97
fixes challenges view
Fivlas Nov 14, 2024
0bd968f
removes .env
Fivlas Nov 14, 2024
5b37cdf
final doc commit
jakubLag Nov 14, 2024
bb0007a
Merge branch 'main' of https://github.com/Fivlas/treebie
jakubLag Nov 14, 2024
8986476
added readme imgs
jakubLag Nov 15, 2024
f981313
Update README.md
jakubLag Nov 15, 2024
1771d4c
Update README.md
jakubLag Nov 15, 2024
e0632d6
Update README.md
jakubLag Nov 15, 2024
35841c4
Update README.md
jakubLag Nov 15, 2024
a51a14d
Update README.md
jakubLag Nov 15, 2024
5f8210f
Update .env
Fivlas Nov 15, 2024
8cbc780
Update README.md
jakubLag Nov 15, 2024
c8ba5b6
Update README.md
jakubLag Nov 15, 2024
4e21c3a
Update README.md
jakubLag Nov 15, 2024
73fe6be
adds imges to readme and fixed challenges view
Fivlas Nov 15, 2024
2874aa4
adds .png to readme
Fivlas Nov 15, 2024
6b51c4c
fixes spis tresci
Fivlas Nov 15, 2024
de839f6
moves download preview upper
Fivlas Nov 15, 2024
8367bc3
full documentation added in readme
Fivlas Nov 15, 2024
1383fb0
fixes challange view
Fivlas Nov 15, 2024
2cf1df1
poprawa readme
jakubLag Nov 18, 2024
4aed56d
Update README.md
jakubLag Nov 18, 2024
51ea3bb
Update README.md
jakubLag Nov 18, 2024
a550563
Update README.md
jakubLag Nov 18, 2024
2342570
Update README.md
jakubLag Nov 18, 2024
3ef7904
Update README.md
Fivlas Jan 10, 2025
c55ad90
Update README.md
Fivlas Jan 21, 2025
22ab963
Update README.md
Fivlas Jan 27, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion %ProgramData%/Microsoft/Windows/UUS/State/_active.uusver

This file was deleted.

7 changes: 7 additions & 0 deletions .env
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
EXPO_PUBLIC_OPENAI_API_KEY=
EXPO_PUBLIC_FIREBASE_API_KEY=
EXPO_PUBLIC_FIREBASE_AUTH_DOMAIN=
EXPO_PUBLIC_FIREBASE_PROJECT_ID=
EXPO_PUBLIC_FIREBASE_STORAGE_BUCKET=
EXPO_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=
EXPO_PUBLIC_FIREBASE_APP_ID=
1 change: 1 addition & 0 deletions .eslintrc.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
/* eslint-disable no-undef */
module.exports = {
root: true,
parser: "@typescript-eslint/parser",
Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ npm-debug.*
*.orig.*
web-build/
.env
firebase.config.ts
secrets.txt

# macOS
.DS_Store
Expand Down
3 changes: 0 additions & 3 deletions .vscode/settings.json

This file was deleted.

77 changes: 77 additions & 0 deletions Documentation/app/(auth)/login.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
= Dokumentacja komponentu `Login`

Komponent `Login` umożliwia logowanie użytkownika w aplikacji mobilnej zbudowanej w React Native z wykorzystaniem Firebase. Zawiera formularz logowania z obsługą błędów i logiką uwierzytelniania użytkownika.

== Importowane moduły i komponenty

* `View`, `SafeAreaView`, `TouchableOpacity`, `Text`, `Alert` - komponenty React Native używane do tworzenia interfejsu użytkownika.
* `useState` - hook React do zarządzania stanem komponentu.
* `LoginSignupHeader` - komponent nagłówka logowania/rejestracji.
* `CustomInput`, `CustomButton` - komponenty niestandardowe obsługujące pola wejściowe i przyciski.
* `router` - moduł do nawigacji między ekranami.
* `LoginSignupFooter` - komponent stopki logowania/rejestracji.
* `signInWithEmailAndPassword`, `sendEmailVerification` - funkcje Firebase Authentication do logowania oraz wysyłania e-maila weryfikacyjnego.
* `AsyncStorage` - moduł do przechowywania danych na urządzeniu.
* `doc`, `getDoc`, `setDoc`, `updateDoc` - funkcje Firebase Firestore do zarządzania dokumentami w bazie danych.
* `ChoseTeam` - komponent wyboru zespołu użytkownika.
* `useThemeColor` - hook do pobrania koloru tła na podstawie motywu aplikacji.
* `FIREBASE_AUTH`, `FIREBASE_DB` - instancje Firebase Authentication oraz Firebase Firestore.

== Stan komponentu

* `email` - przechowuje wprowadzony przez użytkownika adres e-mail.
* `password` - przechowuje hasło użytkownika.
* `loading` - wskazuje, czy trwa proces logowania.
* `isChosingTeam` - informuje, czy użytkownik powinien wybrać zespół po zalogowaniu.
* `backgroundColor` - kolor tła ekranu, dostosowany do motywu aplikacji.

== Funkcje

=== `signIn`

Asynchroniczna funkcja do obsługi logowania użytkownika.
- Uwierzytelnia użytkownika przy użyciu `signInWithEmailAndPassword`.
- Wysyła e-mail weryfikacyjny, jeśli e-mail nie jest zweryfikowany.
- Zapisuje dane użytkownika (`uid`, `email`) w `AsyncStorage`.
- Pobiera dokument użytkownika z Firestore i sprawdza, czy użytkownik przypisany jest do zespołu.
- Obsługuje błędy związane z logowaniem, wyświetlając odpowiednie komunikaty.

=== `handleSignupPress`

Obsługuje nawigację do ekranu rejestracji użytkownika, wywołując `router.replace("/signup")`.

=== `handleTreeSelect`

Przypisuje wybrany zespół do konta użytkownika.
- Aktualizuje dokument użytkownika w Firestore.
- Przekierowuje użytkownika do głównego ekranu aplikacji.

== Struktura renderowania

Komponent wyświetla różne elementy interfejsu użytkownika w zależności od wartości `isChosingTeam`:

* Gdy `isChosingTeam` jest `true`, wyświetla komponent `ChoseTeam`, umożliwiający użytkownikowi wybór zespołu.
* Gdy `isChosingTeam` jest `false`, wyświetla formularz logowania z:
** `CustomInput` dla adresu e-mail i hasła,
** `CustomButton` dla przycisku logowania,
** `TouchableOpacity` z tekstem przekierowującym do rejestracji,
** `LoginSignupHeader` oraz `LoginSignupFooter` w górnej i dolnej części ekranu.

Całość jest otoczona w `SafeAreaView`, co zapewnia odpowiednie wyrównanie na urządzeniach z wycięciami lub zaokrąglonymi rogami.

== Uwagi

* Funkcje Firebase są asynchroniczne i mogą generować błędy; komponent zawiera obsługę typowych błędów logowania.
* `AsyncStorage` przechowuje dane logowania, co umożliwia automatyczne logowanie po ponownym uruchomieniu aplikacji.
* `useThemeColor` umożliwia dostosowanie tła do motywu aplikacji.

== Przykład użycia

```javascript
import Login from './Login';

export default function App() {
return (
<Login />
);
}
39 changes: 39 additions & 0 deletions Documentation/app/(auth)/privacy.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
= Dokumentacja komponentu `Privacy`

Komponent `Privacy` wyświetla politykę prywatności w aplikacji mobilnej. Umożliwia użytkownikowi powrót do ekranu logowania lub rejestracji w zależności od przekazanego parametru.

== Importowane moduły i komponenty

* `ThemedText` - komponent do wyświetlania tekstu z motywem kolorystycznym.
* `useThemeColor` - hook dostosowujący kolor do motywu aplikacji.
* `Ionicons` - ikony z biblioteki Expo.
* `Href`, `router`, `useLocalSearchParams` - moduły `expo-router` do obsługi nawigacji i parametrów URL.
* `SafeAreaView`, `TouchableOpacity`, `View`, `ScrollView` - komponenty React Native do budowy interfejsu.

== Funkcje i logika komponentu

=== `useLocalSearchParams`

- Hook używany do pobrania parametrów przekazanych w URL (np. ścieżka powrotna).
- Na podstawie parametru `redirect` ustala ścieżkę powrotną (`login` lub `signup`).

=== `backgroundColor`

- Przechowuje kolor tła ekranu, ustawiony w zależności od motywu aplikacji, pobrany za pomocą `useThemeColor`.

== Struktura renderowania

* Zawartość jest opakowana w `SafeAreaView` z klasą `flex-1`, co dostosowuje widok do wyświetlacza urządzenia.
* Przyciski i ikony są ułożone w wierszu (`flex-row`) na górze ekranu, co umożliwia powrót do poprzedniego ekranu.
* Przycisk `TouchableOpacity` z ikoną `Ionicons` służy do nawigacji powrotnej, odwołując się do `router.replace(redirect as Href)`.

== Przykład użycia

```javascript
import Privacy from './Privacy';

export default function App() {
return (
<Privacy />
);
}
58 changes: 58 additions & 0 deletions Documentation/app/(auth)/signup.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
= Dokumentacja komponentu `Signup`

Komponent `Signup` umożliwia rejestrację nowego użytkownika w aplikacji mobilnej, z użyciem Firebase Authentication. Komponent zawiera formularz do wprowadzenia e-maila i hasła oraz obsługę procesu tworzenia konta.

== Importowane moduły i komponenty

* `View`, `SafeAreaView`, `TouchableOpacity`, `Text`, `Alert` - komponenty React Native do tworzenia interfejsu użytkownika.
* `LoginSignupHeader` - komponent nagłówka logowania/rejestracji.
* `CustomInput`, `CustomButton` - komponenty do obsługi pól wejściowych i przycisków.
* `router` - moduł `expo-router` do nawigacji między ekranami.
* `LoginSignupFooter` - komponent stopki logowania/rejestracji.
* `createUserWithEmailAndPassword`, `sendEmailVerification` - funkcje Firebase Authentication do rejestracji i weryfikacji adresu e-mail.
* `FIREBASE_AUTH`, `FIREBASE_DB` - instancje Firebase Authentication i Firestore.
* `doc`, `setDoc` - funkcje Firebase Firestore do operacji na dokumentach.
* `useThemeColor` - hook dostosowujący kolor tła do motywu aplikacji.

== Stan komponentu

* `email` - przechowuje e-mail użytkownika.
* `password` - przechowuje hasło użytkownika.
* `repassword` - przechowuje ponownie wpisane hasło w celu weryfikacji.
* `backgroundColor` - kolor tła ekranu, zależny od motywu aplikacji.

== Funkcje

=== `handleSignupPress`

- Funkcja do obsługi nawigacji do ekranu logowania, używająca `router.replace("/login")`.

=== `handleSignup`

Asynchroniczna funkcja do rejestracji użytkownika.
- Tworzy nowe konto użytkownika za pomocą `createUserWithEmailAndPassword`.
- Wysyła e-mail weryfikacyjny do nowego użytkownika za pomocą `sendEmailVerification`.
- Zapisuje podstawowe dane użytkownika (`uid`, `email`, `team`) w Firestore, aby umożliwić identyfikację w aplikacji.
- Obsługuje błędy, wyświetlając odpowiednie komunikaty, np. w przypadku niepoprawnego adresu e-mail lub hasła.

== Struktura renderowania

* Ekran zawiera:
** `LoginSignupHeader` jako nagłówek,
** Formularz z polami `CustomInput` do wprowadzenia e-maila, hasła i powtórzenia hasła,
** Przycisk `CustomButton` do rejestracji,
** `TouchableOpacity` z tekstem umożliwiającym powrót do ekranu logowania,
** `LoginSignupFooter` jako stopkę.

* Widok zawiera `SafeAreaView` z klasą `flex-1`, aby zapewnić dopasowanie do ekranu urządzenia.

== Przykład użycia

```javascript
import Signup from './Signup';

export default function App() {
return (
<Signup />
);
}
39 changes: 39 additions & 0 deletions Documentation/app/(auth)/tos.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
= Dokumentacja komponentu `TermsOfUse`

Komponent `TermsOfUse` wyświetla warunki korzystania z aplikacji mobilnej. Umożliwia użytkownikowi powrót do ekranu logowania lub rejestracji, zależnie od przekazanych parametrów.

== Importowane moduły i komponenty

* `ThemedText` - komponent do wyświetlania tekstu w zgodzie z motywem aplikacji.
* `useThemeColor` - hook dostosowujący kolor tła do motywu aplikacji.
* `Ionicons` - ikony z biblioteki Expo.
* `Href`, `router`, `useLocalSearchParams` - moduły `expo-router` do zarządzania nawigacją i przekazywanymi parametrami.
* `SafeAreaView`, `TouchableOpacity`, `View`, `ScrollView` - komponenty React Native do tworzenia struktury i stylizacji interfejsu.

== Funkcje i logika komponentu

=== `useLocalSearchParams`

- Pobiera parametry URL, np. `redirect`, aby ustawić odpowiedni ekran powrotny.
- `redirect` wskazuje ścieżkę powrotną (np. `login` lub `signup`), która jest ustawiana na podstawie wartości parametru.

=== `backgroundColor`

- Kolor tła dostosowany do motywu aplikacji, ustawiony za pomocą `useThemeColor`.

== Struktura renderowania

* Cały ekran jest opakowany w `SafeAreaView` z klasą `flex-1`, co zapewnia responsywność.
* Górna część zawiera przycisk `TouchableOpacity` z ikoną `Ionicons`, umożliwiający powrót do poprzedniego ekranu (logowania lub rejestracji).
* Tekst warunków wyświetlany jest wewnątrz `ScrollView`, aby umożliwić przewijanie, co poprawia dostępność treści na urządzeniach mobilnych.

== Przykład użycia

```javascript
import TermsOfUse from './TermsOfUse';

export default function App() {
return (
<TermsOfUse />
);
}
46 changes: 46 additions & 0 deletions Documentation/app/(tabs)/_layout.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
= Dokumentacja komponentu `TabLayout`

Komponent `TabLayout` definiuje układ nawigacji dolnej (ang. *tab navigation*) dla aplikacji mobilnej. Każda karta (ang. *tab*) odpowiada innemu ekranowi aplikacji, w tym: głównej, wyzwań, drzewa i ustawień. Układ dostosowuje styl nawigacji w zależności od aktywnego motywu kolorystycznego (`light` lub `dark`).

== Importowane moduły i komponenty

* `Tabs` - komponent `expo-router` do definiowania układu kart w aplikacji.
* `TabBarIcon` - niestandardowy komponent ikony nawigacji dolnej.
* `Colors` - stała przechowująca kolory aplikacji dla różnych trybów kolorystycznych.
* `useColorScheme` - hook do określania aktywnego schematu kolorów (`light` lub `dark`), dostosowujący kolory tła i aktywne kolory ikon.

== Logika komponentu

* `colorScheme` - wynik `useColorScheme`, wykorzystywany do dynamicznego ustawienia kolorów kart.
* `Tabs` zawiera listę ekranów (`Screen`) jako karty z określonymi ikonami, tytułami i nazwami.

== Struktura renderowania

=== `Tabs` (Główna nawigacja)

* `screenOptions` ustawia:
* `tabBarStyle.backgroundColor` - kolor tła, zależny od aktywnego motywu (`Colors.light.background` lub `Colors.dark.background`).
* `tabBarActiveTintColor` - kolor aktywnych ikon kart, zależny od motywu.
* `headerShown: false` - ukrywa nagłówek aplikacji.

=== Ekrany kart

Każda karta definiuje nazwę (`name`) i opcje (`options`), takie jak tytuł i ikona:

* `index` (Główna): Ikona domku (`home` lub `home-outline`), tytuł `Główna`.
* `challenges` (Wyzwania): Ikona sztangi (`barbell` lub `barbell-outline`), tytuł `Wyzwania`.
* `tree` (Drzewko): Ikona liścia (`leaf` lub `leaf-outline`), tytuł `Drzewko`.
* `settings` (Ustawienia): Ikona ustawień (`settings` lub `settings-outline`), tytuł `Ustawienia`.

Każda ikona zmienia się zależnie od tego, czy karta jest aktywna (`focused`), co realizuje komponent `TabBarIcon`.

== Przykład użycia

```javascript
import TabLayout from './TabLayout';

export default function App() {
return (
<TabLayout />
);
}
68 changes: 68 additions & 0 deletions Documentation/app/(tabs)/challange.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
= Dokumentacja komponentu Challenges

Komponent `Challenges` to ekran w aplikacji, który zarządza wyzwaniami dla użytkowników. Pozwala na wyświetlanie aktywnego zadania oraz listy wyzwań. W tym komponencie zarządzane są także ustawienia związane z alertami oraz pobieraniem danych użytkownika z bazy Firebase.

== Importowane moduły i komponenty

* `Alert`, `BackHandler`, `Platform`, `SafeAreaView`, `View` - komponenty z `react-native` do obsługi UI i zdarzeń systemowych.
* `SearchBar` - komponent wyszukiwania, umożliwia filtrowanie wyzwań na podstawie zapytania.
* `ChallengesList` - komponent wyświetlający listę wyzwań.
* `useEffect`, `useState` - hooki z Reacta do zarządzania stanem i efektami ubocznymi.
* `useThemeColor` - niestandardowy hook, który zwraca kolor motywu w zależności od trybu.
* `ThemedText` - komponent tekstowy, który automatycznie stosuje odpowiedni motyw.
* `AsyncStorage` - służy do przechowywania danych lokalnych, np. flagi, czy użytkownik widział alert.
* `doc`, `getDoc` - metody z Firebase Firestore do pobierania dokumentów z bazy danych.
* `useUser` - niestandardowy hook, który zwraca dane użytkownika (np. `uid`, `loading`).

== Zmienne stanu

* `currentQuestId` - przechowuje identyfikator aktualnie aktywnego zadania.
* `currentQuest` - przechowuje dane dotyczące aktualnego zadania (tytuł, poziom trudności, itd.).
* `query` - zapytanie wprowadzane przez użytkownika w celu filtrowania listy wyzwań.

== Funkcje i efekty

### `useEffect`

Hook `useEffect` wykonuje następujące czynności:
1. **Sprawdzenie pierwszego użycia**: Sprawdza, czy użytkownik już widział alert o rzetelnym wypełnianiu wyzwań. Jeśli nie, wyświetla alert.
2. **Pobieranie aktywnego zadania**: Jeśli użytkownik jest zalogowany, pobiera aktywne zadanie z bazy danych Firebase.

### `checkFirstUse`

Funkcja ta sprawdza, czy użytkownik widział już alert informujący o konieczności rzetelnego podejścia do wyzwań. Jeśli nie, wyświetla odpowiedni komunikat i zapisuje informację w `AsyncStorage`.

### `fetchCurrentQuest`

Funkcja ta pobiera aktualnie przypisane zadanie z bazy danych Firebase. Na podstawie `user.uid` pobiera dokument użytkownika, a następnie pobiera dokument wyzwania, które jest przypisane do użytkownika.

### `getColor`

Funkcja, która na podstawie poziomu trudności zadania przypisuje odpowiednią kolorystykę. Na przykład:
- Poziom 1: Kolor podstawowy.
- Poziom 2: Kolor pomarańczowy.
- Poziom 3: Kolor czerwony.

== Interfejs użytkownika

1. **Alerty**: Użytkownik po pierwszym uruchomieniu aplikacji zostaje zapytany o zobowiązanie do rzetelnego wypełniania wyzwań. Możliwość odpowiedzi "Tak" lub "Nie", przy czym wybór "Nie" kończy działanie aplikacji.
2. **Aktywne zadanie**: Wyświetlana jest sekcja z aktywnym zadaniem, jeśli użytkownik ma przypisane wyzwanie.
3. **Lista wyzwań**: Poniżej sekcji z aktywnym zadaniem wyświetlana jest lista dostępnych wyzwań, która jest filtrowana na podstawie zapytania użytkownika.

### Layout i UI

- Górna sekcja wyświetla tytuł ekranu: "Wyzwania".
- Pod tytułem znajduje się komponent `SearchBar`, umożliwiający filtrowanie listy wyzwań na podstawie zapytania.
- Jeśli istnieje aktywne zadanie, wyświetlane jest ono w sekcji "Aktywne zadanie".
- Na dole wyświetlana jest lista wyzwań (komponent `ChallengesList`), której zawartość jest filtrowana na podstawie zapytania.

== Przykład użycia

```javascript
import Challenges from './Challenges';

export default function App() {
return (
<Challenges />
);
}
Loading