名前の色

諏訪子 <suwako@076.moe>、2025-12-07 21:48
コミット f6389eedc92de9742a3ce81625a407168e3a0093 ・親 1ee2760 ・ファイルを見る

2個のファイル、+21 -3

変更 util.php
@@ -139,7 +139,25 @@
139139
140140 if (AUTH_ENABLED) {
141141 function getcookie(string $name): string|null {
142- if (!$_COOKIE[$name]) return null;
143- return $_COOKIE[$name];
142+ return $_COOKIE[$name] ?? null;
143+ }
144+
145+ function namecolor(\stdClass $userData): string {
146+ $ban = "#888888";
147+ $male = "#97ACEF";
148+ $female = "#F185C9";
149+ $ungender = "#7C60B0";
150+
151+ $gender = 'color: '.($userData->gender === 0 ? $male : ($userData->gender === 1 ? $female : $ungender)).';';
152+ $style = $userData->namecolor ?: ($userData->role >= 0 ? $gender : $ban);
153+
154+ $showname = $userData->displayname ?? $userData->username;
155+
156+ $color = "<span style=\"{$style}\">{$showname}</span>";
157+ if ($userData->role === 1) $color .= "<span style=\"font-size: x-small; background: #10c074; border: 1px solid #fcfcfc; border-radius: 10px; padding: 0 0.5em;\">✓</span>";
158+
159+ $suffix = $userData->gender === 0 ? 'くん' : ($userData->gender === 1 ? 'ちゃん' : 'さん');
160+
161+ return $color.$suffix;
144162 }
145163 }
@@ -59,7 +59,7 @@
5959 {@ if (AUTH_ENABLED) @}
6060 <div>
6161 {@ if (isset($user) && isset($user->id) && $user->id > 0) @}
62- お帰りなしゃ~い、{{ $user->displayname ?? $user->username }}さん! (<a href="/logout">ログアウト</a>)
62+ お帰りなしゃ~い、{{{ namecolor($user) }}}! (<a href="/logout">ログアウト</a>)
6363 {@ else @}
6464 <a href="/login">ログイン</a>
6565 {@ if (AUTH_REGISTER_ENABLED) @}