joung commited on
Commit
addf17e
ยท
verified ยท
1 Parent(s): b2ae804

Add 2 files

Browse files
Files changed (2) hide show
  1. README.md +7 -5
  2. index.html +340 -19
README.md CHANGED
@@ -1,10 +1,12 @@
1
  ---
2
- title: Joung Joung
3
- emoji: โšก
4
- colorFrom: indigo
5
- colorTo: gray
6
  sdk: static
7
  pinned: false
 
 
8
  ---
9
 
10
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
1
  ---
2
+ title: joung-joung
3
+ emoji: ๐Ÿณ
4
+ colorFrom: pink
5
+ colorTo: green
6
  sdk: static
7
  pinned: false
8
+ tags:
9
+ - deepsite
10
  ---
11
 
12
+ Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
index.html CHANGED
@@ -1,19 +1,340 @@
1
- <!doctype html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta name="viewport" content="width=device-width" />
6
- <title>My static Space</title>
7
- <link rel="stylesheet" href="style.css" />
8
- </head>
9
- <body>
10
- <div class="card">
11
- <h1>Welcome to your static Space!</h1>
12
- <p>You can modify this app directly by editing <i>index.html</i> in the Files and versions tab.</p>
13
- <p>
14
- Also don't forget to check the
15
- <a href="https://huggingface.co/docs/hub/spaces" target="_blank">Spaces documentation</a>.
16
- </p>
17
- </div>
18
- </body>
19
- </html>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="ko">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>๊ฑด๊ฐ• ์ƒ๋‹ด ์ฑ—๋ด‡ - MediCare AI</title>
7
+ <script src="https://cdn.tailwindcss.com"></script>
8
+ <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
9
+ <style>
10
+ @keyframes pulse {
11
+ 0%, 100% { opacity: 1; }
12
+ 50% { opacity: 0.5; }
13
+ }
14
+ .typing-indicator span {
15
+ animation: pulse 1.5s infinite ease-in-out;
16
+ }
17
+ .typing-indicator span:nth-child(2) {
18
+ animation-delay: 0.2s;
19
+ }
20
+ .typing-indicator span:nth-child(3) {
21
+ animation-delay: 0.4s;
22
+ }
23
+ .chat-container {
24
+ height: calc(100vh - 180px);
25
+ }
26
+ @media (max-width: 640px) {
27
+ .chat-container {
28
+ height: calc(100vh - 160px);
29
+ }
30
+ }
31
+ .message-animation {
32
+ animation: fadeIn 0.3s ease-out;
33
+ }
34
+ @keyframes fadeIn {
35
+ from { opacity: 0; transform: translateY(10px); }
36
+ to { opacity: 1; transform: translateY(0); }
37
+ }
38
+ </style>
39
+ </head>
40
+ <body class="bg-gray-50 font-sans">
41
+ <div class="container mx-auto max-w-4xl px-4 py-6">
42
+ <!-- Header -->
43
+ <header class="flex items-center justify-between mb-6">
44
+ <div class="flex items-center space-x-3">
45
+ <div class="w-12 h-12 rounded-full bg-blue-100 flex items-center justify-center">
46
+ <i class="fas fa-user-md text-blue-600 text-xl"></i>
47
+ </div>
48
+ <div>
49
+ <h1 class="text-2xl font-bold text-gray-800">MediCare AI</h1>
50
+ <p class="text-sm text-gray-500">AI ๊ฑด๊ฐ• ์ƒ๋‹ด ์ฑ—๋ด‡</p>
51
+ </div>
52
+ </div>
53
+ <div class="flex space-x-2">
54
+ <button class="p-2 rounded-full bg-gray-100 hover:bg-gray-200 text-gray-600">
55
+ <i class="fas fa-history"></i>
56
+ </button>
57
+ <button class="p-2 rounded-full bg-gray-100 hover:bg-gray-200 text-gray-600">
58
+ <i class="fas fa-cog"></i>
59
+ </button>
60
+ </div>
61
+ </header>
62
+
63
+ <!-- Chat Container -->
64
+ <div class="bg-white rounded-xl shadow-md overflow-hidden mb-4 chat-container" id="chatContainer">
65
+ <!-- Welcome Message -->
66
+ <div class="p-4 border-b border-gray-100 bg-blue-50">
67
+ <div class="flex space-x-3">
68
+ <div class="flex-shrink-0">
69
+ <div class="w-8 h-8 rounded-full bg-blue-100 flex items-center justify-center">
70
+ <i class="fas fa-user-md text-blue-600 text-sm"></i>
71
+ </div>
72
+ </div>
73
+ <div class="message-animation">
74
+ <div class="text-sm font-medium text-gray-700">MediCare AI</div>
75
+ <div class="mt-1 text-sm text-gray-600">
76
+ ์•ˆ๋…•ํ•˜์„ธ์š”! MediCare AI ๊ฑด๊ฐ• ์ƒ๋‹ด ์ฑ—๋ด‡์ž…๋‹ˆ๋‹ค. <br>
77
+ ์–ด๋–ค ๊ฑด๊ฐ• ๊ด€๋ จ ๋ฌธ์ œ๋กœ ๋„์›€์„ ๋“œ๋ฆด๊นŒ์š”? <br>
78
+ ์ฆ์ƒ, ๋ณต์šฉ ์ค‘์ธ ์•ฝ๋ฌผ, ๋˜๋Š” ๊ฑด๊ฐ• ๊ด€๋ จ ์งˆ๋ฌธ์„ ์•Œ๋ ค์ฃผ์„ธ์š”.
79
+ </div>
80
+ <div class="mt-3 flex flex-wrap gap-2">
81
+ <button onclick="quickQuestion('๋‘ํ†ต์ด ์‹ฌํ•ด์š”')" class="px-3 py-1 text-xs bg-blue-50 hover:bg-blue-100 text-blue-600 rounded-full border border-blue-100 transition">
82
+ ๋‘ํ†ต์ด ์‹ฌํ•ด์š”
83
+ </button>
84
+ <button onclick="quickQuestion('๋ณตํ†ต์ด ์žˆ์–ด์š”')" class="px-3 py-1 text-xs bg-blue-50 hover:bg-blue-100 text-blue-600 rounded-full border border-blue-100 transition">
85
+ ๋ณตํ†ต์ด ์žˆ์–ด์š”
86
+ </button>
87
+ <button onclick="quickQuestion('๊ฐ๊ธฐ ์ฆ์ƒ์ด ์žˆ์–ด์š”')" class="px-3 py-1 text-xs bg-blue-50 hover:bg-blue-100 text-blue-600 rounded-full border border-blue-100 transition">
88
+ ๊ฐ๊ธฐ ์ฆ์ƒ์ด ์žˆ์–ด์š”
89
+ </button>
90
+ <button onclick="quickQuestion('์ŠคํŠธ๋ ˆ์Šค ๊ด€๋ฆฌ ๋ฐฉ๋ฒ•')" class="px-3 py-1 text-xs bg-blue-50 hover:bg-blue-100 text-blue-600 rounded-full border border-blue-100 transition">
91
+ ์ŠคํŠธ๋ ˆ์Šค ๊ด€๋ฆฌ ๋ฐฉ๋ฒ•
92
+ </button>
93
+ </div>
94
+ </div>
95
+ </div>
96
+ </div>
97
+
98
+ <!-- Chat Messages will be appended here -->
99
+ <div id="chatMessages" class="overflow-y-auto h-full p-4 space-y-4"></div>
100
+ </div>
101
+
102
+ <!-- Input Area -->
103
+ <div class="bg-white rounded-xl shadow-md p-4">
104
+ <div class="flex items-center space-x-2">
105
+ <button class="p-2 rounded-full text-gray-500 hover:bg-gray-100">
106
+ <i class="fas fa-plus"></i>
107
+ </button>
108
+ <div class="flex-grow relative">
109
+ <input
110
+ type="text"
111
+ id="userInput"
112
+ placeholder="์ฆ์ƒ์ด๋‚˜ ๊ฑด๊ฐ• ๊ด€๋ จ ์งˆ๋ฌธ์„ ์ž…๋ ฅํ•˜์„ธ์š”..."
113
+ class="w-full py-3 px-4 border border-gray-200 rounded-full focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent"
114
+ onkeypress="handleKeyPress(event)"
115
+ >
116
+ <button class="absolute right-3 top-1/2 transform -translate-y-1/2 text-gray-400 hover:text-blue-500">
117
+ <i class="far fa-smile"></i>
118
+ </button>
119
+ </div>
120
+ <button onclick="sendMessage()" class="p-3 rounded-full bg-blue-600 text-white hover:bg-blue-700 transition">
121
+ <i class="fas fa-paper-plane"></i>
122
+ </button>
123
+ </div>
124
+ <div class="mt-3 text-xs text-gray-500 text-center">
125
+ ์ฐธ๊ณ : ์ด ์ฑ—๋ด‡์€ ์ „๋ฌธ ์˜๋ฃŒ ์ƒ๋‹ด์„ ๋Œ€์ฒดํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์‹ฌ๊ฐํ•œ ์ฆ์ƒ์ด ์žˆ์„ ๊ฒฝ์šฐ ์ฆ‰์‹œ ๋ณ‘์›์„ ๋ฐฉ๋ฌธํ•˜์„ธ์š”.
126
+ </div>
127
+ </div>
128
+
129
+ <!-- Quick Action Buttons (Mobile) -->
130
+ <div class="sm:hidden mt-4 flex justify-around">
131
+ <button onclick="quickQuestion('์‘๊ธ‰ ์ƒํ™ฉ์ด์—์š”')" class="px-4 py-2 bg-red-100 hover:bg-red-200 text-red-600 rounded-full text-sm font-medium">
132
+ <i class="fas fa-bell mr-1"></i> ์‘๊ธ‰
133
+ </button>
134
+ <button onclick="showSymptomsList()" class="px-4 py-2 bg-green-100 hover:bg-green-200 text-green-600 rounded-full text-sm font-medium">
135
+ <i class="fas fa-list-ul mr-1"></i> ์ฆ์ƒ ๋ชฉ๋ก
136
+ </button>
137
+ <button onclick="quickQuestion('๋ณ‘์› ์ฐพ๊ธฐ')" class="px-4 py-2 bg-purple-100 hover:bg-purple-200 text-purple-600 rounded-full text-sm font-medium">
138
+ <i class="fas fa-hospital mr-1"></i> ๋ณ‘์› ์ฐพ๊ธฐ
139
+ </button>
140
+ </div>
141
+ </div>
142
+
143
+ <script>
144
+ // Sample responses for demonstration
145
+ const botResponses = {
146
+ "๋‘ํ†ต์ด ์‹ฌํ•ด์š”": [
147
+ "๋‘ํ†ต์ด ์‹ฌํ•˜์‹œ๊ตฐ์š”. ๋ช‡ ๊ฐ€์ง€ ์ถ”๊ฐ€ ์ •๋ณด๋ฅผ ์•Œ๋ ค์ฃผ์‹œ๊ฒ ์–ด์š”?",
148
+ "1. ๋‘ํ†ต์ด ์–ผ๋งˆ๋‚˜ ์ง€์†๋˜์—ˆ๋‚˜์š”? (๋ช‡ ์‹œ๊ฐ„/๋ช‡ ์ผ)",
149
+ "2. ์–ด๋А ๋ถ€์œ„๊ฐ€ ์•„ํ”„์‹ ๊ฐ€์š”? (์ด๋งˆ, ๋’ท๋ชฉ, ํ•œ์ชฝ ๋“ฑ)",
150
+ "3. ์ถ”๊ฐ€ ์ฆ์ƒ์ด ์žˆ๋‚˜์š”? (๊ตฌํ† , ์‹œ์•ผ ์ด์ƒ, ๋ฐœ์—ด ๋“ฑ)",
151
+ "์ผ๋ฐ˜์ ์œผ๋กœ ์ŠคํŠธ๋ ˆ์Šค, ์ˆ˜๋ฉด ๋ถ€์กฑ, ํƒˆ์ˆ˜ ๋“ฑ์ด ๋‘ํ†ต์˜ ์›์ธ์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ถฉ๋ถ„ํ•œ ํœด์‹๊ณผ ๋ฌผ ์„ญ์ทจ๋ฅผ ๊ถŒ์žฅ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ง€์†๋˜๊ฑฐ๋‚˜ ์‹ฌํ•ด์ง€๋ฉด ๋ณ‘์›์„ ๋ฐฉ๋ฌธํ•˜์‹œ๊ธธ ๋ฐ”๋ž๋‹ˆ๋‹ค."
152
+ ],
153
+ "๋ณตํ†ต์ด ์žˆ์–ด์š”": [
154
+ "๋ณตํ†ต์ด ์žˆ์œผ์‹œ๊ตฐ์š”. ๋” ์ž์„ธํžˆ ์„ค๋ช…ํ•ด์ฃผ์‹ค ์ˆ˜ ์žˆ๋‚˜์š”?",
155
+ "1. ์–ด๋А ๋ถ€์œ„๊ฐ€ ์•„ํ”„์‹ ๊ฐ€์š”? (์œ„, ๋ฐฐ๊ผฝ ์ฃผ๋ณ€, ์•„๋žซ๋ฐฐ ๋“ฑ)",
156
+ "2. ํ†ต์ฆ์˜ ์„ฑ๊ฒฉ์ด ์–ด๋–ป๊ฒŒ ๋˜๋‚˜์š”? (์ฐŒ๋ฅด๋Š” ๋“ฏ, ๋ฌต์งํ•œ, ์ฅ์–ด์งœ๋Š” ๋“ฏ ๋“ฑ)",
157
+ "3. ์ถ”๊ฐ€ ์ฆ์ƒ์ด ์žˆ๋‚˜์š”? (์„ค์‚ฌ, ๋ณ€๋น„, ๊ตฌํ† , ๋ฐœ์—ด ๋“ฑ)",
158
+ "๊ฐ€๋ฒผ์šด ๋ณตํ†ต์˜ ๊ฒฝ์šฐ ์†Œํ™”๋ถˆ๋Ÿ‰, ๊ฐ€์Šค ์ฐจ์ž„, ์‹์ค‘๋… ๋“ฑ์ด ์›์ธ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๊ธ‰์„ฑ ๋งน์žฅ์—ผ์ด๋‚˜ ๋‹ค๋ฅธ ์ค‘์ฆ ์งˆํ™˜์˜ ๊ฐ€๋Šฅ์„ฑ๋„ ์žˆ์œผ๋‹ˆ ํ†ต์ฆ์ด ์‹ฌํ•˜๊ฑฐ๋‚˜ ์ง€์†๋˜๋ฉด ๋ฐ˜๋“œ์‹œ ๋ณ‘์›์„ ๋ฐฉ๋ฌธํ•˜์„ธ์š”."
159
+ ],
160
+ "๊ฐ๊ธฐ ์ฆ์ƒ์ด ์žˆ์–ด์š”": [
161
+ "๊ฐ๊ธฐ ์ฆ์ƒ์ด ์žˆ์œผ์‹œ๊ตฐ์š”. ์–ด๋–ค ์ฆ์ƒ์ด ์žˆ๋‚˜์š”?",
162
+ "1. ๋ฐœ์—ด์ด ์žˆ๋‚˜์š”? ์žˆ๋‹ค๋ฉด ์ฒด์˜จ์€ ์–ด๋–ป๊ฒŒ ๋˜๋‚˜์š”?",
163
+ "2. ๊ธฐ์นจ, ์ธํ›„ํ†ต, ์ฝง๋ฌผ ์ค‘ ์–ด๋–ค ์ฆ์ƒ์ด ์žˆ๋‚˜์š”?",
164
+ "3. ์ฆ์ƒ์ด ์–ผ๋งˆ๋‚˜ ์ง€์†๋˜์—ˆ๋‚˜์š”?",
165
+ "๊ฐ๊ธฐ๋Š” ๋Œ€๊ฐœ 7-10์ผ ์ •๋„ ์ง€์†๋ฉ๋‹ˆ๋‹ค. ์ถฉ๋ถ„ํ•œ ํœด์‹๊ณผ ์ˆ˜๋ถ„ ์„ญ์ทจ, ๋น„ํƒ€๋ฏผ ์„ญ์ทจ๊ฐ€ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค. ๊ณ ์—ด(38.5ยฐC ์ด์ƒ)์ด ์ง€์†๋˜๊ฑฐ๋‚˜ ํ˜ธํก๊ณค๋ž€ ๋“ฑ์ด ์žˆ์œผ๋ฉด ๋ณ‘์›์„ ๋ฐฉ๋ฌธํ•˜์„ธ์š”."
166
+ ],
167
+ "์ŠคํŠธ๋ ˆ์Šค ๊ด€๋ฆฌ ๋ฐฉ๋ฒ•": [
168
+ "์ŠคํŠธ๋ ˆ์Šค ๊ด€๋ฆฌ๋Š” ๊ฑด๊ฐ• ์œ ์ง€์— ๋งค์šฐ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ๋ช‡ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์„ ๏ฟฝ๏ฟฝ๋ ค๋“œ๋ฆด๊ฒŒ์š”:",
169
+ "1. ๊ทœ์น™์ ์ธ ์šด๋™: ํ•˜๋ฃจ 30๋ถ„ ์ •๋„์˜ ์œ ์‚ฐ์†Œ ์šด๋™์ด ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.",
170
+ "2. ์ถฉ๋ถ„ํ•œ ์ˆ˜๋ฉด: ํ•˜๋ฃจ 7-8์‹œ๊ฐ„์˜ ์งˆ ์ข‹์€ ์ˆ˜๋ฉด์„ ์ทจํ•˜์„ธ์š”.",
171
+ "3. ๋ช…์ƒ ๋˜๋Š” ์‹ฌํ˜ธํก: ํ•˜๋ฃจ 5-10๋ถ„์”ฉ ๋ช…์ƒ์ด๋‚˜ ๊นŠ์€ ํ˜ธํก์„ ํ•ด๋ณด์„ธ์š”.",
172
+ "4. ์ทจ๋ฏธ ํ™œ๋™: ์ฆ๊ฑฐ์›€์„ ์ฃผ๋Š” ํ™œ๋™์— ์‹œ๊ฐ„์„ ํ• ๋‹นํ•˜์„ธ์š”.",
173
+ "5. ์‚ฌํšŒ์  ์ง€์›: ์นœ๊ตฌ๋‚˜ ๊ฐ€์กฑ๊ณผ์˜ ๋Œ€ํ™”๊ฐ€ ํฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.",
174
+ "์ŠคํŠธ๋ ˆ์Šค๊ฐ€ ์ง€์†๋˜์–ด ์ผ์ƒ ์ƒํ™œ์— ์ง€์žฅ์„ ์ค€๋‹ค๋ฉด ์ „๋ฌธ๊ฐ€์™€ ์ƒ๋‹ดํ•˜๋Š” ๊ฒƒ์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค."
175
+ ],
176
+ "์‘๊ธ‰ ์ƒํ™ฉ์ด์—์š”": [
177
+ "<span class='font-bold text-red-600'>์‘๊ธ‰ ์ƒํ™ฉ์ธ ๊ฒฝ์šฐ ์ฆ‰์‹œ 119์— ์—ฐ๋ฝํ•˜๊ฑฐ๋‚˜ ๊ฐ€๊นŒ์šด ์‘๊ธ‰์‹ค์„ ๋ฐฉ๋ฌธํ•˜์„ธ์š”.</span>",
178
+ "๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ฆ์ƒ์ด ์žˆ์œผ๋ฉด ์ฆ‰์‹œ ์‘๊ธ‰์ฒ˜์น˜๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค:",
179
+ "- ํ˜ธํก๊ณค๋ž€ ๋˜๋Š” ์ˆจ์„ ์‰ด ์ˆ˜ ์—†์Œ",
180
+ "- ์‹ฌํ•œ ๊ฐ€์Šด ํ†ต์ฆ ๋˜๋Š” ์••๋ฐ•๊ฐ",
181
+ "- ์˜์‹ ์†Œ์‹ค ๋˜๋Š” ํ˜ผ๋ž€ ์ƒํƒœ",
182
+ "- ์‹ฌํ•œ ์ถœํ˜ˆ",
183
+ "- ์‹ฌํ•œ ๋‘ํ†ต๊ณผ ํ•จ๊ป˜ ๊ตฌํ†  ๋˜๋Š” ์‹œ์•ผ ์ด์ƒ",
184
+ "์ด ์ฑ—๋ด‡์€ ์‘๊ธ‰ ์ƒํ™ฉ์— ๋Œ€์ฒ˜ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์œ„ํ—˜ ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๋‹ค๊ณ  ํŒ๋‹จ๋˜๋ฉด ์ฆ‰์‹œ ์ „๋ฌธ ์˜๋ฃŒ๊ธฐ๊ด€์„ ์ฐพ์œผ์„ธ์š”."
185
+ ],
186
+ "๋ณ‘์› ์ฐพ๊ธฐ": [
187
+ "๊ฐ€๊นŒ์šด ๋ณ‘์›์„ ์ฐพ๊ณ  ๊ณ„์‹œ๊ตฐ์š”. ํ˜„์žฌ ์œ„์น˜ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.",
188
+ "1. <button class='text-blue-600 underline'>๋‚ด ์œ„์น˜์—์„œ ๊ฐ€๊นŒ์šด ๋ณ‘์› ์ฐพ๊ธฐ</button>",
189
+ "2. <button class='text-blue-600 underline'>์‘๊ธ‰์‹ค์ด ์žˆ๋Š” ๋ณ‘์› ์ฐพ๊ธฐ</button>",
190
+ "3. <button class='text-blue-600 underline'>์•ผ๊ฐ„์ง„๋ฃŒ ๊ฐ€๋Šฅ ๋ณ‘์› ์ฐพ๊ธฐ</button>",
191
+ "๋” ์ •ํ™•ํ•œ ์ •๋ณด๋ฅผ ์›ํ•˜์‹œ๋ฉด ๋ณด๊ฑด๋ณต์ง€๋ถ€ ํ™ˆํŽ˜์ด์ง€(www.mohw.go.kr) ๋˜๋Š” ์ง€์—ญ ๋ณด๊ฑด์†Œ์— ๋ฌธ์˜ํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค."
192
+ ],
193
+ "default": [
194
+ "์ดํ•ดํ•˜์ง€ ๋ชปํ–ˆ์–ด์š”. ๊ฑด๊ฐ• ๊ด€๋ จ ์ฆ์ƒ์ด๋‚˜ ์งˆ๋ฌธ์„ ๋” ์ž์„ธํžˆ ์„ค๋ช…ํ•ด์ฃผ์‹œ๊ฒ ์–ด์š”?",
195
+ "์˜ˆ๋ฅผ ๋“ค์–ด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์งˆ๋ฌธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:",
196
+ "- \"์–ด์ œ๋ถ€ํ„ฐ ์—ด์ด 38๋„ ๋‚˜๊ณ  ๊ธฐ์นจ์ด ๋‚˜์š”\"",
197
+ "- \"์™ผ์ชฝ ํŒ”์— ์ €๋ฆผ ํ˜„์ƒ์ด ์žˆ๋Š”๋ฐ ์–ด๋–ค ๊ฒŒ ์›์ธ์ผ๊นŒ์š”?\"",
198
+ "- \"ํ˜ˆ์••์„ ๋‚ฎ์ถ”๋Š” ์ž์—ฐ์ ์ธ ๋ฐฉ๋ฒ•์ด ์žˆ์„๊นŒ์š”?\""
199
+ ]
200
+ };
201
+
202
+ // Function to send message
203
+ function sendMessage() {
204
+ const userInput = document.getElementById('userInput');
205
+ const message = userInput.value.trim();
206
+
207
+ if (message === '') return;
208
+
209
+ // Add user message to chat
210
+ addMessageToChat(message, 'user');
211
+ userInput.value = '';
212
+
213
+ // Show typing indicator
214
+ showTypingIndicator();
215
+
216
+ // Simulate bot thinking
217
+ setTimeout(() => {
218
+ // Remove typing indicator
219
+ removeTypingIndicator();
220
+
221
+ // Generate bot response
222
+ let response;
223
+ for (const key in botResponses) {
224
+ if (message.toLowerCase().includes(key.toLowerCase())) {
225
+ response = botResponses[key];
226
+ break;
227
+ }
228
+ }
229
+
230
+ if (!response) {
231
+ response = botResponses['default'];
232
+ }
233
+
234
+ // Add bot response to chat
235
+ response.forEach((line, index) => {
236
+ setTimeout(() => {
237
+ addMessageToChat(line, 'bot');
238
+ }, index * 500);
239
+ });
240
+
241
+ }, 1000 + Math.random() * 1000);
242
+ }
243
+
244
+ // Function to handle quick questions
245
+ function quickQuestion(question) {
246
+ document.getElementById('userInput').value = question;
247
+ sendMessage();
248
+ }
249
+
250
+ // Function to show symptoms list
251
+ function showSymptomsList() {
252
+ const symptoms = [
253
+ "๋‘ํ†ต", "๋ณตํ†ต", "๋ฐœ์—ด", "๊ธฐ์นจ", "์ธํ›„ํ†ต",
254
+ "๋ฉ”์Šค๊บผ์›€", "๊ตฌํ† ", "ํ˜„๊ธฐ์ฆ", "ํ”ผ๋กœ๊ฐ",
255
+ "ํ˜ธํก๊ณค๋ž€", "ํ‰ํ†ต", "๊ด€์ ˆํ†ต", "๊ทผ์œกํ†ต",
256
+ "์„ค์‚ฌ", "๋ณ€๋น„", "ํ”ผ๋ถ€ ๋ฐœ์ง„", "์‹œ์•ผ ์ด์ƒ"
257
+ ];
258
+
259
+ let message = "<div class='font-medium mb-2'>์ฆ์ƒ ๋ชฉ๋ก:</div><div class='flex flex-wrap gap-2'>";
260
+ symptoms.forEach(symptom => {
261
+ message += `<button onclick="quickQuestion('${symptom}์ด ์žˆ์–ด์š”')" class="px-3 py-1 text-xs bg-gray-100 hover:bg-gray-200 text-gray-700 rounded-full">${symptom}</button>`;
262
+ });
263
+ message += "</div>";
264
+
265
+ addMessageToChat(message, 'bot');
266
+ }
267
+
268
+ // Function to add message to chat
269
+ function addMessageToChat(message, sender) {
270
+ const chatMessages = document.getElementById('chatMessages');
271
+ const messageDiv = document.createElement('div');
272
+ messageDiv.className = 'message-animation';
273
+
274
+ if (sender === 'user') {
275
+ messageDiv.innerHTML = `
276
+ <div class="flex justify-end">
277
+ <div class="max-w-xs sm:max-w-md md:max-w-lg bg-blue-600 text-white rounded-xl px-4 py-2">
278
+ ${message}
279
+ </div>
280
+ </div>
281
+ `;
282
+ } else {
283
+ messageDiv.innerHTML = `
284
+ <div class="flex space-x-3">
285
+ <div class="flex-shrink-0">
286
+ <div class="w-8 h-8 rounded-full bg-blue-100 flex items-center justify-center">
287
+ <i class="fas fa-user-md text-blue-600 text-sm"></i>
288
+ </div>
289
+ </div>
290
+ <div class="max-w-xs sm:max-w-md md:max-w-lg bg-gray-100 text-gray-800 rounded-xl px-4 py-2">
291
+ ${message}
292
+ </div>
293
+ </div>
294
+ `;
295
+ }
296
+
297
+ chatMessages.appendChild(messageDiv);
298
+ chatMessages.scrollTop = chatMessages.scrollHeight;
299
+ }
300
+
301
+ // Function to show typing indicator
302
+ function showTypingIndicator() {
303
+ const chatMessages = document.getElementById('chatMessages');
304
+ const typingDiv = document.createElement('div');
305
+ typingDiv.className = 'flex space-x-3';
306
+ typingDiv.id = 'typingIndicator';
307
+ typingDiv.innerHTML = `
308
+ <div class="flex-shrink-0">
309
+ <div class="w-8 h-8 rounded-full bg-blue-100 flex items-center justify-center">
310
+ <i class="fas fa-user-md text-blue-600 text-sm"></i>
311
+ </div>
312
+ </div>
313
+ <div class="bg-gray-100 text-gray-800 rounded-xl px-4 py-2">
314
+ <div class="typing-indicator">
315
+ <span>.</span><span>.</span><span>.</span>
316
+ </div>
317
+ </div>
318
+ `;
319
+
320
+ chatMessages.appendChild(typingDiv);
321
+ chatMessages.scrollTop = chatMessages.scrollHeight;
322
+ }
323
+
324
+ // Function to remove typing indicator
325
+ function removeTypingIndicator() {
326
+ const typingIndicator = document.getElementById('typingIndicator');
327
+ if (typingIndicator) {
328
+ typingIndicator.remove();
329
+ }
330
+ }
331
+
332
+ // Function to handle enter key press
333
+ function handleKeyPress(event) {
334
+ if (event.key === 'Enter') {
335
+ sendMessage();
336
+ }
337
+ }
338
+ </script>
339
+ <p style="border-radius: 8px; text-align: center; font-size: 12px; color: #fff; margin-top: 16px;position: fixed; left: 8px; bottom: 8px; z-index: 10; background: rgba(0, 0, 0, 0.8); padding: 4px 8px;">Made with <img src="https://enzostvs-deepsite.hf.space/logo.svg" alt="DeepSite Logo" style="width: 16px; height: 16px; vertical-align: middle;display:inline-block;margin-right:3px;filter:brightness(0) invert(1);"><a href="https://enzostvs-deepsite.hf.space" style="color: #fff;text-decoration: underline;" target="_blank" >DeepSite</a> - ๐Ÿงฌ <a href="https://enzostvs-deepsite.hf.space?remix=joung/joung-joung" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body>
340
+ </html>