template: `
<div :class="'bubble ' + modifier + '-bubble ' + modifier +'-'+ child">
+ <small class="bubble-notify" v-if="modifier=='ai'"></small>
+
<p v-if="category=='text'">{{ text }}</p>
<p v-else-if="category=='audio'">{{ text }}</p>
Context
},
- props: ["modifier", "content", "context", "avatar", "id"],
+ props: ["modifier", "content", "context", "avatar", "id", "seen"],
setup(props)
{
template: `
<div :id="id" :class="'message ' + modifier + '-message'">
+ <div class="message-session" v-if="context=='Crimata AI'">
+ New Session
+ </div>
+
<Bubble
v-for="(c, index) in content"
:category="c.category"
margin-bottom: 6px;
}
+.message-session {
+ width: 100vw;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ font-family: "SF Compact Display";
+ font-size: 12px;
+ font-weight: bold;
+ color: #9B9B9B;
+ margin-bottom: 18px;
+}
+
.client-message {
align-items: flex-end;
}
margin-bottom: 4px;
}
+.bubble-notify {
+ position: absolute;
+ width: 12px;
+ height: 12px;
+ border-radius: 50%;
+ background-color: #58D9FF;
+ top: -5px;
+ left: -5px;
+ border: 2px solid #EBEBEB;
+ transform: scale(0);
+ animation-name: bubble-notify-anim;
+ animation-duration: 5s;
+}
+
+@keyframes bubble-notify-anim {
+ 0%, 90% {
+ transform: scale(1);
+ }
+ 100% {
+ transform: scale(0);
+ }
+}
+
.ai-bubble {
background-color: #FFFFFF;
margin-left: 15px;