mirror of
https://github.com/danbulant/Nertivia-Client
synced 2026-07-05 02:50:46 +00:00
fixed some stuff
This commit is contained in:
parent
f4ec9caf5d
commit
65cba9d7d9
5 changed files with 47 additions and 31 deletions
|
|
@ -80,7 +80,7 @@ import Message from "../../components/app/MessageTemplate.vue";
|
||||||
import Spinner from "@/components/Spinner.vue";
|
import Spinner from "@/components/Spinner.vue";
|
||||||
import TypingStatus from "@/components/app/TypingStatus.vue";
|
import TypingStatus from "@/components/app/TypingStatus.vue";
|
||||||
import uploadsQueue from "@/components/app/uploadsQueue.vue";
|
import uploadsQueue from "@/components/app/uploadsQueue.vue";
|
||||||
import shortcodeToEmoji from "@/shortcodeToEmoji.js";
|
import emojiParser from "@/emojiParser.js";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
components: {
|
components: {
|
||||||
|
|
@ -128,7 +128,7 @@ export default {
|
||||||
this.postTimerID = null;
|
this.postTimerID = null;
|
||||||
this.messageLength = 0;
|
this.messageLength = 0;
|
||||||
|
|
||||||
const msg = shortcodeToEmoji(this.message);
|
const msg = emojiParser.replaceShortcode(this.message);
|
||||||
const tempID = this.generateNum(25);
|
const tempID = this.generateNum(25);
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -37,6 +37,7 @@
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import filesize from "filesize";
|
import filesize from "filesize";
|
||||||
|
import emojiParser from "@/emojiParser.js";
|
||||||
import messagesService from "@/services/messagesService";
|
import messagesService from "@/services/messagesService";
|
||||||
import { bus } from "../../main";
|
import { bus } from "../../main";
|
||||||
export default {
|
export default {
|
||||||
|
|
@ -85,7 +86,7 @@ export default {
|
||||||
async send() {
|
async send() {
|
||||||
const tempID = this.generateNum(25);
|
const tempID = this.generateNum(25);
|
||||||
const formData = new FormData();
|
const formData = new FormData();
|
||||||
formData.append("message", this.message);
|
formData.append("message", emojiParser.replaceShortcode(this.message));
|
||||||
formData.append("avatar", this.popouts.fileToUpload);
|
formData.append("avatar", this.popouts.fileToUpload);
|
||||||
this.$store.dispatch("setPopoutVisibility", {
|
this.$store.dispatch("setPopoutVisibility", {
|
||||||
name: "uploadDialog",
|
name: "uploadDialog",
|
||||||
|
|
@ -287,7 +288,7 @@ export default {
|
||||||
outline: none;
|
outline: none;
|
||||||
transition: 0.3s;
|
transition: 0.3s;
|
||||||
}
|
}
|
||||||
@media (max-width: 400px) {
|
@media (max-width: 518px) {
|
||||||
.inner {
|
.inner {
|
||||||
align-content: center;
|
align-content: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
|
||||||
41
src/emojiParser.js
Normal file
41
src/emojiParser.js
Normal 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
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -7,6 +7,7 @@ export default (message) => {
|
||||||
|
|
||||||
message = twemoji.parse(escapeHtml(message),
|
message = twemoji.parse(escapeHtml(message),
|
||||||
function (icon, options, variant) {
|
function (icon, options, variant) {
|
||||||
|
if (!icon) return message;
|
||||||
return require("twemoji/2/svg/" + icon + ".svg")
|
return require("twemoji/2/svg/" + icon + ".svg")
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Loading…
Reference in a new issue