Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: アプリケーション登録画面で、登録処理中にボタンを押せないように #935

Merged
merged 4 commits into from
Jul 15, 2024
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion dashboard/src/pages/apps/new.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -426,6 +426,7 @@ const WebsiteStep: Component<{
backToGeneralStep: () => void
submit: () => Promise<void>
}> = (props) => {
const [isSubmitting, setIsSubmitting] = createSignal(false)
const addWebsiteForm = () => {
const form = createFormStore<WebsiteFormStatus>({
initialValues: {
Expand All @@ -439,7 +440,9 @@ const WebsiteStep: Component<{
const handleSubmit = async () => {
const isValid = (await Promise.all(props.websiteForms().map((form) => validate(form)))).every((v) => v)
if (!isValid) return
setIsSubmitting(true)
await props.submit()
setIsSubmitting(false)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

これってprops.submit()がerrorをthrowしたときってsetIsSubmitting(false)実行されましたっけ...?(されない気がする)

await props.submit()tryで囲んで、setIsSubmitting(false)finallyで囲んだ方が良いかもです :tanonda:

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

そう思ったんですが、ここのsubmit関数が既にtry-catchされてたのでthrowすることが確実にないなと思ってそのまま書いちゃいました

他の場所で使われる (throwする可能性のあるsubmitが渡される) ことを考慮して書いておいたほうが良いですかね?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

あ~submit関数の中までちゃんと見れてませんでした、だとしたら書いても書かなくてもいいかもですね...(好みの問題かも)

僕だったら

他の場所で使われる (throwする可能性のあるsubmitが渡される) ことを考慮して書いておいたほうが良いですかね?

の気持ちでfinally書いちゃうと思いますがcp-20さんに任せます

どちらにせよこのままでもちゃんとうごくのでapproveしちゃいます

}

return (
Expand Down Expand Up @@ -500,6 +503,7 @@ const WebsiteStep: Component<{
size="medium"
variants="primary"
onClick={handleSubmit}
disabled={isSubmitting()}
// TODO: hostが空の状態でsubmitして一度requiredエラーが出たあとhostを入力してもエラーが消えない
// disabled={props.websiteForms().some((form) => form.invalid)}
>
Expand Down Expand Up @@ -589,7 +593,6 @@ export default () => {
setCurrentStep(formStep.repository)
// 選択していたリポジトリをリセットする
setParam({ repositoryID: undefined })
mutateRepo(undefined)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

確かにこの部分いらなかったですね、削除感謝です 🙏

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(何もしてない気がするので、Linterが消した気がする……w)

}
const GoToGeneralStep = () => {
setCurrentStep(formStep.general)
Expand Down
Loading