{{ date.toLocaleTimeString(undefined, { timeStyle: "short" }) }}
@@ -39,9 +33,18 @@
-
-
\ No newline at end of file
diff --git a/types/hooks.ts b/types/hooks.ts
deleted file mode 100644
index 73a7894..0000000
--- a/types/hooks.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-import type { RuntimeNuxtHooks } from 'nuxt/schema';
-
-declare module "nuxt/schema" {
- interface RuntimeNuxtHooks {
- "app:message:right-clicked": (payload: { messageId: string }) => void
- }
-}
diff --git a/types/interfaces.ts b/types/interfaces.ts
index 72cda88..7b9a97b 100644
--- a/types/interfaces.ts
+++ b/types/interfaces.ts
@@ -44,8 +44,7 @@ export interface MessageResponse {
channel_uuid: string,
user_uuid: string,
message: string,
- reply_to: string | null,
- user: UserResponse,
+ user: UserResponse
}
export interface InviteResponse {
@@ -85,8 +84,3 @@ export interface ScrollPosition {
offsetTop: number,
offsetLeft: number
}
-
-export interface ContextMenuItem {
- name: string,
- callback: (...args: any[]) => any;
-}
diff --git a/types/props.ts b/types/props.ts
deleted file mode 100644
index aa6ff0c..0000000
--- a/types/props.ts
+++ /dev/null
@@ -1,20 +0,0 @@
-import type { MessageResponse, UserResponse } from "./interfaces";
-
-export interface MessageProps {
- class?: string,
- img?: string | null,
- author?: UserResponse
- text: string,
- timestamp: number,
- format: "12" | "24",
- type: "normal" | "grouped",
- marginBottom: boolean,
- last: boolean,
- messageId: string,
- replyingTo?: boolean,
- editing?: boolean,
- me: UserResponse
- message: MessageResponse,
- replyMessage?: MessageResponse
- isMentioned?: boolean,
-}
\ No newline at end of file
diff --git a/utils/createContextMenu.ts b/utils/createContextMenu.ts
deleted file mode 100644
index f3c4aab..0000000
--- a/utils/createContextMenu.ts
+++ /dev/null
@@ -1,17 +0,0 @@
-import { render } from "vue";
-import ContextMenu from "~/components/ContextMenu.vue";
-import type { ContextMenuItem } from "~/types/interfaces";
-
-export default (e: MouseEvent, menuItems: ContextMenuItem[]) => {
- console.log("Rendering new context menu");
- const menuContainer = document.createElement("div");
- menuContainer.id = "context-menu";
- document.body.appendChild(menuContainer);
- const contextMenu = h(ContextMenu, {
- menuItems,
- cursorX: e.clientX,
- cursorY: e.clientY
- });
- render(contextMenu, menuContainer);
- console.log("Rendered");
-}
diff --git a/utils/editMessage.ts b/utils/editMessage.ts
deleted file mode 100644
index 5cc3ce8..0000000
--- a/utils/editMessage.ts
+++ /dev/null
@@ -1,24 +0,0 @@
-import type { MessageProps } from "~/types/props";
-
-export default async (element: HTMLDivElement, props: MessageProps) => {
- console.log("message:", element);
- const me = await fetchWithApi("/me") as any;
- if (props.author?.uuid == me.uuid) {
- const text = element.getElementsByClassName("message-text")[0] as HTMLDivElement;
- text.contentEditable = "true";
- text.focus();
- const range = document.createRange();
- range.selectNodeContents(text);
- range.collapse(false);
- const selection = window.getSelection();
- selection?.removeAllRanges();
- selection?.addRange(range);
- element.addEventListener("keyup", (e) => {
- console.log("key released:", e.key);
- if (e.key == "Escape") {
- text.contentEditable = "false";
- }
- text.blur();
- }, { once: true });
- }
-}
diff --git a/utils/removeContextMenu.ts b/utils/removeContextMenu.ts
deleted file mode 100644
index 3b42c8b..0000000
--- a/utils/removeContextMenu.ts
+++ /dev/null
@@ -1,6 +0,0 @@
-export default () => {
- const contextMenu = document.getElementById("context-menu");
- if (contextMenu) {
- contextMenu.remove();
- }
-}
diff --git a/utils/replyToMessage.ts b/utils/replyToMessage.ts
deleted file mode 100644
index bbb453b..0000000
--- a/utils/replyToMessage.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-import { render } from "vue";
-import MessageReply from "~/components/MessageReply.vue";
-import type { MessageProps } from "~/types/props";
-
-export default (element: HTMLDivElement, props: MessageProps) => {
- console.log("element:", element);
- const messageBox = document.getElementById("message-box") as HTMLDivElement;
- if (messageBox) {
- const div = document.createElement("div");
- const messageReply = h(MessageReply, { author: props.author?.display_name || props.author!.username, text: props.text || "", id: props.message.uuid, replyId: props.replyMessage?.uuid || element.dataset.messageId!, maxWidth: "full" });
- messageBox.prepend(div);
- render(messageReply, div);
- }
-}