diff --git a/assets/button-stepped-border-image.svg b/assets/button-stepped-border-image.svg new file mode 100644 index 0000000..229a1aa --- /dev/null +++ b/assets/button-stepped-border-image.svg @@ -0,0 +1,66 @@ + + + + diff --git a/assets/neon-border-image.svg b/assets/neon-border-image.svg new file mode 100644 index 0000000..b78b240 --- /dev/null +++ b/assets/neon-border-image.svg @@ -0,0 +1,69 @@ + + + + diff --git a/couches/autogestion.geojson b/couches/autogestion.geojson index b53cc2c..cba8f7f 100644 --- a/couches/autogestion.geojson +++ b/couches/autogestion.geojson @@ -4,7 +4,6 @@ "crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } }, "features": [ { "type": "Feature", "properties": { "name": "Tableau de programmation" }, "geometry": { "type": "Point", "coordinates": [ -2.091304219258237, 47.541608316100941 ] } }, -{ "type": "Feature", "properties": { "name": "Tableau des shifts" }, "geometry": { "type": "Point", "coordinates": [ -2.091287266713699, 47.541705450550154 ] } }, -{ "type": "Feature", "properties": { "name": "Tableau des shifts" }, "geometry": null } +{ "type": "Feature", "properties": { "name": "Tableau des shifts" }, "geometry": { "type": "Point", "coordinates": [ -2.091287983083753, 47.541680943841193 ] } } ] } diff --git a/couches/batiments.geojson b/couches/batiments.geojson index 86550a4..0dd01a7 100644 --- a/couches/batiments.geojson +++ b/couches/batiments.geojson @@ -3,8 +3,8 @@ "name": "batiments", "crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } }, "features": [ -{ "type": "Feature", "properties": { "id": 1, "nom": "Batiment A" }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -2.091581996371882, 47.541032945940522 ], [ -2.09151399426637, 47.541497984433285 ], [ -2.091312011285422, 47.541481979469303 ], [ -2.091326034403365, 47.541400730704773 ], [ -2.091241014242576, 47.541394942672135 ], [ -2.091251030755392, 47.541319968658911 ], [ -2.091334848934643, 47.541327974547109 ], [ -2.091346067428997, 47.541254515067628 ], [ -2.091304879528295, 47.541251918559851 ], [ -2.091309046397626, 47.541206046901102 ], [ -2.091353038921917, 47.541207940189693 ], [ -2.091375035184063, 47.541061913344244 ], [ -2.091330882395567, 47.541059965956265 ], [ -2.091335990817103, 47.541026008366721 ], [ -2.091380744596368, 47.54102704967903 ], [ -2.091381966610932, 47.541019003174263 ], [ -2.091581996371882, 47.541032945940522 ] ] ] ] } }, -{ "type": "Feature", "properties": { "id": 2, "nom": "Batiment B", "electricite-triphase": true }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -2.091630987136071, 47.541689935433055 ], [ -2.091803321239079, 47.54170457447416 ], [ -2.091796950736927, 47.541739951576218 ], [ -2.092355992350255, 47.541780954364874 ], [ -2.092339965929748, 47.54185403445365 ], [ -2.091958937782201, 47.541822011214833 ], [ -2.09193297498098, 47.54193998862457 ], [ -2.091763976376737, 47.541926005529561 ], [ -2.091756003232534, 47.541964993201951 ], [ -2.091590991200393, 47.541954999486393 ], [ -2.091630987136071, 47.541689935433055 ] ] ] ] } }, -{ "type": "Feature", "properties": { "id": 10, "nom": "Toilettes sèches" }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -2.091342607190285, 47.541484412003662 ], [ -2.091438001950184, 47.541492274863295 ], [ -2.09143324403292, 47.541516949622384 ], [ -2.09133755253389, 47.541508679404679 ], [ -2.091342607190285, 47.541484412003662 ] ] ] ] } } +{ "type": "Feature", "properties": { "id": 1, "nom": "Batiment A", "batiment": true }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -2.091581996371882, 47.541032945940522 ], [ -2.09151399426637, 47.541497984433285 ], [ -2.091312011285422, 47.541481979469303 ], [ -2.091326034403365, 47.541400730704773 ], [ -2.091241014242576, 47.541394942672135 ], [ -2.091251030755392, 47.541319968658911 ], [ -2.091334848934643, 47.541327974547109 ], [ -2.091346067428997, 47.541254515067628 ], [ -2.091304879528295, 47.541251918559851 ], [ -2.091309046397626, 47.541206046901102 ], [ -2.091353038921917, 47.541207940189693 ], [ -2.091375035184063, 47.541061913344244 ], [ -2.091330882395567, 47.541059965956265 ], [ -2.091335990817103, 47.541026008366721 ], [ -2.091380744596368, 47.54102704967903 ], [ -2.091381966610932, 47.541019003174263 ], [ -2.091581996371882, 47.541032945940522 ] ] ] ] } }, +{ "type": "Feature", "properties": { "id": 2, "nom": "Batiment B", "batiment": true, "electricite-triphase": true }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -2.091630987136071, 47.541689935433055 ], [ -2.091803321239079, 47.54170457447416 ], [ -2.091796950736927, 47.541739951576218 ], [ -2.092355992350255, 47.541780954364874 ], [ -2.092339965929748, 47.54185403445365 ], [ -2.091958937782201, 47.541822011214833 ], [ -2.09193297498098, 47.54193998862457 ], [ -2.091763976376737, 47.541926005529561 ], [ -2.091756003232534, 47.541964993201951 ], [ -2.091590991200393, 47.541954999486393 ], [ -2.091630987136071, 47.541689935433055 ] ] ] ] } }, +{ "type": "Feature", "properties": { "id": 10, "nom": "Toilettes sèches", "batiment": true }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -2.091342607190285, 47.541484412003662 ], [ -2.091438001950184, 47.541492274863295 ], [ -2.09143324403292, 47.541516949622384 ], [ -2.09133755253389, 47.541508679404679 ], [ -2.091342607190285, 47.541484412003662 ] ] ] ] } } ] } diff --git a/couches/medic.geojson b/couches/medic.geojson index 71a1334..bfbff26 100644 --- a/couches/medic.geojson +++ b/couches/medic.geojson @@ -3,9 +3,7 @@ "name": "medic", "crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } }, "features": [ -{ "type": "Feature", "properties": { "name": "Infirmerie" }, "geometry": null }, -{ "type": "Feature", "properties": { "name": "infirmerie" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ -2.091966260276902, 47.541709299003671 ], [ -2.092019639165452, 47.541714403762832 ], [ -2.092031204591305, 47.541653747180767 ], [ -2.091978270526826, 47.54165014381725 ], [ -2.091966260276902, 47.541709299003671 ] ] ] } }, -{ "type": "Feature", "properties": { "name": "infirmerie" }, "geometry": null }, +{ "type": "Feature", "properties": { "name": "infirmerie" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ -2.091983279274473, 47.541750296814556 ], [ -2.092011290414653, 47.541752703414282 ], [ -2.092017401936146, 47.541713510204964 ], [ -2.091990409382882, 47.54171144740365 ], [ -2.091983279274473, 47.541750296814556 ] ] ] } }, { "type": "Feature", "properties": { "name": "zone infirmerie" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ -2.091842510161106, 47.54181195296588 ], [ -2.091847583778531, 47.541782685155603 ], [ -2.091792696462745, 47.541778014758826 ], [ -2.091786239131476, 47.54180697121209 ], [ -2.091842510161106, 47.54181195296588 ] ] ] } } ] } diff --git a/couches/piscine.geojson b/couches/piscine.geojson index 291a8ea..924ca7d 100644 --- a/couches/piscine.geojson +++ b/couches/piscine.geojson @@ -3,6 +3,6 @@ "name": "piscine", "crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } }, "features": [ -{ "type": "Feature", "properties": { "id": null, "name": "Piscine" }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -2.091707042517393, 47.542115661078718 ], [ -2.091903846960937, 47.542128643402442 ], [ -2.091884615256356, 47.542248080629903 ], [ -2.091687810812811, 47.542235963822122 ], [ -2.091707042517393, 47.542115661078718 ] ] ] ] } } +{ "type": "Feature", "properties": { "id": null, "name": "Piscine", "piscine": true }, "geometry": { "type": "MultiPolygon", "coordinates": [ [ [ [ -2.091707042517393, 47.542115661078718 ], [ -2.091903846960937, 47.542128643402442 ], [ -2.091884615256356, 47.542248080629903 ], [ -2.091687810812811, 47.542235963822122 ], [ -2.091707042517393, 47.542115661078718 ] ] ] ] } } ] } diff --git a/couches/wifi.geojson b/couches/wifi.geojson index ea0ef34..8476f2f 100644 --- a/couches/wifi.geojson +++ b/couches/wifi.geojson @@ -3,8 +3,8 @@ "name": "wifi", "crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } }, "features": [ -{ "type": "Feature", "properties": { "fixe": true }, "geometry": { "type": "Point", "coordinates": [ -2.091875157168781, 47.541822388950891 ] } }, -{ "type": "Feature", "properties": { "fixe": true }, "geometry": { "type": "Point", "coordinates": [ -2.091771851987061, 47.541790332713326 ] } }, -{ "type": "Feature", "properties": { "fixe": true }, "geometry": { "type": "Point", "coordinates": [ -2.092165078162641, 47.541781334467679 ] } } +{ "type": "Feature", "properties": { "wifi": true, "fixe": true }, "geometry": { "type": "Point", "coordinates": [ -2.091875157168781, 47.541822388950891 ] } }, +{ "type": "Feature", "properties": { "wifi": true, "fixe": true }, "geometry": { "type": "Point", "coordinates": [ -2.091771851987061, 47.541790332713326 ] } }, +{ "type": "Feature", "properties": { "wifi": true, "fixe": true }, "geometry": { "type": "Point", "coordinates": [ -2.092165078162641, 47.541781334467679 ] } } ] } diff --git a/css/style.css b/css/style.css index cba1aa4..7e65655 100644 --- a/css/style.css +++ b/css/style.css @@ -5,12 +5,29 @@ body, html { body { pointer-events: none; + + display: flex; + flex-direction: column; + justify-content: flex-start; + align-items: stretch; + + min-height: 100vh; } body > * { pointer-events: all; } +body > hr { + border: none; + padding: 0; + margin: 0; + flex: 1; + min-height: 50vh; + flex-shrink: 0; + pointer-events: none; +} + /* HEADER and NAV */ #main-header { @@ -71,22 +88,8 @@ body > * { } } -.map-hilight-area.active { - stroke: #ff4e00; - stroke-width: 5px; - fill: rgba(255, 77, 0, 0.25); -} - -.highlight-point-icon::after { - content: ""; - width: 5px; - height: 5px; - border-radius: 100%; - background: transparent; -} - -.active .highlight-point-icon::after { - background: #ff4e00; +.highlight-point-icon > * { + transform: translateX(-50%) translateY(-50%); } .map-amenity-icon .map-amenity-icon-container { @@ -126,4 +129,146 @@ body > * { filter: drop-shadow(0 0 10px black); opacity: clamp(0, calc( 1 - ( var(--zoom-level) - 18 ) ), 1) ; pointer-events: none; -} \ No newline at end of file +} + +/* SAERCH FORM */ + +#search-section { + border: solid 10px black; + border-image: url("../assets/button-stepped-border-image.svg") 16 15 fill; + z-index: 100; + margin-bottom: 5px; + margin-left: 5px; + width: fit-content; + max-width: 100%; + background: black; + background-clip: content-box; + color: white; + + display: grid; + grid-template-columns: min-content 1fr; + grid-template-rows: 1fr; +} + +#search-section input { + background: black; + font-size: 1em; + color: inherit; + font-family: monospace; + border: none; + padding: 1ex; + + grid-column: 2; + grid-row: 1; +} + +#search-section button { + background: transparent; + border: none; + padding: 1ex; + grid-column: 1; + grid-row: 1; + cursor: pointer; +} + +#search-section label { + grid-column: 2; + grid-row: 1; + padding: 1ex; + align-self: flex-end; +} + +#search-section button img { + height: 1.5em; +} + +/* PANEL */ + +#result-panel { + background: black; + border-image: url("../assets/neon-border-image.svg") 12; + border-top: 5.5px white solid; + + color: white; +} + +#result-panel.empty, +#result-panel:empty{ + display:none; +} + +#result-panel > * { + padding: 1em; + margin: 0; +} + +#result-panel::part(navigation-panel) { + background: black; + color: white; + box-shadow: 0 0 10px black; + border-top: solid 1px rgba(255, 255, 255, 0.5); +} + +#result-panel::part(dot), +#result-panel::part(dot-active) { + border-radius: 0; + width: 1ex; + height: 1ex; + margin-top: 0.5ex; +} + +#result-panel::part(dot-active) { + transform-origin: 0% 100%; + transform: scaleX(1) scaleY(1.5); +} + +camp-feature-short-header { + display: grid; + grid-template-rows: 1fr min-content; + grid-template-columns: 3em 1fr; + gap: 0.5ex 0.5em; + vertical-align: center; +} + +camp-feature-short-header .feature-legend { + grid-row: 1 / 3; + height: 3em; + align-self: flex-start; +} + +camp-feature-short-header h2 { + margin: 0; + padding: 0; + font-size: 1em; + font-weight: bold; +} + +camp-feature-short-header .feature-location { + margin: 0; + padding: 0; + font-size: 0.6em; + opacity: 0.75; +} + +#search-result { + list-style-type: none; +} + +#search-result > li:not(:first-child) { + margin-top: 1em; +} + +#search-result > li:not(:last-child) { + margin-bottom: 1em; +} + +#search-result > li > a { + text-decoration: none; + color: inherit; +} + +/* FEATURE */ + +camp-feature { + min-height: 25vh; +} diff --git a/icons/arrow-left.svg b/icons/arrow-left.svg new file mode 100644 index 0000000..666b191 --- /dev/null +++ b/icons/arrow-left.svg @@ -0,0 +1,19 @@ + + + + diff --git a/icons/arrow-right.svg b/icons/arrow-right.svg new file mode 100644 index 0000000..51a6708 --- /dev/null +++ b/icons/arrow-right.svg @@ -0,0 +1,19 @@ + + + + diff --git a/icons/default-marker.svg b/icons/default-marker.svg new file mode 100644 index 0000000..ffe0405 --- /dev/null +++ b/icons/default-marker.svg @@ -0,0 +1,48 @@ + + + + diff --git a/icons/parking.svg b/icons/parking.svg new file mode 100644 index 0000000..ec261d4 --- /dev/null +++ b/icons/parking.svg @@ -0,0 +1,66 @@ + + + + diff --git a/icons/piscine.svg b/icons/piscine.svg new file mode 100644 index 0000000..ecff3e1 --- /dev/null +++ b/icons/piscine.svg @@ -0,0 +1,71 @@ + + + + diff --git a/icons/search.svg b/icons/search.svg new file mode 100644 index 0000000..535d2ef --- /dev/null +++ b/icons/search.svg @@ -0,0 +1,541 @@ + + + + diff --git a/icons/wifi.svg b/icons/wifi.svg new file mode 100644 index 0000000..7d02eae --- /dev/null +++ b/icons/wifi.svg @@ -0,0 +1,71 @@ + + + + diff --git a/index.html b/index.html index 32e8aab..7163235 100644 --- a/index.html +++ b/index.html @@ -7,6 +7,7 @@ +