* Implemented a relatively simple dynamic background sizing calculation for the Map Planner
* Moved useWindowsSize() hook usage near the top of Planner() function
* Removed some dead space above the background image
* Adjustments
* Added a *lot* of math to adjust image spawn location based on the background image size & position, which are based on the current window size & position
- Moved the background image stuff to its own React Hook, usePlannerBg()
* Fix Prettier issue
* Added another comment
* Fixed typing for the usePlannerBg hook
- Also improved comments & some variable names to be cleaner/more consistent
Co-authored-by: Kalle <38327916+Sendouc@users.noreply.github.com>
* Layout initial
* Add FillRosterSection component
* Move tournaments to feature folder
* Refactor Button props
* SubmitButton
* Register action
* Identifier -> Id
* Invite link via nanoid
* Team info submit
* Enter tiebreaker map list UI
* Invite members to tournament team initial
* Show banner if joined a team not captain of
* Add back teams page
* Change team roster size color when good
* Delete tournament team member
* Remove light mode
* Trim header
* New front page initial
* Get rid of build layout
* Breadcrumbs
* Desktop side nav
* Overhaul colors
* Add breadcrumbs
* New sub nav style
* Front page action buttons
* Add back add new build button
* Add articles page with icon
* Minor Object damage page layout tweaks
* Remove one unnecessary render from object damage
* Fix wrong link in article page
* Profile -> My Page in header
* Log in/out buttons in front
* Add drawings to front page
* Remove unnecessary comment
* Feature Implementation: Weapon icon on build card now links to the builds page that contains all builds corresponding to said weapon
* Refactor to an actual React hook
* Refactored the URL construction for the Weapon Builds page to urls.ts
* Changes
Co-authored-by: Kalle <38327916+Sendouc@users.noreply.github.com>
* Initial
* Add images
* Tweaks
* Proper sized bg image and weapons
* Stage bg picker
* Outlined weapon images for planner
* First version
* Lint
* Add alt and title to weapon
* Add DB tables
* Toggle TO Tools in new calendar event page
* TO tools page initial
* Add counter pick map pool UI
* Save tie breaker map pool
* Save team name
* Layout initial
* Load users own team
* Make team name input required
* Rename team
* Divide to sections
* Submit team map pool
* New style for counter pick map pool section expand
* Fix tiebreaker map pool not saved when new event made
* Split to many forms
* According for team name
* Small UI consistency tweaks
* Add explanation to tie breaker maps
* Remove redundant prop
* Fix new calendar event todos
* Use required hidden input component in new build page
* Fix to tools page showing even when toToolsEnabled = 0
* Delete team
* Map list generation tests initial
* Add tournament map list generation tests
* First version of map list generation
* Add seeded RNG
* Rearrange files
* Generation with strats initial
* Default map pool + allow one team not to have any maps
* Implement map generation via backtracking
* Make order of stages irrelevant
* Add one more TODO
* Seed
* Fixes
* Tournament map list generator initial
* More functional maplist
* Fix any
* Persist in search params initial
* Add date to calendar seed
* Revert "Persist in search params initial"
This reverts commit f01a9e6982.
* Allow admin to start tournament
* Rate maplist instead of optimal / suboptimal
* Add fallback if map list generation errors out
* Hide TO Tools if not admin
* Submit team roster and delete members
* Teams page
* Give roster s p a c e
* Clear user combobox on sent + layout tweaks
* Gracefully handle updating after tournament has started
* Add title
* Persist map list in search params
* Add i18n
* Added new Article route that renders all Articles (with a reasonable upper limit for now).
- Also added a GoToPageBanner for the main Articles page (/a) on the front page. This is placed above the ArticlesPeek component
- Used the sendou_love navItem icon for the moment (this can be replaced at any time once a new art asset is added)
* Fixed Prettier CI pipeline error
* Ran `npm run check-translation-jsons` to update missing Translations for new key added
* Update public/locales/en/front.json
Co-authored-by: Kalle <38327916+Sendouc@users.noreply.github.com>
* French localizations
* Removed unnecessary comment
* Converted h2 to h1 tags for Main Articles page
Co-authored-by: Kalle <38327916+Sendouc@users.noreply.github.com>
* Moved GoToPageBanner element for main articles page to below ArticlesPeek element
* Refactored some files so that the articles prop is passed into ArticlesPeek
- Also added the Articles header title in common.json
* Updated translation-progress.md
* Cleaned up data type for articles prop in ArticlesPeek
* Fixed React hydration error for translations on imported articles
- Added in SendouRouteHandle component on new Articles main page
* GoToPageBanner now optionally accepts a `navItem` parameter. It does not render the image if navItem is not passed into it
* Removed <Outlet /> JSX element on the main Articles page
* Removed sendou_love navItem on GoToPageBanner for articles page
* Fixed spacing issue by grouping ArticlesPeek and its corresponding GoToPageBanner element into a `stack` div
* Fixed pipeline error
* Update translation again
Co-authored-by: Kalle <38327916+Sendouc@users.noreply.github.com>
* Issue 858: On the new calendar page adding a new Date entry with the "Add" button will now insert a new date with an offset of +24 hours of the previous row's date value.
* Added comment to ignore the TSLint "object can be null" error
* Changed `var` to `const`
* Fixed Prettier checks in CI pipeline
* Fixed Typecheck CI pipeline error
* Moved getDateWithHoursOffset() function to app/utils/dates.ts
* Added new line at end of file
* Added getValidNewDateIfInvalid() function. This retrieves a valid date. If invalid, get a new Date object.
- So now, if we intentionally/accidentally delete the data in the Calendar's DateInput element, it will be reset to the current Date/Time
* Refactored DateInput component's update state mechanism to be handled by an onChange() function defined in the parent component that is passed to the child
* Prettier formatting so that the new CI pipeline won't output errors at me
* Removed unused imported types
* Removed the datesCount React Hook & refactored accordingly
* Removed unused loader-related variables
* DateInput onChange prop is now optional
* Instead of generating a new Array, iterate over DateInput's inputState's array instead
* Fix potential undefined error
* DatesInputState: refactored to remove index & access the index during iteration with map() 2nd arg
* Properly initialized state for pre-existing events =)
- Also added TODO comments for improving date input handling (1082)
* Prettier formatting
* Uncommented console.warn()
* Touched up comment