V13-FE-005: Complete KBX v60 frontend components, T01-T12 screen recipes, and WBS progress tracker

This commit is contained in:
2026-08-15 19:48:38 +09:00
parent e0460e000d
commit 938ec1842a
31 changed files with 1783 additions and 818 deletions
+8 -4
View File
@@ -30,13 +30,17 @@ const isTabActive = (tabId: string) => activeTabId.value === tabId
</script>
<template>
<div class="ks-tabs">
<nav class="ks-tabs ks-workspace-tabs" aria-label="열린 업무">
<div class="ks-tabs__list">
<button
<div
v-for="tab in tabs"
:key="tab.id"
role="button"
tabindex="0"
:class="['ks-tabs__tab', { 'ks-tabs__tab--active': isTabActive(tab.id) }]"
@click="handleTabClick(tab.path)"
@keydown.enter="handleTabClick(tab.path)"
@keydown.space.prevent="handleTabClick(tab.path)"
>
<span class="ks-tabs__icon">{{ tab.icon }}</span>
<span class="ks-tabs__title">{{ tab.title }}</span>
@@ -48,7 +52,7 @@ const isTabActive = (tabId: string) => activeTabId.value === tabId
>
</button>
</button>
</div>
</div>
<!-- Tab actions -->
@@ -72,7 +76,7 @@ const isTabActive = (tabId: string) => activeTabId.value === tabId
</button>
</div>
</div>
</nav>
</template>
<style scoped>