From 0cf47da9e0f89f347431b38b671189fc1737a361 Mon Sep 17 00:00:00 2001 From: squishyhoshi Date: Sun, 17 Dec 2023 21:09:58 -0500 Subject: [PATCH 1/3] fixed bug --- frontend/src/screens/Energy/energyHistory.tsx | 14 +++++++------- .../Transportation/transportationHistory.tsx | 17 +++++++---------- 2 files changed, 14 insertions(+), 17 deletions(-) diff --git a/frontend/src/screens/Energy/energyHistory.tsx b/frontend/src/screens/Energy/energyHistory.tsx index 2b2ed9c..c271cba 100644 --- a/frontend/src/screens/Energy/energyHistory.tsx +++ b/frontend/src/screens/Energy/energyHistory.tsx @@ -134,10 +134,10 @@ export default function EnergyHistory(): JSX.Element { return ( - navigation.goBack()}> - - Decomposition - + navigation.goBack()}> + + Decomposition + {Boolean(expandedStates[index]) && ( - Emissions from energy in {item.month} + Emissions from food in {item.month} Colors.DARKLIMEGREEN, @@ -370,7 +371,6 @@ const styles = StyleSheet.create({ justifyContent: 'center', marginLeft: -50, borderRadius: 10, - }, tabTitle: { fontSize: 18, diff --git a/frontend/src/screens/Transportation/transportationHistory.tsx b/frontend/src/screens/Transportation/transportationHistory.tsx index 4633f99..3f0ef69 100644 --- a/frontend/src/screens/Transportation/transportationHistory.tsx +++ b/frontend/src/screens/Transportation/transportationHistory.tsx @@ -23,7 +23,6 @@ import { type StackNavigationProp } from '@react-navigation/stack'; import { type RootStackParamList } from '../../components/types'; import Ionicons from '@expo/vector-icons/Ionicons'; - export type StackNavigation = StackNavigationProp; interface Recommendation { id: number; @@ -153,10 +152,10 @@ export default function TransportationHistory(): JSX.Element { return ( - navigation.goBack()}> - - Decomposition - + navigation.goBack()}> + + Decomposition + {Boolean(expandedStates[index]) && ( - - Emissions from transportation in {item.month} - + Emissions from food in {item.month} Colors.DARKLIMEGREEN, @@ -392,7 +390,6 @@ const styles = StyleSheet.create({ justifyContent: 'center', marginLeft: -50, borderRadius: 10, - }, tabTitle: { fontSize: 18, From 5b4c4be24989cc30c89bf40b282dfde95d2aa1fd Mon Sep 17 00:00:00 2001 From: squishyhoshi Date: Sun, 17 Dec 2023 21:12:36 -0500 Subject: [PATCH 2/3] misspelling --- frontend/src/screens/Energy/energyHistory.tsx | 2 +- frontend/src/screens/Transportation/transportationHistory.tsx | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/frontend/src/screens/Energy/energyHistory.tsx b/frontend/src/screens/Energy/energyHistory.tsx index c271cba..997fe00 100644 --- a/frontend/src/screens/Energy/energyHistory.tsx +++ b/frontend/src/screens/Energy/energyHistory.tsx @@ -173,7 +173,7 @@ export default function EnergyHistory(): JSX.Element { {Boolean(expandedStates[index]) && ( - Emissions from food in {item.month} + Emissions from energy in {item.month} {Boolean(expandedStates[index]) && ( - Emissions from food in {item.month} + + Emissions from transportation in {item.month} + Date: Mon, 18 Dec 2023 03:58:34 -0500 Subject: [PATCH 3/3] added badges --- .../utils/update_user_level_and_footprint.py | 208 +++++++++++++----- frontend/assets/complete-10-badge.png | Bin 0 -> 27422 bytes frontend/assets/complete-100-badge.png | Bin 0 -> 29191 bytes frontend/assets/complete-50-badge.png | Bin 0 -> 21048 bytes frontend/assets/complete-first-badge.png | Bin 0 -> 60104 bytes frontend/assets/improve-footprint-badge.png | Bin 0 -> 29356 bytes frontend/src/components/BadgeDisplay.tsx | 128 +++++++++++ frontend/src/components/badgesModal.tsx | 78 +++++++ frontend/src/widgets/profileWidget.tsx | 84 ++++--- 9 files changed, 406 insertions(+), 92 deletions(-) create mode 100644 frontend/assets/complete-10-badge.png create mode 100644 frontend/assets/complete-100-badge.png create mode 100644 frontend/assets/complete-50-badge.png create mode 100644 frontend/assets/complete-first-badge.png create mode 100644 frontend/assets/improve-footprint-badge.png create mode 100644 frontend/src/components/BadgeDisplay.tsx create mode 100644 frontend/src/components/badgesModal.tsx diff --git a/backend/utils/update_user_level_and_footprint.py b/backend/utils/update_user_level_and_footprint.py index 2399d58..0b037ff 100644 --- a/backend/utils/update_user_level_and_footprint.py +++ b/backend/utils/update_user_level_and_footprint.py @@ -41,129 +41,223 @@ def update_user_level_and_footprint(user_id: ObjectId) -> None: """ weekly_entries_completed: int = 0 decreased_emissions = 0 - user: User = User.from_json(CarbonTrackDB.users_coll.find_one({'_id': user_id})) + user: User = User.from_json(CarbonTrackDB.users_coll.find_one({"_id": user_id})) overall_score = 0 yearly_score = 0 monthly_score = 0 # Get Filtered and Sorted Transportation Entries - transportation_entries_dicts: list[dict] = list(CarbonTrackDB.transportation_coll.find({'user_id': user.oid})) - transportation_entries: list[TransportationEntry] = [TransportationEntry.from_json(entry) for entry in transportation_entries_dicts] - transportation_entries = sorted(transportation_entries, key=lambda entry: entry.date) - transportation_entries_overall = [entry for entry in transportation_entries - if entry.calculate_carbon_emissions() != 0] - transportation_entries_yearly = [entry for entry in transportation_entries - if entry.calculate_carbon_emissions() != 0 and _is_within_one_year(entry.date)] - transportation_entries_monthly = [entry for entry in transportation_entries - if entry.calculate_carbon_emissions() != 0 and _is_within_one_month(entry.date)] + transportation_entries_dicts: list[dict] = list( + CarbonTrackDB.transportation_coll.find({"user_id": user.oid}) + ) + transportation_entries: list[TransportationEntry] = [ + TransportationEntry.from_json(entry) for entry in transportation_entries_dicts + ] + transportation_entries = sorted( + transportation_entries, key=lambda entry: entry.date + ) + transportation_entries_overall = [ + entry + for entry in transportation_entries + if entry.calculate_carbon_emissions() != 0 + ] + transportation_entries_yearly = [ + entry + for entry in transportation_entries + if entry.calculate_carbon_emissions() != 0 and _is_within_one_year(entry.date) + ] + transportation_entries_monthly = [ + entry + for entry in transportation_entries + if entry.calculate_carbon_emissions() != 0 and _is_within_one_month(entry.date) + ] weekly_entries_completed += transportation_entries_overall.__len__() if transportation_entries_overall.__len__() != 0: overall_score += 25 last_entry = transportation_entries_overall[0] for entry in transportation_entries_overall[1:]: - if last_entry.calculate_carbon_emissions() > entry.calculate_carbon_emissions(): + if ( + last_entry.calculate_carbon_emissions() + > entry.calculate_carbon_emissions() + ): decreased_emissions += 1 overall_score += 300 overall_score += 100 if entry in transportation_entries_yearly: - if last_entry.calculate_carbon_emissions() > entry.calculate_carbon_emissions(): + if ( + last_entry.calculate_carbon_emissions() + > entry.calculate_carbon_emissions() + ): yearly_score += 300 yearly_score += 100 if entry in transportation_entries_monthly: - if last_entry.calculate_carbon_emissions() > entry.calculate_carbon_emissions(): + if ( + last_entry.calculate_carbon_emissions() + > entry.calculate_carbon_emissions() + ): monthly_score += 300 monthly_score += 100 last_entry = entry - overall_transportation_entries_emissions = sum([entry.calculate_carbon_emissions() for entry in transportation_entries_overall]) - yearly_transportation_entries_emissions = sum([entry.calculate_carbon_emissions() for entry in transportation_entries_yearly]) - monthly_transportation_entries_emissions = sum([entry.calculate_carbon_emissions() for entry in transportation_entries_monthly]) + overall_transportation_entries_emissions = sum( + [entry.calculate_carbon_emissions() for entry in transportation_entries_overall] + ) + yearly_transportation_entries_emissions = sum( + [entry.calculate_carbon_emissions() for entry in transportation_entries_yearly] + ) + monthly_transportation_entries_emissions = sum( + [entry.calculate_carbon_emissions() for entry in transportation_entries_monthly] + ) # Get Filtered and Sorted food Entries - food_entries_dicts: list[dict] = list(CarbonTrackDB.food_coll.find({'user_id': user.oid})) - food_entries: list[FoodEntry] = [FoodEntry.from_json(entry) for entry in food_entries_dicts] + food_entries_dicts: list[dict] = list( + CarbonTrackDB.food_coll.find({"user_id": user.oid}) + ) + food_entries: list[FoodEntry] = [ + FoodEntry.from_json(entry) for entry in food_entries_dicts + ] food_entries = sorted(food_entries, key=lambda entry: entry.date) - food_entries_overall = [entry for entry in food_entries - if entry.calculate_carbon_emissions() != 0] - food_entries_yearly = [entry for entry in food_entries - if entry.calculate_carbon_emissions() != 0 and _is_within_one_year(entry.date)] - food_entries_monthly = [entry for entry in food_entries - if entry.calculate_carbon_emissions() != 0 and _is_within_one_month(entry.date)] + food_entries_overall = [ + entry for entry in food_entries if entry.calculate_carbon_emissions() != 0 + ] + food_entries_yearly = [ + entry + for entry in food_entries + if entry.calculate_carbon_emissions() != 0 and _is_within_one_year(entry.date) + ] + food_entries_monthly = [ + entry + for entry in food_entries + if entry.calculate_carbon_emissions() != 0 and _is_within_one_month(entry.date) + ] weekly_entries_completed += food_entries_overall.__len__() if food_entries_overall.__len__() != 0: overall_score += 25 last_entry = food_entries_overall[0] for entry in food_entries_overall[1:]: - if last_entry.calculate_carbon_emissions() > entry.calculate_carbon_emissions(): + if ( + last_entry.calculate_carbon_emissions() + > entry.calculate_carbon_emissions() + ): decreased_emissions += 1 overall_score += 300 overall_score += 100 if entry in food_entries_yearly: - if last_entry.calculate_carbon_emissions() > entry.calculate_carbon_emissions(): + if ( + last_entry.calculate_carbon_emissions() + > entry.calculate_carbon_emissions() + ): yearly_score += 300 yearly_score += 100 if entry in food_entries_monthly: - if last_entry.calculate_carbon_emissions() > entry.calculate_carbon_emissions(): + if ( + last_entry.calculate_carbon_emissions() + > entry.calculate_carbon_emissions() + ): monthly_score += 300 monthly_score += 100 last_entry = entry - overall_food_entries_emissions = sum([entry.calculate_carbon_emissions() for entry in food_entries_overall]) - yearly_food_entries_emissions = sum([entry.calculate_carbon_emissions() for entry in food_entries_yearly]) - monthly_food_entries_emissions = sum([entry.calculate_carbon_emissions() for entry in food_entries_monthly]) + overall_food_entries_emissions = sum( + [entry.calculate_carbon_emissions() for entry in food_entries_overall] + ) + yearly_food_entries_emissions = sum( + [entry.calculate_carbon_emissions() for entry in food_entries_yearly] + ) + monthly_food_entries_emissions = sum( + [entry.calculate_carbon_emissions() for entry in food_entries_monthly] + ) # Get Filtered and Sorted energy Entries - energy_entries_dicts: list[dict] = list(CarbonTrackDB.energy_coll.find({'user_id': user.oid})) - energy_entries: list[EnergyEntry] = [EnergyEntry.from_json(entry) for entry in energy_entries_dicts] + energy_entries_dicts: list[dict] = list( + CarbonTrackDB.energy_coll.find({"user_id": user.oid}) + ) + energy_entries: list[EnergyEntry] = [ + EnergyEntry.from_json(entry) for entry in energy_entries_dicts + ] energy_entries = sorted(energy_entries, key=lambda entry: entry.date) - energy_entries_overall = [entry for entry in energy_entries - if entry.calculate_carbon_emissions() != 0] - energy_entries_yearly = [entry for entry in energy_entries - if entry.calculate_carbon_emissions() != 0 and _is_within_one_year(entry.date)] - energy_entries_monthly = [entry for entry in energy_entries - if entry.calculate_carbon_emissions() != 0 and _is_within_one_month(entry.date)] + energy_entries_overall = [ + entry for entry in energy_entries if entry.calculate_carbon_emissions() != 0 + ] + energy_entries_yearly = [ + entry + for entry in energy_entries + if entry.calculate_carbon_emissions() != 0 and _is_within_one_year(entry.date) + ] + energy_entries_monthly = [ + entry + for entry in energy_entries + if entry.calculate_carbon_emissions() != 0 and _is_within_one_month(entry.date) + ] weekly_entries_completed += energy_entries_overall.__len__() if energy_entries_overall.__len__() != 0: overall_score += 25 last_entry = energy_entries_overall[0] for entry in energy_entries_overall[1:]: - if last_entry.calculate_carbon_emissions() > entry.calculate_carbon_emissions(): + if ( + last_entry.calculate_carbon_emissions() + > entry.calculate_carbon_emissions() + ): decreased_emissions += 1 overall_score += 300 overall_score += 100 if entry in energy_entries_yearly: - if last_entry.calculate_carbon_emissions() > entry.calculate_carbon_emissions(): + if ( + last_entry.calculate_carbon_emissions() + > entry.calculate_carbon_emissions() + ): yearly_score += 300 yearly_score += 100 if entry in energy_entries_monthly: - if last_entry.calculate_carbon_emissions() > entry.calculate_carbon_emissions(): + if ( + last_entry.calculate_carbon_emissions() + > entry.calculate_carbon_emissions() + ): monthly_score += 300 monthly_score += 100 last_entry = entry - overall_energy_entries_emissions = sum([entry.calculate_carbon_emissions() for entry in energy_entries_overall]) - yearly_energy_entries_emissions = sum([entry.calculate_carbon_emissions() for entry in energy_entries_yearly]) - monthly_energy_entries_emissions = sum([entry.calculate_carbon_emissions() for entry in energy_entries_monthly]) + overall_energy_entries_emissions = sum( + [entry.calculate_carbon_emissions() for entry in energy_entries_overall] + ) + yearly_energy_entries_emissions = sum( + [entry.calculate_carbon_emissions() for entry in energy_entries_yearly] + ) + monthly_energy_entries_emissions = sum( + [entry.calculate_carbon_emissions() for entry in energy_entries_monthly] + ) # Calculate Badges badges = [] weekly_entries_completed = weekly_entries_completed // 3 if weekly_entries_completed >= 1: - badges.append('completed_your_first_weekly_entry!') + badges.append("completed_your_first_weekly_entry") if weekly_entries_completed >= 10: - badges.append('completed_10_weekly_entries!') + badges.append("completed_10_weekly_entries") if weekly_entries_completed >= 50: - badges.append('completed_50_weekly_entries!') + badges.append("completed_50_weekly_entries") if weekly_entries_completed >= 100: - badges.append('completed_100_weekly_entries!') + badges.append("completed_100_weekly_entries") if decreased_emissions > 0: - badges.append('decreased_emissions_for_first_time!') + badges.append("decreased_emissions_for_first_time") # Combine Emissions - overall_carbon_emissions = overall_transportation_entries_emissions + overall_food_entries_emissions + overall_energy_entries_emissions - yearly_carbon_emissions = yearly_transportation_entries_emissions + yearly_food_entries_emissions + yearly_energy_entries_emissions - monthly_carbon_emissions = monthly_transportation_entries_emissions + monthly_food_entries_emissions + monthly_energy_entries_emissions + overall_carbon_emissions = ( + overall_transportation_entries_emissions + + overall_food_entries_emissions + + overall_energy_entries_emissions + ) + yearly_carbon_emissions = ( + yearly_transportation_entries_emissions + + yearly_food_entries_emissions + + yearly_energy_entries_emissions + ) + monthly_carbon_emissions = ( + monthly_transportation_entries_emissions + + monthly_food_entries_emissions + + monthly_energy_entries_emissions + ) # Update User user.overall_emissions = int(overall_carbon_emissions) @@ -173,15 +267,11 @@ def update_user_level_and_footprint(user_id: ObjectId) -> None: user.yearly_score = yearly_score user.monthly_score = monthly_score user.badges = badges - CarbonTrackDB.users_coll.update_one( - {'_id': user.oid}, - {'$set': user.to_json()} - ) + CarbonTrackDB.users_coll.update_one({"_id": user.oid}, {"$set": user.to_json()}) # user_d = user.to_json() # [print(f'{key}: {user_d[key]}') for key in user_d.keys()] -if __name__ == '__main__': - +if __name__ == "__main__": ct_confiq.run_carbon_track_configurations() - update_user_level_and_footprint(ObjectId('657f3336869d97c764337f61')) + update_user_level_and_footprint(ObjectId("657f3336869d97c764337f61")) diff --git a/frontend/assets/complete-10-badge.png b/frontend/assets/complete-10-badge.png new file mode 100644 index 0000000000000000000000000000000000000000..532fae987900a69fc5927300b2c130a18d4edff7 GIT binary patch literal 27422 zcmXs!1yoeu({Jf+3F!uZ)>>XfM$K0Kim`m(~OTIPfhTfPw@*Ehw61_0NxmPmZ&Vq#TXVD(Btl3p^n@2{=?oym#L4QbMSZ z?l(+(w2wG`z`S50=NX5Q5_DDHBbShDr94 zL|LLlNLnL(BSyJ^c=JEzL@VZ&;4ty!&waM!u7rfC^v;$t)C@bxQvXRN0I0vpi_1ZO zV^EKw@brAh33wF>kK2Q*@)Pnm_ZCABzEtv*B!ZW$OSUkabc`|BQ2~O}P2Zdf=@cLc z12!he;K(F55?gm$yjPEFl&lA2XTgW_Zr5aH1bGOa6rhCQwz zysYSm+>C_#8AwAQ)5`=GF>U?>a|f^cl_n5u9p)bcAaln6S`%cLWQb9P&dymUF-WWU ztF-SaAluy8YMXeUaqJV|sCvaNM9v1^3pvL?ir^A7Hq*!Gn+wSFpr#b*P1@XYD#hKd zOw_GXXi#}uZ>%PBPDBBcRMidPhvbGq)PQivYmE`eGEF~A6S`ypH#0y}wu>E(^Fhd2 zRni&FN#M*Uu6*4(d6ffyRQXqGzH07Y5SXTn@lEjYo+*}`%ezUaIQbw?mV&1yX8N^r zszMb1lzDO*7M(N~$ei|kt9S*m$-tVxb0~EvEvm4+#3_>V(;Go<3wMc|XaZmj-CHaq zSb#_%tbhOZ({Y=V){6-KKwXsc2%%unB6!r_Mj$KdE~LEIIN`0io-FYMwHN#Vb5pRV3T#`O#cWq6H1V`<$TYUzN0Qu%%EusuKDs6j!LBB zLltwkg64w%L$!mB$ZcYOplKBm@L*Pu6qfRvE-@8+jA4a z775RIkWglC)clXDTm&;zKd(c??ckrjY;*E{DJ<$i`K^owk^-$)=tNw{gXiee26k0BqnReFvPy#Ad?H9`mMcsf{~6qEuEYiL;ELz0EpN0 z7X0u}kZAOhXSsr1y7{%#If|P|Ns)$`P?S8SCLpc2Yl@WHSoLxB*j^|WhoTnWGgtuo z*D@TyN$|lbf^LJW6?Rv z2i88a^@qSOtpxNEer6zV_~Mhd<^XFaf1vNASFk*7Vdo=4lWw$C z#U4kuDoAubY2<%~hrY$Y9VN6NNgIHCf#20fU|xO6BaVoaHbxt~TOHk*Rl0^M_*Ji#4pHJj zj>v_}3EL@kk3|Y)rWA0{!S`Bn#aScQ1Q3AcROim6PK-(YU>t?K8*EO8w+Xi+t^^;l z37|a1MBH)2;&RTstEnJV`DP)4YmEW+so#kiShOSYaB)Q!Qc?(w@d6&-26?mOP~tze zXe{>GP{dtA_7u=0UjFIJL|DX*;?9ym`H*Uf8<8rSh5+c0JlEMgev7hJ9)P#CZ-dsNf{c3< zC)v&DiffgBgAeKkA$73hA<+Jl;f#M$Quh|ePI}%mO~6F=*<{0a zg_r@tNtw*pb&cHTebV#Hi0$PJXQg{odA0?B-uI6ou!=y(XIkWa)V_8_|HF9&qRXO1 z?Br@r9qQB?L<^t}_9%rfSI57daK(ui5PTfPdzXJf;{dl!6V!pzZ4e5nal`f4-7#Om zH5kNzB3?*^uAcC(3Ovg*51tZl6-`j9^WGe(bHkOBXsr^3_4%YFWjPJB-oGSx2fV4Ypu0BSoan=KdMISZIVN9Es zyhT9;q|5+wQ6ve_ia_>JC=y4?^Rua##+a5|)skzXD-9x5$ORr2egDr+oM(1*o7LwE zD5<=!+N0W&`U@08Z4=qnu?S+}sX-@!(+wv{0IJ;4yas%m8)edl#Ww&3l-S;F?7I1-s@NZG%B;NzK3f?i{i|Z2~Rc^>aB^S{4i9H z4q=*`7udai#k5xL63f7?{edeR$6i0kG&H@_W>WG&di%++fXIaavP~V-aguAz(v6Rv z^SH9wQDIcrcKdW5`ThHzJyjYG`OCm&~K{tT}P=`MrMFI z(pj%p0Z+R!Hl&LNu|If4M6ZimYi}6KMT>CQG?|`qiH6F5X3#BG6TCDy;b(ET6Oj2FDdw6wotBe0Ig{kU$Dp(>Uid z9_EgOEtYh3yk5S$L8Hiil-A676Yg-6&9-e-^k!BHO#;r9)8pICw`UC7OLYw=>jME2 z#p~*nnCEY^x+-AzvS&F;;pMkq*pl_3((;g9DBE`Npm4yNDd-QgC42`rB+Gvh>O>X@VhQw>oCqUGw z0>rw_@~TkO2w`nYZ~TPvTeyMIGnZdY`->%;vWkXYBGiTiGA`fJdpkfJFVi5_lI-h- ztIp;pL=*{wU;K*(6+Ues^bwE9XEu z);j$eTf-OQ5sh9i(m~KJYmZJ5$6?1yj!f!3;oaB7D=?YpOyjkA+b`S}c zuDsrqt0$IEB?FDZ>mom;#qGOVOKeUs9Dsw-f7?Ga<9w5=n{al+aPXaY$RNi*YyHxy zvLO$r%mCKBfSuDdL5*IB;5oy_qcu(U7c`!C^F+Y2<2r*xT%{-0Ps` zcnB5lTAa`|9Az-tW_DJ!`#Z3}aple-|o(DIgYX2Q;)2gG2=yucIae*cet-W}> zRf}=1z~LlCbBBR|KMerEDf-;X3YHqXe`cQn`=?9Jw&w84*Nk^=a*AjY`0QD9vwvyC z8ZO3{M%b~lZf=o5cBO2q@_rFk9^jy6MF;Km-74p#p!9%E-tEJ~p^o&%kPrVsl1%Wk zcZeK5Rv7&zrlP42s5@N@&NQvfvKJl+UdQj!i19NadZ>wf?LG+|7iXgH{K*qxJB9G) zD0R5@HQ;8(fkZTv2Ko;*#3g~r$8khQgaJtmRzU&0@_3G<6w8DH4N zq~@8Sk$&$^^2bNmsBV~X0}L5dBprg(ZwzP2dsHQfZxJPkxUo{v2~x*s@LX0Fuje$~ z8>@EIu4ts9*DqgqoE*L5*4kh|13FKha?W~47+1eH{*2x42M;dYeJLVPlC;483{lXz z=;sg%H#wcopCVv4n_=%BEtdu(V-xXEeed`$pX+?jmOSy!yz zf}pCb&Gp5m$NZ*0WTh#!AKW-agk6k$6EkK4fVudWM*=&Z-dp7h#~Tbpr%hW^)M`$1 zoyWD0h#*z}Ufbk#921_qL9B&Vt@z@M`dT$llCknSH4$JJ`m**g;u>y# zVg#9p6u|DYFLDVl*Kax}P_#9e6OloQp3YfeA+Jb*u zXLkekLqT`P)Tc!EdTxzBnPTxwA8uhq(gQ4S_XLhcsY1>_#sgVBRUleBg(f2 z@}m@|QU&i6bSUemD8AnC%cGtU%CMcNwPlh`YAmj2z)7Sct4HyXzi~DCojk1Rj!}-o z(As(_mvxT>@|HVB=!loRo3)(@P?@n5;_P5(weH$}ts;j*Q<8ij7~^Rb>ywPP$~&`1 z!^TP8jrkY!*uj!i!jE$fkIN+orHQCyYmS${aa^waOU_q7D>ndh*pMqq7ArT%#LFU<2blLvyM`h(g<$oh;P4(^&j?`JMrKmw0O?cnd&8&HkYgnj zio;x0=gZ`i|JZUh3W{!1FLc3gxTy{_a!%AfHI*Hlr3UMLq7uhJ@L1uA6EBVDo)XH% zp^3n;`hy|+Hq#_$^RHiUxhZj&B8YUAb;&2qh@Xx-p?GZ~6SJhvr+qgMg zQ_3qs`K_NyiT?CWXIbj$0O98W65sZSyUB+=G8J_E*e5xIIcO-tX6pTBvXB$-RuS9m ze1dFLAQOFtXjdv#;q^mpFq)-NW@l$4Wksl01otHk8$UU%##@5tIJ%nin1Yx%jbT1o zzVWP?-`l1|^$h$9e6T^eh>SjZllZ9&$OpebgbE!&gr6j2OvUDXd7WGMf8%w(V0XN& zYI$B*E0yPNr*?b`mrLXVN9EEdmZw2r-#+4sK`pX2`G>g|wfR0*6HZyUVJ}Wd?c5bI zfj&etmJj91l4-O85zlFHPd%@to?kt2ABsK_uS^6cDJGQmJ_t$sh!_D*jp)P72 z(w`^{6`=|<`!dSh($6S>6g;jns@1FI*<65HW^@-dGu z^86|s@86!~NGn27^*fK1!>ot2Kxo_At9D?ff1h`XqEv5W{S2)Bn=gV+RrXK-=;0U) z3nB$ZUBmsnz@W1g{KdIrkBmkz*+Doq-MSrAAkXxe*T&0F`BNfkiO?ynhb|>_I8iO& z`wkyLJ}Bs+Dv6^QRdn=CP%u(XZr{Qp*hF$fL^FEwp{oi({;xo$h;har1SLEYH?dNLv3;!d(~B zOsTC&y7qYsZJwFK-j=%6Q2oYkQn|(!L3Ok}A9yH5`aLu)z4j^1*JI zFU*+ANLU!} z^%c>eZJz@L=GM^AxDd4BQ3z+miljmmF797#2Q#dhTyyz7>2z zaH}GlJe5XMfXK5eN^;=P@*65156a$ImYb<>;)hzk;N zS3}<*x68&3@=cyTD4cWVI0u8Z@-M~wxnT-zclHT49+z4^pChrjLlhclyBhWuFSXpw1fc zDif}t&VU8Sr570eLowRwILzO4j~MQ@DlD~gnxaT2qWi-4Ea01>-qMyRUE*gj1Ccj; z=`AWE4ffea4@`Xq3BD5H@&;f%v-)CuWrTe^9i`e`0GGeyOUVi<|5n5Dp5SKQt?G}Q znYVLmOGUIO)Y8Qk$ci6C)y;&yyznpGiOcxMsPfo$t?x^;n{c*Mr~TG5b`M1g<@d+A zF3oUSdMeJgq4gqd@sEn=P-A&^*MBg%d1Xr=7>Dl{b~4XXWFl1B&w#y9?o|#)9XEir zB3tO6-eWmO%?wDP+;4`}2Ru<~!r{fM!SffNp=!MaE_~5`FQ)$3IgeyXgWyQ%eV6mx zf1(VBCym3KXwT3RM2~AGf#Ng_wZO&_lt37yFGBe#Zn}uM@F&_u@=98iv%i8-WfFgs zU-Q(^pB7O9oxXRK;6RK|GE1 zmK*rsfPnV(NklC9#n(3Q>{loVcp?k3iV_Ci>I1w({$C3SfwpuE`BClAoFO5AI#{K< z%X-~}g+764jj3(p)0F|c zJ1Du0topGzs^;v^K&n3{Wx*JjA;^knO@c!i5aO=e&cOmv|CjMgKnM=s5L&X^A!#8( zt!sht;Dx!UCl@B%XF8lwY>nOo1L66BMW5AUY z9vZpmzv#-~0YRa*)0{n{$}I<3bubJDwk3b{Yb)TT$0K^nQ{zWvLI@hQ-JkrrAZW9q zA|Szl={tIe>{bVWwZGh(9~rUC=18FIQpCQw9f{>80uzg~wN2T!i_d(DlyKCg)WShM zmMLijeJ@IUTs8^Y7{HT&HxY)$=5!8OVg({9TJAjIfH2~Cb)w^+FQmc=K9QmPxZ4zI zOaye<;TzwA$K440=pdRsn^OvpBQ;A!yxS`X7{xEsuj;i0zghC;xV8i~mjX10+&e)v z3(lfzyI;{2N`a>O>>n6111dX&CP)2dU;YkBNl*u4as@HJOqy&!@Ks=^UWi8iWQCNQ zJq#7mrBJF>WP4@?4r+4o(a@h7giZXNNC%NPVMGa+ve&V+^K{S5CUw09S*19Dm)q1I z9k%BVnNT9eRCcD0w3bUIL!k?^|MljcHXM)1-*MdCu{W-c zNK~=h(5EGDjCh=9Yn#oL>$j|d{3%AjFc)C-*nu?b0tC8l`}Z>4=9HkuVR|DbRAM?= z6{?}`{v}@A0&OG?J##vXk?70+jPYX3>A!P?;pGZce5A}~+q=V%;3ER!*#bIt6XhET zQcf#4igAQ1dHLftc`C4pCa zh6hWzt}Z>|mw?Xny!tzs;+>>~(X=64==y-y{^X@E+BAWXUsj_MB9u7A{nke&1vJa} zax&z*YjiGa38+{b+=atkM>hqQR}&TqN!CgP9Yxr$9|9Iz&hAGM8r82=hsuc;Jo;xF zO9Fqrifv1%lL*za5|UbYFo2T^zM(l$x9X_+8FbTU^dR;d^V92Gc_PGHEHl{{t_HG)v|RVjH46Tkzr-vxB)2#WWvWX3iR;TqtAh-2 zOA1huut9@9h5L6-jrr&7wjW?H16fIF-)_$OaPO|2k2m+tJ+FJbE&bv?n`w)_A`Y&~ z?^Y(Jv^?15c)WA94ZznWxN>DWNb3qdB>|?UZQlkETFjk!N2L6%v2CagOs>}S!co_~ ztwA6wPMMG+9~&F<)!MNFqzs|%dpOj;ne{)R=4#QTMeMUhbC~Deb`{Wmdw+LWM2^yV z^QK!lEprHbNOQG4TE*eMB@^Ns`DWH*=#FbQJ0)@YRY>gSyXr5Agaar&deWmV99*v; z@{NmCd&xOy10RYzmoRpTR?#PEl!adfwHo@YD3S39 z3`zzCWqMfh<&^)h8Vjpq(bHCY^X86?Z3Gp(AW=K}zlKDY0}9*!KMP>yat7Lf8nu(1 zRl8iH93g~(;cLmwzb#y(%apDaC0Q(N=j{^xC~>-|v#X3pRSmTMXe@3A*Hk6;DDM5o zcgx-l46H=B+aVsQF%yDMuON(jg%|1@3XLId4oFmkf>}=#YcJ=p8qEafBKFzG^Ku3% zZi^FWvCv(PqU=JkPGL%N#^pUt+|>e)n^_Y=X+Tm4k-P+=VldCdk>sK6{bm<6n+RjZZ`wCtS<+Be&-oWBZj2~H zLc>bg+BE;qlJZknVIT!{&wo0i*eOVt|Lj54sWV`yU^&{pNiaGnV8xj0Cgbl zC}I3sb@HPv2M3I}N`0I0c zYbBAE(efmJ0d3c4H)qdwGA1W`sEnU5?nTx8j<=c{_K_Y}LWkYKMHA1mg&C^6)5y_D zvC242g74M){dD=rY3XyX+k_V8 z>ayK!7T$Ac^mmd#+U-Z`0vi+pErcjo1sLYRy*h284j6(z6?n*}!v_<-0w;-PCO;vsmnfI{WSl*Eb%kDQSz|D zz|d-rVv``&%HvzHH%N0PaJkNWtM^LVr^kolJmiJm|YJ-D?`I8&cPyTR}1p<)S^}kIak%Yr-od*Q3Ues?_xm zH~#bd*hnVZU0Wg5>sbvrhCLaA+H1taabU{DF3g0s+2V0IziHhZtRh>x;zwXbuT>5ioIYK9+zE38=k+q-oW{8{XrqAE-dAoj2+v2sHp}sV2N=G zEdBt|oDpT%gBTBwfXL;XTGPfP_V@5BKJw!IRui~+@}32DAbrCyng*EF^QOBVOY3Q| zb(FM)@%ZqQiO_Y{rAV8Ldj-j2pq~~Fo7Z)uU{DZm?$2zm-Rx~i^@RSxU99(Hu5n*_ zFQhW#)q+qf9NKWZQLqz_Om^g*$@3RyeDj&oRbG`CWU*jzcgAr-9y&y^G=VMUOCn5o0kI3bhW?bXwABBDlKP$p~-0BGyt zl`_b&sQ_x{UP_zR>qc$Fx>%jgM+krE+nPxHOU76K@#K1EKaCfQlxX`Rp;~zW2X$~v zbJ5d?4MGVUD_s-~%pj~Vm)w&n%6HA4QG{A5g5c@^>*yd;%`?2)g`MNO6*HwKmVE2s zHM1Z?XX9Y#hyZC)!r?Pn)w|;~$k>?9{X13<&uO0CP1}_Wv;SfcS9_wd z0|O)r($)2?8}||qse0{K8H=4X)k(o+X2>mzsj_X3^<%^GN1tC3wW|549eXd2GK4c! z3h_ZBuSE?DZq!B!P$LeIPc4xfQVrlkLwYe|oR&b?Ay@YsU8^1PNG4)(ZD(oV{f91nwVaox^$S}8+s2Zk7Beo`W|Zk-gp#tFrT z@vb*-$iziOja_O(^RgJ7hVyiMHNEoo1iqY0p{kd~?%BHy@=WGFT_2P1RmxvI|BHP5B@)GlDA+yI`P7T935aTKPcTMM7V?JxT z;tTs+I3{v-<7F+PV7h}$&OD;y3Awd%U&oO&#HCx6C%RN!R+zpO1X}u1=E}YaR zSNRq)_5*$-CpEn@i?+s0N(Z6n@CuQrq)P3Q7NJbSMhuqA-=RI1F@?N{i&YnHPt~W?lNv&nc?h*!^$mPhrjj9w zS-+Z>AIffyAN+pfYs;~Ue(#2A#f-l1|H5_SGg{dNk;O{zfcd*grcuv&k@q14qkbnDgtgy zkT+;gZfNyb$4fAxr+=^o=9){8>6$qLckr4}x3%>tmm;QYRr$0;= zA*mgaYIUmW=fC%poTd5DbJcP4e{@YpyB1mu!GG4L`sUw_Cfj2k%#jv1%WCNsqlQp% zzll%U;>b0D8iznu9OZfK6&YZ@O%csP_CgWG2W7`^LbW~!$u6WTb*g`L;WVz(1^##< zNqiHuTD-p5Kt9g1pH=UM2P1BF+R$c?#mRLw6kdzr#>HLMR_{_jalOxtMc;UQ>??6| z5GOnB8%`U~@GoIj9H%E7UQJK;ezE4SipZ0OO0P$Aq&Dbv$u8i@UhtFW`wg)|%7}n6 zXT4tQnVd12pfe)wkE@d`i@t?m-m}AWv#y_}{E|JWVWBHuU|=d+Eh8pAbu$TC z^)5eAs;Au+c&UqA^ca#)lJCgKtq0cCiv`ix#N?0y43vdNOajze+y@%(pERE?JiUsM zVaa(Kqrx?|H*4cpC-WK8hnteD8^B#A3_PSI{5jHy=! z+J-H^7m}T6GJ$)?3~(&gg*6yT$Ot+vHmD4oBuW6~tyJCL@*mF~xX8))`YA2!=NKw3bQ$nX4cqaN^p;X2*)=7?I$%X2G$W|0MQcV6Yc0!PIS z+!N2)5}Mt&eh>;}M1Xgi4#CADp%3a%0dK59*wwH@7^tEmH+o)*NHEKvGqPT1lu0E% z-E`?Z)PC&n7bEkdX?_7#M-ALQt#dEHIWc6Eqz zO(^fJJ`34ukIO_2dkwf^T)QtPnYuo=SF5OGTELArXdc zi4+rtz&eIIYwEZ;!fQdZsVoqrwq@x0PhDwZhg;z5*xi-;;84BK^7W|x^b~RGo#Wo& zwaxb*d^!2T{ZYylAy7sP-v|oooDS!GRn&04nA>PXDk{WWQG8_4o(T%d^q6?OG?Iu4 zL&CM(K(3nwyBqbEVwkNBFZar2Kbt#mU3$aHxomRzOW{|EeEUE(w{4@{`}D=W>1n*x z0|USuDc5Lp2Z5>Ln0iSiUb#<~J(dF;DB7PBdlV1&K+a3ieD!pcnVz^DvRa=>#%S-3 zSZmr5!0%RwU>z#q0&yw;Tnlb9fessr2W0F@pH-ab7T$UP`<2Dpx+2;GE60zSFMjT; z4D2RX_XG&^k;?a{g=2(ZDF_VPW;!`>OKZDxdZ5@%3>L*xhm< zJ1+!WH9JeL`vf6~UJ;}fV|kA30qs-;+!^RbJU{fC=6xn%qse~jqo2Mqb+93bI1aX5 zJ#UUtgyvyG^NH|2_p3mpP3^=Pb8piFzNxKX7I4dba4RwBC<(m#?y)mBQ+nwjsL;C_ z`1BeOt#RkhujpVKZO(hdn@}33*~KZqjwTKJqFQ;I3H@O+8am23$tjHomZ4BW4j$c% z8Mv@1Id|qUm;J+xjPmC+OdY)_4r)Zjd|OsJGUi`FE-&1m%gorD_{c0idbCBvO4U|EF2NtsAROk&KsQ*uDR_F52={0cDY%koJQ^gtx zTpaJmBE=EjKep_3;;F9!h@tB@-My0I90l(K_lS)M?V$rOjh<$etG4gF*iSyg<|mGp z=k~^62(YeP9jzNp0RZpoYM*2js@H}+7D4T{LZN|j{q|Id>&C> zAf|+1n1Dq4n!sOM5yn*#umfLMuX;XP!+XGV`UHJf%{bN*P*GIcy}mW8fP*6Ows#q> z(zbyd{wJ&8f~gOLIJHAe^jSeMn6~7b5LWTTGx61R%Diq$Y}}8o98j6&Sc3u#&OVX- zjP+%GeSI{()c)$#MlZ_|Ac}Ut3j7Kr4K)H?thn_j3#3kZK@wrXkG)GpX08SnN!!1R ze~LDJFE{td49odZWQYWNyQMGkh^=ljv_)3-t+hL*w5-Yt>HR0ix#JbybUS2l?yiTu z2>UUCeGHZ9^^C}!YjiQve3r`bLtEmItsOg1KLSW>oOae%yCG2#*sacgs9x!?0RN)UJA!0rnee*EnJcf(^c4nL z5n|9)>-UEKa=7Yo&NLtV05X&kj%YSs;(dUX0VDkzf>~K7( z?{|SC1QU}VYHxW@E+U5ny&Q+Hh-1Z!XoCWX=0xD%FKCQaH7<$g^ASKxqu$LOi>L7j zSTh4de>_z?%iiYTPo!JCetEMKVDp=;9qHHViXY!N(961@Kfav>K%}TAQH63>Bff!$ z{mP6SlEokLt{Zy?p|;3cKXJ$8XJ7Q1_c=yUgm{ zc(L-pi70XbK$k%|2J%NPGXKHK^4h^;v68<3nLWp$(7thX8FYC(BI{1oqoq-3L!;b3G6@rZ_D~l7gP^8%Q?~L75b`*cENTAl*{;*&IXyTW? zo(HQwc5wFO6=v&=H)~`{gBV`f0>Q>O*9~LzC^sNEj5Gzc2q~nmcq(nJJ+-uPD+jAq zZ_p$nT05R(6<^7LLEhCFbG+Sf_>bCk2UVN9*@kdHg|W{Ce8vob0OxL}I?2L4nO$0T z`tSHdE%l(;J|!nPtteA%5UAmHNp60gR?z_!um*yelaXQGQoTt5nzAM04QG;vgt4o` zkF@q3eTte76`ADJd_@?!J80>gu)P*Y=WJzyD_4BK-pmJ17@RZQ8dGw~c>?$@#tNM!T<@ z0^HM`?Y?Ojslp8aKd&gp7+)}gd955K7knH7d%&5&^Z2w`IFGjFsRh*E?@;e#x+1o1 z1_n`NeGRamYObJUA?veSQ?Tt-7&s>9arB@#=Ew$fWpy@fkdY`lGP6RsR z13iSsineLQ*7}W>BD0&wyfKI(c=$-y*<%yWg{!P9Lg;%O@5_s))%l7FFk;hFgq1BE zyauRt5E@lA7!W&U_CObZQhq3W=mh~=^0MHM}UOrBvD6f$&&fWX3?B-3c>oY&8LL=c4e_=qC{y298tclXMZ1Cub zpmH4K#_gdTzVud~h;T!*pR@CV#JRv3ZdQUnHA4U61+HX06-Yd&_8{!shd(&^u*}9p zK4-dj3G*8ggs^?78SeT}u}8+2@c0xmWB0o1T1M<^39)mf2lCvTflw8>-DH)F!)yq! znF%x?%v5U^cU;PZ&l9?WG zWc9p#K7QV1#-V>aWk5JTdS~PB51$D;_6%#-BI?hPpl?AkmI%y}-XPLLmmEnjylh9W z%|WUKGwNr3eiHF4Tk<;DVHSyUkT2h zFYp{)!+5~~EddD@tbP7DQFM+`vmkr-ded%C$1!EPf0H_wMYN3$TiLXmnb2|+99<%Q z2Skj@No!*CA%9r+@ZZvgRzP{^V#@V?ik7=f3{qM2w#Gjnn-Hka z9MJ)T2tEWa-=&@+v)P`HzLP7ys1o4MEne;4om{0KgPm?^skdcyu=Hc1@zElxl|`OT zFDpxZ*ilER$e66S9WWIbLeB_>gfE};R&KBXdPFMRin3NMQ0#y8+JAK2-M7=?_D!d3 z=V6p~kaDv0eq@{nH+w2%U5X=rnQ->>TrvYOcYSc%5Pu2lAb?`ou?c_9V@*i|F?auZ z%|qHS>qi2-@4n&K85>mHb0Pd+ja;o%a<@Dr^3m@xz{KEJ*e{R(lxl=@bP00O=+IMv zxnq-An>n-q<;QFnS;7Ibtn?PR>Y5k)eylkZh*z+7-M4-EO+tQX&`kWeN*e1|0Qj@I zZ>RNuGu3}PPZ>dRq(14OmA7!EOsXj!<#j%YgdHzwcTP}05le`@`ax?6qf;*)6oinY zb{nAQDM)NVT0A3?m~@rr^KbOx!NL=93aIcvB!dFyVA=RexIN3 z`QdZbTT(u)tvi4k_5!>$XWE599^o-w;+Xe#QCHVIXobJCv7Q*oHdr_%y3+$ub%^_x z?lCRnz1KPKI5GkLG_uy$de5LfdxL0fLfJHb^Vz}2i;`Rdu+4HYeR+R$^Sv=9LNUkT zX$2L$R*&r78%%1n(sr(I2RuG}PN7W!()&QGx!d$8GDBHQU-H=~HQuSH1M=*TM^ukJ zVE13aghYMB{%K|$z0;Eq;AJ@Tj6S$#f7osF`sga|`O=_C=$F<0AD2@TThRXf1gupZ z7vXbH#WR>>$VSn)OIqK6QueR&HX0!khL5;v^zHN+?=p;1uVb4pJP1pSo{iFDczzc+WVSEbZEjdqQo<#>(dCNdb<>Tpu>A_`d@AP zWre80FVKyCrcsJ$`2Sge(#30W3#8mHvZsGEK`p(>Kw9=yTc*DI-HeIJ@-97F7)Jl< za2(Z1uMrk-q*Uk#3FkGR7|@?PB|`hqq&CA->7G9VcQe{yT>jMqM!uU?1@>rc)RHd} zsg4isbMA?tI=-^$6leq(e?Og0Rk$qWq7P!*@si7h7kD3L3C&&g$R)E?>?9;{)l4Qs z^94P2DVz4=Xulx*QXb&!k;LB)dK9n4cH`tE7}m`A^@fbtZ`WYa`-Grqb5QJ0cL$%t z7mZeJhZpBTp-7(Fw~CXTB0tr}-2J_7I5THpY?B%zXjR4XknM$Ulx#**CtAJl^OB6-I8?DcVI@~%*}47QHxpY*-CAz%|dy$ zzE7js1G6FD?m|(%r(EiKGNn)@@EyK`iIq1Anwg1Le&k25d-a5;KSnWG66`b$mN)g9 zWZ4jBLv1sK@yo!!@zThV=RAR8kl{WNu+GG6Y=Ut{4f@U)GEf^{{Pp3j z{_=kV8=~zNQz@F(|n zr0#g{{cE3R=gfP~`JH-uA{m#RJXXudDp3!*x{H^+Lk-)XOEraLuU@RYu%xa9NTyi< z1;Q4HUOejYFJ+&agE|8pj|Zl*^I`<`HpEe4y1(|tj_J0MT-WvC&)<(+v6g6X7Y?%T zr*g-tPgQ}dUrn@6zMn6R6G?zI=9^wT@WD!9z__;NZWuP`vtYvg^k-R--pSC)8b5!R zh+>&ub@j_V)vMm_g7ukDqaJ|}rrKL$$u<3*zBAjOO?76^FLmMU&a{=ebFE?INFeMLgg>QW zYC2z!1KbLS!)3eY68J_@;>5Ov11pc0KYMJ7{An?_yB`PNLJ1Fz)NXbq>pO?DFy~@NdETZD`L_9UHOxl_vL3N76q^2uxO;L$Zo_K5g&JU#%G&2|fW9 z)9aj1@WldL^xzfN0+l0m5HI;7{AbdC-V#TNst+8K9ozTj=)i6dhMnK!FMVz9Qxg+F z*Toz}2`h7!xP?lkrcP8F0!1lUm91Z;?BW5GUzX~{tAz*uB!cqVF|v;g4GCTp8**`B zJ!@Y%oQzvzH_Y%WqsbU_(4!50G>p0TSasSCq7Z|_Vj18T4RJ|3XquoMT2?Q=6dJDOgIWNbmoQ8;A;2%B8rZrtEZuQ=iSw(U<)2%X+_LwiH&694 zRccEljgG&&y|%!Kda3@O@95o{ILVL!_pXtj(Yh6L(JopqVO}gA0nRcH;_y3NF7F zn_VtjX21jc#-@*zS9{^N{i7YlI3Y-(=nI3iU`2_l9vugxNf)js+F#Oh)XuLu{x}mb zzOfP8DEYJF>EgC6;LkGkdG`H~7$Nn55Pd4Ru*X0mx2@?paGuU%bnQ+?L_U_=A>xPn zSLr-QJ7DOp?;D-LVMU4rOvkzDo^?KC7q2GZA8%Zpp8>Q?YOQ09WsCbIGV#)~&p1Al z*iY+IZG5z5^|-8IMSpp`6#szELgreGzT8w3i_d!Oa4Ar4*~XQTfja#7stp5<8F=Mu zeHo1a{<5#&`Tsm3Fv_20e2Ev7WYDzHO-nK=S?+f)653D3$Eft?7#rUy5lCl$Ud}yh zxG^IBCayU6A-bYAcf`T(0mD+;L-^gJUUTv_t<0`H4Q8iIl|&QvZ$)ZcC&m?D#6|-I1koh47C|V% zK=$+mfbJf5IR0jYFlU4P6Fkcph$%KTDW2mq!Z2vh-=20H-G?L$ME{-B@(<^G-AcA9MLsqgl@%ivTNT%je=j2ZnwrLv2nbY6kxzvHoe9nCp)hROAue`lif`o3aE$?@@5%cx#csNwF8-U{KWQjSPaHyK|mC zZnsK1Fvh!+l2>rxanMSR#=O{za`Nd3GTo~0E!)p=-ZTvN?y#K{8@w*~Xy?^f`Q7`; z`QW<+K_-}*_VmtQMlyi!H#qcva?qqFeo75@b$vKhUf4DL9eOz} z7&fTA*GO+DTVQB2o=mPVZC`O}nVMM7%?dP4$q;N-vjTJnlcVYun#85)_?5(BZ3ZAI z^7`j!RQ#=D3ECS{;&U{j@|}2`1|TJS)I(rKJV***rweuu@9>l^wj3VSr70yW(ZC{uVV= z$tm53k=3dxf<3qzUtHP4ixw`MxE5{?U z8oaQ9key*Oi3Qs?5Rw>@NsX>LG>IM3V0TO{19aUK3U1N;F^@{IIq)er`1B{51a!94 zso9M&$N4$Prb`fJrTfh^X#3Vo0pkr}N!Q%Esotdq4nW8cr`k(65BP~iOSd%izQ(eS zYx!ZfV^)%smmbjP=bBv)WU#@l6`O{UFw&SgR&toY<~q*0MT+RQx=!)-GXATi%_$RQqbmJ1{ovUeUPKQW)6+k=3}{GR7) zMFwwnl@C-qhCY$H`eRa8P!AXl(}S@QN8Bh((#3}~IG7l^B|~-35;ZK&Ts+UI(g&^C zYOZ-;GC}$^E5qK|V0q%Oi3~7jhE7~O_v4tF{nqwenn6_f7|TF5ECeQyYTkAAyrKCZ zk*p5KqisUy9f}+hE|=^|{@G9#zZn}R)?jhtVG}vPmtX`FKXgIsWj+VJ{+VH;@cm3P zp?v`k*S|s^?&^D8o$1R5{&>^Pq&cx+StS&M`R$@@l=G_$4NY5!V9k@@Cu;%N4lpfs0 z(6MB;cZ4tG-Cu49hlI&BlkvDxoVt8t|0HT=RrQrh^L1GsW$7z-h{E_3AAW=rjg)lG z9eeRufJAPD=|?BGv%GI`Fze~~X_Z`lm7D=0e(_KNmPi|6^p?;zZvBO$~4s9d#wj;FU!mA`|(6ub0i?E3uv zSQ8eYh8bJD+aXrZ`WG?PP3{HYW72%Nte*?Fzy1RQf3xLy?%m*{H`6$3(yebb{ldWK zF)P~Z^bN1~Y~~t@Q4cQFrjk@G%`G4<2I9+($CvEpN zK>mkY?EGL@+|yl8)wL(bh{i_j0({IjZU8>$mTOyshtg=C^Vq9ek2QF7zgjTHn(e^HC3 z4~a9_z;8&8N2Pabs_Gv!-7(|L%nD8FAl9ul2uR5QPuV^l4Wuu{CFIP3hrcGRVk%## z;79-_SL#f|{(ZwM0 zw$#DW;~nMIIynz(RT$4yeprlqy4q)tzO*hpLk#{ah({zYZvzbGp3eBthZ7=F#Uq|J z=E?CY5>AFXoE~1Tzj29jG1)hT^V~Gyz6pe8Q<~=0FOYDN-~cV0>(qy=Ld==XF5o7H)&!sU%kN`f?t3?G znKX~KMXHD`35Uxu^N%_#Upy5b>JShA?IXra;g7Ed0l4Elplw{BTnQxLIKZY(-$0gx z;KP>p?2d5Y#Z%0Ct9#rbhQFlUI@;M!LT>7J z5X&`)L|A?u`p77N4Y1;6Ln(sJk&a426 z>`MKVGqjt!8}r*eU9S6B*@buK|Ea+a zn=I-}?EtABgdGxUqYA|A`FKqFOpvxK5;vHvJJ#$V>K|M{0f`tQfJV-+6a{WGER;ng zUx0AZ1w<=76mpZxJP(agXlIGFNZdi(kcLA|@+u*1NuXLaKmrhCslZvjVR@ZCjt!hyNo4Or9MnvQN`j!6B@WP)moWZT>(SNEqtsirMjgtKY0SMs2;;KWFdZ861W>2|=@*N~JQqS%D(D75N!Xa8k z8TQLQlgLQt;7YL8+U9koko4UoNOd?7BFZ=4jx)U1sMKNP9mbsS5yo zTI5(1bpxaX_Y_;oSBZ8Fo6G+`h!BidM)DMH`AzWTXeiG*=;7}XsAO>ffYLJS;?oHp zx?iRQLp;AU-scgIyG>>#WqqQ4;zW}T&*B6+)fhUNP;L{tbidRIlH+d}kre~mDy++4 zJdVrd2cYvMgqh3pc<&6KWsz+|0h4={WQivR8(}a!#!Sxf?x!|;M+`NlgPqNMw3nbQ zH9o#-0(T3=?;sKgeZer)tbNq0YWTn865dd`5<$~Rf6!$U-Y&}Ug%TNH4ka1Di+5RW z$vl1`BfAQm2@tREtk30|4AQ%$sS6d)okvlrhL~vQv5F7;vi0btgsz7GU%)-HG?=Yp zIwNn90W@#T?@jtgY3dZgLv^#fP2rGudUS4#P~L~$Y!+>L?Ua=3Uq~32Oc4MichBDUnLwiD3N;A2IwrU|PxSqn zNS!R?+=%Hl20^!311}ad6<#ZArqc$g+ds587+}KUSrbrg)l4YqQE}qNF|bkDkQZKp z^GKMubR~e0it!r2POKk*v%F@8;92;ox|rqqKL`_y4x>n^z|@qQ%N541+APbt=<)wZ zkFo$^d+-+HNI0}6teA6Q05yANq-rSzqxU+SkE~`Z^Cv}kn zU`Se{2EmXNdI@HQI(;5e0}N&MqOjy4(W-hJqKSWe=J})vor2J?r^T%VUHQXDF(`# zXF2z;5kJaqDt-jL=^k2Dq>il%J=(&FEcUmm_y3VQ*>(NAdG%mUR#4$b zy(uDsiMoIB?_Sa#`_46RzvPmCu;hwK*sC(j=hvU$Mu+uNQez~I)L*uaXSh}QLLv7i z)UV$>0L^{-!IZ%xw&|c`nemB&M47V7R8P_t>kDsz0#&nzll8YYV3u$Dm2zdHP&~a> zc2HwuZ+An))#m{%SKcoInsuG#hY>yoD6RlnMA^*{DVK_l+i{FF#s9TyU zoMCIQk?=t>Run7QLeFCW8UL;z1q76W=W*Lg3jl@^CKT?ddiDI;bEIybcryzu6}ErX z|FI3&x?`kav%~5MELl1K{z!Lv>zrSG0>{L$G~s}nKRtd*>-WYBGTalnoqSK{Jz0-> zbFOd*2UhlHI;T?!v39Oa=h;$@d}6INOHSAE~1hTYC1TE`QDV zpIUL>w^*^Gj{Yl#XGPA7gxgc zZL$3IykDr+_y#vSh@vE)3M!_)6uGTZdVdS%wMr3OM3;6yd((!n!t*f$2v8m&L{s~T z>gMi%4P@)zbjI}NOzG6BoEN54yx4LI?X)K6&bw7@kNko0*M|{}8}`vZYTn(dy;&;) zA}J5)7DN{jgMT`>VojEQ#(CQAH6Qkb6uSO-CPvfzaO>w|KYq)cs>@t#tlI9r!bXA4 zcjwTz6fOjZb`wH$-EHv0_B>S=2XCa}Whwd56)WOucRMrC~bJe^1KYx8fYY{?b|O2Do*x9=wOCEwrT?f$w??>OoBac|9!`Ekce4jtfy z28m>8eNCNeakBj5VAU-rl82i^My;++(q$PJH{NfYC~XuPF?ea`MqFGU_pNKzWuLtw z)Y=$FJ|}8%qIX#7Yn&C`_9(NXAZ;2Gg6p52%Pt*;BpCP&S*T(jM&;_NhWPfezxat> zR#2t@?H&CL7G)~fg-nz?&ctr`x%Spx&)2_0y}_t`BPr>p%HsIAzHj5s5xVFhfOT?S zhmH&J$K2KREMn+d`7lO3PEvlG{|O(-(9H4k%~y|}d-6Ot27q1oD^pK6Vp~{|;k6Ew zJ>=UPF)4jN*X}Q8-lSiQ6WyP5tB%ihCz@rKom?0KkpUwZgPxm$ny!B$Zshx9hv>FJWnCL0 z*B;^HH!GxM>(i2SWVm@i*BbF`z)Z`^6xr6j-+{7v>0ss3xWoKk7WDA38xIEBjH^*v zC9Q$OXmb0xetzzyKmpijc@uZ+ld`6$@%bCkCo@q{upe`=9gtsXeC{-exfhD$(n=Ss9O53O zqNXOpTh8ZIwOz>gOppUXeV8WqEQA3BgyD+{X(X?>3jDMZ*xi*DC(Zv{JCN2zVSvH^ zx@h~EhTDqJ-CU63ol6k@LhhDG($P)SsU?#}#iulZQ-;o5{{!KkEB;&o=Z;^R$fG0^ zn{{%-Yj+hK6N)|t`_AqAQ4U&Ag+zYCwCAg?&#VrdY1RybTuOZ0mviPGZ?I{+?w>VX zU$&a*j#h(A67zl7slYbBs$|w6VAh>Ib?jVp5fuINU_u=+d@8K1l&o>=)I`_x&MY9M zSG*og>dFe-nB*P$F7kqLuE>~a5ki*_`wN#9_^CfCYSj{9AbeXM9(6)?q(vX~`9aE> z@GC?Ca2l7=_XFhs);?WU2qT}46>)8tE*592)=9F+UzO8($JtO(@d51|x=*4u>rT}> z2-7UE@5Yw`4x;9e=q^yQ-r-LZ&c`iWnh99_Fr_EoGv8q@!%y`WDw^gS=`^vl00oOY zM>5BkULq||SRs}v^W0xXLemt}jEpyg?Az@I&?jV5g;x7KC$2^B3$=hAu(D!>sG?M^ z4nHVJ=-%tU4zD^FOwZXm_H)EKd1XkEyy7D>Ki22NM?ur1hD(OxO_84sSyMW^WK)=I z*8u=R_kZ6A&@TBWTJ7n9p!;Tbj@dkoll{MO((e`!=I2EY-V5LQ4F;TO7>l(4R+BtO zrjWR;nF*DKJh)oo@R{miN>)`@2b({aIQfsXA9qQTE@@?>_*nc-A5uEB4P*)U$WVkS z@}fXr`&Wvrn@sQ}QskiX?GPnDMmtgL6`j#4(aOsXQY`;{Q{EWDGsEj<`}Jex3H4SL zYlufXrzut90)Pcp9fouowZyq}hT5ts;N6n6I6;Ukb~1*7Whfn`N7^6$9y%(+VS+-Cglo%-vYBSq=g2 zc`(WSPDfSl?lS!PGY=X1=m(cOa~)|9RVGrcMZ+0?VlDFU#jG)00EwahM42OCR`gea zkN%^h9FJK846hsWp^I29_&ahuShXEsb0DOOzg?ZiAKx{!#bG1Ae!zm3*;EHLz9yeRsjbKIcp7$4fE|V{ORxI73$LGN)lim{4AoK*ksP%2rrH?g4(c@*6$`|TT zi>ABFgpx?O5nQRS+Qabb2H=#e5ITE?t*jKyQ$PR10suSSH-mcan(6I_Vr%f#BDP*d zi_2&m(@#6h$9}8;#G1m1FeDZAADFlU6;NS!;Q7_-p?_&lHYQyYf*(*)k9UimyaZM_ zP^t?iWf9^u6Fr?(;qcwhgc5Q(5lfU!s5OPmd1S_rCIQJ&B818#{uO$J_0CZZf=^i= zAH;m1)E2+vT(f;VnHEzw8FVz?n{03B7@|@sz&IRXT+2)^eUQqCa?jtHn^pIrp z;cy3i`!1ax_w_@>y0BtFA$C|i=YKKONvU-{y~u|wQG^m*Qy*YVoy094ORIuEE1=}= zEOlhil>dgDvN6YnfON27t8B$JK4Mo`@h$lJt{xaE2Jfwo$R^ZtoLK=*8G3S`@B+ktqsFbr+qJL~YFHa?!NIyv#v{3acct zq3g_T*+A9qh-QIq_}ksfI3{J?V!R$rH?Ii^6ReN!Zm%UsUKUo|EWnm4Dawz)eQ9TP z%r~LlE-vi;av2@l zpnh%&=RXl*PXd%nPl7?iO3MdAb^ZRsvfeq&n9hN!t?U|8Dr6{Dqy=TT9b_n=g3}?D zqRLn<{Z7ShG_tem5E5WlveVAj?l8Nw3i}_y>yWWk!T#z)Sx^ZvGGGdA*yq&p2L-~9 z4Z?&o8GAv7-!rzl? z4icSSIjD&tfBA6X72oY(i`mgDk12pC{u95o=( z;ZvdV!|gUYO&^zl3C}dpx0@N5W0zEOE^0ZiHCV`iqsW?eojzOG0)Tc+$FL*-M;ft4 zmDisIzwlR0ZVIENg9uRdOuse#jkE7du4_F}@g%5Y+oWxveyAa`}D{|EZKv>!C zzu8VM=mwN>!m~()Q9{8I1!I$Uib?740d@EZ>cF~d76NQweZe|+q|W~dN-GYocN{Zm z_{>)yrhzE9*iLk=m19|Nge0tIZmvdvm zQ(LtC`}jW0IUVE93OPn264|-b2R~RnbFW9!*T~~Yq*W<)YpiDL-=`H0XTGb`A}Fx4 z8IN05VZXBimv)fUg?7U?|FLCR+_f4p2x48pz>N3UxBz=J5gUhBRGEh2^S?;}>KOL| zK#taKPIJ*?aRs3Qtt{p9RA8i?Ue@`|o}ZB_=TajS(y${(caRIE4X}RlOokp~ej&(x zzrZEE8$@b2E-(FIGkB@RixJ&DVRTn1*jmBA6dI_>lZNYqA67r0MVf#DudG!0j3?*x zQ7Eyw4*Y0|F)IMqJNLx>-A@gB(%}p>ZRE>@le}bk5xabU^vJHUipvz_7h{q%6luxH zeZQ9gL1kdg`cXlmyrUvVM<&)-6SF29Ci_(aM}iImPR08Q1tMHf4+4%#`OYFhDuyk_ zj&JRC5!Bk?Lb4-`e7hpZ(9`Yd3U^C+x47m^7 zNt2L2D8jzT&gf^*eH9xj=hFCQPmx0tLNXNsk~LDx$7GjNqn8{ryX6rHsGjzU(UDhy z8y}CFM~^f|TB#-~qyr^!BrGV389U*frb20mkqYX2;Duw~;1Z0P{;=qr2(QGr#X*MJ zP;zpF)G(4iCKFtiV2Lr5i^aauv>7GrW2Y)EX8*C!YOg2?Hm7bp#4Y$ d_RJlgLE3!j_xaT_@LN`Zyo`!;siaBZ{{V%vNR$8o literal 0 HcmV?d00001 diff --git a/frontend/assets/complete-100-badge.png b/frontend/assets/complete-100-badge.png new file mode 100644 index 0000000000000000000000000000000000000000..552597fca80de31cd7e779530b51694a077c39e0 GIT binary patch literal 29191 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 literal 0 HcmV?d00001 diff --git a/frontend/assets/complete-50-badge.png b/frontend/assets/complete-50-badge.png new file mode 100644 index 0000000000000000000000000000000000000000..54f452b0c9e92a65149949afcf9a41605447c0a5 GIT binary patch literal 21048 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 literal 0 HcmV?d00001 diff --git a/frontend/assets/complete-first-badge.png b/frontend/assets/complete-first-badge.png new file mode 100644 index 0000000000000000000000000000000000000000..838deec9ed7e46804a8bcc5333d1cbc634aa84e0 GIT binary patch literal 60104 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 literal 0 HcmV?d00001 diff --git a/frontend/assets/improve-footprint-badge.png b/frontend/assets/improve-footprint-badge.png new file mode 100644 index 0000000000000000000000000000000000000000..c0094ac2c58bf26eb09db83ee3f886ed4aa0b5b7 GIT binary patch literal 29356 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 = ({ user }) => { + const [selectedBadge, setSelectedBadge] = useState(null); + + // Object mapping each badge to its respective image and description + const badgeData: Record = { + completed_your_first_weekly_entry: { + image: require('../../assets/complete-first-badge.png'), + description: 'Completed your first weekly entry!', + }, + completed_10_weekly_entries: { + image: require('../../assets/complete-10-badge.png'), + description: 'Completed 10 weekly entry!', + }, + completed_50_weekly_entries: { + image: require('../../assets/complete-50-badge.png'), + description: 'Completed 50 weekly entry!', + }, + completed_100_weekly_entries: { + image: require('../../assets/complete-100-badge.png'), + description: 'Completed 100 weekly entry!', + }, + decreased_emissions_for_first_time: { + image: require('../../assets/improve-footprint-badge.png'), + description: 'Decreased your carbon emissions for the first time!', + }, + // Add more badges as needed + }; + + const handleBadgePress = (badge: string): void => { + setSelectedBadge(badge); + }; + + const handleCloseModal = (): void => { + setSelectedBadge(null); + }; + + return ( + + {user.badges.map((badge, index) => { + const badgeInfo = badgeData[badge]; + if ((badgeInfo?.description).length === 0) return null; + + return ( + handleBadgePress(badge)} + > + + + ); + })} + + + + {selectedBadge != null && ( + + {badgeData[selectedBadge].description} + + Close + + + )} + + + + ); +}; + +const styles = StyleSheet.create({ + container: { + flexDirection: 'row', + flexWrap: 'wrap', + justifyContent: 'center', + padding: 10, + }, + badgeTouchable: { + width: 50, // Set the width and height to match your badge image size + height: 50, + margin: 5, + }, + badgeImage: { + width: '100%', + height: '100%', + resizeMode: 'contain', // Adjust the image style as needed + }, + modalContainer: { + flex: 1, + justifyContent: 'center', + alignItems: 'center', + }, + modalContent: { + backgroundColor: Colors.LIGHTFGREEN, + padding: 20, + borderRadius: 10, + width: '60%', + }, + modalText: { + color: Colors.DARKGREEN, + fontSize: 14, + marginBottom: 10, + fontWeight: '500', + }, + closeButton: { + backgroundColor: Colors.DARKGREEN, + padding: 10, + borderRadius: 5, + alignSelf: 'flex-end', + }, + closeButtonText: { + color: Colors.WHITE, + }, +}); + +export default BadgesDisplay; diff --git a/frontend/src/components/badgesModal.tsx b/frontend/src/components/badgesModal.tsx new file mode 100644 index 0000000..1ddb83b --- /dev/null +++ b/frontend/src/components/badgesModal.tsx @@ -0,0 +1,78 @@ +import React, { useState, useEffect } from 'react'; +import { View, Text, Modal, Pressable, StyleSheet } from 'react-native'; +import Colors from '../../assets/colorConstants'; +import { UsersAPI } from '../APIs/UsersAPI'; +import { type User } from '../models/User'; +import BadgesDisplay from './BadgeDisplay'; + +interface ModalInfoProps { + modalVisible: boolean; + hideModal: () => void; +} + +const BadgesModal: React.FC = ({ modalVisible, hideModal }) => { + const [user, setUser] = useState(undefined); + + useEffect(() => { + void UsersAPI.GetLoggedInUser().then((res) => { + if (res != null) { + setUser(res); + } + }); + }, []); + + if (user === undefined) { + return <>; + } + + return ( + + + + Badges + + + Close + + + + + ); +}; + +const styles = StyleSheet.create({ + modalContainer: { + flex: 1, + justifyContent: 'center', + alignItems: 'center', + }, + modalContent: { + backgroundColor: Colors.TRANSGREENLOGOUT, + padding: 20, + borderRadius: 10, + width: '80%', + height: '30%', + }, + closeButton: { + backgroundColor: Colors.DARKGREEN, + padding: 10, + borderRadius: 5, + alignSelf: 'flex-end', + }, + closeButtonText: { + color: Colors.WHITE, + }, + heading: { + fontSize: 24, + color: Colors.WHITE, + marginBottom: 15, + fontWeight: '700', + }, +}); + +export default BadgesModal; diff --git a/frontend/src/widgets/profileWidget.tsx b/frontend/src/widgets/profileWidget.tsx index 71a31f6..547ee25 100644 --- a/frontend/src/widgets/profileWidget.tsx +++ b/frontend/src/widgets/profileWidget.tsx @@ -1,4 +1,4 @@ -import React, { useCallback, useState } from 'react'; +import React, { useCallback, useState, useEffect } from 'react'; import { View, Text, Image, StyleSheet, TouchableOpacity } from 'react-native'; import Colors from '../../assets/colorConstants'; import { type RootStackParamList, type profileWidgetBoxProps } from '../components/types'; @@ -7,6 +7,10 @@ import ExpProgressBar from '../components/expProgressBar'; import firebaseService from '../utilities/firebase'; import { useFocusEffect, useNavigation } from '@react-navigation/native'; import { type StackNavigationProp } from '@react-navigation/stack'; +import { UsersAPI } from '../APIs/UsersAPI'; +import { type User } from '../models/User'; +import BadgesModal from '../components/badgesModal'; + export type StackNavigation = StackNavigationProp; const ProfileWidgetBox: React.FC = ({ user }) => { @@ -16,7 +20,9 @@ const ProfileWidgetBox: React.FC = ({ user }) => { Josefin: require('../../assets/fonts/JosefinSansThinRegular.ttf'), }); - const [profilePicture, setProfilePicture] = useState('https://cianmaggs.github.io/google-homepage/images/loginbutton.png'); + const [profilePicture, setProfilePicture] = useState( + 'https://cianmaggs.github.io/google-homepage/images/loginbutton.png' + ); const fetchProfilePicture = useCallback(async () => { try { @@ -28,6 +34,8 @@ const ProfileWidgetBox: React.FC = ({ user }) => { console.error('Error fetching profile picture:', error); } }, []); + const [currUser, setUser] = useState(undefined); + const [modalVisible, setModalVisible] = useState(false); useFocusEffect( useCallback(() => { @@ -35,39 +43,51 @@ const ProfileWidgetBox: React.FC = ({ user }) => { }, [fetchProfilePicture]) ); - if (!loaded) { + useEffect(() => { + void UsersAPI.GetLoggedInUser().then((res) => { + if (res != null) { + setUser(res); + } + }); + }, [loaded]); + + if (!loaded || currUser === undefined) { return <>; } + const showModal = (): void => { + setModalVisible(true); + }; + + const hideModal = (): void => { + setModalVisible(false); + }; + return ( - - - {user.full_name} - - - - - - Badges - - - + + {user.full_name} + + + + + + Badges + + + + { navigation.navigate('CommunityHub'); }} - > - Access Leaderboard - - - - + > + Access Leaderboard + + - + ); }; @@ -89,18 +109,18 @@ const styles = StyleSheet.create({ // andriod shadow elevation: 5, }, - buttonsContainer:{ + buttonsContainer: { flexDirection: 'row', justifyContent: 'center', }, - button:{ + button: { backgroundColor: Colors.DARKLIGHTDARKGREEN, marginHorizontal: 20, padding: 15, borderRadius: 10, - top: '5%' + top: '5%', }, - buttonText:{ + buttonText: { color: Colors.WHITE, }, name: { @@ -111,7 +131,7 @@ const styles = StyleSheet.create({ nameBox: { top: '20%', flex: 2, - alignItems: 'center' + alignItems: 'center', }, profilePicture: { width: 160, @@ -121,9 +141,7 @@ const styles = StyleSheet.create({ top: '15%', backgroundColor: Colors.TRANSGREENBACK, }, - progressBar:{ - } - + progressBar: {}, }); export default ProfileWidgetBox;