diff --git a/frontend/src/components/home/AppHeader.vue b/frontend/src/components/home/AppHeader.vue index 27d518a76..09ced5cc9 100644 --- a/frontend/src/components/home/AppHeader.vue +++ b/frontend/src/components/home/AppHeader.vue @@ -74,7 +74,7 @@ > {{ authStore.userDisplayName }} diff --git a/frontend/src/components/home/ContentAuth.vue b/frontend/src/components/home/ContentAuth.vue index d96deea4f..d6030fee8 100644 --- a/frontend/src/components/home/ContentAuth.vue +++ b/frontend/src/components/home/ContentAuth.vue @@ -135,6 +135,11 @@ projectStore.loadAllProjects() top: 0.5rem; right: 0.5rem; z-index: 31; + + [dir="rtl"] & { + right: auto; + left: 0.5rem; + } width: 3rem; height: 3rem; display: flex; @@ -170,9 +175,14 @@ projectStore.loadAllProjects() padding: 1.5rem 0.5rem 0; // TODO refactor: DRY `transition-timing-function` with `./Navigation.vue`. transition: margin-left $transition-duration; + + [dir="rtl"] & { + transition: margin-right $transition-duration; + } @media screen and (max-width: $tablet) { margin-left: 0; + margin-right: 0; min-height: calc(100vh - 4rem); } @@ -184,6 +194,13 @@ projectStore.loadAllProjects() @media screen and (min-width: $tablet) { margin-left: $navbar-width; } + + [dir="rtl"] & { + @media screen and (min-width: $tablet) { + margin-left: 0; + margin-right: $navbar-width; + } + } } // Used to make sure the spinner is always in the middle while loading @@ -222,6 +239,11 @@ projectStore.loadAllProjects() bottom: calc(1rem - 4px); right: 1rem; z-index: 4500; // The modal has a z-index of 4000 + + [dir="rtl"] & { + right: auto; + left: 1rem; + } color: var(--grey-500); transition: color $transition; diff --git a/frontend/src/components/home/Navigation.vue b/frontend/src/components/home/Navigation.vue index 3a75b5e99..5dece0039 100644 --- a/frontend/src/components/home/Navigation.vue +++ b/frontend/src/components/home/Navigation.vue @@ -139,8 +139,8 @@ const savedFilterProjects = computed(() => projectStore.savedFilterProjects) .logo { display: block; - padding-left: 1rem; - margin-right: 1rem; + padding-inline-start: 1rem; + margin-inline-end: 1rem; margin-bottom: 1rem; @media screen and (min-width: $tablet) { @@ -163,6 +163,12 @@ const savedFilterProjects = computed(() => projectStore.savedFilterProjects) width: $navbar-width; overflow-y: auto; + [dir="rtl"] & { + left: auto; + right: 0; + transform: translateX(100%); + } + @media screen and (max-width: $tablet) { top: 0; width: 70vw; @@ -183,7 +189,7 @@ const savedFilterProjects = computed(() => projectStore.savedFilterProjects) .list-menu-link, li > a { - padding-left: 2rem; + padding-inline-start: 2rem; display: inline-block; .icon { diff --git a/frontend/src/components/tasks/partials/SingleTaskInProject.vue b/frontend/src/components/tasks/partials/SingleTaskInProject.vue index 53190f7ef..4db96a8b7 100644 --- a/frontend/src/components/tasks/partials/SingleTaskInProject.vue +++ b/frontend/src/components/tasks/partials/SingleTaskInProject.vue @@ -18,7 +18,7 @@
{{ project.title }} @@ -40,13 +40,13 @@ @@ -69,7 +69,7 @@ v-if="task.assignees.length > 0" :assignees="task.assignees" :avatar-size="25" - class="ml-1" + class="ms-1" :inline="true" /> @@ -134,7 +134,7 @@

{{ $t('home.lastViewed') }}

{{ $t('user.settings.apiTokens.attributes.permissions') }} {{ $t('user.settings.apiTokens.attributes.expiresAt') }} {{ $t('misc.created') }} - + {{ $t('misc.actions') }} @@ -216,7 +216,7 @@ function toggleGroupPermissionsFromChild(group: string, checked: boolean) {

{{ formatDisplayDate(tk.created) }} - +
@@ -310,7 +310,7 @@ function toggleGroupPermissionsFromChild(group: string, checked: boolean) { > {{ formatPermissionTitle(group) }} @@ -323,7 +323,7 @@ function toggleGroupPermissionsFromChild(group: string, checked: boolean) { > {{ formatPermissionTitle(route) }}