From 536b4106bb9d48caf8a94becd94483ab57c73299 Mon Sep 17 00:00:00 2001 From: Greta Doci Date: Fri, 17 May 2019 13:00:08 +0200 Subject: Fix 2fa icons in dark theme, fix #13643 Signed-off-by: Greta Doci --- lib/private/Settings/Personal/Security.php | 8 ++++++++ settings/templates/settings/personal/security.php | 18 ++++++++++++++++-- 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/lib/private/Settings/Personal/Security.php b/lib/private/Settings/Personal/Security.php index eee1d9ae084..a009c6a12f4 100644 --- a/lib/private/Settings/Personal/Security.php +++ b/lib/private/Settings/Personal/Security.php @@ -42,6 +42,7 @@ use OCP\IUserManager; use OCP\IUserSession; use OCP\Session\Exceptions\SessionNotAvailableException; use OCP\Settings\ISettings; +use OCP\IConfig; class Security implements ISettings { @@ -69,6 +70,10 @@ class Security implements ISettings { * @var string|null */ private $uid; + /** + *@var IConfig + */ + private $config; public function __construct(IUserManager $userManager, TwoFactorManager $providerManager, @@ -76,6 +81,7 @@ class Security implements ISettings { ProviderLoader $providerLoader, IUserSession $userSession, ISession $session, + IConfig $config, IInitialStateService $initialStateService, ?string $UserId) { $this->userManager = $userManager; @@ -86,6 +92,7 @@ class Security implements ISettings { $this->session = $session; $this->initialStateService = $initialStateService; $this->uid = $UserId; + $this->config = $config; } /** @@ -108,6 +115,7 @@ class Security implements ISettings { return new TemplateResponse('settings', 'settings/personal/security', [ 'passwordChangeSupported' => $passwordChangeSupported, 'twoFactorProviderData' => $this->getTwoFactorProviderData(), + 'themedark' => $this->config->getUserValue($this->uid, 'accessibility', 'theme', false) ]); } diff --git a/settings/templates/settings/personal/security.php b/settings/templates/settings/personal/security.php index b7983b7c5d9..6cd8ae735be 100644 --- a/settings/templates/settings/personal/security.php +++ b/settings/templates/settings/personal/security.php @@ -69,12 +69,26 @@ if($_['passwordChangeSupported']) {
  • getDarkIcon(); + if ($_['themedark']) { + $icon = $provider->getLightIcon(); + } + else { + $icon = $provider->getDarkIcon(); + } + //fallback icon if the 2factor provider doesn't provide an icon. } else { - $icon = image_path('core', 'actions/password.svg'); + if ($_['themedark']) { + $icon = image_path('core', 'actions/password-white.svg'); + } + else { + $icon = image_path('core', 'actions/password.svg'); + } + } /** @var \OCP\Authentication\TwoFactorAuth\IPersonalProviderSettings $settings */ $settings = $data['settings']; -- cgit v1.2.3