web-app/src/modules/chat/views/ChatPage.vue
padreug a811040a34 Fix TypeScript build errors in module pages
- Replace location.reload() with proper window.location.reload() function calls
- Remove unused isReady variable in ChatPage.vue
- Add handleRetry functions in ChatPage.vue and EventsPage.vue
- Ensures successful production builds with vue-tsc type checking

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-06 17:00:27 +02:00

40 lines
No EOL
1.5 KiB
Vue

<template>
<!-- Loading State -->
<div v-if="isLoading" class="flex flex-col items-center justify-center min-h-screen">
<div class="flex flex-col items-center space-y-4">
<div class="animate-spin rounded-full h-12 w-12 border-b-2 border-primary"></div>
<div class="text-center space-y-2">
<h2 class="text-xl font-semibold">Loading Chat...</h2>
<p class="text-sm text-muted-foreground">Setting up encrypted messaging and connecting to Nostr relays...</p>
</div>
</div>
</div>
<!-- Error State -->
<div v-else-if="error" class="flex flex-col items-center justify-center min-h-screen">
<div class="text-center space-y-4">
<h2 class="text-xl font-semibold text-red-600">Failed to load chat</h2>
<p class="text-muted-foreground">{{ error }}</p>
<button @click="handleRetry" class="px-4 py-2 bg-primary text-primary-foreground rounded">
Retry
</button>
</div>
</div>
<!-- Chat Content - Only render when module is ready -->
<div v-else class="h-[calc(100vh-3.5rem)] lg:h-[calc(100vh-4rem)] xl:h-[calc(100vh-5rem)] w-full">
<ChatComponent />
</div>
</template>
<script setup lang="ts">
import { useModuleReady } from '@/composables/useModuleReady'
import ChatComponent from '../components/ChatComponent.vue'
// Simple reactive module loading - no complex logic needed
const { isLoading, error } = useModuleReady('chat')
function handleRetry() {
window.location.reload()
}
</script>