micronaut-projects / micronaut-build

Common Gradle build scripts
Apache License 2.0
18 stars 14 forks source link

Fix documentation when default language is unavailable #684

Closed timyates closed 4 months ago

timyates commented 4 months ago

When a user views the documentation and clicks on a multi-lang snippet to view a specific language, we store that language in local-storage

So when they go to view another documentation doc, we remember what the language was, and select that one.

So someone who had selected Kotlin, sees Kotlin snippets when they go back later.

This had a bug in it. Sometimes when we add a multi-lang snippet we may only have a selection of languages covered in the tested source code. The issue is that when someone who has selected Kotlin previously lands on a page with a missing Kotlin snippet, they see no snippet as all are hidden.

See https://github.com/micronaut-projects/micronaut-data/issues/2896 for example

This PR introduces a new method which checks if a snippet group is all hidden, and if it is, it forces the first one to be visible