Files
Hermes-ui/src/views/ChannelsView.vue
T
ekkoandClaude Opus 4.6 71c7f25f4b feat: add web terminal, improve README, fix node-pty and i18n issues
- Add web terminal view with xterm.js and node-pty WebSocket backend
- Rewrite README with badges, feature table, mobile demo video
- Add package keywords and improved description for npm/GitHub SEO
- Fix node-pty spawn-helper missing execute permission after npm install -g
- Auto-fix node-pty permissions on CLI startup
- Fix duplicate 'error' key in en.ts and zh.ts i18n files
- Remove nested NSpin in PlatformSettings (causes invisible loading spinner)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-15 16:36:04 +08:00

46 lines
1021 B
Vue

<script setup lang="ts">
import { onMounted } from 'vue'
import { NSpin } from 'naive-ui'
import { useI18n } from 'vue-i18n'
import { useSettingsStore } from '@/stores/settings'
import PlatformSettings from '@/components/settings/PlatformSettings.vue'
const settingsStore = useSettingsStore()
const { t } = useI18n()
onMounted(() => {
settingsStore.fetchSettings()
})
</script>
<template>
<div class="channels-view">
<header class="page-header">
<h2 class="header-title">{{ t('sidebar.channels') }}</h2>
</header>
<div class="channels-content">
<NSpin :show="settingsStore.loading || settingsStore.saving" size="large" :description="t('common.loading')">
<PlatformSettings />
</NSpin>
</div>
</div>
</template>
<style scoped lang="scss">
@use '@/styles/variables' as *;
.channels-view {
height: calc(100 * var(--vh));
display: flex;
flex-direction: column;
}
.channels-content {
flex: 1;
overflow-y: auto;
padding: 20px;
position: relative;
}
</style>