* * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE * License as published by the Free Software Foundation; either * version 3 of the License, or any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU AFFERO GENERAL PUBLIC LICENSE for more details. * * You should have received a copy of the GNU Affero General Public * License along with this library. If not, see . * */ namespace OCA\Radio\Dashboard; use OCP\Dashboard\IWidget; use OCP\IL10N; use OCP\IURLGenerator; use OCP\Util; use OCA\Radio\AppInfo\Application; class RadioWidget implements IWidget { /** @var IL10N */ private $l10n; /** @var IURLGenerator */ private $urlGenerator; public function __construct( IL10N $l10n, IURLGenerator $urlGenerator ) { $this->l10n = $l10n; $this->urlGenerator = $urlGenerator; } /** * @inheritDoc */ public function getId(): string { return Application::APP_ID; } /** * @inheritDoc */ public function getTitle(): string { return $this->l10n->t('Radio stations'); } /** * @inheritDoc */ public function getOrder(): int { return 10; } /** * @inheritDoc */ public function getIconClass(): string { return 'icon-radio'; } /** * @inheritDoc */ public function getUrl(): ?string { return $this->urlGenerator->getAbsoluteURL($this->urlGenerator->linkToRoute('radio.page.index')); } /** * @inheritDoc */ public function load(): void { Util::addScript(Application::APP_ID, 'radio-dashboard'); Util::addStyle(Application::APP_ID, 'dashboard'); } }