This also removes the need for the Debug component and we can no longer
consider this website pre-alpha.
* feat: loading fits from a Browser's LocalStorage
* feat: show name of fit next to the fit
* feat: ability to rename fits and save them in the browser
* feat: visually indicate the origin of a fit (browser, ESI, ..)
* feat: import/export current fit as EFT string
* feat: import of ESI JSON fits from clipboard
* feat: "Share Link" button to quickly share the current fit
* fix: name a new ship's name based on the ship type
* fix: rotate the radial menu icon back into an upright position
* fix: use proper icons for cargo-hold and drone-bay
* fix: sort the fits based on their name
* fix: selecting two filters in Hardware shows an empty list
Additionally, enable HardwareListing.
* fix: EffectStopper effect causes a crash
* feat: list all modules for adding them to fits
* feat: ability to remove modules from a fit (via hover on module)
* fix: hull-listing overflows with 5 pixels on the bottom
* fix(ShipSnapshotProvider): React warns about duplicated key in
storybook
* chore: refactor hull-listing to use tree-listing
* chore: use Providers to send functions deep into components
* chore: bump @eveshipfit/dogma-engine to 2.3.1
* chore: calculate available slots in ShipSnapshotProvider
* chore: rework ShipFit to use SVGs for better pixel-perfect rendering
This can track multiple characters, and tries to make as few as possible
ESI calls.
In the localstorage, we keep track of all the characters and their
refresh-tokens.
Access-tokens and skills are not stored in the localstorage, which means
that every reload, this information is fetched from ESI again.