feat(isac): add OS protocol management
This commit is contained in:
@@ -0,0 +1,18 @@
|
||||
<script lang="ts">
|
||||
import { gameIcons, type GameIconName } from '$lib/game-icons';
|
||||
|
||||
let {
|
||||
name,
|
||||
decorative = false,
|
||||
class: className = ''
|
||||
}: { name: GameIconName; decorative?: boolean; class?: string } = $props();
|
||||
|
||||
const icon = $derived(gameIcons[name]);
|
||||
</script>
|
||||
|
||||
<img
|
||||
class={`game-icon ${className}`}
|
||||
src={icon.src}
|
||||
alt={decorative ? '' : icon.label}
|
||||
aria-hidden={decorative ? 'true' : undefined}
|
||||
/>
|
||||
@@ -0,0 +1,17 @@
|
||||
export const gameIcons = {
|
||||
blast: { src: '/blast.png', label: 'Blast damage' },
|
||||
pierce: { src: '/pierce.png', label: 'Pierce damage' },
|
||||
shredding: { src: '/shredding.png', label: 'Shredding damage' },
|
||||
firepower: { src: '/firepower.png', label: 'Firepower' },
|
||||
toughness: { src: '/toughness.png', label: 'Toughness' },
|
||||
engineering: { src: '/engineering.png', label: 'Engineering' },
|
||||
bulwark: { src: '/bulwark.png', label: 'Bulwark specialization' },
|
||||
combat_medic: { src: '/combat_medic.png', label: 'Combat Medic specialization' },
|
||||
demolitionist: { src: '/demolitionist.png', label: 'Demolitionist specialization' },
|
||||
tech_operator: { src: '/tech_operator.png', label: 'Tech Operator specialization' },
|
||||
vanguard: { src: '/vanguard.png', label: 'Vanguard specialization' },
|
||||
legendary: { src: '/legendary.png', label: 'Legendary difficulty' },
|
||||
shd_ticket: { src: '/shd_ticket.png', label: 'SHD ticket' }
|
||||
} as const;
|
||||
|
||||
export type GameIconName = keyof typeof gameIcons;
|
||||
@@ -27,7 +27,7 @@ export async function recordIsacAudit(input: {
|
||||
}
|
||||
|
||||
export async function auditRecord(table: string, id: string): Promise<Record<string, unknown> | null> {
|
||||
if (!['stat_attributes', 'talents', 'talent_triggers', 'brand_sets', 'gear', 'weapons', 'roles'].includes(table)) {
|
||||
if (!['stat_attributes', 'talents', 'talent_triggers', 'brand_sets', 'gear', 'weapons', 'os_protocols', 'roles'].includes(table)) {
|
||||
throw new Error('Unsupported audit table');
|
||||
}
|
||||
const database = await getDatabase();
|
||||
|
||||
Reference in New Issue
Block a user