f5d8149fb8
- Species struct: 13 new wildlife fields (nectar/pollen, bee/butterfly/bird counts, native status) - Species list: filter dropdowns for plant_layer, nitrogen_fixer, drought_tolerance, native_status - Species detail: Wildlife & Ecology card with visual nectar/pollen bars, bee counts, native badges - Data sources page: added NaturaDB, Dreschflegel, Bingenheimer Saatgut - API: list_species now supports filter query params
122 lines
5.0 KiB
Rust
122 lines
5.0 KiB
Rust
use dioxus::prelude::*;
|
|
|
|
struct DataSource {
|
|
name: &'static str,
|
|
url: &'static str,
|
|
description: &'static str,
|
|
data_used: &'static str,
|
|
license: &'static str,
|
|
}
|
|
|
|
const SOURCES: &[DataSource] = &[
|
|
DataSource {
|
|
name: "GBIF",
|
|
url: "https://gbif.org",
|
|
description: "Global Biodiversity Information Facility — the world's largest open biodiversity data network.",
|
|
data_used: "Taxonomy and German common names. Used for species name lookups and vernacular name enrichment.",
|
|
license: "CC0",
|
|
},
|
|
DataSource {
|
|
name: "Reinsaat",
|
|
url: "https://reinsaat.at",
|
|
description: "Austrian biodynamic seed producer.",
|
|
data_used: "Cultivar data, sowing calendars, spacing info. Scraped from product catalog.",
|
|
license: "Proprietary",
|
|
},
|
|
DataSource {
|
|
name: "Magic Garden Seeds",
|
|
url: "https://magicgardenseeds.com",
|
|
description: "Specialist seed shop with a wide range of rare and heritage varieties.",
|
|
data_used: "Cultivar data, growing info. Scraped from product catalog.",
|
|
license: "Proprietary",
|
|
},
|
|
DataSource {
|
|
name: "PFAF (Plants for a Future)",
|
|
url: "https://pfaf.org",
|
|
description: "Permaculture plant database with extensive information on useful plants.",
|
|
data_used: "Species data: uses, tolerances, hardiness zones, height/spread, bloom periods. Data from community SQLite export.",
|
|
license: "Open data",
|
|
},
|
|
DataSource {
|
|
name: "FloraWeb / BIOLFLOR",
|
|
url: "https://floraweb.de",
|
|
description: "German Federal Agency for Nature Conservation plant information system.",
|
|
data_used: "Ellenberg indicator values for soil pH, moisture, light requirements.",
|
|
license: "Public data",
|
|
},
|
|
DataSource {
|
|
name: "Arche Noah",
|
|
url: "https://arche-noah.at",
|
|
description: "Austrian heritage seed library dedicated to preserving crop diversity.",
|
|
data_used: "Cultivar data and heritage varieties.",
|
|
license: "Proprietary",
|
|
},
|
|
DataSource {
|
|
name: "Wikidata",
|
|
url: "https://wikidata.org",
|
|
description: "Free and open knowledge base providing structured data to Wikimedia projects and beyond.",
|
|
data_used: "Structured data: USDA zones, taxonomy links.",
|
|
license: "CC0",
|
|
},
|
|
DataSource {
|
|
name: "NaturaDB",
|
|
url: "https://naturadb.de",
|
|
description: "German native plant database with extensive wildlife interaction data.",
|
|
data_used: "Wildlife interaction data (pollinators, wild bees, butterflies, birds), native status classification, nectar/pollen values.",
|
|
license: "Content scraped for research",
|
|
},
|
|
DataSource {
|
|
name: "Dreschflegel",
|
|
url: "https://dreschflegel-saatgut.de",
|
|
description: "German organic seed cooperative offering open-pollinated and heritage varieties.",
|
|
data_used: "Cultivar data. Scraped from catalog.",
|
|
license: "Proprietary",
|
|
},
|
|
DataSource {
|
|
name: "Bingenheimer Saatgut",
|
|
url: "https://bingenheimersaatgut.de",
|
|
description: "Demeter-certified biodynamic seed company from Germany.",
|
|
data_used: "Cultivar data. Scraped from catalog.",
|
|
license: "Proprietary",
|
|
},
|
|
];
|
|
|
|
#[component]
|
|
pub fn Sources() -> Element {
|
|
rsx! {
|
|
div { class: "page sources-page",
|
|
h1 { "Data Sources" }
|
|
p { class: "sources-intro",
|
|
"HerbAPI aggregates plant data from multiple open sources. We are grateful to these projects for making botanical knowledge freely available."
|
|
}
|
|
div { class: "sources-grid",
|
|
for source in SOURCES.iter() {
|
|
div { class: "source-card",
|
|
div { class: "source-header",
|
|
h3 { class: "source-name", "{source.name}" }
|
|
a {
|
|
class: "source-url",
|
|
href: "{source.url}",
|
|
target: "_blank",
|
|
rel: "noopener",
|
|
"{source.url}"
|
|
}
|
|
}
|
|
p { class: "source-description", "{source.description}" }
|
|
div { class: "source-details",
|
|
div { class: "source-detail",
|
|
span { class: "source-detail-label", "Data used" }
|
|
span { class: "source-detail-value", "{source.data_used}" }
|
|
}
|
|
div { class: "source-detail",
|
|
span { class: "source-detail-label", "License" }
|
|
span { class: "source-detail-value source-license", "{source.license}" }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|