toggle emoji via spotlight

This commit is contained in:
Čarodej
2022-01-20 10:08:30 +01:00
parent e1de316774
commit 7f33df62a5
7 changed files with 70 additions and 9 deletions

View File

@@ -27,6 +27,7 @@ class CreateUserSettingsTable extends Migration
$table->text('country')->nullable();
$table->text('phone_number')->nullable();
$table->decimal('timezone', 10, 1)->nullable();
$table->text('emoji_type')->default('twemoji');
$table->charset = 'utf8mb4';
$table->collation = 'utf8mb4_unicode_ci';
});

View File

@@ -9,12 +9,12 @@
"/chunks/admin~chunks/admin-account~chunks/app-appearance~chunks/app-email~chunks/app-index~chunks/app~f4e3acb1.js": "/chunks/admin~chunks/admin-account~chunks/app-appearance~chunks/app-email~chunks/app-index~chunks/app~f4e3acb1.js?id=08ee54ab4c19d49dc342",
"/chunks/admin~chunks/app-language~chunks/files~chunks/my-shared-items~chunks/pages~chunks/plans~chunk~31d2e0e5.js": "/chunks/admin~chunks/app-language~chunks/files~chunks/my-shared-items~chunks/pages~chunks/plans~chunk~31d2e0e5.js?id=45350439fb9bcb879f5b",
"/chunks/admin~chunks/files~chunks/invitation~chunks/my-shared-items~chunks/platform~chunks/recent-upl~dfa67595.js": "/chunks/admin~chunks/files~chunks/invitation~chunks/my-shared-items~chunks/platform~chunks/recent-upl~dfa67595.js?id=0ae7b3d840e0e20fe358",
"/chunks/admin~chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/settin~673d1ac3.js": "/chunks/admin~chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/settin~673d1ac3.js?id=b3c4c4cf98c309139f52",
"/chunks/admin~chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/settin~673d1ac3.js": "/chunks/admin~chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/settin~673d1ac3.js?id=34845d890e9e65d2adc0",
"/chunks/admin~chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/settin~97130d1f.js": "/chunks/admin~chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/settin~97130d1f.js?id=270183e1780d96dc77d6",
"/chunks/admin~chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/shared~1bec6fe4.js": "/chunks/admin~chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/shared~1bec6fe4.js?id=510e6c1b1017a73a40a6",
"/chunks/admin~chunks/platform.js": "/chunks/admin~chunks/platform.js?id=354c892546e5c369a749",
"/chunks/admin~chunks/platform~chunks/settings.js": "/chunks/admin~chunks/platform~chunks/settings.js?id=7c1f56dddcaa83704a70",
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.js?id=569fc87108cddd41874d",
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.js?id=c0aba5adcb5fc83094c9",
"/chunks/admin~chunks/platform~chunks/shared.js": "/chunks/admin~chunks/platform~chunks/shared.js?id=afeba4ebd13af7e995be",
"/chunks/app-appearance.js": "/chunks/app-appearance.js?id=de219ada9218e395d85f",
"/chunks/app-appearance~chunks/app-email~chunks/app-index~chunks/app-others~chunks/payments/billings~c~45d16af9.js": "/chunks/app-appearance~chunks/app-email~chunks/app-index~chunks/app-others~chunks/payments/billings~c~45d16af9.js?id=a4b9a9a416c656f4d95d",
@@ -458,5 +458,24 @@
"/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/shared-with-me~chunks/shared/files~~34b5eb22.ee460eca0c4448f35663.hot-update.js": "/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/shared-with-me~chunks/shared/files~~34b5eb22.ee460eca0c4448f35663.hot-update.js",
"/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/shared-with-me~chunks/shared/files~~34b5eb22.7ec5e5b794a0c939393e.hot-update.js": "/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/shared-with-me~chunks/shared/files~~34b5eb22.7ec5e5b794a0c939393e.hot-update.js",
"/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/shared-with-me~chunks/shared/files~~34b5eb22.1edda414fec0ab211ee4.hot-update.js": "/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/shared-with-me~chunks/shared/files~~34b5eb22.1edda414fec0ab211ee4.hot-update.js",
"/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/shared-with-me~chunks/shared/files~~34b5eb22.a42e95630da0239c3b7b.hot-update.js": "/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/shared-with-me~chunks/shared/files~~34b5eb22.a42e95630da0239c3b7b.hot-update.js"
"/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/shared-with-me~chunks/shared/files~~34b5eb22.a42e95630da0239c3b7b.hot-update.js": "/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/shared-with-me~chunks/shared/files~~34b5eb22.a42e95630da0239c3b7b.hot-update.js",
"/chunks/admin~chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/settin~673d1ac3.2aa7b6c0b0cd74647b92.hot-update.js": "/chunks/admin~chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/settin~673d1ac3.2aa7b6c0b0cd74647b92.hot-update.js",
"/chunks/admin~chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/settin~673d1ac3.3f207c72655c3984f7a5.hot-update.js": "/chunks/admin~chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/settin~673d1ac3.3f207c72655c3984f7a5.hot-update.js",
"/chunks/admin~chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/settin~673d1ac3.00932b3fe5be3fd72b66.hot-update.js": "/chunks/admin~chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/settin~673d1ac3.00932b3fe5be3fd72b66.hot-update.js",
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.ab67951f04a840ce22d0.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.ab67951f04a840ce22d0.hot-update.js",
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.831d73725f37d2ea5f20.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.831d73725f37d2ea5f20.hot-update.js",
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.6345eeeb2dd472bc1351.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.6345eeeb2dd472bc1351.hot-update.js",
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.94b1cd36ece4ba4d3292.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.94b1cd36ece4ba4d3292.hot-update.js",
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.1ea0d47622a756917864.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.1ea0d47622a756917864.hot-update.js",
"/js/main.78dbb5a3c428d0880515.hot-update.js": "/js/main.78dbb5a3c428d0880515.hot-update.js",
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.78dbb5a3c428d0880515.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.78dbb5a3c428d0880515.hot-update.js",
"/js/main.25d4a9fd65ac833eda17.hot-update.js": "/js/main.25d4a9fd65ac833eda17.hot-update.js",
"/js/main.0401eb9bd7a7cfb57cd3.hot-update.js": "/js/main.0401eb9bd7a7cfb57cd3.hot-update.js",
"/js/main.f9b327311259425860e5.hot-update.js": "/js/main.f9b327311259425860e5.hot-update.js",
"/js/main.047e9613d82601641f70.hot-update.js": "/js/main.047e9613d82601641f70.hot-update.js",
"/js/main.4143bee3df3866f9d57c.hot-update.js": "/js/main.4143bee3df3866f9d57c.hot-update.js",
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.8da3564c79e1fd8a7749.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.8da3564c79e1fd8a7749.hot-update.js",
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.11e2ddf34bd35d6c716b.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.11e2ddf34bd35d6c716b.hot-update.js",
"/js/main.4c3118c34754f2d5e715.hot-update.js": "/js/main.4c3118c34754f2d5e715.hot-update.js",
"/js/main.cb8d6e0528dcc6cf470d.hot-update.js": "/js/main.cb8d6e0528dcc6cf470d.hot-update.js"
}

