diff --git a/package.json b/package.json index 50c0f97e..22ec034b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mage-website", - "version": "0.0.8", + "version": "0.0.9", "license": "GPL-3.0", "private": true, "type": "module", diff --git a/src/lib/components/Channel/Chat/ChatInput.svelte b/src/lib/components/Channel/Chat/ChatInput.svelte index 7d4888c1..127f654f 100644 --- a/src/lib/components/Channel/Chat/ChatInput.svelte +++ b/src/lib/components/Channel/Chat/ChatInput.svelte @@ -29,7 +29,7 @@ const user = users[selectedUser] executeCommand(selectedCommand, user.userId) } - } else if (!chatMessage.startsWith('/')) { + } else if (!chatMessage.startsWith('/') || chatMessage.startsWith('/ai')) { if (chatMessage === null || chatMessage.match(/^\s*$/) !== null) return const completeMessage = { isAiChatEnabled: channel.isAiChatEnabled, @@ -162,18 +162,24 @@ const specialCommands = [ { id: 1, + label: 'Talk to AI', + cmd: '/ai ', + action: () => {} + }, + { + id: 2, label: 'Toggle mod status', cmd: '/mod @', action: toggleMod }, { - id: 2, + id: 3, label: 'Toggle guest status', cmd: '/guest @', action: toggleGuest }, { - id: 3, + id: 4, label: 'Ban user', cmd: '/ban @', action: toggleBan @@ -181,15 +187,18 @@ ] $: messageIsCommand = - chatMessage && chatMessage.startsWith('/') && /[a-z] @[a-z]/.test(chatMessage.substr(1)) + chatMessage && + chatMessage.startsWith('/') && + /[a-z] @[a-z]/.test(chatMessage.substr(1)) && + chatMessage.startsWith('/ai ') $: showUsers = chatMessage && chatMessage.endsWith('@') $: showCommandOptions = chatMessage && chatMessage.startsWith('/') && + !chatMessage.startsWith('/ai ') && (channel.user === $page.data.user?.userId || channel.mods?.includes($page.data.user?.userId)) && - !showUsers && - !messageIsCommand + !showUsers
diff --git a/src/lib/components/Channel/Chat/FloatingMenu.svelte b/src/lib/components/Channel/Chat/FloatingMenu.svelte index 87be696c..0aa20bc6 100644 --- a/src/lib/components/Channel/Chat/FloatingMenu.svelte +++ b/src/lib/components/Channel/Chat/FloatingMenu.svelte @@ -10,9 +10,9 @@ const handleClickOutside = (event: any) => { const _id = - event.target.id || - event.target.parentElement.id || - event.target.parentElement.parentElement.id + event.target?.id || + event.target.parentElement?.id || + event.target.parentElement?.parentElement?.id if (id !== _id) isFocused = false }