From c1131db577e6b161fe99f5f39085d36257fe966c Mon Sep 17 00:00:00 2001
From: mgabdev <>
Date: Wed, 6 May 2020 19:40:54 -0400
Subject: [PATCH] Progress
---
app/javascript/gabsocial/actions/compose.js | 92 ++++-
app/javascript/gabsocial/assets/block_icon.js | 24 ++
app/javascript/gabsocial/assets/trash_icon.js | 26 ++
.../gabsocial/components/comment.js | 37 +-
.../gabsocial/components/comment_header.js | 43 ++-
.../gabsocial/components/display_name.js | 8 +-
.../components/floating_action_button.js | 3 +-
app/javascript/gabsocial/components/icon.js | 4 +
.../components/modal/compose_modal.js | 43 ++-
.../modal/home_timeline_settings_modal.js | 46 +--
.../components/modal/unauthorized_modal.js | 11 +-
.../gabsocial/components/navigation_bar.js | 2 +-
app/javascript/gabsocial/components/pills.js | 8 +-
.../components/popover/popover_base.js | 2 +-
.../popover/status_options_popover.js | 316 +++++++++++-----
app/javascript/gabsocial/components/status.js | 14 +-
.../gabsocial/components/status_card.js | 40 +-
.../gabsocial/components/status_content.js | 5 +-
.../gabsocial/components/status_list.js | 20 +-
.../gabsocial/components/status_media.js | 4 +
.../components/timeline_compose_block.js | 1 +
.../gabsocial/containers/status_container.js | 88 +----
.../compose/components/compose_form.js | 352 ++++++++++--------
.../compose/components/upload_form.js | 3 +-
.../containers/compose_form_container.js | 26 +-
.../gabsocial/features/group_timeline.js | 1 -
app/javascript/gabsocial/layouts/layout.js | 2 +-
app/javascript/gabsocial/pages/home_page.js | 9 +-
app/javascript/gabsocial/reducers/compose.js | 20 +-
app/javascript/styles/global.css | 13 +
30 files changed, 811 insertions(+), 452 deletions(-)
create mode 100644 app/javascript/gabsocial/assets/block_icon.js
create mode 100644 app/javascript/gabsocial/assets/trash_icon.js
diff --git a/app/javascript/gabsocial/actions/compose.js b/app/javascript/gabsocial/actions/compose.js
index 6923f205..0a4f6bd6 100644
--- a/app/javascript/gabsocial/actions/compose.js
+++ b/app/javascript/gabsocial/actions/compose.js
@@ -1,4 +1,5 @@
import api from '../api';
+import { FormattedMessage } from 'react-intl'
import { CancelToken, isCancel } from 'axios';
import throttle from 'lodash.throttle'
import moment from 'moment-mini'
@@ -13,6 +14,7 @@ import { updateTimeline, dequeueTimeline } from './timelines';
import { defineMessages } from 'react-intl';
import { openModal, closeModal } from './modal';
import { me } from '../initial_state';
+import { makeGetStatus } from '../selectors'
let cancelFetchComposeSuggestionsAccounts;
@@ -79,14 +81,88 @@ export const ensureComposeIsVisible = (getState, routerHistory) => {
};
export function changeCompose(text, markdown, replyId) {
- console.log("changeCompose:", text)
- return {
- type: COMPOSE_CHANGE,
- text: text,
- markdown: markdown,
- replyId: replyId,
- };
-};
+ return function (dispatch, getState) {
+ const reduxReplyToId = getState().getIn(['compose', 'in_reply_to'])
+ const existingText = getState().getIn(['compose', 'text']).trim()
+ const isModalOpen = getState().getIn(['modal', 'modalType']) === 'COMPOSE'
+
+ let status
+ if (!!replyId) {
+ status = getState().getIn(['statuses', replyId])
+ status = makeGetStatus()(getState(), {
+ id: status.get('id')
+ })
+ }
+
+ if (!!replyId && replyId !== reduxReplyToId && !isModalOpen) {
+ if (existingText.length === 0 && text.trim().length > 0) {
+ dispatch({
+ type: COMPOSE_REPLY,
+ status: status,
+ })
+ dispatch({
+ type: COMPOSE_CHANGE,
+ text: text,
+ markdown: markdown,
+ })
+ } else if (existingText.length > 0 && text.trim().length > 0) {
+ dispatch(openModal('CONFIRM', {
+ message: