mirror of
https://github.com/mastodon/mastodon
synced 2024-12-16 23:58:23 +09:00
fe8dd58bc1
Add the same UI that already exists for blocked users for muted ones and add it to the "Getting Started" menu.
83 lines
2.0 KiB
JavaScript
83 lines
2.0 KiB
JavaScript
import api, { getLinks } from '../api'
|
|
import { fetchRelationships } from './accounts';
|
|
|
|
export const MUTES_FETCH_REQUEST = 'MUTES_FETCH_REQUEST';
|
|
export const MUTES_FETCH_SUCCESS = 'MUTES_FETCH_SUCCESS';
|
|
export const MUTES_FETCH_FAIL = 'MUTES_FETCH_FAIL';
|
|
|
|
export const MUTES_EXPAND_REQUEST = 'MUTES_EXPAND_REQUEST';
|
|
export const MUTES_EXPAND_SUCCESS = 'MUTES_EXPAND_SUCCESS';
|
|
export const MUTES_EXPAND_FAIL = 'MUTES_EXPAND_FAIL';
|
|
|
|
export function fetchMutes() {
|
|
return (dispatch, getState) => {
|
|
dispatch(fetchMutesRequest());
|
|
|
|
api(getState).get('/api/v1/mutes').then(response => {
|
|
const next = getLinks(response).refs.find(link => link.rel === 'next');
|
|
dispatch(fetchMutesSuccess(response.data, next ? next.uri : null));
|
|
dispatch(fetchRelationships(response.data.map(item => item.id)));
|
|
}).catch(error => dispatch(fetchMutesFail(error)));
|
|
};
|
|
};
|
|
|
|
export function fetchMutesRequest() {
|
|
return {
|
|
type: MUTES_FETCH_REQUEST
|
|
};
|
|
};
|
|
|
|
export function fetchMutesSuccess(accounts, next) {
|
|
return {
|
|
type: MUTES_FETCH_SUCCESS,
|
|
accounts,
|
|
next
|
|
};
|
|
};
|
|
|
|
export function fetchMutesFail(error) {
|
|
return {
|
|
type: MUTES_FETCH_FAIL,
|
|
error
|
|
};
|
|
};
|
|
|
|
export function expandMutes() {
|
|
return (dispatch, getState) => {
|
|
const url = getState().getIn(['user_lists', 'mutes', 'next']);
|
|
|
|
if (url === null) {
|
|
return;
|
|
}
|
|
|
|
dispatch(expandMutesRequest());
|
|
|
|
api(getState).get(url).then(response => {
|
|
const next = getLinks(response).refs.find(link => link.rel === 'next');
|
|
dispatch(expandMutesSuccess(response.data, next ? next.uri : null));
|
|
dispatch(fetchRelationships(response.data.map(item => item.id)));
|
|
}).catch(error => dispatch(expandMutesFail(error)));
|
|
};
|
|
};
|
|
|
|
export function expandMutesRequest() {
|
|
return {
|
|
type: MUTES_EXPAND_REQUEST
|
|
};
|
|
};
|
|
|
|
export function expandMutesSuccess(accounts, next) {
|
|
return {
|
|
type: MUTES_EXPAND_SUCCESS,
|
|
accounts,
|
|
next
|
|
};
|
|
};
|
|
|
|
export function expandMutesFail(error) {
|
|
return {
|
|
type: MUTES_EXPAND_FAIL,
|
|
error
|
|
};
|
|
};
|