~cytrogen/masto-fe

bf5366e127877f72751cc4edbd522ff2cbdc8e26 — tobi 1 year, 4 months ago c541d56
[feature] Use instance settings for media attachment cap
M app/javascript/flavours/glitch/actions/compose.js => app/javascript/flavours/glitch/actions/compose.js +2 -1
@@ 5,6 5,7 @@ import { throttle } from 'lodash';

import api from 'flavours/glitch/api';
import { search as emojiSearch } from 'flavours/glitch/features/emoji/emoji_mart_search_light';
import { maxMediaAttachments } from 'flavours/glitch/initial_state';
import { tagHistory } from 'flavours/glitch/settings';
import { recoverHashtags } from 'flavours/glitch/utils/hashtag';
import resizeImage from 'flavours/glitch/utils/resize_image';


@@ 299,7 300,7 @@ export function doodleSet(options) {

export function uploadCompose(files) {
  return function (dispatch, getState) {
    const uploadLimit = 4;
    const uploadLimit = maxMediaAttachments;
    const media  = getState().getIn(['compose', 'media_attachments']);
    const pending  = getState().getIn(['compose', 'pending_media_attachments']);
    const progress = new Array(files.length).fill(0);

M app/javascript/flavours/glitch/initial_state.js => app/javascript/flavours/glitch/initial_state.js +2 -0
@@ 104,6 104,7 @@ export const hasMultiColumnPath = initialPath === '/'
 * @property {InitialStateMeta} meta
 * @property {object} local_settings
 * @property {number} max_toot_chars
 * @property {number} max_media_attachments
 * @property {number} poll_limits
 */



@@ 167,6 168,7 @@ export const sso_redirect = getMeta('sso_redirect');

// Glitch-soc-specific settings
export const maxChars = (initialState && initialState.max_toot_chars) || 500;
export const maxMediaAttachments = (initialState && initialState.max_media_attachments) || 4;
export const favouriteModal = getMeta('favourite_modal');
export const pollLimits = (initialState && initialState.poll_limits);
export const defaultContentType = getMeta('default_content_type');

M public/verify-state.js => public/verify-state.js +1 -0
@@ 86,6 86,7 @@ async function loadState() {
      "version": instance.version
    },
    "max_toot_chars": instance.configuration.statuses.max_characters,
    "max_media_attachments": instance.configuration.statuses.max_media_attachments,
    "poll_limits": {
      "max_expiration": instance.configuration.polls.max_expiration,
      "max_option_chars": instance.configuration.polls.max_characters_per_option,