kopia lustrzana https://gitlab.com/soapbox-pub/soapbox
ComposeForm: pass onSubmit through UploadForm to ComposeUpload
rodzic
629258613e
commit
d71bb8a673
|
@ -223,7 +223,7 @@ const ComposeForm = <ID extends string>({ id, shouldCondense, autoFocus, clickab
|
|||
|
||||
const composeModifiers = !condensed && (
|
||||
<Stack space={4} className='compose-form__modifiers'>
|
||||
<UploadForm composeId={id} />
|
||||
<UploadForm composeId={id} onSubmit={handleSubmit} />
|
||||
<PollForm composeId={id} />
|
||||
|
||||
<SpoilerInput
|
||||
|
|
|
@ -11,9 +11,10 @@ import type { Attachment as AttachmentEntity } from 'soapbox/types/entities';
|
|||
|
||||
interface IUploadForm {
|
||||
composeId: string;
|
||||
onSubmit(): void;
|
||||
}
|
||||
|
||||
const UploadForm: React.FC<IUploadForm> = ({ composeId }) => {
|
||||
const UploadForm: React.FC<IUploadForm> = ({ composeId, onSubmit }) => {
|
||||
const mediaIds = useCompose(composeId).media_attachments.map((item: AttachmentEntity) => item.id);
|
||||
|
||||
return (
|
||||
|
@ -22,7 +23,7 @@ const UploadForm: React.FC<IUploadForm> = ({ composeId }) => {
|
|||
|
||||
<HStack wrap className={clsx('overflow-hidden', mediaIds.size !== 0 && 'p-1')}>
|
||||
{mediaIds.map((id: string) => (
|
||||
<Upload id={id} key={id} composeId={composeId} />
|
||||
<Upload id={id} key={id} composeId={composeId} onSubmit={onSubmit} />
|
||||
))}
|
||||
</HStack>
|
||||
</div>
|
||||
|
|
|
@ -1,26 +1,21 @@
|
|||
import React from 'react';
|
||||
import { useHistory } from 'react-router-dom';
|
||||
|
||||
import { undoUploadCompose, changeUploadCompose, submitCompose } from 'soapbox/actions/compose';
|
||||
import { undoUploadCompose, changeUploadCompose } from 'soapbox/actions/compose';
|
||||
import Upload from 'soapbox/components/upload';
|
||||
import { useAppDispatch, useCompose, useInstance } from 'soapbox/hooks';
|
||||
|
||||
interface IUploadCompose {
|
||||
id: string;
|
||||
composeId: string;
|
||||
onSubmit?(): void;
|
||||
}
|
||||
|
||||
const UploadCompose: React.FC<IUploadCompose> = ({ composeId, id }) => {
|
||||
const history = useHistory();
|
||||
const UploadCompose: React.FC<IUploadCompose> = ({ composeId, id, onSubmit }) => {
|
||||
const dispatch = useAppDispatch();
|
||||
const { description_limit: descriptionLimit } = useInstance();
|
||||
|
||||
const media = useCompose(composeId).media_attachments.find(item => item.id === id)!;
|
||||
|
||||
const handleSubmit = () => {
|
||||
dispatch(submitCompose(composeId, history));
|
||||
};
|
||||
|
||||
const handleDescriptionChange = (description: string) => {
|
||||
dispatch(changeUploadCompose(composeId, media.id, { description }));
|
||||
};
|
||||
|
@ -34,7 +29,7 @@ const UploadCompose: React.FC<IUploadCompose> = ({ composeId, id }) => {
|
|||
media={media}
|
||||
onDelete={handleDelete}
|
||||
onDescriptionChange={handleDescriptionChange}
|
||||
onSubmit={handleSubmit}
|
||||
onSubmit={onSubmit}
|
||||
descriptionLimit={descriptionLimit}
|
||||
withPreview
|
||||
/>
|
||||
|
|
Ładowanie…
Reference in New Issue