From 5ffc9d851a391d7e6f30f177dcbe6fbd9dbf5d22 Mon Sep 17 00:00:00 2001 From: Bruno Charest Date: Fri, 2 Oct 2026 08:14:44 -0400 Subject: [PATCH] fix: bouton de repli des facettes compact et icone seule qui pivote sur mobile #157 --- CHANGELOG.md | 10 +++++++++- README.fr.md | 6 +++--- README.md | 6 +++--- VERSION | 2 +- desktop/Cargo.lock | 2 +- desktop/Cargo.toml | 2 +- desktop/tauri.conf.json | 2 +- docs/ROADMAP.md | 2 +- frontend/style.css | 13 ++++++++++--- package.json | 2 +- tests/e2e/obsigate.spec.ts | 14 ++++++++++++++ 11 files changed, 45 insertions(+), 16 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 364ee2f..b430724 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,7 +6,7 @@ Format basé sur [Keep a Changelog](https://keepachangelog.com/fr/1.1.0/), et [Semantic Versioning](https://semver.org/spec/v2.0.0.html). > **En cours de développement** : les changements à venir sont listés dans la section -> [Unreleased](#unreleased). La dernière version livrée est **2.47.0**. +> [Unreleased](#unreleased). La dernière version livrée est **2.47.1**. --- @@ -14,6 +14,10 @@ et [Semantic Versioning](https://semver.org/spec/v2.0.0.html). --- +## [2.47.1] — 2026-10-02 + +--- + ## [2.47.0] — 2026-10-01 ### Ajouté @@ -30,6 +34,10 @@ et [Semantic Versioning](https://semver.org/spec/v2.0.0.html). plus les tests d'advanced-search pointaient la route inexistante `/api/advanced-search` et sautaient en silence — ils ciblent désormais `/api/search/advanced`, avec une assertion stricte sur `facets.extensions`. +- **#157 — bouton de repli des facettes maladroit sur mobile.** En dessous de 768 px, le + panneau passe en colonne et le bouton s'étirait en pleine largeur d'écran, pivotait + entièrement à la vertical au clic. Le bouton reste compact (`align-self: flex-start`) et + **seule l'icône chevron pivote** (transition 120 ms), sur mobile comme sur desktop. --- diff --git a/README.fr.md b/README.fr.md index 8cb4890..3daa6cf 100644 --- a/README.fr.md +++ b/README.fr.md @@ -4,7 +4,7 @@ **Porte d'entrée web ultra-léger pour vos vaults Obsidian** — Accédez, naviguez et recherchez dans toutes vos notes Obsidian depuis n'importe quel appareil via une interface web moderne et responsive. -[![Version](https://img.shields.io/badge/Version-2.47.0-blue.svg)]() +[![Version](https://img.shields.io/badge/Version-2.47.1-blue.svg)]() [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![Docker](https://img.shields.io/badge/Docker-Ready-blue.svg)](https://www.docker.com/) [![Python](https://img.shields.io/badge/Python-3.11+-green.svg)](https://www.python.org/) @@ -976,8 +976,8 @@ Ce projet est sous licence **MIT** — voir le fichier [LICENSE](LICENSE) pour l ## 📝 Changelog -Consultez le [CHANGELOG.md](./CHANGELOG.md) pour l'historique complet de toutes les versions (v1.0.0 → v2.47.0). +Consultez le [CHANGELOG.md](./CHANGELOG.md) pour l'historique complet de toutes les versions (v1.0.0 → v2.47.1). --- -*Projet : ObsiGate | Version : 2.47.0 | Dernière mise à jour : Septembre 2026* +*Projet : ObsiGate | Version : 2.47.1 | Dernière mise à jour : Septembre 2026* diff --git a/README.md b/README.md index 4e47200..10df296 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ **Ultra-light web gateway for your Obsidian vaults** — Access, browse, and search all your Obsidian notes from any device via a modern, responsive web interface. -[![Version](https://img.shields.io/badge/Version-2.47.0-blue.svg)]() +[![Version](https://img.shields.io/badge/Version-2.47.1-blue.svg)]() [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![Docker](https://img.shields.io/badge/Docker-Ready-blue.svg)](https://www.docker.com/) [![Python](https://img.shields.io/badge/Python-3.11+-green.svg)](https://www.python.org/) @@ -1151,8 +1151,8 @@ This project is licensed under the **MIT License** - see the [LICENSE](LICENSE) ## 📝 Changelog -See [CHANGELOG.md](./CHANGELOG.md) for the complete version history (v1.0.0 → v2.47.0). +See [CHANGELOG.md](./CHANGELOG.md) for the complete version history (v1.0.0 → v2.47.1). --- -*Project: ObsiGate | Version: 2.47.0 | Last updated: September 2026* +*Project: ObsiGate | Version: 2.47.1 | Last updated: September 2026* diff --git a/VERSION b/VERSION index bb13a7e..24c6ede 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -2.47.0 +2.47.1 diff --git a/desktop/Cargo.lock b/desktop/Cargo.lock index 8d34413..5c1e057 100644 --- a/desktop/Cargo.lock +++ b/desktop/Cargo.lock @@ -2626,7 +2626,7 @@ dependencies = [ [[package]] name = "obsigate-desktop" -version = "2.47.0" +version = "2.47.1" dependencies = [ "chrono", "env_logger", diff --git a/desktop/Cargo.toml b/desktop/Cargo.toml index 348472c..a6d89e8 100644 --- a/desktop/Cargo.toml +++ b/desktop/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "obsigate-desktop" -version = "2.47.0" +version = "2.47.1" description = "ObsiGate Desktop — Porte d'entrée native pour vos vaults Obsidian" authors = ["Bruno Charest"] edition = "2021" diff --git a/desktop/tauri.conf.json b/desktop/tauri.conf.json index 4dac661..eecfa52 100644 --- a/desktop/tauri.conf.json +++ b/desktop/tauri.conf.json @@ -1,7 +1,7 @@ { "$schema": "https://raw.githubusercontent.com/nicedoc/obsigate/main/desktop/tauri.conf.schema.json", "productName": "ObsiGate", - "version": "2.47.0", + "version": "2.47.1", "identifier": "com.obsigate.desktop", "build": { "frontendDist": "../frontend", diff --git a/docs/ROADMAP.md b/docs/ROADMAP.md index b62870c..1b88268 100644 --- a/docs/ROADMAP.md +++ b/docs/ROADMAP.md @@ -1,6 +1,6 @@ # ObsiGate — Roadmap -> **Version :** 2.47.0 | **Dernière mise à jour :** 2026-10-01 +> **Version :** 2.47.1 | **Dernière mise à jour :** 2026-10-02 > **Ce fichier ne contient que le travail à venir** (🔵 En cours + ⚪ Backlog) et un index compact > vers les fonctionnalités livrées. > - **Méthode de livraison à appliquer pour toute tâche : [DELIVERY_WORKFLOW.md](./DELIVERY_WORKFLOW.md)** diff --git a/frontend/style.css b/frontend/style.css index a9272fd..b283152 100644 --- a/frontend/style.css +++ b/frontend/style.css @@ -5480,6 +5480,7 @@ body.resizing-v { display: inline-flex; align-items: center; justify-content: center; + align-self: flex-start; /* mobile (colonne) : ne jamais s'étirer en pleine largeur */ padding: 2px 6px; border: 1px solid var(--border); border-radius: 6px; @@ -5487,15 +5488,21 @@ body.resizing-v { color: var(--text-muted); cursor: pointer; transition: - transform 120ms, border-color 120ms, - color 120ms; + color 120ms, + background 120ms; } .search-facets__toggle:hover { border-color: var(--accent); color: var(--text-secondary); } -.search-facets[data-collapsed="true"] .search-facets__toggle { +/* Seule l'icône pivote — la boîte du bouton reste fixe */ +.search-facets__toggle i, +.search-facets__toggle svg { + transition: transform 120ms; +} +.search-facets[data-collapsed="true"] .search-facets__toggle i, +.search-facets[data-collapsed="true"] .search-facets__toggle svg { transform: rotate(-90deg); } .search-facets__body { diff --git a/package.json b/package.json index 2023a28..6c466f8 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "obsigate", - "version": "2.47.0", + "version": "2.47.1", "description": "**Porte d'entrée web ultra-léger pour vos vaults Obsidian** — Accédez, naviguez et recherchez dans toutes vos notes Obsidian depuis n'importe quel appareil via une interface web moderne et responsive.", "main": "patch.js", "directories": { diff --git a/tests/e2e/obsigate.spec.ts b/tests/e2e/obsigate.spec.ts index 79e4998..5a1f893 100644 --- a/tests/e2e/obsigate.spec.ts +++ b/tests/e2e/obsigate.spec.ts @@ -154,6 +154,20 @@ test.describe('Full-Text Search', () => { await expect(page.locator('.search-facets__body')).toBeHidden(); await page.locator('.search-facets__toggle').click(); await expect(page.locator('.search-facets__body')).toBeVisible(); + + // mobile: the toggle stays compact (no full-width stretch) and only the + // icon rotates — the button box itself never spins + await page.setViewportSize({ width: 390, height: 844 }); + const toggle = page.locator('.search-facets__toggle'); + const box = await toggle.boundingBox(); + expect(box).not.toBeNull(); + expect(box!.width).toBeLessThan(150); + await toggle.click(); + expect(await toggle.evaluate((el) => getComputedStyle(el).transform)).toBe('none'); + const icon = toggle.locator('svg'); + expect(await icon.evaluate((el) => getComputedStyle(el).transform)).not.toBe('none'); + await toggle.click(); + await page.setViewportSize({ width: 1280, height: 720 }); }); test('should navigate results with floating bar arrows', async ({ page }) => {