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

Gehrkej/output data creation #85

Merged
merged 290 commits into from
Mar 15, 2024
Merged

Gehrkej/output data creation #85

merged 290 commits into from
Mar 15, 2024

Conversation

Gehrkej
Copy link
Contributor

@Gehrkej Gehrkej commented Mar 6, 2024

Work done on this branch:

  • Implemented outputData function and got all the currently needed calculations working
  • Input is transitioning to Result on "Submit" and displaying the output data
  • Submission is using database data
  • Instruction lookup function being used in DrillTarget component
  • Icon Lookup being used in drillInput component
  • input field restriction occurring in drillInput component
  • Added activity indicator while database data is fetched
  • Result component refactored to support 20 shot challenge and Line Test
  • Removed testing log messages in Input and Removed testing buttons

@Gehrkej Gehrkej requested a review from FrankreedX March 6, 2024 22:00
@FrankreedX
Copy link
Contributor

pls rebase lol. I'm taking a look right now

Copy link
Contributor

@FrankreedX FrankreedX left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This needs a lot of cleanup...

app/segments/drill/[id]/submission/result.js Show resolved Hide resolved
app/segments/drill/[id]/submission/index.js Outdated Show resolved Hide resolved
app/segments/drill/[id]/submission/index.js Outdated Show resolved Hide resolved
app/segments/drill/[id]/submission/index.js Outdated Show resolved Hide resolved
app/segments/drill/[id]/submission/index.js Outdated Show resolved Hide resolved
app/segments/drill/[id]/submission/input.js Outdated Show resolved Hide resolved
components/input/drillInput.js Outdated Show resolved Hide resolved
components/input/drillTarget.js Outdated Show resolved Hide resolved
components/input/navigationRectange.js Outdated Show resolved Hide resolved
components/input/navigationRectange.js Outdated Show resolved Hide resolved
Copy link
Contributor

@solderq35 solderq35 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

image

I got some warnings about scatter-chart library, but is probably because that library is 7 years old. I assume the warning is harmless but if not, maybe need to find new library.

@FrankreedX
Copy link
Contributor

image

I got some warnings about scatter-chart library, but is probably because that library is 7 years old. I assume the warning is harmless but if not, maybe need to find new library.

It's pretty hard to find a library that only does scatter chart, otherwise you'll have to install a completely new library just for it. Getting the barchart to work was a pain...

components/Loading.js Outdated Show resolved Hide resolved
Gehrkej and others added 20 commits March 14, 2024 10:40
* navigation to stats working

* 2 dropdowns!

* added dropdown, accordions, and drill submission view below the graph

* Scroll list for shots works now!

* Basic navigation for drill description, leaderboard and stats

* disable header statusbar

* fix: adjust height of status bar back button and screen title

* navigation to stats working

* Basic navigation for drill description, leaderboard and stats

* disable header statusbar

* fix: adjust height of status bar back button and screen title

* Drill description rebase

* Dynamic and parameratized routes for drill description + added drills.json

---------

Co-authored-by: Frankreed <baoanhtdn@gmail.com>
Co-authored-by: Artem Kolpakov <artemkolpakov78@gmail.com>
components/shotAccordion.js Outdated Show resolved Hide resolved
@Gehrkej Gehrkej merged commit 5617318 into layout Mar 15, 2024
1 check passed
@Gehrkej Gehrkej deleted the Gehrkej/Output-Data-Creation branch March 15, 2024 17:02
FrankreedX added a commit that referenced this pull request Jun 19, 2024
* feat: install Gluestack UI library

* yarn

* nice

* replaced gluestack with react native paper

* added db_spec

