- {{ message.avatar }}
+
+
+ {{ message.context[0] }}
{{ message.context }}
@@ -79,12 +83,28 @@
align-items: flex-end;
}
+ #frMessage {
+ align-items: flex-start;
+ }
+
+ .messageBox {
+ display: flex;
+ flex-direction: column;
+ }
+
#aiMessageBox {
margin-left: 20px;
+ align-items: flex-start;
}
#sfMessageBox {
margin-right: 20px;
+ align-items: flex-end;
+ }
+
+ #frMessageBox {
+ margin-left: 20px;
+ align-items: flex-start;
}
.bubble {
@@ -110,6 +130,10 @@
color: white;
}
+ #frBubble {
+ background-color: white;
+ }
+
.context {
display: flex;
align-items: center;
@@ -117,7 +141,6 @@
font-family: "SF Compact Display";
font-size: 12px;
font-weight: bold;
- margin-left: 7px;
margin-top: 5px;
}
diff --git a/src/components/resize.ts b/src/components/resize.ts
new file mode 100644
index 0000000..4a28203
--- /dev/null
+++ b/src/components/resize.ts
@@ -0,0 +1,7 @@
+
+// Update inputItem position on window resize.
+// Gets called on window.resize event.
+function handleWindowResize (e: any) {
+
+}
+
diff --git a/src/test.vue b/src/test.vue
new file mode 100644
index 0000000..5651d69
--- /dev/null
+++ b/src/test.vue
@@ -0,0 +1,66 @@
+ // Snap to the nearest window border and update percentages. Called when
+ // user stops dragging the inputItem.
+ const mouseUp = (e: any) => {
+ window.removeEventListener('mousemove', divMove, true);
+
+ const winW = window.innerWidth
+ const winH = window.innerHeight
+ console.log(`Window dimensions: W${winW} H${winH}`)
+
+ // First, are we changing inputItemX or inputItemY?
+
+ let xShort = winW - inputItemX.value
+ if (xShort > winW / 2) {
+ xShort = inputItemX.value
+ }
+
+ let yShort = winH - inputItemY.value
+ if (yShort > winH / 2) {
+ yShort = inputItemY.value
+ }
+
+ const shortest = (xShort < yShort) ? "inputItemX" : "inputItemY"
+
+ // Then, are we tranlating it positive or negative?
+ // To answer this, we see which side is it closer to.
+ // We also update percentages to aid in window resizing (handleResize).
+
+ if (shortest == "inputItemX") {
+ if (inputItemX.value < winW / 2) {
+ inputItemX.value = 0
+ percentX = 0.0
+ } else {
+ inputItemX.value = winW - 38
+ percentX = 1.0
+ }
+ percentY = inputItemY.value / winH
+ } else {
+ if (inputItemY.value < winH / 2) {
+ inputItemY.value = 0
+ percentY = 0.0
+ } else {
+ inputItemY.value = winH - 38
+ percentY = 1.0
+ }
+ percentX = inputItemX.value / winW
+
+ }
+ console.log(`Percents updated: iX: ${percentX} iY: ${percentY}`)
+ }
+
+
+
+
+ if (percentX == 1.0) {
+ inputItemX.value = window.innerWidth * percentX - 38
+ } else {
+ inputItemX.value = window.innerWidth * percentX
+ }
+
+ if (percentY == 1.0) {
+ inputItemY.value = window.innerHeight * percentY - 38
+ } else {
+ inputItemY.value = window.innerHeight * percentY
+ }
+
+ }
\ No newline at end of file
diff --git a/src/types/message/index.ts b/src/types/message/index.ts
index 1997303..5163d68 100644
--- a/src/types/message/index.ts
+++ b/src/types/message/index.ts
@@ -1,11 +1,11 @@
export interface Message {
- content: string;
- avatar: string;
+ content: {
+ text: string;
+ audio: boolean | Buffer;
+ };
context: string;
- subContext: string;
modifier: string;
id: string;
- time: string;
}
interface MessageTransform {
diff --git a/src/views/messenger.vue b/src/views/messenger.vue
index 25ebd75..91ccc8c 100644
--- a/src/views/messenger.vue
+++ b/src/views/messenger.vue
@@ -1,6 +1,7 @@
+
@@ -15,6 +16,7 @@ import { defineComponent, reactive, onMounted, ref, onUnmounted } from "vue";
import TextAudioInput from "@/components/taInput/index.vue";
import { Message } from "@/types/message/index";
import MessageItem from '@/components/messageItem.vue'
+// import InputItem from "@/components/inputItem.vue";
export default defineComponent({
name: "Messenger",
@@ -22,6 +24,7 @@ export default defineComponent({
components: {
TextAudioInput,
MessageItem,
+ // InputItem
},
setup() {
@@ -33,7 +36,7 @@ export default defineComponent({
// Render a message.
const render = (message: Message) => {
messages.push(message);
- console.log(`Pushing: ${message.modifier}: ${message.avatar}, ${message.content}`);
+ console.log(`Pushing: ${message.modifier}: ${message.content.text} ${message.context}`);
}
onMounted(() => {