- Fix https://github.com/matrix-org/matrix-public-archive/issues/7
- A URL with time looks like
- `/r/too-many-messages-on-day:my.synapse.server/date/2022/11/16T23:59`
- Or when more precision is required (seconds): `/r/too-many-messages-on-day:my.synapse.server/date/2022/11/16T23:59:59`
- Add new custom time picker/scrubber (pictured below) with momentum scrubbing
- Native built-in `<input type="time">` for easier picking if you prefer that and accessibility.
- Uses localized time strings
- Design inspired by Thiago Sanchez's *Time Zone Translate* concept, https://dribbble.com/shots/14590546-Time-Zone-Translate
**Before:**
```
Child printed something to stdout: Mounting Hydrogen...
Child printed something to stderr: Skipping `addedHomservers` read from LocalStorage since LocalStorage is not available
Child printed something to stdout: Completed mounting Hydrogen: 22.188ms
Child printed something to stdout: 2 uncaughtException TypeError: this.dialogNode.close is not a function
at ModalView.closeModal (C:\Users\MLM\Documents\GitHub\element\matrix-public-archive\shared\views\ModalView.js:115:21)
at Timeout._onTimeout (C:\Users\MLM\Documents\GitHub\element\matrix-public-archive\shared\views\ModalView.js:87:18)
at listOnTimeout (node:internal/timers:559:17)
at processTimers (node:internal/timers:502:7)
```
**After:**
```
Child printed something to stdout: Mounting Hydrogen...
Child printed something to stderr: Skipping `addedHomservers` read from LocalStorage since LocalStorage is not available
Child printed something to stdout: Completed mounting Hydrogen: 14.2ms
```
The main benefit we're getting from this refactor is semantics, `Escape` to close modal, and focus lock.
We have one existing modal with the Developer Options.
This refactor is happening so it can be used to add a new homeserver in the homeserver selector on the room directory page, https://github.com/matrix-org/matrix-public-archive/pull/87