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

Layout of pages #64

Closed
wants to merge 57 commits into from
Closed

Layout of pages #64

wants to merge 57 commits into from

Conversation

FrankreedX
Copy link
Contributor

Mostly bare layout of pages.
Skeletons.

artkolpakov and others added 30 commits February 28, 2024 14:42
* 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>
* 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 cae7beb.

* 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>
* 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>
* 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
* 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!
Co-authored-by: Frankreed <baoanhtdn@gmail.com>
* add actual folder

* merged and situated some files

---------

Co-authored-by: Andy <andy.matthew.james@gmail.com>
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

* move team data to main drill_data file
* team scroll fixes

* comments

* add no drills attempted yet text
* 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>
* mass formatting

* added easy npm command to start prettier

* mass reformat 2
…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>
* 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>
solderq35 and others added 3 commits February 28, 2024 14:42
* reference

* animations on this work now

* ran yarn, and merged

---------

Co-authored-by: Frankreed <baoanhtdn@gmail.com>
FrankreedX and others added 24 commits February 28, 2024 14:52
* 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 cae7beb.

* 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>
* 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 cae7beb.

* 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>
* 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 cae7beb.

* 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>
* 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>
* 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 cae7beb.

* 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>
* 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>
* 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 cae7beb.

* 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

* Initial Changes to set up navigation from input to result

* removed createOutputData

* refactored index to work with proposed solution to

* Added createOutputData function

* created lookUpExpectedPutts & lookUpBaselineStrokesGained

* adjusted AttemptData based on conversation with colby

* initial output data function implimented (hardcoded uid)

* fixed array bug

* added export to functions

* printing outputData but some values are missing

* Made drillInput use random generated data

* removed testData as attemptData is now being generated

* moved input value state back into input, and adjusted input to work. errors with expectedPutts & strokesGained in outputData

* input successfully navigates to results page and passes setsOutputData. Still errors in outputData generation though

* passing outputData into input for database uploading

* did now working

* refactored lookUpExpectedPutts to overflow to lookUpBaselineStrokesGained

* input successfully navigates and displays outputData in result

* changed header to be "close" instead of a back cheveron

* inputs now disabled if the user isn't on the current shot

* bottom sheet navigation display fixed

* updated bottomsheet navigation to only show current shot and previously completed shots

* refactored createOutputData to utilize outputs array and aggOutputs array

* removed output test log messages

* 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>

* Changed AttemptData requirments to use database

* Attempt Data uses database for inputs

* Drill input mostly uses database. Is not dynamic for Line Test Drill

* Works dynamicaally with line test drill

* adjusted header to display the correct drillType

* start to input to result now working with 20 shot challenge with database

* added ActivityIndicator for loading

* removed unused font code

* removed more test font stuff

* added dynamic target description for 20 shot challenge and line test

* removed test arrays

* added switch case for different result displays

* put scroll view and reset drill button back

* added "sideLandingTotal" to the aggOutputs section

* refactorded strokesGained to not be dependent of expectedPutts to be calculated before

* 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

* Refactored Loading per franks comments

* Refactored __Data to __Info per franks comments

* fixed typo in __info refactor

* renamed getAttemptInfoShots to getShotInfo

* updated to make numShots not static

* passing all drillInfo into input component now

* refactor of "value" to "target"

* fixed rectange typo

* moved useState hooks up to clean up

* refactored did declaration

* refactored some onPress functions

* Refactored navigation.goBack

* refactored name of visableLeaveDrill to leaveDrillDialogVisable

* Refactored editable

* fixed crashing, onPress must have anonymus function or bad things happen

* ok, onPress doesn't need it, it just can't have parenthesis

* initial refactor of navigationRectangle

* More NavigationRectangle refactoring

* nice

* Initial Changes to set up navigation from input to result

* refactored index to work with proposed solution to

* Added createOutputData function

* initial output data function implimented (hardcoded uid)

* fixed array bug

* printing outputData but some values are missing

* Made drillInput use random generated data

* moved input value state back into input, and adjusted input to work. errors with expectedPutts & strokesGained in outputData

* input successfully navigates to results page and passes setsOutputData. Still errors in outputData generation though

* passing outputData into input for database uploading

* did now working

* input successfully navigates and displays outputData in result

* changed header to be "close" instead of a back cheveron

* inputs now disabled if the user isn't on the current shot

* bottom sheet navigation display fixed

* updated bottomsheet navigation to only show current shot and previously completed shots

* refactored createOutputData to utilize outputs array and aggOutputs array

* removed output test log messages

* Changed AttemptData requirments to use database

* Attempt Data uses database for inputs

* Drill input mostly uses database. Is not dynamic for Line Test Drill

* Works dynamicaally with line test drill

* adjusted header to display the correct drillType

* start to input to result now working with 20 shot challenge with database

