feat(badges): zibll-style badge modal with category grid, detail view, and wear UX

This commit is contained in:
2026-08-04 12:46:44 +08:00
parent 4849869289
commit ed19937e99
9 changed files with 904 additions and 246 deletions
+2 -1
View File
@@ -145,7 +145,7 @@ class UserRuntime {
* verify:array{enabled:bool,public_display:bool,allow_apply:bool,disable_desc:string,desc:string,types:array<string,array{slug:string,label:string,badge_text:string,fee:float,free_applications:int,require_real_name:bool}>},
* level:array{enabled:bool,public_display:bool,source:string,label_prefix:string,thresholds:array<int,int>},
* medal:array{enabled:bool,public_display:bool,limit:int,categories:array<int,array{cat_name:string,items:array<int,array{slug:string,name:string,desc:string,icon:string,get_type:string,get_val:int}>}>,items_by_slug:array<string,array{slug:string,name:string,desc:string,icon:string,get_type:string,get_val:int,cat_name:string}>},
* badge:array{enabled:bool,public_display:bool,limit:int,dictionary:array<int,array{slug:string,label:string,tone:string,icon_url?:string}>},
* badge:array{enabled:bool,public_display:bool,limit:int,dictionary:array<int,array{slug:string,label:string,tone:string,desc:string,icon_url?:string}>},
* report:array{enabled:bool,public_entry:bool,public_notice:bool,ban_notice_text:string,categories:array<int,array{slug:string,label:string}>}
* }
*/
@@ -204,6 +204,7 @@ class UserRuntime {
'slug' => $item['slug'],
'label' => $item['name'],
'tone' => 'info',
'desc' => (string) ($item['desc'] ?? ''),
'icon_url' => $item['icon'],
];
}, $medal['items_by_slug'])),