@if (selectedPlace) { } @if (selectedGPX) { }
@if (viewMarkersList) {

# Points

Currently displayed points
@if (viewMarkersListSearch) {
Search...
} @for (p of visiblePlaces; track p.id) {

# {{ p.name }}

{{ p.place }}
🐶 @if (p.visited) { } @else { } {{ p.category.name }}
} @empty {

# No data

Try moving the map to see markers
}
} @if (viewFilters) {

# Filters

You can customize the view
Visited
Allow dog only
Favorites only

# Categories

@for (c of categories; track c.id) {
{{ c.name }}
}
} @if (viewSettings) {
About Account Preferences Categories Backups

# About

📘 Documentation Learn more here
☕ Support TRIP Support development through optional donations. Thank you!
@if (this.info?.update) {
TRIP {{ this.info?.update }} available on Github. Changelog
} @else {
TRIP {{ info?.version }} }
Made with ❤️ in BZH

# Account

# TOTP

@if (settings?.totp_enabled) { enabled } @else { disabled }
Add a second layer of security to your account
@if (settings?.google_apikey) {

# Google API Key

} @else {

# Google API Key

API Key
}

# Map parameters

You can customize the default view on map loading
Default Lat. Default Long. Tile Layer
Low Network Mode
You can disable Low Network Mode. Default is true. Display Category image instead of Place image.
GPX Indication
Display a compass in Place bubble when a GPX is present.

# Currency

Currency

# Filters

You can customize the categories to hide by default
Hide

# Categories

You can modify the categories. You cannot delete a used category.
@for (category of categories; track category.id) {
{{ category.name }}
}

# Export data

Start an export and download it
@for (backup of backups; track backup.id) {
{{ backup.filename }}
@if (backup.file_size) {{{ backup.file_size | fileSize }}} @if (backup.status == 'pending') { {{ backup.status }} } @else if (backup.status == 'processing') { {{ backup.status }} } @else if (backup.status == 'completed') { {{ backup.status }} } @else if (backup.status == 'failed') { {{ backup.status }}

    {{ backup.error_message }}

}
@if (backup.status == 'completed') { } @if (['completed', 'failed'].includes(backup.status)) { }
} @empty {

No backup

}
}