mirror of
https://github.com/pelican-dev/panel.git
synced 2025-05-20 12:14:45 +02:00
Add front end badges (#960)
* Add front end badges * I identify as a `string` * Display even if there's no limit * use `const`'s --------- Co-authored-by: RMartinOscar <40749467+RMartinOscar@users.noreply.github.com>
This commit is contained in:
parent
d5b8a4c501
commit
20125dbc6f
@ -20,6 +20,34 @@ class BackupResource extends Resource
|
||||
|
||||
protected static bool $canCreateAnother = false;
|
||||
|
||||
public const WARNING_THRESHOLD = 0.7;
|
||||
|
||||
public static function getNavigationBadge(): string
|
||||
{
|
||||
/** @var Server $server */
|
||||
$server = Filament::getTenant();
|
||||
|
||||
$limit = $server->backup_limit;
|
||||
|
||||
return $server->backups->count() . ($limit === 0 ? '' : ' / ' . $limit);
|
||||
}
|
||||
|
||||
public static function getNavigationBadgeColor(): ?string
|
||||
{
|
||||
/** @var Server $server */
|
||||
$server = Filament::getTenant();
|
||||
|
||||
$limit = $server->backup_limit;
|
||||
$count = $server->backups->count();
|
||||
|
||||
if ($limit === 0) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return $count >= $limit ? 'danger'
|
||||
: ($count >= $limit * self::WARNING_THRESHOLD ? 'warning' : 'success');
|
||||
}
|
||||
|
||||
// TODO: find better way handle server conflict state
|
||||
public static function canAccess(): bool
|
||||
{
|
||||
|
@ -18,6 +18,35 @@ class DatabaseResource extends Resource
|
||||
|
||||
protected static ?string $navigationIcon = 'tabler-database';
|
||||
|
||||
public const WARNING_THRESHOLD = 0.7;
|
||||
|
||||
public static function getNavigationBadge(): string
|
||||
{
|
||||
/** @var Server $server */
|
||||
$server = Filament::getTenant();
|
||||
|
||||
$limit = $server->database_limit;
|
||||
|
||||
return $server->databases->count() . ($limit === 0 ? '' : ' / ' . $limit);
|
||||
}
|
||||
|
||||
public static function getNavigationBadgeColor(): ?string
|
||||
{
|
||||
/** @var Server $server */
|
||||
$server = Filament::getTenant();
|
||||
|
||||
$limit = $server->database_limit;
|
||||
$count = $server->databases->count();
|
||||
|
||||
if ($limit === 0) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return $count >= $limit
|
||||
? 'danger'
|
||||
: ($count >= $limit * self::WARNING_THRESHOLD ? 'warning' : 'success');
|
||||
}
|
||||
|
||||
// TODO: find better way handle server conflict state
|
||||
public static function canAccess(): bool
|
||||
{
|
||||
|
@ -38,6 +38,14 @@ class UserResource extends Resource
|
||||
|
||||
protected static ?string $tenantOwnershipRelationshipName = 'subServers';
|
||||
|
||||
public static function getNavigationBadge(): string
|
||||
{
|
||||
/** @var Server $server */
|
||||
$server = Filament::getTenant();
|
||||
|
||||
return (string) $server->subusers->count();
|
||||
}
|
||||
|
||||
// TODO: find better way handle server conflict state
|
||||
public static function canAccess(): bool
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user