diff --git a/app/javascript/flavours/glitch/features/ui/components/media_modal.jsx b/app/javascript/flavours/glitch/features/ui/components/media_modal.jsx
index 4bc8e946eb..0660f352a2 100644
--- a/app/javascript/flavours/glitch/features/ui/components/media_modal.jsx
+++ b/app/javascript/flavours/glitch/features/ui/components/media_modal.jsx
@@ -168,8 +168,8 @@ class MediaModal extends ImmutablePureComponent {
const index = this.getIndex();
- const leftNav = media.size > 1 && ;
- const rightNav = media.size > 1 && ;
+ const leftNav = media.size > 1 && ;
+ const rightNav = media.size > 1 && ;
const content = media.map((image, idx) => {
const width = image.getIn(['meta', 'original', 'width']) || null;
diff --git a/app/javascript/flavours/glitch/styles/components.scss b/app/javascript/flavours/glitch/styles/components.scss
index 81dce6c825..241fe5a92d 100644
--- a/app/javascript/flavours/glitch/styles/components.scss
+++ b/app/javascript/flavours/glitch/styles/components.scss
@@ -6087,6 +6087,7 @@ a.status-card {
position: absolute;
top: 0;
bottom: 0;
+ transform: scaleX(var(--text-x-direction));
&:hover,
&:focus,
@@ -6095,11 +6096,11 @@ a.status-card {
}
}
-.media-modal__nav--left {
+.media-modal__nav--prev {
inset-inline-start: 0;
}
-.media-modal__nav--right {
+.media-modal__nav--next {
inset-inline-end: 0;
}
diff --git a/app/javascript/flavours/glitch/styles/css_variables.scss b/app/javascript/flavours/glitch/styles/css_variables.scss
index 413efca3f6..4390a917bf 100644
--- a/app/javascript/flavours/glitch/styles/css_variables.scss
+++ b/app/javascript/flavours/glitch/styles/css_variables.scss
@@ -35,3 +35,12 @@
--input-background-color: var(--surface-variant-background-color);
--on-input-color: #{$secondary-text-color};
}
+
+body {
+ // Variable for easily inverting directional UI elements,
+ --text-x-direction: 1;
+
+ &.rtl {
+ --text-x-direction: -1;
+ }
+}