separate featureset into instancecapabilites store

This commit is contained in:
Henry Jameson 2026-02-05 00:28:45 +02:00
commit 1e93e0a9c3
40 changed files with 239 additions and 247 deletions

View file

@ -0,0 +1,47 @@
import { defineStore } from 'pinia'
const defaultState = {
postFormats: [],
mailerEnabled: false,
safeDM: true,
shoutAvailable: false,
pleromaExtensionsAvailable: true,
pleromaChatMessagesAvailable: false,
pleromaCustomEmojiReactionsAvailable: false,
pleromaBookmarkFoldersAvailable: false,
pleromaPublicFavouritesAvailable: true,
statusNotificationTypeAvailable: true,
gopherAvailable: false,
editingAvailable: false,
mediaProxyAvailable: false,
suggestionsEnabled: false,
suggestionsWeb: '',
quotingAvailable: false,
groupActorAvailable: false,
blockExpiration: false,
tagPolicyAvailable: false,
pollsAvailable: false,
localBubble: false, // Akkoma
}
export const useInstanceCapabilitiesStore = defineStore(
'instance-capabilities',
{
state: () => ({ ...defaultState }),
actions: {
set(capability, value) {
if (!Object.hasOwn(defaultState, capability)) {
console.error(
`Unknown instance capability ${capability}, value: ${value}`,
)
}
this[capability] = value
if (capability === 'shoutAvailable') {
window.vuex.dispatch('initializeSocket')
}
},
},
},
)