#24 Fix editing circle post icon

This commit is contained in:
KMY 2023-09-26 18:05:58 +09:00
parent 13c51133d3
commit 28ab1ca973
3 changed files with 8 additions and 4 deletions

View file

@ -103,11 +103,11 @@ class ComposeForm extends ImmutablePureComponent {
};
canSubmit = () => {
const { isSubmitting, isChangingUpload, isUploading, anyMedia, privacy, circleId } = this.props;
const { isSubmitting, isChangingUpload, isUploading, anyMedia, privacy, circleId, isEditing } = this.props;
const fulltext = this.getFulltextForCharacterCounting();
const isOnlyWhitespace = fulltext.length !== 0 && fulltext.trim().length === 0;
return !(isSubmitting || isUploading || isChangingUpload || length(fulltext) > 500 || (isOnlyWhitespace && !anyMedia) || (privacy === 'circle' && !circleId));
return !(isSubmitting || isUploading || isChangingUpload || length(fulltext) > 500 || (isOnlyWhitespace && !anyMedia) || (privacy === 'circle' && !isEditing && !circleId));
};
handleSubmit = (e) => {

View file

@ -4,7 +4,7 @@ import { changeCircle } from '../../../actions/compose';
import CircleSelect from '../components/circle_select';
const mapStateToProps = state => ({
unavailable: state.getIn(['compose', 'privacy']) !== 'circle',
unavailable: state.getIn(['compose', 'privacy']) !== 'circle' || !!state.getIn(['compose', 'id']),
circles: state.get('circles'),
circleId: state.getIn(['compose', 'circle_id']),
});

View file

@ -577,7 +577,11 @@ export default function compose(state = initialState, action) {
map.set('id', action.status.get('id'));
map.set('text', action.text);
map.set('in_reply_to', action.status.get('in_reply_to_id'));
map.set('privacy', action.status.get('visibility_ex'));
if (action.status.get('visibility_ex') !== 'limited') {
map.set('privacy', action.status.get('visibility_ex'));
} else {
map.set('privacy', action.status.get('limited_scope') === 'mutual' ? 'mutual' : 'circle');
}
map.set('media_attachments', action.status.get('media_attachments'));
map.set('focusDate', new Date());
map.set('caretPosition', null);