]> source.dussan.org Git - nextcloud-server.git/commitdiff
Use the default color and matching text color for the federation invite
authorJoas Schilling <coding@schilljs.com>
Wed, 25 Jan 2023 09:41:19 +0000 (10:41 +0100)
committerJoas Schilling <coding@schilljs.com>
Mon, 30 Jan 2023 08:12:49 +0000 (09:12 +0100)
Signed-off-by: Joas Schilling <coding@schilljs.com>
apps/federatedfilesharing/lib/Settings/Personal.php
apps/theming/lib/ThemingDefaults.php
lib/public/Defaults.php

index bd44e3d970bc41f646f43835354e032264371640..18189f4cde7d5966f5fbdc20c14c2e11711bb449 100644 (file)
@@ -1,4 +1,7 @@
 <?php
+
+declare(strict_types=1);
+
 /**
  * @copyright Copyright (c) 2017 Arthur Schiwon <blizzz@arthur-schiwon.de>
  *
@@ -29,7 +32,7 @@ namespace OCA\FederatedFileSharing\Settings;
 use OCA\FederatedFileSharing\FederatedShareProvider;
 use OCP\AppFramework\Http\TemplateResponse;
 use OCP\AppFramework\Services\IInitialState;
-use OCP\IL10N;
+use OCP\Defaults;
 use OCP\IUserSession;
 use OCP\IURLGenerator;
 use OCP\Settings\ISettings;
@@ -37,22 +40,19 @@ use OCP\Settings\ISettings;
 class Personal implements ISettings {
        private FederatedShareProvider $federatedShareProvider;
        private IUserSession $userSession;
-       private IL10N $l;
-       private \OC_Defaults $defaults;
+       private Defaults $defaults;
        private IInitialState $initialState;
        private IURLGenerator $urlGenerator;
 
        public function __construct(
-               FederatedShareProvider $federatedShareProvider, #
+               FederatedShareProvider $federatedShareProvider,
                IUserSession $userSession,
-               IL10N $l,
-               \OC_Defaults $defaults,
+               Defaults $defaults,
                IInitialState $initialState,
                IURLGenerator $urlGenerator
        ) {
                $this->federatedShareProvider = $federatedShareProvider;
                $this->userSession = $userSession;
-               $this->l = $l;
                $this->defaults = $defaults;
                $this->initialState = $initialState;
                $this->urlGenerator = $urlGenerator;
@@ -62,35 +62,25 @@ class Personal implements ISettings {
         * @return TemplateResponse returns the instance with all parameters set, ready to be rendered
         * @since 9.1
         */
-       public function getForm() {
+       public function getForm(): TemplateResponse {
                $cloudID = $this->userSession->getUser()->getCloudId();
                $url = 'https://nextcloud.com/sharing#' . $cloudID;
 
-               $parameters = [
-                       'message_with_URL' => $this->l->t('Share with me through my #Nextcloud Federated Cloud ID, see %s', [$url]),
-                       'message_without_URL' => $this->l->t('Share with me through my #Nextcloud Federated Cloud ID', [$cloudID]),
-                       'logoPath' => $this->defaults->getLogo(),
-                       'reference' => $url,
-                       'cloudId' => $cloudID,
-                       'color' => $this->defaults->getColorPrimary(),
-                       'textColor' => "#ffffff",
-               ];
-
-               $this->initialState->provideInitialState('color', $this->defaults->getColorPrimary());
-               $this->initialState->provideInitialState('textColor', '#fffff');
+               $this->initialState->provideInitialState('color', $this->defaults->getDefaultColorPrimary());
+               $this->initialState->provideInitialState('textColor', $this->defaults->getDefaultTextColorPrimary());
                $this->initialState->provideInitialState('logoPath', $this->defaults->getLogo());
                $this->initialState->provideInitialState('reference', $url);
                $this->initialState->provideInitialState('cloudId', $cloudID);
                $this->initialState->provideInitialState('docUrlFederated', $this->urlGenerator->linkToDocs('user-sharing-federated'));
 
-               return new TemplateResponse('federatedfilesharing', 'settings-personal', $parameters, '');
+               return new TemplateResponse('federatedfilesharing', 'settings-personal', [], TemplateResponse::RENDER_AS_BLANK);
        }
 
        /**
         * @return string the section ID, e.g. 'sharing'
         * @since 9.1
         */
-       public function getSection() {
+       public function getSection(): ?string {
                if ($this->federatedShareProvider->isIncomingServer2serverShareEnabled() ||
                        $this->federatedShareProvider->isIncomingServer2serverGroupShareEnabled()) {
                        return 'sharing';
@@ -106,7 +96,7 @@ class Personal implements ISettings {
         * E.g.: 70
         * @since 9.1
         */
-       public function getPriority() {
+       public function getPriority(): int {
                return 40;
        }
 }
index afec58dc3a360b7962ea57a508e42ce6e2a18cc5..6cb204d1b1bcb567dc56ae5642d1a8ca1dc97da4 100644 (file)
@@ -496,6 +496,15 @@ class ThemingDefaults extends \OC_Defaults {
                return $this->util->invertTextColor($this->getColorPrimary()) ? '#000000' : '#ffffff';
        }
 
+       /**
+        * Color of text in the header and primary buttons
+        *
+        * @return string
+        */
+       public function getDefaultTextColorPrimary() {
+               return $this->util->invertTextColor($this->getDefaultColorPrimary()) ? '#000000' : '#ffffff';
+       }
+
        /**
         * Has the admin disabled user customization
         */
index cb04d62df0d1a510a147b6e00a095752f02e9c3f..a295db120ade4cb127a87fe33089d552afdc7b52 100644 (file)
@@ -205,6 +205,18 @@ class Defaults {
                return $this->defaults->getColorPrimary();
        }
 
+       /**
+        * Return the default color primary
+        * @return string
+        * @since 25.0.4
+        */
+       public function getDefaultColorPrimary(): string {
+               if (method_exists($this->defaults, 'getDefaultColorPrimary')) {
+                       return $this->defaults->getDefaultColorPrimary();
+               }
+               return $this->defaults->getColorPrimary();
+       }
+
        /**
         * @param string $key
         * @return string URL to doc with key
@@ -231,4 +243,16 @@ class Defaults {
        public function getTextColorPrimary(): string {
                return $this->defaults->getTextColorPrimary();
        }
+
+       /**
+        * Returns primary color
+        * @return string
+        * @since 25.0.4
+        */
+       public function getDefaultTextColorPrimary(): string {
+               if (method_exists($this->defaults, 'getDefaultTextColorPrimary')) {
+                       return $this->defaults->getDefaultTextColorPrimary();
+               }
+               return $this->defaults->getTextColorPrimary();
+       }
 }