From f1224ee4431357c5959cd25cd6e052db361a6e28 Mon Sep 17 00:00:00 2001 From: Jason Grant Date: Thu, 2 Jun 2022 00:51:36 +0100 Subject: [PATCH 1/8] feature Multi - Charts Complete --- src/components/CoffeeShopByUsersChart.svelte | 97 +++++++++++++++++++ .../CoffeeShopperCountyCharts.svelte | 2 + src/components/ReviewForm.svelte | 95 ++++++++++++++++++ src/pages/Charts.svelte | 4 + src/services/coffeeHub-service.js | 24 +++++ 5 files changed, 222 insertions(+) create mode 100644 src/components/CoffeeShopByUsersChart.svelte create mode 100644 src/components/ReviewForm.svelte diff --git a/src/components/CoffeeShopByUsersChart.svelte b/src/components/CoffeeShopByUsersChart.svelte new file mode 100644 index 0000000..89b924c --- /dev/null +++ b/src/components/CoffeeShopByUsersChart.svelte @@ -0,0 +1,97 @@ + + + +
+
+

No. of Reviews per User

+ +
+ +
\ No newline at end of file diff --git a/src/components/CoffeeShopperCountyCharts.svelte b/src/components/CoffeeShopperCountyCharts.svelte index 4089193..46cf83d 100644 --- a/src/components/CoffeeShopperCountyCharts.svelte +++ b/src/components/CoffeeShopperCountyCharts.svelte @@ -1,4 +1,6 @@ + + +
+
+
+
+ + +
+ +
+ +
+ +
+
+ +
+ + +
+
+ + +
+
+ + +
+
+
+ + +
+
+ +
+
+
+ {message} +
+
+ diff --git a/src/pages/Charts.svelte b/src/pages/Charts.svelte index 8169584..26cfa35 100644 --- a/src/pages/Charts.svelte +++ b/src/pages/Charts.svelte @@ -5,6 +5,7 @@ import CoffeeShopList from "../components/CoffeeShopList.svelte"; import TitleBar from "../components/TitleBar.svelte"; import MainNavigator from "../components/MainNavigator.svelte"; + import CoffeeShopByUsersChart from "../components/CoffeeShopByUsersChart.svelte"; import CoffeeShopperCountyCharts from "../components/CoffeeShopperCountyCharts.svelte" @@ -17,4 +18,7 @@ + + +
\ No newline at end of file diff --git a/src/services/coffeeHub-service.js b/src/services/coffeeHub-service.js index b22fedf..a258c03 100644 --- a/src/services/coffeeHub-service.js +++ b/src/services/coffeeHub-service.js @@ -110,6 +110,17 @@ export class CoffeeHubService { } } + async getCoffeeShopByUserId(id) { + try { + const response = await axios.get(this.baseUrl + "/api/coffeeShop/user/" + id +""); + console.log('getCoffeeShopByUserId Response-> '+ response) + console.log('getCoffeeShopByUserId Response.Data-> '+ response.data) + return response.data; + } catch (error) { + return []; + } + } + async getLocations() { try { const response = await axios.get(this.baseUrl + "/api/locations"); @@ -136,4 +147,17 @@ export class CoffeeHubService { return []; } } + + async getAllUsers(){ + try{ + + const response = await axios.get(this.baseUrl + "/api/users") + console.log('response ->' + response) + console.log('response.data ->' + response.data) + return response.data; + } catch (error) { + return []; + } + } } + From f988fb38a985b18015dbe9e01095c7461406f60e Mon Sep 17 00:00:00 2001 From: Jason Grant Date: Thu, 2 Jun 2022 13:56:26 +0100 Subject: [PATCH 2/8] feature Layers by Categories Added --- src/components/CoffeeShopMap.svelte | 183 +++++++++++++++++++++++++++- src/pages/Review.svelte | 1 + 2 files changed, 179 insertions(+), 5 deletions(-) diff --git a/src/components/CoffeeShopMap.svelte b/src/components/CoffeeShopMap.svelte index c7bd9ce..93c58f1 100644 --- a/src/components/CoffeeShopMap.svelte +++ b/src/components/CoffeeShopMap.svelte @@ -15,23 +15,196 @@ onMount(async () => { map = new LeafletMap("coffeeShop-map", mapConfig); map.showZoomControl(); - map.addLayerGroup('CoffeeShops'); + + //County Groups + map.addLayerGroup('Antrim'); + map.addLayerGroup('Armagh'); + map.addLayerGroup('Carlow'); + map.addLayerGroup('Cavan'); + map.addLayerGroup('Clare'); + map.addLayerGroup('Cork'); + map.addLayerGroup('Derry'); + map.addLayerGroup('Donegal'); + map.addLayerGroup('Down'); + map.addLayerGroup('Dublin'); + map.addLayerGroup('Fermanagh'); + map.addLayerGroup('Galway'); + map.addLayerGroup('Kerry'); + map.addLayerGroup('Kildare'); + map.addLayerGroup('Kilkenny'); + map.addLayerGroup('Laois'); + map.addLayerGroup('Leitrim'); + map.addLayerGroup('Limerick'); + map.addLayerGroup('Longford'); + map.addLayerGroup('Louth'); + map.addLayerGroup('Mayo'); + map.addLayerGroup('Meath'); + map.addLayerGroup('Monaghan'); + map.addLayerGroup('Offaly'); + map.addLayerGroup('Roscommon'); + map.addLayerGroup('Sligo'); + map.addLayerGroup('Tipperary'); + map.addLayerGroup('Tyrone'); + map.addLayerGroup('Waterford'); + map.addLayerGroup('Westmeath'); + map.addLayerGroup('Wexford'); + map.addLayerGroup('Wicklow'); + map.showLayerControl(); const coffeeShops = await coffeeHubService.getCoffeeShops(); coffeeShops.forEach(coffeeShop => { - // map.addMarker({lat: coffeeShop.lat, lng: coffeeShop.lng}); + //map.addMarker({lat: coffeeShop.lat, lng: coffeeShop.lng}); addCoffeeShopMarker(coffeeShop) }); }); export function addCoffeeShopMarker(coffeeShop) { + const coffeeShopStr = `${coffeeShop.coffeeShopName} - Rating : ${coffeeShop.rating.toString()}/5 `; - map.addMarker({lat: coffeeShop.lat, lng: coffeeShop.lng}, coffeeShopStr, "CoffeeShops"); - map.moveTo(11, {lat: coffeeShop.lat, lng: coffeeShop.lng}); + Rating : ${coffeeShop.rating.toString()}/5 `; + //map.addMarker({lat: coffeeShop.lat, lng: coffeeShop.lng}, coffeeShopStr, "CoffeeShops"); + //map.moveTo(8, {lat: coffeeShop.lat, lng: coffeeShop.lng}); + console.log('coffeeShop.location.locationName => ' + coffeeShop.location.locationName) + console.log('coffeeShop.location => ' + coffeeShop.location) + + if(coffeeShop.location.locationName == "Antrim" || coffeeShop.location == "Antrim" ) { + map.addMarker({lat: coffeeShop.lat, lng: coffeeShop.lng}, coffeeShopStr, "Antrim"); + map.moveTo(8, {lat: coffeeShop.lat, lng: coffeeShop.lng}); + } + else if(coffeeShop.location.locationName == "Armagh" || coffeeShop.location == "Armagh" ) { + map.addMarker({lat: coffeeShop.lat, lng: coffeeShop.lng}, coffeeShopStr, "Armagh"); + map.moveTo(8, {lat: coffeeShop.lat, lng: coffeeShop.lng}); + } + else if(coffeeShop.location.locationName == "Carlow" || coffeeShop.location == "Carlow" ) { + map.addMarker({lat: coffeeShop.lat, lng: coffeeShop.lng}, coffeeShopStr, "Carlow"); + map.moveTo(8, {lat: coffeeShop.lat, lng: coffeeShop.lng}); + } + else if(coffeeShop.location.locationName == "Cavan" || coffeeShop.location == "Cavan" ) { + map.addMarker({lat: coffeeShop.lat, lng: coffeeShop.lng}, coffeeShopStr, "Cavan"); + map.moveTo(8, {lat: coffeeShop.lat, lng: coffeeShop.lng}); + } + else if(coffeeShop.location.locationName == "Clare" || coffeeShop.location == "Clare" ) { + map.addMarker({lat: coffeeShop.lat, lng: coffeeShop.lng}, coffeeShopStr, "Clare"); + map.moveTo(8, {lat: coffeeShop.lat, lng: coffeeShop.lng}); + } + else if(coffeeShop.location.locationName == "Cork" || coffeeShop.location == "Cork" ) { + map.addMarker({lat: coffeeShop.lat, lng: coffeeShop.lng}, coffeeShopStr, "Cork"); + map.moveTo(8, {lat: coffeeShop.lat, lng: coffeeShop.lng}); + } + else if(coffeeShop.location.locationName == "Derry" || coffeeShop.location == "Derry" ) { + map.addMarker({lat: coffeeShop.lat, lng: coffeeShop.lng}, coffeeShopStr, "Derry"); + map.moveTo(8, {lat: coffeeShop.lat, lng: coffeeShop.lng}); + } + else if(coffeeShop.location.locationName == "Donegal" || coffeeShop.location == "Donegal" ) { + map.addMarker({lat: coffeeShop.lat, lng: coffeeShop.lng}, coffeeShopStr, "Donegal"); + map.moveTo(8, {lat: coffeeShop.lat, lng: coffeeShop.lng}); + } + else if(coffeeShop.location.locationName == "Down" || coffeeShop.location == "Down" ) { + map.addMarker({lat: coffeeShop.lat, lng: coffeeShop.lng}, coffeeShopStr, "Down"); + map.moveTo(8, {lat: coffeeShop.lat, lng: coffeeShop.lng}); + } + else if(coffeeShop.location.locationName == "Dublin" || coffeeShop.location == "Dublin" ) { + map.addMarker({lat: coffeeShop.lat, lng: coffeeShop.lng}, coffeeShopStr, "Dublin"); + map.moveTo(8, {lat: coffeeShop.lat, lng: coffeeShop.lng}); + } + else if(coffeeShop.location.locationName == "Fermanagh" || coffeeShop.location == "Fermanagh" ) { + map.addMarker({lat: coffeeShop.lat, lng: coffeeShop.lng}, coffeeShopStr, "Fermanagh"); + map.moveTo(8, {lat: coffeeShop.lat, lng: coffeeShop.lng}); + } + else if(coffeeShop.location.locationName == "Galway" || coffeeShop.location == "Galway" ) { + map.addMarker({lat: coffeeShop.lat, lng: coffeeShop.lng}, coffeeShopStr, "Galway"); + map.moveTo(8, {lat: coffeeShop.lat, lng: coffeeShop.lng}); + } + else if(coffeeShop.location.locationName == "Kerry" || coffeeShop.location == "Kerry" ) { + map.addMarker({lat: coffeeShop.lat, lng: coffeeShop.lng}, coffeeShopStr, "Kerry"); + map.moveTo(8, {lat: coffeeShop.lat, lng: coffeeShop.lng}); + } + else if(coffeeShop.location.locationName == "Kildare" || coffeeShop.location == "Kildare" ) { + map.addMarker({lat: coffeeShop.lat, lng: coffeeShop.lng}, coffeeShopStr, "Kildare"); + map.moveTo(8, {lat: coffeeShop.lat, lng: coffeeShop.lng}); + } + else if(coffeeShop.location.locationName == "Kilkenny" || coffeeShop.location == "Kilkenny" ) { + map.addMarker({lat: coffeeShop.lat, lng: coffeeShop.lng}, coffeeShopStr, "Kilkenny"); + map.moveTo(8, {lat: coffeeShop.lat, lng: coffeeShop.lng}); + } + else if(coffeeShop.location.locationName == "Laois" || coffeeShop.location == "Laois" ) { + map.addMarker({lat: coffeeShop.lat, lng: coffeeShop.lng}, coffeeShopStr, "Laois"); + map.moveTo(8, {lat: coffeeShop.lat, lng: coffeeShop.lng}); + } + else if(coffeeShop.location.locationName == "Leitrim" || coffeeShop.location == "Leitrim" ) { + map.addMarker({lat: coffeeShop.lat, lng: coffeeShop.lng}, coffeeShopStr, "Leitrim"); + map.moveTo(8, {lat: coffeeShop.lat, lng: coffeeShop.lng}); + } + else if(coffeeShop.location.locationName == "Limerick" || coffeeShop.location == "Limerick" ) { + map.addMarker({lat: coffeeShop.lat, lng: coffeeShop.lng}, coffeeShopStr, "Limerick"); + map.moveTo(8, {lat: coffeeShop.lat, lng: coffeeShop.lng}); + } + else if(coffeeShop.location.locationName == "Longford" || coffeeShop.location == "Longford" ) { + map.addMarker({lat: coffeeShop.lat, lng: coffeeShop.lng}, coffeeShopStr, "Longford"); + map.moveTo(8, {lat: coffeeShop.lat, lng: coffeeShop.lng}); + } + else if(coffeeShop.location.locationName == "Louth" || coffeeShop.location == "Louth" ) { + map.addMarker({lat: coffeeShop.lat, lng: coffeeShop.lng}, coffeeShopStr, "Louth"); + map.moveTo(8, {lat: coffeeShop.lat, lng: coffeeShop.lng}); + } + else if(coffeeShop.location.locationName == "Mayo" || coffeeShop.location == "Mayo" ) { + map.addMarker({lat: coffeeShop.lat, lng: coffeeShop.lng}, coffeeShopStr, "Mayo"); + map.moveTo(8, {lat: coffeeShop.lat, lng: coffeeShop.lng}); + } + else if(coffeeShop.location.locationName == "Meath" || coffeeShop.location == "Meath" ) { + map.addMarker({lat: coffeeShop.lat, lng: coffeeShop.lng}, coffeeShopStr, "Meath"); + map.moveTo(8, {lat: coffeeShop.lat, lng: coffeeShop.lng}); + } + else if(coffeeShop.location.locationName == "Monaghan" || coffeeShop.location == "Monaghan" ) { + map.addMarker({lat: coffeeShop.lat, lng: coffeeShop.lng}, coffeeShopStr, "Monaghan"); + map.moveTo(8, {lat: coffeeShop.lat, lng: coffeeShop.lng}); + } + else if(coffeeShop.location.locationName == "Offaly" || coffeeShop.location == "Offaly" ) { + map.addMarker({lat: coffeeShop.lat, lng: coffeeShop.lng}, coffeeShopStr, "Offaly"); + map.moveTo(8, {lat: coffeeShop.lat, lng: coffeeShop.lng}); + } + else if(coffeeShop.location.locationName == "Roscommon" || coffeeShop.location == "Roscommon" ) { + map.addMarker({lat: coffeeShop.lat, lng: coffeeShop.lng}, coffeeShopStr, "Roscommon"); + map.moveTo(8, {lat: coffeeShop.lat, lng: coffeeShop.lng}); + } + else if(coffeeShop.location.locationName == "Sligo" || coffeeShop.location == "Sligo" ) { + map.addMarker({lat: coffeeShop.lat, lng: coffeeShop.lng}, coffeeShopStr, "Sligo"); + map.moveTo(8, {lat: coffeeShop.lat, lng: coffeeShop.lng}); + } + else if(coffeeShop.location.locationName == "Tipperary" || coffeeShop.location == "Tipperary" ) { + map.addMarker({lat: coffeeShop.lat, lng: coffeeShop.lng}, coffeeShopStr, "Tipperary"); + map.moveTo(8, {lat: coffeeShop.lat, lng: coffeeShop.lng}); + } + else if(coffeeShop.location.locationName == "Tyrone" || coffeeShop.location == "Tyrone" ) { + map.addMarker({lat: coffeeShop.lat, lng: coffeeShop.lng}, coffeeShopStr, "Tyrone"); + map.moveTo(8, {lat: coffeeShop.lat, lng: coffeeShop.lng}); + } + else if(coffeeShop.location.locationName == "Waterford" || coffeeShop.location == "Waterford" ) { + map.addMarker({lat: coffeeShop.lat, lng: coffeeShop.lng}, coffeeShopStr, "Waterford"); + map.moveTo(8, {lat: coffeeShop.lat, lng: coffeeShop.lng}); + } + else if(coffeeShop.location.locationName == "Westmeath" || coffeeShop.location == "Westmeath" ) { + map.addMarker({lat: coffeeShop.lat, lng: coffeeShop.lng}, coffeeShopStr, "Westmeath"); + map.moveTo(8, {lat: coffeeShop.lat, lng: coffeeShop.lng}); + } + else if(coffeeShop.location.locationName == "Wexford" || coffeeShop.location == "Wexford" ) { + map.addMarker({lat: coffeeShop.lat, lng: coffeeShop.lng}, coffeeShopStr, "Wexford"); + map.moveTo(8, {lat: coffeeShop.lat, lng: coffeeShop.lng}); + } + else if(coffeeShop.location.locationName == "Wicklow" || coffeeShop.location == "Wicklow" ) { + map.addMarker({lat: coffeeShop.lat, lng: coffeeShop.lng}, coffeeShopStr, "Wicklow"); + map.moveTo(8, {lat: coffeeShop.lat, lng: coffeeShop.lng}); + } + + + + } + + +
diff --git a/src/pages/Review.svelte b/src/pages/Review.svelte index d73ccfe..67a3848 100644 --- a/src/pages/Review.svelte +++ b/src/pages/Review.svelte @@ -15,6 +15,7 @@ function coffeeShopMade(event) { console.log(event.detail.coffeeShop); + console.log("Event Happened should be updating Map!!"); coffeeShopMap.addCoffeeShopMarker(event.detail.coffeeShop); } From 5c26003b976023d1fd5029bdde89c15c9ffaedd7 Mon Sep 17 00:00:00 2001 From: Jason Grant Date: Thu, 2 Jun 2022 22:46:32 +0100 Subject: [PATCH 3/8] feature Delete Image Completed --- src/components/CoffeeShopViewImage.svelte | 44 +++++++++++++++++++---- src/components/DeleteImageButton.svelte | 42 ++++++++++++++++++++++ src/components/OverAllImageView.svelte | 23 ++++++++++++ src/pages/CoffeeShopInfoMain.svelte | 18 +++++++--- src/services/coffeeHub-service.js | 12 +++++++ 5 files changed, 128 insertions(+), 11 deletions(-) create mode 100644 src/components/DeleteImageButton.svelte create mode 100644 src/components/OverAllImageView.svelte diff --git a/src/components/CoffeeShopViewImage.svelte b/src/components/CoffeeShopViewImage.svelte index af4b5bb..b69036e 100644 --- a/src/components/CoffeeShopViewImage.svelte +++ b/src/components/CoffeeShopViewImage.svelte @@ -1,6 +1,9 @@ + -
-

Coffee Shop Image

- ImageTest -
\ No newline at end of file + +
+
+

Coffee Shop Image

+ +
+ + {#if coffeeShop.img} + ImageTest + {:else} + ImageTest + {/if} + + +
+
+ {#if coffeeShop.img} + + {:else} + + {/if} +
+
+ +
\ No newline at end of file diff --git a/src/components/DeleteImageButton.svelte b/src/components/DeleteImageButton.svelte new file mode 100644 index 0000000..33d1767 --- /dev/null +++ b/src/components/DeleteImageButton.svelte @@ -0,0 +1,42 @@ + + +
+ +
+
+ {#if coffeeShop.img} + + {:else} + + {/if} +
+
+ +
\ No newline at end of file diff --git a/src/components/OverAllImageView.svelte b/src/components/OverAllImageView.svelte new file mode 100644 index 0000000..87a2bda --- /dev/null +++ b/src/components/OverAllImageView.svelte @@ -0,0 +1,23 @@ + + +
+

Coffee Shop Image

+
+ +{#key unique} + +{/key} +{#key unique} + +{/key} \ No newline at end of file diff --git a/src/pages/CoffeeShopInfoMain.svelte b/src/pages/CoffeeShopInfoMain.svelte index 607e2f8..d9ea786 100644 --- a/src/pages/CoffeeShopInfoMain.svelte +++ b/src/pages/CoffeeShopInfoMain.svelte @@ -7,16 +7,16 @@ // import { user } from 'src/stores'; import Uploader from '../components/UploaderTest.svelte'; import ImageUpload from '../components/ImageUploadForm.svelte'; - import {getContext, onMount} from 'svelte' // export let params = {}; const coffeeHubService = getContext("CoffeeHubService"); let coffeeShop = []; - + const sleep = ms => new Promise(f => setTimeout(f, ms)) let url = ``; let img = ""; let parsedURL = ''; - + let unique = {}; + let toggle =1; onMount(async () => { url = window.location.href // console.log(url) @@ -48,9 +48,15 @@ function updateImage(event) { console.log('Event Dispatch->' + event.detail.img); updateImageNew.updateImage(event.detail.img); + toggle =1 } - + async function restart() { + await sleep(1000) + unique = {} + await sleep(1000) + toggle *=-1 + } @@ -65,7 +71,9 @@
- + {#key unique} + + {/key}

Coffee Shop Information

diff --git a/src/services/coffeeHub-service.js b/src/services/coffeeHub-service.js index a258c03..d5bd750 100644 --- a/src/services/coffeeHub-service.js +++ b/src/services/coffeeHub-service.js @@ -148,6 +148,18 @@ export class CoffeeHubService { } } + async deleteImage(id) { + try { + console.log('CoffeeShop ID is ->' + id); + //console.log('Image ID is ->' + img); + const response = await axios.post(this.baseUrl + "/api/coffeeShop/"+id +"/deleteImage"); + console.log('Response.data is ->' + response.data); + return response.data; + } catch (error) { + return []; + } + } + async getAllUsers(){ try{ From 28efb18c19808252c1cf29e683547376d91d1a7b Mon Sep 17 00:00:00 2001 From: Jason Grant Date: Thu, 2 Jun 2022 23:10:29 +0100 Subject: [PATCH 4/8] Clearing Errors --- src/components/CoffeeShopViewImage.svelte | 4 ++++ src/components/DeleteImageButton.svelte | 2 ++ 2 files changed, 6 insertions(+) diff --git a/src/components/CoffeeShopViewImage.svelte b/src/components/CoffeeShopViewImage.svelte index b69036e..62666c8 100644 --- a/src/components/CoffeeShopViewImage.svelte +++ b/src/components/CoffeeShopViewImage.svelte @@ -1,4 +1,6 @@ + + +
+
+

No. of Reviews per User

+ +
+ +
\ No newline at end of file diff --git a/src/components/CoffeeShopInfo.svelte b/src/components/CoffeeShopInfo.svelte index 8713eaf..7b8c233 100644 --- a/src/components/CoffeeShopInfo.svelte +++ b/src/components/CoffeeShopInfo.svelte @@ -1,4 +1,6 @@ -
-
\ No newline at end of file +
+ +
+
+
+ +
+
+
+ +
+ + \ No newline at end of file diff --git a/src/components/CoffeeShopMapSingle.svelte b/src/components/CoffeeShopMapSingle.svelte new file mode 100644 index 0000000..f3ab1c4 --- /dev/null +++ b/src/components/CoffeeShopMapSingle.svelte @@ -0,0 +1,231 @@ + + +
+ +
+
+
+ + +
+ + \ No newline at end of file diff --git a/src/components/CoffeeShopMapTest.svelte b/src/components/CoffeeShopMapTest.svelte new file mode 100644 index 0000000..cc0dec1 --- /dev/null +++ b/src/components/CoffeeShopMapTest.svelte @@ -0,0 +1,76 @@ + + +{#if currentWeather} +
+ +
+
+
+
+
+

+ {coffeeShop.coffeeShopName} +

+

+ {Date.now()} +

+ {currentWeather.weather[0].description}/ +
+
+
+ Temperature: {currentWeather.main.temp}°C +
+
+ Humidity: {currentWeather.main.humidity}% +
+
+ Wind Speed: {currentWeather.wind.speed}m/s +
+
+
+
+
+
+
+
+{:else} +

Connection Error to API but vie raw data ->

Here +{/if} + diff --git a/src/components/CoffeeShopperCountyCharts_pie.svelte b/src/components/CoffeeShopperCountyCharts_pie.svelte new file mode 100644 index 0000000..4979a41 --- /dev/null +++ b/src/components/CoffeeShopperCountyCharts_pie.svelte @@ -0,0 +1,101 @@ + + + +
+
+

No. of Reviews per County

+ +
+ +
\ No newline at end of file diff --git a/src/components/ImageUploadForm.svelte b/src/components/ImageUploadForm.svelte index a04ca42..13637f9 100644 --- a/src/components/ImageUploadForm.svelte +++ b/src/components/ImageUploadForm.svelte @@ -1,4 +1,6 @@
@@ -17,8 +29,18 @@
- - - -
- \ No newline at end of file +
+ +
+
+ {#key unique} + {#if chartTypeToggle>0} + +
+ + {:else} + +
+ + {/if} + {/key} \ No newline at end of file diff --git a/src/pages/CoffeeShopInfoMain.svelte b/src/pages/CoffeeShopInfoMain.svelte index d9ea786..85a8be9 100644 --- a/src/pages/CoffeeShopInfoMain.svelte +++ b/src/pages/CoffeeShopInfoMain.svelte @@ -1,4 +1,6 @@
@@ -13,4 +32,5 @@
- \ No newline at end of file + + \ No newline at end of file diff --git a/src/pages/Review.svelte b/src/pages/Review.svelte index 67a3848..5308fa3 100644 --- a/src/pages/Review.svelte +++ b/src/pages/Review.svelte @@ -5,7 +5,8 @@ import ReviewForm from "../components/ReviewForm.svelte"; import TitleBar from "../components/TitleBar.svelte"; import MainNavigator from "../components/MainNavigator.svelte"; - import CoffeeShopMap from "../components/CoffeeShopMap.svelte"; + + import CoffeeShopMapSingle from "../components/CoffeeShopMapSingle.svelte"; function coffeeShopAdded(event) { console.log(event.detail.coffeeShop); @@ -31,7 +32,7 @@
- +

Add CoffeeShop

diff --git a/src/services/leaflet-map.js b/src/services/leaflet-map.js index 280921e..a6008da 100644 --- a/src/services/leaflet-map.js +++ b/src/services/leaflet-map.js @@ -1,3 +1,4 @@ +// @ts-nocheck import * as L from "leaflet"; export class LeafletMap { @@ -68,9 +69,9 @@ export class LeafletMap { let group = {}; let marker = L.marker([location.lat, location.lng]); if (popupText) { - var popup = L.popup({autoClose: false, closeOnClick: false}); + var popup = L.popup({autoClose: true, closeOnClick: true}); popup.setContent(popupText); - marker.bindPopup(popup); + marker.bindPopup(popup, {closeButton: false}); } if (!this.overlays[layerTitle]) { group = L.layerGroup([]); From 90fba957de3343ac93c8966280bba3fb12143c6e Mon Sep 17 00:00:00 2001 From: Jason Grant Date: Fri, 3 Jun 2022 23:03:30 +0100 Subject: [PATCH 6/8] cleaned up prior to V3 release --- src/assets/coffeeIcon.png | Bin 0 -> 1154 bytes src/assets/coffeeIconWhite.png | Bin 0 -> 952 bytes src/assets/signup.jpg | Bin 0 -> 39936 bytes src/assets/signup2.png | Bin 0 -> 89852 bytes src/components/CoffeeShopByUsersChart.svelte | 20 ++-- .../CoffeeShopByUsersChart_pie.svelte | 16 +-- src/components/CoffeeShopInfo.svelte | 10 +- src/components/CoffeeShopList.svelte | 2 +- src/components/CoffeeShopMap.svelte | 7 +- src/components/CoffeeShopMapSingle.svelte | 12 +- src/components/CoffeeShopMapTest.svelte | 109 +++++++++++------- src/components/CoffeeShopViewImage.svelte | 6 +- src/components/DeleteImageButton.svelte | 6 +- src/components/ImageUploadForm.svelte | 18 +-- src/components/TitleBar.svelte | 7 +- src/components/UploaderTest.svelte | 2 +- src/components/XCoffeeShopImages.svelte | 80 ------------- src/pages/Charts.svelte | 2 +- src/pages/CoffeeShopInfoMain.svelte | 20 ++-- src/pages/Login.svelte | 13 ++- src/pages/Main.svelte | 25 +++- src/pages/Map.svelte | 4 +- src/pages/Review.svelte | 15 +-- src/pages/Signup.svelte | 15 ++- src/services/coffeeHub-service.js | 22 ++-- src/services/converterfile.js | 7 ++ src/services/leaflet-map.js | 12 +- 27 files changed, 208 insertions(+), 222 deletions(-) create mode 100644 src/assets/coffeeIcon.png create mode 100644 src/assets/coffeeIconWhite.png create mode 100644 src/assets/signup.jpg create mode 100644 src/assets/signup2.png delete mode 100644 src/components/XCoffeeShopImages.svelte create mode 100644 src/services/converterfile.js diff --git a/src/assets/coffeeIcon.png b/src/assets/coffeeIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..aa71fa98930bcfba5eafb7b5fe952325bb393d23 GIT binary patch literal 1154 zcmV-|1bzF7P)R2>P~~TCoJgH0C97LlzRUC27dVHrY%j zJG(PJ?965wce67g_Q2)N-8nP=-#z!-yK@A~vH~G!CDD0fg)h0)9Dg` zU|E(U9t32&1#JNFfW%E3pa|%8E2h)wlF--J=ZGsn#O`JOp9tuH2CUnC(V3-ei{GEk zq(%=|_%7>Aj`Y}}3$yNjw?w zByJc6`Fy_Gdofv-Q52;*v^7O1+nwfV=7wPqjS5_N{s`;q>z)91y}PREWVx?w4+H`v z4o5k6J_+Cp!eydwVaE)^;P>lu09<_GiRyCfo5J@)V&$=qKl+ow*Pr6hq5D`^Sh#lp zD=RDXoH)!kUrnHC217rd1Hd%Rdjp`VDsR1gf(IXp(0lT00GgWv`+3#=0M^#l7<~0Q zZ@hWZ9&b}B`=34dIBqS=LJ$Nj%OW0+lglmh#b?t1yzTx3aR*>{Xo}WWnVFdaKU|%x>*onzdwZLb;eCx47Ye-p-X92pz-xoY+1lD78jaTU z^_+y7=KY|#b*pkRhQnbJi3pNZf1aKIL{X$k5+2~3fk1%K8@a}gw%r_C;L^)KG4c02ZEbCY!(smb zg+c*M)5z!Zn5N0}^a}q>EjJWjUEN~f($6$CH4zGhD3{A@Y;5=kC>Dzx?}>5jNtK5a zVcOaiKKR zpu0Mrnq1-6U+Vu;?iqo1uUzBI>F=1E^Y+>0wmWxpE}kFe#f!t9BJiJ6CKihki9}dh zTH?90SA7FOW&6hCae~2Mt=pypP;xbNU9Wz-Ns>fIN5{UzYniU=&Sh0oWT#xx0W?i> zJ07UGrfJoot!YXwaji2s(o?T6NhA`)Vlhu*tE;Qb&d%1nXBQ@#10hj~fKH`c!Y&%z zrI`qj&7^Js4Iv!y&g96`_D@cJ?Jmu9!1Pj_R=?r1nbg=`k#LE3b9ZjlFHRej=T7e~ z-^Ob}xWtdSL%a*1c6q*+*C{j|bJ}8P0 zBEAVCiq_(b;G?+URu>Q#5X6NdNYMusf(1owMMd1{5`9b=sMkbC1aB(tPx z4_xj{=H&d}oO|xf99KLZ2cWvT+5@-&Ma&*@YcW6vqJSO<1Y!WLcswq}6+jh35diKS ziR%I&3TR?P1A#!y<@fugcmd!Ov&z6^Km&S#A7YNmyHtgENwBr5Img0%th};mfjHEG zm@)MQ!Pctg`V*^|HocVc3B@@T4t9Lz^{Z~`YH2R7Y?_W(24mr=z<`JYsWD}pxn;G> zVO#uTSA;8<+Oma6YRW2iTLJp07s86tm0yo&0D4baP@M#sjuy*YJQ$=fYK59$>Yw>pSc0} z`!{awBy6Zp0bu9$2l%T;oBG;bf}$eTHbBdxZuabc%+6gi7&mUHsjuw}%$#Na6+L;% zaP}RXXDRLoV0@X6@nzNleZv&??w@NntT{l_-7X%tbko+_!`Ckw>o-(b2CP{zhDi7i z9qr$F`s5RLZgraao7TYl;16zF1W2`O4MDCo1e50#6Ngc=GV^o5Gy|J9Pv-R5C5#+Z z;0OZ1>m9=3V+%NNXuheR%z&QBp`Pa@2C!i|Br*^)41yh>2SSXL*hx({|Jx-E z;PtES0fCU8<-#f`W{ShKr8&{yiEIHqHlJGGYpHGGbEFk2I`wAE}tBNlEGX7?{~PxVgD0=mdcL zoWiVJ+?@Y7fk#0>L3@uzh>lLkNl8k{`TyHqdf~8;-{8Id_!gcD?hO|FTP*mOemD|1 zxHoTKI}7(e_6Ghf0wU78*Gi&)F5}hyrw$JO&1>b$G921lc(^y1Z!zKE;7>={lvL3X z%vK}E@1e01S1@?`|M&>1uN}_wAm-wB9XN~t^aH9EcNRF zHYO=(#;gzZW9~H{-4FiL!+)oVFP)TI1o`1V{de(ybG~OTBW0}$60nOV7p` ztBZiHP(e8*?|1Zgvv(c0AcvxDohulYr=6)t8Bl{i&P4##Mb}ZYwK@_Vf~pk-JV#3Pz^vUONEz4iNDC`8@^DVi0wVWTKrAh^4ot#2+n8E zXK-$+thT~#WABEo^GZ-HyD9?h$oU-|iBF5i-r>j%8Qzr#DlSA#~6Tzi=_SbK>wvHNt;NFu)jch=eDgcZzI;n-==aSNL`(l)@m zT{mLM`h)#KuAQeqPLk##*ObwulJyP=(K}&8y(_5aprp0kr!cVBPCG=O`_@xfwH#qpsOHF0g_L@C) z!+=g^y$Kj(rBfHZTCG+aHgCJ+_&DxtG9n)$8LVr8tb><<=(eeAf#PeDbRox1|D)lY z{zr!7-7j9JKx`xb3q2k;i0y&(!uAc?7|+ex3_j4krn6c{uE&DuJqEG@Jf?y|@6T!) zS$4_y>`_<>2`Nf`KYvhJnmq!5_u{asKNCqhzu?1~U7{6FkWbYZ*5ANTtx)^B#{ytt|>< z_0Eo1SN@|+Qw&R%7L~h71J?=)g>bXA{Mo2i*$F@Q8OgQTT+ND|zC}~JHVah(vJSHF zdrnk#`d>*3i0324Z!l2s)mfGyPTRj(%cBe8&Gve`?pXF`n%wn$j;~IF@;c*}Zbz%e zZugcP`4DefE-Xf1Xb2-CVr_DADb#SEIjXL5gK{`5A==IStSXA;B)1<~cw}n90E1AQqi|NMsA{MjAwo*ggv?JYKeIN@|WA^5c z&nWY)mrsYo>tPA9qMSJ8emE%_m>;ogXsyJtV!5R&F&3L@<#4*@+wA)|Nzj-AmTv{B zg$PG@Zmj>;yv*7c+Oqx1p0lxZ@7Z=CWPmXaaqcYn_6^#p==e*Vm|a9BKJ@Si&JvYNc<>5$812pdRGQvY47)$ben#% zs;|0JIEuv|5{ZJf-1v!@n|V{6todHppZ4s}{2KJ!JGxm%yDXx zStc9>>e+Z;Pnq@W*=&;*tztvYh`(s~jLAD!f6nc(u<_4f1-SpVoFkg&UTvEvTrzU< zN|VkZ9=*1N_@24d9{9CgY+9u|h7_fJ4G%X#jygUZcQz7S2ez$^)aUyu6WyYz1>^uJ z3U?O-{J6VV4VI3Z?h+OhypbV36=3ENODWmtaxpyPLhTO~@QE^rVLhhm^V^^YZe!H` zsPx6Q>0!=jc3s2jeCzL;2Nqci6||nypGa8liLMGD1ODU%@>ImmMiZX;_kSI}dy&)+ zK{+(-Ej9G+=WuGT2Rmj5NKAg@gH+$Ia*XSWal%3<}uU+@7*Ct^!AwR23 zwGNnqwKPH-AuP-L4o&Jn76Kl}e9`ycr!Mm-OfHGm;}tcp4#fo=3qr?;Cp!x14%*#j zFmlHvdefo4wFLe5&?&g0w>0ln<(Y=T%dEajL^2UNUum`VX)OY(?sxJ%p@BlMs)2)& zko}qbfWrDqC?x2!V^Qr--G#jc=yq!6+`jwW?X`ve;SN{^8;d3i9-#-dr;tt3wa$}_ z5n_9^v()L%zG4JR!Gg!c1X?h%G?IskRC%VY?Ry^qX~CAYn`-l=d$nl}zrRF0sL}l- zS-yJ?w5=PMl-twVZ(cip_)}<-_grwHNL=By0^bKqf|K~z_@>A4%Gkd70<@fzw9{P8 zTrsTW9ca&j2et3|W8Ga2l1YcNw1q}=o|Rv%J&ug!H2n5|xc3tA&|nMoJO|QI0Bz6i z?frmZ=Yj>liRaM=vqCgNOuoWVS=1SUmn**jASTy@fjEV4u0K`jgkekcGF2YfRRbr4 ziP=3Ss}JwiKa{Q)j;r ztQXkfz$Mi59d0L3l9~vpW!+r*J6-!)SWaEA`&<}_k=q)u@a5~AjhOl@3_u> z+)tV1kd1|~dB5#?ZcRFOucZIJ*;@!yP~+SFV8})n#C>zMnQAOb=kQ?PnO+e0Fnl?G zU66DIvHq5TVD*Q7x0|V^T>8C}ZXem2fb&TKtI-SGyMs-d7)p>%I*JaprtkF`5%`vo z!x#xNb9nD)dzhOKAtQ63EiGdP+xc2DM-A-)oAo9~G7kzw3zal#+)rMy!ZY~|i>nd= z0ZS#W_)JmnUS))Hl!>{xq*>Kd-Gh36(t4j}(zK3svglep=)R-aIX6n@6I=4NhSfsqWOONl&v*9!aa z3WJbHHalq7u!j4p)nXZG5C2t;F!2;#_mWA^3Pwz)g830l1|~W8VA9Bif#eivwcPjZ ze22RWrxmfUYL@T~6k{Ix$CMg5ab@Oxpl9#e7WQuh0*#b_BC*aXH#55$oIb6je}$cZ zf_?&e?w)S7<&&BQgVlty5p2r%c;rTYv|P z=I+Q|;5ZVllUyIJ;4tC9$15!z-j~ZCKhv5a>RL7H8i%fKSswr|oJDPB_^{8HN4a?$ zWO=cbzDdgNbO_TOUj5Y;D$FhPxhY`r^AV{wW~$tua29}d4rNw5Z{4&xjXm049Pwn1 z?B})XW~cHRQOVbiLe%~W)ZDl)IgtPtXY$4;S~@$J>nCjouCIL6N6sY_n6V-7v-@72 zIakg<@|*~&_hHtnT|@y!6w-U!S~Ys3O}k50r>zw7A_XsSTnqM~YAZf98+n}J2R6~k zwU2HOGztjtLiSVjc{7L`nDQt*qde*In9a=s1k$2a^Y8gAc0m)lt_(mjBeU2d+xhCVs?M_hAd+1ATj$u z@kAcWw~7^yqhO`ocm_^PK(f3?->Sc&C^@we12$Pvy0WIUTotvI zVMSNkqLD>{W^I&yYiu0V8IKwVhopEXGX|k0ZJm2-*qeqoS*dP=LM*xH_YY+Enz^MJ z6P6?gSGRpyFo-K)Ll($SR znZ7uY3qGkAwBN8cidBABRM~a4RCDVGRWFS{C~+c>_RN+^%dk(&V6rRK%SQDLg8cH> zzi7P`k*bzgfQ5GIs_xS)8o>H3I`_nIqQm9J+h=;L7%1?wR)F6aSo+(k_=@A|*>0N!)Lm z@a8;u_O7Zt_Uos8>#nHQ7%z|pvLFy$7$0i(RexK`LGP>+6hK89C&(uYLTZHAAdfIDR` zUfoJvZ{A$Oo_mo;V|GnGyJm+w2^*nPp7k+x)XO)_>Y z8jEg=I+2Betu6Go|Gu(Rv|DqMgz%`&r8GJJ0_Yw|i}{rYs!6Cx zhNpowY67}E=Y=1a5}K7rZ@rnu=k@-6V5-h_)E8)<6pdaT?YwH*t2sIwK0urn;VDe- z4(;4kxbwL27j7-Nx@|Y(zp=#E{cQOWOycOLyL^9keXi%pV)4CPXMXW)qK3+POk0idW@HtwQWeWWBWE_TMz9CdAPvhy7kynp`?FkU%Z4Y14@z`m_7 zuC7^KOd0LmFR6C#HM?Hq;q+5xTi)-sE{~iWHA|Ntz3e(AFmO7)Hxf~r%cQ*jk zfdrT7XGca2X2%&b)0=9(y4;-mWq1mbLTfWOPc#Y)uidJx{BYDutDuA2`2oa~-veLZ zL_3!bp8bzJ=K61*as_n!^_00*w)e+xo)Q2n%uzf7e=85I6Nn=|pY^7;jk@#b0P@pRTOh_Jq4 zEKNAC3Xfg8q}P1HeYOWK){da5b8rHf5fK>$9CZwLtk12A&tqRGj?bQW z?1>YPJPJ>SE}kdWhqRR$Jd~nQIpk)Rn%hmvEU=8qHFzd?D)?9QA;?dr zAcn3;x(JAJkbSV@CtHwVU6%bTdn$V-yH^_De0e6Qiy~rViP9*X<^`_aax5*Gp*RPJ z(~?k_klp0cS7bXa!A&ql5G*)$MCM-SIW;e>OQzw8HB1zJn-$$lr$i@3SN=~kIt3|o zpy&gTyhKXAf$`hmAJctL*Fj{32u>-~0XjKf<~cog3UX<4q?9TpCXkr(1{f>_up46r zJ(cRy?F1{dDESj)iKIh&!d#_sUHJ19xK2f`(k9#mA%fF_$2adPfMP%~!Jp~X*jKD{ zZ_8Ar*VX#{UBQl6P#Nuk?8$526@WrE$;F@YdsbwKQnphRxbpL*XxO>Cf>i(wTed^g zaN_8*Xn5Y$kG%nN!5SE(%2U#HPFfYU-#vN+U=~=8>mrTdA`L(ErpnPIhWltNNa)<$ zVwpN1nFRC#S0tW+QD(5eDcb_&P23fhaPJxC^puj!0SqrN_JhsQ^Mu(F_X*vWsg2ye zy#LWTVocGG#g-xIGnp~D1qeC}0JvtA(lE5_3eb{d)jA%+yeF0W5@&7WEODiL(%nZU zt%MrPEdfz5B9bDub%Bl49U5~wGO(Nv^Q>!7IZeGgLzzOgJZ`(|&@5vl%KRpctncpj zjuFlIaCyvxh~-rxiqBK&%#UYk3@K8BDAn|=qvN~e0^yy!f6}i~)vL8; zxDnt@4Knz?YaSE1x{4x9KSZVD{v);b^84S_#qHtG=K-_PKSD3UxbN$kNHxANGt2i< zfiHIdHXiP%J~pMh#*VVK#;E~5KSNRdVyn4K-<%j+?1rHpn)E4$2{|2WrhjUB3#9#KANiyGmg>@Xp>7L<;PQ{ zr$~NR)SD6#z)GYJ1F4f{)MTe{`vujeNOb?`28eP->vUU(l1ME{Bov{_8Mh58(LYLd z7ND$xjH{`$6+4-+k{JRUAN6u9YwCQ2Ifq45Gc-&?3#_?I30XPfu7u3`(@YK8gb3CX zu)@G{!Zq77i9FHLEZUijq%y5Iso6u}t_^>6we`wMH+A_erU4g(zAh4oj}DG0e6m=x zlF{XlX=AAccn=`A{CIVMR1IrdLf-2Stxx!D{3Nwo-okb`B)VIR`F%^x@F!;{fMc`Y&%7-mT&)JSMvJHx3x8{0Tx(gwP}qM8nIW-fu0hsd_yJ1Wx# z6qA@h1~;e*v0$vKHX$BPOSPTqkh1PxmNsC05G4+RN*KWU_he(iSaKgp-@k4T3CFO% zWgId)ZUQ)vn3hvVB7tly!sMvT?hvMKBnitY&6gXI>(W89i1oAu2%BB(n{9w>6V* zP-ywCw>cxuAt`*V;P{bf9f`LmI69k?4{~lXoFW+ApHRoFrgrQ`G>XuS6%AB3chaY! zPYx!;`U*0?^+IrN`rlZU3IPX^LZ(QvDHk^Dq73|pG^K+PJM98G4Uxiwy8qXS= z9h>8kzTQ4|nV*C)k?=bMY82;)0q>l09HZE!NlzTgm(K;qUKZy=Z{J~k(u`@;VjR%< zMvoFS&J4X9qEn&@Qyn%NcFTQK&voh`tPw0QXO-CQ)r-Dr0Si&Txi~iO21qeOO1X-t zL9g@9R1z$QV=W$XdTG{NWJio&qqi8VuhQ(vVXQBh#D&w7Re(mSK*({zdf$n6hdJtC z=aNV`eiBXxOnn-FV`RplfeE{AD^`!u8JWxv;?v|EBrYU0d((h}1* z*>dHN5gF)5kl&6}JEF@d+D76vrdK158@;Z=8WF(q6+zrFLd!ns+4Wk`&%W)Eb9_t& zyHW>O$pzQ=^RJywTh$*Xwb^lJ*!~s@AfuW1dLYPr_;Z_!m%7pnC@}>qVbO(6!7!WM z@xeXzRxIxL?NsygESd^O^Aj#s+Loh?0I$Q6bUR?10BM4iuX!f1GbwQ z&au5;^^Tkl;UlNTa4ImHD+Pb#-BN(He(0@n=+5BM@`$N}XQ7NM?K>oMPe4p!q6&|)!QnzGhD;)Tj1si7L{kn9XZlJO>uGAvk#dEIIA^6Q6{dDx=Y+FVB&;3|ny$o$ z#MX-@W30(^!|JUY)>vEm&Vi@7f;66tPw~t4LuCq{x;RP-RLj$BUPgBWj7BXRXHM+io*`ZrZtYJzC7NsL?=A1lj57S z9{)efX(9^f?JCn(@4_YZ5p4uyRL4$@Tro>! zoNTaaRvl|q=~h+U?u5@!@8Le ziT9!=c$u9k+Mmy;MKmzu$dv)YiQD9E0nGP9aX!fik6BZ3_L)B*Bm^nnJ+^K$vxZ&M zz0N(2O1ho}M9_BE%6j%!v(2}z9}?u3Y-R05GKn%Y1ua)JQ-ZZ>W$q~k^8*X|n8c*e zJ~$Aviwq92u@4IA(kTBu2oOztj_2m&>&9NRwiyO>$xAq?ab_plzY7z{1G6FM2I{N` z?YD6{v?b-nRdlB)J2)2%8kUDQ&i>`~JPSqes#X<@tc-7#bWMcdvY9D6WYe*7gsrX; z7P|AWCA3p~*nWWnF@-CG?=~lBw2aZnRqE1YU;`Dgg2~o2KEmW^#c9%ZWJA2SF|?v> z6pXM3_jM9$NU{KqXqGIfx{a32`fYU8FR`t^JUQMg#Ssp-=9l5CgO5&`YAOlHQHC}1 zFK`g`G0O{zKeQ|SmtnSPyJUhfo+&k8{uMf2&l1lazi2XFGF{T8{A65XXC>UvZBzgd z>Cy51$qq+Re+-VR=Xwek*Gj<{POYq6PzvZN@_36xEPZL4O`>I+wnrP8J0+lOuMk~xY<#Y@!z}}f#bHWt{81MO-$Ly+Pf;qN zW4>72lH_oKI51~3JYf%5c5VUQ=fu0fUh*d{yyXtEDcm&Q_6w-axS$nflv0xXlQ^-+ zu@X#)97BwYX6gXtVS4IY`SFO;UwQdGHR@TvXVhl6zwRkHyI}R!#C5pp!NP$~0oKBV zdCR2hYShPR=wKqCw8h>lztVkkO;IG;dp0|zKT+P{Bd}YEDhcTgTBeHnG&sE$VE0Ak z$8Asi4)jFm9Lmh%<76!?$Mw5Q8XLci!Cyz@Tc-Tt{l~5d&QX3TcK0+h^VROx#nA)j z6WdeMACLM;+U7~TN>m9V2CKopB~hU7UZSDTUt*0MR>-EKr9;>Tx{0&NKHpOU7&euz zYJS?$VH4kjy8JAd6w98Y91%nyyda;u0k#Rt6$1#D|1aq9uTGl&$;SFyZDvY7h_ImEOOFcy-! zd1&2)>I#X)#B$`Q_BvihX2b6#f;HOH0F33Ss%EC^_90!M+7KHyQ;VjuY;}Bth&;?w zQDz1#g^2AFMjZgKZd}5pW55zy<5c5Hp}*71^_6#$p1A*APZgbr1{L5Bob68!;=$VF zq*|uYEr+~G&TlYxNDkzQ7>q_aT>WcJqB?p%PZEn1<=Ne&2H)yHu*jP^->4uD! zrSpS7cXHIV4$swAt;1>i(~93XF0OGT{}NOebQ6@YmyvG;xX~v2@aUBylmM&)Zf6@L zYzjkEhXp%(Oorkezu07B`BG70&bqoZbI1n}m-i`T5O`=IuKux-W_6dh=BI?&iO*BQ zYR$oWaxzD1kyT{3T&e!s7BnU{<`UM7yQK>|T9uWGMVraFQ75S!sYqyq?B*SG!-NG? z&3bchbMrPjSsKg(vX_w~=2=R>P~^#hqclrWMdWCF3CRLdW}9l&SCq7Ly}%{5bKDw@ zXX^Hn1-(;Or5u#LOJ1n`pdoZ@?rx0}9Qx{b_YUmg+yFbhBRZFFH={4-5jONL-?>A zj+zd;xlNH**9zg{j()|y`E22CgQtw1J18NCpA_RAPVkQ{S9Ws;EQx?h2^$-mp3sem zs*w@swTLwkDWg8A`!B3stKYOqPdKi`ul`qdoB6UEjv?&INY9aI)Oh zUsVZ2fD2nKC^4-^8eJQK#eCScO7aKQ+KAUDI?!}~(Tm9^AM6LGf+9A{__(>1sM=ya z0>i_YbQ&0$HBNN@YXf;obT~)|G@sG2qqeyDvp8B186*;_ekMPJB~w&ViK;|3{{lLE z(0{w|>5FOz?G3jwOwFR%Ys@Xxwg@>IFOx8fAYs4RT_7cS_Od`pKub&W!=+lMp^cc$SdMQd*)Q`PsJVoslxX#m^%^Y`hK^e}at@Zz&rP<$46_s9S_5YG z?AHMNFM_c_pL}j%lZNs+v9UNh{`{3BZ<+i^j^n1!Q}79sT$BMmH_=X@P-{PBg z0J9G9>m~d%*jXG9PHs7xZ`=!37yvZKP$b?TNm~*!;$lX;@|LT^GQ$R)zh1ioP{`e+ zb&?phAG0Lql#pOczo?`bvzU4>v-tVaB@ypb+sM#$o2*$-&{K8pFXsvG-3pRd-0NIC z%@z0SPf!2g;!+l|KL`zk+$6**G*cd-iWiRJh|wV(?MyyD zy5#@cUa=*C*rcc+`^n~x8|Kx{pgFV}=cbNvVmxiv*{$f56Igj-I2~H9QvxXIa9zCh z4~VsS1yTic6s&XU;ZP*uM=$9yRb1`OIW7@8W-|4iEw#A7_PL#?7RhIgZ*qu! zzWP9s0`8$znJ~%Q=s!x|^P{4^YDNbS3fu| zJDbXa^7W$)rwSXUE?N|ddN_V;nL7|3zY>@# z)*@ES%0=H#vU`V4W=0ZKH*&~NLNy(aXlG)PnD|GTb-QQpq8&7Dik^Qoz)S4#^IWwW zXGsSU4eMS40OOx4IfiMe0p1plf}y^ooN}p=1lY`ba^_Sj^dC+H z!;Iu@N7`%13v)b1a6kcab;AV7IE}QPoul@z%Moo>SrkVBm-t%&!&g)?IORrbRfNZg z`J1?svNLR`ajgaA)GF|Nk!?xc4)9tC_@-T@hNEnKX)!#eE+P@<7=N`m|I>U80&Hwh zr>1&OrvNUx!;O~Nk+g`nlt&0+mIQAdbe~49*3VS3l9H4v*wYk6 zmKr-Dwv_IGK`O4)R>(S1fl2KujI)(k+4(uNXo(!uCWS%uhiNcHrI-_@vpc5On6DF+ zN4ze0LfL(?E3oGV$vtR8&XyIByYYevd(eY&Sb zfWT)tzP_;bPGz-~xXYG^!erFD54IdNDZzrV48lFV)4ZtqPk45D|9ZOr*ph2h?2o&& zZX0-I^6^CYbC#UzB#pBFuyZywg9It>xN`=&l~)SVnAn)jX)!Si2GNVNO8%zF#!h+5 z>26t1vyji7<0*gAU_oQ2Hc*ewSqWxii~?-qrs{WPP4QDLPtgwaI)p72S~#SU5y)0F zI!w`*v7yWCShvHNpcJaVhGbcOPx_4a*B#=G0{F~Q#j;aHW=;YNUxj*RtbYmh2=H%^ zUbkTX%i!N&VZO!wh(O8C@d@WM?yFL-qDn2M=K3$0{#DHvg&%pA6CIYmr+<8w71@1( zqXLcCZ}VMhpf{-`H`zf+2)-m08{o!TineJ$(aark&m=IP)wO7&&|ELaF7Xeuv??HD>kjfX3Q{-i7%Vij#I8?I~HbHy1u|o6AL=(G;Kf^Gs`@jm*(q+cTJg>g-GNs=)zsErQ~#7cV`YOdM_tR zpY`_QX;qoQ@{Ln}Cm`3L%SOu#C)`-VCr`6nqsgEcQfcB5tpmC5p5*s5j1sKhJ*rZz zwI8^^oAy6SjKA>J9VCDP3%qo;r4>nL$8kMr&*iaV9aan>Qh7|?&-rREaD*}3JIYFb z(Rt2(BpV^zHJjxoHp+_X9-3<1-C(zABhb*;98R~$S`s^7$&x9baG0@XLt_&3Q|BemQ_hY7ijFu53gV%S)e8rVN-%zQAQjt3N8})a^|(+>y4` zF&fy!m&??VNgQgE@h_p{QTUi|7Cnx^L@i^n#KjCs4mt=DVtRcc0G?)V=&EWlSp$*6G9U7zMSDDr zNd2?QL%ftfebL~EjS&GA^ep$BPRv@Cc&77)cpcVe`~CE(4_0(bq0I)SP^}u=XLDF| zbloh|gIin`+N?o~H?n&qr(1YSD z7UQFqV@9t^v_58KGH?hN4Lt}IyMABQInOGvsZ;L1mnb$#cXMVqf8E1lkdz(tp5%_> zTrqlYfE69U&of{(%Es)x$?I%k9iY!Tm?-9}h6BZ5h}V9fNBMq+VZ zmKeYLaB!2RYnhpI$8a%|VZF91h(jz?B+n3IKuqcq%Z97nXQSgI<`pj+2+>soCQy0M zrS;!&JJyt6EFk+)KwbN&2mJcTX*$gLjfozighqz-^vUDvFX-L3%865B{L7@ljog!YC6XPVpm- za+y0To20xK?J-2NHRuO&u}+FtcsWZFcbu&DoUCr0eV|%KSX|0%7{BSuJeeCgSr<%e zc+3?E!bN|p2l_i0`Y6m?s?J`;KujAJ{mp}$ij}`_-pArrs6k)gQiK8G6Lf-khUUOPUmvQz3+X))xe63Vr$Kv$cmMzq}jM9_dwy)`EHmk%-P`A z0`3sP6FN`EgSXjT-y`wqZoG_BR562Ru>(kacKrQZebbkjx6k<;4;9!q&W9Log{i+) z71;n`m9gnt5#R4Gfudugz>eOHC(P$TP$ge@MMi$|JdY=}q2g8mv!Tp`_l{Db7&$+b z#kH~I;ldzypAA8@vG%>VME3`zlDq=uRVO}TJ!jSA8C8ww`YlP!i*d8dd7I3H*$(s< zI2@(Z!Eu?uqW%=p_5!J#s{{~4Nl66RFLB0LYmK}B|F}**R|ldVVo;jP@)wWV`mouQ zvw!$-T_+_sQI@hv_ms=ul5a;w%qkO}rrPyLCYeD;e(ASv|c!Ql_LCxV_db>3po@%JE9UVp1T z+a^#HwnVa7vJZHCaBH;pxJ;Xb4cnGrgx;P7RdeTH{PoUj(n%p^B8g>&A{+cB0K^vi ztX&!!*+&K||4Aig!qrBlmv1%Slt}mDURW|9-pCcp3DCKabP+S03&*QZ&yE%js@8Zf7lD*G@t7^d3@Lh}T zwLq#S=sb#1*TzQSlKbSZ0 zvHt!0jPeu_e&$Zfivr9>Qs_Up<;MKy+a^S0IHb3)Uqt-_TzELFH|KN}X8#K;cMe#L9G%uxyMOwOjMrcW8zPKSi_xZndyjU}xC z#_P7zPg!(43=?%#rZU&~C=*Ed4Xp!-4k!MG%5OKUz&7H@*XP)Kik@<;ggS zM_yeVG|s#yE!(xPuAHfE`LYvJmSKR4-vX6XvTyB@N9Ufc$&brhoHtUm-0f7H(kFB! zkEd!4t-2Awy#SzO3uudxaG-Rmd}SICXl^Ibr)rJdl)14#;j#`^%B9aZe`1-LEthA# z+7ExQG+zFlk{l4taBYS9XB+)@;p=b!*X^`qwM%>X7e^sed^nCAoiH zDU=4sW1%$T8ZZ{QA`TK@8f0RW#bmsWxVD<`2Ibtgdcrm3$nP0vS?}8t=Bh0N`Dm^2 zjSiM+m>=)!pm%88=L zs;WH@yYttH4CR5szrZmXHuZ7(vSAzt&PbzmY$Yq=X*8xpd<01>FWTh3uXI<+R>hN) ze3_cLiGsP>s&Sf82_C%3cbkN}Js@E)` zB<59h>ZsLITI2l%D2&b{@rMdDc zngT)Jj8Fr-J<4UN%F1xTUMjZ;hpd;8BBFL|wqYY=$L9J60;yqXy};A zD04DZl~w@&w`uob<@^@vQYD^qnwkguXlXO`L=92jsBk8!syvU*k~~Zg z>ZFll$Oi~t;NnFOR1q-!Nuv)+XY^SjVzkh-~LLmWT%FVk`JHfpf`vB7Fat!G->; zULR!ni`qd7AnYK`0D3m2#Oah|ZKV{v(mvLD2Ph2%v~x(HnRS6Tzjr;-dyfcP9c*al zd#OG^D;z=D%kla`&Eu)+bQ%ZcXR`VOw$ARij;1i&a|xYGAj#{5$cPE|IupJcJOVu8 zznLsN7A7UfXI0aWuEFdo$wiHydZsqdFaGy#Fi}c*ZjdLD^_SK<`Sr&T%uq1o_8Hy` z_{BL4p!lV=dljF0;dVC-BKf@DI*m;|bGu`}EPl~=_2{-XLZwI~3)`{a198|x@DaV0728Qnnt(d3bXBzM419Opb9n7EWU zL6K)i>_;3b8|g+i>5@3~(0zi%sNNW8+Lw4ckY>Q9+Q0)OFUtKey@;0Qz;r&|N2E;IH0Wjo759P-v~e5NFi zd{hAFlQYU@ILKbIeazqyGbL}xunP>kG%G#nJN$9Y1?vw{rn-DT#s>IM@-X5N{~$S< zNg}oW_JaBsNqc<0l%5;`Voo$q9tD!tvdiwOe=iCX-6PMaC4G}JrI5I1M1aVM4Oaka zY|^sEkjclEUlGyYnSOLil919b6YHC^x~^05F{Ff^8YiD6OMb=<#60+exMg-@rs^BM zi}Ogj$Jj^{ty_f&S$cr@`pF;y<&O0i)+SE6uqMx8(imO?n54=fe3S zF7-zv_<5E(VIO+~C^@-#YNnXB_m(@P^ zCW?m`Tb)x}5^se4kc%Iu)JCW%uZyxz%5BH0LH8#KqmcGUnV+TelBQFYi)_Xrqt7%g z=5+@ET7WLkHdwR2@>BeT=jb*{Y-qAMF@NeI*0!e0~u;Z0fsFYUra z2GU&iKUwvZVy)p?n41ZI2J1>z0Bu$T!~!7DX!Jls8=bed=-Dx%sUPSlDOo3NHh9lp z;O44-hEXDfz0H!=_rc8C4@Olt3qrJcAf)DwKlEVCHYwb3qU|Z7NLJrO{~4w~`w6=> zc={ltgKso6%0^`-(JZ_nhggqv&44;@9%*<;jJEWij}DO+v4T9lsQnbNhB8f&HG$*H z@3#lXVmG&DHf1c*_zbQ=+U%iyDM1N|BMGnT29>yJLqAq=(nmTXi_oI{<iGN0?|Ps=8+dKEgoS8@&uLT04u{6m7#YTY-r}y2V0TP z*)`OQw5dN5l5V+aya!U9#^>&Fj>%^enpkd$#>I^Ij+>q$U%!x{S+~Em(}u?~$Sv;f zDG}Tw>zNcs;Q-xq8VL1smKpBAx2@| zEGSe$ijvP%Sc!WiE0|*6Dk-6)09IQ$wdZgKm#ION<(k!b%`o4uvOgEC&UFP86vzVZ7EY(IKK2#X_ zQ2SXRWMeSdpJPl}7u!PP=NA+rh^3|JwMf_n!_=Vw_FuFrvHypwuYhW!>)OR#g1ZEl zAi>?;t+)oKxVsaA1b3IBrNynq-HH^76iU$+C=LaR_42;|x9)$xyK+|6nw35KoH;YI zXJ?=1c}5hDW~PT^&X|){y=dom@Fho1aX|@`#s@vYY&PN~&D{ntIY2BB zLk^H9y^nFO@@>Hqb{MgBST|2U0e`JWAxwN=-@2$}T>Z(wrx zhFlF9L<6Pi7%ZTQM{cTNg<RXI!zZ1mN|inPTZ%jG8us!@`QeeQ1J z|Mf}9@ITY*)FxZrmc;iOkDmS{Tr+haSmr$emy0rP!rn?-7$_avZ-mY&!30L3(AMEW z{tS6#NZF57DKr`hOA9n^l-P(wh2A<+PreztfbDWiqy6JYIEJD1a=mw=rzPD<0WRa^)PaWB(%HH~ZIIS~>nj zXyK_0bNh?HO8*@We})#&1`XB%eU$pBF=w$OwpP=l4-+m!{vynW5->Fo@#Gc?ehLk56Na?>yS!uv)>Kk!MgB!iI)HYt;Aj)=qNrs&fqf`oI+Il_C z@Q&}iElThqx2XP4hb8{oUDHxk!2wsEDE#Q zPJswK!4s!^!R=WoxFyWgWP{512TEW@P2UNP<9NmQv0X-cW~uvtw{60WJgq~25hfSd zeoOMV5Z>%WuxTDU6A}PqSvTYYhybzl&4JK~HmSXujgW9$ zps26vf5bKXOSf!`Z8&42cjya;=rRELd_{l|DuW{Pl&^+Q@KlKDSTD94#*yZuNqxED z+IxMrO7Uep>c1~!dj(;kIkub-_Q@>~+Nlp#YiLjpR~tAySpuAWm8jrNeJNQInz)z28jaI%SA{w0qKv;W`AmOwBxZLfl38P1(mN_b#SO(Lw3ou_qO(`=99JDhKE(_z z6@8fRUAbf(tQn@}Yn{aP)>n|KEo~lDZf@QNxM0iK?$zCpc>x~sf8=E^c&2Y6epZp1 zpV)3Ld_8bW-Nt{UL6-m&7d#@?g~!-5JzY5Tq!-FvNm59rMJYd3c%AUq((o;mS4L+J z-T>bh5ONAkS<7qqq&9ug=9t_YRo01i5^TA{IM=USmd5x@-6doiBSBmg&yMbdm9u!q zGf}@z=JI@Q6dP=NoYW=|)uSC{(_6H)O^e`=$@v$-O6t0`Z2gF3_W83&oTZ&8MHuxH zMgil&n%MCCD8^nmZXYU?+!frWpy^3zqo7e>UiOa|{>h5~uekKr!)uf6ZLVAKQTy7C)L^dHq@w)1c z@pM;Y%hSo;an+uOQ?;79>wXrY;Tyl#_FZb8BbbRcxBGHF(Upu=L+33lwAt+HS9=P$ z(TMs88XtgvSZ{*JR*+UpQ3s!Rn6$07{H_H_+|(Bu=|?uQ5-Ax2JS*+`TiZBzOY>5G z-OFdB&aCF$<4XS#eBQN@yr*;li;OhP(-+C~$ZMnJ$IovBqH!CNu@rQP$_jawF0#Q% zDiXc*55hqYqhhhWmB*$4jVel2^8B~+oMh1#@x~2oZCHj;n5JoITlOEs&=M%V4+gz} z><$A4IbX_^rIQEt6_C&lfmg+6<4pDreSb(azPp4Kwe^%(Fj|&sq(+P!^c3=kGO#X1 z*gB_fMCU3{eiqU9>SpOB2vPmBwlcru?VcSN!MOS9^F1Mc%?(RZnIg8bU-M`69qBe` zrgpiwMLC_S*%HHewr^Zglqtv!($sgu$~743e(<-(Zp=? zeu7Dpx_QGfor}urphQD~{uU+5oR8a+?bl;X4PoA3)!HRsDm8TrzA7%+aAUpg)}wQh z^DoyA5sVR7FLj*pek2-NwTezPxi4gd@BBMc&lyWs|00k*<^UD`BFy3+DPoTD)P4Vp z;OiIjG#vZ&ibyn^WYjb`0`eE(Y)$w^B>ek55s!*+#xcypJY5sfVVfJ48dpJ50mGKIv{BRT&i@7q-s3>i^G_qLeUYQMg z>ZA;mcfq9ZkacWap;UUj`RitGFYf2<2wThFIEgD5`mw=bL}O3&g1ZE&L6q;`q4?3| zaU3#FRC+M4UY5O6Q!6Qc;r%=kv_+wPeO;SEbb0ZO@mAif5w~;o=j-x&DAvJUD8Bx& zX|P*FSEo~lT>4@23t6XAu)mysK?1ktJsKi+Z=w`f2_(I++k^Xt`d7I@Z@?DYapm~6 z^iOQ1M_~EdM3)F2BB^A;XF?kh7KR;}+GorjzR#W4> zyeNnmz_2AD!ZT~LM>fBz&8?N`XPJsBPu!n5OigC&F~<_4g@rOYbvCF0#zWyI&w^M` zIP_1*>wcWXOHiq>-rD0nC7;hBpG|KLvd-aS5}2_71xwN3)2Y)B z-cr{0^#5U^MPrMfth+IKKvxAyp$A26Vs{y}{Gqcw4pDkPGDkj9%-%VOy1vb$;-;&@ z7wx@CY1bV>LPm(8h4EG=9`r(lKU>m@5vJnYlO2E)OUDH?aUd!l z&1d*3e-YYk>E()~&?M+CP|){vJMRe_ry}+im=A)?6!&CEdy1$ayxwC|76~>?Jm6!= z(T|*K+RZld<||v(Z)tezpOPrU03Y_g%a#tB|D;x~f_KMqD&6S3fP!i-L}al546N{HV{e(OSMT!cz<6OAZhb5s@dqR(a% zTJm&p9B3mQ``judEISs+5-YcQ92CYOP^MUkNCE!clKf z%wZ@Xs-bGC5UJ77AEBfqiVljQ9DF7Htr+r1OIWLjQ8_wni|bS)>DdDpkEX_8VgmBa zKaadzxH_7pc3&JyC(^P1h|EtlG8#&+ZpnES*a0zQfj|%mAUgtGMc38SV>!rM&`Kd3 zO*elNLZMKpj|jhm6F;?K-k0 zk7N=;dMBK6`8kX>S)DwZ+pPmgfy$xVN;G)RDsTkoh{pCw96)@vNiyglCd}EJi6d_BRZO3nc}2y}k_dja!nBfWS;SYC zQv)9X>TWMXa)@jYyfr66INVo`lMLkQfov~XcMwfTNJyWSUNxIS|Ez_5z&O$05nL@1 z@^m9SKxx#7gt;y2R&auW33F*za1vbSG?)j=_l1&BOHczwV9|dO%H+j z#Hdbk^`-kwz;1V{AK>ahtnE;x(cNT08QXxd!KT3P?45EU)XdF=4y(~9R{;~8_igrX zWE6*1*_oJk@UE_|IvFKhC9rw^y7X@>U!_|g7Uphzhj9}>s+o$^H%E6*Wk#M5O}J&c zt06>8grB;mvQFWpJH3#=;D}pM&XfLl-d&AA8*LlOY?+>`ajV* zJ>tBuuN15MUP{f(QfkC7!9m^}c9c7@EvH2%@9gMLtNxYVxgQ-nYa?KpO-q0IDN zpt9bj&{}V^3b(>RPOM)%bYvn7Ab@X({$3cx_62rmJCSxvgys`vtue0^Z{hCX*x>0AhvX+2oZ`6DtJ_Bsd0BeJ%&&pL2{wfXMnN@HYTy2=h1tm8c1 zijCvek(@suNu=HSK{>FAwc4sQ%8(%q=Iw^jMY?juMLs&Y2}gRRiE`eI7E9q9S3Afi z%r86K!9eC~4lu`0A{uPr$e~y!s9}tKdx~0kv;9Xtr=RsP>(6(q8;Qz0<`o0dEOSgE z;+H?QR7A9ap$U@XzNXMJbg4UM0P|84WB#HT5oHMk0 z9A8P~dCCtoGTKnDu>e4s!-Np4y%6^;^h+XI>%eD7a@4>w>mq?uK>@wrXt(SPc9gfv zD{2R>Y0pznLT_UYFNd_{&Mhl+C>WlA8%+7>q=3lwSmw==j6%5Pm-JuMHcwM0l=zFJ zBKSl>icu9?GB*TqkBo=0T5Gp-j+fdjAwP)&N#<4HA{ho-6%lAnqZ53`G+hpv4Fsj~ zo{94-&Z)RfZGofR0IEthra&9xj&2Nh=`kcZlS(Qos)2oiUoQ65Tw#Dfszy7S^27o{ z(rAK{;&-D^^7~ZRn{T8bW6-cF9Mcw0Mb7K~5fx&J1c{NI8BM~b<~v_jpn&-JdeUHi zfH`La`0!8!^Lv1=DMbvueOyXiJ2gWgs-;fAUOTG@PZB zq?8FFEm2vw6{<_wHF&Khk@%4uLOv{?)=o^21?`1#E|bwWV+aoJO zMJD4CF#)eZK`9fmEsE)FEu`gb3LDv6PPT>RZQkSNQW4SX;5zp?&r71?ArpD>F(Dzf z3+&sT(Qphor(A8i*A40uTTWF2J);yF!v$BoO)vFnk_) zdnF+RPV36l-hXe|{y5QwzjB9TYebznxGx1qgq2Pi2(ny-V}Q}Naa=tjOQ0D_!3jC# z*LO_G&X;jb%S<=Pzi34p)uyWhAoI`SqoNHQf+VFfc zol^zq@ch^{F$Noz0C=$|;8GZ# zL_Wq57|~F>`e%e^EJS%gu0g#fwN17`K03=spMe`mlRrI&dN(_%ypP-rGfD`Sm4akq zgLzIThr$*$Ah%cPXkssH`~w;M1+W+e)5R>GVz$#UT*h`frtzwY;u=H`hkBD;TE&o$ zd4KBq%qUL_6y}SL;KI6YJUS@HU(v3li^2c~zuFOCVWP6cwg6$qKH zZ95eL3Lp(&-5z}2hJG?UPx__G>HcAwZdcg+d=4z%M59B)yjxK=4k`&_Qn?Z6AxJDI z!E^-K@2VHU<>1Mox)a)@q|LC(DW|gK@c~l__BUQ2!HgLLsvl#^;ICm&PBk`(mS<(|aK;4J1FQ%isYLKAePs$B)nHq%Fs+% zN$h49P8VjVe%Y!s`R#2~Gv&MFCQe8J;g4>r4Swil^j5Xj1BfLbL!uBUwq~QtP0Vkd z!;`+7Gf|ff3KG1tMH))i5l;fzHQyS};FLGyo5WGo-`0{AXcQ^+AwERv#6ybP-O$-SM*iKUBz9C@X zeia0gsg2J_O4H;c)4`LWdndKB$i2Qeu&Pl>O}zItnDVO9c&%3hg4!SenAg>yA8|Ne zK#u~lMPmw#$;jnOZIANOFfK6zP#cpUBsfZ>Lj!d*jQ%s7BLO$$f387g#_=rLkbH}ZkGO);g3a9AapfxN*QdJro{}#!5uX zLN>8cc&uQvh(!6X?JE{IiSYfBAWFJ4;W1|KHu6_5D2i z|6RE}H9XJX_K1c#()~qPKkk@5>3cYud!YMoyOHzMSEW8Ec8prIg*MR-eyUzM(Q#vU zx^AKWZ?B*E>jc}o6SR)`~_h|hf&OYggAI;APbGwpxP z#+J7431o6Fht@vXq7d^}p{Bk4nlHXlhWBzPNQ{jUM)Ds2*o9a)Dw@g)5*x%5uW7%V%7>1e4Ye(8S9Q;8E~fc{133rMP* zvCAoBpRQ-iF_ZaV8L@KYqxo)?R+zBt=&kz+V=gvN`u8x|&89DJ%agcor%|R;`eXI% zp{{D2_G-tn2rptH?!9~00aOjrE!fu$H~4)XZ~X-738G?wZ9Xv1p|2(GRQixA40SyzMpTv5yi2Q z*chsS7c8HrpRnD(C~XmrTIX84$+1yx7m;YAZFXS35_KT-L~4h|H0qGLw|@Vk%{2_u zW3Sx|&{w?96?fvwPJP&f_?D*P3F^*QPT5d02}vRX6(v6y6X9(W8QE5_F`j;HW0*M^bFtDDi@+WrIc2YfQq=uiijfS7QSPh_EwEcmS zF@cXPC9yH#;p*HTJBPjeG~#|TOh0;jF@L%QDkhMHfnavbJxDN5rZk`v*x&91H1Ac`Ga4LlHX#4 zX>7353HczZ%l6DXkCc^fzDQkCku$KdY>`1GXz-b@m&!VXgUca{2OKhTz z7x(AMinYGbFg-dqB_MabXDn-AS1e9Yg%x zB+-=rB9Me-Cdlld^|9tP-2#s1#l5`t@ljrNvwJjx%>rfp%e8Vyv0ATe!%|k zzX*)E@sH5+2kpiFw^lV$(gv$8f*yxfr0dT24u0u?%>a1E_nMA%-(dgm3wCce^3LkU znOXv(6DylMFKmG@%IOQhep&~NNsAj32;(-AXu#l6KbC0dO6i7s%O zmSkuSF}y=1;47B=M|Rtp@Q)(2S`iZB;7y;yChVaJF+d1GAOLOS^MT0sH>jySsUPmD zXtm#jO+H!sZWpdvx@(q@^&e{@#6r=vgFr z`t7wqS%kon&b1!8@!Oc^CGh~vlW2^Il*RKRRTj}-7lR+e(RUv$fIoL8(LcRFl7<0} z9@rVnBcU~2Dc$qj&mNmKHM*DZpfg*uo9CC3-)d;CQ3?|2$$ARm;QJryR@Wso7vG{qBwNKU~Mh#%+SbnOxlaJi|64Z&m8G4ErlV* zSJwOqVlawTy0OoyiOc;RQP}?+HW@Pf?Mn{@saK9Ci{A2OiT5mC)n4t3%GUK{r=9l5 z!&CoeF!@lsodQ?pO;$_Jx~mmg#Bj&Tu~pzgdL{f=I5s$a%(Iz}Kb5T4W+~X)Hpk&+ zRSDv8^Xv96!cPvgR+}wvS=^r69K)QaP0sU|NjSUj6L{RbElv2+n7;*t*K|8$DaN%- zOAsvJ#@fz%GeTW6uzh)63TH33+f%r@2*NVy9Lvis+51Zx^=JI^A4{AMa}NC5ooBMQ zvA2DDkDo0sB^w@u^Uk8jD?KD=?QXZXTP}7s_}2HiBpbhN!FD~kzZU1zcn1Njgw;MAv(mFRuY^9V_#A%AqGcJz#3SnFJ>I>N_6$oC41d2c;6O$8W-2 z#@AzA)P2Uq!bx*^JtIc`=Uo!ySs9}XzqE`!_&ihFFD;leJp$U!r$0uxxK{Oe?#sI z-Y$pskIh#sxG!Abw~f9J;3h%r&P!v@AXxDrgq1N zR*7iwl6^y#3bP*m$;e zA&s?fYw^XX&ELvx6U7#rS}X78-gGC9dIZ8n8^Y15@%Q0)Qht!uxAnTXT*I)iz|Z*9 zkB;1;0UpB)1TxLYSKH4gR9A4c5bHZj;q%)GV^#Z(5sYU{p@Z-rW&HG%mXPm};gb6z zYo{JJ-h71Q((Nnzhz+tSC+MqVg&^bYO9j`*XzBXD2>VZe5q6{&c-%ZDK`qKD`6S7l zcKte5UD938FQ^mGF4FLah%Wq8sUoy*y{#YdyJVZXZBVS%&}##>TA!wwCOj^0*X!sW zc_aFhhQH%qe|LSE6%}08-*YR{Z&`PR4jB*WD(IhDszH)!_WSWImQ%Y+61_}&cIWG! zr{cQ7ag291;Xj4_nSF$pi=3RnJ0bq~7?`8UUS6Vf{4x9Ss3cL6aO>vS8vcD#4oKmQB~)@qTn zKE#st7od$fZ=Fg8PK#oXzFTw4F}9dflBe)ZsgZe94|L3)1n!GbD9itj2!Nk8r&X%g zSQH~abl%9Fn^+nA=sx*;t{^LB^Sb5c@6d`D=Vwlf~U zBpZ>dWpQ_UeC{E_m84elRg!ARWIPW-#k0sD@31MyeR$H3*u(GIJpoWq+ztG;@RDJG z2AS?INlfW#ZNXzRb$dFDmfcuQ@*V3Q*j2?t_GTerv7){+fzRlkcC9?vczg^P%oq;< zvu_>BD}NEV#6hfw*A^x3drZIfq*N zF?Zl2RJsm_Y%MrRl(}wAKPNhe`90I#UZd%QXGLYl+jiC*Cv3ZEtG|k!wur z&sSm@mG%yYKuJ4O8}hRZ#vq*)M&Ee}Gn0>Z<%3V16$@`NEqHbsYVysKshd55|vL|fr)c)a_?+~-ygE4 zhn#8qmNk#?+!t9OrPQD|HkJ}?LO^T$p4N=bBU1;|&m2f}tT&&8WFBlylt+27vNblCuJhxpK9Ymx657KPv zwBPFw9sfn3*_&G`!Jw=%6HHR0`1@F%=kHa+sae>aPV)}a zXzj-$XExC4D|wATH{ZpHUBZ>uAAW;J8KSs)*PMVMZz1m?y%s5*RvPgqV)(CgFwU$jvpFtLE^b1t?O8I z>X1*u_wG%3NEH&eA@Y>lC?rG3+LOGdyzdY1i~4sg2I9qK$WZG%anopGM?Kv@AsJ&7 zyV~?J1VSuTD3YGKy4h2z-rLSa4X*(?NO$&t@EG>kgJ-=Z)7eglm*dAjrOtdT>)$(aSd2ibEwc$)O+dxd(&m4@X z7?3wEvDptn@k+hJtDq!3FCCKQ^kp7G{SnTaAq{;cSX}>96xp}=l_Ol- z0wWrkW1D!*xEtvK^5Cak;bl!4yKi#udAB@TYk;u62^q^nhCNmq6 zdC^1!tmK&^?5g8N>Y-;kWTRh}nVCT4pNkJ6{1OQad#UFT6}e_md1_ooOw? z_4qaef7XJN>b7r7I`L}ZglQJwi@mySvEC=-9lk1W`$zjhy3}-`#ldWBvwYMb-`bScRpSDQ)9)rUMtyBid9L*9~|IHwmfpXEYG1|)hB$Mubi4! zy#m{H2!Kpo^}R3>7Gxx49kY3~%{TzY&%y`b5-mUxvp%e8t$Lx}LDvuQ2*c8xzxjA_ zvd-vL>SK^EvFsVa%rEw2jM&{4chKks)Fho~D2wtU9FsxHR*s%~UC!qBz`4(HL@UNmj+yaH6^87`jVV zZ5@$T8F7$t?-df>64u?m(A!X%Cz>bOj4mUwD}7T_tegy}q3QBsPg52iP&1U1d`h&W ztUeOGH5R^>-$>soJ^5{f5lEYTIRZ1><0_%pC*eXNrsA$^BN*g{s0?!6HVxtSi1 z_b%m~A&FY=N>)VY^-l{-utOLfwTW{Sv@W`*$NrXpDu5Xu|CLXC#+}4&n!6$xVd`eI z>z4;&7I9=~HId#<9-?|XonVm^zY>I65Xy759?zKv>f@<%` zktttEs;>{akC-<5-UUZC;-1YzmV6^+*svTvW5jn=8*W$^A~8nOtUg&S2L}(^N9rcm z7HVT9F9q!QrH>H?t;vCyLqyS16}|*tF(im0We*(k9C2o49<{IYvTD0+Ttw?Ja9ys9 z*d{tbrUr_D*DkkQqM=G0ZUY806Y?ZggAn6t3@bJldl}21Xqk`oCLL20V3j=>aud&K}zf9O2V=kCM7FRC_1}Ij1Me7o1o~2pp^Z> z0Xy3UGK@#Vx$C5JKebK)y@x^u^^sShx%DBI{@p-=%BZ+CM;Vq92gAEacTB{P7!gc) z9ZbpNPM=T6J>6oC(byUKdF{QmJ651^Fy~K3qt&96y#h zJG&tyn+!2aW+TihA48k9@Lc$P>Lpj|vX-nicpEA!Q@b>XmWx!nm$q6KSmavA{9)2Tfls{lLmKep8O>3f;2@j4%#y5z48Q}b1Z&^) zf4#?w9UQqfsHIKJK1h$gD$RvuQO*-FZ+CdgGNrlpEZO~V_ZwQz`Sn>q?R<(xQ+CEQ zF_?5>tTMq_aHfTNhp7d3%x;lurec6M?=w2i+q{AquUKKyDw=@?0H`Hvn|GM6ia3Na zn;C!d&&JzhSkPaD#240JCgJ+bLd}d~;^;bZw=3@^?2Jf@C51}xqCwkSQzTdrJvmkvF!-{Y$?QQcM8o$?S&l4rm5ZcyxYAGxF*XxfxN2eqg_%E|*Uj8JT3{&jEJVm6RdnE5)Uc*1e|4 zB7*388uTZf-X-!iaE(}2N+{|RDX}zY24?FplfZy=3iQu0lKKbIUz9L2H2R?P@%OTs z(Grf|wEY01Z2KGPDalfT~GBd@jsj1b{*vgLTuFr=(%78u16<0qU z@*@gj^$Zjf7&0RJjx`e2o1u4+chn_JmLcB-!5Z!(g<_^xwRpN6_Z~S@P@!*H8Y-x<# z#g9&K#Ausg@+on=6;`Ohmn>DmSq(8vSHl_3A5$SvtI?&@t`-MNRN;K8%Rt@G?_$!c zDnmh9gekPJzrN%*?VZn(8vEXc@d(U%k>2F|oT761`Gkj1hk>gwg#LDRN zx^OF%I}cL<26rI!#O$D=SX1Yvn>g{2iCLAmoMMp+=xyWqHI68nqtA{~_rRmwO+oqZ zgcTJ}TYw^Y3tGa^u_#77Ozd(AiXYd`JHQd1x^N1+)^59z5mVfjqM!H4h7w3f@cj+U zuR|An=g~YCV|o=mkB%Sv>jn#NQChnrkGw6@>%^IbJ{MOu{Xm>_qYTfZS6CjxMFioP z)_~iX`F?lH@?F)*fc$7BQ5H->4rbL?N>1>Tg#vkEY7E->a}a$Sc4 zs?jqyoijJlA%BW%){>vzd_y1E-4l2ElXKL!zoA5{EjRC$P2MPr!axSrUPH@e+1+w+ z;)lHj6+BsWCr{Kb%uI&T$Wv!DqzTuVXgC;9!9S!WC-oqMzF}}&eU=P40@~jBwpg{Ty=@&CS5Be`EqQtRcN+w_#ivIa*y!wvpu;u_xF7JEAlS}jivHT zHW1j`1a-PP+nJBZr%0bA^Zo?MAo3VQC=nUD&pd*siI4YIC-)Ja59*Z|%D@oXlggJatI#RZ*Vk2cSn7aUJt&nmb9?m6 zpsD^T2a$~TlnbS+4{z3eoCFUiocd--nX|% zPCu--@)}byTs7IPXGv9Iy!3}@d^W7LAumNqFhO9N0D z(Sc#hByXQr$Veb?eg58SNcx-K_4SoepGQ(pytT&_)RS}!FAIwY5OHk1I&8egtV{wZ=4fa zr*%hOopG(bUsKN{5mc!ubZoKMk>Vee(0eCm$sG!w-%FU9V0HeKXnzp`RunaR`1c>ZdPS%2O0+V#-@^V@Xlks(OV0yd>;JB6v*N<{}VfjWV5RSk_K$!|aO2ASZl&W?Z{w zDmsOZ@~?z&09R>3p&hNq_zowPpI<`Z1wmZwD?W`^lDTDQz;V(=erpI`j;Il?-G2mMRT4LQgalLYrtQ4KNByt;7+GI zEb`iu2AB3I7LhBwx!%|&#y-V!5p&!Eh%8@`sHx^uSurU)lvn1v&?xKc24l#X!a6P< zC5_7*n8Qr1789bdQ6^Q^c%(&Svm=?(eT{FAAg0Dh-uw(up?4@gx##s5nCf(sOO8G; zXELdA-YeRp3e$pF1=nyJ>%>JZlBoy6bfr*YtC^6u#i;#DPBJ0Q9=90p0=P6|QAr1e z`fc;*@ixfxaJL(8qv3ei7Mpg)(?~_%L$P)7#gRn z;U_TDMv+ix00J%Tft0`O7*00PJ$~1VBPBx80t zNqTz%Nh_m7&)^RCjPy7YVRqtYGY{zTHCJr9?VkkwY%gUSt!p-k6c6y;N0TBf*c-owrN6*vKUp-denPT{ zJ7i=*xOu;Wg~2V{5|z8Nj8INXTuUr{%Zv1R@YOafUpmViTKf)#)|f7@=Ow4y{XvG+ zPDB3KB-5Ox6>RNUj`RyGf|}TJteo$HAT0HR9Dci4=9X8kxMnrSS+DtScS?_(6Ej$Y zmyK`>86gFqgG&MsWm;hl~GAV0UCrE(S9(z^IbK@0I zTZzVtFUP^l_*s$i$-@`{ZrdkWSQUv{PaI^`V&!qG6MF4k(TO4%}IyNoK zhPOUwRx!VeW&R>89@$8M6Ma;EeY{sbLHeoui~mhh;LJXTD4FM(X?ewd@jH*c`L4aW zwtkwTEb!J!xf7;LWP+E6_mwUqg)T5roxvc({L4&zyeafu6h?|Mi%T^sjv;cLeCa05 z@9pl`wH?%-7>%qmT18!No_4$3M(T$`q!RJu(6nr1_SE^*-VOTZ$j|3od-C$uhR))! zdDE&;L?tF9>u*$z+{O{6RpAHLk1DvivKV++;r7Bq#4$q z8weLhd>ddk-SvQSaGEz2W9pax9Z{hY^Ru5%Lb&W784Fe@Efep>%X>TVC&)B!q}#mV z1p^yuAhSawA0Q-p@YR=x)Vbp9o>3{rH-^CE{~(2>;*Ab zxFVHmfXHlZZPbus2-=$uuy=6%p_P!aZ_IZSsPWgMByd5r?dH)u59} zc@6P2FH>vv+N&YRnVw~fW4vPe?t+XqmwF6)%?o!Kl2z+xBex+iQdX0)&s%>Jvwn*} z9C?9A0J=hOm0lu!9i-|3R&1az)F&-&nfV$-8K0Rwql18~`wG_&4NHOa7ccircb*qw z2h3haKKwd@=}M#O=_p>mU~rc7~UgeV$^Nv&+^g>xCv zpo2oLFnLg;U@La&!h1nj^vL^8%B$d;b&wANDMF}vGGsJqW-@Q8%m))|RtZ8%DZ}4{2;0jir%Lmj}XF zJig~K3Kr0B_@8-H#2R6l@Wi{qY8qi;;a}JMOQO9m(&{^oqKe=Z;$+k`VpCQ`#7oE2 zM#W4_u>vyrh~Frjh+WRaa!i(wqvBVpQBmO(6S!rCDst*%N*r_XF>;^KeThfDpYaT| z_7roRklTrh_=QK1vN2E`#UQ^X2&#ZyA{1(0sA?i>)aDQ{L1&^lt{cib^g0(&j2I!~ z%wn!%7-guDNB|f9*qa(}-ZeK*X zjtKeGzz*P)r2NCmP$12ah8e#{vQwnH523ihrlIX>LdGeMZA^T)_KX*(bdu&;m2!h! zx<2##dSCQ8i|SdWxs?|x5nC0BY_(St9>m0nR7~Fx3O6ZN3Xf3yec+HaD3vf^CF&2L zq3;sAgA7-?2h=QApW5``Q%oG4kOgx=&_pYWnX{+YO+<4lOR_8{aa9tHun#mzX_$pkqS4^<<`o8cdz96aj(8xT z%{2$8E$%D`I=*_n3Pu$iGA3* zwPI>*hFiJfheYU3lxf((ap+$w%ZgRPpxV{cIH3Xz*$8f7^-SbW*=#c#Kx4oW zjb9l+&*bCWnN~Qt1Ci!8R07t^>`WrA zFYW3MrW{nOGc?ycP%?KGHwWv}FsV}W+iy_ z4cQLXDAqu~z(Hy4FU+T<_2{C+5w;nG#Edd4dyN?6-eoOHA_&fAosI~BZRbaW#0rB_ zsh$)GF+;k9AbJL(QDhW*jwhuFwkktfOKS$a4L`I_HhdyxjZJ5JRWkl(k|<^yS)%+W zIw0s{gZ%*hkRl)m3Z>!@ff(IfNvI1s7-IH>;=>VfquNlsn3sQwE|_ktK4qxGxrXV4 zOFt8GqJYc9S+dSj%`O)X;jO%LEQ|tH<&GdsULs&0dXA;#4Go)?Ythb=zFRC}Tmp0} z$`9a$pAxDrV@R=MnU<`+nZjR~vFJI>YD);)5nIQ5t*Y;v`$~jJNh#tOJWn(XbpsoO zJvr)o!A&K9^5Bb!@B$;4t@9@=2F77a(DNDv^!MUn?G$@tM%Ctd<#pm0ZOSiC<{inB zA(fCS4?zT<(GZQoXham|IZF4GOCb3pthkr1DhEbb^@xj@8AE8xISBHLE62r)Y^I`9hOPk78p^F8_a)TNKm=e{v;utezA-T8?r*u-X5!5oiCo5g@55i98GelW+ z9mK7!;elF)G3Z#g7e0+d$2p;MEXSM``IVT(dU$;k(k1DQHji^qJx3W#6Eg=Lb5yR; z=4F}U`$fTPEAM)%Wro9qKBYO0g9dN)ofz>NmQXYe;TUFt$5C*b(!x%|sBLiOmW}-pC)Puc;(jRzTp_5Ug=H?HKZB{^IWW%^5Ea3P zP}QuK+(vkY9Lm068zdUeedh4TOu!uCA#EtiNJ*Bc_VEPkaH_!gkqPXBRhHno&L{=u zNnKnv5|xc4D7fw#MiATs5c+EBtom2x3se+)aXFlNK7t_1va+|#6if6map+O$-ug|N zjLB+`JfGTOfwCU$L3LbZHO%mu-cq?>dAeDj7r=|v7fNOCwTSxi%H@Dl(W!R#=6TIL zF==GD(qbM`+Wl&LFKJ&GfzGB&GIYSmqmuB?WGzYv`Fa#L{0z&1<`YZdG77t89C{~@ zqB1FyPzh8Xg$Q69#Ieq%VM3tvY-5RLq$@WSmI?eN(h130_m@KFAykT zfG`jmVOnAgW;sH#z^=O@GHM1D7BRU@p)<6xs0YFnrE){ZuP6yE2u;Er$)m#lsH!WD zCcRl%#HmJQBp8i)FGY~56wm2nU3&)h{1XpgxQ8AOa1SogFV%dg-H(c-1_#|td%R{+ z;soT%GG;2&2M9)JnbC_NGgfs6aW#y`TB-Mw9f#De%BaQJ^($$Go?~FBoki#z@<5>9 zPT*NUwyE(E;GFcGurM%^0vLiq1i;vx*@0RJwIXqGL^|UvmdeV~qY+4S&BTS=yN3(Y z1zs$UH2gqt;f&#dNnl_!xJeo!4Tc(XIZk5TS7b-645|)Ds0h6fYRj}UEW{O9)7b(l z_JdJ`H!sjpxy+^XK)LEC>EVKOGyedIJ5Q;G+V^T+)$QmJxYrX5V&XJl&aY3&2_P1) z1Z{N^y2J=S={SZsoP|dU9jp?|hR$Bl!7T0%8atQfP;t1WP^XEP9`RvS5w^ad>nGIY zseZ@?#^4Xy2(vP^izADSKvAd68|j@fuOti2z>P54uAn0R=myEYC&acL5l1kQ z1HLaT7U8y#6~gl#RmV)JZAL{$R~nHqFo0Vxdgd`Kvibfc$B1THk&8@hSj#ZSGZfxE z6|LfL6BtViG{>?)e)B9dQ8GqTXlO7U`dDJ1WfM?1789>$p)^-gsjJEo3O%d$JbseK z9+Pc!fs9PqJU{gib@ntLs(}8ce`s3VVT%2N0~#0!R3XHD2V`+hiT6(|YaDr?)2qyOnVfN;3*Is9e!9>(E$Ld5Y{HE5Yh5gv>M~ zuP`GTKubu>)=9#bEY{<#a&Z-46iDAhZwzXg(x-TpfMzZ)c|-csY4$|0#!gUDUKb(-4R8_K>3PwUS(FRJDdYC zP9?4}6k&-^F?Xw(V+rEwa0BKD-9GZ%&mw%mIa`A6dy1I}aht@rLpqpv+@%Itlx`SQ zG2A4~8zHz$3W$tPFdUFs4rUrzPKGto3V@>!-6Ek%ZWU09OIegAsTztRp)f{fsG&P% zBBmk4V#Z8E24TK~)OdwQuPJ3330PDvJ9+gkCC-t|kfl=>p=PCW6L@-cem4t?Z(;#A zcMUZcqdxN0C_G%SQ=beQY8^7t8{}b$8@Ca;5gte;8}^P(mF+Tksd@!5;+gIjBrSx{ z@e_8&QAB(Tu41mPw{QaRjbK7iID3J$2z4zYONd`H!(>+lMGpM~o~HVpQsk?a5n7*w zxekb{NgmdtV-|M>2D2&%ke4WPD=J#z<__U?1;u6{o2yPiua>`B70tg1P1a4TCL8b4qHd;$24^xQcgjkMP zM+HDa;WT;i2>sBB@g75d3GZ*&&z3wlrxDURfE@cl7UHqHArh#8pPr2K7_sgmcMIqf?AZPm)-vYA`{GOjMx+3#OsOq=O`3l&Nu}xYWd?-VM~w<}%!2 zwk{%J7NVeo0$Aawyv$@5&Jl951)EGOh+&meA}p(@+x2Kt?QU&Yh6om*pen;^XEw_T zsc}bstM!Foh!$cBDzY$PD&D1iCh~Y}oSTh<_j`*WolwePDdywl0mhzv2@FCUKuyO| z$w2U1;^IbIk8~b)0i6>alJq*2T+5YABu8|Mw==DYny^4_vAmVsvdLt&0gDs^GCYxC zf;eg&8J4X|a!g%Jv_j4zB+O8+5$WPo9H0cKC4#~^mO(Elo0QfWVBA)&HU)r6HB3fO zBa#rzbec;xIBeH3-Ys4rNZTAia6v|XWJt}VS>X|lvnw31 zAubaA3tp4-wv`xyfr1I>OPeA#u3d+NPm}4EB`{h11N!)y<-{dnnArlIkfUupP6H_$ zP;yH13P3SN;p#NfRxvNRXL6g&2XWOVA_!DSg`^Z)3n}=7Jk%VO;%peMg+x_4Ar^-M zDR{@GcRgnJxzcSJGI6r%S&U~@kg`piIs7G?|P%WlY5-!T-Y8Z67 zIEH|+;0ol3sM9f~WG*&5%QDi{jzGPP7_5_o*qY|0Sc1YR#Z0!;E=I6bdK8$7sgeS2 z4r*P*Nnr@7m}MGgDF&d-v{{uQ4?`jYa>G)lh^cil;#FFgqOmKfjY}Z1=v*TkYvy9b zOHSQ~XGDl#<3T|732yp-?9KykOV&^bNNehIjQsVj)Q)tC5OiL-O zLF`1V)CU_vd4;`hT)??k<-Si1lAc-HhweS{N;K@1>S>5vVVhI9T5X6SLoAy4LFkLb zK-mnw3@BK~4bG^QWVX3saT>NZo0yPG1S7$StGJAv!A-<7xjH(CtU_+V^B2^6Kp3ik zIACa8s657sT&xj@0L*Qua)ENj8;h9n8Zw&YB816K$xNWb8CoiCBe4zK2r_{zMU~ED zA~G{QBdD_zW+f3sD6O#E?_eAQ%rE=Q8Zf6oMDWnDkpahQhBG z5sj=%?phd`7aB0j#N0_t7Kj{55pfDK#?`okS12uzYKVZ;0Wv_QC90`vd3r43CsAN_ zLKxvrrjr7o$EEHzvmHlsSTijmL0%#-C5_4r#Vj+LmG(+tKmfo&8j%Sd%Zk0?N~vY7I(TFv1J2qoZC@h#zPZ3~*{L zqX(EAk%kP+0G07*;wl;?;YLZ32m;j*@f2z()HM+@tQf-(dzE8dKvW<{6h|>42hiyp zr)cIOF`y(J63CuNSr`XQ1^~`IY$mHPD60I-Z#G3lKS@h)z7m525(x&$xn0~?XHvmp zXj=n^d`3598I4pU5>jCpyO#-7GhAD&Otly#?GK^2LvUdXzld%|X429Ha|MHbmoL(o z0bfl1#>serog@A-W7=dfs4CGajdZ|oXsb~(WZ_`0RKlwA%OH>o(2yf?mS)Tdw@_My z1~f20sIKC~vC%8Ud6On!9g@jMQBo1yS+*2}mt^H)8JSJS$C$H7?&9JsXo^Z85oDxY z$BAT?l-)vW3o;%I3zreEcPa|`AbSgsL44G*pTLY&gowfY#>%b%DTantS{1aVim`4m3*5%8N1j=%+ z_{mSavBhiap57e9Y?LsyBJh$SmT zY*f6dseu7m^s3;9+C9us@Rt};T#ZoFF%L3>D}~Qel`=x6VQiL+d*W6^tsoUJ*e399 z+-9_5w-8lOX!(Ybrae=VC`2zLBI%Gztl1O=%W)k1L5F>B|K$c5XDVNSkLM~yv!M{s`2oFMt2a$uBwaR{% zvyU@~Y=VC$nC_SZ86pYpNp-D3xK2&MOVQ?C3Vgvy$}&ngmJ*`sUT!(VQXsB6;EP)H z9WWh`U63G|f>{|l)JP)^U_qz?BvBn3mSzo9Mf&+O8rV_?IipuC7<3qm8QPWi9>u_` zh#>_+1B^Dbfp$W0+_%V$VyPW0%owcj%-M)wAV5YDW;#$tV~*z1W(rMH4fsT0bCf`wM9kPA8iF?v?ly>o zg)>7En8}YqS=%erd&>h1BQ{Hd4DLHK3XnCyr6Cn@D{fk|3_FNITTM!AY9JiTTM?IC zL6l~yY>ovxN5a>JTx!IvGII()@h&YvS4~QL4Xm*=?%M=-YqPikVh;9mnv@Y)P}Pj3q!I$X z4AUbKSzrl95}+1R33#X)Tp}SZCSYWU!qQ5cjaD3qElUA5iT<1nL!9Cmvb-FWx@xP8yP|gYrE~#2vyO;?DH=eW=^F&(3v2- z%W()=TifLTWRXLo8w|JSLhh zY#D(<;u8XL!*qyl03=!>EW|Kab8u%71N=>?FvyCAW-Z1rLiKuCN?&n6#Tke&8-_M# zxS5GWj&&J>ewPLjva<-u?8T;-$oYC1j-bm?5hc?ZhHjO@A8}bk0HFzRs^G*2P0ZAb eWvDlCL4-<+xP}}M%!pvl<1LEGg9j~&pa0n+>_pQ5 literal 0 HcmV?d00001 diff --git a/src/assets/signup2.png b/src/assets/signup2.png new file mode 100644 index 0000000000000000000000000000000000000000..5aa00491fee0fb1b09a959bd51302bb7aa6f625c GIT binary patch literal 89852 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 literal 0 HcmV?d00001 diff --git a/src/components/CoffeeShopByUsersChart.svelte b/src/components/CoffeeShopByUsersChart.svelte index 64e5a1b..b1d0082 100644 --- a/src/components/CoffeeShopByUsersChart.svelte +++ b/src/components/CoffeeShopByUsersChart.svelte @@ -37,13 +37,13 @@ allUsers = await coffeeHubService.getAllUsers(); allCoffeeShops = await coffeeHubService.getCoffeeShops(); - console.log('ALL Coffee Shops ->' + allCoffeeShops); + // console.log('ALL Coffee Shops ->' + allCoffeeShops); //https://gist.github.com/joeytwiddle/37d2085425c049629b80956d3c618971 for(const user of allUsers){ allUsersEmail[i] = user.email; allUsersId[i] = user._id; - console.log('Made it here -> ' + allUsersEmail[i] + ' ID =>' + allUsersId[i] ); + // console.log('Made it here -> ' + allUsersEmail[i] + ' ID =>' + allUsersId[i] ); data.labels[i] = allUsersEmail[i]; i+=1; }; @@ -53,7 +53,7 @@ allCoffeeShopsRating[j] = coffeeShop.rating; allCoffeeShopsUserId[j] = coffeeShop.user._id; - console.log('Made it here CS*** -> ' + allCoffeeShopsName[j] + ' ID =>' + allCoffeeShopsId[j] + ' Rating =>' + allCoffeeShopsRating[j] + ' UserID =>' + allCoffeeShopsUserId[j]); + //console.log('Made it here CS*** -> ' + allCoffeeShopsName[j] + ' ID =>' + allCoffeeShopsId[j] + ' Rating =>' + allCoffeeShopsRating[j] + ' UserID =>' + allCoffeeShopsUserId[j]); j+=1; } @@ -70,19 +70,19 @@ } coffeeShopsPerUserCount[k] = countforGraph; - data.datasets[0].values[k] = countforGraph; - console.log('coffeeShopsPerUserCount = ' + coffeeShopsPerUserCount[k] + 'countforGraph = ' + countforGraph + ' k ' + k) + //data.datasets[0].values[k] = countforGraph; + //console.log('coffeeShopsPerUserCount = ' + coffeeShopsPerUserCount[k] + 'countforGraph = ' + countforGraph + ' k ' + k) k+=1; + countforGraph = 0; } - console.log('Made it here -> ' + allUsersEmail + ' ID =>' + allUsersId ); - console.log('Made it here CS*** -> ' + allCoffeeShopsName + ' ID =>' + allCoffeeShopsId + ' Rating =>' + allCoffeeShopsRating + ' UserID =>' + allCoffeeShopsUserId); + //console.log('Made it here -> ' + allUsersEmail + ' ID =>' + allUsersId ); + //console.log('Made it here CS*** -> ' + allCoffeeShopsName + ' ID =>' + allCoffeeShopsId + ' Rating =>' + allCoffeeShopsRating + ' UserID =>' + allCoffeeShopsUserId); }); - console.log('allUsersEmail => ' + allUsersEmail); - console.log('coffeeShopsPerUserCount => ' + coffeeShopsPerUserCount); - ; + //console.log('allUsersEmail => ' + allUsersEmail); + // console.log('coffeeShopsPerUserCount => ' + coffeeShopsPerUserCount); diff --git a/src/components/CoffeeShopByUsersChart_pie.svelte b/src/components/CoffeeShopByUsersChart_pie.svelte index 48062ab..8ba382c 100644 --- a/src/components/CoffeeShopByUsersChart_pie.svelte +++ b/src/components/CoffeeShopByUsersChart_pie.svelte @@ -37,13 +37,13 @@ allUsers = await coffeeHubService.getAllUsers(); allCoffeeShops = await coffeeHubService.getCoffeeShops(); - console.log('ALL Coffee Shops ->' + allCoffeeShops); + // console.log('ALL Coffee Shops ->' + allCoffeeShops); //https://gist.github.com/joeytwiddle/37d2085425c049629b80956d3c618971 for(const user of allUsers){ allUsersEmail[i] = user.email; allUsersId[i] = user._id; - console.log('Made it here -> ' + allUsersEmail[i] + ' ID =>' + allUsersId[i] ); + // console.log('Made it here -> ' + allUsersEmail[i] + ' ID =>' + allUsersId[i] ); data.labels[i] = allUsersEmail[i]; i+=1; }; @@ -53,7 +53,7 @@ allCoffeeShopsRating[j] = coffeeShop.rating; allCoffeeShopsUserId[j] = coffeeShop.user._id; - console.log('Made it here CS*** -> ' + allCoffeeShopsName[j] + ' ID =>' + allCoffeeShopsId[j] + ' Rating =>' + allCoffeeShopsRating[j] + ' UserID =>' + allCoffeeShopsUserId[j]); + // console.log('Made it here CS*** -> ' + allCoffeeShopsName[j] + ' ID =>' + allCoffeeShopsId[j] + ' Rating =>' + allCoffeeShopsRating[j] + ' UserID =>' + allCoffeeShopsUserId[j]); j+=1; } @@ -71,17 +71,17 @@ } coffeeShopsPerUserCount[k] = countforGraph; data.datasets[0].values[k] = countforGraph; - console.log('coffeeShopsPerUserCount = ' + coffeeShopsPerUserCount[k] + 'countforGraph = ' + countforGraph + ' k ' + k) + // console.log('coffeeShopsPerUserCount = ' + coffeeShopsPerUserCount[k] + 'countforGraph = ' + countforGraph + ' k ' + k) k+=1; } - console.log('Made it here -> ' + allUsersEmail + ' ID =>' + allUsersId ); - console.log('Made it here CS*** -> ' + allCoffeeShopsName + ' ID =>' + allCoffeeShopsId + ' Rating =>' + allCoffeeShopsRating + ' UserID =>' + allCoffeeShopsUserId); + // console.log('Made it here -> ' + allUsersEmail + ' ID =>' + allUsersId ); + // console.log('Made it here CS*** -> ' + allCoffeeShopsName + ' ID =>' + allCoffeeShopsId + ' Rating =>' + allCoffeeShopsRating + ' UserID =>' + allCoffeeShopsUserId); }); - console.log('allUsersEmail => ' + allUsersEmail); - console.log('coffeeShopsPerUserCount => ' + coffeeShopsPerUserCount); + // console.log('allUsersEmail => ' + allUsersEmail); + // console.log('coffeeShopsPerUserCount => ' + coffeeShopsPerUserCount); ; diff --git a/src/components/CoffeeShopInfo.svelte b/src/components/CoffeeShopInfo.svelte index 7b8c233..0aaf952 100644 --- a/src/components/CoffeeShopInfo.svelte +++ b/src/components/CoffeeShopInfo.svelte @@ -10,13 +10,13 @@ let url = ``; onMount(async () => { url = window.location.href - // console.log(url) + // // console.log(url) let parsedURL = url.substring(35) - console.log('PArsed Url -> ' + parsedURL); + // console.log('PArsed Url -> ' + parsedURL); coffeeShopId = await coffeeHubService.getCoffeeShopsById(parsedURL); - console.log('After err? ' + coffeeShopId) - console.log(coffeeShopId.location.locationName) - console.log(coffeeShopId.user.email) + // console.log('After err? ' + coffeeShopId) + // console.log(coffeeShopId.location.locationName) + // console.log(coffeeShopId.user.email) locationName = coffeeShopId.location.locationName; email = coffeeShopId.user.email; }); diff --git a/src/components/CoffeeShopList.svelte b/src/components/CoffeeShopList.svelte index 709bfca..fe27bdf 100644 --- a/src/components/CoffeeShopList.svelte +++ b/src/components/CoffeeShopList.svelte @@ -7,7 +7,7 @@ onMount(async () => { coffeeShopList = await coffeeHubService.getCoffeeShops(); - // console.log(coffeeShopList) + // // console.log(coffeeShopList) }); diff --git a/src/components/CoffeeShopMap.svelte b/src/components/CoffeeShopMap.svelte index bba514e..8da9d55 100644 --- a/src/components/CoffeeShopMap.svelte +++ b/src/components/CoffeeShopMap.svelte @@ -17,7 +17,7 @@ }; let map1 = null; let map2 = null; - + onMount(async () => { map1 = new LeafletMap("coffeeShop-map", mapConfig1); map1.showZoomControl(); @@ -104,8 +104,9 @@ export function addCoffeeShopMarker(coffeeShop) { - const coffeeShopStr = `${coffeeShop.coffeeShopName} - Rating : ${coffeeShop.rating.toString()}/5 `; + const coffeeShopStr = `${coffeeShop.coffeeShopName}
+ Rating : ${coffeeShop.rating.toString()}/5
+ Logged by : ${coffeeShop.user.email} `; //map1.addMarker({lat: coffeeShop.lat, lng: coffeeShop.lng}, coffeeShopStr, "CoffeeShops"); //map1.moveTo(8, {lat: coffeeShop.lat, lng: coffeeShop.lng}); console.log('coffeeShop.location.locationName => ' + coffeeShop.location.locationName) diff --git a/src/components/CoffeeShopMapSingle.svelte b/src/components/CoffeeShopMapSingle.svelte index f3ab1c4..fa409b3 100644 --- a/src/components/CoffeeShopMapSingle.svelte +++ b/src/components/CoffeeShopMapSingle.svelte @@ -17,7 +17,7 @@ }; let map1 = null; let map2 = null; - + let email = ''; onMount(async () => { map1 = new LeafletMap("coffeeShop-map", mapConfig1); map1.showZoomControl(); @@ -68,13 +68,13 @@ }); export function addCoffeeShopMarker(coffeeShop) { - - const coffeeShopStr = `
${coffeeShop.coffeeShopName} - Rating : ${coffeeShop.rating.toString()}/5 `; + + const coffeeShopStr = `${coffeeShop.coffeeShopName}
+ Rating : ${coffeeShop.rating.toString()}/5
`; //map1.addMarker({lat: coffeeShop.lat, lng: coffeeShop.lng}, coffeeShopStr, "CoffeeShops"); //map1.moveTo(8, {lat: coffeeShop.lat, lng: coffeeShop.lng}); - console.log('coffeeShop.location.locationName => ' + coffeeShop.location.locationName) - console.log('coffeeShop.location => ' + coffeeShop.location) + console.log('coffeeShop.location.locationName => ' + coffeeShop.location.locationName) + console.log('coffeeShop.location => ' + coffeeShop.location) if(coffeeShop.location.locationName == "Antrim" || coffeeShop.location == "Antrim" ) { map1.addMarker({lat: coffeeShop.lat, lng: coffeeShop.lng}, coffeeShopStr, "Antrim"); diff --git a/src/components/CoffeeShopMapTest.svelte b/src/components/CoffeeShopMapTest.svelte index cc0dec1..56b5e80 100644 --- a/src/components/CoffeeShopMapTest.svelte +++ b/src/components/CoffeeShopMapTest.svelte @@ -2,6 +2,7 @@ // https://www.npmjs.com/package/leaflet-openweathermap // https://openweathermap.org/current import axios from "axios"; +//import converterfile from "../services/converterfile.js" const coffeeHubService = getContext("CoffeeHubService"); import {getContext, onMount} from "svelte"; let coffeeShop; @@ -18,59 +19,83 @@ let String = ''; data: {}, }; url = window.location.href - // console.log(url) + // // console.log(url) let parsedURL = url.substring(35) - console.log('PArsed Url -> ' + parsedURL); + // console.log('PArsed Url -> ' + parsedURL); coffeeShop = await coffeeHubService.getCoffeeShopsById(parsedURL); - //Thanks to Adam Gibbons for the help with getting around the Cors issue and using https://cors-anywhere.herokuapp.com // - String = ' https://cors-anywhere.herokuapp.com/https://api.openweathermap.org/data/2.5/weather?lat='+coffeeShop.lat+'&lon='+ coffeeShop.lng+'&appid='+ appId; - console.log('LAST ONE !! -> ' + String) - currentWeather = await axios - .get(String, config) - .then((response) => { - return response.data; - }) - + //Thanks to Adam Gibbons for the help with getting around the CORS issue and using https://cors-anywhere.herokuapp.com // + String = ' https://glacial-cliffs-16174.herokuapp.com/https://api.openweathermap.org/data/2.5/weather?lat='+coffeeShop.lat+'&lon='+ coffeeShop.lng+'&appid='+ appId; + // console.log('LAST ONE !! -> ' + String) + currentWeather = await axios.get(String, config).then((response) => { + return response.data; + }) }); - + function kelvintoDegC(kelvin){ + let celcius = kelvin - 273.15; + return celcius.toFixed(2); + } + + {#if currentWeather} -
- -
-
-
+ +
+ {currentWeather.weather[0].description} +
+
+

Weather Description

+

Country:

{currentWeather.sys.country}

Location:

{currentWeather.name} +

Weather:

{currentWeather.weather[0].main} ({currentWeather.weather[0].description}) +
+
-
-

- {coffeeShop.coffeeShopName} -

-

- {Date.now()} -

- {currentWeather.weather[0].description}/ -
-
-
- Temperature: {currentWeather.main.temp}°C +
+
+

Temperature

+

Temp:

{kelvintoDegC(currentWeather.main.temp)}°C
+

Feels Like:

{kelvintoDegC(currentWeather.main.feels_like)}°C
+

Min:

{kelvintoDegC(currentWeather.main.temp_min)}°C
+

Max:

{kelvintoDegC(currentWeather.main.temp_max)}°C
+
-
- Humidity: {currentWeather.main.humidity}% -
-
- Wind Speed: {currentWeather.wind.speed}m/s +
+
+
+

Wind

+

Speed:

{currentWeather.wind.speed}m/s
+

Visibility:

{currentWeather.visibility}m
+

Cloudiness:

{currentWeather.clouds.all}%
+

Humidity:

{currentWeather.main.humidity}%
+

Pressure:

{currentWeather.main.pressure}hPa
-
-
-
-
+ +
{:else} -

Connection Error to API but vie raw data ->

Here +

Loading Api Connection OR Connection Error to API but view raw data ->

Here {/if} diff --git a/src/components/CoffeeShopViewImage.svelte b/src/components/CoffeeShopViewImage.svelte index 62666c8..53f69a3 100644 --- a/src/components/CoffeeShopViewImage.svelte +++ b/src/components/CoffeeShopViewImage.svelte @@ -18,11 +18,11 @@ onMount(async () => { url = window.location.href - // console.log(url) + // // console.log(url) let parsedURL = url.substring(35) - // console.log(parsedURL); + // // console.log(parsedURL); coffeeShop = await coffeeHubService.getCoffeeShopsById(parsedURL); - console.log(coffeeShop._id) + // console.log(coffeeShop._id) }); function deleteImage(){ diff --git a/src/components/DeleteImageButton.svelte b/src/components/DeleteImageButton.svelte index 59457fb..a4b112a 100644 --- a/src/components/DeleteImageButton.svelte +++ b/src/components/DeleteImageButton.svelte @@ -12,11 +12,11 @@ onMount(async () => { url = window.location.href - // console.log(url) + // // console.log(url) let parsedURL = url.substring(35) - // console.log(parsedURL); + // // console.log(parsedURL); coffeeShop = await coffeeHubService.getCoffeeShopsById(parsedURL); - console.log('NEED TO Check this HERE ------> ' + coffeeShop._id) + // console.log('NEED TO Check this HERE ------> ' + coffeeShop._id) }); diff --git a/src/components/ImageUploadForm.svelte b/src/components/ImageUploadForm.svelte index 13637f9..d76ec47 100644 --- a/src/components/ImageUploadForm.svelte +++ b/src/components/ImageUploadForm.svelte @@ -18,19 +18,19 @@ onMount(async () => { url = window.location.href - // console.log(url) + // // console.log(url) parsedURL = url.substring(35) - // console.log(parsedURL); + // // console.log(parsedURL); coffeeShop = await coffeeHubService.getCoffeeShopsById(parsedURL); - // console.log(coffeeShopId) + // // console.log(coffeeShopId) }); function handleSingleUpload(event){ - console.log("handleSingleUpload returned url ==> ", event.detail); + // console.log("handleSingleUpload returned url ==> ", event.detail); img = event.detail; - console.log('Image => ' + img); + // console.log('Image => ' + img); // @ts-ignore - console.log('CS_ID => ' + coffeeShop._id); + // console.log('CS_ID => ' + coffeeShop._id); // @ts-ignore coffeeHubService.addImageToCoffeeShop(coffeeShop._id, img); dispatch("message", { @@ -40,14 +40,14 @@ } function handleMultipleUpload(event) { - console.log("handleMultipleUpload returned urls ==> ", event.detail) + // console.log("handleMultipleUpload returned urls ==> ", event.detail) img = event.detail; - console.log('Images => ' + img); + // console.log('Images => ' + img); coffeeHubService.addImageToCoffeeShop(parsedURL, img) } export function updateImage(event) { - console.log(event.detail.img); + // console.log(event.detail.img); coffeeHubService.updateImage(event.detail.img); } diff --git a/src/components/TitleBar.svelte b/src/components/TitleBar.svelte index 4f3a776..94dce6b 100644 --- a/src/components/TitleBar.svelte +++ b/src/components/TitleBar.svelte @@ -4,10 +4,10 @@ export let title = ""; export let subTitle = ""; - +
- img + img
{title}
@@ -17,10 +17,11 @@ {#if $user.email}
CoffeeHub
-
{$user.email}
+
Logging In User: {$user.email}
{:else}
CoffeeHub
+
Logging In User: N/A
{/if}
diff --git a/src/components/UploaderTest.svelte b/src/components/UploaderTest.svelte index 963e514..c13abfd 100644 --- a/src/components/UploaderTest.svelte +++ b/src/components/UploaderTest.svelte @@ -18,7 +18,7 @@ async function uploadFile(file , length){ var formdata = new FormData(); formdata.append("file", file , file.name) - console.log('LOGGING URL? -> ' + file.name) + // console.log('LOGGING URL? -> ' + file.name) formdata.append('upload_preset', unsignedUploadPreset); var url = `https://api.cloudinary.com/v1_1/${cloudName}/upload`; var response = await fetch(url, { diff --git a/src/components/XCoffeeShopImages.svelte b/src/components/XCoffeeShopImages.svelte deleted file mode 100644 index 9e3ec35..0000000 --- a/src/components/XCoffeeShopImages.svelte +++ /dev/null @@ -1,80 +0,0 @@ - - -
- - -
-
- -
-
-
- {message} -
-
\ No newline at end of file diff --git a/src/pages/Charts.svelte b/src/pages/Charts.svelte index 4ce2335..83d99dc 100644 --- a/src/pages/Charts.svelte +++ b/src/pages/Charts.svelte @@ -14,7 +14,7 @@ let unique ={} function toggleChartType() { chartTypeToggle*=-1; - console.log( 'chartTypeToggle =>' + chartTypeToggle) + // console.log( 'chartTypeToggle =>' + chartTypeToggle) unique ={} } diff --git a/src/pages/CoffeeShopInfoMain.svelte b/src/pages/CoffeeShopInfoMain.svelte index 85a8be9..c6fa38d 100644 --- a/src/pages/CoffeeShopInfoMain.svelte +++ b/src/pages/CoffeeShopInfoMain.svelte @@ -24,34 +24,34 @@ onMount(async () => { url = window.location.href - // console.log(url) + // // console.log(url) parsedURL = url.substring(35) - // console.log(parsedURL); + // // console.log(parsedURL); coffeeShop = await coffeeHubService.getCoffeeShopsById(parsedURL); - // console.log(coffeeShopId) + // // console.log(coffeeShopId) }); function handleSingleUpload(event){ - console.log("handleSingleUpload returned url ==> ", event.detail); + // console.log("handleSingleUpload returned url ==> ", event.detail); img = event.detail; - console.log('Image => ' + img); + // console.log('Image => ' + img); // @ts-ignore - console.log('CS_ID => ' + coffeeShop._id); + // console.log('CS_ID => ' + coffeeShop._id); // @ts-ignore coffeeHubService.addImageToCoffeeShop(coffeeShop._id, img) } function handleMultipleUpload(event) { - console.log("handleMultipleUpload returned urls ==> ", event.detail) + // console.log("handleMultipleUpload returned urls ==> ", event.detail) img = event.detail; - console.log('Images => ' + img); + // console.log('Images => ' + img); coffeeHubService.addImageToCoffeeShop(coffeeShop._id, img) } let updateImageNew = null; function updateImage(event) { - console.log('Event Dispatch->' + event.detail.img); + // console.log('Event Dispatch->' + event.detail.img); updateImageNew.updateImage(event.detail.img); toggle =1 } @@ -84,7 +84,7 @@

Coffee Shop Information

-

Weather @ Location

+

Weather @ {coffeeShop.coffeeShopName}


diff --git a/src/pages/Login.svelte b/src/pages/Login.svelte index 862a5b5..292f434 100644 --- a/src/pages/Login.svelte +++ b/src/pages/Login.svelte @@ -1,10 +1,17 @@ - +
@@ -16,7 +23,7 @@
- coffee6 + coffee6
diff --git a/src/pages/Main.svelte b/src/pages/Main.svelte index cb0c1b4..396bdf0 100644 --- a/src/pages/Main.svelte +++ b/src/pages/Main.svelte @@ -1,5 +1,5 @@ - +
- +
@@ -19,10 +26,16 @@
- Icon + Icon
-

PlaceHolder Text

-

PlaceHolder Text

+
+

Welcome to CoffeeHub V2

+

This time this app is seperated out into Front End and Back End.

+

The Back end is stil completed in Hapi and is based on the work completed in the last project. This time the front end is written in Svelte.

+ +

This is an App the a user can add their Favourite CoffeeShop to the Map for other users to view and leave a review !

+ +
\ No newline at end of file diff --git a/src/pages/Map.svelte b/src/pages/Map.svelte index 6d6da59..c301734 100644 --- a/src/pages/Map.svelte +++ b/src/pages/Map.svelte @@ -12,9 +12,9 @@ const coffeeHubService = getContext("CoffeeHubService") onMount(async () => { url = window.location.href - // console.log(url) + // // console.log(url) let parsedURL = url.substring(35) - console.log('PArsed Url -> ' + parsedURL); + // console.log('PArsed Url -> ' + parsedURL); coffeeShop = await coffeeHubService.getCoffeeShopsById(parsedURL); } diff --git a/src/pages/Review.svelte b/src/pages/Review.svelte index 5308fa3..4fde852 100644 --- a/src/pages/Review.svelte +++ b/src/pages/Review.svelte @@ -1,16 +1,13 @@ - +
@@ -17,11 +24,11 @@
-

Login

+

Sign-Up

- homer + signup
\ No newline at end of file diff --git a/src/services/coffeeHub-service.js b/src/services/coffeeHub-service.js index d5bd750..e32a3c5 100644 --- a/src/services/coffeeHub-service.js +++ b/src/services/coffeeHub-service.js @@ -84,7 +84,7 @@ export class CoffeeHubService { async getCoffeeShops() { try { const response = await axios.get(this.baseUrl + "/api/coffeeShop"); - console.log(response); + // console.log(response); return response.data; } catch (error) { return []; @@ -94,7 +94,7 @@ export class CoffeeHubService { async getCoffeeShopsById(id) { try { const response = await axios.get(this.baseUrl + "/api/coffeeShop/"+id+""); - console.log(response); + // console.log(response); return response.data; } catch (error) { return []; @@ -113,8 +113,8 @@ export class CoffeeHubService { async getCoffeeShopByUserId(id) { try { const response = await axios.get(this.baseUrl + "/api/coffeeShop/user/" + id +""); - console.log('getCoffeeShopByUserId Response-> '+ response) - console.log('getCoffeeShopByUserId Response.Data-> '+ response.data) + // console.log('getCoffeeShopByUserId Response-> '+ response) + // console.log('getCoffeeShopByUserId Response.Data-> '+ response.data) return response.data; } catch (error) { return []; @@ -140,8 +140,8 @@ export class CoffeeHubService { coffeeShop.set({ img: response.data.img, }); - console.log('response ->' + response) - console.log('response.data ->' + response.data) + // console.log('response ->' + response) + // console.log('response.data ->' + response.data) return response.data; } catch (error) { return []; @@ -150,10 +150,10 @@ export class CoffeeHubService { async deleteImage(id) { try { - console.log('CoffeeShop ID is ->' + id); - //console.log('Image ID is ->' + img); + // console.log('CoffeeShop ID is ->' + id); + //// console.log('Image ID is ->' + img); const response = await axios.post(this.baseUrl + "/api/coffeeShop/"+id +"/deleteImage"); - console.log('Response.data is ->' + response.data); + // console.log('Response.data is ->' + response.data); return response.data; } catch (error) { return []; @@ -164,8 +164,8 @@ export class CoffeeHubService { try{ const response = await axios.get(this.baseUrl + "/api/users") - console.log('response ->' + response) - console.log('response.data ->' + response.data) + // console.log('response ->' + response) + // console.log('response.data ->' + response.data) return response.data; } catch (error) { return []; diff --git a/src/services/converterfile.js b/src/services/converterfile.js new file mode 100644 index 0000000..78de554 --- /dev/null +++ b/src/services/converterfile.js @@ -0,0 +1,7 @@ + + + export function kelvintoDegC(kelvin){ + let celcius = kelvin - 273.15; + return celcius; + } + diff --git a/src/services/leaflet-map.js b/src/services/leaflet-map.js index a6008da..30bd6f9 100644 --- a/src/services/leaflet-map.js +++ b/src/services/leaflet-map.js @@ -1,6 +1,14 @@ // @ts-nocheck import * as L from "leaflet"; - +//Didnt Work +// var coffeeIcon = L.icon({ +// iconUrl: '../../assets/coffeeIconWhite.png', +// // src\assets\coffeeIconWhite.png +// // src\services\leaflet-map.js +// iconSize: [38,95], +// iconAnchor: [22,94], +// popupAnchor: [-3,-76] +// }) export class LeafletMap { imap = {}; control = {}; @@ -19,7 +27,7 @@ export class LeafletMap { "Tiles © Esri — Source: Esri, i-cubed, USDA, USGS, AEX, GeoEye, Getmapping, Aerogrid, IGN, IGP, UPR-EGP, and the GIS User Community", }), }; - + constructor(id, descriptor, activeLayer = "") { let defaultLayer = this.baseLayers.Terrain; if (activeLayer) { From 984b0502589bd4173ac34a84959eed42b51f1f5e Mon Sep 17 00:00:00 2001 From: Jason Grant Date: Fri, 3 Jun 2022 23:04:25 +0100 Subject: [PATCH 7/8] relaunch of CORS Heroku --- src/components/CoffeeShopMapTest.svelte | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/CoffeeShopMapTest.svelte b/src/components/CoffeeShopMapTest.svelte index 56b5e80..e19d13d 100644 --- a/src/components/CoffeeShopMapTest.svelte +++ b/src/components/CoffeeShopMapTest.svelte @@ -24,7 +24,7 @@ let String = ''; // console.log('PArsed Url -> ' + parsedURL); coffeeShop = await coffeeHubService.getCoffeeShopsById(parsedURL); //Thanks to Adam Gibbons for the help with getting around the CORS issue and using https://cors-anywhere.herokuapp.com // - String = ' https://glacial-cliffs-16174.herokuapp.com/https://api.openweathermap.org/data/2.5/weather?lat='+coffeeShop.lat+'&lon='+ coffeeShop.lng+'&appid='+ appId; + String = ' https://morning-reef-56940.herokuapp.com/https://api.openweathermap.org/data/2.5/weather?lat='+coffeeShop.lat+'&lon='+ coffeeShop.lng+'&appid='+ appId; // console.log('LAST ONE !! -> ' + String) currentWeather = await axios.get(String, config).then((response) => { return response.data; From 9a640704cbeef0e299315bf07d9240eec4f2e902 Mon Sep 17 00:00:00 2001 From: Jason Grant Date: Sat, 4 Jun 2022 01:03:33 +0100 Subject: [PATCH 8/8] Updating Backend URLS and leaflet for deployment --- index.html | 1 + public/images/layers-2x.png | Bin 0 -> 1259 bytes public/images/layers.png | Bin 0 -> 696 bytes public/images/marker-icon-2x.png | Bin 0 -> 2464 bytes public/images/marker-icon.png | Bin 0 -> 1466 bytes public/images/marker-shadow.png | Bin 0 -> 618 bytes public/leaflet.css | 657 ++++++++++++++++++++++ src/App.svelte | 2 +- src/components/CoffeeShopInfo.svelte | 2 +- src/components/CoffeeShopMap.svelte | 2 +- src/components/CoffeeShopMapSingle.svelte | 2 +- src/components/CoffeeShopMapTest.svelte | 2 +- src/components/CoffeeShopViewImage.svelte | 2 +- src/components/DeleteImageButton.svelte | 2 +- src/components/ImageUploadForm.svelte | 2 +- src/pages/CoffeeShopInfoMain.svelte | 2 +- src/pages/Map.svelte | 2 +- src/services/coffeeHub-service.js | 2 +- 18 files changed, 669 insertions(+), 11 deletions(-) create mode 100644 public/images/layers-2x.png create mode 100644 public/images/layers.png create mode 100644 public/images/marker-icon-2x.png create mode 100644 public/images/marker-icon.png create mode 100644 public/images/marker-shadow.png create mode 100644 public/leaflet.css diff --git a/index.html b/index.html index a8618ac..f1af536 100644 --- a/index.html +++ b/index.html @@ -5,6 +5,7 @@ + FhCYNy;#0irRPomHqW|G1C*;4?@4#E?jH>?v@U%cy?3dQAc-DchXVErpOh~ z-jbon+tNbnl6hoEb;)TVk+%hTDDi_G%i3*RZ&15!$Fjr^f;Ke&A@|?=`2&+{zr+3a z{D*=t(`AXyS%X7N z%a#RZw6vD^t_rnM`L4E>m=U&R!A-&}nZIi$BOPvkhrCuUe@BN~-lRD)f44;J%TwgE zcze8u!PQ_NR7?o(NylLXVTfDO zxs5=@|GsYEsNo4M#nT%N!UE(?dnS)t2+{ELYAFp*3=iF=|EQnTp`#vlSXuGVraYo? z+RCzXo6h3qA8{KG?S4nE(lM+;Eb4nT3XV;7gcAxUi5m)`k5tv}cPy()8ZR3TLW3I- zAS^}cq-IJvL7a4RgR!yk@~RT%$lA7{L5ES*hyx)M4(yxI$Ub(4f)K|^v1>zvwQY!_ zIrWw8q9GS^!Dp~}+?mbnB6jDF8mVlbQ!jFKDY;w=7;XO{9bq7>LXGK24WA`;rL)_Z z)&j}pbV(;6gY;VMhbxgvn`X;6x}VUEE-7 z%)7j-%t8S=ZL3yc)HbXDAqJZvBTPoiW_A-+a8m3_Z?v{DN7Tnr#O_VUMT0UBt$;p` zDh6JbGHN8JJ*JN%y2%msb97@_S>9!%Egwk;?PEkU9ntz&3uR}%Fj5d$JHQbQb3}a{ zSzFT^#n=VInPpcAS}CNxj?_ zVscANk5Cfz(51EI1pz};AWWb|kgbYNb4wCEGUn3+eMUMV?1-{=I4TlmLJMot@rd07 zZuo2hk1ccu{YmGkcYdWAVdk{Z4Nm?^cTD&}jGm+Q1SYIXMwmG*oO*83&#>l%nbR`G zhh=lZ%xIb7kU3#;TBbfECrnC9P=-XpL|TG2BoZdj61*XiFbW8?1Z_wp%#;>${SUIy V$8qr;L*)Pf002ovPDHLkV1hYLS~36t literal 0 HcmV?d00001 diff --git a/public/images/layers.png b/public/images/layers.png new file mode 100644 index 0000000000000000000000000000000000000000..1a72e5784b2b456eac5d7670738db80697af3377 GIT binary patch literal 696 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 e-I|>x8~*?ZhF3snGbtJX0000cOl4 literal 0 HcmV?d00001 diff --git a/public/images/marker-icon.png b/public/images/marker-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..950edf24677ded147df13b26f91baa2b0fa70513 GIT binary patch literal 1466 zcmV;r1x5OaP)P001cn1^@s6z>|W`000GnNklGNuHDcIX17Zdjl&3`L?0sTjIws<{((Dh&g-s0<@jYQyl?D*X^?%13;ml^gy> ziMrY_^1WI=(g@LMizu=zCoA>C`6|QEq1eV92k*7m>G65*&@&6)aC&e}G zI)pf-Za|N`DT&Cn1J|o`19mumxW~hiKiKyc-P`S@q)rdTo84@QI@;0yXrG%9uhI>A zG5QHb6s4=<6xy{1 z@NMxEkryp{LS44%z$3lP^cX!9+2-;CTt3wM4(k*#C{aiIiLuB>jJj;KPhPzIC00bL zU3a#;aJld94lCW=`4&aAy8M7PY=HQ>O%$YEP4c4UY#CRxfgbE~(|uiI=YS8q;O9y6 zmIkXzR`}p7ti|PrM3a}WMnR=3NVnWdAAR>b9X@)DKL6=YsvmH%?I24wdq?Gh54_;# z$?_LvgjEdspdQlft#4CQ z`2Zyvy?*)N1Ftw|{_hakhG9WjS?Az@I@+IZ8JbWewR!XUK4&6346+d#~gsE0SY(LX8&JfY>Aj)RxGy96nwhs2rv zzW6pTnMpFkDSkT*a*6Dx|u@ds6ISVn0@^RmIsKZ5Y;bazbc;tTSq(kg(=481ODrPyNB6n z-$+U}(w$m6U6H$w17Bw+wDaFIe~GvNMYvnw31MpY0eQKT9l>SU``8k7w4)z!GZKMI z#_cEKq7k~i%nlK@6c-K?+R;B#5$?T#YpKD`t_4bAs^#E+@5QW$@OX3*`;(#{U^d-vY)&xEE>n5lYl&T?Amke9$Lam@{1K@O ze*LXqlKQHiv=gx+V^Cbb2?z@ISBQ*3amF;9UJ3SBg(N|710TLamQmYZ&Qjn2LuO<* zCZlB4n%@pc&7NNnY1}x+NWpHlq`OJEo|`aYN9<`RBUB+79g;>dgb6YlfN#kGL?lO_ z!6~M^7sOnbsUkKk<@Ysie&`G>ruxH&Mgy&8;i=A zB9OO!xR{AyODw>DS-q5YM{0ExFEAzt zm>RdS+ssW(-8|?xr0(?$vBVB*%(xDLtq3Hf0I5yFm<_g=W2`QWAax{1rWVH=I!VrP zs(rTFX@W#t$hXNvbgX`gK&^w_YD;CQ!B@e0QbLIWaKAXQe2-kkloo;{iF#6}z!4=W zi$giRj1{ zt;2w`VSCF#WE&*ev7jpsC=6175@(~nTE2;7M-L((0bH@yG}-TB$R~WXd?tA$s3|%y zA`9$sA(>F%J3ioz<-LJl*^o1|w84l>HBR`>3l9c8$5Xr@xCiIQ7{x$fMCzOk_-M=% z+{a_Q#;42`#KfUte@$NT77uaTz?b-fBe)1s5XE$yA79fm?KqM^VgLXD07*qoM6N<$ Ef<_J(9smFU literal 0 HcmV?d00001 diff --git a/public/leaflet.css b/public/leaflet.css new file mode 100644 index 0000000..3d6970e --- /dev/null +++ b/public/leaflet.css @@ -0,0 +1,657 @@ +/* required styles */ + +.leaflet-pane, +.leaflet-tile, +.leaflet-marker-icon, +.leaflet-marker-shadow, +.leaflet-tile-container, +.leaflet-pane > svg, +.leaflet-pane > canvas, +.leaflet-zoom-box, +.leaflet-image-layer, +.leaflet-layer { + position: absolute; + left: 0; + top: 0; + } +.leaflet-container { + overflow: hidden; + } +.leaflet-tile, +.leaflet-marker-icon, +.leaflet-marker-shadow { + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + -webkit-user-drag: none; + } +/* Prevents IE11 from highlighting tiles in blue */ +.leaflet-tile::selection { + background: transparent; +} +/* Safari renders non-retina tile on retina better with this, but Chrome is worse */ +.leaflet-safari .leaflet-tile { + image-rendering: -webkit-optimize-contrast; + } +/* hack that prevents hw layers "stretching" when loading new tiles */ +.leaflet-safari .leaflet-tile-container { + width: 1600px; + height: 1600px; + -webkit-transform-origin: 0 0; + } +.leaflet-marker-icon, +.leaflet-marker-shadow { + display: block; + } +/* .leaflet-container svg: reset svg max-width decleration shipped in Joomla! (joomla.org) 3.x */ +/* .leaflet-container img: map is broken in FF if you have max-width: 100% on tiles */ +.leaflet-container .leaflet-overlay-pane svg { + max-width: none !important; + max-height: none !important; + } +.leaflet-container .leaflet-marker-pane img, +.leaflet-container .leaflet-shadow-pane img, +.leaflet-container .leaflet-tile-pane img, +.leaflet-container img.leaflet-image-layer, +.leaflet-container .leaflet-tile { + max-width: none !important; + max-height: none !important; + width: auto; + padding: 0; + } + +.leaflet-container.leaflet-touch-zoom { + -ms-touch-action: pan-x pan-y; + touch-action: pan-x pan-y; + } +.leaflet-container.leaflet-touch-drag { + -ms-touch-action: pinch-zoom; + /* Fallback for FF which doesn't support pinch-zoom */ + touch-action: none; + touch-action: pinch-zoom; +} +.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom { + -ms-touch-action: none; + touch-action: none; +} +.leaflet-container { + -webkit-tap-highlight-color: transparent; +} +.leaflet-container a { + -webkit-tap-highlight-color: rgba(51, 181, 229, 0.4); +} +.leaflet-tile { + filter: inherit; + visibility: hidden; + } +.leaflet-tile-loaded { + visibility: inherit; + } +.leaflet-zoom-box { + width: 0; + height: 0; + -moz-box-sizing: border-box; + box-sizing: border-box; + z-index: 800; + } +/* workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=888319 */ +.leaflet-overlay-pane svg { + -moz-user-select: none; + } + +.leaflet-pane { z-index: 400; } + +.leaflet-tile-pane { z-index: 200; } +.leaflet-overlay-pane { z-index: 400; } +.leaflet-shadow-pane { z-index: 500; } +.leaflet-marker-pane { z-index: 600; } +.leaflet-tooltip-pane { z-index: 650; } +.leaflet-popup-pane { z-index: 700; } + +.leaflet-map-pane canvas { z-index: 100; } +.leaflet-map-pane svg { z-index: 200; } + +.leaflet-vml-shape { + width: 1px; + height: 1px; + } +.lvml { + behavior: url(#default#VML); + display: inline-block; + position: absolute; + } + + +/* control positioning */ + +.leaflet-control { + position: relative; + z-index: 800; + pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */ + pointer-events: auto; + } +.leaflet-top, +.leaflet-bottom { + position: absolute; + z-index: 1000; + pointer-events: none; + } +.leaflet-top { + top: 0; + } +.leaflet-right { + right: 0; + } +.leaflet-bottom { + bottom: 0; + } +.leaflet-left { + left: 0; + } +.leaflet-control { + float: left; + clear: both; + } +.leaflet-right .leaflet-control { + float: right; + } +.leaflet-top .leaflet-control { + margin-top: 10px; + } +.leaflet-bottom .leaflet-control { + margin-bottom: 10px; + } +.leaflet-left .leaflet-control { + margin-left: 10px; + } +.leaflet-right .leaflet-control { + margin-right: 10px; + } + + +/* zoom and fade animations */ + +.leaflet-fade-anim .leaflet-popup { + opacity: 0; + -webkit-transition: opacity 0.2s linear; + -moz-transition: opacity 0.2s linear; + transition: opacity 0.2s linear; + } +.leaflet-fade-anim .leaflet-map-pane .leaflet-popup { + opacity: 1; + } +.leaflet-zoom-animated { + -webkit-transform-origin: 0 0; + -ms-transform-origin: 0 0; + transform-origin: 0 0; + } +svg.leaflet-zoom-animated { + will-change: transform; +} + +.leaflet-zoom-anim .leaflet-zoom-animated { + -webkit-transition: -webkit-transform 0.25s cubic-bezier(0,0,0.25,1); + -moz-transition: -moz-transform 0.25s cubic-bezier(0,0,0.25,1); + transition: transform 0.25s cubic-bezier(0,0,0.25,1); + } +.leaflet-zoom-anim .leaflet-tile, +.leaflet-pan-anim .leaflet-tile { + -webkit-transition: none; + -moz-transition: none; + transition: none; + } + +.leaflet-zoom-anim .leaflet-zoom-hide { + visibility: hidden; + } + + +/* cursors */ + +.leaflet-interactive { + cursor: pointer; + } +.leaflet-grab { + cursor: -webkit-grab; + cursor: -moz-grab; + cursor: grab; + } +.leaflet-crosshair, +.leaflet-crosshair .leaflet-interactive { + cursor: crosshair; + } +.leaflet-popup-pane, +.leaflet-control { + cursor: auto; + } +.leaflet-dragging .leaflet-grab, +.leaflet-dragging .leaflet-grab .leaflet-interactive, +.leaflet-dragging .leaflet-marker-draggable { + cursor: move; + cursor: -webkit-grabbing; + cursor: -moz-grabbing; + cursor: grabbing; + } + +/* marker & overlays interactivity */ +.leaflet-marker-icon, +.leaflet-marker-shadow, +.leaflet-image-layer, +.leaflet-pane > svg path, +.leaflet-tile-container { + pointer-events: none; + } + +.leaflet-marker-icon.leaflet-interactive, +.leaflet-image-layer.leaflet-interactive, +.leaflet-pane > svg path.leaflet-interactive, +svg.leaflet-image-layer.leaflet-interactive path { + pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */ + pointer-events: auto; + } + +/* visual tweaks */ + +.leaflet-container { + background: #ddd; + outline-offset: 1px; + } +.leaflet-container a { + color: #0078A8; + } +.leaflet-zoom-box { + border: 2px dotted #38f; + background: rgba(255,255,255,0.5); + } + + +/* general typography */ +.leaflet-container { + font-family: "Helvetica Neue", Arial, Helvetica, sans-serif; + font-size: 12px; + font-size: 0.75rem; + line-height: 1.5; + } + + +/* general toolbar styles */ + +.leaflet-bar { + box-shadow: 0 1px 5px rgba(0,0,0,0.65); + border-radius: 4px; + } +.leaflet-bar a { + background-color: #fff; + border-bottom: 1px solid #ccc; + width: 26px; + height: 26px; + line-height: 26px; + display: block; + text-align: center; + text-decoration: none; + color: black; + } +.leaflet-bar a, +.leaflet-control-layers-toggle { + background-position: 50% 50%; + background-repeat: no-repeat; + display: block; + } +.leaflet-bar a:hover, +.leaflet-bar a:focus { + background-color: #f4f4f4; + } +.leaflet-bar a:first-child { + border-top-left-radius: 4px; + border-top-right-radius: 4px; + } +.leaflet-bar a:last-child { + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; + border-bottom: none; + } +.leaflet-bar a.leaflet-disabled { + cursor: default; + background-color: #f4f4f4; + color: #bbb; + } + +.leaflet-touch .leaflet-bar a { + width: 30px; + height: 30px; + line-height: 30px; + } +.leaflet-touch .leaflet-bar a:first-child { + border-top-left-radius: 2px; + border-top-right-radius: 2px; + } +.leaflet-touch .leaflet-bar a:last-child { + border-bottom-left-radius: 2px; + border-bottom-right-radius: 2px; + } + +/* zoom control */ + +.leaflet-control-zoom-in, +.leaflet-control-zoom-out { + font: bold 18px 'Lucida Console', Monaco, monospace; + text-indent: 1px; + } + +.leaflet-touch .leaflet-control-zoom-in, .leaflet-touch .leaflet-control-zoom-out { + font-size: 22px; + } + + +/* layers control */ + +.leaflet-control-layers { + box-shadow: 0 1px 5px rgba(0,0,0,0.4); + background: #fff; + border-radius: 5px; + } +.leaflet-control-layers-toggle { + background-image: url(images/layers.png); + width: 36px; + height: 36px; + } +.leaflet-retina .leaflet-control-layers-toggle { + background-image: url(images/layers-2x.png); + background-size: 26px 26px; + } +.leaflet-touch .leaflet-control-layers-toggle { + width: 44px; + height: 44px; + } +.leaflet-control-layers .leaflet-control-layers-list, +.leaflet-control-layers-expanded .leaflet-control-layers-toggle { + display: none; + } +.leaflet-control-layers-expanded .leaflet-control-layers-list { + display: block; + position: relative; + } +.leaflet-control-layers-expanded { + padding: 6px 10px 6px 6px; + color: #333; + background: #fff; + } +.leaflet-control-layers-scrollbar { + overflow-y: scroll; + overflow-x: hidden; + padding-right: 5px; + } +.leaflet-control-layers-selector { + margin-top: 2px; + position: relative; + top: 1px; + } +.leaflet-control-layers label { + display: block; + font-size: 13px; + font-size: 1.08333em; + } +.leaflet-control-layers-separator { + height: 0; + border-top: 1px solid #ddd; + margin: 5px -10px 5px -6px; + } + +/* Default icon URLs */ +.leaflet-default-icon-path { /* used only in path-guessing heuristic, see L.Icon.Default */ + background-image: url(images/marker-icon.png); + } + + +/* attribution and scale controls */ + +.leaflet-container .leaflet-control-attribution { + background: #fff; + background: rgba(255, 255, 255, 0.8); + margin: 0; + } +.leaflet-control-attribution, +.leaflet-control-scale-line { + padding: 0 5px; + color: #333; + line-height: 1.4; + } +.leaflet-control-attribution a { + text-decoration: none; + } +.leaflet-control-attribution a:hover, +.leaflet-control-attribution a:focus { + text-decoration: underline; + } +.leaflet-control-attribution svg { + display: inline !important; + } +.leaflet-left .leaflet-control-scale { + margin-left: 5px; + } +.leaflet-bottom .leaflet-control-scale { + margin-bottom: 5px; + } +.leaflet-control-scale-line { + border: 2px solid #777; + border-top: none; + line-height: 1.1; + padding: 2px 5px 1px; + white-space: nowrap; + overflow: hidden; + -moz-box-sizing: border-box; + box-sizing: border-box; + + background: #fff; + background: rgba(255, 255, 255, 0.5); + } +.leaflet-control-scale-line:not(:first-child) { + border-top: 2px solid #777; + border-bottom: none; + margin-top: -2px; + } +.leaflet-control-scale-line:not(:first-child):not(:last-child) { + border-bottom: 2px solid #777; + } + +.leaflet-touch .leaflet-control-attribution, +.leaflet-touch .leaflet-control-layers, +.leaflet-touch .leaflet-bar { + box-shadow: none; + } +.leaflet-touch .leaflet-control-layers, +.leaflet-touch .leaflet-bar { + border: 2px solid rgba(0,0,0,0.2); + background-clip: padding-box; + } + + +/* popup */ + +.leaflet-popup { + position: absolute; + text-align: center; + margin-bottom: 20px; + } +.leaflet-popup-content-wrapper { + padding: 1px; + text-align: left; + border-radius: 12px; + } +.leaflet-popup-content { + margin: 13px 24px 13px 20px; + line-height: 1.3; + font-size: 13px; + font-size: 1.08333em; + min-height: 1px; + } +.leaflet-popup-content p { + margin: 17px 0; + margin: 1.3em 0; + } +.leaflet-popup-tip-container { + width: 40px; + height: 20px; + position: absolute; + left: 50%; + margin-top: -1px; + margin-left: -20px; + overflow: hidden; + pointer-events: none; + } +.leaflet-popup-tip { + width: 17px; + height: 17px; + padding: 1px; + + margin: -10px auto 0; + pointer-events: auto; + + -webkit-transform: rotate(45deg); + -moz-transform: rotate(45deg); + -ms-transform: rotate(45deg); + transform: rotate(45deg); + } +.leaflet-popup-content-wrapper, +.leaflet-popup-tip { + background: white; + color: #333; + box-shadow: 0 3px 14px rgba(0,0,0,0.4); + } +.leaflet-container a.leaflet-popup-close-button { + position: absolute; + top: 0; + right: 0; + border: none; + text-align: center; + width: 24px; + height: 24px; + font: 16px/24px Tahoma, Verdana, sans-serif; + color: #757575; + text-decoration: none; + background: transparent; + } +.leaflet-container a.leaflet-popup-close-button:hover, +.leaflet-container a.leaflet-popup-close-button:focus { + color: #585858; + } +.leaflet-popup-scrolled { + overflow: auto; + border-bottom: 1px solid #ddd; + border-top: 1px solid #ddd; + } + +.leaflet-oldie .leaflet-popup-content-wrapper { + -ms-zoom: 1; + } +.leaflet-oldie .leaflet-popup-tip { + width: 24px; + margin: 0 auto; + + -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)"; + filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678); + } + +.leaflet-oldie .leaflet-control-zoom, +.leaflet-oldie .leaflet-control-layers, +.leaflet-oldie .leaflet-popup-content-wrapper, +.leaflet-oldie .leaflet-popup-tip { + border: 1px solid #999; + } + + +/* div icon */ + +.leaflet-div-icon { + background: #fff; + border: 1px solid #666; + } + + +/* Tooltip */ +/* Base styles for the element that has a tooltip */ +.leaflet-tooltip { + position: absolute; + padding: 6px; + background-color: #fff; + border: 1px solid #fff; + border-radius: 3px; + color: #222; + white-space: nowrap; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + pointer-events: none; + box-shadow: 0 1px 3px rgba(0,0,0,0.4); + } +.leaflet-tooltip.leaflet-interactive { + cursor: pointer; + pointer-events: auto; + } +.leaflet-tooltip-top:before, +.leaflet-tooltip-bottom:before, +.leaflet-tooltip-left:before, +.leaflet-tooltip-right:before { + position: absolute; + pointer-events: none; + border: 6px solid transparent; + background: transparent; + content: ""; + } + +/* Directions */ + +.leaflet-tooltip-bottom { + margin-top: 6px; +} +.leaflet-tooltip-top { + margin-top: -6px; +} +.leaflet-tooltip-bottom:before, +.leaflet-tooltip-top:before { + left: 50%; + margin-left: -6px; + } +.leaflet-tooltip-top:before { + bottom: 0; + margin-bottom: -12px; + border-top-color: #fff; + } +.leaflet-tooltip-bottom:before { + top: 0; + margin-top: -12px; + margin-left: -6px; + border-bottom-color: #fff; + } +.leaflet-tooltip-left { + margin-left: -6px; +} +.leaflet-tooltip-right { + margin-left: 6px; +} +.leaflet-tooltip-left:before, +.leaflet-tooltip-right:before { + top: 50%; + margin-top: -6px; + } +.leaflet-tooltip-left:before { + right: 0; + margin-right: -12px; + border-left-color: #fff; + } +.leaflet-tooltip-right:before { + left: 0; + margin-left: -12px; + border-right-color: #fff; + } + +/* Printing */ + +@media print { + /* Prevent printers from removing background-images of controls. */ + .leaflet-control { + -webkit-print-color-adjust: exact; + color-adjust: exact; + } + } diff --git a/src/App.svelte b/src/App.svelte index 49f398a..f1b2b34 100644 --- a/src/App.svelte +++ b/src/App.svelte @@ -13,7 +13,7 @@ import Charts from "./pages/Charts.svelte"; import CoffeeShopPage from "./pages/CoffeeShopInfoMain.svelte"; - setContext("CoffeeHubService", new CoffeeHubService("http://iewalbjw24b3:4000")); + setContext("CoffeeHubService", new CoffeeHubService("https://polar-beach-34658.herokuapp.com")); let routes = { "/": Main, diff --git a/src/components/CoffeeShopInfo.svelte b/src/components/CoffeeShopInfo.svelte index 0aaf952..a0f0b9e 100644 --- a/src/components/CoffeeShopInfo.svelte +++ b/src/components/CoffeeShopInfo.svelte @@ -11,7 +11,7 @@ onMount(async () => { url = window.location.href // // console.log(url) - let parsedURL = url.substring(35) + let parsedURL = url.substring(54) // console.log('PArsed Url -> ' + parsedURL); coffeeShopId = await coffeeHubService.getCoffeeShopsById(parsedURL); // console.log('After err? ' + coffeeShopId) diff --git a/src/components/CoffeeShopMap.svelte b/src/components/CoffeeShopMap.svelte index 8da9d55..062ce1f 100644 --- a/src/components/CoffeeShopMap.svelte +++ b/src/components/CoffeeShopMap.svelte @@ -1,5 +1,5 @@