fixed some stuff

This commit is contained in:
supertiger 2019-03-12 11:44:29 +00:00
parent f4ec9caf5d
commit 65cba9d7d9
5 changed files with 47 additions and 31 deletions

View file

@ -80,7 +80,7 @@ import Message from "../../components/app/MessageTemplate.vue";
import Spinner from "@/components/Spinner.vue";
import TypingStatus from "@/components/app/TypingStatus.vue";
import uploadsQueue from "@/components/app/uploadsQueue.vue";
import shortcodeToEmoji from "@/shortcodeToEmoji.js";
import emojiParser from "@/emojiParser.js";
export default {
components: {
@ -128,7 +128,7 @@ export default {
this.postTimerID = null;
this.messageLength = 0;
const msg = shortcodeToEmoji(this.message);
const msg = emojiParser.replaceShortcode(this.message);
const tempID = this.generateNum(25);

View file

@ -37,6 +37,7 @@
<script>
import filesize from "filesize";
import emojiParser from "@/emojiParser.js";
import messagesService from "@/services/messagesService";
import { bus } from "../../main";
export default {
@ -85,7 +86,7 @@ export default {
async send() {
const tempID = this.generateNum(25);
const formData = new FormData();
formData.append("message", this.message);
formData.append("message", emojiParser.replaceShortcode(this.message));
formData.append("avatar", this.popouts.fileToUpload);
this.$store.dispatch("setPopoutVisibility", {
name: "uploadDialog",
@ -287,7 +288,7 @@ export default {
outline: none;
transition: 0.3s;
}
@media (max-width: 400px) {
@media (max-width: 518px) {
.inner {
align-content: center;
align-items: center;

41
src/emojiParser.js Normal file
View file

@ -0,0 +1,41 @@
import emojis from "emojibase-data/en/compact.json";
import {
groups
} from "emojibase-data/meta/groups.json";
export default {
replaceShortcode: (message) => {
const regex = /:([\w]+):/g;
return message.replace(regex, (x) => {
const emoji = emojiExists(x.replace(/[::]+/g, ''))
if (emoji) return emoji.unicode
return x
});
},
searchEmoji: (shortCode) => {
let array = []
for (let index = 0; index < emojis.length; index++) {
const element = emojis[index];
for (let i = 0; i < element.shortcodes.length; i++) {
const el2 = element.shortcodes[i];
if (el2.includes(shortCode)) array.push(element);
}
}
return array;
}
}
function emojiExists(shortCode) {
for (let index = 0; index < emojis.length; index++) {
const element = emojis[index];
for (let i = 0; i < element.shortcodes.length; i++) {
const el2 = element.shortcodes[i];
if (el2 === shortCode) {
return element
}
}
}
}

View file

@ -7,6 +7,7 @@ export default (message) => {
message = twemoji.parse(escapeHtml(message),
function (icon, options, variant) {
if (!icon) return message;
return require("twemoji/2/svg/" + icon + ".svg")
})

View file

@ -1,27 +0,0 @@
import emojis from "emojibase-data/en/compact.json";
import {
groups
} from "emojibase-data/meta/groups.json";
export default message => {
const regex = /:([\w]+):/g;
return message.replace(regex, (x) => {
const emoji = emojiExists(x.replace(/[::]+/g, ''))
if (emoji) return emoji.unicode
return x
});
};
function emojiExists(shortCode) {
for (let index = 0; index < emojis.length; index++) {
const element = emojis[index];
for (let i = 0; i < element.shortcodes.length; i++) {
const el2 = element.shortcodes[i];
if (el2 === shortCode) {
return element
}
}
}
}