-
Notifications
You must be signed in to change notification settings - Fork 12
Expand file tree
/
Copy pathlayout.html
More file actions
125 lines (101 loc) · 4.41 KB
/
Copy pathlayout.html
File metadata and controls
125 lines (101 loc) · 4.41 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
<!DOCTYPE html>
<html th:fragment="layout (template, menu)" xmlns:th="https://www.thymeleaf.org">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" type="image/x-icon" th:href="@{/resources/images/favicon.png}">
<title th:text="#{layoutTitle}">PetClinic :: a Spring Framework demonstration</title>
<link th:href="@{/webjars/font-awesome/css/font-awesome.min.css}" rel="stylesheet">
<link rel="stylesheet" th:href="@{/resources/css/petclinic.css}" />
<link rel="stylesheet" th:href="@{/resources/css/chat.css}" />
</head>
<body>
<nav class="navbar navbar-expand-lg navbar-dark" role="navigation">
<div class="container-fluid">
<a class="navbar-brand" th:href="@{/}"><span></span></a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#main-navbar">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="main-navbar" style>
<ul class="navbar-nav me-auto mb-2 mb-lg-0" th:remove="all">
<li th:fragment="menuItem (link,active,title,glyph,text)" th:class="nav-item">
<a th:class="${active==menu ? 'nav-link active' : 'nav-link'}" th:href="@{__${link}__}" th:title="${title}">
<span th:class="'fa fa-'+${glyph}" class="fa fa-home"></span>
<span th:text="${text}">Template</span>
</a>
</li>
</ul>
<ul class="nav navbar-nav me-auto">
<li th:replace="~{::menuItem ('/','home','home page','home',#{home})}">
<span class="fa fa-home" aria-hidden="true"></span>
<span th:text="#{home}">Home</span>
</li>
<li th:replace="~{::menuItem ('/owners/find','owners','find owners','search',#{findOwners})}">
<span class="fa fa-search" aria-hidden="true"></span>
<span th:text="#{findOwners}">Find owners</span>
</li>
<li th:replace="~{::menuItem ('/vets.html','vets','veterinarians','th-list',#{vets})}">
<span class="fa fa-th-list" aria-hidden="true"></span>
<span th:text="#{vets}">Veterinarians</span>
</li>
<li
th:replace="~{::menuItem ('/oups','error','trigger a RuntimeException to see how it is handled','exclamation-triangle',#{error})}">
<span class="fa exclamation-triangle" aria-hidden="true"></span>
<span th:text="#{error}">Error</span>
</li>
</ul>
</div>
</div>
</nav>
<div class="container-fluid">
<div class="container xd-container">
<th:block th:insert="${template}" />
<br />
<br />
<div class="container">
<div class="row">
<div class="col-12 text-center">
<img src="../static/images/spring-logo.svg" th:src="@{/resources/images/spring-logo.svg}"
alt="VMware Tanzu Logo" class="logo">
</div>
</div>
</div>
</div>
</div>
<div class="chatbox" id="chatbox">
<div class="chatbox-header" onclick="toggleChatbox()">
Chat with Us!
</div>
<div class="chatbox-content" id="chatbox-content">
<div class="chatbox-messages" id="chatbox-messages">
<!-- Chat messages will be dynamically inserted here -->
</div>
<div id="chatbox-input-container">
<textarea
id="chatbox-input"
rows="1"
onkeydown="handleKeyDown(event)"
placeholder="Enter your message..."></textarea>
<button onclick="sendMessage()" class="btn btn-primary">
<i class="fa fa-paper-plane"></i>
</button>
<button id="mic-button" onclick="toggleSpeechRecognition()" class="btn btn-primary">
<i class="fa fa-microphone"></i>
</button>
</div>
</div>
</div>
<script th:src="@{/webjars/bootstrap/dist/js/bootstrap.bundle.min.js}"></script>
<script th:src="@{/webjars/marked/14.1.2/marked.min.js}"></script>
<!-- JavaScript for handling chatbox interaction -->
<script th:src="@{/resources/js/chat.js}"></script>
<script>
// Call loadChatMessages when the page loads
window.onload = loadChatMessages;
// Ensure messages are saved when navigating away
window.onbeforeunload = saveChatMessages;
</script>
</body>
</html>