mirror of
https://github.com/nextcloud/server.git
synced 2026-02-18 18:28:50 -05:00
fix(dashboard): Document expected icon behaviour
Signed-off-by: Joas Schilling <coding@schilljs.com> Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
This commit is contained in:
parent
5368b93539
commit
37d331233c
3 changed files with 24 additions and 5 deletions
|
|
@ -25,11 +25,12 @@ class Manager implements IManager {
|
|||
/** @var array<string, IWidget> */
|
||||
private array $widgets = [];
|
||||
|
||||
private ContainerInterface $serverContainer;
|
||||
private ?IAppManager $appManager = null;
|
||||
|
||||
public function __construct(ContainerInterface $serverContainer) {
|
||||
$this->serverContainer = $serverContainer;
|
||||
public function __construct(
|
||||
private ContainerInterface $serverContainer,
|
||||
private LoggerInterface $logger,
|
||||
) {
|
||||
}
|
||||
|
||||
private function registerWidget(IWidget $widget): void {
|
||||
|
|
@ -37,6 +38,10 @@ class Manager implements IManager {
|
|||
throw new InvalidArgumentException('Dashboard widget with this id has already been registered');
|
||||
}
|
||||
|
||||
if (!preg_match('/^[a-z][a-z0-9\-_]*$/', $widget->getId())) {
|
||||
$this->logger->debug('Deprecated dashboard widget ID provided: "' . $widget->getId() . '" [ ' . get_class($widget) . ' ]. Please use a-z, 0-9, - and _ only, starting with a-z');
|
||||
}
|
||||
|
||||
$this->widgets[$widget->getId()] = $widget;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -14,7 +14,9 @@ namespace OCP\Dashboard;
|
|||
*/
|
||||
interface IIconWidget extends IWidget {
|
||||
/**
|
||||
* Get the absolute url for the widget icon
|
||||
* Get the absolute url for the widget icon (should be colored black or not have a color)
|
||||
*
|
||||
* The icon will be inverted automatically in mobile clients and when using dark mode
|
||||
*
|
||||
* @return string
|
||||
* @since 25.0.0
|
||||
|
|
|
|||
|
|
@ -15,7 +15,12 @@ namespace OCP\Dashboard;
|
|||
*/
|
||||
interface IWidget {
|
||||
/**
|
||||
* @return string Unique id that identifies the widget, e.g. the app id
|
||||
* Get a unique identifier for the widget
|
||||
*
|
||||
* To ensure uniqueness, it is recommended to user the app id or start with the
|
||||
* app id followed by a dash.
|
||||
*
|
||||
* @return string Unique id that identifies the widget, e.g. the app id. Only use alphanumeric characters, dash and underscore
|
||||
* @since 20.0.0
|
||||
*/
|
||||
public function getId(): string;
|
||||
|
|
@ -33,6 +38,13 @@ interface IWidget {
|
|||
public function getOrder(): int;
|
||||
|
||||
/**
|
||||
* CSS class that shows the widget icon (should be colored black or not have a color)
|
||||
*
|
||||
* The icon will be inverted automatically in mobile clients and when using dark mode.
|
||||
* Therefore, it is NOT recommended to use a css class that sets the background with:
|
||||
* `var(--icon-…)` as those will adapt to dark/bright mode in the web and still be inverted
|
||||
* resulting in a dark icon on dark background.
|
||||
*
|
||||
* @return string css class that displays an icon next to the widget title
|
||||
* @since 20.0.0
|
||||
*/
|
||||
|
|
|
|||
Loading…
Reference in a new issue