* added ActivityIndicator for loading

* removed unused font code

* removed more test font stuff

* added dynamic target description for 20 shot challenge and line test

* removed test arrays

* added switch case for different result displays

* put scroll view and reset drill button back

* added "sideLandingTotal" to the aggOutputs section

* refactorded strokesGained to not be dependent of expectedPutts to be calculated before

* 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

* 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 cae7beb.

* 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

* Initial Changes to set up navigation from input to result

* refactored index to work with proposed solution to

* Added createOutputData function

* adjusted AttemptData based on conversation with colby

* initial output data function implimented (hardcoded uid)

* fixed array bug

* printing outputData but some values are missing

* Made drillInput use random generated data

* removed testData as attemptData is now being generated

* moved input value state back into input, and adjusted input to work. errors with expectedPutts & strokesGained in outputData

* input successfully navigates to results page and passes setsOutputData. Still errors in outputData generation though

* passing outputData into input for database uploading

* did now working

* input successfully navigates and displays outputData in result

* changed header to be "close" instead of a back cheveron

* inputs now disabled if the user isn't on the current shot

* bottom sheet navigation display fixed

* updated bottomsheet navigation to only show current shot and previously completed shots

* refactored createOutputData to utilize outputs array and aggOutputs array

* removed output test log messages

* 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>

* Changed AttemptData requirments to use database

* Attempt Data uses database for inputs

* Drill input mostly uses database. Is not dynamic for Line Test Drill

* Works dynamicaally with line test drill

* adjusted header to display the correct drillType

* start to input to result now working with 20 shot challenge with database

* added ActivityIndicator for loading

* removed unused font code

* removed more test font stuff

* added dynamic target description for 20 shot challenge and line test

* removed test arrays

* added switch case for different result displays

* put scroll view and reset drill button back

* added "sideLandingTotal" to the aggOutputs section

* refactorded strokesGained to not be dependent of expectedPutts to be calculated before

* 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

* Refactored Loading per franks comments

* Refactored __Data to __Info per franks comments

* fixed typo in __info refactor

* renamed getAttemptInfoShots to getShotInfo

* updated to make numShots not static

* passing all drillInfo into input component now

* refactor of "value" to "target"

* fixed rectange typo

* moved useState hooks up to clean up

* refactored did declaration

* refactored some onPress functions

* Refactored navigation.goBack

* refactored name of visableLeaveDrill to leaveDrillDialogVisable

* Refactored editable

* fixed crashing, onPress must have anonymus function or bad things happen

* ok, onPress doesn't need it, it just can't have parenthesis

* initial refactor of navigationRectangle

* More NavigationRectangle refactoring

* some rebase fixes,
and added button to fill all training data at once

* loading component after rebase

* Got line test working again for the time being

* attemptInfo generation refactoring for multiple requirements

* moved shot generation to input component

* changed "shotIndex" to be "displayedShot"

* Fixed navigationModal

* fixed "Visable" typo

* added context to get UID and did some cleaning of code

* cleaned up var namess and comments

* put navigation inside keyboard aware to have consistentcy between ios and android

* moved drillTarget prompt to database

* changed to ~ format

* added getUnique back in. lost due to rebase

* fixed description start Drill button not showing up

* put restart drill button stuck at the bottom

* put restart drill button stuck at the bottom

* added todo for the firebase upload

---------

Co-authored-by: solderq35 <solderq35@gmail.com>
Co-authored-by: Frank Nguyen <41023671+FrankreedX@users.noreply.github.com>
Co-authored-by: Frankreed <baoanhtdn@gmail.com>
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: 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: Colby Hannan <colbyjh101@gmail.com>
Co-authored-by: Artem <91341345+artkolpakov@users.noreply.github.com>
* maybe fix test login

* move if statement up

* test login button

* revert to 285d808 (undo button commit)

* add comment for reference
* initial attempt, not tested

* removed code that was moved into try catch

* attempt is being uploaded to database

* moved upload success message into a then function

* adjusted outputData generation so data is not wrapped in an object. Also changed code to read new aggOutputs

---------

Co-authored-by: Frankreed <baoanhtdn@gmail.com>
* created hook for updating leaderboard

* close. still trying to get the update leaderboard hook to work

* leaderboard works!

* 0 padded values
* Result screens unified!

* fixed the display bug in result

* added title to styles, some redundancy removed from barChartScreen

---------

Co-authored-by: Jake Gehrke <gehrkej@oregonstate.edu>
* plan hooked fully to database and finished by submitting drill

* scroll down to refresh

* change naming to be more clear and requre drill id and assigned_time

* add assigned_data to user on user creation

* fix key issue, lighter green, squircle, spacing of description

* styling

* updated prettier and github action settings to be more strict

* code cleanup

* ran pretty

* attemptRefId into attemptId

---------

