AOSSIE-Org / AOSSIE-Org/PictoPy

Feat: Add Confirmation Dialog for Global Face Reclustering

Open
#966 6 comments 0 reactions 1 assignee Claimed by @Cubix33 View on GitHub
frontend good first issue
Dominant language
Python
Stars
283
Forks
679
Avg merge
7d 2h
Merged PRs (30d)
3

Description

### Describe the feature

## 🌟 Feature Description
I propose adding a **Confirmation Dialog** (or Alert Modal) that appears when a user clicks the "Recluster Faces" button in the Settings > Application Controls section.

Currently, clicking the "Recluster Faces" button immediately triggers the `triggerGlobalReclustering` mutation. Since this is a resource-intensive operation that rebuilds face clusters from scratch, users should be warned about the consequences and asked to confirm their intent before the process begins.

## 🔍 Problem Statement
1. **No Safety Net:** There is no intermediate step. A single click initiates a heavy backend process.
2. **User Frustration:** An accidental click could consume system resources or alter data organization unexpectedly, with no obvious way to cancel.

## 🎯 Expected Outcome
1. **Interaction Update:** Clicking "Recluster Faces" should **not** immediately call the API.
2. **UI Feedback:** A modal/dialog should appear with a warning message:
* *Title:* "Start Global Reclustering?"
* *Message:* "This process will rebuild all face clusters from scratch. It may take a significant amount of time and system resources. Are you sure you want to continue?"
3. **Action:**
* **Cancel:** Closes the dialog; no action taken.
* **Confirm:** Closes dialog and triggers `reclusterMutation.mutate()`.

## 🛠 Proposed Implementation
Modify `ApplicationControlsCard.tsx` to include a state for the dialog visibility and wrap the mutation trigger.

### Add ScreenShots

Image

### Record

- [x] I agree to follow this project's Code of Conduct
- [x] I want to work on this issue

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.