~cytrogen/masto-fe

894d82a3258c763adafad6640b71072d3071d411 — ThibG 6 years ago 6ab84c1
[Glitch] When deleting & redrafting a poll, fill in closest expires_in

Port dc88d226e1fdb20499d6e81838b81894b2d0be2d to glitch-soc
1 files changed, 7 insertions(+), 1 deletions(-)

M app/javascript/flavours/glitch/reducers/compose.js
M app/javascript/flavours/glitch/reducers/compose.js => app/javascript/flavours/glitch/reducers/compose.js +7 -1
@@ 275,6 275,12 @@ const expandMentions = status => {
  return fragment.innerHTML;
};

const expiresInFromExpiresAt = expires_at => {
  if (!expires_at) return 24 * 3600;
  const delta = (new Date(expires_at).getTime() - Date.now()) / 1000;
  return [300, 1800, 3600, 21600, 86400, 259200, 604800].find(expires_in => expires_in >= delta) || 24 * 3600;
};

export default function compose(state = initialState, action) {
  switch(action.type) {
  case STORE_HYDRATE:


@@ 456,7 462,7 @@ export default function compose(state = initialState, action) {
        map.set('poll', ImmutableMap({
          options: action.status.getIn(['poll', 'options']).map(x => x.get('title')),
          multiple: action.status.getIn(['poll', 'multiple']),
          expires_in: 24 * 3600,
          expires_in: expiresInFromExpiresAt(action.status.getIn(['poll', 'expires_at'])),
        }));
      }
    });