Hello from MCP server
<template>
<ion-modal :is-open="isOpen" @didDismiss="$emit('close')">
<ion-header>
<ion-toolbar>
<ion-title>Assistant</ion-title>
<ion-buttons slot="end">
<ion-button @click="$emit('close')">Close</ion-button>
</ion-buttons>
</ion-toolbar>
</ion-header>
<ion-content class="ion-padding">
<div class="agent-content">
<div class="agent-avatar">
<ion-icon :icon="happyOutline" class="avatar-icon"></ion-icon>
</div>
<div class="agent-message">
<p class="greeting">Hi there!</p>
<p class="placeholder-text">
I'm your AI assistant. In the future, I'll be able to help you with:
</p>
<ul class="feature-list">
<li>Answering questions about jobs and pricing</li>
<li>Providing step-by-step guidance</li>
<li>Suggesting relevant services</li>
<li>Helping troubleshoot issues</li>
</ul>
<p class="coming-soon">This feature is coming soon!</p>
</div>
</div>
</ion-content>
</ion-modal>
</template>
<script setup lang="ts">
import {
IonModal,
IonHeader,
IonToolbar,
IonTitle,
IonButtons,
IonButton,
IonContent,
IonIcon,
} from '@ionic/vue';
import { happyOutline } from 'ionicons/icons';
defineProps<{
isOpen: boolean;
}>();
defineEmits(['close']);
</script>
<style scoped>
.agent-content {
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
padding: 24px;
}
.agent-avatar {
width: 120px;
height: 120px;
border-radius: 50%;
background: linear-gradient(135deg, var(--ion-color-primary) 0%, var(--ion-color-secondary) 100%);
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 24px;
box-shadow: 0 8px 24px rgba(var(--ion-color-primary-rgb), 0.3);
}
.avatar-icon {
font-size: 64px;
color: white;
}
.agent-message {
max-width: 400px;
}
.greeting {
font-size: 24px;
font-weight: 700;
color: var(--ion-text-color);
margin: 0 0 16px 0;
}
.placeholder-text {
font-size: 16px;
line-height: 1.6;
color: var(--ion-text-color);
margin: 0 0 16px 0;
}
.feature-list {
text-align: left;
margin: 0 0 24px 0;
padding-left: 24px;
}
.feature-list li {
font-size: 14px;
line-height: 1.8;
color: var(--ion-color-medium);
margin-bottom: 8px;
}
.coming-soon {
font-size: 14px;
font-weight: 600;
color: var(--ion-color-primary);
margin: 0;
padding: 12px 24px;
background-color: var(--ion-background-color-step-50);
border-radius: 20px;
display: inline-block;
}
</style>