From 89fe0e4680418cd561c17998dc4a92f59345eb5a Mon Sep 17 00:00:00 2001 From: Tim Down Date: Tue, 1 Nov 2022 10:48:02 +0000 Subject: [PATCH] Merge pull request #10109 from overleaf/ds-switch-component Modifying the Switch GitOrigin-RevId: 93b8483aa4aa164ea0be5fc2b4ccc5cfb17eae3c --- .../app/views/project/editor/review-panel.pug | 3 +- .../directives/reviewPanelToggle.js | 6 +- .../stylesheets/app/editor/review-panel.less | 59 +------------------ .../stylesheets/components/input-switch.less | 52 ++++++++++++++++ services/web/frontend/stylesheets/style.less | 1 + 5 files changed, 58 insertions(+), 63 deletions(-) create mode 100644 services/web/frontend/stylesheets/components/input-switch.less diff --git a/services/web/app/views/project/editor/review-panel.pug b/services/web/app/views/project/editor/review-panel.pug index 83e1f85ecd..080d336122 100644 --- a/services/web/app/views/project/editor/review-panel.pug +++ b/services/web/app/views/project/editor/review-panel.pug @@ -82,7 +82,6 @@ ) span.rp-tc-state-item-name( ng-class="{ 'rp-tc-state-item-name-disabled' : reviewPanel.trackChangesOnForEveryone}" - style="color: hsl({{ member.hue }}, 70%, 40%);" tooltip=translate('tc_switch_user_tip') tooltip-placement="left" tooltip-append-to-body="true" @@ -96,7 +95,7 @@ ) li.rp-tc-state-separator - li.rp-tc-state-item.rp-tc-state-item-guests + li.rp-tc-state-item span.rp-tc-state-item-name( ng-class="{ 'rp-tc-state-item-name-disabled' : reviewPanel.trackChangesOnForEveryone}" tooltip=translate('tc_switch_guests_tip') diff --git a/services/web/frontend/js/ide/review-panel/directives/reviewPanelToggle.js b/services/web/frontend/js/ide/review-panel/directives/reviewPanelToggle.js index 85c19b320b..ac0ad18cbf 100644 --- a/services/web/frontend/js/ide/review-panel/directives/reviewPanelToggle.js +++ b/services/web/frontend/js/ide/review-panel/directives/reviewPanelToggle.js @@ -42,10 +42,10 @@ export default App.directive('reviewPanelToggle', () => ({ }, template: `\ -
+
{{description}} - - + +
\ `, })) diff --git a/services/web/frontend/stylesheets/app/editor/review-panel.less b/services/web/frontend/stylesheets/app/editor/review-panel.less index a561905ffc..c5cb8a3beb 100644 --- a/services/web/frontend/stylesheets/app/editor/review-panel.less +++ b/services/web/frontend/stylesheets/app/editor/review-panel.less @@ -124,7 +124,7 @@ } .review-panel-toolbar-icon-on { margin-right: 5px; - color: @red; + color: @ol-green; } .review-panel-toolbar-label-disabled { cursor: auto; @@ -163,7 +163,6 @@ } .rp-tc-state-item-everyone { border-bottom: 1px solid @rp-border-grey; - color: @red; } .rp-tc-state-item-name { flex-grow: 1; @@ -175,9 +174,6 @@ .rp-tc-state-item-name-disabled { opacity: 0.35; } -.rp-tc-state-item-guests { - color: @blue; -} .rp-entry-list { display: none; @@ -783,59 +779,6 @@ } } -.rp-toggle { - display: inline-block; - vertical-align: middle; - padding-left: 5px; -} -.rp-toggle-hidden-input { - display: none; - - + .rp-toggle-btn { - display: block; - width: 3.5em; - height: 1.75em; - position: relative; - outline: 0; - margin: 0; - font-weight: normal; - cursor: pointer; - user-select: none; - padding: 1px; - background-color: @rp-highlight-blue; - border: 1px solid #fff; - border-radius: 0.875em; - transition: background 0.15s ease, border-color 0.15s ease; - - &::before { - content: ''; - display: block; - width: 50%; - height: 100%; - position: relative; - left: 0; - background-color: #fff; - border-radius: 0.875em; - transition: background-color 0.15s ease, color 0.15s ease, left 0.15s ease; - } - } - - &:checked + .rp-toggle-btn { - background-color: @red; - border-color: #fff; - - &::before { - left: 50%; - background-color: #fff; - } - } - - &:disabled + .rp-toggle-btn { - cursor: default; - opacity: 0.35; - } -} - .rp-unsupported-msg-wrapper { display: none; .rp-size-expanded.rp-unsupported & { diff --git a/services/web/frontend/stylesheets/components/input-switch.less b/services/web/frontend/stylesheets/components/input-switch.less new file mode 100644 index 0000000000..bc6133f4fc --- /dev/null +++ b/services/web/frontend/stylesheets/components/input-switch.less @@ -0,0 +1,52 @@ +.input-switch { + display: inline-block; + vertical-align: middle; + padding-left: 5px; +} +.input-switch-hidden-input { + display: none; + + + .input-switch-btn { + display: block; + width: 34px; + height: 20px; + position: relative; + outline: 0; + margin: 0; + font-weight: normal; + cursor: pointer; + user-select: none; + padding: 1px; + background-color: @rp-highlight-blue; + border-radius: 0.875em; + transition: background 0.15s ease, border-color 0.15s ease; + + &::before { + content: ''; + display: block; + width: 16px; + height: 16px; + position: relative; + left: 1px; + top: 1px; + background-color: #fff; + border-radius: 0.875em; + transition: background-color 0.15s ease, color 0.15s ease, left 0.15s ease; + } + } + + &:checked + .input-switch-btn { + background-color: @ol-green; + border-color: #fff; + + &::before { + left: 15px; + top: 1px; + } + } + + &:disabled + .input-switch-btn { + cursor: default; + opacity: 0.35; + } +} diff --git a/services/web/frontend/stylesheets/style.less b/services/web/frontend/stylesheets/style.less index 344fc67c7f..efdd9117be 100644 --- a/services/web/frontend/stylesheets/style.less +++ b/services/web/frontend/stylesheets/style.less @@ -18,6 +18,7 @@ @import 'components/navs-ol.less'; @import 'components/pagination.less'; @import 'components/tabs.less'; +@import 'components/input-switch.less'; // Pages @import 'app/about.less';