<p align="center">
  <img src="public/logo_tougli.png" alt="TougliGui Logo" width="80"/>
</p>

<h1 align="center">TougliGui</h1>

<p align="center">
  Tracker de progression pour les guides Dofus <a href=https://docs.google.com/spreadsheets/d/1uL7svJ0E0MjhqHVLU7O4Q8v7iGwPd4bsI9qV-Pdhdds/edit?gid=0#gid=0>Tougli</a> — application desktop légère et hors-ligne
</p>

<p align="center">
  <img src="https://img.shields.io/badge/Tauri-2.x-blue?logo=tauri" />
  <img src="https://img.shields.io/badge/React-19-61DAFB?logo=react" />
  <img src="https://img.shields.io/badge/TypeScript-5.8-3178C6?logo=typescript" />
  <img src="https://img.shields.io/badge/SQLite-local-003B57?logo=sqlite" />
  <img src="https://img.shields.io/github/license/Blomios/TougliGui" />
</p>

---

## Aperçu

TougliGui est une application desktop permettant de suivre sa progression dans les guides Dofus [Tougli](https://docs.google.com/spreadsheets/d/1uL7svJ0E0MjhqHVLU7O4Q8v7iGwPd4bsI9qV-Pdhdds/edit?gid=0#gid=0 "lien du guide Tougli") (Dofus Argenté, Dofus Émeraude, Dofus Cauchemar, etc.). Les données sont synchronisées depuis Google Sheets et stockées localement dans SQLite. Chaque profil conserve sa propre progression indépendamment des autres.

![Overall](screenshots/overall.png)

### Page principale

![Page principale](screenshots/accueil.png)

La page d'accueil affiche la progression globale (quêtes complétées / total) ainsi que les guides en cours sous forme de grilles avec barre de progression individuelle.

### Détail d'un guide

![Guide Dofus Argenté — onglet Ressources](screenshots/guide-argenté.png)

Chaque guide affiche :
- L'effet du Dofus
- La légende des icônes de quêtes (Bashing, Solo, Donjons, Groupe)
- La liste des quêtes organisées par zone, avec indication des quêtes complétées (barrées)
- Un panneau latéral **Ressources** listant les matériaux à collecter avec quantités possédées / requises

### Détail d'une quête

![Détail de quête avec fenêtre image](screenshots/quete-detail.png)

Le détail d'une quête présente chaque étape sous forme de cases à cocher. Une fenêtre flottante **Image** peut être ouverte pour afficher les recettes ou visuels de craft directement depuis la page Dofus Pour Les Noobs, sans quitter l'application.

### Paramètres

![Page paramètres](screenshots/settings.png)

La page paramètres permet de :
- Créer et supprimer des **profils** (un profil = une progression indépendante)
- Changer le profil actif
- **Synchroniser** les guides depuis Google Sheets en un clic

---

## Fonctionnalités

- Suivi de progression par quête et par étape
- Gestion multi-profils (plusieurs personnages)
- Synchronisation des guides depuis Google Sheets
- Inventaire de ressources avec saisie des quantités possédées
- Fenêtre image intégrée pour consulter les recettes sans changer de fenêtre
- Lien direct vers Dofus Pour Les Noobs pour chaque quête
- Données 100 % locales (SQLite), aucun compte requis
- Interface sombre compacte, toujours au premier plan (optionnel)

---

## Stack technique

| Couche | Technologie |
|---|---|
| Framework desktop | [Tauri v2](https://tauri.app/) (Rust) |
| Frontend | React 19 + TypeScript + Vite |
| Styles | Tailwind CSS v4 |
| État global | Zustand |
| Requêtes async | TanStack Query |
| Base de données | SQLite via `tauri-plugin-sql` + `rusqlite` |
| Navigation | React Router v7 |

---

## Installation

### Prérequis

- [Node.js](https://nodejs.org/) ≥ 18
- [Rust](https://rustup.rs/) (stable)
- Dépendances système Linux : `libwebkit2gtk-4.1`, `libgtk-3`, `libayatana-appindicator3`

```bash
# Ubuntu / Debian
sudo apt install libwebkit2gtk-4.1-dev libgtk-3-dev libayatana-appindicator3-dev
```

### Lancement en développement

```bash
npm install
npm run tauri dev
```

### Build de production

```bash
npm run tauri build
```

Les binaires sont générés dans `src-tauri/target/release/bundle/`.

---

## Téléchargement

Les binaires compilés (Linux `.AppImage` / Windows `.exe`) sont disponibles dans les [Releases GitHub](../../releases).

---

## Premiers pas

1. Lancer l'application — une base de données locale est créée automatiquement.
2. Aller dans **Paramètres** (icône engrenage) → créer un profil.
3. Cliquer sur **Synchroniser maintenant** pour télécharger les guides depuis Google Sheets.
4. Retourner sur la page principale et ouvrir un guide pour commencer à cocher les quêtes.

---

## Licence

MIT — voir [LICENSE](LICENSE).
