From a194de7fa2ea9e473e823b8f7a1f9ed7f1edd952 Mon Sep 17 00:00:00 2001 From: chrisgarrity <chrisg@media.mit.edu> Date: Thu, 23 Aug 2018 19:22:07 -0400 Subject: [PATCH] Fix all the little RTL layout bugs (#2961) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Fix all the little RTL layout bugs - [ ] borders on toolbox and workspace mirror correctly - [ ] spacing on stage selector is correct - [ ] stage size icons are mirrored - [ ] extension library coming soon text is positioned correctly - [ ] only mirror blocks icon on the tab (others stay right-handed) - [ ] drop down icon in create variable modal has correct spacing * FIx RTL backpack header border-radius * round the bottom corner of paint/sound editors This makes the editor’s asset panels match the blocks. --- src/components/asset-panel/asset-panel.css | 20 ++++++++++++++++++-- src/components/backpack/backpack.css | 9 ++++++++- src/components/blocks/blocks.css | 18 ++++++++++++++++++ src/components/gui/gui.css | 4 ++++ src/components/library-item/library-item.css | 9 ++++++++- src/components/prompt/prompt.css | 9 ++++++++- src/components/stage-header/stage-header.css | 4 ++++ src/components/target-pane/target-pane.css | 7 +++++++ 8 files changed, 75 insertions(+), 5 deletions(-) diff --git a/src/components/asset-panel/asset-panel.css b/src/components/asset-panel/asset-panel.css index 9a999057b..bfd578909 100644 --- a/src/components/asset-panel/asset-panel.css +++ b/src/components/asset-panel/asset-panel.css @@ -5,16 +5,32 @@ display: flex; flex-grow: 1; border: 1px solid $ui-black-transparent; - border-top-right-radius: $space; background: white; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 0.85rem; } +[dir="ltr"] .wrapper { + border-top-right-radius: $space; + border-bottom-right-radius: $space; +} + +[dir="rtl"] .wrapper { + border-top-left-radius: $space; + border-bottom-left-radius: $space; +} + .detail-area { display: flex; flex-grow: 1; flex-shrink: 1; - border-left: 1px solid $ui-black-transparent; overflow-y: auto; } + +[dir="ltr"] .detail-area { + border-left: 1px solid $ui-black-transparent; +} + +[dir="rtl"] .detail-area { + border-right: 1px solid $ui-black-transparent; +} diff --git a/src/components/backpack/backpack.css b/src/components/backpack/backpack.css index 9143844d0..33585ca90 100644 --- a/src/components/backpack/backpack.css +++ b/src/components/backpack/backpack.css @@ -9,7 +9,6 @@ .backpack-header { margin-top: 0.5rem; border: 1px solid $ui-black-transparent; - border-top-right-radius: $space; background: $ui-white; padding: 0.25rem; text-align: center; @@ -20,6 +19,14 @@ user-select: none; } +[dir="ltr"] .backpack-header { + border-top-right-radius: $space; +} + +[dir="rtl"] .backpack-header { + border-top-left-radius: $space; +} + .backpack-list { position: relative; display: flex; diff --git a/src/components/blocks/blocks.css b/src/components/blocks/blocks.css index e02486ce0..3d8740589 100644 --- a/src/components/blocks/blocks.css +++ b/src/components/blocks/blocks.css @@ -12,6 +12,13 @@ border-bottom-right-radius: $space; } +[dir="rtl"] .blocks :global(.injectionDiv) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + border-top-left-radius: $space; + border-bottom-left-radius: $space; +} + .blocks :global(.blocklyMainBackground) { stroke: none; } @@ -31,6 +38,11 @@ -ms-overflow-style: none; } +[dir="rtl"] .blocks :global(.blocklyToolboxDiv) { + border-right: none; + border-left: 1px solid $ui-black-transparent; +} + .blocks :global(.blocklyToolboxDiv::-webkit-scrollbar) { display: none; } @@ -40,6 +52,12 @@ box-sizing: content-box; } +[dir="rtl"] .blocks :global(.blocklyFlyout) { + border-right: none; + border-left: 1px solid $ui-black-transparent; +} + + .blocks :global(.blocklyBlockDragSurface) { /* Fix an issue where the drag surface was preventing hover events for sharing blocks. diff --git a/src/components/gui/gui.css b/src/components/gui/gui.css index 46cf41d2b..757653e9a 100644 --- a/src/components/gui/gui.css +++ b/src/components/gui/gui.css @@ -130,6 +130,10 @@ [dir="rtl"] .tab img { margin-left: 0.125rem; +} + +/* only mirror blocks tab icon */ +[dir="rtl"] .tab:nth-of-type(1) img { transform: scaleX(-1); } diff --git a/src/components/library-item/library-item.css b/src/components/library-item/library-item.css index 3258b4a7b..fd7217c67 100644 --- a/src/components/library-item/library-item.css +++ b/src/components/library-item/library-item.css @@ -99,7 +99,6 @@ .coming-soon-text { position: absolute; - transform: translate(calc(2 * $space), calc(2 * $space)); background-color: $data-primary; border-radius: 1rem; box-shadow: 0 0 .5rem hsla(0, 0%, 0%, .25); @@ -108,3 +107,11 @@ font-weight: bold; color: $ui-white; } + +[dir="ltr"] .coming-soon-text { + transform: translate(calc(2 * $space), calc(2 * $space)); +} + +[dir="rtl"] .coming-soon-text { + transform: translate(calc(-2 * $space), calc(2 * $space)); +} diff --git a/src/components/prompt/prompt.css b/src/components/prompt/prompt.css index ae523e188..911271f19 100644 --- a/src/components/prompt/prompt.css +++ b/src/components/prompt/prompt.css @@ -88,8 +88,15 @@ .more-options-icon { width: .75rem; height: .75rem; - margin-left: .5rem; vertical-align: middle; padding-bottom: .2rem; opacity: .5; } + +[dir="ltr"] .more-options-icon { + margin-left: .5rem; +} + +[dir="rtl"] .more-options-icon { + margin-right: .5rem; +} diff --git a/src/components/stage-header/stage-header.css b/src/components/stage-header/stage-header.css index dd2dc2c65..3e6f59c75 100644 --- a/src/components/stage-header/stage-header.css +++ b/src/components/stage-header/stage-header.css @@ -59,6 +59,10 @@ height: 100%; } +[dir="rtl"] .stage-button-icon { + transform: scaleX(-1); +} + [dir="ltr"] .stage-button-first { border-top-right-radius: 0; border-bottom-right-radius: 0; diff --git a/src/components/target-pane/target-pane.css b/src/components/target-pane/target-pane.css index 404283d19..07b07cb16 100644 --- a/src/components/target-pane/target-pane.css +++ b/src/components/target-pane/target-pane.css @@ -11,5 +11,12 @@ display: flex; flex-basis: 72px; flex-shrink: 0; +} + +[dir="ltr"] .stage-selector-wrapper { margin-left: calc($space / 2); } + +[dir="rtl"] .stage-selector-wrapper { + margin-right: calc($space / 2); +} -- GitLab