diff --git a/fixtures/dump.sql b/fixtures/dump.sql index 482b18c..5d22412 100644 Binary files a/fixtures/dump.sql and b/fixtures/dump.sql differ diff --git a/fixtures/system.tgz b/fixtures/system.tgz index f0208ba..c57330c 100644 Binary files a/fixtures/system.tgz and b/fixtures/system.tgz differ diff --git a/routes/_actions/emoji.js b/routes/_actions/emoji.js index becd51a..e004005 100644 --- a/routes/_actions/emoji.js +++ b/routes/_actions/emoji.js @@ -2,6 +2,7 @@ import { cacheFirstUpdateAfter } from '../_utils/sync' import { database } from '../_database/database' import { getCustomEmoji } from '../_api/emoji' import { store } from '../_store/store' +import { substring } from 'stringz' export async function updateCustomEmojiForInstance (instanceName) { await cacheFirstUpdateAfter( @@ -17,5 +18,12 @@ export async function updateCustomEmojiForInstance (instanceName) { } export function insertEmoji (emoji) { - store.set({emojiToInsert: emoji}) + let idx = store.get('composeSelectionStart') || 0 + let oldText = store.get('rawComposeText') + let pre = substring(oldText, 0, idx) + let post = substring(oldText, idx) + let newText = `${pre}:${emoji.shortcode}: ${post}` + store.set({ + rawComposeText: newText + }) } diff --git a/routes/_components/compose/ComposeInput.html b/routes/_components/compose/ComposeInput.html index 261bea5..e37bd16 100644 --- a/routes/_components/compose/ComposeInput.html +++ b/routes/_components/compose/ComposeInput.html @@ -3,6 +3,7 @@ placeholder="What's on your mind?" ref:textarea bind:value=$rawComposeText + on:blur="onBlur()" >