bux fixes, profile initials
This commit is contained in:
parent
41528e7e27
commit
ccb07d594b
12 changed files with 69 additions and 31 deletions
|
|
@ -5,6 +5,10 @@ const { postLogin } = require("./api");
|
|||
const { ipcEmit } = require("./utils/emitter");
|
||||
const { launchSession, endSession } = require("./session");
|
||||
|
||||
// store.set("account", "smith12@gmail.com");
|
||||
store.set("account", "gundersena@crimata.com");
|
||||
// store.delete("account");
|
||||
|
||||
async function login(_e, email, password)
|
||||
{
|
||||
const res = await postLogin(email, password);
|
||||
|
|
|
|||
|
|
@ -85,8 +85,13 @@ function playback(base64String, id)
|
|||
function terminateAudio()
|
||||
{
|
||||
globalShortcut.unregisterAll();
|
||||
clearInterval(setStreamsId);
|
||||
nodeAudio.core.Terminate();
|
||||
|
||||
/* Only terminate PA if initialized */
|
||||
if (setStreamsId)
|
||||
{
|
||||
clearInterval(setStreamsId);
|
||||
nodeAudio.core.Terminate();
|
||||
}
|
||||
}
|
||||
|
||||
function setRecordingStatus(status)
|
||||
|
|
|
|||
|
|
@ -2,6 +2,19 @@ const Bubble =
|
|||
{
|
||||
props: ["modifier", "text", "child"],
|
||||
|
||||
setup(props)
|
||||
{
|
||||
Vue.onMounted(() => {
|
||||
|
||||
const messengerEl = document.getElementById("messenger");
|
||||
|
||||
if (messengerEl) {
|
||||
messengerEl.dispatchEvent(new CustomEvent('adjust-scroll'));
|
||||
}
|
||||
|
||||
});
|
||||
},
|
||||
|
||||
template: `
|
||||
<div :class="'bubble ' + modifier + '-bubble ' + modifier +'-'+ child">
|
||||
{{ text }}
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ const Context =
|
|||
<span :class="'context ' + modifier + '-context'">
|
||||
|
||||
<div
|
||||
v-if="avatar != 'False'"
|
||||
v-show="avatar"
|
||||
class="context-avatar"
|
||||
:class="{ audio: playback }"
|
||||
>
|
||||
|
|
|
|||
|
|
@ -95,7 +95,6 @@ function draggify(elementId, margin) {
|
|||
const onMouseUp = (e) => {
|
||||
e.preventDefault();
|
||||
|
||||
console.log("onMouseUp");
|
||||
window.removeEventListener('mousemove', onMouseMove);
|
||||
window.removeEventListener('mouseup', onMouseUp);
|
||||
|
||||
|
|
|
|||
|
|
@ -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 {
|
||||
|
|
|
|||
|
|
@ -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' }"
|
||||
>
|
||||
|
||||
<div id="input-icon"></div>
|
||||
<div id="input-icon">{{ initials }}</div>
|
||||
|
||||
<input
|
||||
id="input-text" type="text"
|
||||
|
|
@ -35,5 +41,17 @@ const Input =
|
|||
</div> `
|
||||
}
|
||||
|
||||
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;
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -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 };
|
||||
},
|
||||
|
||||
|
|
|
|||
|
|
@ -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: `
|
||||
<Settings />
|
||||
<WS />
|
||||
<Input/>
|
||||
<Input :person="person" />
|
||||
|
||||
<div id="messenger">
|
||||
<Message
|
||||
|
|
|
|||
|
|
@ -9,7 +9,6 @@ const WS =
|
|||
|
||||
window.mainApi.on("ws-status", (val) => {
|
||||
status.value = val;
|
||||
console.log(status.value);
|
||||
});
|
||||
|
||||
});
|
||||
|
|
|
|||
|
|
@ -50,4 +50,4 @@ contextBridge.exposeInMainWorld(
|
|||
ipcRenderer.removeAllListeners(channel);
|
||||
}
|
||||
}
|
||||
);
|
||||
);
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
Loading…
Reference in a new issue