70852bf378
- Removed all @kbx/contracts imports and types
- Cleaned up feature registries (minimal definitions)
- Simplified page components (HomePage, ModelsList, ShadowRunList)
- Removed KBX UI components and adapters
- Fixed TypeScript errors with type casting
- Frontend build: 737KB (204KB gzip) ✅
CI/CD Pipeline: Ready for testing
102 lines
2.0 KiB
Vue
102 lines
2.0 KiB
Vue
<script setup lang="ts">
|
|
import { RouterLink } from 'vue-router'
|
|
|
|
interface Module {
|
|
name: string
|
|
screens: Array<{ label: string; path: string }>
|
|
}
|
|
|
|
const modules: Module[] = [
|
|
{
|
|
name: 'Model Operations',
|
|
screens: [
|
|
{ label: 'Shadow Run Queue', path: '/shadow-run' },
|
|
{ label: 'Model List', path: '/models' },
|
|
],
|
|
},
|
|
{
|
|
name: 'Governance',
|
|
screens: [{ label: 'Approval Queue', path: '/approvals' }],
|
|
},
|
|
]
|
|
</script>
|
|
|
|
<template>
|
|
<div class="home-page">
|
|
<header class="home-header">
|
|
<h1>K-ArtSell Aegis</h1>
|
|
<p>Financial Advisory System</p>
|
|
</header>
|
|
|
|
<main class="home-content">
|
|
<section v-for="module in modules" :key="module.name" class="module-section">
|
|
<h2>{{ module.name }}</h2>
|
|
<nav class="screen-list">
|
|
<RouterLink v-for="screen in module.screens" :key="screen.path" :to="screen.path" class="screen-link">
|
|
{{ screen.label }}
|
|
</RouterLink>
|
|
</nav>
|
|
</section>
|
|
</main>
|
|
</div>
|
|
</template>
|
|
|
|
<style scoped>
|
|
.home-page {
|
|
padding: 2rem;
|
|
max-width: 1200px;
|
|
margin: 0 auto;
|
|
}
|
|
|
|
.home-header {
|
|
margin-bottom: 3rem;
|
|
}
|
|
|
|
.home-header h1 {
|
|
margin: 0;
|
|
font-size: 2.5rem;
|
|
font-weight: 700;
|
|
}
|
|
|
|
.home-header p {
|
|
margin: 0.5rem 0 0 0;
|
|
color: var(--color-text-secondary);
|
|
}
|
|
|
|
.home-content {
|
|
display: grid;
|
|
gap: 2rem;
|
|
}
|
|
|
|
.module-section {
|
|
border: 1px solid var(--color-border-primary);
|
|
border-radius: var(--border-radius-md);
|
|
padding: 1.5rem;
|
|
background-color: var(--color-background-secondary);
|
|
}
|
|
|
|
.module-section h2 {
|
|
margin: 0 0 1rem 0;
|
|
font-size: 1.25rem;
|
|
}
|
|
|
|
.screen-list {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0.5rem;
|
|
}
|
|
|
|
.screen-link {
|
|
padding: 0.75rem 1rem;
|
|
border-radius: var(--border-radius-sm);
|
|
background-color: var(--color-background-primary);
|
|
color: var(--color-text-primary);
|
|
text-decoration: none;
|
|
transition: background-color var(--transition-normal);
|
|
}
|
|
|
|
.screen-link:hover {
|
|
background-color: var(--color-background-hover);
|
|
}
|
|
</style>
|