From 030c5916c73a635096874db9baddf665f71f5654 Mon Sep 17 00:00:00 2001 From: Justin Edmund Date: Tue, 30 Sep 2025 03:42:14 -0700 Subject: [PATCH] add context menu ui components and i18n --- messages/en.json | 6 +- messages/ja.json | 6 +- src/assets/icons/gear.svg | 3 + src/lib/components/ui/ContextMenu.svelte | 221 +++++++++++++++++++--- src/lib/components/ui/DropdownMenu.svelte | 99 ++++++++++ 5 files changed, 310 insertions(+), 25 deletions(-) create mode 100644 src/assets/icons/gear.svg create mode 100644 src/lib/components/ui/DropdownMenu.svelte diff --git a/messages/en.json b/messages/en.json index 0d2ebc45..fb617a16 100644 --- a/messages/en.json +++ b/messages/en.json @@ -20,5 +20,9 @@ "skill_selection_title": "Select Skill", "skill_selection_search_placeholder": "Search skills...", - "extra_weapons": "Additional Weapons" + "extra_weapons": "Additional Weapons", + + "context_view_details": "View Details", + "context_replace": "Replace", + "context_remove": "Remove" } diff --git a/messages/ja.json b/messages/ja.json index 77c1973a..352a912a 100644 --- a/messages/ja.json +++ b/messages/ja.json @@ -20,5 +20,9 @@ "skill_selection_title": "スキル選択", "skill_selection_search_placeholder": "スキルを検索...", - "extra_weapons": "追加武器" + "extra_weapons": "追加武器", + + "context_view_details": "詳細を見る", + "context_replace": "交換", + "context_remove": "削除" } diff --git a/src/assets/icons/gear.svg b/src/assets/icons/gear.svg new file mode 100644 index 00000000..4ee76517 --- /dev/null +++ b/src/assets/icons/gear.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/lib/components/ui/ContextMenu.svelte b/src/lib/components/ui/ContextMenu.svelte index d60559ef..0b349698 100644 --- a/src/lib/components/ui/ContextMenu.svelte +++ b/src/lib/components/ui/ContextMenu.svelte @@ -1,30 +1,61 @@ - - - {#snippet child({ props })} -
- {@render children()} -
- {/snippet} -
+
+ + + {#snippet child({ props })} +
+ {@render children()} +
+ {/snippet} +
- - - {@render menu()} - - -
+ + + {@render contextMenu()} + + + + + {#if showGearButton} + + + {#snippet child({ props })} + + {/snippet} + + + + + {@render dropdownMenu()} + + + + {/if} +
\ No newline at end of file