diff --git a/docs/public/server/imgs/furtherheights.com.png b/docs/public/server/imgs/furtherheights.com.png new file mode 100644 index 00000000..22744541 Binary files /dev/null and b/docs/public/server/imgs/furtherheights.com.png differ diff --git a/docs/public/server/imgs/gatti.ninja.jpg b/docs/public/server/imgs/gatti.ninja.jpg new file mode 100644 index 00000000..e7789e3e Binary files /dev/null and b/docs/public/server/imgs/gatti.ninja.jpg differ diff --git a/docs/public/server/servers.json b/docs/public/server/servers.json index c07fa9ca..d8df9783 100644 --- a/docs/public/server/servers.json +++ b/docs/public/server/servers.json @@ -4,26 +4,44 @@ "url": "https://demo.wanderer.to", "description": "A public demo instance of wanderer. Everyone can log in and try out all features—upload trails, create lists, explore the interface, and test federation. Data is reset periodically, so feel free to experiment.", "image": "/server/imgs/wanderer.to.png", - "region": "World", - "language": "English", - "category": "General" + "region": ["World"], + "language": ["English"], + "category": ["General"] }, { "name": "..:: tchncs :: wanderer ::..", "url": "https://trails.tchncs.de", "description": "General purpose instance by tchncs.de, not bound to a specific area. It is supported by voluntary donations from users of tchncs.", "image": "/server/imgs/tchncs.de.png", - "region": "Germany", - "language": "German, English", - "category": "General Outdoor" + "region": ["Germany"], + "language":[ "German", "English"], + "category": ["General"] }, { "name": "Trails by Softwerke Magdeburg", "url": "https://trails.magdeburg.jetzt", "description": "Find and share cool places & tours near Magdeburg & Saxony-Anhalt on this public instance. It is run by Softwerke Magdeburg, a non-profit association that's locally providing various free & open services to the public.", "image": "/server/imgs/magdeburg.jetzt.png", - "region": "Magdeburg & Saxony-Anhalt", - "language": "German", - "category": "General Outdoor" + "region": ["Germany", "Magdeburg", "Saxony-Anhalt"], + "language": ["German"], + "category": ["General"] + }, + { + "name": "Further Heights", + "url": "https://furtherheights.com", + "description": "An instance for those wanting to map trails and joining a community in the Pacific Northwest of North America.", + "image": "/server/imgs/furtherheights.com.png", + "region": ["North America"], + "language": ["English"], + "category": ["Hiking", "Biking", "4x4"] + }, + { + "name": "Giretti", + "url": "https://giretti.gatti.ninja", + "description": "An instance for Italy, with motorcycle category added.", + "image": "/server/imgs/gatti.ninja.jpg", + "region": ["Italy"], + "language": ["Itlian"], + "category": ["Biking", "Motorcycling", "General"] } ] \ No newline at end of file diff --git a/docs/src/components/server_list.svelte b/docs/src/components/server_list.svelte index fcb07972..1387eee0 100644 --- a/docs/src/components/server_list.svelte +++ b/docs/src/components/server_list.svelte @@ -15,33 +15,37 @@ let language = $state(""); let category = $state(""); - const uniqueValues = (key: keyof Server) => [ - ...new Set(servers.map((s) => s[key])), - ]; + function uniqueValues(key: "region" | "language" | "category") { + const allValues = servers.flatMap((s) => s[key]); + const uniqueValues = [...new Set(allValues)]; + return uniqueValues; + } const regionItems: SelectItem[] = [ { text: "All regions", value: "" }, ...uniqueValues("region").map((v) => ({ text: v, value: v })), - ]; + ].toSorted((a, b) => a.text.localeCompare(b.text)); const languageItems: SelectItem[] = [ { text: "All languages", value: "" }, ...uniqueValues("language").map((v) => ({ text: v, value: v })), - ]; + ].toSorted((a, b) => a.text.localeCompare(b.text)); const categoryItems: SelectItem[] = [ { text: "All categories", value: "" }, ...uniqueValues("category").map((v) => ({ text: v, value: v })), - ]; + ].toSorted((a, b) => a.text.localeCompare(b.text)); const filteredServers = $derived( servers.filter( (server) => (server.name.toLowerCase().includes(search.toLowerCase()) || - server.description.toLowerCase().includes(search.toLowerCase())) && - (!region || server.region === region) && - (!language || server.language === language) && - (!category || server.category === category), + server.description + .toLowerCase() + .includes(search.toLowerCase())) && + (!region || server.region.includes(region)) && + (!language || server.language.includes(language)) && + (!category || server.category.includes(category)), ), ); @@ -58,7 +62,11 @@ discover publicly listed wanderer servers you might want to explore or become part of.
-Learn how to add your server to the list here.
++ Learn how to add your server to the list here. +