diff --git a/apps/settings/css/help.css b/apps/settings/css/help.css index a18538c20e662..6023a979bdf99 100644 --- a/apps/settings/css/help.css +++ b/apps/settings/css/help.css @@ -14,3 +14,32 @@ border: 0; overflow: auto; } + +.help-wrapper { + display: flex; + justify-content: center; + align-items: center; + height: 100%; + width: 100%; +} + +.help-content__heading { + text-align: center; + padding: 20px; +} + +.help-content { + display: block; + padding: 20px; +} + +.help-content__body { + display: flex; + justify-content: center; + align-items: center; + flex-wrap: wrap; +} + +.help-content__body > .button { + margin: 20px; +} diff --git a/apps/settings/lib/Controller/HelpController.php b/apps/settings/lib/Controller/HelpController.php index aa850b7d42e74..3128cbfaa2343 100644 --- a/apps/settings/lib/Controller/HelpController.php +++ b/apps/settings/lib/Controller/HelpController.php @@ -39,6 +39,7 @@ use OCP\INavigationManager; use OCP\IRequest; use OCP\IURLGenerator; +use OCP\IConfig; #[IgnoreOpenAPI] class HelpController extends Controller { @@ -55,6 +56,9 @@ class HelpController extends Controller { /** @var string */ private $userId; + /** @var IConfig */ + private $config; + public function __construct( string $appName, IRequest $request, @@ -62,7 +66,8 @@ public function __construct( IURLGenerator $urlGenerator, ?string $userId, IGroupManager $groupManager, - IL10N $l10n + IL10N $l10n, + IConfig $config, ) { parent::__construct($appName, $request); $this->navigationManager = $navigationManager; @@ -70,6 +75,7 @@ public function __construct( $this->userId = $userId; $this->groupManager = $groupManager; $this->l10n = $l10n; + $this->config = $config; } /** @@ -94,6 +100,13 @@ public function help(string $mode = 'user'): TemplateResponse { $urlUserDocs = $this->urlGenerator->linkToRoute('settings.Help.help', ['mode' => 'user']); $urlAdminDocs = $this->urlGenerator->linkToRoute('settings.Help.help', ['mode' => 'admin']); + $knowledgebaseEmbedded = $this->config->getSystemValueBool('knowledgebase.embedded', false); + if (!$knowledgebaseEmbedded) { + $pageTitle = $this->l10n->t('Nextcloud help overview'); + $urlUserDocs = $this->urlGenerator->linkToDocs('user'); + $urlAdminDocs = $this->urlGenerator->linkToDocs('admin'); + } + $response = new TemplateResponse('settings', 'help', [ 'admin' => $this->groupManager->isAdmin($this->userId), 'url' => $documentationUrl, @@ -101,6 +114,7 @@ public function help(string $mode = 'user'): TemplateResponse { 'urlAdminDocs' => $urlAdminDocs, 'mode' => $mode, 'pageTitle' => $pageTitle, + 'knowledgebaseEmbedded' => $knowledgebaseEmbedded, ]); $policy = new ContentSecurityPolicy(); $policy->addAllowedFrameDomain('\'self\''); diff --git a/apps/settings/templates/help.php b/apps/settings/templates/help.php index 18cba18559a51..8bc3acd6e7188 100644 --- a/apps/settings/templates/help.php +++ b/apps/settings/templates/help.php @@ -1,48 +1,75 @@ -
-