~cytrogen/masto-fe

3d9e35375c6c60a4bb9dc6ba39b43ebda94ce9d7 — fusagiko / takayamaki 2 years ago a33d6c9
[Glitch] Rewrite actions/app.ts and reducers/missed_updates.ts with createAction

Port 0999cb46013ff3d78ae2a195d39d3e28ffd74d24 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
4 files changed, 11 insertions(+), 10 deletions(-)

D app/javascript/flavours/glitch/actions/app.js
A app/javascript/flavours/glitch/actions/app.ts
M app/javascript/flavours/glitch/features/ui/index.jsx
M app/javascript/flavours/glitch/reducers/meta.js
D app/javascript/flavours/glitch/actions/app.js => app/javascript/flavours/glitch/actions/app.js +0 -6
@@ 1,6 0,0 @@
export const APP_LAYOUT_CHANGE = 'APP_LAYOUT_CHANGE';

export const changeLayout = layout => ({
  type: APP_LAYOUT_CHANGE,
  layout,
});

A app/javascript/flavours/glitch/actions/app.ts => app/javascript/flavours/glitch/actions/app.ts +7 -0
@@ 0,0 1,7 @@
import { createAction } from '@reduxjs/toolkit';

type ChangeLayoutPayload = {
  layout: 'mobile' | 'single-column' | 'multi-column';
};
export const changeLayout =
  createAction<ChangeLayoutPayload>('APP_LAYOUT_CHANGE');

M app/javascript/flavours/glitch/features/ui/index.jsx => app/javascript/flavours/glitch/features/ui/index.jsx +1 -1
@@ 378,7 378,7 @@ class UI extends React.Component {

    if (layout !== this.props.layout) {
      this.handleLayoutChange.cancel();
      this.props.dispatch(changeLayout(layout));
      this.props.dispatch(changeLayout({ layout }));
    } else {
      this.handleLayoutChange();
    }

M app/javascript/flavours/glitch/reducers/meta.js => app/javascript/flavours/glitch/reducers/meta.js +3 -3
@@ 1,5 1,5 @@
import { STORE_HYDRATE } from 'flavours/glitch/actions/store';
import { APP_LAYOUT_CHANGE } from 'flavours/glitch/actions/app';
import { changeLayout } from 'flavours/glitch/actions/app';
import { Map as ImmutableMap } from 'immutable';
import { layoutFromWindow } from 'flavours/glitch/is_mobile';



@@ 16,8 16,8 @@ export default function meta(state = initialState, action) {
    return state.merge(action.state.get('meta'))
      .set('permissions', action.state.getIn(['role', 'permissions']))
      .set('layout', layoutFromWindow(action.state.getIn(['local_settings', 'layout'])));
  case APP_LAYOUT_CHANGE:
    return state.set('layout', action.layout);
  case changeLayout.type:
    return state.set('layout', action.payload.layout);
  default:
    return state;
  }