* Add CommentList to StringFileData
* added more types
* use toRaw
* using Map rather than array for comments
* using Range class
* Comment with ranges:Range[]
* Revert "Comment with ranges:Range[]"
This reverts commit 0783b1837562600637db03cc70c620129061c797.
* Comment with ranges:Range[]
* remove isDeleted
* commentList.toRaw()
* using toRaw
* commentId to id
* Revert "using toRaw"
This reverts commit 0c04ca5836f3befd5ec027bad5bf722e8b27f36c.
* fix merge
* make comment map internal to CommentList
* remove unused type
* fix parameter name in StringFileData
* import types more consistently
* more consistent type def
* Added moveOnInsert/moveOnDelete methods to comments
* use range helper methods
* mergeRanges function
* rename isAfter to startsAfter
* added @ts-checks
* using comment.isEmpty
* rename overlaps to covers
* remove ops in applyDelete
* mege, substract, isInRange
* ranges fixes, added tests
* rename to includes
* using pos,length in applyInsert
* simplify
* extendComment option
* check comment edges
* added inclusive option
* more specific touches()
* refactor mergeRanges()
* comment.addRange()
* remove inclusive option
* refactor using more helper methods
* fix typo
* inserting a comment between ranges tests
* test description fixes
* support only range
* more edge case testing
* added more range tests
* renamed to containsExcludingEdges
* endsAt check edge
* using firstIndex, lastIndex
* contains, containsIndex
* raturn -1 for lastIndex for empty ranges
* rename ranges in tests
* indexStartsAfter
* sort comment ranges
* rename to indexIsAfter, fix Range type
* add range if expandComment is true
* split the range when expandComment is false
* added moveBy and extendBy
* added more tests
* added comments
* prettier
* small fixes/typos
* rename indexIsAfter
* merge when deleting with overlaps
* added overlap test
* same range touches test
* test with overlapping comments
* delete duplicate test
* throw on empty range
GitOrigin-RevId: 1252e3d01f2f5dc1d00ce681c579506038e4d121
* Replace `logger` with `console` in frontend macro
logger import is causing problems cleaning node_modules/.cache after webpack builds.
Since macros are used at build time we can use console statements.
GitOrigin-RevId: 22bbbb34391334ec8f8ec256a3a8a72e5fe91588
[web] Unlink github from collaborators when project owner unsubcribes and github feature was lost
GitOrigin-RevId: 81b81cfb75e3a3684e185ef13d8c0aca19d5699d
* Change all website-redesign CTA button color to our new green: "emerald-green"
* Change `inline-green-link` color to `emerald-green`, also change the hover of `green-link` to `emerald-green-dark`
* reuse the `btn-primary` class for website-redesign pages with the new green primary color
GitOrigin-RevId: 63ba76efbb7e7e9d1a99ff9f6b426e94d86bbdf0
* Set autoplay video configuration according to specification:
- Do not autoplay video initially
- If the video is visible on the viewport (with a threshold of 80% of the video is visible), autoplay video, and everytime it autoplays, set the video starting point to 0
- If the video is not visible on the viewport (with a threshold of 80% of the video is not visible), pause the video
- If user screen stops at video that's currently in autoplay, the autoplay will stop after it endedand replay every 15 seconds.
- For user with reduced motion preference, show video controls.
* Add a comment explaining error in firefox if user is pressing the seek bar relatively fast.
It seems to be a bug specific to firefox.
* Reduce the threshold to 70% of the visible video on the screen.
0.7 value will make the video autoplays instantly for the `new-design-registration` variant since the video on that variant will not be shown fully on the screen at initial homepage load (in desktop screen).
* Set attribute without empty string, fix video that lacked data attribute
* Remove duplicated autoplay video setup on homepage
* Remove autoplay pause/reset on scroll away, don't play if not visible
Refactors the autoplay-video code and removes the pause/reset on scroll
away while also keeping track of the video elements visibility so that
the video doesn't immediately start playing after 15s if not visible.
We also prevent trying to call .play() before the video is in a
"canplay" state. If the video is not ready, then add an event listener
for the "canplay" event and only play() once this is fired. We only do
this once to avoid adding duplicate listeners.
We also check that the video is not playing before calling play(),
because it could still be in playback if we scroll out of view and then
back into view.
* Refactor autoplay-video to match style of similar JS enhancement implementations
* Move autoplay-video from shared/utils to features/
---------
Co-authored-by: Thomas Mees <thomas.mees@overleaf.com>
Co-authored-by: Thomas <thomas-@users.noreply.github.com>
GitOrigin-RevId: 13011af04baaeba4b8053478a09e3e4d7c960d5c
* Fix organization logos styling:
- stop forcing explicit height to the image itself, this will remove any visible stretching.
- Force 2 column for screen size < 1200px (and remove flex-wrap) to make sure no single logo that wraps to the next line.
* Update crest images with higher resolution assets
---------
Co-authored-by: M Fahru <m.fahru@overleaf.com>
GitOrigin-RevId: c463d207fdbd750cdbfe6666bb79f69dfd85c673
* fixing premium badge display on every page
* Aligning header sections and fixing buttons
This aligns the header section to the left on mobile layouts
This also fixes the buttons width on mobile layouts
GitOrigin-RevId: 795af064989272969a5707c086b422b4be58ec25