Co-authored-by: Frankreed <baoanhtdn@gmail.com>
* Database updated and codebase uses title instead of drillType

* Removed title and added prettyDrillType and subType

* Added putting to database and updated codebase

* Rebased with layout and prettiier ran

* leaderboard is more resilient to incorrect data

* style changes

* barChart performance vastly improved. Frame rate is now pegged at 60 (for ios). Still crashes on Android.

* this doesn't improve anything measurable, it just makes sense in my head

* Paginate barChart

* very minor tick change/add back

* barChart now displays 0 as the minimum instead of the lowest value (if the lowest value is lower than 0, display that instead).
Illegal attempts shall be terminated

---------

Co-authored-by: hannacol <hannacol@oregonstate.edu>
* Database updated and codebase uses title instead of drillType

* Removed title and added prettyDrillType and subType

* Added putting to database and updated codebase

* Rebased with layout and prettiier ran

* made target an array for all drill types for consistency and fixed shotAccordion shotNum display

* updated more code for target lists

* Result screen works for putting drills

* style changes

* Ran prettier

* Updated Headers to hold title better

* prettier ran

* ran prettier

* added margin to the left and right of the segmented buttons

* commented out a lot of prints, changed uid to a string instead of reference,
sorted user in Teams based on role

* Fixed shotAccordion's weird shot spacing

---------

Co-authored-by: hannacol <hannacol@oregonstate.edu>
* Database updated and codebase uses title instead of drillType

* Removed title and added prettyDrillType and subType

* Added putting to database and updated codebase

* Rebased with layout and prettiier ran

* made target an array for all drill types for consistency and fixed shotAccordion shotNum display

* Result screen works for putting drills

* style changes

* ran prettier

* Made attemptShots use an object instead of an array for targets and componentized header

* Fixed drill list styling and ran prettier after rebase

---------

Co-authored-by: Frankreed <baoanhtdn@gmail.com>
* DrillList has been componentized for main drill list and profile view to be sectioned off

* Moved glyphs to be in section header instead of drill card

* Drlll Description componentized for description screen and description modal and deleted image carousel

* ran yarn pretty

* slight optimization to getUnique

* Removed prettyDrillType and modified drillType

---------

Co-authored-by: Frankreed <baoanhtdn@gmail.com>
* Added handling for non numbers and empty values

* Added comments for future work

