[M3] Widgets fx-card et fx-carousel #35

Closed
opened 2026-04-06 01:35:51 +00:00 by charles · 0 comments
Owner

Contexte

Afficher des cartes riches (image + titre + description + actions) et des carrousels de cartes, typiquement pour des résultats de recherche ou des suggestions.

Critères d'acceptation

  • CardConfig : title, description: Option<String>, image_url: Option<MxcUri>, actions: Vec<CardAction>
  • CardAction : label, action_type (link, matrix_command, copy)
  • fx-card : GtkBox avec GtkPicture + labels + boutons d'action
  • Image chargée depuis MXC URI via matrix-rust-sdk
  • fx-carousel : Vec<CardConfig>GtkStack avec navigation flèches gauche/droite
  • Navigation au clavier dans le carousel (flèches)
  • Fallback texte : liste de titres + liens

Notes techniques

  • Dépend de : #27 (RichMessageParser)
  • Images chargées de manière asynchrone, placeholder pendant le chargement
  • CardAction::matrix_command : envoie un message Matrix pré-formaté
  • CardAction::link : ouvre dans le navigateur système (xdg-open)
## Contexte Afficher des cartes riches (image + titre + description + actions) et des carrousels de cartes, typiquement pour des résultats de recherche ou des suggestions. ## Critères d'acceptation - [ ] `CardConfig` : `title`, `description: Option<String>`, `image_url: Option<MxcUri>`, `actions: Vec<CardAction>` - [ ] `CardAction` : `label`, `action_type` (link, matrix_command, copy) - [ ] `fx-card` : `GtkBox` avec `GtkPicture` + labels + boutons d'action - [ ] Image chargée depuis MXC URI via matrix-rust-sdk - [ ] `fx-carousel` : `Vec<CardConfig>` → `GtkStack` avec navigation flèches gauche/droite - [ ] Navigation au clavier dans le carousel (flèches) - [ ] Fallback texte : liste de titres + liens ## Notes techniques - Dépend de : #27 (RichMessageParser) - Images chargées de manière asynchrone, placeholder pendant le chargement - `CardAction::matrix_command` : envoie un message Matrix pré-formaté - `CardAction::link` : ouvre dans le navigateur système (xdg-open)
Sign in to join this conversation.
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
charles/my-fractal#35
No description provided.