Remove disabled state from useTextEditor
This commit is contained in:
parent
bc9e0778cf
commit
4f7ae3d99d
|
@ -45,13 +45,11 @@ function RichEditContract(props: { contract: Contract; isAdmin?: boolean }) {
|
||||||
const { contract, isAdmin } = props
|
const { contract, isAdmin } = props
|
||||||
const [editing, setEditing] = useState(false)
|
const [editing, setEditing] = useState(false)
|
||||||
const [editingQ, setEditingQ] = useState(false)
|
const [editingQ, setEditingQ] = useState(false)
|
||||||
const [isSubmitting, setIsSubmitting] = useState(false)
|
|
||||||
|
|
||||||
const { editor, upload } = useTextEditor({
|
const { editor, upload } = useTextEditor({
|
||||||
// key: `description ${contract.id}`,
|
// key: `description ${contract.id}`,
|
||||||
max: MAX_DESCRIPTION_LENGTH,
|
max: MAX_DESCRIPTION_LENGTH,
|
||||||
defaultValue: contract.description,
|
defaultValue: contract.description,
|
||||||
disabled: isSubmitting,
|
|
||||||
})
|
})
|
||||||
|
|
||||||
async function saveDescription() {
|
async function saveDescription() {
|
||||||
|
@ -66,10 +64,8 @@ function RichEditContract(props: { contract: Contract; isAdmin?: boolean }) {
|
||||||
<Row className="gap-2">
|
<Row className="gap-2">
|
||||||
<Button
|
<Button
|
||||||
onClick={async () => {
|
onClick={async () => {
|
||||||
setIsSubmitting(true)
|
|
||||||
await saveDescription()
|
await saveDescription()
|
||||||
setEditing(false)
|
setEditing(false)
|
||||||
setIsSubmitting(false)
|
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
Save
|
Save
|
||||||
|
|
|
@ -22,7 +22,6 @@ export function CreatePost(props: { group?: Group }) {
|
||||||
|
|
||||||
const { editor, upload } = useTextEditor({
|
const { editor, upload } = useTextEditor({
|
||||||
key: `post ${group?.id || ''}`,
|
key: `post ${group?.id || ''}`,
|
||||||
disabled: isSubmitting,
|
|
||||||
})
|
})
|
||||||
|
|
||||||
const isValid =
|
const isValid =
|
||||||
|
|
|
@ -97,11 +97,10 @@ export function useTextEditor(props: {
|
||||||
placeholder?: string
|
placeholder?: string
|
||||||
max?: number
|
max?: number
|
||||||
defaultValue?: Content
|
defaultValue?: Content
|
||||||
disabled?: boolean
|
|
||||||
simple?: boolean
|
simple?: boolean
|
||||||
key?: string // unique key for autosave. If set, plz call `clearContent(true)` on submit to clear autosave
|
key?: string // unique key for autosave. If set, plz call `clearContent(true)` on submit to clear autosave
|
||||||
}) {
|
}) {
|
||||||
const { placeholder, max, defaultValue, disabled, simple, key } = props
|
const { placeholder, max, defaultValue, simple, key } = props
|
||||||
|
|
||||||
const [content, saveContent] = usePersistentState<JSONContent | undefined>(
|
const [content, saveContent] = usePersistentState<JSONContent | undefined>(
|
||||||
undefined,
|
undefined,
|
||||||
|
@ -169,10 +168,6 @@ export function useTextEditor(props: {
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
useEffect(() => {
|
|
||||||
editor?.setEditable(!disabled)
|
|
||||||
}, [editor, disabled])
|
|
||||||
|
|
||||||
return { editor, upload }
|
return { editor, upload }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -33,11 +33,9 @@ export function GroupOverviewPost(props: {
|
||||||
function RichEditGroupAboutPost(props: { group: Group; post: Post | null }) {
|
function RichEditGroupAboutPost(props: { group: Group; post: Post | null }) {
|
||||||
const { group, post } = props
|
const { group, post } = props
|
||||||
const [editing, setEditing] = useState(false)
|
const [editing, setEditing] = useState(false)
|
||||||
const [isSubmitting, setIsSubmitting] = useState(false)
|
|
||||||
|
|
||||||
const { editor, upload } = useTextEditor({
|
const { editor, upload } = useTextEditor({
|
||||||
defaultValue: post?.content,
|
defaultValue: post?.content,
|
||||||
disabled: isSubmitting,
|
|
||||||
})
|
})
|
||||||
|
|
||||||
async function savePost() {
|
async function savePost() {
|
||||||
|
@ -76,10 +74,8 @@ function RichEditGroupAboutPost(props: { group: Group; post: Post | null }) {
|
||||||
<Row className="gap-2">
|
<Row className="gap-2">
|
||||||
<Button
|
<Button
|
||||||
onClick={async () => {
|
onClick={async () => {
|
||||||
setIsSubmitting(true)
|
|
||||||
await savePost()
|
await savePost()
|
||||||
setEditing(false)
|
setEditing(false)
|
||||||
setIsSubmitting(false)
|
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
Save
|
Save
|
||||||
|
|
|
@ -229,7 +229,6 @@ export function NewContract(props: {
|
||||||
key: 'create market',
|
key: 'create market',
|
||||||
max: MAX_DESCRIPTION_LENGTH,
|
max: MAX_DESCRIPTION_LENGTH,
|
||||||
placeholder: descriptionPlaceholder,
|
placeholder: descriptionPlaceholder,
|
||||||
disabled: isSubmitting,
|
|
||||||
defaultValue: params?.description
|
defaultValue: params?.description
|
||||||
? JSON.parse(params.description)
|
? JSON.parse(params.description)
|
||||||
: undefined,
|
: undefined,
|
||||||
|
|
|
@ -35,9 +35,7 @@ export default function CreateDateDocPage() {
|
||||||
|
|
||||||
const [isSubmitting, setIsSubmitting] = useState(false)
|
const [isSubmitting, setIsSubmitting] = useState(false)
|
||||||
|
|
||||||
const { editor, upload } = useTextEditor({
|
const { editor, upload } = useTextEditor({})
|
||||||
disabled: isSubmitting,
|
|
||||||
})
|
|
||||||
|
|
||||||
const birthdayTime = birthday ? dayjs(birthday).valueOf() : undefined
|
const birthdayTime = birthday ? dayjs(birthday).valueOf() : undefined
|
||||||
const isValid =
|
const isValid =
|
||||||
|
|
|
@ -171,11 +171,9 @@ export function PostCommentsActivity(props: {
|
||||||
export function RichEditPost(props: { post: Post }) {
|
export function RichEditPost(props: { post: Post }) {
|
||||||
const { post } = props
|
const { post } = props
|
||||||
const [editing, setEditing] = useState(false)
|
const [editing, setEditing] = useState(false)
|
||||||
const [isSubmitting, setIsSubmitting] = useState(false)
|
|
||||||
|
|
||||||
const { editor, upload } = useTextEditor({
|
const { editor, upload } = useTextEditor({
|
||||||
defaultValue: post.content,
|
defaultValue: post.content,
|
||||||
disabled: isSubmitting,
|
|
||||||
})
|
})
|
||||||
|
|
||||||
async function savePost() {
|
async function savePost() {
|
||||||
|
@ -193,10 +191,8 @@ export function RichEditPost(props: { post: Post }) {
|
||||||
<Row className="gap-2">
|
<Row className="gap-2">
|
||||||
<Button
|
<Button
|
||||||
onClick={async () => {
|
onClick={async () => {
|
||||||
setIsSubmitting(true)
|
|
||||||
await savePost()
|
await savePost()
|
||||||
setEditing(false)
|
setEditing(false)
|
||||||
setIsSubmitting(false)
|
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
Save
|
Save
|
||||||
|
|
Loading…
Reference in New Issue
Block a user