* Frankreed/unify result screens (#96)

* Result screens unified!

* fixed the display bug in result

* added title to styles, some redundancy removed from barChartScreen

---------

Co-authored-by: Jake Gehrke <gehrkej@oregonstate.edu>

* Planscreen player (#131)

* plan hooked fully to database and finished by submitting drill

* scroll down to refresh

* change naming to be more clear and requre drill id and assigned_time

* add assigned_data to user on user creation

* fix key issue, lighter green, squircle, spacing of description

* styling

* updated prettier and github action settings to be more strict

* code cleanup

* ran pretty

* attemptRefId into attemptId

---------

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

* added hard coded helper text

* helperText is now pulled from database

* Added handling for non numbers and empty values

* Added comments for future work

* added hard coded helper text

* helperText is now pulled from database

* added error handling for submit drill button

* adjusted uploadAttempt function after rebase

* updated SID to be 1-20

* added error handling for submit drill button

* adjusted uploadAttempt function after rebase

* updated SID to be 1-20

* Inital changes requested from frank in PR

* Converted error banners to error dialogs

* Frankreed/Bar chart is 60fps consistent now (#129)

* Database updated and codebase uses title instead of drillType

* Removed title and added prettyDrillType and subType

* Added putting to database and updated codebase

* Rebased with layout and prettiier ran

* leaderboard is more resilient to incorrect data

* style changes

* barChart performance vastly improved. Frame rate is now pegged at 60 (for ios). Still crashes on Android.

* this doesn't improve anything measurable, it just makes sense in my head

* Paginate barChart

* very minor tick change/add back

* barChart now displays 0 as the minimum instead of the lowest value (if the lowest value is lower than 0, display that instead).
Illegal attempts shall be terminated

---------

Co-authored-by: hannacol <hannacol@oregonstate.edu>

* Minor cosmetic fixes (#138)

* Database updated and codebase uses title instead of drillType

* Removed title and added prettyDrillType and subType

* Added putting to database and updated codebase

* Rebased with layout and prettiier ran

* made target an array for all drill types for consistency and fixed shotAccordion shotNum display

* updated more code for target lists

* Result screen works for putting drills

* style changes

* Ran prettier

* Updated Headers to hold title better

* prettier ran

* ran prettier

* added margin to the left and right of the segmented buttons

* commented out a lot of prints, changed uid to a string instead of reference,
sorted user in Teams based on role

* Fixed shotAccordion's weird shot spacing

---------

Co-authored-by: hannacol <hannacol@oregonstate.edu>

* Database updated and codebase uses title instead of drillType (#134)

* Database updated and codebase uses title instead of drillType

* Removed title and added prettyDrillType and subType

* Added putting to database and updated codebase

* Rebased with layout and prettiier ran

* made target an array for all drill types for consistency and fixed shotAccordion shotNum display

* Result screen works for putting drills

* style changes

* ran prettier

* Made attemptShots use an object instead of an array for targets and componentized header

* Fixed drill list styling and ran prettier after rebase

---------

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

* Reworking Drill Screens to be Componentized (#140)

* DrillList has been componentized for main drill list and profile view to be sectioned off

* Moved glyphs to be in section header instead of drill card

* Drlll Description componentized for description screen and description modal and deleted image carousel

* ran yarn pretty

* slight optimization to getUnique

* Removed prettyDrillType and modified drillType

---------

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

* ErrorDialog Component Created and Styled

* Added styling to Leave Dialog

* Swapped order of action buttons in leave drill dialog

* Created submitVisable varible

* Added handling for non numbers and empty values

* Added comments for future work

* added hard coded helper text

* helperText is now pulled from database

* added error handling for submit drill button

* adjusted uploadAttempt function after rebase

* updated SID to be 1-20

* Added handling for non numbers and empty values

* added error handling for submit drill button

* Inital changes requested from frank in PR

* Converted error banners to error dialogs

* ErrorDialog Component Created and Styled

* Added styling to Leave Dialog

* Swapped order of action buttons in leave drill dialog

* Created submitVisable varible

* added header import back

* fix weird stuff with rebase

* more weird rebase things

* Restart Drill functionality working (#136)

* fixed duplicate sid

* All dialogs using DialogComponent

* Added handling for non numbers and empty values

* Added comments for future work

* added hard coded helper text

* helperText is now pulled from database

* added error handling for submit drill button

* adjusted uploadAttempt function after rebase

* updated SID to be 1-20

* Added handling for non numbers and empty values

* added error handling for submit drill button

* Inital changes requested from frank in PR

* Converted error banners to error dialogs

* ErrorDialog Component Created and Styled

* Added styling to Leave Dialog

* Swapped order of action buttons in leave drill dialog

* Created submitVisable varible

* added header import back

* Added handling for non numbers and empty values

* Added comments for future work

* adjusted uploadAttempt function after rebase

* Added handling for non numbers and empty values

* ErrorDialog Component Created and Styled

* All dialogs using DialogComponent

* Fixed uploadAttempt header comment

* changed == to ===, and added one missing import, remove unused imports, and fixed calculateProxHole cuz I was stupid...

* fixed faulty getUnique

---------

Co-authored-by: Frank Nguyen <41023671+FrankreedX@users.noreply.github.com>
Co-authored-by: ajpert <84763013+ajpert@users.noreply.github.com>
Co-authored-by: Frankreed <baoanhtdn@gmail.com>
Co-authored-by: hannacol <hannacol@oregonstate.edu>
Co-authored-by: hannacol <91215417+hannacol@users.noreply.github.com>
* feat: adjust bar chart Y-axis styling
* feat: remove email update from the user profile settings modal
* feat: display user's email on the profileCard
* feat: adjust snapping positions for profile settings modal

Co-authored-by: Frankreed <baoanhtdn@gmail.com>
Co-authored-by: solderq35 <solderq35@gmail.com>
* fixed red buttons to orange, fixed weird nextShot button hitbox

* Allow profile picture to scroll with SectionList.
Used some voodoo magic to fix the Backdrop in profile.

* safearea bottom padding issues?

* removed paddingBottom for drillList

* remove team bottom sheet stuff + drill index styles (unused?)

---------

Co-authored-by: solderq35 <solderq35@gmail.com>
… / refresh spinners (#86)

* persist async storage poc

* fix default android storage size

* refresh pulldown

* added some cache invalidating spinners, gonna check em tomorrow

* fix timstamps and check invalidatequeries syntax

* some spinner fixes

* add refresh spinners

* fix currentUserId calls and try invalidate on submit drill attempts

* update comments

* move barchart refresh to component

* move refresh spinner to component

* fixed barchart invalidator. Got read quota now

* put callback dependencies back

* put bar width back to normal

* arbitrary number of querykey args kinda working for profile index

* kinda working for real in profile index, fix inputs order on drill submit

* remove extra comments and format

* poc, will test hook calls later

* final fixes?

* add plan screen refreshspinner and fix invalidateonsubmit

* remove random log

* remove some unused vars and add refresh spinner for rest of plan page

* fix timestamps again

* Update _layout.js comment

* Fixed unix time stamp error

* reset profile index var changes from rebase

* rebase fixes

---------

Co-authored-by: Frankreed <baoanhtdn@gmail.com>
@FrankreedX FrankreedX closed this Apr 17, 2024
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