diff --git a/appinfo/info.xml b/appinfo/info.xml
index 3c350f16..c3e3c5f3 100644
--- a/appinfo/info.xml
+++ b/appinfo/info.xml
@@ -65,5 +65,6 @@ For an demo of this app visit [https://demo.passman.cc](https://demo.passman.cc)
OCA\Passman\Settings\Admin
+ OCA\Passman\Settings\AdminSection
diff --git a/img/app-dark.svg b/img/app-dark.svg
new file mode 100644
index 00000000..88ed5d12
--- /dev/null
+++ b/img/app-dark.svg
@@ -0,0 +1,12 @@
+
+
+
+
diff --git a/lib/Controller/SettingsController.php b/lib/Controller/SettingsController.php
index 1c97b882..f46cbb99 100644
--- a/lib/Controller/SettingsController.php
+++ b/lib/Controller/SettingsController.php
@@ -46,7 +46,7 @@ class SettingsController extends ApiController {
* @return string the section ID, e.g. 'sharing'
*/
public function getSection() {
- return 'additional';
+ return 'passman';
}
/**
diff --git a/lib/Notifier.php b/lib/Notifier.php
index d5beddec..48145108 100644
--- a/lib/Notifier.php
+++ b/lib/Notifier.php
@@ -23,6 +23,7 @@
namespace OCA\Passman;
+use OCP\IURLGenerator;
use OCP\L10N\IFactory;
use OCP\Notification\INotification;
use OCP\Notification\INotifier;
@@ -31,6 +32,7 @@ class Notifier implements INotifier {
public function __construct(
protected IFactory $factory,
+ protected IURLGenerator $url,
) {
}
@@ -47,6 +49,11 @@ class Notifier implements INotifier {
// Read the language from the notification
$l = $this->factory->get('passman', $languageCode);
+ // Set the icon for the notification
+ $notification->setIcon(
+ $this->url->getAbsoluteURL($this->url->imagePath('passman', 'app-dark.svg'))
+ );
+
switch ($notification->getSubject()) {
// Deal with known subjects
case 'credential_expired':
diff --git a/lib/Settings/Admin.php b/lib/Settings/Admin.php
index ec7cb60a..99b0b2b3 100644
--- a/lib/Settings/Admin.php
+++ b/lib/Settings/Admin.php
@@ -95,7 +95,7 @@ class Admin implements ISettings {
* @return string
*/
public function getSection(): string {
- return 'additional';
+ return 'passman';
}
/**
diff --git a/lib/Settings/AdminSection.php b/lib/Settings/AdminSection.php
new file mode 100644
index 00000000..ef8f47a0
--- /dev/null
+++ b/lib/Settings/AdminSection.php
@@ -0,0 +1,58 @@
+appName;
+ }
+
+ /**
+ * returns the translated name as it should be displayed, e.g. 'LDAP / AD
+ * integration'. Use the L10N service to translate it.
+ *
+ * @return string
+ */
+ public function getName() {
+ return $this->l->t('Passman');
+ }
+
+ /**
+ * @return int whether the form should be rather on the top or bottom of
+ * the settings navigation. The sections are arranged in ascending order of
+ * the priority values. It is required to return a value between 0 and 99.
+ *
+ * E.g.: 70
+ */
+ public function getPriority() {
+ return 70;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function getIcon() {
+ return $this->url->imagePath($this->appName, 'app-dark.svg');
+ }
+}