* [cm6] toolbar for source mode
* top:0 for new toolbar
* empty div for extensions
* fix legacy css top pos
* show source toolbar split test
* prettier
* show beta icon in source editor
* dropdown toolbar wip
* fix wrong conflict resolve
* math dropdown, chrome extension fixes
* math dropdown cleanup
* sort en.json
* fix sort en.json
* using isVisual
* getMeta in component, pug update
* using flex grow
* toolbar beta badge
* remove extra whitespace
* has-legacy-toolbar class
* Increase container size
* fix tests
* prettier
* styling fixes, using SplitTestBadge
* only show source toolbar if flag is set
* fix typo
---------
Co-authored-by: Alf Eaton <alf.eaton@overleaf.com>
GitOrigin-RevId: 34b01a9421f4a0d6defc40925c5092901575946e
* Fix UI bug where some of the table cell's child doesn't fill their parent's height:
1. On plans-v2-table first row, every `th > div.plans-v2-table-th-content` element need to have a 100% height because they have a white background and their height has to fill the entire `th`.
2. On other rows, every `td > div.plans-v2-table-cell` element needs to have a 100% height with centered content, both vertically and horizontally. This is also because they have a white background and since each row can have a different height, 100% height is needed to make sure the white background is filling the `td` properly.
* Add a comment to explain the explicit `height` rule on `table.plans-v2-table` even though it will be ignored.
GitOrigin-RevId: 1ce059d1e2445213bc911a22dfb0ea984749597d
Texts that need individual wrapping so they won't overflow the history item:
- long file name
- long label name
- long tooltip text
- long user email
---------
Co-authored-by: Ilkin Ismailov <ilkin.ismailov@overleaf.com>
GitOrigin-RevId: 3f75c4173dd59524de1148b22bcbc1d856c021eb
* Implement history view paywall
* Add tests and some CSS fallbacks
* Make additional faded version above paywall non-clickable
* Change isFaded to faded for consistency
* Remove unused import
* Add missing attribute
* SHow all labels in free tier
* Address review comments
* Change Boolean conversion
Co-authored-by: ilkin-overleaf <100852799+ilkin-overleaf@users.noreply.github.com>
* Make adding or deleting a label show up in version list again
* Refactor to use visibleUpdateCount rather than maintaining two separate update arrays
* Removed unused import
* Use data-testid instead on class
* Round gradient values
* Correct test selector
---------
Co-authored-by: ilkin-overleaf <100852799+ilkin-overleaf@users.noreply.github.com>
GitOrigin-RevId: a2b021f3f4d3b9eb1358edb2ee4aa7db1bc7240e
* Add strikethrough to deleted file tree item in history file tree
* Add "restore file" button on toolbar if the selected file have a `removed` operation.
* Implement "restore file" functionality on removed file:
- Refactor the `Selection` object in history context value since we need the `deletedAtV` data which currently is not passed through the state.
- Refactor and clean up file tree type system to support passing through the whole `FileDiff` object for getting the `deletedAtV` data which only appear on `removed` operation
- Implement `postJSON` with file restoration API and pass it on restore file onClick handler at toolbar
* Implement loading behaviour while restoring file is inflight:
- Add `loadingRestoreFile` to `LoadingState`
- Change restore file button to `Restoring...` when in loading state.
* Refactor:
- Rename `DiffOperation` to `FileOperation`
- Extract `isFileRemoved` and `isFileRenamed` to its own file
- Extract `Toolbar` components into small files
GitOrigin-RevId: 2e32ebd2165f73fc6533ff282a9c084162efd682
There are two different UI in this PR: `comparing` and `viewing` mode.
- For `comparing`, the user would be shown two separate date. It uses the `UpdateRange` object and this PR adds a timestamp to both `fromV` and `toV` of the object type.
- For `viewing`, the user would only be shown one date since `viewing` mode means viewing a specific update version.
Some other notable changes:
- Move `diff` state to `diff-view.tsx`, which contains `main.tsx` (main editor history view) and `toolbar.tsx` as its children
- refactor `autoSelectFile` by passing `updateRange.toV` directly
- refactor `updateIsSelected` by passing an object that contains `fromV` and `toV` instead of passing `update
There's also a cypress test for both the `viewing` mode and `comparing` mode in this PR.
GitOrigin-RevId: ba54f073f3479c55a39eb6b2932ea7faff78dddc