---
title: "Prompt de reprise — Feature mail-create-ticket"
module: tickets
type: functional
status: active
updated: 2026-03-13
---

# Prompt de reprise — Feature mail-create-ticket

Copie-colle ce prompt dans Claude Code pour reprendre la ou on en etait.

---

## Prompt

```
Je travaille sur la branche `feature/mail-create-ticket` (base: `develop`).

## Contexte de la feature

C'est un systeme d'email ticketing pour le module Ticketv4 :
- Des systemes mail (IMAP/POP3) sont configures via `MailSystemConfig` (GenericTable)
- Un job `FetchIncomingMailsJob` recupere les emails et cree des `TicketIncoming` (tpstatus: pending)
- L'interface `TicketIncomings` (GenericTable) affiche ces emails avec des actions : Accepter (cree un ticket), Refuser
- Le service `TicketIncomingService` gere la logique metier (acceptAsTicket, acceptAsReply, reject)

## Documentation technique

Lis d'abord le fichier `.claude/technical-docs/tickets/feature-mail-create-ticket.md` pour avoir la carte complete de l'architecture, des fichiers, des patterns et de l'etat du refactoring.

## Ce qui a ete fait dans la derniere session

Refactoring complet du composant TicketIncomings :

1. **Filtres** : Active le bouton toggle column filter dans `ticket-incomings/filters.blade.php`
2. **Badges** : Remplace les badges Bootstrap par des Flux Badges via `MailSystemHelper::getIncomingStatusBadge()` dans `ticket-incomings/view.blade.php`
3. **Boutons actions** : Remplace `btn-sm btn-success/btn-danger` par le pattern `actionbtn` + dropdown ellipsis (meme pattern que `mail-system-config/view.blade.php`)
4. **Modal extraite** : Cree `app/Livewire/Ticketv4/Modals/TicketIncomingPreview.php` + sa vue Blade — la modale inline de `view.blade.php` a ete supprimee. La modale utilise maintenant `$dispatch('modalOpen')` / `$dispatch('modalClose')` + `$dispatch('refreshTicketIncomings')`
5. **Select tom-select** : Le select du sujet dans la modale utilise `<x-livewire.form.select-single-tom>` au lieu de `<select class="form-select">`
6. **Cleanup TicketIncomings.php** : Supprime les proprietes `$showPreviewModal`, `$previewIncomingId`, `$validateSubject`, `$subjects` + methodes `loadSubjects()`, `validateAsTicket()`, `openPreview()` ancienne version. Ajoute `#[On('refreshTicketIncomings')] refreshTable()` et nouveau `openPreview()` avec dispatch modalOpen
7. **Duster** : Code formate avec `vendor/bin/duster fix --dirty`

Aucun changement n'a encore ete committe pour cette session de refactoring. Le commit precedent est `353473234`.

## Fichiers cles a connaitre

- `app/Livewire/Ticketv4/TicketIncomings.php` — Table principale
- `app/Livewire/Ticketv4/Modals/TicketIncomingPreview.php` — Modal preview (NOUVEAU)
- `resources/views/livewire/ticketv4/ticket-incomings/view.blade.php` — Vue table
- `resources/views/livewire/ticketv4/modals/ticket-incoming-preview.blade.php` — Vue modal (NOUVEAU)
- `app/Helpers/Ticket/MailSystemHelper.php` — Helper avec badges
- `app/Services/Ticket/TicketIncomingService.php` — Service metier
- `app/Livewire/Ticketv4/Config/MailSystemConfig.php` — Reference pattern GenericTable + modal
- `resources/views/livewire/ticketv4/config/mail-system-config/view.blade.php` — Reference pattern actionbtn

## Ce qui reste a faire

Commence par lire la section "Reste a faire" dans `.claude/technical-docs/tickets/feature-mail-create-ticket.md`, puis demande-moi par quoi tu dois commencer.
```
