diff --git a/web/app/models/HTML.php b/web/app/models/HTML.php index 7a25e2b..8db221c 100644 --- a/web/app/models/HTML.php +++ b/web/app/models/HTML.php @@ -510,9 +510,9 @@ class HTML { 'del' => [], 'br' => [], 'span' => [ - 'class' => new CustomClassDef(['uoj-username'], ['uoj-username-']), + 'class' => 'Enum#uoj-username,' . implode(',', array_map(fn ($c) => "uoj-username-{$c}", UOJUser::AVAILABLE_COLORS)), 'data-realname' => 'Text', - 'data-color' => 'Color', + 'data-color' => 'Enum#' . implode(',', UOJUser::AVAILABLE_COLORS), ], ]; diff --git a/web/app/models/UOJUser.php b/web/app/models/UOJUser.php index 6d1075d..96442c9 100644 --- a/web/app/models/UOJUser.php +++ b/web/app/models/UOJUser.php @@ -26,6 +26,16 @@ class UOJUser { ], ]; + const AVAILABLE_COLORS = [ + 'blue', + 'green', + 'pink', + 'red', + 'orange', + 'cyan', + 'purple', + ]; + public static $visibility_codes = [ 'all' => [ 'html' => '', @@ -336,7 +346,7 @@ class UOJUser { $color = $cfg['color'] ? UOJUser::getUserColor($user) : ''; return HTML::tag('span', [ - 'class' => "uoj-username uoj-username-{$color}", + 'class' => "uoj-username", 'data-realname' => trim(HTML::escape($realname)), 'data-color' => $color, ], $user['username']);