- fix bug resulting in incorrect copytoclipboard values
- track game difficulty using redux
- simplified score tracking
- Trialed fix for cards not loading propperly when rendered on Lite and Classic modes on hard page reload
- Small fix to reset disabled cards on game reset
- flip cards button is dependant on global loading state set by redux to support sync with card fetching in daily shuffle
- Pre, Post game modals now moved to the board component to redux number of redux errors associated with passing functions through redux
- Small code improvements
- Updated the game mode tile to close on click
- Handled more modal logic (copyToClipboard, type improvements)
- Handled NaN edgecase on empty scores
- Minor board bug fixes
- Daily shuffle completed already score display logic
- Small redux fixes and small UI fixes.
- Implement functionality pre-game modal across game modes
- Modals further implemented
- start timer on card flip - DONE
- disable the flip cards button with global loading state. - DONE
- head tags (SEO) / analytics tags (tracking) integration - @Matt input pending - DONE
- make layout for profile page! - parked
- Update score calculation (10 mins)
- Fix banner size breaking CSS
- Update copy to clipboard messaging
- Update copy on how to play modal (5 mins)
- update the routes - (40 mins)
- Update latest scores received in the playedToday Modal on daily shuffle - (30 mins)
- Add open graph tags for better sharing on social media - (45 mins)
- Setup Classic/Daily shuffle & bug fixing (60 mins)
- Vercel deployment and build troublshooting (90 mins)
- Ammend stats modal bug
- Integrate hasPlayedToday boolean into redux store
- Refactor game score calculation to utils folder - (15 mins)
- Refactor Utils folder to remove redundant code - (15 mins)
- Configure ESLint and project linting rules including regression test - (15 mins)
- Make games mode dialog mobile/dark mode compatiable (40 mins)
- Integrate switch component and build out settings modal with dark mode switch (50 mins)
- Homescreen UI tidy up for mobile sizing (25 mins)
- Refactored getDailyShuffle cards to a custom hook (15 mins)
- discovery and code base review (10 mins)
- Add types to the Card component (10 mins)
- Update favicon (5 mins)
- Update Helmet site header (5 mins)
- Remove use of 'Any' types (10 mins)
- Re-implement fact of the day scheduler & container refinement (15 mins)
- integrate loading skeletons on cards (15 mins)
- board fits on main screen with centered card grid (15 mins)
- Tidy up styles on DailyShuffle to the Board Component (5 mins)
- render card skeleton whilst loading daily shufle (10 mins)
- Fix flip cards bug on 1st render only (60 mins)
- Refactor asignCardId and Re-order array functions to global utils (5 mins)
- Refactor the game modes dialog (60 mins)
- facenook twitter card in meta data
- fix build issue on redux store initialization (40 mins)
- translate routing to Gatsby browser vs pages API & validate (10 mins)
- Add icons and configure homescreen buttons (20 mins)
- Implement game modes dialog popup on main menu (30 mins)
- Simplify the stats modal (5 mins)
- integrate login/register pages to the main app routes (10 mins)
- fix the basic UI to prevent header loading pop (10 mins)
- Address correct turns 1 turn over bug (10 mins)
- game state isRunning boolean tracked in store instead of local state (10 mins)
- Refactor time played in modals to account for seconds instead of miliseconds (10 mins)
- Refactor copyToClipboard to a custom hook
- fix header logo to correct image
- fix local storage but lets tidy up a new line per game mode
- update modals to pull from redux instead of localStorage
- need to get stats modal to access the difficulty selected in the mode i.e. gameStats['gameDifficulty'].bestTurns (currently hardcoded to daily shuffle)
- Can we set our initial bestScores data from redux as well?
- need to update the historic stats on game completion as well, not just on first render
- Analyse current codebase backlog
- Refactored reusable code to global utils
- lets create .styles.ts files and move our styled components to seperate files. - DONE
- Tidy up the board and header components - DONE
- Upgrade the share functionality to use the naviagtor API - DONE neeeds testing
- can we track current game time using redux? - DONE
- Fully integrate a modal register - WIP - Need to swap all current now undefined set calls to instead call for the dispatch-DONE
- Prevent info modal being accidentally closed - DONE
- can we remove 'time' as useState completely from Board? -DONE
- set up routing - Actually have pages in the right place!
- Create a routes folder/hooks folder of navigate to - needs implementing
- Add game modes dialog - DONE
- add github link - DONE
- can I trigger the modals using redux?? - DONE
- todo use folder structure from VP - DONE
- fix remaining modals - done
- Clean up accessing store selectors pattern - solved using two hooks - DONE
- Analytics dashboard? https://www.youtube.com/watch?v=MGjCIQh5Pkw&t=160s&ab_channel=Joshtriedcoding
- refactor all slices with the the typedSelector
- close modals on route change
- probably need to refactor the historic facts section to make sure it caters for all game modes
- Optimise designs for tablet
- Need to test on slow connection and potenially block modal/show a loading spinner?
- integrate full sign in flow and make app cohesive
- Save scores to online database - if signed in.
- Use python API and write Facts endpoint with chat gtp-3
- investigate how we could share a shuffle code
- Leaderboards & Auth
- Analytics tracking
- https://ui.aceternity.com/components
- build a landing page - Matt to take the lead on this
- In settings difficulty switch? To reduce the flip time (regardless classic should have a longer flip time)
- check old build useDisabled?
- branch protections/staging branch?
- calendar UI for old daily shuffles?
- Suspense component?
- Basic testing and mocking with Jest?
- Testing branches should be available when I push code on github