diff --git a/src/components/messageView/message/calcPosition.ts b/src/components/messageView/message/calcPosition.ts
new file mode 100644
index 0000000..ada379c
--- /dev/null
+++ b/src/components/messageView/message/calcPosition.ts
@@ -0,0 +1,33 @@
+import {computed} from "vue";
+
+// Size of "side-gutters" of message window.
+const margin = 20;
+const messagePadding = 15;
+const firstChildMargin = 45;
+
+
+function calcXPosition(messageWidth: number, windowWidth: number, modifier: string) {
+ let offset = margin;
+
+ if (modifier == "sf") {
+ offset = windowWidth - messageWidth - margin;
+ }
+
+ return offset
+}
+
+function calcMessagePosition(modifier: string, messageWidth: number,
+ windowWidth: number, anchorPosition: any) {
+
+ const X = calcXPosition(messageWidth, windowWidth, modifier);
+
+ // Depends on if first child.
+ let Y = firstChildMargin;
+ if (anchorPosition != "none") {
+ Y = anchorPosition + messagePadding;
+ }
+
+ return `translate(${X} ${Y})`;
+}
+
+export default calcMessagePosition;
\ No newline at end of file
diff --git a/src/components/messageView/message/message.vue b/src/components/messageView/message/message.vue
new file mode 100644
index 0000000..bd8e804
--- /dev/null
+++ b/src/components/messageView/message/message.vue
@@ -0,0 +1,101 @@
+
+
+
+
+
+
+
diff --git a/src/components/messageView/textBubble.vue b/src/components/messageView/textBubble.vue
deleted file mode 100644
index 3e02ebb..0000000
--- a/src/components/messageView/textBubble.vue
+++ /dev/null
@@ -1,83 +0,0 @@
-
-
-
-
-
-
-
diff --git a/src/components/messageView/textBubble/computed.ts b/src/components/messageView/textBubble/computed.ts
index c6a9c86..e26ba0f 100644
--- a/src/components/messageView/textBubble/computed.ts
+++ b/src/components/messageView/textBubble/computed.ts
@@ -65,8 +65,8 @@ export default function useComputedBubble(m: string, id: string) {
if (parentView) {
const dimensions = parentView.getBoundingClientRect();
- let X = calculateXoffset(dimensions.width);
- let Y = calculateYoffset(dimensions.height);
+ const X = calculateXoffset(dimensions.width);
+ const Y = calculateYoffset(dimensions.height);
return `translate(${X} ${Y})`;
}
diff --git a/src/components/taInput/inputController.ts b/src/components/taInput/inputController.ts
index d95f7dc..1f79bb2 100644
--- a/src/components/taInput/inputController.ts
+++ b/src/components/taInput/inputController.ts
@@ -29,7 +29,6 @@ export default function useInputController() {
audio: 0,
text: input
};
-<<<<<<< Updated upstream
// trigger send animation
emitter.emit("animate-send");
@@ -40,13 +39,6 @@ export default function useInputController() {
const {
visualizeStreamAsPaths,
-=======
- emitter.emit("animate-send", message);
- }
-
- const {
- visualizeStreamAsPaths,
->>>>>>> Stashed changes
expandBubble
} = useAudioVisualizer(visualizeStream);
diff --git a/src/views/messenger.vue b/src/views/messenger.vue
index c15f332..6071aca 100644
--- a/src/views/messenger.vue
+++ b/src/views/messenger.vue
@@ -2,38 +2,56 @@