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

プロジェクトの削除ボタンを追加 #391

Merged
merged 3 commits into from
Nov 9, 2024
Merged

Conversation

ogu-kazemiya
Copy link
Contributor

@ogu-kazemiya ogu-kazemiya commented Nov 8, 2024

User description

close #301

contestEditの実装ほぼ丸パクリです


PR Type

enhancement


Description

  • プロジェクトを削除するためのボタンと機能を追加しました。
  • DeleteFormコンポーネントを使用して、削除ボタンを実装しました。
  • 削除確認のためのConfirmModalを追加し、ユーザーが削除操作を確認できるようにしました。
  • プロジェクト削除成功時と失敗時にトーストメッセージを表示するようにしました。

Changes walkthrough 📝

Relevant files
Enhancement
Project.vue
プロジェクト削除機能の追加と確認モーダルの実装                                                                   

src/pages/Project.vue

  • DeleteFormConfirmModalコンポーネントをインポート
  • プロジェクト削除機能を追加
  • 削除確認モーダルを実装
  • プロジェクト削除時のトーストメッセージを追加
  • +28/-0   

    💡 PR-Agent usage: Comment /help "your question" on any pull request to receive relevant information

    Copy link
    Contributor

    github-actions bot commented Nov 8, 2024

    PR Reviewer Guide 🔍

    Here are some key observations to aid the review process:

    🎫 Ticket compliance analysis 🔶

    301 - Partially compliant

    Fully compliant requirements:

    • プロジェクトの削除ボタンを実装した

    Not compliant requirements:

    • サーバーの対応状況についての確認が不明
    ⏱️ Estimated effort to review: 3 🔵🔵🔵⚪⚪
    🧪 No relevant tests
    🔒 No security concerns identified
    ⚡ Recommended focus areas for review

    Error Handling
    プロジェクト削除の失敗時のエラーハンドリングが不十分かもしれません。例外処理の詳細な検討が必要です。

    Modal Management
    モーダルの状態管理が直接的で、より抽象化されたアプローチが可能かもしれません。

    Copy link
    Contributor

    github-actions bot commented Nov 8, 2024

    PR Code Suggestions ✨

    Explore these optional code suggestions:

    CategorySuggestion                                                                                                                                    Score
    Best practice
    finallyブロックを使用して、成功または失敗に関わらずisDeletingを適切に更新します。

    deleteProject関数の完了後にisDeletingの値を更新するために、finallyブロックを使用してください。

    src/pages/Project.vue [115-126]

     isDeleting.value = true
     try {
       await apis.deleteProject(projectId.value)
       mutate()
       toast.success('プロジェクト情報を削除しました')
       router.push({ name: 'Projects' })
     } catch {
       toast.error('プロジェクト情報の削除に失敗しました')
    +} finally {
    +  isDeleting.value = false
     }
    -isDeleting.value = false
    Suggestion importance[1-10]: 8

    Why: Using a finally block ensures that the isDeleting state is correctly reset after the operation, regardless of whether the deletion succeeds or fails, which is a best practice for managing state in asynchronous operations.

    8
    Enhancement
    例外処理にエラーログを追加することで、デバッグが容易になります。

    deleteProject関数内の例外処理を追加してください。現在のコードでは、例外が発生した場合に何も行われません。

    src/pages/Project.vue [115-124]

     try {
       await apis.deleteProject(projectId.value)
       mutate()
       toast.success('プロジェクト情報を削除しました')
       router.push({ name: 'Projects' })
    -} catch {
    +} catch (error) {
    +  console.error(error)
       toast.error('プロジェクト情報の削除に失敗しました')
     }
    Suggestion importance[1-10]: 7

    Why: Adding error logging in the catch block enhances error tracking and debugging, which is crucial for maintaining robust error handling in production environments.

    7
    プロジェクト削除中にユーザーが誤って再度削除を試みるのを防ぎます。

    deleteProject関数の実行中にボタンを無効化するために、isDeletingの状態を利用してください。

    src/pages/Project.vue [190]

    -<delete-form target="プロジェクト" @delete="open" />
    +<delete-form target="プロジェクト" @delete="open" :disabled="isDeleting" />
    Suggestion importance[1-10]: 6

    Why: Disabling the delete form button while deletion is in progress prevents multiple submissions, which can lead to potential errors or unexpected behavior.

    6

    @ogu-kazemiya
    Copy link
    Contributor Author

    フォーマッターはかけたんですが、何故か弾かれてます
    なんででしょうか…?

    @Pugma
    Copy link
    Collaborator

    Pugma commented Nov 8, 2024

    確認してみたところ、どうやら最新ではない main ブランチから今のブランチを作ってしまったみたい
    一旦は main ブランチを今のブランチにマージしてみてほしいです!

    Copy link
    Collaborator

    @Pugma Pugma left a comment

    Choose a reason for hiding this comment

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

    よさそうです!
    ありがとう!!!

    @Pugma Pugma merged commit 5955312 into main Nov 9, 2024
    10 checks passed
    @Pugma Pugma deleted the feat/deleteForm branch November 9, 2024 12:47
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
    Projects
    None yet
    Development

    Successfully merging this pull request may close these issues.

    プロジェクトの削除ボタン
    2 participants