View File

@@ -1,12 +1,12 @@
<template>
<div v-if="emoji">
<div
v-if="!isApple"
v-if="config.defaultEmoji === 'twemoji'"
v-html="transferEmoji"
style="font-size: inherit; transform: scale(0.95)"
></div>
<div
v-if="isApple"
v-if="config.defaultEmoji === 'applemoji'"
style="font-size: inherit"
>
{{ emoji.char }}
@@ -16,6 +16,7 @@
<script>
import twemoji from 'twemoji'
import {mapGetters} from "vuex";
export default {
name: 'Emoji',
@@ -29,9 +30,10 @@
}
},
computed: {
...mapGetters([
'config',
]),
transferEmoji() {
//if (! this.apple) return
return twemoji.parse(this.emoji.char, {
folder: 'svg',
ext: '.svg',

View File

@@ -101,6 +101,7 @@
<power-icon v-if="result.action.value === 'log-out'" size="18" class="vue-feather text-theme"/>
<trash-icon v-if="result.action.value === 'empty-trash'" size="18" class="vue-feather text-theme"/>
<grid-icon v-if="result.action.value === 'toggle-grid-list'" size="18" class="vue-feather text-theme"/>
<smile-icon v-if="result.action.value === 'toggle-emoji'" size="18" class="vue-feather text-theme"/>
<b class="font-bold text-sm ml-3.5">
{{ result.title }}
@@ -172,6 +173,7 @@
<script>
import {
SmileIcon,
BoxIcon,
CreditCardIcon,
DatabaseIcon,
@@ -210,6 +212,7 @@ import KeyboardHints from "./KeyboardHints";
export default {
name: 'Spotlight',
components: {
SmileIcon,
KeyboardHints,
CreditCardIcon,
GridIcon,
@@ -430,6 +433,17 @@ export default {
},
]
// Available only for apple users
if (this.$isApple()) {
functionList.push({
title: this.$t('Toggle Emoji Type'),
action: {
type: 'function',
value: 'toggle-emoji',
},
})
}
if (this.user.data.attributes.role === 'admin') {
// Available only for fixed subscription
@@ -565,6 +579,10 @@ export default {
if (arg.action.type === 'function') {
if (arg.action.value === 'toggle-emoji') {
this.$store.dispatch('toggleEmojiType')
}
if (arg.action.value === 'toggle-grid-list') {
this.$store.dispatch('togglePreviewType')
}

View File

@@ -11,7 +11,7 @@ const FunctionHelpers = {
if ((value === '' || value === ' ' || typeof value === 'object') && !allowEmpty) return
axios.post(this.$store.getters.api + route, {name, value, _method: 'patch'})
axios.post(store.getters.api + route, {name, value, _method: 'patch'})
.catch(() => {
events.$emit('alert:open', {
title: this.$t('popup_error.title'),

View File

@@ -1,5 +1,6 @@
import i18n from '/resources/js/i18n/index'
import axios from "axios";
import axios from "axios"
import Vue from "vue"
const defaultState = {
isVisibleNavigationBars: localStorage.getItem('is_navigation_bars') !== 'false',
@@ -42,6 +43,20 @@ const actions = {
// Change preview
commit('CHANGE_PREVIEW', previewType)
},
toggleEmojiType: ({commit, getters}) => {
let newType = getters.config.defaultEmoji === 'twemoji'
? 'applemoji'
: 'twemoji'
// Update config
commit('REPLACE_CONFIG_VALUE', {
key: 'defaultEmoji',
value: newType,
})
// Update user settings
Vue.prototype.$updateText('/user/settings', 'emoji_type', newType)
},
fileInfoToggle: (context, visibility = undefined) => {
if (!visibility) {
if (context.state.isVisibleSidebar) {

View File

@@ -8,6 +8,9 @@
$isEmptyPlans = Plan::count() === 0;
$isEmptyTransactions = Transaction::count() === 0;
$isEmptySubscriptions = Subscription::count() === 0;
// User
$defaultEmoji = auth()->check() ? Auth::user()->settings->emoji_type : 'twemoji';
@endphp
<!DOCTYPE html>
@@ -129,6 +132,9 @@
allowedGithubLogin: {{ $settings->allowed_github_login ?? 0 }},
isGithubLoginConfigured: {{ env('GITHUB_CLIENT_ID') ? 1 : 0 }},
// User settings
defaultEmoji: '{{ $defaultEmoji }}',
}
</script>