From 672c4d33bfb76a31b1799bdb5b0b8e8fdb1dbbb4 Mon Sep 17 00:00:00 2001 From: Bernd Bestel Date: Fri, 11 Dec 2020 18:06:32 +0100 Subject: [PATCH] Added basic RTL support (reference #984) --- controllers/BaseController.php | 12 ++++++++---- package.json | 1 + views/layout/default.blade.php | 12 +++++++++++- yarn.lock | 5 +++++ 4 files changed, 25 insertions(+), 5 deletions(-) diff --git a/controllers/BaseController.php b/controllers/BaseController.php index 87ac9af0..6d7eef6f 100644 --- a/controllers/BaseController.php +++ b/controllers/BaseController.php @@ -125,21 +125,26 @@ class BaseController }); $this->View->set('GettextPo', $localizationService->GetPoAsJsonString()); + // TODO: Better handle this generically based on the current language (header in .po file?) + $dir = 'ltr'; + if (GROCY_LOCALE == 'he_IL') + { + $dir = 'rtl'; + } + $this->View->set('dir', $dir); + $this->View->set('U', function ($relativePath, $isResource = false) use ($container) { return $container->get('UrlManager')->ConstructUrl($relativePath, $isResource); }); $embedded = false; - if (isset($_GET['embedded'])) { $embedded = true; } - $this->View->set('embedded', $embedded); $constants = get_defined_constants(); - foreach ($constants as $constant => $value) { if (substr($constant, 0, 19) !== 'GROCY_FEATURE_FLAG_') @@ -149,7 +154,6 @@ class BaseController } $this->View->set('featureFlags', $constants); - if (GROCY_AUTHENTICATED) { $this->View->set('permissions', User::PermissionList()); diff --git a/package.json b/package.json index 27d28b1d..def59616 100644 --- a/package.json +++ b/package.json @@ -10,6 +10,7 @@ "bootbox": "^5.3.2", "bootstrap": "^4.5.2", "bootstrap-select": "^1.13.18", + "bootstrap-v4-rtl": "^4.5.2-1", "chart.js": "^2.8.0", "datatables.net": "^1.10.22", "datatables.net-bs4": "^1.10.22", diff --git a/views/layout/default.blade.php b/views/layout/default.blade.php index ca03ee6e..173b20f8 100644 --- a/views/layout/default.blade.php +++ b/views/layout/default.blade.php @@ -1,5 +1,6 @@ - + @@ -47,8 +48,13 @@ @yield('title') | grocy + @if($dir == 'rtl') + + @else + @endif + @if($dir == 'rtl') + + @else + @endif diff --git a/yarn.lock b/yarn.lock index 44c666c2..8c77b533 100644 --- a/yarn.lock +++ b/yarn.lock @@ -678,6 +678,11 @@ bootstrap-select@^1.13.18: resolved "https://registry.yarnpkg.com/bootstrap-select/-/bootstrap-select-1.13.18.tgz#4557119d58dc1159189977161c803962220e4dda" integrity sha512-V1IzK4rxBq5FrJtkzSH6RmFLFBsjx50byFbfAf8jYyXROWs7ZpprGjdHeoyq2HSsHyjJhMMwjsQhRoYAfxCGow== +bootstrap-v4-rtl@^4.5.2-1: + version "4.5.2-1" + resolved "https://registry.yarnpkg.com/bootstrap-v4-rtl/-/bootstrap-v4-rtl-4.5.2-1.tgz#fd30136a6a0cec2af30c2dbf13c0e337369e6179" + integrity sha512-lwu6VIHAMNaY5VcMbNQa8L7xkBISEW1pq5XA6bpTggz+ONWT6Ya+m774tXh31uBf/SOx6TnuUeD7pEb4e/eGDw== + bootstrap@4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/bootstrap/-/bootstrap-4.0.0.tgz#ceb03842c145fcc1b9b4e15da2a05656ba68469a"