4 changed files with 110 additions and 73 deletions
@ -1,66 +1,66 @@
@@ -1,66 +1,66 @@
|
||||
<!DOCTYPE html> |
||||
<html> |
||||
<head> |
||||
<title> |
||||
Kara |
||||
</title> |
||||
<link href="https://bootswatch.com/4/slate/bootstrap.min.css" rel="stylesheet" type="text/css"/> |
||||
<link href="app.css" rel="stylesheet" type="text/css"/> |
||||
<meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0, shrink-to-fit=no" name="viewport"> |
||||
</head> |
||||
<body> |
||||
<div class="container" id="kara"> |
||||
<div class="row"> |
||||
<div class="col-md-12"> |
||||
<div class="card"> |
||||
<div class="card-header"> |
||||
<h5 class="text-center"> |
||||
Kara |
||||
</h5> |
||||
</div> |
||||
<div class="card-body"> |
||||
<div id="chat-box"> |
||||
<template v-for="message in messages"> |
||||
<div class="message ai-message float-left" v-if="message.ai"> |
||||
{{ message.body }} |
||||
<br/> |
||||
</div> |
||||
<div class="message user-message float-right" v-else=""> |
||||
{{ message.body }} |
||||
<br/> |
||||
</div> |
||||
</template> |
||||
<div class="message ai-message typing float-left" v-if="isTyping"> |
||||
<div class="spinner-grow text-secondary" role="status"> |
||||
<span class="sr-only"> |
||||
Loading... |
||||
</span> |
||||
</div> |
||||
<div class="spinner-grow text-secondary" role="status"> |
||||
<span class="sr-only"> |
||||
Loading... |
||||
</span> |
||||
</div> |
||||
<div class="spinner-grow text-secondary" role="status"> |
||||
<span class="sr-only"> |
||||
Loading... |
||||
</span> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<div class="card-footer"> |
||||
<input autofocus="true" class="form-control" id="chatinput" type="text" v-model="chatbox" v-on:keyup.enter="sendMessage()" required autofocus> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
<head> |
||||
<title> |
||||
Kara |
||||
</title> |
||||
<link href="https://bootswatch.com/4/slate/bootstrap.min.css" rel="stylesheet" type="text/css"/> |
||||
<link href="app.css" rel="stylesheet" type="text/css"/> |
||||
<meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0, shrink-to-fit=no" |
||||
name="viewport"> |
||||
</head> |
||||
<body> |
||||
<div class="container-fluid" id="kara"> |
||||
<h5 id="kara-banner"> |
||||
Kara |
||||
</h5> |
||||
|
||||
<div id="chat-box"> |
||||
<template v-for="message in messages"> |
||||
<div class="message ai-message float-left" v-if="message.ai"> |
||||
{{ message.body }} |
||||
<br/> |
||||
</div> |
||||
<div class="message user-message float-right" v-else=""> |
||||
{{ message.body }} |
||||
<br/> |
||||
</div> |
||||
</template> |
||||
<div class="message ai-message typing float-left" v-if="isTyping"> |
||||
<div class="spinner-grow text-secondary" role="status"> |
||||
<span class="sr-only"> |
||||
Loading... |
||||
</span> |
||||
</div> |
||||
<div class="spinner-grow text-secondary" role="status"> |
||||
<span class="sr-only"> |
||||
Loading... |
||||
</span> |
||||
</div> |
||||
<div class="spinner-grow text-secondary" role="status"> |
||||
<span class="sr-only"> |
||||
Loading... |
||||
</span> |
||||
</div> |
||||
</div> |
||||
<script src="https://code.jquery.com/jquery-3.5.1.js"> |
||||
</script> |
||||
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"> |
||||
</script> |
||||
<script src="app.js"> |
||||
</script> |
||||
</body> |
||||
</div> |
||||
|
||||
<div id="chatbox-wrapper"> |
||||
<input |
||||
autofocus="true" |
||||
class="form-control" |
||||
id="chatinput" |
||||
type="text" |
||||
v-model="chatbox" |
||||
v-on:keyup.enter="sendMessage()" |
||||
required autofocus> |
||||
</div> |
||||
</div> |
||||
<script src="https://code.jquery.com/jquery-3.5.1.js"> |
||||
</script> |
||||
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"> |
||||
</script> |
||||
<script src="app.js"> |
||||
</script> |
||||
</body> |
||||
</html> |
||||
|
Loading…
Reference in new issue