utils/features.js: TruthSocial features
This commit is contained in:
parent
da17562e0a
commit
55c99f0207
|
@ -13,9 +13,10 @@ const overrides = custom('features');
|
||||||
const any = arr => arr.some(Boolean);
|
const any = arr => arr.some(Boolean);
|
||||||
|
|
||||||
// For uglification
|
// For uglification
|
||||||
export const MASTODON = 'Mastodon';
|
export const MASTODON = 'Mastodon';
|
||||||
export const PLEROMA = 'Pleroma';
|
export const PLEROMA = 'Pleroma';
|
||||||
export const MITRA = 'Mitra';
|
export const MITRA = 'Mitra';
|
||||||
|
export const TRUTHSOCIAL = 'TruthSocial';
|
||||||
|
|
||||||
export const getFeatures = createSelector([instance => instance], instance => {
|
export const getFeatures = createSelector([instance => instance], instance => {
|
||||||
const v = parseVersion(instance.get('version'));
|
const v = parseVersion(instance.get('version'));
|
||||||
|
@ -24,9 +25,9 @@ export const getFeatures = createSelector([instance => instance], instance => {
|
||||||
|
|
||||||
return Object.assign({
|
return Object.assign({
|
||||||
media: true,
|
media: true,
|
||||||
privacyScopes: true,
|
privacyScopes: v.software !== TRUTHSOCIAL,
|
||||||
spoilers: true,
|
spoilers: v.software !== TRUTHSOCIAL,
|
||||||
filters: true,
|
filters: v.software !== TRUTHSOCIAL,
|
||||||
polls: any([
|
polls: any([
|
||||||
v.software === MASTODON && gte(v.version, '2.8.0'),
|
v.software === MASTODON && gte(v.version, '2.8.0'),
|
||||||
v.software === PLEROMA,
|
v.software === PLEROMA,
|
||||||
|
@ -77,8 +78,14 @@ export const getFeatures = createSelector([instance => instance], instance => {
|
||||||
scopes: v.software === PLEROMA ? 'read write follow push admin' : 'read write follow push',
|
scopes: v.software === PLEROMA ? 'read write follow push admin' : 'read write follow push',
|
||||||
federating: federation.get('enabled', true), // Assume true unless explicitly false
|
federating: federation.get('enabled', true), // Assume true unless explicitly false
|
||||||
richText: v.software === PLEROMA,
|
richText: v.software === PLEROMA,
|
||||||
securityAPI: v.software === PLEROMA,
|
securityAPI: any([
|
||||||
settingsStore: v.software === PLEROMA,
|
v.software === PLEROMA,
|
||||||
|
v.software === TRUTHSOCIAL,
|
||||||
|
]),
|
||||||
|
settingsStore: any([
|
||||||
|
v.software === PLEROMA,
|
||||||
|
v.software === TRUTHSOCIAL,
|
||||||
|
]),
|
||||||
accountAliasesAPI: v.software === PLEROMA,
|
accountAliasesAPI: v.software === PLEROMA,
|
||||||
resetPasswordAPI: v.software === PLEROMA,
|
resetPasswordAPI: v.software === PLEROMA,
|
||||||
exposableReactions: features.includes('exposable_reactions'),
|
exposableReactions: features.includes('exposable_reactions'),
|
||||||
|
@ -98,7 +105,10 @@ export const getFeatures = createSelector([instance => instance], instance => {
|
||||||
v.software === PLEROMA && gte(v.version, '2.4.50'),
|
v.software === PLEROMA && gte(v.version, '2.4.50'),
|
||||||
]),
|
]),
|
||||||
remoteInteractionsAPI: v.software === PLEROMA && gte(v.version, '2.4.50'),
|
remoteInteractionsAPI: v.software === PLEROMA && gte(v.version, '2.4.50'),
|
||||||
explicitAddressing: v.software === PLEROMA && gte(v.version, '1.0.0'),
|
explicitAddressing: any([
|
||||||
|
v.software === PLEROMA && gte(v.version, '1.0.0'),
|
||||||
|
v.software === TRUTHSOCIAL,
|
||||||
|
]),
|
||||||
accountEndorsements: v.software === PLEROMA && gte(v.version, '2.4.50'),
|
accountEndorsements: v.software === PLEROMA && gte(v.version, '2.4.50'),
|
||||||
quotePosts: any([
|
quotePosts: any([
|
||||||
v.software === PLEROMA && gte(v.version, '2.4.50'),
|
v.software === PLEROMA && gte(v.version, '2.4.50'),
|
||||||
|
|
Loading…
Reference in New Issue