* Laid out directory and files (#48)

mapped out all pages

* navigation to stats working

* 2 dropdowns!

* added dropdown, accordions, and drill submission view below the graph

* Scroll list for shots works now!

* apparently we don't need safe area anymore ???

* add comments for frank

* Moved all files into appropriate places. Added a babel plugin for root level imports

* Drilll Description merging into Layout (#53)

* navigation to stats working

* 2 dropdowns!

* added dropdown, accordions, and drill submission view below the graph

* Scroll list for shots works now!

* Basic navigation for drill description, leaderboard and stats

* disable header statusbar

* fix: adjust height of status bar back button and screen title

* navigation to stats working

* Basic navigation for drill description, leaderboard and stats

* disable header statusbar

* fix: adjust height of status bar back button and screen title

* Drill description rebase

* Dynamic and parameratized routes for drill description + added drills.json

---------

Co-authored-by: Frankreed <baoanhtdn@gmail.com>
Co-authored-by: Artem Kolpakov <artemkolpakov78@gmail.com>

* Deleted extra drills directory in /app

* Layouts/drill submission (#62)

* navigation to stats working

* 2 dropdowns!

* added dropdown, accordions, and drill submission view below the graph

* Scroll list for shots works now!

* Basic navigation for drill description, leaderboard and stats

* Initial incorporation from work done on "Golf-App-Test"

* Increase data to reflect a full 20 shots

* began  "Back to Latest / Next Shot" button logic

* renamed useState hooks to have better terms

* fixed "Back to Latest" logic

* "Core Data" is now displayed horizontally for multiple attributes + added basic logic for "Submit Drill" button

* Added a shot with 3 "Core Data" attributes

* removed safe area view

* got it working on my mac +  keyboardscrollview

* added bottom sheet, reanimated, and gesture handler

* added react-native-reanimated plugin

* working bottom sheet

* bottom sheet has shot navigation test

* Static Navigation rectanges added

* Initial NavigationRectangle with dynamic data implimented

* added both bottom sheets with test buttons

* removed "index" from inputs map

* hooked up bottom sheet open on proper components + removed some test buttons

* added "id" to pressable in Navigation Rectangle

* fixed warning related to key

* Removed test indices

* Initial Test Leave Drill Modal implimented with test button

* Fixed bottom box bug

* Refactored to dialog instead of modal

* Removed test button and set up dialog on the back arrow

* fixed key warning in NavigationRectangle

* navigation to stats working

* Basic navigation for drill description, leaderboard and stats

* Initial incorporation from work done on "Golf-App-Test"

* Increase data to reflect a full 20 shots

* began  "Back to Latest / Next Shot" button logic

* renamed useState hooks to have better terms

* fixed "Back to Latest" logic

* "Core Data" is now displayed horizontally for multiple attributes + added basic logic for "Submit Drill" button

* Added a shot with 3 "Core Data" attributes

* removed safe area view

* got it working on my mac +  keyboardscrollview

* added bottom sheet, reanimated, and gesture handler

* added react-native-reanimated plugin

* working bottom sheet

* bottom sheet has shot navigation test

* Static Navigation rectanges added

* Initial NavigationRectangle with dynamic data implimented

* added both bottom sheets with test buttons

* removed "index" from inputs map

* hooked up bottom sheet open on proper components + removed some test buttons

* added "id" to pressable in Navigation Rectangle

* fixed warning related to key

* Removed test indices

* Initial Test Leave Drill Modal implimented with test button

* Fixed bottom box bug

* Refactored to dialog instead of modal

* Removed test button and set up dialog on the back arrow

* fixed key warning in NavigationRectangle

* Adjusted files to better match File structure after rebase

* added link to get to description screen

* added key to input value map to hopefully finally fix warning

* added fonts shown in figma

* created test theme to start messing around with

* added react-native config file for fonts

* installed expo-font and added fonts into plugins

* removed fonts from expo-plugins

* Updated Styling

* Update yarn.lock

* Revert "Update yarn.lock"

This reverts commit cae7bebea51524c557205e1410fc5aee4eadb0bf.

* nav buttons stay

* Note about moving stuff into file structure

* copied over drills/input.js to app/(content)/drill/[id]/submission/input.js

* added navigation to new location in file system

* index in submission now displaying Input component

* added basic description modal based on Colby's decription component

* description modal working

* refactored terminolgy for testData

* InputValues useState hook abstracted to index file

* Added base logic for preventing advancing with empty fields

* created initial outputData generator when clicking the "Submit Drill" button

* removed "drills" folder that was copied over during rebase

* added banner that displays when not all input fields are filled

* removed testTheme

---------

Co-authored-by: Frankreed <baoanhtdn@gmail.com>
Co-authored-by: hannacol <hannacol@oregonstate.edu>

* Layouts/drill leaderboard (#63)

* Screen works!

* Restart button

* removed victory-native

* feat: stylize drill submission results screen

* feat: add rounding for all displayed data fields

* fix: center scatter chart positioning

* fix: stylize shot accordion width to fit Figma designs

* Screen works!

* Restart button

* removed victory-native

* feat: stylize drill submission results screen

* feat: add rounding for all displayed data fields

* fix: center scatter chart positioning

* fix: stylize shot accordion width to fit Figma designs

* not js

* Updated drill.json and made leaderboards dynamic with json data

* fix: revamp routing and navigation

* feat: style drills list screen

* feat: add icons for drill result screen

Added icons to containers that display average differences data on the drill results screen, aligning screen's design with the Figma design. Ensured proper styling and centering of the data containers.

* Refactored drill.json and leaderboard with new database structure

* Drill results page loads with drill_data.json file

---------

Co-authored-by: Frankreed <baoanhtdn@gmail.com>
Co-authored-by: Artem Kolpakov <artemkolpakov78@gmail.com>

* Layouts/teams (#59)

* teams page init

* don't hardcode pfp

* switch to nested object data

* object keys length

* data for players on team

* bottom sheet settings

* set teamdata format like profile branch

* Layouts/profile (#57)

* sth

* Made a profile page with a list of a user's attempted drills, and the corresponding drill stat page that respond to that drill's structure.

* edited db_spec.jsonc to match drill_data.json

* Made hitbox of statistics bigger.

* componentized barchart!

* add actual folder (#61)

Co-authored-by: Frankreed <baoanhtdn@gmail.com>

* Layouts/bottom navigation (#65)

* add actual folder

* merged and situated some files

---------

Co-authored-by: Andy <andy.matthew.james@gmail.com>

* feat: implement navigation for merged screens

Resolved invalid routing to accurately direct to the intended screens. Adjusted header navigation styling to fit within the screen. Corrected importing of the mocked data to ensure proper utilization.

* minor fixes to team and profile (#66)

* minor fixes to team and profile

* move team data to main drill_data file

* updated drill data generation script to push data to firestore

* Teams page scrolling / keyboard / safearea fixes (#67)

* team scroll fixes

* comments

* add no drills attempted yet text

* move drill submission files to new directory to hide tab bar (#68)

* move drill submission to new directory to hide bottom nav

* eradicated drills.json and unified everything under drill_data.json. Also made result.js use the mock data directly. Whoever is handling the input and result should resolve this

* fix data imports for profile, teams, drill stats

---------

Co-authored-by: Frankreed <baoanhtdn@gmail.com>

* Frankreed/incorporating prettier (#73)

* mass formatting

* added easy npm command to start prettier

* mass reformat 2

* fix local json imports to match current db_spec (#75)

* Make drill pages (list, desc, leaderboard, and stat) fetch data from database (#74)

* move drill submission to new directory to hide bottom nav

* eradicated drills.json and unified everything under drill_data.json. Also made result.js use the mock data directly. Whoever is handling the input and result should resolve this

* mass formatting

* drill list page is now based on firebase

* updated db_spec

* checkpoint save. moved drill attempts into their own thing at the root of teams.

* *very* ugly implementation of drill list and drill leaderboard off of firestore

* make stuff work

* description, leaderboard, and statistics all use firebase now.

* leaderboard attempts can be navigated into. The resulting page only works with 20 shot challenge

* mass reformat, again!

* Changed database so single attempt screen can more easily display for multiple drills

* added some safe area, consolidated shotAccordion.js

---------

Co-authored-by: solderq35 <solderq35@gmail.com>

* Style Profile and Statistics Screens (#77)

* feat: style the profile card component

* feat: style the drill card component

* feat: style the personal and user profile pages

* feat: style the statistics page

* fix: adjust barChart component styling

* fix: add leaderboard margins

* feat: style the ShotAccordion component

* feat: style the data field rows within the ShotAccordion component

* fixed bar charts and stuff

---------

Co-authored-by: Frankreed <baoanhtdn@gmail.com>

* Sticky searchbar in scrollview for Teams page (#78)

* reference

* animations on this work now

* ran yarn, and merged

---------

Co-authored-by: Frankreed <baoanhtdn@gmail.com>

* fix mainOutputAttempt (#76)

* Add README (#80)

* Update main.yml to use yarn

* Integrate firebase to everything under content/team (#81)

* feat: install Gluestack UI library

* yarn

* nice

* replaced gluestack with react native paper

* added db_spec

* Laid out directory and files (#48)

mapped out all pages

* navigation to stats working

* 2 dropdowns!

* added dropdown, accordions, and drill submission view below the graph

* Scroll list for shots works now!

* apparently we don't need safe area anymore ???

* add comments for frank

* Moved all files into appropriate places. Added a babel plugin for root level imports

* Drilll Description merging into Layout (#53)

* navigation to stats working

* 2 dropdowns!

* added dropdown, accordions, and drill submission view below the graph

* Scroll list for shots works now!

* Basic navigation for drill description, leaderboard and stats

* disable header statusbar

* fix: adjust height of status bar back button and screen title

* navigation to stats working

* Basic navigation for drill description, leaderboard and stats

* disable header statusbar

* fix: adjust height of status bar back button and screen title

* Drill description rebase

* Dynamic and parameratized routes for drill description + added drills.json

---------

Co-authored-by: Frankreed <baoanhtdn@gmail.com>
Co-authored-by: Artem Kolpakov <artemkolpakov78@gmail.com>

* Deleted extra drills directory in /app

* Layouts/drill submission (#62)

* navigation to stats working

* 2 dropdowns!

* added dropdown, accordions, and drill submission view below the graph

* Scroll list for shots works now!

* Basic navigation for drill description, leaderboard and stats

* Initial incorporation from work done on "Golf-App-Test"

* Increase data to reflect a full 20 shots

* began  "Back to Latest / Next Shot" button logic

* renamed useState hooks to have better terms

* fixed "Back to Latest" logic

* "Core Data" is now displayed horizontally for multiple attributes + added basic logic for "Submit Drill" button

* Added a shot with 3 "Core Data" attributes

* removed safe area view

* got it working on my mac +  keyboardscrollview

* added bottom sheet, reanimated, and gesture handler

* added react-native-reanimated plugin

* working bottom sheet

* bottom sheet has shot navigation test

* Static Navigation rectanges added

* Initial NavigationRectangle with dynamic data implimented

* added both bottom sheets with test buttons

* removed "index" from inputs map

* hooked up bottom sheet open on proper components + removed some test buttons

* added "id" to pressable in Navigation Rectangle

* fixed warning related to key

* Removed test indices

* Initial Test Leave Drill Modal implimented with test button

* Fixed bottom box bug

* Refactored to dialog instead of modal

* Removed test button and set up dialog on the back arrow

* fixed key warning in NavigationRectangle

* navigation to stats working

* Basic navigation for drill description, leaderboard and stats

* Initial incorporation from work done on "Golf-App-Test"

* Increase data to reflect a full 20 shots

* began  "Back to Latest / Next Shot" button logic

* renamed useState hooks to have better terms

* fixed "Back to Latest" logic

* "Core Data" is now displayed horizontally for multiple attributes + added basic logic for "Submit Drill" button

* Added a shot with 3 "Core Data" attributes

* removed safe area view

* got it working on my mac +  keyboardscrollview

* added bottom sheet, reanimated, and gesture handler

* added react-native-reanimated plugin

* working bottom sheet

* bottom sheet has shot navigation test

* Static Navigation rectanges added

* Initial NavigationRectangle with dynamic data implimented

* added both bottom sheets with test buttons

* removed "index" from inputs map

* hooked up bottom sheet open on proper components + removed some test buttons

* added "id" to pressable in Navigation Rectangle

* fixed warning related to key

* Removed test indices

* Initial Test Leave Drill Modal implimented with test button

* Fixed bottom box bug

* Refactored to dialog instead of modal

* Removed test button and set up dialog on the back arrow

* fixed key warning in NavigationRectangle

* Adjusted files to better match File structure after rebase

* added link to get to description screen

* added key to input value map to hopefully finally fix warning

* added fonts shown in figma

* created test theme to start messing around with

* added react-native config file for fonts

* installed expo-font and added fonts into plugins

* removed fonts from expo-plugins

* Updated Styling

* Update yarn.lock

* Revert "Update yarn.lock"

This reverts commit cae7bebea51524c557205e1410fc5aee4eadb0bf.

* nav buttons stay

* Note about moving stuff into file structure

* copied over drills/input.js to app/(content)/drill/[id]/submission/input.js

* added navigation to new location in file system

* index in submission now displaying Input component

* added basic description modal based on Colby's decription component

* description modal working

* refactored terminolgy for testData

* InputValues useState hook abstracted to index file

* Added base logic for preventing advancing with empty fields

* created initial outputData generator when clicking the "Submit Drill" button

* removed "drills" folder that was copied over during rebase

* added banner that displays when not all input fields are filled

* removed testTheme

---------

Co-authored-by: Frankreed <baoanhtdn@gmail.com>
Co-authored-by: hannacol <hannacol@oregonstate.edu>

* Layouts/drill leaderboard (#63)

* Screen works!

* Restart button

* removed victory-native

* feat: stylize drill submission results screen

* feat: add rounding for all displayed data fields

* fix: center scatter chart positioning

* fix: stylize shot accordion width to fit Figma designs

* Screen works!

* Restart button

* removed victory-native

* feat: stylize drill submission results screen

* feat: add rounding for all displayed data fields

* fix: center scatter chart positioning

* fix: stylize shot accordion width to fit Figma designs

* not js

* Updated drill.json and made leaderboards dynamic with json data

* fix: revamp routing and navigation

* feat: style drills list screen

* feat: add icons for drill result screen

Added icons to containers that display average differences data on the drill results screen, aligning screen's design with the Figma design. Ensured proper styling and centering of the data containers.

* Refactored drill.json and leaderboard with new database structure

* Drill results page loads with drill_data.json file

---------

Co-authored-by: Frankreed <baoanhtdn@gmail.com>
Co-authored-by: Artem Kolpakov <artemkolpakov78@gmail.com>

* Layouts/teams (#59)

* teams page init

* don't hardcode pfp

* switch to nested object data

* object keys length

* data for players on team

* bottom sheet settings

* set teamdata format like profile branch

* Layouts/profile (#57)

* sth

* Made a profile page with a list of a user's attempted drills, and the corresponding drill stat page that respond to that drill's structure.

* edited db_spec.jsonc to match drill_data.json

* Made hitbox of statistics bigger.

* componentized barchart!

* add actual folder (#61)

Co-authored-by: Frankreed <baoanhtdn@gmail.com>

* Layouts/bottom navigation (#65)

* add actual folder

* merged and situated some files

---------

Co-authored-by: Andy <andy.matthew.james@gmail.com>

* feat: implement navigation for merged screens

Resolved invalid routing to accurately direct to the intended screens. Adjusted header navigation styling to fit within the screen. Corrected importing of the mocked data to ensure proper utilization.

* minor fixes to team and profile (#66)

* minor fixes to team and profile

* move team data to main drill_data file

* updated drill data generation script to push data to firestore

* Teams page scrolling / keyboard / safearea fixes (#67)

* team scroll fixes

* comments

* add no drills attempted yet text

* move drill submission files to new directory to hide tab bar (#68)

* move drill submission to new directory to hide bottom nav

* eradicated drills.json and unified everything under drill_data.json. Also made result.js use the mock data directly. Whoever is handling the input and result should resolve this

* fix data imports for profile, teams, drill stats

---------

Co-authored-by: Frankreed <baoanhtdn@gmail.com>

* Frankreed/incorporating prettier (#73)

* mass formatting

* added easy npm command to start prettier

* mass reformat 2

* fix local json imports to match current db_spec (#75)

* move drill submission to new directory to hide bottom nav

* eradicated drills.json and unified everything under drill_data.json. Also made result.js use the mock data directly. Whoever is handling the input and result should resolve this

* mass formatting

* drill list page is now based on firebase

* updated db_spec

* checkpoint save. moved drill attempts into their own thing at the root of teams.

* *very* ugly implementation of drill list and drill leaderboard off of firestore

* make stuff work

* description, leaderboard, and statistics all use firebase now.

* leaderboard attempts can be navigated into. The resulting page only works with 20 shot challenge

* mass reformat, again!

* Changed database so single attempt screen can more easily display for multiple drills

* added some safe area, consolidated shotAccordion.js

* Make drill pages (list, desc, leaderboard, and stat) fetch data from database (#74)

* move drill submission to new directory to hide bottom nav

* eradicated drills.json and unified everything under drill_data.json. Also made result.js use the mock data directly. Whoever is handling the input and result should resolve this

* mass formatting

* drill list page is now based on firebase

* updated db_spec

* checkpoint save. moved drill attempts into their own thing at the root of teams.

* *very* ugly implementation of drill list and drill leaderboard off of firestore

* make stuff work

* description, leaderboard, and statistics all use firebase now.

* leaderboard attempts can be navigated into. The resulting page only works with 20 shot challenge

* mass reformat, again!

* Changed database so single attempt screen can more easily display for multiple drills

* added some safe area, consolidated shotAccordion.js

---------

Co-authored-by: solderq35 <solderq35@gmail.com>

* Style Profile and Statistics Screens (#77)

* feat: style the profile card component

* feat: style the drill card component

* feat: style the personal and user profile pages

* feat: style the statistics page

* fix: adjust barChart component styling

* fix: add leaderboard margins

* feat: style the ShotAccordion component

* feat: style the data field rows within the ShotAccordion component

* fixed bar charts and stuff

---------

Co-authored-by: Frankreed <baoanhtdn@gmail.com>

* Sticky searchbar in scrollview for Teams page (#78)

* reference

* animations on this work now

* ran yarn, and merged

---------

Co-authored-by: Frankreed <baoanhtdn@gmail.com>

* fix mainOutputAttempt (#76)

* some temp work, team list page uses firebase now

* Add README (#80)

* teams pages are all hooked up. Remove the hitbox system from barChart because it doesn't work for all positive values charts (like 20 shot challenges)

* edited main.yml to use yarn

---------

Co-authored-by: Artem Kolpakov <artemkolpakov78@gmail.com>
Co-authored-by: solderq35 <solderq35@gmail.com>
Co-authored-by: hannacol <91215417+hannacol@users.noreply.github.com>
Co-authored-by: hannacol <hannacol@oregonstate.edu>
Co-authored-by: Jake Gehrke <91503842+Gehrkej@users.noreply.github.com>
Co-authored-by: Jeff Huang <82061589+solderq35@users.noreply.github.com>
Co-authored-by: ajpert <84763013+ajpert@users.noreply.github.com>
Co-authored-by: Andy <andy.matthew.james@gmail.com>
Co-authored-by: Artem <91341345+artkolpakov@users.noreply.github.com>

* Integrate firebase to everything under content/profile (#83)

* Laid out directory and files (#48)

mapped out all pages

* navigation to stats working

* 2 dropdowns!

* added dropdown, accordions, and drill submission view below the graph

* Scroll list for shots works now!

* apparently we don't need safe area anymore ???

* Moved all files into appropriate places. Added a babel plugin for root level imports

* Drilll Description merging into Layout (#53)

* navigation to stats working

* 2 dropdowns!

* added dropdown, accordions, and drill submission view below the graph

* Scroll list for shots works now!

* Basic navigation for drill description, leaderboard and stats

* disable header statusbar

* fix: adjust height of status bar back button and screen title

* navigation to stats working

* Basic navigation for drill description, leaderboard and stats

* disable header statusbar

* fix: adjust height of status bar back button and screen title

* Drill description rebase

* Dynamic and parameratized routes for drill description + added drills.json

---------

Co-authored-by: Frankreed <baoanhtdn@gmail.com>
Co-authored-by: Artem Kolpakov <artemkolpakov78@gmail.com>

* Deleted extra drills directory in /app

* Layouts/drill submission (#62)

* navigation to stats working

* 2 dropdowns!

* added dropdown, accordions, and drill submission view below the graph

* Scroll list for shots works now!

* Basic navigation for drill description, leaderboard and stats

* Initial incorporation from work done on "Golf-App-Test"

* Increase data to reflect a full 20 shots

* began  "Back to Latest / Next Shot" button logic

* renamed useState hooks to have better terms

* fixed "Back to Latest" logic

* "Core Data" is now displayed horizontally for multiple attributes + added basic logic for "Submit Drill" button

* Added a shot with 3 "Core Data" attributes

* removed safe area view

* got it working on my mac +  keyboardscrollview

* added bottom sheet, reanimated, and gesture handler

* added react-native-reanimated plugin

* working bottom sheet

* bottom sheet has shot navigation test

* Static Navigation rectanges added

* Initial NavigationRectangle with dynamic data implimented

* added both bottom sheets with test buttons

* removed "index" from inputs map

* hooked up bottom sheet open on proper components + removed some test buttons

* added "id" to pressable in Navigation Rectangle

* fixed warning related to key

* Removed test indices

* Initial Test Leave Drill Modal implimented with test button

* Fixed bottom box bug

* Refactored to dialog instead of modal

* Removed test button and set up dialog on the back arrow

* fixed key warning in NavigationRectangle

* navigation to stats working

* Basic navigation for drill description, leaderboard and stats

* Initial incorporation from work done on "Golf-App-Test"

* Increase data to reflect a full 20 shots

* began  "Back to Latest / Next Shot" button logic

* renamed useState hooks to have better terms

* fixed "Back to Latest" logic

* "Core Data" is now displayed horizontally for multiple attributes + added basic logic for "Submit Drill" button

* Added a shot with 3 "Core Data" attributes

* removed safe area view

* got it working on my mac +  keyboardscrollview

* added bottom sheet, reanimated, and gesture handler

* added react-native-reanimated plugin

* working bottom sheet

* bottom sheet has shot navigation test

* Static Navigation rectanges added

* Initial NavigationRectangle with dynamic data implimented

* added both bottom sheets with test buttons

* removed "index" from inputs map

* hooked up bottom sheet open on proper components + removed some test buttons

* added "id" to pressable in Navigation Rectangle

* fixed warning related to key

* Removed test indices

* Initial Test Leave Drill Modal implimented with test button

* Fixed bottom box bug

* Refactored to dialog instead of modal

* Removed test button and set up dialog on the back arrow

* fixed key warning in NavigationRectangle

* Adjusted files to better match File structure after rebase

* added link to get to description screen

* added key to input value map to hopefully finally fix warning

* added fonts shown in figma

* created test theme to start messing around with

* added react-native config file for fonts

* installed expo-font and added fonts into plugins

* removed fonts from expo-plugins

* Updated Styling

* Update yarn.lock

* Revert "Update yarn.lock"

This reverts commit cae7bebea51524c557205e1410fc5aee4eadb0bf.

* nav buttons stay

* Note about moving stuff into file structure

* copied over drills/input.js to app/(content)/drill/[id]/submission/input.js

* added navigation to new location in file system

* index in submission now displaying Input component

* added basic description modal based on Colby's decription component

* description modal working

* refactored terminolgy for testData

* InputValues useState hook abstracted to index file

* Added base logic for preventing advancing with empty fields

* created initial outputData generator when clicking the "Submit Drill" button

* removed "drills" folder that was copied over during rebase

* added banner that displays when not all input fields are filled

* removed testTheme

---------

Co-authored-by: Frankreed <baoanhtdn@gmail.com>
Co-authored-by: hannacol <hannacol@oregonstate.edu>

* Layouts/drill leaderboard (#63)

* Screen works!

* Restart button

* removed victory-native

* feat: stylize drill submission results screen

* feat: add rounding for all displayed data fields

* fix: center scatter chart positioning

* fix: stylize shot accordion width to fit Figma designs

* Screen works!

* Restart button

* removed victory-native

* feat: stylize drill submission results screen

* feat: add rounding for all displayed data fields

* fix: center scatter chart positioning

* fix: stylize shot accordion width to fit Figma designs

* not js

* Updated drill.json and made leaderboards dynamic with json data

* fix: revamp routing and navigation

* feat: style drills list screen

* feat: add icons for drill result screen

Added icons to containers that display average differences data on the drill results screen, aligning screen's design with the Figma design. Ensured proper styling and centering of the data containers.

* Refactored drill.json and leaderboard with new database structure

* Drill results page loads with drill_data.json file

---------

Co-authored-by: Frankreed <baoanhtdn@gmail.com>
Co-authored-by: Artem Kolpakov <artemkolpakov78@gmail.com>

* Layouts/teams (#59)

* teams page init

* don't hardcode pfp

* switch to nested object data

* object keys length

* data for players on team

* bottom sheet settings

* set teamdata format like profile branch

* Layouts/profile (#57)

* sth

* Made a profile page with a list of a user's attempted drills, and the corresponding drill stat page that respond to that drill's structure.

* edited db_spec.jsonc to match drill_data.json

* Made hitbox of statistics bigger.

* componentized barchart!

* add actual folder (#61)

Co-authored-by: Frankreed <baoanhtdn@gmail.com>

* Layouts/bottom navigation (#65)

* add actual folder

* merged and situated some files

---------

Co-authored-by: Andy <andy.matthew.james@gmail.com>

* feat: implement navigation for merged screens

Resolved invalid routing to accurately direct to the intended screens. Adjusted header navigation styling to fit within the screen. Corrected importing of the mocked data to ensure proper utilization.

* minor fixes to team and profile (#66)

* minor fixes to team and profile

* move team data to main drill_data file

* updated drill data generation script to push data to firestore

* move drill submission files to new directory to hide tab bar (#68)

* move drill submission to new directory to hide bottom nav

* eradicated drills.json and unified everything under drill_data.json. Also made result.js use the mock data directly. Whoever is handling the input and result should resolve this

* fix data imports for profile, teams, drill stats

---------

Co-authored-by: Frankreed <baoanhtdn@gmail.com>

* Frankreed/incorporating prettier (#73)

* mass formatting

* added easy npm command to start prettier

* mass reformat 2

* drill list page is now based on firebase

* *very* ugly implementation of drill list and drill leaderboard off of firestore

* leaderboard attempts can be navigated into. The resulting page only works with 20 shot challenge

* Style Profile and Statistics Screens (#77)

* feat: style the profile card component

* feat: style the drill card component

* feat: style the personal and user profile pages

* feat: style the statistics page

* fix: adjust barChart component styling

* fix: add leaderboard margins

* feat: style the ShotAccordion component

* feat: style the data field rows within the ShotAccordion component

* fixed bar charts and stuff

---------

Co-authored-by: Frankreed <baoanhtdn@gmail.com>

* Sticky searchbar in scrollview for Teams page (#78)

* reference

* animations on this work now

* ran yarn, and merged

---------

Co-authored-by: Frankreed <baoanhtdn@gmail.com>

* teams pages are all hooked up. Remove the hitbox system from barChart because it doesn't work for all positive values charts (like 20 shot challenges)

* import db is now import db instead of import { db }
All bar chart scrolling and spacing behavior fixed.
All references to "current user" replaced with react context
All pages in content/profile now using firebase
Added scrollbox to description in case it's longer than the screen

---------

Co-authored-by: hannacol <91215417+hannacol@users.noreply.github.com>
Co-authored-by: Artem Kolpakov <artemkolpakov78@gmail.com>
Co-authored-by: hannacol <hannacol@oregonstate.edu>
Co-authored-by: Jake Gehrke <91503842+Gehrkej@users.noreply.github.com>
Co-authored-by: Jeff Huang <82061589+solderq35@users.noreply.github.com>
Co-authored-by: ajpert <84763013+ajpert@users.noreply.github.com>
Co-authored-by: Andy <andy.matthew.james@gmail.com>
Co-authored-by: Artem <91341345+artkolpakov@users.noreply.github.com>

* Optimized all firebase calls to use tanstack query (react query) (#84)

* Laid out directory and files (#48)

mapped out all pages

* navigation to stats working

* 2 dropdowns!

* added dropdown, accordions, and drill submission view below the graph

* Scroll list for shots works now!

* apparently we don't need safe area anymore ???

* Moved all files into appropriate places. Added a babel plugin for root level imports

* Drilll Description merging into Layout (#53)

* navigation to stats working

* 2 dropdowns!

* added dropdown, accordions, and drill submission view below the graph

* Scroll list for shots works now!

* Basic navigation for drill description, leaderboard and stats

* disable header statusbar

* fix: adjust height of status bar back button and screen title

* navigation to stats working

* Basic navigation for drill description, leaderboard and stats

* disable header statusbar

* fix: adjust height of status bar back button and screen title

* Drill description rebase

* Dynamic and parameratized routes for drill description + added drills.json

---------

Co-authored-by: Frankreed <baoanhtdn@gmail.com>
Co-authored-by: Artem Kolpakov <artemkolpakov78@gmail.com>

* Deleted extra drills directory in /app

* Layouts/drill submission (#62)

* navigation to stats working

* 2 dropdowns!

* added dropdown, accordions, and drill submission view below the graph

* Scroll list for shots works now!

* Basic navigation for drill description, leaderboard and stats

* Initial incorporation from work done on "Golf-App-Test"

* Increase data to reflect a full 20 shots

* began  "Back to Latest / Next Shot" button logic

* renamed useState hooks to have better terms

* fixed "Back to Latest" logic

* "Core Data" is now displayed horizontally for multiple attributes + added basic logic for "Submit Drill" button

* Added a shot with 3 "Core Data" attributes

* removed safe area view

* got it working on my mac +  keyboardscrollview

* added bottom sheet, reanimated, and gesture handler

* added react-native-reanimated plugin

* working bottom sheet

* bottom sheet has shot navigation test

* Static Navigation rectanges added

* Initial NavigationRectangle with dynamic data implimented

* added both bottom sheets with test buttons

* removed "index" from inputs map

* hooked up bottom sheet open on proper components + removed some test buttons

* added "id" to pressable in Navigation Rectangle

* fixed warning related to key

* Removed test indices

* Initial Test Leave Drill Modal implimented with test button

* Fixed bottom box bug

* Refactored to dialog instead of modal

* Removed test button and set up dialog on the back arrow

* fixed key warning in NavigationRectangle

* navigation to stats working

* Basic navigation for drill description, leaderboard and stats

* Initial incorporation from work done on "Golf-App-Test"

* Increase data to reflect a full 20 shots

* began  "Back to Latest / Next Shot" button logic

* renamed useState hooks to have better terms

* fixed "Back to Latest" logic

* "Core Data" is now displayed horizontally for multiple attributes + added basic logic for "Submit Drill" button

* Added a shot with 3 "Core Data" attributes

* removed safe area view

* got it working on my mac +  keyboardscrollview

* added bottom sheet, reanimated, and gesture handler

* added react-native-reanimated plugin

* working bottom sheet

* bottom sheet has shot navigation test

* Static Navigation rectanges added

* Initial NavigationRectangle with dynamic data implimented

* added both bottom sheets with test buttons

* removed "index" from inputs map

* hooked up bottom sheet open on proper components + removed some test buttons

* added "id" to pressable in Navigation Rectangle

* fixed warning related to key

* Removed test indices

* Initial Test Leave Drill Modal implimented with test button

* Fixed bottom box bug

* Refactored to dialog instead of modal

* Removed test button and set up dialog on the back arrow

* fixed key warning in NavigationRectangle

* Adjusted files to better match File structure after rebase

* added link to get to description screen

* added key to input value map to hopefully finally fix warning

* added fonts shown in figma

* created test theme to start messing around with

* added react-native config file for fonts

* installed expo-font and added fonts into plugins

* removed fonts from expo-plugins

* Updated Styling

* Update yarn.lock

* Revert "Update yarn.lock"

This reverts commit cae7bebea51524c557205e1410fc5aee4eadb0bf.

* nav buttons stay

* Note about moving stuff into file structure

* copied over drills/input.js to app/(content)/drill/[id]/submission/input.js

* added navigation to new location in file system

* index in submission now displaying Input component

* added basic description modal based on Colby's decription component

* description modal working

* refactored terminolgy for testData

* InputValues useState hook abstracted to index file

* Added base logic for preventing advancing with empty fields

* created initial outputData generator when clicking the "Submit Drill" button

* removed "drills" folder that was copied over during rebase

* added banner that displays when not all input fields are filled

* removed testTheme

---------

Co-authored-by: Frankreed <baoanhtdn@gmail.com>
Co-authored-by: hannacol <hannacol@oregonstate.edu>

* Layouts/drill leaderboard (#63)

* Screen works!

* Restart button

* removed victory-native

* feat: stylize drill submission results screen

* feat: add rounding for all displayed data fields

* fix: center scatter chart positioning

* fix: stylize shot accordion width to fit Figma designs

* Screen works!

* Restart button

* removed victory-native

* feat: stylize drill submission results screen

* feat: add rounding for all displayed data fields

* fix: center scatter chart positioning

* fix: stylize shot accordion width to fit Figma designs

* not js

* Updated drill.json and made leaderboards dynamic with json data

* fix: revamp routing and navigation

* feat: style drills list screen

* feat: add icons for drill result screen

Added icons to containers that display average differences data on the drill results screen, aligning screen's design with the Figma design. Ensured proper styling and centering of the data containers.

* Refactored drill.json and leaderboard with new database structure

* Drill results page loads with drill_data.json file

---------

Co-authored-by: Frankreed <baoanhtdn@gmail.com>
Co-authored-by: Artem Kolpakov <artemkolpakov78@gmail.com>

* Layouts/teams (#59)

* teams page init

* don't hardcode pfp

* switch to nested object data

* object keys length

* data for players on team

* bottom sheet settings

* set teamdata format like profile branch

* Layouts/profile (#57)

* sth

* Made a profile page with a list of a user's attempted drills, and the corresponding drill stat page that respond to that drill's structure.

* edited db_spec.jsonc to match drill_data.json

* Made hitbox of statistics bigger.

* componentized barchart!

* add actual folder (#61)

Co-authored-by: Frankreed <baoanhtdn@gmail.com>

* Layouts/bottom navigation (#65)

* add actual folder

* merged and situated some files

---------

Co-authored-by: Andy <andy.matthew.james@gmail.com>

* feat: implement navigation for merged screens

Resolved invalid routing to accurately direct to the intended screens. Adjusted header navigation styling to fit within the screen. Corrected importing of the mocked data to ensure proper utilization.

* minor fixes to team and profile (#66)

* minor fixes to team and profile

* move team data to main drill_data file

* updated drill data generation script to push data to firestore

* move drill submission files to new directory to hide tab bar (#68)

* move drill submission to new directory to hide bottom nav

* eradicated drills.json and unified everything under drill_data.json. Also made result.js use the mock data directly. Whoever is handling the input and result should resolve this

* fix data imports for profile, teams, drill stats

---------

Co-authored-by: Frankreed <baoanhtdn@gmail.com>

* Frankreed/incorporating prettier (#73)

* mass formatting

* added easy npm command to start prettier

* mass reformat 2

* drill list page is now based on firebase

* *very* ugly implementation of drill list and drill leaderboard off of firestore

* leaderboard attempts can be navigated into. The resulting page only works with 20 shot challenge

* Style Profile and Statistics Screens (#77)

* feat: style the profile card component

* feat: style the drill card component

* feat: style the personal and user profile pages

* feat: style the statistics page

* fix: adjust barChart component styling

* fix: add leaderboard margins

* feat: style the ShotAccordion component

* feat: style the data field rows within the ShotAccordion component

* fixed bar charts and stuff

---------

Co-authored-by: Frankreed <baoanhtdn@gmail.com>

* Sticky searchbar in scrollview for Teams page (#78)

* reference

* animations on this work now

* ran yarn, and merged

---------

Co-authored-by: Frankreed <baoanhtdn@gmail.com>

* teams pages are all hooked up. Remove the hitbox system from barChart because it doesn't work for all positive values charts (like 20 shot challenges)

* import db is now import db instead of import { db }
All bar chart scrolling and spacing behavior fixed.
All references to "current user" replaced with react context
All pages in content/profile now using firebase
Added scrollbox to description in case it's longer than the screen

* some firebase emulation setup
tanstack quorks!!!!

* changed all uses of direct firebase querying to tanstack query hooks.

* Prevent shotAccordion numbers from jumping back and forth

* removed firebase emulator files

---------

Co-authored-by: hannacol <91215417+hannacol@users.noreply.github.com>
Co-authored-by: Artem Kolpakov <artemkolpakov78@gmail.com>
Co-authored-by: hannacol <hannacol@oregonstate.edu>
Co-authored-by: Jake Gehrke <91503842+Gehrkej@users.noreply.github.com>
Co-authored-by: Jeff Huang <82061589+solderq35@users.noreply.github.com>
Co-authored-by: ajpert <84763013+ajpert@users.noreply.github.com>
Co-authored-by: Andy <andy.matthew.james@gmail.com>
Co-authored-by: Artem <91341345+artkolpakov@users.noreply.github.com>

* Login revamp test (#39)

* feat: install Gluestack UI library

* yarn

* nice

* replaced gluestack with react native paper

* added db_spec

* Rebase "solderq35/login-revamp-test" onto layout branch; remove ts, extraneous pages

* jk now the light dark theme stuff is gone

* yarn

* fix dependency issues and update async storage

* jsx > js, match layout branch format

* gluestack

* update readme

* save progress and then cut down on dependencies later

* simplify dependencies

* add web bundler, fix firestore dependency

* formatting

* add back app.json expo router plugin

* reset to layout branch

* add back signin and signup onto layout

* add usecontext call, dismiss keyboard, alert popups, team search placeholder

* fix profile settings icon placement, add uid to usecontext, allow click buttons with keyboard open

* setdoc on new user

* manually fix some things to match layout cause I brain farted during rebase

* commit what I got before I implement user object email foreign key thing

* update email stuff

* add password reset emails, add error handler to signout

* fix signout and password reset error handling

* styling fixes, max width and container height

* more styling fixes

* update with latest changes after rebase

* simplify context user, remove unused functions, var rename

* reset plan index

* rename var names

---------

Co-authored-by: Artem Kolpakov <artemkolpakov78@gmail.com>
Co-authored-by: Frankreed <baoanhtdn@gmail.com>

* Hannacol/image modal (#79)

* feat: install Gluestack UI library

* yarn

* nice

* replaced gluestack with react native paper

* added db_spec

* Laid out directory and files (#48)

mapped out all pages

* navigation to stats working

* 2 dropdowns!

* added dropdown, accordions, and drill submission view below the graph

* Scroll list for shots works now!

* apparently we don't need safe area anymore ???

* add comments for frank

* Moved all files into appropriate places. Added a babel plugin for root level imports

* Drilll Description merging into Layout (#53)

* navigation to stats working

* 2 dropdowns!

* added dropdown, accordions, and drill submission view below the graph

* Scroll list for shots works now!

* Basic navigation for drill description, leaderboard and stats

* disable header statusbar

* fix: adjust height of status bar back button and screen title

* navigation to stats working

* Basic navigation for drill description, leaderboard and stats

* disable header statusbar

* fix: adjust height of status bar back button and screen title

* Drill description rebase

* Dynamic and parameratized routes for drill description + added drills.json

---------

Co-authored-by: Frankreed <baoanhtdn@gmail.com>
Co-authored-by: Artem Kolpakov <artemkolpakov78@gmail.com>

* Deleted extra drills directory in /app

* Layouts/drill submission (#62)

* navigation to stats working

* 2 dropdowns!

* added dropdown, accordions, and drill submission view below the graph

* Scroll list for shots works now!

* Basic navigation for drill description, leaderboard and stats

* Initial incorporation from work done on "Golf-App-Test"

* Increase data to reflect a full 20 shots

* began  "Back to Latest / Next Shot" button logic

* renamed useState hooks to have better terms

* fixed "Back to Latest" logic

* "Core Data" is now displayed horizontally for multiple attributes + added basic logic for "Submit Drill" button

* Added a shot with 3 "Core Data" attributes

* removed safe area view

* got it working on my mac +  keyboardscrollview

* added bottom sheet, reanimated, and gesture handler

* added react-native-reanimated plugin

* working bottom sheet

* bottom sheet has shot navigation test

* Static Navigation rectanges added

* Initial NavigationRectangle with dynamic data implimented

* added both bottom sheets with test buttons

* removed "index" from inputs map

* hooked up bottom sheet open on proper components + removed some test buttons

* added "id" to pressable in Navigation Rectangle

* fixed warning related to key

* Removed test indices

* Initial Test Leave Drill Modal implimented with test button

* Fixed bottom box bug

* Refactored to dialog instead of modal

* Removed test button and set up dialog on the back arrow

* fixed key warning in NavigationRectangle

* navigation to stats working

* Basic navigation for drill description, leaderboard and stats

* Initial incorporation from work done on "Golf-App-Test"

* Increase data to reflect a full 20 shots

* began  "Back to Latest / Next Shot" button logic

* renamed useState hooks to have better terms

* fixed "Back to Latest" logic

* "Core Data" is now displayed horizontally for multiple attributes + added basic logic for "Submit Drill" button

* Added a shot with 3 "Core Data" attributes

* removed safe area view

* got it working on my mac +  keyboardscrollview

* added bottom sheet, reanimated, and gesture handler

* added react-native-reanimated plugin

* working bottom sheet

* bottom sheet has shot navigation test

* Static Navigation rectanges added

* Initial NavigationRectangle with dynamic data implimented

* added both bottom sheets with test buttons

* removed "index" from inputs map

* hooked up bottom sheet open on proper components + removed some test buttons

* added "id" to pressable in Navigation Rectangle

* fixed warning related to key

* Removed test indices

* Initial Test Leave Drill Modal implimented with test button

* Fixed bottom box bug

* Refactored to dialog instead of modal

* Removed test button and set up dialog on the back arrow

* fixed key warning in NavigationRectangle

* Adjusted files to better match File structure after rebase

* added link to get to description screen

* added key to input value map to hopefully finally fix warning

* added fonts shown in figma

* created test theme to start messing around with

* added react-native config file for fonts

* installed expo-font and added fonts into plugins

* removed fonts from expo-plugins

* Updated Styling

* Update yarn.lock

* Revert "Update yarn.lock"

This reverts commit cae7bebea51524c557205e1410fc5aee4eadb0bf.

* nav buttons stay

* Note about moving stuff into file structure

* copied over drills/input.js to app/(content)/drill/[id]/submission/input.js

* added navigation to new location in file system

* index in submission now displaying Input component

* added basic description modal based on Colby's decription component

* description modal working

* refactored terminolgy for testData

* InputValues useState hook abstracted to index file

* Added base logic for preventing advancing with empty fields

* created initial outputData generator when clicking the "Submit Drill" button

* removed "drills" folder that was copied over during rebase

* added banner that displays when not all input fields are filled

* removed testTheme

---------

Co-authored-by: Frankreed <baoanhtdn@gmail.com>
Co-authored-by: hannacol <hannacol@oregonstate.edu>

* Layouts/drill leaderboard (#63)

* Screen works!

* Restart button

* removed victory-native

* feat: stylize drill submission results screen

* feat: add rounding for all displayed data fields

* fix: center scatter chart positioning

* fix: stylize shot accordion width to fit Figma designs

* Screen works!

* Restart button

* removed victory-native

* feat: stylize drill submission results screen

* feat: add rounding for all displayed data fields

* fix: center scatter chart positioning

* fix: stylize shot accordion width to fit Figma designs

* not js

* Updated drill.json and made leaderboards dynamic with json data

* fix: revamp routing and navigation

* feat: style drills list screen

* feat: add icons for drill result screen

Added icons to containers that display average differences data on the drill results screen, aligning screen's design with the Figma design. Ensured proper styling and centering of the data containers.

* Refactored drill.json and leaderboard with new database structure

* Drill results page loads with drill_data.json file

---------

Co-authored-by: Frankreed <baoanhtdn@gmail.com>
Co-authored-by: Artem Kolpakov <artemkolpakov78@gmail.com>

* Layouts/teams (#59)

* teams page init

* don't hardcode pfp

* switch to nested object data

* object keys length

* data for players on team

* bottom sheet settings

* set teamdata format like profile branch

* Layouts/profile (#57)

* sth

* Made a profile page with a list of a user's attempted drills, and the corresponding drill stat page that respond to that drill's structure.

* edited db_spec.jsonc to match drill_data.json

* Made hitbox of statistics bigger.

* componentized barchart!

* add actual folder (#61)

Co-authored-by: Frankreed <baoanhtdn@gmail.com>

* Layouts/bottom navigation (#65)

* add actual folder

* merged and situated some files

---------

Co-authored-by: Andy <andy.matthew.james@gmail.com>

* feat: implement navigation for merged screens

Resolved invalid routing to accurately direct to the intended screens. Adjusted header navigation styling to fit within the screen. Corrected importing of the mocked data to ensure proper utilization.

* minor fixes to team and profile (#66)

* minor fixes to team and profile

* move team data to main drill_data file

* updated drill data generation script to push data to firestore

* Teams page scrolling / keyboard / safearea fixes (#67)

* team scroll fixes

* comments

* add no drills attempted yet text

* move drill submission files to new directory to hide tab bar (#68)

* move drill submission to new directory to hide bottom nav

* eradicated drills.json and unified everything under drill_data.json. Also made result.js use the mock data directly. Whoever is handling the input and result should resolve this

* fix data imports for profile, teams, drill stats

---------

Co-authored-by: Frankreed <baoanhtdn@gmail.com>

* Frankreed/incorporating prettier (#73)

* mass formatting

* added easy npm command to start prettier

* mass reformat 2

* fix local json imports to match current db_spec (#75)

* Make drill pages (list, desc, leaderboard, and stat) fetch data from database (#74)

* move drill submission to new directory to hide bottom nav

* eradicated drills.json and unified everything under drill_data.json. Also made result.js use the mock data directly. Whoever is handling the input and result should resolve this

* mass formatting

* drill list page is now based on firebase

* updated db_spec

* checkpoint save. moved drill attempts into their own thing at the root of teams.

* *very* ugly implementation of drill list and drill leaderboard off of firestore

* make stuff work

* description, leaderboard, and statistics all use firebase now.

* leaderboard attempts can be navigated into. The resulting page only works with 20 shot challenge

* mass reformat, again!

* Changed database so single attempt screen can more easily display for multiple drills

* added some safe area, consolidated shotAccordion.js

---------

Co-authored-by: solderq35 <solderq35@gmail.com>

* Style Profile and Statistics Screens (#77)

* feat: style the profile card component

* feat: style the drill card component

* feat: style the personal and user profile pages

* feat: style the statistics page

* fix: adjust barChart component styling

* fix: add leaderboard margins

* feat: style the ShotAccordion component

* feat: style the data field rows within the ShotAccordion component

* fixed bar charts and stuff

---------

Co-authored-by: Frankreed <baoanhtdn@gmail.com>

* Sticky searchbar in scrollview for Teams page (#78)

* reference

* animations on this work now

* ran yarn, and merged

---------

Co-authored-by: Frankreed <baoanhtdn@gmail.com>

* fix mainOutputAttempt (#76)

* Images now have a modal popup when pressed and close when anywhere is pressed

* Created image carousel for multiple images and modal works for them individually

* Fixed props for description

* Updated modal to use Lightbox. Uses carousel when in popup

* Fixed "Start Drill" button styling

* Removed Lighbox component and chnaged it to Modal pop up for Carousel

* Added zIndex to close button

* Images now have a modal popup when pressed and close when anywhere is pressed

* Created image carousel for multiple images and modal works for them individually

* Fixed props for description

* Updated modal to use Lightbox. Uses carousel when in popup

* Fixed "Start Drill" button styling

* Removed Lighbox component and chnaged it to Modal pop up for Carousel

* Added zIndex to close button

* Prettier ran

* Created image carousel for multiple images and modal works for them individually

* Fixed props for description

* Updated modal to use Lightbox. Uses carousel when in popup

* Fixed "Start Drill" button styling

* Removed Lighbox component and chnaged it to Modal pop up for Carousel

* Added zIndex to close button

* Created image carousel for multiple images and modal works for them individually

* Updated modal to use Lightbox. Uses carousel when in popup

* Fixed "Start Drill" button styling

* Removed Lighbox component and chnaged it to Modal pop up for Carousel

* Prettier ran

* Rebased off layout and ran prettier

---------

Co-authored-by: Artem Kolpakov <artemkolpakov78@gmail.com>
Co-authored-by: solderq35 <solderq35@gmail.com>
Co-authored-by: Frankreed <baoanhtdn@gmail.com>
Co-authored-by: Frank Nguyen <41023671+FrankreedX@users.noreply.github.com>
Co-authored-by: Jake Gehrke <91503842+Gehrkej@users.noreply.github.com>
Co-authored-by: Jeff Huang <82061589+solderq35@users.noreply.github.com>
Co-authored-by: ajpert <84763013+ajpert@users.noreply.github.com>
Co-authored-by: Andy <andy.matthew.james@gmail.com>
Co-authored-by: Artem <91341345+artkolpakov@users.noreply.github.com>

* the previous merge merged too much... (#87)

* User Profile Name and Password Update  (#88)

* feat: implement edit profile modal

* feat: add sign out functionality

* feat: add useEmailInfo hook

* feat: implement user name Firebase update

* feat: implement password change

* feat: make profile name dynamic

Made the profile card's name property dynamic to reflect changes when the user updates their name within an edit profile modal.

* some refactoring

---------

Co-authored-by: Frankreed <baoanhtdn@gmail.com>

* Gehrkej/output data creation (#85)

* Initial line test result created

* added shot accodian back to general comonent. changed how dots are created based on drillType

* removed testing stuff and shifted submission definition up

* added header and moved restart drill button to reflect how artem implimented on "edit profile"

* restartButton styling now matches exactly

* switched back to what frank had and figured out how to make it work. I think...

* removed log test message

* removed some testing log statements

* removed test logs

* removed test buttons and added view of height 100% around everything

* yarn

* Laid out directory and files (#48)

mapped out all pages

* navigation to stats working

* 2 dropdowns!

* added dropdown, accordions, and drill submission view below the graph

* Scroll list for shots works now!

* apparently we don't need safe area anymore ???

* Moved all files into appropriate places. Added a babel plugin for root level imports

* Drilll Description merging into Layout (#53)

* navigation to stats working

* 2 dropdowns!

* added dropdown, accordions, and drill submission view below the graph

* Scroll list for shots works now!

* Basic navigation for drill description, leaderboard and stats

* disable header statusbar

* fix: adjust height of status bar back button and screen title

* navigation to stats working

* Basic navigation for drill description, leaderboard and stats

* disable header statusbar

* fix: adjust height of status bar back button and screen title

* Drill description rebase

* Dynamic and parameratized routes for drill description + added drills.json

---------

Co-authored-by: Frankreed <baoanhtdn@gmail.com>
Co-authored-by: Artem Kolpakov <artemkolpakov78@gmail.com>

* Deleted extra drills directory in /app

* Layouts/drill submission (#62)

* navigation to stats working

* 2 dropdowns!

* added dropdown, accordions, and drill submission view below the graph

* Scroll list for shots works now!

* Basic navigation for drill description, leaderboard and stats

* Initial incorporation from work done on "Golf-App-Test"

* Increase data to reflect a full 20 shots

* began  "Back to Latest / Next Shot" button logic

* renamed useState hooks to have better terms

* fixed "Back to Latest" logic

* "Core Data" is now displayed horizontally for multiple attributes + added basic logic for "Submit Drill" button

* Added a shot with 3 "Core Data" attributes

* removed safe area view

* got it working on my mac +  keyboardscrollview

* added bottom sheet, reanimated, and gesture handler

* added react-native-reanimated plugin

* working bottom sheet

* bottom sheet has shot navigation test

* Static Navigation rectanges added

* Initial NavigationRectangle with dynamic data implimented

* added both bottom sheets with test buttons

* removed "index" from inputs map

* hooked up bottom sheet open on proper components + removed some test buttons

* added "id" to pressable in Navigation Rectangle

* fixed warning related to key

* Removed test indices

* Initial Test Leave Drill Modal implimented with test button

* Fixed bottom box bug

* Refactored to dialog instead of modal

* Removed test button and set up dialog on the back arrow

* fixed key warning in NavigationRectangle

* navigation to stats working

* Basic navigation for drill description, leaderboard and stats

* Initial incorporation from work done on "Golf-App-Test"

* Increase data to reflect a full 20 shots

* began  "Back to Latest / Next Shot" button logic

* renamed useState hooks to have better terms

* fixed "Back to Latest" logic

* "Core Data" is now displayed horizontally for multiple attributes + added basic logic for "Submit Drill" button

* Added a shot with 3 "Core Data" attributes

* removed safe area view

* got it working on my mac +  keyboardscrollview

* added bottom sheet, reanimated, and gesture handler

* added react-native-reanimated plugin

* working bottom sheet

* bottom sheet has shot navigation test

* Static Navigation rectanges added

* Initial NavigationRectangle with dynamic data implimented

* added both bottom sheets with test buttons

* removed "index" from inputs map

* hooked up bottom sheet open on proper components + removed some test buttons

* added "id" to pressable in Navigation Rectangle

* fixed warning related to key

* Removed test indices

* Initial Test Leave Drill Modal implimented with test button

* Fixed bottom box bug

* Refactored to dialog instead of modal

* Removed test button and set up dialog on the back arrow

* fixed key warning in NavigationRectangle

* Adjusted files to better match File structure after rebase

* added link to get to description screen

* added key to input value map to hopefully finally fix warning

* added fonts shown in figma

* created test theme to start messing around with

* added react-native config file for fonts

* installed expo-font and added fonts into plugins

* removed fonts from expo-plugins

* Updated Styling

* Update yarn.lock

* Revert "Update yarn.lock"

This reverts commit cae7bebea51524c557205e1410fc5aee4eadb0bf.

* nav buttons stay

* Note about moving stuff into file structure

* copied over drills/input.js to app/(content)/drill/[id]/submission/input.js

* added navigation to new location in file system

* index in submission now displaying Input component

* added basic description modal based on Colby's decription component

* description modal working

* refactored terminolgy for testData

* InputValues useState hook abstracted to index file

* Added base logic for preventing advancing with empty fields

* created in…
FrankreedX added a commit that referenced this pull request Aug 4, 2024
* feat: install Gluestack UI library

* yarn

* nice

* replaced gluestack with react native paper

* added db_spec

* Laid out directory and files (#48)

mapped out all pages

* navigation to stats working

* 2 dropdowns!

* added dropdown, accordions, and drill submission view below the graph

* Scroll list for shots works now!

* apparently we don't need safe area anymore ???

* add comments for frank

* Moved all files into appropriate places. Added a babel plugin for root level imports

* Drilll Description merging into Layout (#53)

* navigation to stats working

* 2 dropdowns!

* added dropdown, accordions, and drill submission view below the graph

* Scroll list for shots works now!

* Basic navigation for drill description, leaderboard and stats

* disable header statusbar

* fix: adjust height of status bar back button and screen title

* navigation to stats working

* Basic navigation for drill description, leaderboard and stats

* disable header statusbar

* fix: adjust height of status bar back button and screen title

* Drill description rebase

* Dynamic and parameratized routes for drill description + added drills.json

---------

Co-authored-by: Frankreed <baoanhtdn@gmail.com>
Co-authored-by: Artem Kolpakov <artemkolpakov78@gmail.com>

* Deleted extra drills directory in /app

* Layouts/drill submission (#62)

* navigation to stats working

* 2 dropdowns!

* added dropdown, accordions, and drill submission view below the graph

* Scroll list for shots works now!

* Basic navigation for drill description, leaderboard and stats

* Initial incorporation from work done on "Golf-App-Test"

* Increase data to reflect a full 20 shots

* began  "Back to Latest / Next Shot" button logic

* renamed useState hooks to have better terms

* fixed "Back to Latest" logic

* "Core Data" is now displayed horizontally for multiple attributes + added basic logic for "Submit Drill" button

* Added a shot with 3 "Core Data" attributes

* removed safe area view

* got it working on my mac +  keyboardscrollview

* added bottom sheet, reanimated, and gesture handler

* added react-native-reanimated plugin

* working bottom sheet

* bottom sheet has shot navigation test

* Static Navigation rectanges added

* Initial NavigationRectangle with dynamic data implimented

* added both bottom sheets with test buttons

* removed "index" from inputs map

* hooked up bottom sheet open on proper components + removed some test buttons

* added "id" to pressable in Navigation Rectangle

* fixed warning related to key

* Removed test indices

* Initial Test Leave Drill Modal implimented with test button

* Fixed bottom box bug

* Refactored to dialog instead of modal

* Removed test button and set up dialog on the back arrow

* fixed key warning in NavigationRectangle

* navigation to stats working

* Basic navigation for drill description, leaderboard and stats

* Initial incorporation from work done on "Golf-App-Test"

* Increase data to reflect a full 20 shots

* began  "Back to Latest / Next Shot" button logic

* renamed useState hooks to have better terms

* fixed "Back to Latest" logic

* "Core Data" is now displayed horizontally for multiple attributes + added basic logic for "Submit Drill" button

* Added a shot with 3 "Core Data" attributes

* removed safe area view

* got it working on my mac +  keyboardscrollview

* added bottom sheet, reanimated, and gesture handler

* added react-native-reanimated plugin

* working bottom sheet

* bottom sheet has shot navigation test

* Static Navigation rectanges added

* Initial NavigationRectangle with dynamic data implimented

* added both bottom sheets with test buttons

* removed "index" from inputs map

* hooked up bottom sheet open on proper components + removed some test buttons

* added "id" to pressable in Navigation Rectangle

* fixed warning related to key

* Removed test indices

* Initial Test Leave Drill Modal implimented with test button

* Fixed bottom box bug

* Refactored to dialog instead of modal

* Removed test button and set up dialog on the back arrow

* fixed key warning in NavigationRectangle

* Adjusted files to better match File structure after rebase

* added link to get to description screen

* added key to input value map to hopefully finally fix warning

* added fonts shown in figma

* created test theme to start messing around with

* added react-native config file for fonts

* installed expo-font and added fonts into plugins

* removed fonts from expo-plugins

* Updated Styling

* Update yarn.lock

* Revert "Update yarn.lock"

This reverts commit cae7bebea51524c557205e1410fc5aee4eadb0bf.

* nav buttons stay

* Note about moving stuff into file structure

* copied over drills/input.js to app/(content)/drill/[id]/submission/input.js

* added navigation to new location in file system

* index in submission now displaying Input component

* added basic description modal based on Colby's decription component

* description modal working

* refactored terminolgy for testData

* InputValues useState hook abstracted to index file

* Added base logic for preventing advancing with empty fields

* created initial outputData generator when clicking the "Submit Drill" button

* removed "drills" folder that was copied over during rebase

* added banner that displays when not all input fields are filled

* removed testTheme

---------

Co-authored-by: Frankreed <baoanhtdn@gmail.com>
Co-authored-by: hannacol <hannacol@oregonstate.edu>

* Layouts/drill leaderboard (#63)

* Screen works!

* Restart button

* removed victory-native

* feat: stylize drill submission results screen

* feat: add rounding for all displayed data fields

* fix: center scatter chart positioning

* fix: stylize shot accordion width to fit Figma designs

* Screen works!

* Restart button

* removed victory-native

* feat: stylize drill submission results screen

* feat: add rounding for all displayed data fields

* fix: center scatter chart positioning

* fix: stylize shot accordion width to fit Figma designs

* not js

* Updated drill.json and made leaderboards dynamic with json data

* fix: revamp routing and navigation

* feat: style drills list screen

* feat: add icons for drill result screen

Added icons to containers that display average differences data on the drill results screen, aligning screen's design with the Figma design. Ensured proper styling and centering of the data containers.

* Refactored drill.json and leaderboard with new database structure

* Drill results page loads with drill_data.json file

---------

Co-authored-by: Frankreed <baoanhtdn@gmail.com>
Co-authored-by: Artem Kolpakov <artemkolpakov78@gmail.com>

* Layouts/teams (#59)

* teams page init

* don't hardcode pfp

* switch to nested object data

* object keys length

* data for players on team

* bottom sheet settings

* set teamdata format like profile branch

* Layouts/profile (#57)

* sth

* Made a profile page with a list of a user's attempted drills, and the corresponding drill stat page that respond to that drill's structure.

* edited db_spec.jsonc to match drill_data.json

* Made hitbox of statistics bigger.

* componentized barchart!

* add actual folder (#61)

Co-authored-by: Frankreed <baoanhtdn@gmail.com>

* Layouts/bottom navigation (#65)

* add actual folder

* merged and situated some files

---------

Co-authored-by: Andy <andy.matthew.james@gmail.com>

* feat: implement navigation for merged screens

Resolved invalid routing to accurately direct to the intended screens. Adjusted header navigation styling to fit within the screen. Corrected importing of the mocked data to ensure proper utilization.

* minor fixes to team and profile (#66)

* minor fixes to team and profile

* move team data to main drill_data file

* updated drill data generation script to push data to firestore

* Teams page scrolling / keyboard / safearea fixes (#67)

* team scroll fixes

* comments

* add no drills attempted yet text

* move drill submission files to new directory to hide tab bar (#68)

* move drill submission to new directory to hide bottom nav

* eradicated drills.json and unified everything under drill_data.json. Also made result.js use the mock data directly. Whoever is handling the input and result should resolve this

* fix data imports for profile, teams, drill stats

---------

Co-authored-by: Frankreed <baoanhtdn@gmail.com>

* Frankreed/incorporating prettier (#73)

* mass formatting

* added easy npm command to start prettier

* mass reformat 2

* fix local json imports to match current db_spec (#75)

* Make drill pages (list, desc, leaderboard, and stat) fetch data from database (#74)

* move drill submission to new directory to hide bottom nav

* eradicated drills.json and unified everything under drill_data.json. Also made result.js use the mock data directly. Whoever is handling the input and result should resolve this

* mass formatting

* drill list page is now based on firebase

* updated db_spec

* checkpoint save. moved drill attempts into their own thing at the root of teams.

* *very* ugly implementation of drill list and drill leaderboard off of firestore

* make stuff work

* description, leaderboard, and statistics all use firebase now.

* leaderboard attempts can be navigated into. The resulting page only works with 20 shot challenge

* mass reformat, again!

* Changed database so single attempt screen can more easily display for multiple drills

* added some safe area, consolidated shotAccordion.js

---------

Co-authored-by: solderq35 <solderq35@gmail.com>

* Style Profile and Statistics Screens (#77)

* feat: style the profile card component

* feat: style the drill card component

* feat: style the personal and user profile pages

* feat: style the statistics page

* fix: adjust barChart component styling

* fix: add leaderboard margins

* feat: style the ShotAccordion component

* feat: style the data field rows within the ShotAccordion component

* fixed bar charts and stuff

---------

Co-authored-by: Frankreed <baoanhtdn@gmail.com>

* Sticky searchbar in scrollview for Teams page (#78)

* reference

* animations on this work now

* ran yarn, and merged

---------

Co-authored-by: Frankreed <baoanhtdn@gmail.com>

* fix mainOutputAttempt (#76)

* Add README (#80)

* Update main.yml to use yarn

* Integrate firebase to everything under content/team (#81)

* feat: install Gluestack UI library

* yarn

* nice

* replaced gluestack with react native paper

* added db_spec

* Laid out directory and files (#48)

mapped out all pages

* navigation to stats working

* 2 dropdowns!

* added dropdown, accordions, and drill submission view below the graph

* Scroll list for shots works now!

* apparently we don't need safe area anymore ???

* add comments for frank

* Moved all files into appropriate places. Added a babel plugin for root level imports

* Drilll Description merging into Layout (#53)

* navigation to stats working

* 2 dropdowns!

* added dropdown, accordions, and drill submission view below the graph

* Scroll list for shots works now!

* Basic navigation for drill description, leaderboard and stats

* disable header statusbar

* fix: adjust height of status bar back button and screen title

* navigation to stats working

* Basic navigation for drill description, leaderboard and stats

* disable header statusbar

* fix: adjust height of status bar back button and screen title

* Drill description rebase

* Dynamic and parameratized routes for drill description + added drills.json

---------

Co-authored-by: Frankreed <baoanhtdn@gmail.com>
Co-authored-by: Artem Kolpakov <artemkolpakov78@gmail.com>

* Deleted extra drills directory in /app

* Layouts/drill submission (#62)

* navigation to stats working

* 2 dropdowns!

* added dropdown, accordions, and drill submission view below the graph

* Scroll list for shots works now!

* Basic navigation for drill description, leaderboard and stats

* Initial incorporation from work done on "Golf-App-Test"

* Increase data to reflect a full 20 shots

* began  "Back to Latest / Next Shot" button logic

* renamed useState hooks to have better terms

* fixed "Back to Latest" logic

* "Core Data" is now displayed horizontally for multiple attributes + added basic logic for "Submit Drill" button

* Added a shot with 3 "Core Data" attributes

* removed safe area view

* got it working on my mac +  keyboardscrollview

* added bottom sheet, reanimated, and gesture handler

* added react-native-reanimated plugin

* working bottom sheet

* bottom sheet has shot navigation test

* Static Navigation rectanges added

* Initial NavigationRectangle with dynamic data implimented

* added both bottom sheets with test buttons

* removed "index" from inputs map

* hooked up bottom sheet open on proper components + removed some test buttons

* added "id" to pressable in Navigation Rectangle

* fixed warning related to key

* Removed test indices

* Initial Test Leave Drill Modal implimented with test button

* Fixed bottom box bug

* Refactored to dialog instead of modal

* Removed test button and set up dialog on the back arrow

* fixed key warning in NavigationRectangle

* navigation to stats working

* Basic navigation for drill description, leaderboard and stats

* Initial incorporation from work done on "Golf-App-Test"

* Increase data to reflect a full 20 shots

* began  "Back to Latest / Next Shot" button logic

* renamed useState hooks to have better terms

* fixed "Back to Latest" logic

* "Core Data" is now displayed horizontally for multiple attributes + added basic logic for "Submit Drill" button

* Added a shot with 3 "Core Data" attributes

* removed safe area view

* got it working on my mac +  keyboardscrollview

* added bottom sheet, reanimated, and gesture handler

* added react-native-reanimated plugin

* working bottom sheet

* bottom sheet has shot navigation test

* Static Navigation rectanges added

* Initial NavigationRectangle with dynamic data implimented

* added both bottom sheets with test buttons

* removed "index" from inputs map

* hooked up bottom sheet open on proper components + removed some test buttons

* added "id" to pressable in Navigation Rectangle

* fixed warning related to key

* Removed test indices

* Initial Test Leave Drill Modal implimented with test button

* Fixed bottom box bug

* Refactored to dialog instead of modal

* Removed test button and set up dialog on the back arrow

* fixed key warning in NavigationRectangle

* Adjusted files to better match File structure after rebase

* added link to get to description screen

* added key to input value map to hopefully finally fix warning

* added fonts shown in figma

* created test theme to start messing around with

* added react-native config file for fonts

* installed expo-font and added fonts into plugins

* removed fonts from expo-plugins

* Updated Styling

* Update yarn.lock

* Revert "Update yarn.lock"

This reverts commit cae7bebea51524c557205e1410fc5aee4eadb0bf.

* nav buttons stay

* Note about moving stuff into file structure

* copied over drills/input.js to app/(content)/drill/[id]/submission/input.js

* added navigation to new location in file system

* index in submission now displaying Input component

* added basic description modal based on Colby's decription component

* description modal working

* refactored terminolgy for testData

* InputValues useState hook abstracted to index file

* Added base logic for preventing advancing with empty fields

* created initial outputData generator when clicking the "Submit Drill" button

* removed "drills" folder that was copied over during rebase

* added banner that displays when not all input fields are filled

* removed testTheme

---------

Co-authored-by: Frankreed <baoanhtdn@gmail.com>
Co-authored-by: hannacol <hannacol@oregonstate.edu>

* Layouts/drill leaderboard (#63)

* Screen works!

* Restart button

* removed victory-native

* feat: stylize drill submission results screen

* feat: add rounding for all displayed data fields

* fix: center scatter chart positioning

* fix: stylize shot accordion width to fit Figma designs

* Screen works!

* Restart button

* removed victory-native

* feat: stylize drill submission results screen

* feat: add rounding for all displayed data fields

* fix: center scatter chart positioning

* fix: stylize shot accordion width to fit Figma designs

* not js

* Updated drill.json and made leaderboards dynamic with json data

* fix: revamp routing and navigation

* feat: style drills list screen

* feat: add icons for drill result screen

Added icons to containers that display average differences data on the drill results screen, aligning screen's design with the Figma design. Ensured proper styling and centering of the data containers.

* Refactored drill.json and leaderboard with new database structure

* Drill results page loads with drill_data.json file

---------

Co-authored-by: Frankreed <baoanhtdn@gmail.com>
Co-authored-by: Artem Kolpakov <artemkolpakov78@gmail.com>

* Layouts/teams (#59)

* teams page init

* don't hardcode pfp

* switch to nested object data

* object keys length

* data for players on team

* bottom sheet settings

* set teamdata format like profile branch

* Layouts/profile (#57)

* sth

* Made a profile page with a list of a user's attempted drills, and the corresponding drill stat page that respond to that drill's structure.

* edited db_spec.jsonc to match drill_data.json

* Made hitbox of statistics bigger.

* componentized barchart!

* add actual folder (#61)

Co-authored-by: Frankreed <baoanhtdn@gmail.com>

* Layouts/bottom navigation (#65)

* add actual folder

* merged and situated some files

---------

Co-authored-by: Andy <andy.matthew.james@gmail.com>

* feat: implement navigation for merged screens

Resolved invalid routing to accurately direct to the intended screens. Adjusted header navigation styling to fit within the screen. Corrected importing of the mocked data to ensure proper utilization.

* minor fixes to team and profile (#66)

* minor fixes to team and profile

* move team data to main drill_data file

* updated drill data generation script to push data to firestore

* Teams page scrolling / keyboard / safearea fixes (#67)

* team scroll fixes

* comments

* add no drills attempted yet text

* move drill submission files to new directory to hide tab bar (#68)

* move drill submission to new directory to hide bottom nav

* eradicated drills.json and unified everything under drill_data.json. Also made result.js use the mock data directly. Whoever is handling the input and result should resolve this

* fix data imports for profile, teams, drill stats

---------

Co-authored-by: Frankreed <baoanhtdn@gmail.com>

* Frankreed/incorporating prettier (#73)

* mass formatting

* added easy npm command to start prettier

* mass reformat 2

* fix local json imports to match current db_spec (#75)

* move drill submission to new directory to hide bottom nav

* eradicated drills.json and unified everything under drill_data.json. Also made result.js use the mock data directly. Whoever is handling the input and result should resolve this

* mass formatting

* drill list page is now based on firebase

* updated db_spec

* checkpoint save. moved drill attempts into their own thing at the root of teams.

* *very* ugly implementation of drill list and drill leaderboard off of firestore

* make stuff work

* description, leaderboard, and statistics all use firebase now.

* leaderboard attempts can be navigated into. The resulting page only works with 20 shot challenge

* mass reformat, again!

* Changed database so single attempt screen can more easily display for multiple drills

* added some safe area, consolidated shotAccordion.js

* Make drill pages (list, desc, leaderboard, and stat) fetch data from database (#74)

* move drill submission to new directory to hide bottom nav

* eradicated drills.json and unified everything under drill_data.json. Also made result.js use the mock data directly. Whoever is handling the input and result should resolve this

* mass formatting

* drill list page is now based on firebase

* updated db_spec

* checkpoint save. moved drill attempts into their own thing at the root of teams.

* *very* ugly implementation of drill list and drill leaderboard off of firestore

* make stuff work

* description, leaderboard, and statistics all use firebase now.

* leaderboard attempts can be navigated into. The resulting page only works with 20 shot challenge

* mass reformat, again!

* Changed database so single attempt screen can more easily display for multiple drills

* added some safe area, consolidated shotAccordion.js

---------

Co-authored-by: solderq35 <solderq35@gmail.com>

* Style Profile and Statistics Screens (#77)

* feat: style the profile card component

* feat: style the drill card component

* feat: style the personal and user profile pages

* feat: style the statistics page

* fix: adjust barChart component styling

* fix: add leaderboard margins

* feat: style the ShotAccordion component

* feat: style the data field rows within the ShotAccordion component

* fixed bar charts and stuff

---------

Co-authored-by: Frankreed <baoanhtdn@gmail.com>

* Sticky searchbar in scrollview for Teams page (#78)

* reference

* animations on this work now

* ran yarn, and merged

---------

Co-authored-by: Frankreed <baoanhtdn@gmail.com>

* fix mainOutputAttempt (#76)

* some temp work, team list page uses firebase now

* Add README (#80)

* teams pages are all hooked up. Remove the hitbox system from barChart because it doesn't work for all positive values charts (like 20 shot challenges)

* edited main.yml to use yarn

---------

Co-authored-by: Artem Kolpakov <artemkolpakov78@gmail.com>
Co-authored-by: solderq35 <solderq35@gmail.com>
Co-authored-by: hannacol <91215417+hannacol@users.noreply.github.com>
Co-authored-by: hannacol <hannacol@oregonstate.edu>
Co-authored-by: Jake Gehrke <91503842+Gehrkej@users.noreply.github.com>
Co-authored-by: Jeff Huang <82061589+solderq35@users.noreply.github.com>
Co-authored-by: ajpert <84763013+ajpert@users.noreply.github.com>
Co-authored-by: Andy <andy.matthew.james@gmail.com>
Co-authored-by: Artem <91341345+artkolpakov@users.noreply.github.com>

* Integrate firebase to everything under content/profile (#83)

* Laid out directory and files (#48)

mapped out all pages

* navigation to stats working

* 2 dropdowns!

* added dropdown, accordions, and drill submission view below the graph

* Scroll list for shots works now!

* apparently we don't need safe area anymore ???

* Moved all files into appropriate places. Added a babel plugin for root level imports

* Drilll Description merging into Layout (#53)

* navigation to stats working

* 2 dropdowns!

* added dropdown, accordions, and drill submission view below the graph

* Scroll list for shots works now!

* Basic navigation for drill description, leaderboard and stats

* disable header statusbar

* fix: adjust height of status bar back button and screen title

* navigation to stats working

* Basic navigation for drill description, leaderboard and stats

* disable header statusbar

* fix: adjust height of status bar back button and screen title

* Drill description rebase

* Dynamic and parameratized routes for drill description + added drills.json

---------

Co-authored-by: Frankreed <baoanhtdn@gmail.com>
Co-authored-by: Artem Kolpakov <artemkolpakov78@gmail.com>

* Deleted extra drills directory in /app

* Layouts/drill submission (#62)

* navigation to stats working

* 2 dropdowns!

* added dropdown, accordions, and drill submission view below the graph

* Scroll list for shots works now!

* Basic navigation for drill description, leaderboard and stats

* Initial incorporation from work done on "Golf-App-Test"

* Increase data to reflect a full 20 shots

* began  "Back to Latest / Next Shot" button logic

* renamed useState hooks to have better terms

* fixed "Back to Latest" logic

* "Core Data" is now displayed horizontally for multiple attributes + added basic logic for "Submit Drill" button

* Added a shot with 3 "Core Data" attributes

* removed safe area view

* got it working on my mac +  keyboardscrollview

* added bottom sheet, reanimated, and gesture handler

* added react-native-reanimated plugin

* working bottom sheet

* bottom sheet has shot navigation test

* Static Navigation rectanges added

* Initial NavigationRectangle with dynamic data implimented

* added both bottom sheets with test buttons

* removed "index" from inputs map

* hooked up bottom sheet open on proper components + removed some test buttons

* added "id" to pressable in Navigation Rectangle

* fixed warning related to key

* Removed test indices

* Initial Test Leave Drill Modal implimented with test button

* Fixed bottom box bug

* Refactored to dialog instead of modal

* Removed test button and set up dialog on the back arrow

* fixed key warning in NavigationRectangle

* navigation to stats working

* Basic navigation for drill description, leaderboard and stats

* Initial incorporation from work done on "Golf-App-Test"

* Increase data to reflect a full 20 shots

* began  "Back to Latest / Next Shot" button logic

* renamed useState hooks to have better terms

* fixed "Back to Latest" logic

* "Core Data" is now displayed horizontally for multiple attributes + added basic logic for "Submit Drill" button

* Added a shot with 3 "Core Data" attributes

* removed safe area view

* got it working on my mac +  keyboardscrollview

* added bottom sheet, reanimated, and gesture handler

* added react-native-reanimated plugin

* working bottom sheet

* bottom sheet has shot navigation test

* Static Navigation rectanges added

* Initial NavigationRectangle with dynamic data implimented

* added both bottom sheets with test buttons

* removed "index" from inputs map

* hooked up bottom sheet open on proper components + removed some test buttons

* added "id" to pressable in Navigation Rectangle

* fixed warning related to key

* Removed test indices

* Initial Test Leave Drill Modal implimented with test button

* Fixed bottom box bug

* Refactored to dialog instead of modal

* Removed test button and set up dialog on the back arrow

* fixed key warning in NavigationRectangle

* Adjusted files to better match File structure after rebase

* added link to get to description screen

* added key to input value map to hopefully finally fix warning

* added fonts shown in figma

* created test theme to start messing around with

* added react-native config file for fonts

* installed expo-font and added fonts into plugins

* removed fonts from expo-plugins

* Updated Styling

* Update yarn.lock

* Revert "Update yarn.lock"

This reverts commit cae7bebea51524c557205e1410fc5aee4eadb0bf.

* nav buttons stay

* Note about moving stuff into file structure

* copied over drills/input.js to app/(content)/drill/[id]/submission/input.js

* added navigation to new location in file system

* index in submission now displaying Input component

* added basic description modal based on Colby's decription component

* description modal working

* refactored terminolgy for testData

* InputValues useState hook abstracted to index file

* Added base logic for preventing advancing with empty fields

* created initial outputData generator when clicking the "Submit Drill" button

* removed "drills" folder that was copied over during rebase

* added banner that displays when not all input fields are filled

* removed testTheme

---------

Co-authored-by: Frankreed <baoanhtdn@gmail.com>
Co-authored-by: hannacol <hannacol@oregonstate.edu>

* Layouts/drill leaderboard (#63)

* Screen works!

* Restart button

* removed victory-native

* feat: stylize drill submission results screen

* feat: add rounding for all displayed data fields

* fix: center scatter chart positioning

* fix: stylize shot accordion width to fit Figma designs

* Screen works!

* Restart button

* removed victory-native

* feat: stylize drill submission results screen

* feat: add rounding for all displayed data fields

* fix: center scatter chart positioning

* fix: stylize shot accordion width to fit Figma designs

* not js

* Updated drill.json and made leaderboards dynamic with json data

* fix: revamp routing and navigation

* feat: style drills list screen

* feat: add icons for drill result screen

Added icons to containers that display average differences data on the drill results screen, aligning screen's design with the Figma design. Ensured proper styling and centering of the data containers.

* Refactored drill.json and leaderboard with new database structure

* Drill results page loads with drill_data.json file

---------

Co-authored-by: Frankreed <baoanhtdn@gmail.com>
Co-authored-by: Artem Kolpakov <artemkolpakov78@gmail.com>

* Layouts/teams (#59)

* teams page init

* don't hardcode pfp

* switch to nested object data

* object keys length

* data for players on team

* bottom sheet settings

* set teamdata format like profile branch

* Layouts/profile (#57)

* sth

* Made a profile page with a list of a user's attempted drills, and the corresponding drill stat page that respond to that drill's structure.

* edited db_spec.jsonc to match drill_data.json

* Made hitbox of statistics bigger.

* componentized barchart!

* add actual folder (#61)

Co-authored-by: Frankreed <baoanhtdn@gmail.com>

* Layouts/bottom navigation (#65)

* add actual folder

* merged and situated some files

---------

Co-authored-by: Andy <andy.matthew.james@gmail.com>

* feat: implement navigation for merged screens

Resolved invalid routing to accurately direct to the intended screens. Adjusted header navigation styling to fit within the screen. Corrected importing of the mocked data to ensure proper utilization.

* minor fixes to team and profile (#66)

* minor fixes to team and profile

* move team data to main drill_data file

* updated drill data generation script to push data to firestore

* move drill submission files to new directory to hide tab bar (#68)

* move drill submission to new directory to hide bottom nav

* eradicated drills.json and unified everything under drill_data.json. Also made result.js use the mock data directly. Whoever is handling the input and result should resolve this

* fix data imports for profile, teams, drill stats

---------

Co-authored-by: Frankreed <baoanhtdn@gmail.com>

* Frankreed/incorporating prettier (#73)

* mass formatting

* added easy npm command to start prettier

* mass reformat 2

* drill list page is now based on firebase

* *very* ugly implementation of drill list and drill leaderboard off of firestore

* leaderboard attempts can be navigated into. The resulting page only works with 20 shot challenge

* Style Profile and Statistics Screens (#77)

* feat: style the profile card component

* feat: style the drill card component

* feat: style the personal and user profile pages

* feat: style the statistics page

* fix: adjust barChart component styling

* fix: add leaderboard margins

* feat: style the ShotAccordion component

* feat: style the data field rows within the ShotAccordion component

* fixed bar charts and stuff

---------

Co-authored-by: Frankreed <baoanhtdn@gmail.com>

* Sticky searchbar in scrollview for Teams page (#78)

* reference

* animations on this work now

* ran yarn, and merged

---------

Co-authored-by: Frankreed <baoanhtdn@gmail.com>

* teams pages are all hooked up. Remove the hitbox system from barChart because it doesn't work for all positive values charts (like 20 shot challenges)

* import db is now import db instead of import { db }
All bar chart scrolling and spacing behavior fixed.
All references to "current user" replaced with react context
All pages in content/profile now using firebase
Added scrollbox to description in case it's longer than the screen

---------

Co-authored-by: hannacol <91215417+hannacol@users.noreply.github.com>
Co-authored-by: Artem Kolpakov <artemkolpakov78@gmail.com>
Co-authored-by: hannacol <hannacol@oregonstate.edu>
Co-authored-by: Jake Gehrke <91503842+Gehrkej@users.noreply.github.com>
Co-authored-by: Jeff Huang <82061589+solderq35@users.noreply.github.com>
Co-authored-by: ajpert <84763013+ajpert@users.noreply.github.com>
Co-authored-by: Andy <andy.matthew.james@gmail.com>
Co-authored-by: Artem <91341345+artkolpakov@users.noreply.github.com>

* Optimized all firebase calls to use tanstack query (react query) (#84)

* Laid out directory and files (#48)

mapped out all pages

* navigation to stats working

* 2 dropdowns!

* added dropdown, accordions, and drill submission view below the graph

* Scroll list for shots works now!

* apparently we don't need safe area anymore ???

* Moved all files into appropriate places. Added a babel plugin for root level imports

* Drilll Description merging into Layout (#53)

* navigation to stats working

* 2 dropdowns!

* added dropdown, accordions, and drill submission view below the graph

* Scroll list for shots works now!

* Basic navigation for drill description, leaderboard and stats

* disable header statusbar

* fix: adjust height of status bar back button and screen title

* navigation to stats working

* Basic navigation for drill description, leaderboard and stats

* disable header statusbar

* fix: adjust height of status bar back button and screen title

* Drill description rebase

* Dynamic and parameratized routes for drill description + added drills.json

---------

Co-authored-by: Frankreed <baoanhtdn@gmail.com>
Co-authored-by: Artem Kolpakov <artemkolpakov78@gmail.com>

* Deleted extra drills directory in /app

* Layouts/drill submission (#62)

* navigation to stats working

* 2 dropdowns!

* added dropdown, accordions, and drill submission view below the graph

* Scroll list for shots works now!

* Basic navigation for drill description, leaderboard and stats

* Initial incorporation from work done on "Golf-App-Test"

* Increase data to reflect a full 20 shots

* began  "Back to Latest / Next Shot" button logic

* renamed useState hooks to have better terms

* fixed "Back to Latest" logic

* "Core Data" is now displayed horizontally for multiple attributes + added basic logic for "Submit Drill" button

* Added a shot with 3 "Core Data" attributes

* removed safe area view

* got it working on my mac +  keyboardscrollview

* added bottom sheet, reanimated, and gesture handler

* added react-native-reanimated plugin

* working bottom sheet

* bottom sheet has shot navigation test

* Static Navigation rectanges added

* Initial NavigationRectangle with dynamic data implimented

* added both bottom sheets with test buttons

* removed "index" from inputs map

* hooked up bottom sheet open on proper components + removed some test buttons

* added "id" to pressable in Navigation Rectangle

* fixed warning related to key

* Removed test indices

* Initial Test Leave Drill Modal implimented with test button

* Fixed bottom box bug

* Refactored to dialog instead of modal

* Removed test button and set up dialog on the back arrow

* fixed key warning in NavigationRectangle

* navigation to stats working

* Basic navigation for drill description, leaderboard and stats

* Initial incorporation from work done on "Golf-App-Test"

* Increase data to reflect a full 20 shots

* began  "Back to Latest / Next Shot" button logic

* renamed useState hooks to have better terms

* fixed "Back to Latest" logic

* "Core Data" is now displayed horizontally for multiple attributes + added basic logic for "Submit Drill" button

* Added a shot with 3 "Core Data" attributes

* removed safe area view

* got it working on my mac +  keyboardscrollview

* added bottom sheet, reanimated, and gesture handler

* added react-native-reanimated plugin

* working bottom sheet

* bottom sheet has shot navigation test

* Static Navigation rectanges added

* Initial NavigationRectangle with dynamic data implimented

* added both bottom sheets with test buttons

* removed "index" from inputs map

* hooked up bottom sheet open on proper components + removed some test buttons

* added "id" to pressable in Navigation Rectangle

* fixed warning related to key

* Removed test indices

* Initial Test Leave Drill Modal implimented with test button

* Fixed bottom box bug

* Refactored to dialog instead of modal

* Removed test button and set up dialog on the back arrow

* fixed key warning in NavigationRectangle

* Adjusted files to better match File structure after rebase

* added link to get to description screen

* added key to input value map to hopefully finally fix warning

* added fonts shown in figma

* created test theme to start messing around with

* added react-native config file for fonts

* installed expo-font and added fonts into plugins

* removed fonts from expo-plugins

* Updated Styling

* Update yarn.lock

* Revert "Update yarn.lock"

This reverts commit cae7bebea51524c557205e1410fc5aee4eadb0bf.

* nav buttons stay

* Note about moving stuff into file structure

* copied over drills/input.js to app/(content)/drill/[id]/submission/input.js

* added navigation to new location in file system

* index in submission now displaying Input component

* added basic description modal based on Colby's decription component

* description modal working

* refactored terminolgy for testData

* InputValues useState hook abstracted to index file

* Added base logic for preventing advancing with empty fields

* created initial outputData generator when clicking the "Submit Drill" button

* removed "drills" folder that was copied over during rebase

* added banner that displays when not all input fields are filled

* removed testTheme

---------

Co-authored-by: Frankreed <baoanhtdn@gmail.com>
Co-authored-by: hannacol <hannacol@oregonstate.edu>

* Layouts/drill leaderboard (#63)

* Screen works!

* Restart button

* removed victory-native

* feat: stylize drill submission results screen

* feat: add rounding for all displayed data fields

* fix: center scatter chart positioning

* fix: stylize shot accordion width to fit Figma designs

* Screen works!

* Restart button

* removed victory-native

* feat: stylize drill submission results screen

* feat: add rounding for all displayed data fields

* fix: center scatter chart positioning

* fix: stylize shot accordion width to fit Figma designs

* not js

* Updated drill.json and made leaderboards dynamic with json data

* fix: revamp routing and navigation

* feat: style drills list screen

* feat: add icons for drill result screen

Added icons to containers that display average differences data on the drill results screen, aligning screen's design with the Figma design. Ensured proper styling and centering of the data containers.

* Refactored drill.json and leaderboard with new database structure

* Drill results page loads with drill_data.json file

---------

Co-authored-by: Frankreed <baoanhtdn@gmail.com>
Co-authored-by: Artem Kolpakov <artemkolpakov78@gmail.com>

* Layouts/teams (#59)

* teams page init

* don't hardcode pfp

* switch to nested object data

* object keys length

* data for players on team

* bottom sheet settings

* set teamdata format like profile branch

* Layouts/profile (#57)

* sth

* Made a profile page with a list of a user's attempted drills, and the corresponding drill stat page that respond to that drill's structure.

* edited db_spec.jsonc to match drill_data.json

* Made hitbox of statistics bigger.

* componentized barchart!

* add actual folder (#61)

Co-authored-by: Frankreed <baoanhtdn@gmail.com>

* Layouts/bottom navigation (#65)

* add actual folder

* merged and situated some files

---------

Co-authored-by: Andy <andy.matthew.james@gmail.com>

* feat: implement navigation for merged screens

Resolved invalid routing to accurately direct to the intended screens. Adjusted header navigation styling to fit within the screen. Corrected importing of the mocked data to ensure proper utilization.

* minor fixes to team and profile (#66)

* minor fixes to team and profile

* move team data to main drill_data file

* updated drill data generation script to push data to firestore

* move drill submission files to new directory to hide tab bar (#68)

* move drill submission to new directory to hide bottom nav

* eradicated drills.json and unified everything under drill_data.json. Also made result.js use the mock data directly. Whoever is handling the input and result should resolve this

* fix data imports for profile, teams, drill stats

---------

Co-authored-by: Frankreed <baoanhtdn@gmail.com>

* Frankreed/incorporating prettier (#73)

* mass formatting

* added easy npm command to start prettier

* mass reformat 2

* drill list page is now based on firebase

* *very* ugly implementation of drill list and drill leaderboard off of firestore

* leaderboard attempts can be navigated into. The resulting page only works with 20 shot challenge

* Style Profile and Statistics Screens (#77)

* feat: style the profile card component

* feat: style the drill card component

* feat: style the personal and user profile pages

* feat: style the statistics page

* fix: adjust barChart component styling

* fix: add leaderboard margins

* feat: style the ShotAccordion component

* feat: style the data field rows within the ShotAccordion component

* fixed bar charts and stuff

---------

Co-authored-by: Frankreed <baoanhtdn@gmail.com>

* Sticky searchbar in scrollview for Teams page (#78)

* reference

* animations on this work now

* ran yarn, and merged

---------

Co-authored-by: Frankreed <baoanhtdn@gmail.com>

* teams pages are all hooked up. Remove the hitbox system from barChart because it doesn't work for all positive values charts (like 20 shot challenges)

* import db is now import db instead of import { db }
All bar chart scrolling and spacing behavior fixed.
All references to "current user" replaced with react context
All pages in content/profile now using firebase
Added scrollbox to description in case it's longer than the screen

* some firebase emulation setup
tanstack quorks!!!!

* changed all uses of direct firebase querying to tanstack query hooks.

* Prevent shotAccordion numbers from jumping back and forth

* removed firebase emulator files

---------

Co-authored-by: hannacol <91215417+hannacol@users.noreply.github.com>
Co-authored-by: Artem Kolpakov <artemkolpakov78@gmail.com>
Co-authored-by: hannacol <hannacol@oregonstate.edu>
Co-authored-by: Jake Gehrke <91503842+Gehrkej@users.noreply.github.com>
Co-authored-by: Jeff Huang <82061589+solderq35@users.noreply.github.com>
Co-authored-by: ajpert <84763013+ajpert@users.noreply.github.com>
Co-authored-by: Andy <andy.matthew.james@gmail.com>
Co-authored-by: Artem <91341345+artkolpakov@users.noreply.github.com>

* Login revamp test (#39)

* feat: install Gluestack UI library

* yarn

* nice

* replaced gluestack with react native paper

* added db_spec

* Rebase "solderq35/login-revamp-test" onto layout branch; remove ts, extraneous pages

* jk now the light dark theme stuff is gone

* yarn

* fix dependency issues and update async storage

* jsx > js, match layout branch format

* gluestack

* update readme

* save progress and then cut down on dependencies later

* simplify dependencies

* add web bundler, fix firestore dependency

* formatting

* add back app.json expo router plugin

* reset to layout branch

* add back signin and signup onto layout

* add usecontext call, dismiss keyboard, alert popups, team search placeholder

* fix profile settings icon placement, add uid to usecontext, allow click buttons with keyboard open

* setdoc on new user

* manually fix some things to match layout cause I brain farted during rebase

* commit what I got before I implement user object email foreign key thing

* update email stuff

* add password reset emails, add error handler to signout

* fix signout and password reset error handling

* styling fixes, max width and container height

* more styling fixes

* update with latest changes after rebase

* simplify context user, remove unused functions, var rename

* reset plan index

* rename var names

---------

Co-authored-by: Artem Kolpakov <artemkolpakov78@gmail.com>
Co-authored-by: Frankreed <baoanhtdn@gmail.com>

* Hannacol/image modal (#79)

* feat: install Gluestack UI library

* yarn

* nice

* replaced gluestack with react native paper

* added db_spec

* Laid out directory and files (#48)

mapped out all pages

* navigation to stats working

* 2 dropdowns!

* added dropdown, accordions, and drill submission view below the graph

* Scroll list for shots works now!

* apparently we don't need safe area anymore ???

* add comments for frank

* Moved all files into appropriate places. Added a babel plugin for root level imports

* Drilll Description merging into Layout (#53)

* navigation to stats working

* 2 dropdowns!

* added dropdown, accordions, and drill submission view below the graph

* Scroll list for shots works now!

* Basic navigation for drill description, leaderboard and stats

* disable header statusbar

* fix: adjust height of status bar back button and screen title

* navigation to stats working

* Basic navigation for drill description, leaderboard and stats

* disable header statusbar

* fix: adjust height of status bar back button and screen title

* Drill description rebase

* Dynamic and parameratized routes for drill description + added drills.json

---------

Co-authored-by: Frankreed <baoanhtdn@gmail.com>
Co-authored-by: Artem Kolpakov <artemkolpakov78@gmail.com>

* Deleted extra drills directory in /app

* Layouts/drill submission (#62)

* navigation to stats working

* 2 dropdowns!

* added dropdown, accordions, and drill submission view below the graph

* Scroll list for shots works now!

* Basic navigation for drill description, leaderboard and stats

* Initial incorporation from work done on "Golf-App-Test"

* Increase data to reflect a full 20 shots

* began  "Back to Latest / Next Shot" button logic

* renamed useState hooks to have better terms

* fixed "Back to Latest" logic

* "Core Data" is now displayed horizontally for multiple attributes + added basic logic for "Submit Drill" button

* Added a shot with 3 "Core Data" attributes

* removed safe area view

* got it working on my mac +  keyboardscrollview

* added bottom sheet, reanimated, and gesture handler

* added react-native-reanimated plugin

* working bottom sheet

* bottom sheet has shot navigation test

* Static Navigation rectanges added

* Initial NavigationRectangle with dynamic data implimented

* added both bottom sheets with test buttons

* removed "index" from inputs map

* hooked up bottom sheet open on proper components + removed some test buttons

* added "id" to pressable in Navigation Rectangle

* fixed warning related to key

* Removed test indices

* Initial Test Leave Drill Modal implimented with test button

* Fixed bottom box bug

* Refactored to dialog instead of modal

* Removed test button and set up dialog on the back arrow

* fixed key warning in NavigationRectangle

* navigation to stats working

* Basic navigation for drill description, leaderboard and stats

* Initial incorporation from work done on "Golf-App-Test"

* Increase data to reflect a full 20 shots

* began  "Back to Latest / Next Shot" button logic

* renamed useState hooks to have better terms

* fixed "Back to Latest" logic

* "Core Data" is now displayed horizontally for multiple attributes + added basic logic for "Submit Drill" button

* Added a shot with 3 "Core Data" attributes

* removed safe area view

* got it working on my mac +  keyboardscrollview

* added bottom sheet, reanimated, and gesture handler

* added react-native-reanimated plugin

* working bottom sheet

* bottom sheet has shot navigation test

* Static Navigation rectanges added

* Initial NavigationRectangle with dynamic data implimented

* added both bottom sheets with test buttons

* removed "index" from inputs map

* hooked up bottom sheet open on proper components + removed some test buttons

* added "id" to pressable in Navigation Rectangle

* fixed warning related to key

* Removed test indices

* Initial Test Leave Drill Modal implimented with test button

* Fixed bottom box bug

* Refactored to dialog instead of modal

* Removed test button and set up dialog on the back arrow

* fixed key warning in NavigationRectangle

* Adjusted files to better match File structure after rebase

* added link to get to description screen

* added key to input value map to hopefully finally fix warning

* added fonts shown in figma

* created test theme to start messing around with

* added react-native config file for fonts

* installed expo-font and added fonts into plugins

* removed fonts from expo-plugins

* Updated Styling

* Update yarn.lock

* Revert "Update yarn.lock"

This reverts commit cae7bebea51524c557205e1410fc5aee4eadb0bf.

* nav buttons stay

* Note about moving stuff into file structure

* copied over drills/input.js to app/(content)/drill/[id]/submission/input.js

* added navigation to new location in file system

* index in submission now displaying Input component

* added basic description modal based on Colby's decription component

* description modal working

* refactored terminolgy for testData

* InputValues useState hook abstracted to index file

* Added base logic for preventing advancing with empty fields

* created initial outputData generator when clicking the "Submit Drill" button

* removed "drills" folder that was copied over during rebase

* added banner that displays when not all input fields are filled

* removed testTheme

---------

Co-authored-by: Frankreed <baoanhtdn@gmail.com>
Co-authored-by: hannacol <hannacol@oregonstate.edu>

* Layouts/drill leaderboard (#63)

* Screen works!

* Restart button

* removed victory-native

* feat: stylize drill submission results screen

* feat: add rounding for all displayed data fields

* fix: center scatter chart positioning

* fix: stylize shot accordion width to fit Figma designs

* Screen works!

* Restart button

* removed victory-native

* feat: stylize drill submission results screen

* feat: add rounding for all displayed data fields

* fix: center scatter chart positioning

* fix: stylize shot accordion width to fit Figma designs

* not js

* Updated drill.json and made leaderboards dynamic with json data

* fix: revamp routing and navigation

* feat: style drills list screen

* feat: add icons for drill result screen

Added icons to containers that display average differences data on the drill results screen, aligning screen's design with the Figma design. Ensured proper styling and centering of the data containers.

* Refactored drill.json and leaderboard with new database structure

* Drill results page loads with drill_data.json file

---------

Co-authored-by: Frankreed <baoanhtdn@gmail.com>
Co-authored-by: Artem Kolpakov <artemkolpakov78@gmail.com>

* Layouts/teams (#59)

* teams page init

* don't hardcode pfp

* switch to nested object data

* object keys length

* data for players on team

* bottom sheet settings

* set teamdata format like profile branch

* Layouts/profile (#57)

* sth

* Made a profile page with a list of a user's attempted drills, and the corresponding drill stat page that respond to that drill's structure.

* edited db_spec.jsonc to match drill_data.json

* Made hitbox of statistics bigger.

* componentized barchart!

* add actual folder (#61)

Co-authored-by: Frankreed <baoanhtdn@gmail.com>

* Layouts/bottom navigation (#65)

* add actual folder

* merged and situated some files

---------

Co-authored-by: Andy <andy.matthew.james@gmail.com>

* feat: implement navigation for merged screens

Resolved invalid routing to accurately direct to the intended screens. Adjusted header navigation styling to fit within the screen. Corrected importing of the mocked data to ensure proper utilization.

* minor fixes to team and profile (#66)

* minor fixes to team and profile

* move team data to main drill_data file

* updated drill data generation script to push data to firestore

* Teams page scrolling / keyboard / safearea fixes (#67)

* team scroll fixes

* comments

* add no drills attempted yet text

* move drill submission files to new directory to hide tab bar (#68)

* move drill submission to new directory to hide bottom nav

* eradicated drills.json and unified everything under drill_data.json. Also made result.js use the mock data directly. Whoever is handling the input and result should resolve this

* fix data imports for profile, teams, drill stats

---------

Co-authored-by: Frankreed <baoanhtdn@gmail.com>

* Frankreed/incorporating prettier (#73)

* mass formatting

* added easy npm command to start prettier

* mass reformat 2

* fix local json imports to match current db_spec (#75)

* Make drill pages (list, desc, leaderboard, and stat) fetch data from database (#74)

* move drill submission to new directory to hide bottom nav

* eradicated drills.json and unified everything under drill_data.json. Also made result.js use the mock data directly. Whoever is handling the input and result should resolve this

* mass formatting

* drill list page is now based on firebase

* updated db_spec

* checkpoint save. moved drill attempts into their own thing at the root of teams.

* *very* ugly implementation of drill list and drill leaderboard off of firestore

* make stuff work

* description, leaderboard, and statistics all use firebase now.

* leaderboard attempts can be navigated into. The resulting page only works with 20 shot challenge

* mass reformat, again!

* Changed database so single attempt screen can more easily display for multiple drills

* added some safe area, consolidated shotAccordion.js

---------

Co-authored-by: solderq35 <solderq35@gmail.com>

* Style Profile and Statistics Screens (#77)

* feat: style the profile card component

* feat: style the drill card component

* feat: style the personal and user profile pages

* feat: style the statistics page

* fix: adjust barChart component styling

* fix: add leaderboard margins

* feat: style the ShotAccordion component

* feat: style the data field rows within the ShotAccordion component

* fixed bar charts and stuff

---------

Co-authored-by: Frankreed <baoanhtdn@gmail.com>

* Sticky searchbar in scrollview for Teams page (#78)

* reference

* animations on this work now

* ran yarn, and merged

---------

Co-authored-by: Frankreed <baoanhtdn@gmail.com>

* fix mainOutputAttempt (#76)

* Images now have a modal popup when pressed and close when anywhere is pressed

* Created image carousel for multiple images and modal works for them individually

* Fixed props for description

* Updated modal to use Lightbox. Uses carousel when in popup

* Fixed "Start Drill" button styling

* Removed Lighbox component and chnaged it to Modal pop up for Carousel

* Added zIndex to close button

* Images now have a modal popup when pressed and close when anywhere is pressed

* Created image carousel for multiple images and modal works for them individually

* Fixed props for description

* Updated modal to use Lightbox. Uses carousel when in popup

* Fixed "Start Drill" button styling

* Removed Lighbox component and chnaged it to Modal pop up for Carousel

* Added zIndex to close button

* Prettier ran

* Created image carousel for multiple images and modal works for them individually

* Fixed props for description

* Updated modal to use Lightbox. Uses carousel when in popup

* Fixed "Start Drill" button styling

* Removed Lighbox component and chnaged it to Modal pop up for Carousel

* Added zIndex to close button

* Created image carousel for multiple images and modal works for them individually

* Updated modal to use Lightbox. Uses carousel when in popup

* Fixed "Start Drill" button styling

* Removed Lighbox component and chnaged it to Modal pop up for Carousel

* Prettier ran

* Rebased off layout and ran prettier

---------

Co-authored-by: Artem Kolpakov <artemkolpakov78@gmail.com>
Co-authored-by: solderq35 <solderq35@gmail.com>
Co-authored-by: Frankreed <baoanhtdn@gmail.com>
Co-authored-by: Frank Nguyen <41023671+FrankreedX@users.noreply.github.com>
Co-authored-by: Jake Gehrke <91503842+Gehrkej@users.noreply.github.com>
Co-authored-by: Jeff Huang <82061589+solderq35@users.noreply.github.com>
Co-authored-by: ajpert <84763013+ajpert@users.noreply.github.com>
Co-authored-by: Andy <andy.matthew.james@gmail.com>
Co-authored-by: Artem <91341345+artkolpakov@users.noreply.github.com>

* the previous merge merged too much... (#87)

* User Profile Name and Password Update  (#88)

* feat: implement edit profile modal

* feat: add sign out functionality

* feat: add useEmailInfo hook

* feat: implement user name Firebase update

* feat: implement password change

* feat: make profile name dynamic

Made the profile card's name property dynamic to reflect changes when the user updates their name within an edit profile modal.

* some refactoring

---------

Co-authored-by: Frankreed <baoanhtdn@gmail.com>

* Gehrkej/output data creation (#85)

* Initial line test result created

* added shot accodian back to general comonent. changed how dots are created based on drillType

* removed testing stuff and shifted submission definition up

* added header and moved restart drill button to reflect how artem implimented on "edit profile"

* restartButton styling now matches exactly

* switched back to what frank had and figured out how to make it work. I think...

* removed log test message

* removed some testing log statements

* removed test logs

* removed test buttons and added view of height 100% around everything

* yarn

* Laid out directory and files (#48)

mapped out all pages

* navigation to stats working

* 2 dropdowns!

* added dropdown, accordions, and drill submission view below the graph

* Scroll list for shots works now!

* apparently we don't need safe area anymore ???

* Moved all files into appropriate places. Added a babel plugin for root level imports

* Drilll Description merging into Layout (#53)

* navigation to stats working

* 2 dropdowns!

* added dropdown, accordions, and drill submission view below the graph

* Scroll list for shots works now!

* Basic navigation for drill description, leaderboard and stats

* disable header statusbar

* fix: adjust height of status bar back button and screen title

* navigation to stats working

* Basic navigation for drill description, leaderboard and stats

* disable header statusbar

* fix: adjust height of status bar back button and screen title

* Drill description rebase

* Dynamic and parameratized routes for drill description + added drills.json

---------

Co-authored-by: Frankreed <baoanhtdn@gmail.com>
Co-authored-by: Artem Kolpakov <artemkolpakov78@gmail.com>

* Deleted extra drills directory in /app

* Layouts/drill submission (#62)

* navigation to stats working

* 2 dropdowns!

* added dropdown, accordions, and drill submission view below the graph

* Scroll list for shots works now!

* Basic navigation for drill description, leaderboard and stats

* Initial incorporation from work done on "Golf-App-Test"

* Increase data to reflect a full 20 shots

* began  "Back to Latest / Next Shot" button logic

* renamed useState hooks to have better terms

* fixed "Back to Latest" logic

* "Core Data" is now displayed horizontally for multiple attributes + added basic logic for "Submit Drill" button

* Added a shot with 3 "Core Data" attributes

* removed safe area view

* got it working on my mac +  keyboardscrollview

* added bottom sheet, reanimated, and gesture handler

* added react-native-reanimated plugin

* working bottom sheet

* bottom sheet has shot navigation test

* Static Navigation rectanges added

* Initial NavigationRectangle with dynamic data implimented

* added both bottom sheets with test buttons

* removed "index" from inputs map

* hooked up bottom sheet open on proper components + removed some test buttons

* added "id" to pressable in Navigation Rectangle

* fixed warning related to key

* Removed test indices

* Initial Test Leave Drill Modal implimented with test button

* Fixed bottom box bug

* Refactored to dialog instead of modal

* Removed test button and set up dialog on the back arrow

* fixed key warning in NavigationRectangle

* navigation to stats working

* Basic navigation for drill description, leaderboard and stats

* Initial incorporation from work done on "Golf-App-Test"

* Increase data to reflect a full 20 shots

* began  "Back to Latest / Next Shot" button logic

* renamed useState hooks to have better terms

* fixed "Back to Latest" logic

* "Core Data" is now displayed horizontally for multiple attributes + added basic logic for "Submit Drill" button

* Added a shot with 3 "Core Data" attributes

* removed safe area view

* got it working on my mac +  keyboardscrollview

* added bottom sheet, reanimated, and gesture handler

* added react-native-reanimated plugin

* working bottom sheet

* bottom sheet has shot navigation test

* Static Navigation rectanges added

* Initial NavigationRectangle with dynamic data implimented

* added both bottom sheets with test buttons

* removed "index" from inputs map

* hooked up bottom sheet open on proper components + removed some test buttons

* added "id" to pressable in Navigation Rectangle

* fixed warning related to key

* Removed test indices

* Initial Test Leave Drill Modal implimented with test button

* Fixed bottom box bug

* Refactored to dialog instead of modal

* Removed test button and set up dialog on the back arrow

* fixed key warning in NavigationRectangle

* Adjusted files to better match File structure after rebase

* added link to get to description screen

* added key to input value map to hopefully finally fix warning

* added fonts shown in figma

* created test theme to start messing around with

* added react-native config file for fonts

* installed expo-font and added fonts into plugins

* removed fonts from expo-plugins

* Updated Styling

* Update yarn.lock

* Revert "Update yarn.lock"

This reverts commit cae7bebea51524c557205e1410fc5aee4eadb0bf.

* nav buttons stay

* Note about moving stuff into file structure

* copied over drills/input.js to app/(content)/drill/[id]/submission/input.js

* added navigation to new location in file system

* index in submission now displaying Input component

* added basic description modal based on Colby's decription component

* description modal working

* refactored terminolgy for testData

* InputValues useState hook abstracted to index file

* Added base logic for preventing advancing with empty fiel…
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants