diff --git a/src/render/components/control/draggify.js b/src/render/components/control/draggify.js
index e7545a0..f85b930 100644
--- a/src/render/components/control/draggify.js
+++ b/src/render/components/control/draggify.js
@@ -95,7 +95,6 @@ function draggify(elementId, margin) {
const onMouseUp = (e) => {
e.preventDefault();
- console.log("onMouseUp");
window.removeEventListener('mousemove', onMouseMove);
window.removeEventListener('mouseup', onMouseUp);
diff --git a/src/render/components/control/text.js b/src/render/components/control/text.js
index e1a5250..9439df8 100644
--- a/src/render/components/control/text.js
+++ b/src/render/components/control/text.js
@@ -47,7 +47,7 @@ function useText(elementId, left, typing)
if (e.key === "Enter" && el.value)
{
window.mainApi.send("message", {
- text: el.value, audio: false });
+ text: el.value, audio: null });
show.value = false;
}
});
@@ -56,7 +56,7 @@ function useText(elementId, left, typing)
Vue.watch(left, calcSide);
- Vue.watch(show, (c, p_) => {
+ Vue.watch(show, (c, _p) => {
if (c) {
el.focus();
} else {
diff --git a/src/render/components/input.js b/src/render/components/input.js
index 137f443..0bfe8e7 100644
--- a/src/render/components/input.js
+++ b/src/render/components/input.js
@@ -3,8 +3,12 @@ import draggify from "./control/draggify.js";
const Input =
{
- setup()
+ props: ["person"],
+
+ setup(props)
{
+ const initials = Vue.ref("");
+
const recording = Vue.ref(false);
const { elementX, elementY } = draggify("input", 15);
@@ -13,7 +17,9 @@ const Input =
window.mainApi.on("record", (status) => recording.value = status);
- return { elementX, elementY, recording, leftSide, show };
+ Vue.watch(() => props.person, (c, _p) => initials.value = getInitials(c));
+
+ return { initials, elementX, elementY, recording, leftSide, show };
},
template: `
@@ -21,7 +27,7 @@ const Input =
:style="{ top: elementY + 'px', left: elementX + 'px' }"
>
-
+
{{ initials }}
`
}
+function getInitials(name)
+{
+ let rgx = new RegExp(/(\p{L}{1})\p{L}+/, 'gu');
+
+ let initials = [...name.matchAll(rgx)] || [];
+
+ return (
+ (initials.shift()?.[1] || '') + (initials.pop()?.[1] || '')
+ ).toUpperCase();
+}
+
export default Input;
+
diff --git a/src/render/components/message.js b/src/render/components/message.js
index de822e2..28605c5 100644
--- a/src/render/components/message.js
+++ b/src/render/components/message.js
@@ -12,16 +12,6 @@ const Message =
setup(props)
{
- Vue.onMounted(() => {
-
- const messengerEl = document.getElementById("messenger");
-
- if (messengerEl) {
- messengerEl.dispatchEvent(new CustomEvent('adjust-scroll'));
- }
-
- });
-
return { calcChild };
},
diff --git a/src/render/components/messenger.js b/src/render/components/messenger.js
index 5151907..aa07e29 100644
--- a/src/render/components/messenger.js
+++ b/src/render/components/messenger.js
@@ -16,16 +16,23 @@ const Messenger = {
setup()
{
+ const person = Vue.ref("");
const messages = Vue.ref([]);
Vue.onMounted(() => {
window.mainApi.on("ui-init", (ui) => {
- messages.value = ui;
+ person.value = ui.person;
+ messages.value = ui.messages;
});
window.mainApi.on("ui-update", (message) => {
- console.log(message)
+
+ if (message.hasOwnProperty("person"))
+ {
+ person.value = message.person;
+ return;
+ }
let index = messages.value.findIndex(m => m.id===message.id);
if (index >= 0)
@@ -47,13 +54,13 @@ const Messenger = {
messages.value = [];
});
- return { messages };
+ return { person, messages };
},
template: `
-
+
{
status.value = val;
- console.log(status.value);
});
});
diff --git a/src/render/preload.js b/src/render/preload.js
index a2dded6..93bd7e6 100644
--- a/src/render/preload.js
+++ b/src/render/preload.js
@@ -50,4 +50,4 @@ contextBridge.exposeInMainWorld(
ipcRenderer.removeAllListeners(channel);
}
}
-);
\ No newline at end of file
+);
diff --git a/src/session.js b/src/session.js
index b4a1814..b131d30 100644
--- a/src/session.js
+++ b/src/session.js
@@ -13,13 +13,16 @@ let processContentId;
backgroundMitt.on("ws-message", (message) =>
{
- console.log(message)
if (message.hasOwnProperty("ui"))
{
- console.log("INITING UI")
ui = message.ui;
ipcEmit("ui-init", ui);
}
+ else if (message.hasOwnProperty("person"))
+ {
+ ui.person = message.person;
+ ipcEmit("ui-update", message);
+ }
else
{
updateQueue.push(message);
@@ -33,20 +36,20 @@ function handleMessage()
const message = updateQueue.shift();
if (message)
{
- let index = ui.findIndex(m => m.id === message.id);
+ let index = ui.messages.findIndex(m => m.id === message.id);
if (index >= 0)
{
- ui[index] = message;
+ ui.messages[index] = message;
}
else
{
- ui.push(message)
+ ui.messages.push(message)
}
if (message.modifier === "ai" && !store.get("focus"))
{
- new Notification({title: message.context, body: message.content}).show();
+ new Notification({title: message.context, body: message.content[message.content.length - 1]}).show();
}
if (message.audio) playback(message.audio, message.id);