Files
EpicNext-Cms/src/types/admin.ts
T
openhands fc7e6ca248 feat: switch avatar imager to epicnabbo.nl with figure conversion
- Update imager to use epicnabbo.nl by default with effect=14 and img_format=apng
- Add figure string converter (old Habbo format -> epicnabbo.nl short format)
- Update avatarImageUrl to auto-convert figure strings
- Update online-users-widget to use new avatarImageUrl
- Add tests for imager and figure conversion
2026-08-09 19:38:04 +02:00

48 lines
1.1 KiB
TypeScript

export interface PermissionSet {
has(permission: string): boolean;
hasAny(...permissions: string[]): boolean;
hasAll(...permissions: string[]): boolean;
isSuperAdmin: boolean;
}
export type WebhookAction =
| "ban"
| "unban"
| "kick"
| "disconnect"
| "room_delete"
| "user_edit"
| "user_create"
| "news_publish"
| "news_delete"
| "hotel_alert"
| "staff_alert"
| "ticket_create"
| "event_create"
| "event_update"
| "event_cancel"
| "poll_create"
| "poll_close";
type AvatarSize = "s" | "m" | "l";
type Direction = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7;
export interface AvatarOptions {
/** Avatar size: s (small), m (medium), l (large) */
size?: AvatarSize;
/** Body direction (0-7) */
direction?: Direction;
/** Head direction (0-7) */
headDirection?: Direction;
/** Show only the head */
headOnly?: boolean;
/** Gesture: sml (smile), srp (surprised), sad, etc. */
gesture?: string;
/** Action: wav, sit, lay, etc. */
action?: string;
/** Effect ID (e.g., 14 for ghost) */
effect?: string | number;
/** Image format (e.g., "png", "apng") */
img_format?: string;
}