Wip: bookmark categories

This commit is contained in:
KMY 2023-08-26 10:26:45 +09:00
parent 020e50d0c5
commit f6bdd9b6de
13 changed files with 866 additions and 1 deletions

View file

@ -1,5 +1,8 @@
import { Map as ImmutableMap, fromJS } from 'immutable';
import { ANTENNA_DELETE_SUCCESS, ANTENNA_FETCH_FAIL } from 'mastodon/actions/antennas';
import { CIRCLE_DELETE_SUCCESS, CIRCLE_FETCH_FAIL } from 'mastodon/actions/circles';
import { COLUMN_ADD, COLUMN_REMOVE, COLUMN_MOVE, COLUMN_PARAMS_CHANGE } from '../actions/columns';
import { EMOJI_USE } from '../actions/emojis';
import { LANGUAGE_USE } from '../actions/languages';
@ -142,6 +145,10 @@ const updateFrequentLanguages = (state, language) => state.update('frequentlyUse
const filterDeadListColumns = (state, listId) => state.update('columns', columns => columns.filterNot(column => column.get('id') === 'LIST' && column.get('params').get('id') === listId));
const filterDeadAntennaColumns = (state, antennaId) => state.update('columns', columns => columns.filterNot(column => column.get('id') === 'ANTENNA' && column.get('params').get('id') === antennaId));
const filterDeadCircleColumns = (state, circleId) => state.update('columns', columns => columns.filterNot(column => column.get('id') === 'CIRCLE' && column.get('params').get('id') === circleId));
export default function settings(state = initialState, action) {
switch(action.type) {
case STORE_HYDRATE:
@ -173,6 +180,14 @@ export default function settings(state = initialState, action) {
return action.error.response.status === 404 ? filterDeadListColumns(state, action.id) : state;
case LIST_DELETE_SUCCESS:
return filterDeadListColumns(state, action.id);
case ANTENNA_FETCH_FAIL:
return action.error.response.status === 404 ? filterDeadAntennaColumns(state, action.id) : state;
case ANTENNA_DELETE_SUCCESS:
return filterDeadAntennaColumns(state, action.id);
case CIRCLE_FETCH_FAIL:
return action.error.response.status === 404 ? filterDeadCircleColumns(state, action.id) : state;
case CIRCLE_DELETE_SUCCESS:
return filterDeadCircleColumns(state, action.id);
default:
return state;
}