[Glitch] Refactor <ActionsModal> to TypeScript (#34559)

Port 926c67c648 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
This commit is contained in:
Eugen Rochko
2025-04-28 13:43:42 +02:00
committed by Claire
parent 1c71abc5de
commit 4540d09cfd
8 changed files with 127 additions and 152 deletions

View File

@@ -22,3 +22,29 @@ export type MenuItem =
| LinkMenuItem
| ExternalLinkMenuItem
| null;
export const isMenuItem = (item: unknown): item is MenuItem => {
if (item === null) {
return true;
}
return typeof item === 'object' && 'text' in item;
};
export const isActionItem = (item: unknown): item is ActionMenuItem => {
if (!item || !isMenuItem(item)) {
return false;
}
return 'action' in item;
};
export const isExternalLinkItem = (
item: unknown,
): item is ExternalLinkMenuItem => {
if (!item || !isMenuItem(item)) {
return false;
}
return 'href' in item;
};