|
<!DOCTYPE html>
|
|
<html lang="ja">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>リアルタイム会話監視 - 講師AI分身管理システム</title>
|
|
<style>
|
|
* {
|
|
margin: 0;
|
|
padding: 0;
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
body {
|
|
font-family: 'Hiragino Sans', 'ヒラギノ角ゴシック', 'Yu Gothic UI', 'Meiryo', sans-serif;
|
|
background-color: #f8f9fb;
|
|
color: #2c3e50;
|
|
}
|
|
|
|
.header {
|
|
background: linear-gradient(135deg, #4A90B2 0%, #5B9BC4 100%);
|
|
color: white;
|
|
padding: 1rem 2rem;
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
box-shadow: 0 2px 10px rgba(0,0,0,0.1);
|
|
}
|
|
|
|
.logo-section h1 {
|
|
font-size: 1.5rem;
|
|
font-weight: 600;
|
|
}
|
|
|
|
.container {
|
|
display: flex;
|
|
min-height: calc(100vh - 70px);
|
|
}
|
|
|
|
.sidebar {
|
|
width: 250px;
|
|
background: white;
|
|
box-shadow: 2px 0 10px rgba(0,0,0,0.05);
|
|
padding: 1.5rem 0;
|
|
}
|
|
|
|
.nav-item {
|
|
display: flex;
|
|
align-items: center;
|
|
padding: 1rem 1.5rem;
|
|
color: #5a6c7d;
|
|
text-decoration: none;
|
|
transition: all 0.3s ease;
|
|
border-left: 3px solid transparent;
|
|
}
|
|
|
|
.nav-item:hover {
|
|
background-color: #f1f3f4;
|
|
color: #4A90B2;
|
|
border-left-color: #4A90B2;
|
|
}
|
|
|
|
.nav-item.active {
|
|
background-color: #e3f2fd;
|
|
color: #4A90B2;
|
|
border-left-color: #4A90B2;
|
|
font-weight: 600;
|
|
}
|
|
|
|
.nav-icon {
|
|
margin-right: 0.75rem;
|
|
font-size: 1.2rem;
|
|
}
|
|
|
|
.main-content {
|
|
flex: 1;
|
|
padding: 2rem;
|
|
overflow-y: auto;
|
|
}
|
|
|
|
.page-header {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
margin-bottom: 2rem;
|
|
}
|
|
|
|
.page-title {
|
|
font-size: 2rem;
|
|
color: #2c3e50;
|
|
}
|
|
|
|
.refresh-btn {
|
|
background: #27AE60;
|
|
color: white;
|
|
padding: 0.75rem 1.5rem;
|
|
border: none;
|
|
border-radius: 8px;
|
|
font-weight: 600;
|
|
cursor: pointer;
|
|
transition: all 0.3s ease;
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.5rem;
|
|
}
|
|
|
|
.refresh-btn:hover {
|
|
background: #219A52;
|
|
}
|
|
|
|
.chat-layout {
|
|
display: grid;
|
|
grid-template-columns: 1fr 400px;
|
|
gap: 1.5rem;
|
|
height: calc(100vh - 200px);
|
|
}
|
|
|
|
.chat-list {
|
|
background: white;
|
|
border-radius: 12px;
|
|
box-shadow: 0 2px 15px rgba(0,0,0,0.08);
|
|
overflow: hidden;
|
|
}
|
|
|
|
.chat-list-header {
|
|
padding: 1.5rem;
|
|
border-bottom: 1px solid #eee;
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
}
|
|
|
|
.chat-list-title {
|
|
font-size: 1.2rem;
|
|
font-weight: 600;
|
|
color: #2c3e50;
|
|
}
|
|
|
|
.live-indicator {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.5rem;
|
|
color: #27AE60;
|
|
font-size: 0.9rem;
|
|
}
|
|
|
|
.pulse {
|
|
width: 8px;
|
|
height: 8px;
|
|
background: #27AE60;
|
|
border-radius: 50%;
|
|
animation: pulse 2s infinite;
|
|
}
|
|
|
|
@keyframes pulse {
|
|
0% { opacity: 1; }
|
|
50% { opacity: 0.5; }
|
|
100% { opacity: 1; }
|
|
}
|
|
|
|
.chat-items {
|
|
max-height: calc(100vh - 300px);
|
|
overflow-y: auto;
|
|
}
|
|
|
|
.chat-item {
|
|
padding: 1rem 1.5rem;
|
|
border-bottom: 1px solid #f1f1f1;
|
|
cursor: pointer;
|
|
transition: all 0.3s ease;
|
|
}
|
|
|
|
.chat-item:hover {
|
|
background-color: #f8f9fa;
|
|
}
|
|
|
|
.chat-item.active {
|
|
background-color: #e3f2fd;
|
|
border-left: 4px solid #4A90B2;
|
|
}
|
|
|
|
.chat-item-header {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
margin-bottom: 0.5rem;
|
|
}
|
|
|
|
.user-name {
|
|
font-weight: 600;
|
|
color: #2c3e50;
|
|
}
|
|
|
|
.chat-time {
|
|
font-size: 0.8rem;
|
|
color: #95a5a6;
|
|
}
|
|
|
|
.chat-preview {
|
|
font-size: 0.9rem;
|
|
color: #5a6c7d;
|
|
line-height: 1.4;
|
|
display: -webkit-box;
|
|
-webkit-line-clamp: 2;
|
|
-webkit-box-orient: vertical;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.chat-status {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.5rem;
|
|
margin-top: 0.5rem;
|
|
}
|
|
|
|
.status-badge {
|
|
padding: 0.25rem 0.5rem;
|
|
border-radius: 12px;
|
|
font-size: 0.75rem;
|
|
font-weight: 600;
|
|
}
|
|
|
|
.status-badge.ongoing {
|
|
background: #e8f5e9;
|
|
color: #27AE60;
|
|
}
|
|
|
|
.status-badge.needs-attention {
|
|
background: #fff3e0;
|
|
color: #F39C12;
|
|
}
|
|
|
|
.chat-detail {
|
|
background: white;
|
|
border-radius: 12px;
|
|
box-shadow: 0 2px 15px rgba(0,0,0,0.08);
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
|
|
.chat-detail-header {
|
|
padding: 1.5rem;
|
|
border-bottom: 1px solid #eee;
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
}
|
|
|
|
.chat-detail-title {
|
|
font-size: 1.1rem;
|
|
font-weight: 600;
|
|
color: #2c3e50;
|
|
}
|
|
|
|
.intervention-btn {
|
|
background: #E67E22;
|
|
color: white;
|
|
padding: 0.5rem 1rem;
|
|
border: none;
|
|
border-radius: 6px;
|
|
font-size: 0.9rem;
|
|
font-weight: 600;
|
|
cursor: pointer;
|
|
transition: all 0.3s ease;
|
|
}
|
|
|
|
.intervention-btn:hover {
|
|
background: #D35400;
|
|
}
|
|
|
|
.chat-messages {
|
|
flex: 1;
|
|
padding: 1rem;
|
|
overflow-y: auto;
|
|
max-height: 400px;
|
|
}
|
|
|
|
.message {
|
|
margin-bottom: 1.5rem;
|
|
}
|
|
|
|
.message-header {
|
|
display: flex;
|
|
align-items: center;
|
|
margin-bottom: 0.5rem;
|
|
}
|
|
|
|
.message-author {
|
|
font-weight: 600;
|
|
margin-right: 1rem;
|
|
}
|
|
|
|
.message-author.user {
|
|
color: #4A90B2;
|
|
}
|
|
|
|
.message-author.ai {
|
|
color: #27AE60;
|
|
}
|
|
|
|
.message-time {
|
|
font-size: 0.8rem;
|
|
color: #95a5a6;
|
|
}
|
|
|
|
.message-content {
|
|
background: #f8f9fb;
|
|
padding: 1rem;
|
|
border-radius: 8px;
|
|
line-height: 1.6;
|
|
}
|
|
|
|
.message.user .message-content {
|
|
background: #e3f2fd;
|
|
}
|
|
|
|
.message.ai .message-content {
|
|
background: #e8f5e9;
|
|
}
|
|
|
|
.chat-actions {
|
|
padding: 1rem;
|
|
border-top: 1px solid #eee;
|
|
display: flex;
|
|
gap: 1rem;
|
|
}
|
|
|
|
.quality-rating {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.5rem;
|
|
}
|
|
|
|
.rating-stars {
|
|
color: #F39C12;
|
|
}
|
|
|
|
.rating-score {
|
|
font-weight: 600;
|
|
color: #2c3e50;
|
|
}
|
|
|
|
.stats-row {
|
|
display: grid;
|
|
grid-template-columns: repeat(4, 1fr);
|
|
gap: 1rem;
|
|
margin-bottom: 1.5rem;
|
|
}
|
|
|
|
.stat-mini {
|
|
background: white;
|
|
padding: 1rem;
|
|
border-radius: 8px;
|
|
text-align: center;
|
|
box-shadow: 0 2px 10px rgba(0,0,0,0.05);
|
|
}
|
|
|
|
.stat-mini-value {
|
|
font-size: 1.5rem;
|
|
font-weight: 700;
|
|
color: #4A90B2;
|
|
}
|
|
|
|
.stat-mini-label {
|
|
font-size: 0.85rem;
|
|
color: #7f8c8d;
|
|
margin-top: 0.25rem;
|
|
}
|
|
|
|
@media (max-width: 1024px) {
|
|
.chat-layout {
|
|
grid-template-columns: 1fr;
|
|
grid-template-rows: auto 1fr;
|
|
}
|
|
|
|
.container {
|
|
flex-direction: column;
|
|
}
|
|
|
|
.sidebar {
|
|
width: 100%;
|
|
order: 2;
|
|
}
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<header class="header">
|
|
<div class="logo-section">
|
|
<h1>🎨 講師AI分身管理システム</h1>
|
|
</div>
|
|
<div class="user-info">
|
|
<span>山田 美和子先生</span>
|
|
</div>
|
|
</header>
|
|
|
|
<div class="container">
|
|
<aside class="sidebar">
|
|
<nav>
|
|
<a href="#" class="nav-item">
|
|
<span class="nav-icon">📊</span>
|
|
ダッシュボード
|
|
</a>
|
|
<a href="#" class="nav-item active">
|
|
<span class="nav-icon">💬</span>
|
|
リアルタイム会話
|
|
</a>
|
|
<a href="#" class="nav-item">
|
|
<span class="nav-icon">📈</span>
|
|
分析・レポート
|
|
</a>
|
|
<a href="#" class="nav-item">
|
|
<span class="nav-icon">⚙️</span>
|
|
AI設定
|
|
</a>
|
|
<a href="#" class="nav-item">
|
|
<span class="nav-icon">📚</span>
|
|
知識ベース管理
|
|
</a>
|
|
<a href="#" class="nav-item">
|
|
<span class="nav-icon">👥</span>
|
|
受講者管理
|
|
</a>
|
|
<a href="#" class="nav-item">
|
|
<span class="nav-icon">❓</span>
|
|
FAQ管理
|
|
</a>
|
|
<a href="#" class="nav-item">
|
|
<span class="nav-icon">🔔</span>
|
|
通知・アラート
|
|
</a>
|
|
<a href="#" class="nav-item">
|
|
<span class="nav-icon">🔧</span>
|
|
システム設定
|
|
</a>
|
|
</nav>
|
|
</aside>
|
|
|
|
<main class="main-content">
|
|
<div class="page-header">
|
|
<h1 class="page-title">リアルタイム会話監視</h1>
|
|
<button class="refresh-btn">
|
|
<span>🔄</span>
|
|
自動更新中
|
|
</button>
|
|
</div>
|
|
|
|
<div class="stats-row">
|
|
<div class="stat-mini">
|
|
<div class="stat-mini-value">15</div>
|
|
<div class="stat-mini-label">アクティブユーザー</div>
|
|
</div>
|
|
<div class="stat-mini">
|
|
<div class="stat-mini-value">127</div>
|
|
<div class="stat-mini-label">今日の総質問数</div>
|
|
</div>
|
|
<div class="stat-mini">
|
|
<div class="stat-mini-value">4.8</div>
|
|
<div class="stat-mini-label">平均評価</div>
|
|
</div>
|
|
<div class="stat-mini">
|
|
<div class="stat-mini-value">1.2秒</div>
|
|
<div class="stat-mini-label">平均回答時間</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="chat-layout">
|
|
<div class="chat-list">
|
|
<div class="chat-list-header">
|
|
<div class="chat-list-title">進行中の会話</div>
|
|
<div class="live-indicator">
|
|
<div class="pulse"></div>
|
|
<span>リアルタイム更新中</span>
|
|
</div>
|
|
</div>
|
|
<div class="chat-items">
|
|
<div class="chat-item active">
|
|
<div class="chat-item-header">
|
|
<div class="user-name">田中 由香里</div>
|
|
<div class="chat-time">3分前</div>
|
|
</div>
|
|
<div class="chat-preview">
|
|
リビングの照明配置について相談があります。天井照明だけだと暗い感じがして...
|
|
</div>
|
|
<div class="chat-status">
|
|
<div class="status-badge ongoing">進行中</div>
|
|
<div class="quality-rating">
|
|
<span class="rating-stars">⭐⭐⭐⭐⭐</span>
|
|
<span class="rating-score">5.0</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="chat-item">
|
|
<div class="chat-item-header">
|
|
<div class="user-name">佐藤 健一</div>
|
|
<div class="chat-time">8分前</div>
|
|
</div>
|
|
<div class="chat-preview">
|
|
北欧風のインテリアにしたいのですが、予算が限られています。まず何から...
|
|
</div>
|
|
<div class="chat-status">
|
|
<div class="status-badge ongoing">進行中</div>
|
|
<div class="quality-rating">
|
|
<span class="rating-stars">⭐⭐⭐⭐</span>
|
|
<span class="rating-score">4.5</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="chat-item">
|
|
<div class="chat-item-header">
|
|
<div class="user-name">鈴木 真理子</div>
|
|
<div class="chat-time">12分前</div>
|
|
</div>
|
|
<div class="chat-preview">
|
|
子供部屋の収納について相談したいです。おもちゃが散らかりがちで...
|
|
</div>
|
|
<div class="chat-status">
|
|
<div class="status-badge needs-attention">要確認</div>
|
|
<div class="quality-rating">
|
|
<span class="rating-stars">⭐⭐⭐</span>
|
|
<span class="rating-score">3.2</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="chat-item">
|
|
<div class="chat-item-header">
|
|
<div class="user-name">山田 正明</div>
|
|
<div class="chat-time">25分前</div>
|
|
</div>
|
|
<div class="chat-preview">
|
|
キッチンのアイランド設置を検討中です。メリット・デメリットを教えて...
|
|
</div>
|
|
<div class="chat-status">
|
|
<div class="status-badge ongoing">進行中</div>
|
|
<div class="quality-rating">
|
|
<span class="rating-stars">⭐⭐⭐⭐⭐</span>
|
|
<span class="rating-score">4.9</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="chat-detail">
|
|
<div class="chat-detail-header">
|
|
<div class="chat-detail-title">田中 由香里さんとの会話</div>
|
|
<button class="intervention-btn">介入する</button>
|
|
</div>
|
|
<div class="chat-messages">
|
|
<div class="message user">
|
|
<div class="message-header">
|
|
<div class="message-author user">田中 由香里</div>
|
|
<div class="message-time">15:34</div>
|
|
</div>
|
|
<div class="message-content">
|
|
リビングの照明配置について相談があります。天井照明だけだと暗い感じがして、読書をするときに困っています。どのように改善したらよいでしょうか?
|
|
</div>
|
|
</div>
|
|
|
|
<div class="message ai">
|
|
<div class="message-header">
|
|
<div class="message-author ai">AI講師(山田先生)</div>
|
|
<div class="message-time">15:34</div>
|
|
</div>
|
|
<div class="message-content">
|
|
田中さん、お疲れ様です!照明のお悩み、とてもよく分かります。リビングの照明は重要ですよね。<br><br>
|
|
読書をされるということでしたら、以下のポイントをお勧めします:<br><br>
|
|
1. <strong>層状照明</strong>を取り入れましょう<br>
|
|
- 全体照明(シーリングライト)+ 部分照明(スタンドライト)<br>
|
|
- 間接照明で温かみのある空間を演出<br><br>
|
|
2. <strong>読書専用の照明</strong>を設置<br>
|
|
- レッシングライトやテーブルランプ<br>
|
|
- 手元を明るく照らせる調光可能なもの<br><br>
|
|
具体的にどの場所で読書をされることが多いでしょうか?
|
|
</div>
|
|
</div>
|
|
|
|
<div class="message user">
|
|
<div class="message-header">
|
|
<div class="message-author user">田中 由香里</div>
|
|
<div class="message-time">15:37</div>
|
|
</div>
|
|
<div class="message-content">
|
|
ありがとうございます!主にソファで読書をします。ソファは壁際に置いてあります。
|
|
</div>
|
|
</div>
|
|
|
|
<div class="message ai">
|
|
<div class="message-header">
|
|
<div class="message-author ai">AI講師(山田先生)</div>
|
|
<div class="message-time">15:37</div>
|
|
</div>
|
|
<div class="message-content">
|
|
ソファでの読書でしたら、以下のようなアプローチがおすすめです:<br><br>
|
|
<strong>1. フロアスタンドライト</strong><br>
|
|
- ソファの後ろまたは横に配置<br>
|
|
- 高さ130-150cm程度で、光が肩越しに落ちるタイプ<br><br>
|
|
<strong>2. ウォールライト</strong><br>
|
|
- 壁に取り付けるタイプ<br>
|
|
- 可動式アームで角度調整可能なもの<br><br>
|
|
色温度は「昼白色」(5000K程度)が読書には適しています。目の疲れも軽減できますよ。<br><br>
|
|
ご予算の範囲はおありでしょうか?
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="chat-actions">
|
|
<div class="quality-rating">
|
|
<span>回答品質:</span>
|
|
<span class="rating-stars">⭐⭐⭐⭐⭐</span>
|
|
<span class="rating-score">5.0/5.0</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</main>
|
|
</div>
|
|
</body>
|
|
</html>
|