forked from AkkomaGang/akkoma-fe
moved emoji stuff away from after-store and into users module since we only need
emoji after login
This commit is contained in:
parent
122323f35c
commit
91ca1db778
2 changed files with 54 additions and 54 deletions
|
@ -173,58 +173,6 @@ const getStickers = async ({ store }) => {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const getStaticEmoji = async ({ store }) => {
|
|
||||||
try {
|
|
||||||
const res = await window.fetch('/static/emoji.json')
|
|
||||||
if (res.ok) {
|
|
||||||
const values = await res.json()
|
|
||||||
const emoji = Object.keys(values).map((key) => {
|
|
||||||
return {
|
|
||||||
displayText: key,
|
|
||||||
imageUrl: false,
|
|
||||||
replacement: values[key]
|
|
||||||
}
|
|
||||||
}).sort((a, b) => a.displayText - b.displayText)
|
|
||||||
store.dispatch('setInstanceOption', { name: 'emoji', value: emoji })
|
|
||||||
} else {
|
|
||||||
throw (res)
|
|
||||||
}
|
|
||||||
} catch (e) {
|
|
||||||
console.warn("Can't load static emoji")
|
|
||||||
console.warn(e)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// This is also used to indicate if we have a 'pleroma backend' or not.
|
|
||||||
// Somewhat weird, should probably be somewhere else.
|
|
||||||
const getCustomEmoji = async ({ store }) => {
|
|
||||||
try {
|
|
||||||
const res = await window.fetch('/api/pleroma/emoji.json')
|
|
||||||
if (res.ok) {
|
|
||||||
const result = await res.json()
|
|
||||||
const values = Array.isArray(result) ? Object.assign({}, ...result) : result
|
|
||||||
const emoji = Object.entries(values).map(([key, value]) => {
|
|
||||||
const imageUrl = value.image_url
|
|
||||||
return {
|
|
||||||
displayText: key,
|
|
||||||
imageUrl: imageUrl ? store.state.instance.server + imageUrl : value,
|
|
||||||
tags: imageUrl ? value.tags.sort((a, b) => a > b ? 1 : 0) : ['utf'],
|
|
||||||
replacement: `:${key}: `
|
|
||||||
}
|
|
||||||
// Technically could use tags but those are kinda useless right now, should have been "pack" field, that would be more useful
|
|
||||||
}).sort((a, b) => a.displayText.toLowerCase() > b.displayText.toLowerCase() ? 1 : 0)
|
|
||||||
store.dispatch('setInstanceOption', { name: 'customEmoji', value: emoji })
|
|
||||||
store.dispatch('setInstanceOption', { name: 'pleromaBackend', value: true })
|
|
||||||
} else {
|
|
||||||
throw (res)
|
|
||||||
}
|
|
||||||
} catch (e) {
|
|
||||||
store.dispatch('setInstanceOption', { name: 'pleromaBackend', value: false })
|
|
||||||
console.warn("Can't load custom emojis, maybe not a Pleroma instance?")
|
|
||||||
console.warn(e)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
const getAppSecret = async ({ store }) => {
|
const getAppSecret = async ({ store }) => {
|
||||||
const { state, commit } = store
|
const { state, commit } = store
|
||||||
const { oauth, instance } = state
|
const { oauth, instance } = state
|
||||||
|
@ -259,6 +207,7 @@ const getNodeInfo = async ({ store }) => {
|
||||||
|
|
||||||
const software = data.software
|
const software = data.software
|
||||||
store.dispatch('setInstanceOption', { name: 'backendVersion', value: software.version })
|
store.dispatch('setInstanceOption', { name: 'backendVersion', value: software.version })
|
||||||
|
store.dispatch('setInstanceOption', { name: 'pleromaBackend', value: software.name === 'pleroma' })
|
||||||
|
|
||||||
const frontendVersion = window.___pleromafe_commit_hash
|
const frontendVersion = window.___pleromafe_commit_hash
|
||||||
store.dispatch('setInstanceOption', { name: 'frontendVersion', value: frontendVersion })
|
store.dispatch('setInstanceOption', { name: 'frontendVersion', value: frontendVersion })
|
||||||
|
@ -315,8 +264,6 @@ const afterStoreSetup = async ({ store, i18n }) => {
|
||||||
getTOS({ store }),
|
getTOS({ store }),
|
||||||
getInstancePanel({ store }),
|
getInstancePanel({ store }),
|
||||||
getStickers({ store }),
|
getStickers({ store }),
|
||||||
getStaticEmoji({ store }),
|
|
||||||
getCustomEmoji({ store }),
|
|
||||||
getNodeInfo({ store })
|
getNodeInfo({ store })
|
||||||
])
|
])
|
||||||
|
|
||||||
|
|
|
@ -60,6 +60,56 @@ const unmuteUser = (store, id) => {
|
||||||
.then((relationship) => store.commit('updateUserRelationship', [relationship]))
|
.then((relationship) => store.commit('updateUserRelationship', [relationship]))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const getStaticEmoji = async (store) => {
|
||||||
|
try {
|
||||||
|
const res = await window.fetch('/static/emoji.json')
|
||||||
|
if (res.ok) {
|
||||||
|
const values = await res.json()
|
||||||
|
const emoji = Object.keys(values).map((key) => {
|
||||||
|
return {
|
||||||
|
displayText: key,
|
||||||
|
imageUrl: false,
|
||||||
|
replacement: values[key]
|
||||||
|
}
|
||||||
|
}).sort((a, b) => a.displayText - b.displayText)
|
||||||
|
store.dispatch('setInstanceOption', { name: 'emoji', value: emoji })
|
||||||
|
} else {
|
||||||
|
throw (res)
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
console.warn("Can't load static emoji")
|
||||||
|
console.warn(e)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// This is also used to indicate if we have a 'pleroma backend' or not.
|
||||||
|
// Somewhat weird, should probably be somewhere else.
|
||||||
|
const getCustomEmoji = async (store) => {
|
||||||
|
try {
|
||||||
|
const res = await window.fetch('/api/pleroma/emoji.json')
|
||||||
|
if (res.ok) {
|
||||||
|
const result = await res.json()
|
||||||
|
const values = Array.isArray(result) ? Object.assign({}, ...result) : result
|
||||||
|
const emoji = Object.entries(values).map(([key, value]) => {
|
||||||
|
const imageUrl = value.image_url
|
||||||
|
return {
|
||||||
|
displayText: key,
|
||||||
|
imageUrl: imageUrl ? store.rootState.instance.server + imageUrl : value,
|
||||||
|
tags: imageUrl ? value.tags.sort((a, b) => a > b ? 1 : 0) : ['utf'],
|
||||||
|
replacement: `:${key}: `
|
||||||
|
}
|
||||||
|
// Technically could use tags but those are kinda useless right now, should have been "pack" field, that would be more useful
|
||||||
|
}).sort((a, b) => a.displayText.toLowerCase() > b.displayText.toLowerCase() ? 1 : 0)
|
||||||
|
store.dispatch('setInstanceOption', { name: 'customEmoji', value: emoji })
|
||||||
|
} else {
|
||||||
|
throw (res)
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
console.warn("Can't load custom emojis")
|
||||||
|
console.warn(e)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
export const mutations = {
|
export const mutations = {
|
||||||
setMuted (state, { user: { id }, muted }) {
|
setMuted (state, { user: { id }, muted }) {
|
||||||
const user = state.usersObject[id]
|
const user = state.usersObject[id]
|
||||||
|
@ -434,6 +484,9 @@ const users = {
|
||||||
commit('setCurrentUser', user)
|
commit('setCurrentUser', user)
|
||||||
commit('addNewUsers', [user])
|
commit('addNewUsers', [user])
|
||||||
|
|
||||||
|
getCustomEmoji(store)
|
||||||
|
getStaticEmoji(store)
|
||||||
|
|
||||||
getNotificationPermission()
|
getNotificationPermission()
|
||||||
.then(permission => commit('setNotificationPermission', permission))
|
.then(permission => commit('setNotificationPermission', permission))
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue