handle prop change

This commit is contained in:
SrGooglo 2025-04-24 06:03:48 +00:00
parent 558c2568fd
commit 931d9ecee0
2 changed files with 54 additions and 47 deletions

View File

@ -7,55 +7,62 @@ import UploadButton from "@components/UploadButton"
import "./index.less"
const CoverEditor = (props) => {
const { value, onChange, defaultUrl } = props
const { value, onChange, defaultUrl } = props
const [init, setInit] = React.useState(true)
const [url, setUrl] = React.useState(value)
const [init, setInit] = React.useState(true)
const [url, setUrl] = React.useState(value)
React.useEffect(() => {
if (!init) {
onChange(url)
}
}, [url])
React.useEffect(() => {
if (!init) {
onChange(url)
}
}, [url])
React.useEffect(() => {
if (!value) {
setUrl(defaultUrl)
} else {
setUrl(value)
}
React.useEffect(() => {
if (!value) {
setUrl(defaultUrl)
} else {
setUrl(value)
}
setInit(false)
}, [])
setInit(false)
}, [])
return <div className="cover-editor">
<div className="cover-editor-preview">
<Image
src={url}
/>
</div>
// Handle when value prop change
React.useEffect(() => {
if (!value) {
setUrl(defaultUrl)
} else {
setUrl(value)
}
}, [value])
<div className="cover-editor-actions">
<UploadButton
onSuccess={(uid, response) => {
setUrl(response.url)
}}
/>
return (
<div className="cover-editor">
<div className="cover-editor-preview">
<Image src={url} />
</div>
<antd.Button
type="primary"
onClick={() => {
setUrl(defaultUrl)
}}
>
Reset
</antd.Button>
<div className="cover-editor-actions">
<UploadButton
onSuccess={(uid, response) => {
setUrl(response.url)
}}
/>
{
props.extraActions
}
</div>
</div>
<antd.Button
type="primary"
onClick={() => {
setUrl(defaultUrl)
}}
>
Reset
</antd.Button>
{props.extraActions}
</div>
</div>
)
}
export default CoverEditor

View File

@ -10,13 +10,13 @@ export default async ({ username, password, hash }, user) => {
user = await User.findOne(query).select("+email").select("+password")
}
if (!user) {
throw new OperationError(401, "User not found")
}
if (!user) {
throw new OperationError(401, "User not found")
}
if (user.disabled == true) {
throw new OperationError(401, "User is disabled")
}
if (user.disabled == true) {
throw new OperationError(401, "User is disabled")
}
if (typeof hash !== "undefined") {
if (user.password !== hash) {