Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Redesign de la fiche détaillée #968

Open
wants to merge 96 commits into
base: main
Choose a base branch
from
Open

Conversation

fabienheureux
Copy link
Member

@fabienheureux fabienheureux commented Oct 22, 2024

Description succincte du problème résolu

Carte notion

TODO

  • Fermeture de la fiche au clic sur fermer (suppression du hash)
  • Ouverture au premier clic d'une fiche
  • Action partager

Description plus détaillée de l'intention, l'approche ou de l'implémentation (ce qui n’est pas visible directement en lisant le code)

Type de changement :

  • Bug fix
  • Nouvelle fonctionnalité
  • Mise à jour de données / DAG
  • Les changements nécessitent une mise à jour de documentation
  • Refactoring de code (explication à retrouver dans la description)

Auto-review

Les trucs à faire avant de demander une review :

  • J'ai bien relu mon code
  • La CI passe bien
  • En cas d'ajout de variable d'environnement, j'ai bien mis à jour le .env.template
  • J'ai ajouté des tests qui couvrent le nouveau code

Comment tester

En local / staging :

@fabienheureux fabienheureux changed the title wip Redesign de la fiche détaillée Oct 22, 2024
Copy link
Contributor

@kolok kolok left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note pour plus tard : comprendre comment on passe de mobile vs desktop

qfdmo/views/adresses.py Outdated Show resolved Hide resolved
qfdmo/views/adresses.py Show resolved Hide resolved
qfdmo/views/adresses.py Outdated Show resolved Hide resolved
qfdmo/models/acteur.py Show resolved Hide resolved
static/to_compile/src/search_solution_form_controller.ts Outdated Show resolved Hide resolved
core/settings.py Show resolved Hide resolved
core/urls.py Outdated Show resolved Hide resolved
dev-requirements.txt Outdated Show resolved Hide resolved
docs/Frontend.md Outdated Show resolved Hide resolved
@@ -22,5 +19,6 @@ test("Recherche et modification d'une recherche", async ({ page }) => {

await expect (page.locator("[data-search-solution-form-target=headerAddressPanel]")).toBeInViewport()
await page.locator("button[data-testid=modifier-recherche]").click()
await expect (page.locator("[data-search-solution-form-target=headerAddressPanel]")).toBeHidden()
// TODO : revert
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

On adapt le test ou on le supprime ?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

On adapte !

qfdmo/models/acteur.py Outdated Show resolved Hide resolved
qfdmo/models/acteur.py Outdated Show resolved Hide resolved
qfdmo/models/acteur.py Outdated Show resolved Hide resolved
class TestAdessesViewGetActionList:
@pytest.mark.django_db
class TestAdresseViewMixins:
def test_iframe_mixin_is_carte(self):
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ajouter un test test_iframe_mixin_is_not_… ?

fabienheureux and others added 2 commits November 7, 2024 09:37
Co-authored-by: Nicolas Oudard <[email protected]>
Co-authored-by: Nicolas Oudard <[email protected]>
Copy link
Contributor

@maxcorbeau maxcorbeau left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Manque d'XP sur notre setup Django pour donner à ma revue une pertinence sur la logique d'ensemble/métier.

Quelques commentaires de détails ajoutés pour améliorer code/perf par ci par là.

location = acteur.location

if not (longitude and latitude and location and not acteur.is_digital):
return ""
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Le pattern python quand on veut signaler un manque c'est None: raison particulière pour du ""?

Copy link
Contributor

@maxcorbeau maxcorbeau Nov 7, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK je vois qu'on est dans du jinja donc je comprend le "", mais du coup voir ma remarque ci-dessous sur la séparation modelling vs. rendering.

* 111320
)
if distance_meters >= 1000:
return f"({round(distance_meters / 1000, 1)} km)".replace(".", ",")
Copy link
Contributor

@maxcorbeau maxcorbeau Nov 7, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Je m'attendrais à séparer:

  • la logique de modelling: une fonction qui retourne une distance en numérique, qu'on peut utiliser dans plusieurs endroits du code
  • le rendering: un template qui prend la valeur de distance et décide de la logique l'affichage pour les êtres humains

e2e_tests/accessibility.spec.ts Show resolved Hide resolved
integration_tests/qfdmo/test_acteur_detail.py Show resolved Hide resolved
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nico avait mentionné une refacto avec des règles de nommage et séparation des concerns (ex: _labels avec un _ vs bonus sans): as-tu documenté/formalisé sur Notion? Si non je pense qu'il faudrait pour que je me mette à niveau 🙏

@@ -10,47 +10,6 @@ const DEFAULT_LOCATION: L.LatLngTuple = [46.227638, 2.213749]
const DEFAULT_ZOOM: number = 5
const DEFAULT_MAX_ZOOM: number = 19

// TODO : handle directly from DSFR module
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@kolok penses-tu qu'il faille conserver quelque part ce mapping ?

Comment on lines +8 to 14
# Even if this variable is mainly used when navigating on the Carte
# or Formulaire views, it is used in templates as JSON and parsed to
# be passed to Posthog analytics.
# It is then required to be added on every view by default, because
# the JSON parsing might raise an exception if the variable is undefined.
"is_embedded": "carte" in request.GET or "iframe" in request.GET,
}
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@maxcorbeau @kolok est-ce clair ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants