Update UI components and enhance controller navigation for improved user experience

- Updated styles in various components to change color themes from cyan to yellow for better visual consistency.
- Enhanced focus management in controller navigation to improve accessibility and user interaction.
- Added new data attributes for controller navigation in multiple views to streamline user interactions with app containers.
- Improved audio handling by removing unused functions in useLoginSounds.ts, optimizing the codebase.
This commit is contained in:
Dorian
2026-02-17 21:10:16 +00:00
parent 5a04875dcc
commit 316dfee2fc
12 changed files with 428 additions and 55 deletions
+12 -4
View File
@@ -132,16 +132,16 @@
</svg>
<span>{{ store.isAppLoading(app.id) ? 'Stopping...' : 'Stop' }}</span>
</button>
<a
:href="getLaunchUrl(app)"
target="_blank"
<button
type="button"
class="px-4 py-2 bg-blue-600 hover:bg-blue-500 rounded text-sm font-medium text-white transition-colors flex items-center gap-2"
@click="launchApp(app)"
>
<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14" />
</svg>
Launch
</a>
</button>
</template>
</div>
</div>
@@ -201,9 +201,11 @@
<script setup lang="ts">
import { onMounted, onUnmounted, computed } from 'vue'
import { useContainerStore, type BundledApp } from '@/stores/container'
import { useAppLauncherStore } from '@/stores/appLauncher'
import ContainerStatus from '@/components/ContainerStatus.vue'
const store = useContainerStore()
const appLauncherStore = useAppLauncherStore()
// Use enriched bundled apps with runtime data (like lan_address)
const bundledApps = computed(() => store.enrichedBundledApps)
@@ -331,6 +333,12 @@ function getLaunchUrl(app: BundledApp): string {
return `http://${currentHost.value}:${port}`
}
function launchApp(app: BundledApp) {
const url = getLaunchUrl(app)
if (url === '#') return
appLauncherStore.open({ url, title: app.name })
}
async function handleStartApp(app: BundledApp) {
try {
await store.startBundledApp(app)