From 0c5b6a386aacabd3de4344000a9c2fbe2789baff Mon Sep 17 00:00:00 2001 From: user Date: Sat, 26 Oct 2024 15:14:46 -0700 Subject: [PATCH 01/10] done seekHelp midfi --- package-lock.json | 164 +++++++++++++++++- package.json | 7 +- src/components/Resource/Resource.tsx | 65 +++++++ src/components/Resource/styles.tsx | 46 +++++ .../SeekHelp/ResourceList/.index.tsx.swp | Bin 0 -> 12288 bytes src/screens/SeekHelp/ResourceList/index.tsx | 73 ++++++-- src/screens/SeekHelp/ResourceList/styles.ts | 17 +- src/screens/SeekHelp/index.tsx | 4 +- src/screens/SeekHelp/styles.ts | 25 +-- 9 files changed, 360 insertions(+), 41 deletions(-) create mode 100644 src/components/Resource/Resource.tsx create mode 100644 src/components/Resource/styles.tsx create mode 100644 src/screens/SeekHelp/ResourceList/.index.tsx.swp diff --git a/package-lock.json b/package-lock.json index 96958a8..9c0bbb6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,12 +12,15 @@ "@react-navigation/material-bottom-tabs": "^6.2.29", "@react-navigation/native": "^6.1.18", "@react-navigation/native-stack": "^6.11.0", + "@rneui/base": "^4.0.0-rc.7", + "@rneui/themed": "^4.0.0-rc.8", "@supabase/supabase-js": "^2.45.6", "expo": "~51.0.21", "expo-av": "~14.0.7", "expo-status-bar": "~1.12.1", "react": "18.2.0", "react-native": "^0.74.5", + "react-native-elements": "^3.4.3", "react-native-paper": "^5.12.5", "react-native-safe-area-context": "4.10.5", "react-native-screens": "3.31.1", @@ -6338,6 +6341,73 @@ "nanoid": "^3.1.23" } }, + "node_modules/@rneui/base": { + "version": "4.0.0-rc.7", + "resolved": "https://registry.npmjs.org/@rneui/base/-/base-4.0.0-rc.7.tgz", + "integrity": "sha512-dffzoYek3Qp+7wJzC42QjI/Fu1HOUNxFIR88t1laDrBV5QZQB55f+Vu5zLbC80/bh1b8fYtl63HTIWpORuA3Eg==", + "license": "MIT", + "dependencies": { + "@types/react-native-vector-icons": "^6.4.10", + "color": "^3.2.1", + "deepmerge": "^4.2.2", + "hoist-non-react-statics": "^3.3.2", + "react-native-ratings": "^8.1.0", + "react-native-size-matters": "^0.4.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/react-native-elements" + }, + "peerDependencies": { + "react-native-safe-area-context": "^3.1.9 || ^4.0.0", + "react-native-vector-icons": ">7.0.0" + } + }, + "node_modules/@rneui/base/node_modules/color": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", + "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.3", + "color-string": "^1.6.0" + } + }, + "node_modules/@rneui/base/node_modules/react-native-ratings": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/react-native-ratings/-/react-native-ratings-8.1.0.tgz", + "integrity": "sha512-+QOJ4G3NjVkI1D+tk4EGx1dCvVfbD2nQdkrj9cXrcAoEiwmbep4z4bZbCKmWMpQ5h2dqbxABU8/eBnbDmvAc3g==", + "license": "MIT", + "dependencies": { + "lodash": "^4.17.15" + }, + "peerDependencies": { + "react": "*", + "react-native": "*" + } + }, + "node_modules/@rneui/base/node_modules/react-native-size-matters": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/react-native-size-matters/-/react-native-size-matters-0.4.2.tgz", + "integrity": "sha512-DKE3f/sdcozd24oASgkP1iGg+YU3HoajRa5k3a4wkRzpiqREq8SGX12Y5zBgAt/8IivLQoTMYkyQu1/Giuy+zQ==", + "license": "MIT", + "peerDependencies": { + "react-native": "*" + } + }, + "node_modules/@rneui/themed": { + "version": "4.0.0-rc.8", + "resolved": "https://registry.npmjs.org/@rneui/themed/-/themed-4.0.0-rc.8.tgz", + "integrity": "sha512-8L/XOrL9OK/r+/iBLvx63TbIdZOXF8SIjN9eArMYm6kRbMr8m4BitXllDN8nBhBsSPNYvL6EAgjk+i2MfY4sBA==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/react-native-elements" + }, + "peerDependencies": { + "@rneui/base": "4.0.0-rc.7" + } + }, "node_modules/@rnx-kit/chromium-edge-launcher": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/@rnx-kit/chromium-edge-launcher/-/chromium-edge-launcher-1.0.0.tgz", @@ -6544,19 +6614,36 @@ "node_modules/@types/prop-types": { "version": "15.7.12", "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.12.tgz", - "integrity": "sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==", - "devOptional": true + "integrity": "sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==" }, "node_modules/@types/react": { "version": "18.2.79", "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.79.tgz", "integrity": "sha512-RwGAGXPl9kSXwdNTafkOEuFrTBD5SA2B3iEB96xi8+xu5ddUa/cpvyVCSNn+asgLCTHkb5ZxN8gbuibYJi4s1w==", - "devOptional": true, "dependencies": { "@types/prop-types": "*", "csstype": "^3.0.2" } }, + "node_modules/@types/react-native": { + "version": "0.70.19", + "resolved": "https://registry.npmjs.org/@types/react-native/-/react-native-0.70.19.tgz", + "integrity": "sha512-c6WbyCgWTBgKKMESj/8b4w+zWcZSsCforson7UdXtXMecG3MxCinYi6ihhrHVPyUrVzORsvEzK8zg32z4pK6Sg==", + "license": "MIT", + "dependencies": { + "@types/react": "*" + } + }, + "node_modules/@types/react-native-vector-icons": { + "version": "6.4.18", + "resolved": "https://registry.npmjs.org/@types/react-native-vector-icons/-/react-native-vector-icons-6.4.18.tgz", + "integrity": "sha512-YGlNWb+k5laTBHd7+uZowB9DpIK3SXUneZqAiKQaj1jnJCZM0x71GDim5JCTMi4IFkhc9m8H/Gm28T5BjyivUw==", + "license": "MIT", + "dependencies": { + "@types/react": "*", + "@types/react-native": "^0.70" + } + }, "node_modules/@types/stack-utils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", @@ -8253,8 +8340,7 @@ "node_modules/csstype": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", - "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", - "devOptional": true + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" }, "node_modules/dag-map": { "version": "1.0.2", @@ -12306,6 +12392,12 @@ "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" }, + "node_modules/lodash.isequal": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", + "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==", + "license": "MIT" + }, "node_modules/lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", @@ -13615,6 +13707,15 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/opencollective-postinstall": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz", + "integrity": "sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q==", + "license": "MIT", + "bin": { + "opencollective-postinstall": "index.js" + } + }, "node_modules/optionator": { "version": "0.9.4", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", @@ -14453,6 +14554,37 @@ } } }, + "node_modules/react-native-elements": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/react-native-elements/-/react-native-elements-3.4.3.tgz", + "integrity": "sha512-VtZc25EecPZyUBER85zFK9ZbY6kkUdcm1ZwJ9hdoGSCr1R/GFgxor4jngOcSYeMvQ+qimd5No44OVJW3rSJECA==", + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "@types/react-native-vector-icons": "^6.4.6", + "color": "^3.1.2", + "deepmerge": "^4.2.2", + "hoist-non-react-statics": "^3.3.2", + "lodash.isequal": "^4.5.0", + "opencollective-postinstall": "^2.0.3", + "react-native-ratings": "8.0.4", + "react-native-size-matters": "^0.3.1" + }, + "peerDependencies": { + "react-native-safe-area-context": ">= 3.0.0", + "react-native-vector-icons": ">7.0.0" + } + }, + "node_modules/react-native-elements/node_modules/color": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", + "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.3", + "color-string": "^1.6.0" + } + }, "node_modules/react-native-paper": { "version": "5.12.5", "resolved": "https://registry.npmjs.org/react-native-paper/-/react-native-paper-5.12.5.tgz", @@ -14486,6 +14618,19 @@ "react": ">=16.8" } }, + "node_modules/react-native-ratings": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/react-native-ratings/-/react-native-ratings-8.0.4.tgz", + "integrity": "sha512-Xczu5lskIIRD6BEdz9A0jDRpEck/SFxRqiglkXi0u67yAtI1/pcJC76P4MukCbT8K4BPVl+42w83YqXBoBRl7A==", + "license": "MIT", + "dependencies": { + "lodash": "^4.17.15" + }, + "peerDependencies": { + "react": "*", + "react-native": "*" + } + }, "node_modules/react-native-safe-area-context": { "version": "4.10.5", "resolved": "https://registry.npmjs.org/react-native-safe-area-context/-/react-native-safe-area-context-4.10.5.tgz", @@ -14508,6 +14653,15 @@ "react-native": "*" } }, + "node_modules/react-native-size-matters": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/react-native-size-matters/-/react-native-size-matters-0.3.1.tgz", + "integrity": "sha512-mKOfBLIBFBcs9br1rlZDvxD5+mAl8Gfr5CounwJtxI6Z82rGrMO+Kgl9EIg3RMVf3G855a85YVqHJL2f5EDRlw==", + "license": "MIT", + "peerDependencies": { + "react-native": "*" + } + }, "node_modules/react-native-vector-icons": { "version": "10.2.0", "resolved": "https://registry.npmjs.org/react-native-vector-icons/-/react-native-vector-icons-10.2.0.tgz", diff --git a/package.json b/package.json index 78a6b4d..03624be 100644 --- a/package.json +++ b/package.json @@ -19,16 +19,19 @@ "@react-navigation/material-bottom-tabs": "^6.2.29", "@react-navigation/native": "^6.1.18", "@react-navigation/native-stack": "^6.11.0", + "@rneui/base": "^4.0.0-rc.7", + "@rneui/themed": "^4.0.0-rc.8", "@supabase/supabase-js": "^2.45.6", "expo": "~51.0.21", + "expo-av": "~14.0.7", "expo-status-bar": "~1.12.1", "react": "18.2.0", "react-native": "^0.74.5", + "react-native-elements": "^3.4.3", "react-native-paper": "^5.12.5", "react-native-safe-area-context": "4.10.5", "react-native-screens": "3.31.1", - "react-native-video": "^6.6.4", - "expo-av": "~14.0.7" + "react-native-video": "^6.6.4" }, "devDependencies": { "@babel/core": "^7.20.0", diff --git a/src/components/Resource/Resource.tsx b/src/components/Resource/Resource.tsx new file mode 100644 index 0000000..a21d72c --- /dev/null +++ b/src/components/Resource/Resource.tsx @@ -0,0 +1,65 @@ +import React, { useState } from 'react'; +import { Text, TouchableOpacity, View } from 'react-native'; +import { ListItem } from '@rneui/themed'; +import { styles } from './styles'; + +interface SeekHelpProps { + org_name: string; + summary: string; + address: string; + phone_number: string; + hotline_number: string; + office_hours: string; + tags: string; +} + +export default function ResourceT({ + org_name, + summary, + address, + phone_number, + office_hours, +}: SeekHelpProps) { + const [expanded, setExpanded] = useState(false); + + return ( + + + {org_name} + {!expanded && ( + + {summary.slice(0, 60)}... + + )} + + } + isExpanded={expanded} + onPress={() => setExpanded(!expanded)} + containerStyle={{ padding: 0 }} + > + {expanded && ( + + {summary} + + + Address: + {address} + + + + Office: + {phone_number} + + + + Office Hours: + {office_hours} + + + )} + + + ); +} diff --git a/src/components/Resource/styles.tsx b/src/components/Resource/styles.tsx new file mode 100644 index 0000000..411a6b1 --- /dev/null +++ b/src/components/Resource/styles.tsx @@ -0,0 +1,46 @@ +import { StyleSheet } from 'react-native'; + +export const styles = StyleSheet.create({ + resourceCard: { + backgroundColor: '#fff', + borderRadius: 10, + padding: 10, + marginVertical: 5, + shadowColor: '#000', + shadowOpacity: 0.1, + shadowRadius: 5, + shadowOffset: { width: 0, height: 2 }, + }, + headerContent: { + flexDirection: 'column', + }, + orgName: { + fontSize: 18, + fontWeight: 'bold', + }, + summaryPreview: { + fontSize: 14, + color: '#666', + }, + expandedContent: { + marginTop: 10, + }, + summary: { + fontSize: 14, + color: '#666', + marginBottom: 10, + }, + infoContainer: { + flexDirection: 'row', + alignItems: 'center', + marginBottom: 5, + }, + label: { + fontWeight: '600', + marginRight: 5, + }, + info: { + fontSize: 14, + color: '#333', + }, +}); diff --git a/src/screens/SeekHelp/ResourceList/.index.tsx.swp b/src/screens/SeekHelp/ResourceList/.index.tsx.swp new file mode 100644 index 0000000000000000000000000000000000000000..79dbd0add09e1e3375fee01adb66caccd913e7b1 GIT binary patch literal 12288 zcmeI2&5ImG7{)6>qtQe~K~WTI^)RzK)4kcKXtFzoe2{21B<@E%EXz{cQ!~?UPxn|= zy}Off%)yJ`O%y=_dJtVvPu_CyBmp7d$$vnIQ9<$QLG-EqnwoKRy~g{Tlt+lC(FPx*#Ia37JJ%s#t_L1i22X2ywej+56T>#v!cCO z1*`&A0jq#jz$#!BunJfOtO8a6tAJI&D)2v4fYk|^xRsE1_hIn(|9}4X|Mj~Gc>~nI zE#UfHgnSCN!DX-x=D{=IVXzPUe2|bE;Ct{P_yD{GE`bh+z&UUNJOKVUK*&w-CHMkt zgHON}5Q91JC?Md*orGKkpMe0J1vB7D@B|>>&pQbD1zZDfgC%eROo9F2_x*(Y0KNm) zz*pdXpumg30r!JnZ^sAwl1TKRMU;^v~-$Ku?!Bwyg zu7LM|*7+S^FROr6z$#!B7^6U+P&#=OKa|e67k$22%bpiJ5e31Z24<7mIKAA|EG@Jm z75E`v4dXUWqRsY1c4W*MZWwq|s#sGRhPr4rM~#N>@zoYio|$H5wQ1gIMdP|Rt4(uO zuVaX2;H<_pl5xAuMAsN(R%04PqPZHfHaD#DD${J8BTjO5ZcsauAFNv>sfvYc(rL3! zxtyz5p^4`tovqO_Y-a{5L#65l=sdYe$BRP6un?kOBUw;$O?5Zs8tN5ajAF0F)&hRM z!#rPg&1FUVBHvOYovg)5MWJr!*Ln> za^|D^g;^rrT*T^r*mN9cpr&CqNslC}Z&c~kBqOo1Xr_|2BC(u2gU9xOWlB=s=Q|{z zF@)a0CE#IGwP=k_(dUOpny8;-Wac?;IfUPA73(pW)!$^!Q`i{9_$)RIa#4ogmVZxV z!(HcxQQRq=hfIev+GrY=)J5}u$?ME`oR-6>ofwWY8_sUQRV+fR9A?{3KM48D2}2nL z+~Gn*qFg$qZ?wUc*FwV5I#cXOsX~+1>{HUG9z!!Nr-Ns34TFkjr zfdQqZIo@OeUEpE^pE+67o<6=v&xw|?j%zu*`Fl_ zzD)R5ClZjDH&`4f+K59>pZhNS^Z{>Z0pa|1V%bY~OiBB+A)+=dId1x)DILvC@;(pDimekFr zsWdO8MKg%raw~N7!&0GoQ?F3t3!BefaOSD1J}SS#5vZ9;G_Pwbw5RhTO{YqcBE`TG HSNQw|^twX< literal 0 HcmV?d00001 diff --git a/src/screens/SeekHelp/ResourceList/index.tsx b/src/screens/SeekHelp/ResourceList/index.tsx index 0077d81..85ebc75 100644 --- a/src/screens/SeekHelp/ResourceList/index.tsx +++ b/src/screens/SeekHelp/ResourceList/index.tsx @@ -1,7 +1,8 @@ import React, { useEffect, useState } from 'react'; -import { Text, TouchableOpacity, View } from 'react-native'; +import { ScrollView, Text, TouchableOpacity, View } from 'react-native'; +import ResourceT from '@/components/Resource/Resource'; import { getSeekHelpData } from '@/supabase/queries/generalQueries'; -import { Resource } from '@/types/types'; +import { Resource as ResourceType } from '@/types/types'; import { styles } from './styles'; export default function ResourceList() { @@ -12,7 +13,20 @@ export default function ResourceList() { 'Legal Services', 'Government Resources', ]; - const [summaries, setSummaries] = useState([]); + + const tagMapping: Record = { + 'General Resources': ['General'], + 'Health Organizations': ['Health'], + 'LGBT Organizations': ['LGBT'], + 'Legal Services': ['Legal'], + 'Government Resources': ['Government'], + }; + + const [resources, setResources] = useState([]); + const [filteredResources, setFilteredResources] = useState( + [], + ); + const [selectedFilter, setSelectedFilter] = useState(null); useEffect(() => { fetchData(); @@ -21,31 +35,56 @@ export default function ResourceList() { const fetchData = async () => { try { const data = await getSeekHelpData(); - setSummaries(data); + setResources(data); + setFilteredResources(data); } catch (error) { console.error('Error fetching data:', error); } }; + + const applyFilter = (filter: string) => { + setSelectedFilter(filter); + const tags = tagMapping[filter as keyof typeof tagMapping]; + // iterates through resources to check if the tags are equal to the filter + const filtered = resources.filter(resource => + resource.tags.split(',').some((tag: string) => tags.includes(tag.trim())), + ); + + setFilteredResources(filtered); + }; + return ( {filters.map((filter, index) => ( - - {filter} + applyFilter(filter)} + > + {filter} ))} - - - {summaries.length > 0 ? ( - summaries.map((resource, index) => ( - {resource.summary} - )) - ) : ( - Loading... - )} - - + + + {filteredResources.length > 0 ? ( + filteredResources.map((resource, index) => ( + + )) + ) : ( + No resources found + )} + ); } diff --git a/src/screens/SeekHelp/ResourceList/styles.ts b/src/screens/SeekHelp/ResourceList/styles.ts index 80879a5..05c502c 100644 --- a/src/screens/SeekHelp/ResourceList/styles.ts +++ b/src/screens/SeekHelp/ResourceList/styles.ts @@ -8,11 +8,13 @@ export const styles = StyleSheet.create({ padding: 30, }, leftPanel: { - display: 'flex', flexDirection: 'column', justifyContent: 'flex-start', + alignItems: 'flex-end', + gap: 5, width: '25%', paddingRight: 20, + backgroundColor: '#f4f4f4', }, rightPanel: { display: 'flex', @@ -22,13 +24,20 @@ export const styles = StyleSheet.create({ padding: 10, }, filterButton: { - backgroundColor: '#e8e8e8', - alignItems: 'center', - justifyContent: 'center', + backgroundColor: '#fff', borderRadius: 5, marginVertical: 10, paddingVertical: 15, + paddingHorizontal: 20, width: '100%', + alignItems: 'flex-start', + justifyContent: 'center', + borderWidth: 1, + borderColor: '#e0e0e0', + }, + selectedFilterButton: { + backgroundColor: '#e0f7fa', + borderColor: '#00acc1', }, buttonText: { fontSize: 16, diff --git a/src/screens/SeekHelp/index.tsx b/src/screens/SeekHelp/index.tsx index aa87762..e9193c6 100644 --- a/src/screens/SeekHelp/index.tsx +++ b/src/screens/SeekHelp/index.tsx @@ -9,13 +9,13 @@ export default function SeekHelp({ return ( navigation.navigate('ResourceList')} > California navigation.navigate('ResourceList')} > National diff --git a/src/screens/SeekHelp/styles.ts b/src/screens/SeekHelp/styles.ts index 6f6485a..260c172 100644 --- a/src/screens/SeekHelp/styles.ts +++ b/src/screens/SeekHelp/styles.ts @@ -2,20 +2,23 @@ import { StyleSheet } from 'react-native'; export const styles = StyleSheet.create({ container: { - flex: 1, - justifyContent: 'center', + width: '100%', + height: '100%', alignItems: 'center', - marginTop: 10, - padding: 30, + justifyContent: 'center', + backgroundColor: '#f5f5f5', + flexDirection: 'row', + columnGap: 20, }, - button: { - backgroundColor: '#e8e8e8', - alignItems: 'center', + pagebutton: { + borderColor: '#e8e8e8', + backgroundColor: '#ffffff', + borderWidth: 2, + borderRadius: 20, + width: 500, + height: 200, justifyContent: 'center', - borderRadius: 5, - marginVertical: 10, - paddingVertical: 15, - width: '100%', + alignItems: 'center', }, buttonText: { fontSize: 18, From c8ab6a93088aadd501c4d051ad63a062c69c5ec7 Mon Sep 17 00:00:00 2001 From: user Date: Tue, 29 Oct 2024 14:52:38 -0700 Subject: [PATCH 02/10] moved caret + made button collapsable --- src/components/Resource/Resource.tsx | 27 ++++++++++++--------------- src/components/Resource/styles.tsx | 1 + src/types/types.tsx | 10 ++++++++++ 3 files changed, 23 insertions(+), 15 deletions(-) diff --git a/src/components/Resource/Resource.tsx b/src/components/Resource/Resource.tsx index a21d72c..e2f1681 100644 --- a/src/components/Resource/Resource.tsx +++ b/src/components/Resource/Resource.tsx @@ -1,18 +1,9 @@ import React, { useState } from 'react'; import { Text, TouchableOpacity, View } from 'react-native'; import { ListItem } from '@rneui/themed'; +import { SeekHelpProps } from '@/types/types'; import { styles } from './styles'; -interface SeekHelpProps { - org_name: string; - summary: string; - address: string; - phone_number: string; - hotline_number: string; - office_hours: string; - tags: string; -} - export default function ResourceT({ org_name, summary, @@ -26,21 +17,27 @@ export default function ResourceT({ + setExpanded(!expanded)} + > {org_name} {!expanded && ( {summary.slice(0, 60)}... )} - + } isExpanded={expanded} - onPress={() => setExpanded(!expanded)} + onPress={() => setExpanded(!expanded)} // Handles toggling when header is pressed containerStyle={{ padding: 0 }} > {expanded && ( - + setExpanded(false)} // Collapses content when expanded section is pressed + > {summary} @@ -57,7 +54,7 @@ export default function ResourceT({ Office Hours: {office_hours} - + )} diff --git a/src/components/Resource/styles.tsx b/src/components/Resource/styles.tsx index 411a6b1..20b2927 100644 --- a/src/components/Resource/styles.tsx +++ b/src/components/Resource/styles.tsx @@ -13,6 +13,7 @@ export const styles = StyleSheet.create({ }, headerContent: { flexDirection: 'column', + width: '90%', }, orgName: { fontSize: 18, diff --git a/src/types/types.tsx b/src/types/types.tsx index 8efb7ae..b28d506 100644 --- a/src/types/types.tsx +++ b/src/types/types.tsx @@ -10,3 +10,13 @@ export type HealingResource = { is_video: boolean; topics: string[]; }; + +export interface SeekHelpProps { + org_name: string; + summary: string; + address: string; + phone_number: string; + hotline_number: string; + office_hours: string; + tags: string; +} From 8f908e2458a092fda8c7815fea0e80074aaeac58 Mon Sep 17 00:00:00 2001 From: user Date: Tue, 29 Oct 2024 20:06:34 -0700 Subject: [PATCH 03/10] styling changes --- src/components/Resource/styles.tsx | 12 ++++--- src/screens/SeekHelp/ResourceList/index.tsx | 35 ++++++++++-------- src/screens/SeekHelp/ResourceList/styles.ts | 39 ++++++++++++++------- 3 files changed, 55 insertions(+), 31 deletions(-) diff --git a/src/components/Resource/styles.tsx b/src/components/Resource/styles.tsx index 20b2927..3f22d42 100644 --- a/src/components/Resource/styles.tsx +++ b/src/components/Resource/styles.tsx @@ -4,8 +4,10 @@ export const styles = StyleSheet.create({ resourceCard: { backgroundColor: '#fff', borderRadius: 10, - padding: 10, - marginVertical: 5, + padding: 15, + marginVertical: 20, + marginRight: 20, + marginLeft: 20, shadowColor: '#000', shadowOpacity: 0.1, shadowRadius: 5, @@ -13,15 +15,17 @@ export const styles = StyleSheet.create({ }, headerContent: { flexDirection: 'column', - width: '90%', + width: '95%', }, orgName: { fontSize: 18, + paddingTop: 5, fontWeight: 'bold', }, summaryPreview: { fontSize: 14, color: '#666', + paddingBottom: 5, }, expandedContent: { marginTop: 10, @@ -34,7 +38,7 @@ export const styles = StyleSheet.create({ infoContainer: { flexDirection: 'row', alignItems: 'center', - marginBottom: 5, + marginBottom: 10, }, label: { fontWeight: '600', diff --git a/src/screens/SeekHelp/ResourceList/index.tsx b/src/screens/SeekHelp/ResourceList/index.tsx index 85ebc75..447dea1 100644 --- a/src/screens/SeekHelp/ResourceList/index.tsx +++ b/src/screens/SeekHelp/ResourceList/index.tsx @@ -49,7 +49,6 @@ export default function ResourceList() { const filtered = resources.filter(resource => resource.tags.split(',').some((tag: string) => tags.includes(tag.trim())), ); - setFilteredResources(filtered); }; @@ -59,7 +58,11 @@ export default function ResourceList() { {filters.map((filter, index) => ( applyFilter(filter)} > {filter} @@ -69,18 +72,22 @@ export default function ResourceList() { {filteredResources.length > 0 ? ( - filteredResources.map((resource, index) => ( - - )) + filteredResources + .sort(function (a, b) { + return a.org_name.localeCompare(b.org_name); + }) + .map((resource, index) => ( + + )) ) : ( No resources found )} diff --git a/src/screens/SeekHelp/ResourceList/styles.ts b/src/screens/SeekHelp/ResourceList/styles.ts index 05c502c..2d57a8e 100644 --- a/src/screens/SeekHelp/ResourceList/styles.ts +++ b/src/screens/SeekHelp/ResourceList/styles.ts @@ -4,43 +4,56 @@ export const styles = StyleSheet.create({ container: { display: 'flex', flexDirection: 'row', - marginTop: 10, - padding: 30, + height: '100%', }, leftPanel: { flexDirection: 'column', justifyContent: 'flex-start', alignItems: 'flex-end', - gap: 5, width: '25%', - paddingRight: 20, - backgroundColor: '#f4f4f4', + marginLeft: 10, + backgroundColor: '#f7f9fc', + marginRight: 10, + paddingLeft: 10, }, rightPanel: { display: 'flex', flexDirection: 'column', width: '75%', - backgroundColor: '#f8f8f8', + height: '100%', + backgroundColor: '#ffffff', padding: 10, }, filterButton: { - backgroundColor: '#fff', + backgroundColor: '#f7f9fc', borderRadius: 5, marginVertical: 10, - paddingVertical: 15, - paddingHorizontal: 20, + paddingVertical: 5, + marginRight: 10, + marginLeft: 10, + paddingHorizontal: 15, width: '100%', alignItems: 'flex-start', justifyContent: 'center', borderWidth: 1, - borderColor: '#e0e0e0', + borderColor: '#f7f9fc', }, selectedFilterButton: { - backgroundColor: '#e0f7fa', - borderColor: '#00acc1', + backgroundColor: '#e8e8e8', + borderColor: '#e8e8e8', + borderRadius: 5, + marginVertical: 10, + paddingVertical: 5, + marginLeft: 10, + marginRight: 10, + paddingHorizontal: 15, + width: '100%', + alignItems: 'flex-start', + borderWidth: 1, + justifyContent: 'center', }, buttonText: { fontSize: 16, - color: '#333', + color: '#444', }, }); From 810bf5020b81aef87825b74bc0701718fa548c91 Mon Sep 17 00:00:00 2001 From: user Date: Mon, 18 Nov 2024 18:52:18 -0800 Subject: [PATCH 04/10] styling progress --- package-lock.json | 765 ++++++++++++++++++ package.json | 2 + src/assets/images/JDI_LOGO.png | Bin 0 -> 6289 bytes src/assets/images/healing-resources-grey.svg | 5 + .../images/healing-resources-orange.svg | 5 + src/assets/images/help-resources-grey.svg | 3 + src/assets/images/help-resources-orange.svg | 3 + src/assets/images/home-grey.svg | 3 + src/assets/images/home-orange.svg | 3 + src/assets/images/logo.svg | 9 + src/assets/images/prea-grey.svg | 14 + src/assets/images/prea-orange.svg | 14 + src/components/TabBarItem/TabBarItem.tsx | 46 ++ src/screens/Home/index.tsx | 24 +- src/screens/Home/styles.ts | 70 ++ src/styles/colors.ts | 4 + 16 files changed, 968 insertions(+), 2 deletions(-) create mode 100644 src/assets/images/JDI_LOGO.png create mode 100644 src/assets/images/healing-resources-grey.svg create mode 100644 src/assets/images/healing-resources-orange.svg create mode 100644 src/assets/images/help-resources-grey.svg create mode 100644 src/assets/images/help-resources-orange.svg create mode 100644 src/assets/images/home-grey.svg create mode 100644 src/assets/images/home-orange.svg create mode 100644 src/assets/images/logo.svg create mode 100644 src/assets/images/prea-grey.svg create mode 100644 src/assets/images/prea-orange.svg create mode 100644 src/components/TabBarItem/TabBarItem.tsx create mode 100644 src/screens/Home/styles.ts create mode 100644 src/styles/colors.ts diff --git a/package-lock.json b/package-lock.json index 9c0bbb6..f09b5b7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -24,6 +24,7 @@ "react-native-paper": "^5.12.5", "react-native-safe-area-context": "4.10.5", "react-native-screens": "3.31.1", + "react-native-svg": "^15.9.0", "react-native-video": "^6.6.4" }, "devDependencies": { @@ -38,6 +39,7 @@ "eslint-plugin-prettier": "^5.2.1", "husky": "^9.1.5", "prettier": "^3.3.3", + "react-native-svg-transformer": "^1.5.0", "typescript": "~5.3.3", "yarnhook": "^0.6.2" } @@ -6561,6 +6563,449 @@ "@supabase/storage-js": "2.7.1" } }, + "node_modules/@svgr/babel-plugin-add-jsx-attribute": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz", + "integrity": "sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-remove-jsx-attribute": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-8.0.0.tgz", + "integrity": "sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-8.0.0.tgz", + "integrity": "sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-8.0.0.tgz", + "integrity": "sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-svg-dynamic-title": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-8.0.0.tgz", + "integrity": "sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-svg-em-dimensions": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-8.0.0.tgz", + "integrity": "sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-transform-react-native-svg": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-8.1.0.tgz", + "integrity": "sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-transform-svg-component": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-8.0.0.tgz", + "integrity": "sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-preset": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-8.1.0.tgz", + "integrity": "sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug==", + "dev": true, + "license": "MIT", + "dependencies": { + "@svgr/babel-plugin-add-jsx-attribute": "8.0.0", + "@svgr/babel-plugin-remove-jsx-attribute": "8.0.0", + "@svgr/babel-plugin-remove-jsx-empty-expression": "8.0.0", + "@svgr/babel-plugin-replace-jsx-attribute-value": "8.0.0", + "@svgr/babel-plugin-svg-dynamic-title": "8.0.0", + "@svgr/babel-plugin-svg-em-dimensions": "8.0.0", + "@svgr/babel-plugin-transform-react-native-svg": "8.1.0", + "@svgr/babel-plugin-transform-svg-component": "8.0.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/core": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/core/-/core-8.1.0.tgz", + "integrity": "sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.21.3", + "@svgr/babel-preset": "8.1.0", + "camelcase": "^6.2.0", + "cosmiconfig": "^8.1.3", + "snake-case": "^3.0.4" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/core/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "license": "Python-2.0" + }, + "node_modules/@svgr/core/node_modules/cosmiconfig": { + "version": "8.3.6", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", + "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", + "dev": true, + "license": "MIT", + "dependencies": { + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0", + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@svgr/core/node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@svgr/core/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@svgr/core/node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@svgr/core/node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/@svgr/hast-util-to-babel-ast": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-8.0.0.tgz", + "integrity": "sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.21.3", + "entities": "^4.4.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/plugin-jsx": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-8.1.0.tgz", + "integrity": "sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.21.3", + "@svgr/babel-preset": "8.1.0", + "@svgr/hast-util-to-babel-ast": "8.0.0", + "svg-parser": "^2.0.4" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@svgr/core": "*" + } + }, + "node_modules/@svgr/plugin-svgo": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-8.1.0.tgz", + "integrity": "sha512-Ywtl837OGO9pTLIN/onoWLmDQ4zFUycI1g76vuKGEz6evR/ZTJlJuz3G/fIkb6OVBJ2g0o6CGJzaEjfmEo3AHA==", + "dev": true, + "license": "MIT", + "dependencies": { + "cosmiconfig": "^8.1.3", + "deepmerge": "^4.3.1", + "svgo": "^3.0.2" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@svgr/core": "*" + } + }, + "node_modules/@svgr/plugin-svgo/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "license": "Python-2.0" + }, + "node_modules/@svgr/plugin-svgo/node_modules/cosmiconfig": { + "version": "8.3.6", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", + "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", + "dev": true, + "license": "MIT", + "dependencies": { + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0", + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@svgr/plugin-svgo/node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@svgr/plugin-svgo/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@svgr/plugin-svgo/node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@svgr/plugin-svgo/node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10.13.0" + } + }, "node_modules/@types/istanbul-lib-coverage": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", @@ -7651,6 +8096,12 @@ "node": ">= 6" } }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "license": "ISC" + }, "node_modules/bplist-creator": { "version": "0.0.7", "resolved": "https://registry.npmjs.org/bplist-creator/-/bplist-creator-0.0.7.tgz", @@ -8337,6 +8788,92 @@ "node": ">=8" } }, + "node_modules/css-select": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", + "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "license": "MIT", + "dependencies": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/css-tree/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/csso": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", + "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "css-tree": "~2.2.0" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/csso/node_modules/css-tree": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", + "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", + "dev": true, + "license": "MIT", + "dependencies": { + "mdn-data": "2.0.28", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/csso/node_modules/mdn-data": { + "version": "2.0.28", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", + "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==", + "dev": true, + "license": "CC0-1.0" + }, "node_modules/csstype": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", @@ -8619,6 +9156,72 @@ "node": ">=6.0.0" } }, + "node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "BSD-2-Clause" + }, + "node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "license": "BSD-2-Clause", + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", + "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "license": "BSD-2-Clause", + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "dev": true, + "license": "MIT", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, "node_modules/dotenv": { "version": "16.4.5", "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz", @@ -8694,6 +9297,18 @@ "node": ">=10.13.0" } }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, "node_modules/env-editor": { "version": "0.4.2", "resolved": "https://registry.npmjs.org/env-editor/-/env-editor-0.4.2.tgz", @@ -12172,6 +12787,13 @@ "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true, + "license": "MIT" + }, "node_modules/json-schema-deref-sync": { "version": "0.13.0", "resolved": "https://registry.npmjs.org/json-schema-deref-sync/-/json-schema-deref-sync-0.13.0.tgz", @@ -12603,6 +13225,16 @@ "loose-envify": "cli.js" } }, + "node_modules/lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.0.3" + } + }, "node_modules/lru-cache": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", @@ -12675,6 +13307,12 @@ "integrity": "sha512-c2YOUbp33+6thdCUi34xIyOU/a7bvGKj/3DB1iaPMTuPHf/Q2d5s4sn1FaCOO43XkXggnb08y5W2PU8UNYNLKQ==", "license": "MIT" }, + "node_modules/mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", + "license": "CC0-1.0" + }, "node_modules/memoize-one": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-5.2.1.tgz", @@ -13405,6 +14043,17 @@ "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", "license": "MIT" }, + "node_modules/no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dev": true, + "license": "MIT", + "dependencies": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, "node_modules/nocache": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/nocache/-/nocache-3.0.4.tgz", @@ -13528,6 +14177,18 @@ "node": ">=4" } }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, "node_modules/nullthrows": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/nullthrows/-/nullthrows-1.1.1.tgz", @@ -13908,6 +14569,13 @@ "cross-spawn": "^7.0.3" } }, + "node_modules/path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==", + "dev": true, + "license": "MIT" + }, "node_modules/path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", @@ -14662,6 +15330,38 @@ "react-native": "*" } }, + "node_modules/react-native-svg": { + "version": "15.9.0", + "resolved": "https://registry.npmjs.org/react-native-svg/-/react-native-svg-15.9.0.tgz", + "integrity": "sha512-pwo7hteAM0P8jNpPGQtiSd0SnbBhE8tNd94LT8AcZcbnH5AJdXBIcXU4+tWYYeGUjiNAH2E5d0T5XIfnvaz1gA==", + "license": "MIT", + "dependencies": { + "css-select": "^5.1.0", + "css-tree": "^1.1.3", + "warn-once": "0.1.1" + }, + "peerDependencies": { + "react": "*", + "react-native": "*" + } + }, + "node_modules/react-native-svg-transformer": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/react-native-svg-transformer/-/react-native-svg-transformer-1.5.0.tgz", + "integrity": "sha512-RG5fSWJT7mjCQYocgYFUo1KYPLOoypPVG5LQab+pZZO7m4ciGaQIe0mhok3W4R5jLQsEXKo0u+aQGkZV/bZG7w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@svgr/core": "^8.1.0", + "@svgr/plugin-jsx": "^8.1.0", + "@svgr/plugin-svgo": "^8.1.0", + "path-dirname": "^1.0.2" + }, + "peerDependencies": { + "react-native": ">=0.59.0", + "react-native-svg": ">=12.0.0" + } + }, "node_modules/react-native-vector-icons": { "version": "10.2.0", "resolved": "https://registry.npmjs.org/react-native-vector-icons/-/react-native-vector-icons-10.2.0.tgz", @@ -15655,6 +16355,17 @@ "node": ">=8.0.0" } }, + "node_modules/snake-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-3.0.4.tgz", + "integrity": "sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==", + "dev": true, + "license": "MIT", + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, "node_modules/source-map": { "version": "0.7.4", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", @@ -16140,6 +16851,60 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/svg-parser": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", + "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/svgo": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.3.2.tgz", + "integrity": "sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^5.1.0", + "css-tree": "^2.3.1", + "css-what": "^6.1.0", + "csso": "^5.0.5", + "picocolors": "^1.0.0" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/svgo" + } + }, + "node_modules/svgo/node_modules/css-tree": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", + "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", + "dev": true, + "license": "MIT", + "dependencies": { + "mdn-data": "2.0.30", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + } + }, + "node_modules/svgo/node_modules/mdn-data": { + "version": "2.0.30", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", + "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", + "dev": true, + "license": "CC0-1.0" + }, "node_modules/synckit": { "version": "0.9.1", "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.9.1.tgz", diff --git a/package.json b/package.json index 03624be..a48fa18 100644 --- a/package.json +++ b/package.json @@ -31,6 +31,7 @@ "react-native-paper": "^5.12.5", "react-native-safe-area-context": "4.10.5", "react-native-screens": "3.31.1", + "react-native-svg": "^15.9.0", "react-native-video": "^6.6.4" }, "devDependencies": { @@ -45,6 +46,7 @@ "eslint-plugin-prettier": "^5.2.1", "husky": "^9.1.5", "prettier": "^3.3.3", + "react-native-svg-transformer": "^1.5.0", "typescript": "~5.3.3", "yarnhook": "^0.6.2" }, diff --git a/src/assets/images/JDI_LOGO.png b/src/assets/images/JDI_LOGO.png new file mode 100644 index 0000000000000000000000000000000000000000..7618ddcfc434353a187b9a3d3c6fd3b839ec425d GIT binary patch literal 6289 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 Hu0mjfqyR{S literal 0 HcmV?d00001 diff --git a/src/assets/images/healing-resources-grey.svg b/src/assets/images/healing-resources-grey.svg new file mode 100644 index 0000000..da51022 --- /dev/null +++ b/src/assets/images/healing-resources-grey.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/assets/images/healing-resources-orange.svg b/src/assets/images/healing-resources-orange.svg new file mode 100644 index 0000000..79fb979 --- /dev/null +++ b/src/assets/images/healing-resources-orange.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/assets/images/help-resources-grey.svg b/src/assets/images/help-resources-grey.svg new file mode 100644 index 0000000..ab48ca7 --- /dev/null +++ b/src/assets/images/help-resources-grey.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/assets/images/help-resources-orange.svg b/src/assets/images/help-resources-orange.svg new file mode 100644 index 0000000..932e3aa --- /dev/null +++ b/src/assets/images/help-resources-orange.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/assets/images/home-grey.svg b/src/assets/images/home-grey.svg new file mode 100644 index 0000000..2513f04 --- /dev/null +++ b/src/assets/images/home-grey.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/assets/images/home-orange.svg b/src/assets/images/home-orange.svg new file mode 100644 index 0000000..daf4d84 --- /dev/null +++ b/src/assets/images/home-orange.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/assets/images/logo.svg b/src/assets/images/logo.svg new file mode 100644 index 0000000..7c0d45f --- /dev/null +++ b/src/assets/images/logo.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src/assets/images/prea-grey.svg b/src/assets/images/prea-grey.svg new file mode 100644 index 0000000..fc9ef23 --- /dev/null +++ b/src/assets/images/prea-grey.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/assets/images/prea-orange.svg b/src/assets/images/prea-orange.svg new file mode 100644 index 0000000..45b92fc --- /dev/null +++ b/src/assets/images/prea-orange.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/components/TabBarItem/TabBarItem.tsx b/src/components/TabBarItem/TabBarItem.tsx new file mode 100644 index 0000000..aedb5fc --- /dev/null +++ b/src/components/TabBarItem/TabBarItem.tsx @@ -0,0 +1,46 @@ +import { Text, View } from 'react-native'; + +// import { colors } from '@/styles/colors'; + +interface TabBarItemProps { + icon: React.ReactNode; + label: string; + focused: boolean; +} + +//Inline styling required --> can't make a styles.ts in this directory otherwise it'll make a new bottom tab idk why +export default function TabBarItem({ icon, label, focused }: TabBarItemProps) { + return ( + + + {icon} + + {label} + + + + ); +} diff --git a/src/screens/Home/index.tsx b/src/screens/Home/index.tsx index a8687d0..19114ba 100644 --- a/src/screens/Home/index.tsx +++ b/src/screens/Home/index.tsx @@ -1,5 +1,25 @@ -import { Text } from 'react-native'; +import React from 'react'; +import { Button, Text, TouchableOpacity, View } from 'react-native'; +import { styles } from './styles'; export default function HomeScreen() { - return HOME!!!; + return ( + + + Welcome! + + Welcome to a place of support and healing. This app is here to provide + you with resources designed to help you reclaim your sense of safety + and strength. Whether you’re seeking information, connection, or + guidance, we’re here to offer tools that empower you on your journey. + + + Ready to start? Click “View Tutorial” to learn how to use the app. + + + View Tutorial + + + + ); } diff --git a/src/screens/Home/styles.ts b/src/screens/Home/styles.ts new file mode 100644 index 0000000..09fa376 --- /dev/null +++ b/src/screens/Home/styles.ts @@ -0,0 +1,70 @@ +import { StyleSheet } from 'react-native'; + +export const styles = StyleSheet.create({ + container: { + width: '100%', + height: '100%', + alignItems: 'center', + justifyContent: 'center', + backgroundColor: '#f5f5f5', + flexDirection: 'row', + columnGap: 20, + }, + welcomeBox: { + borderColor: '#e8e8e8', + backgroundColor: '#ffffff', + borderWidth: 2, + borderRadius: 15, + paddingTop: 40, + width: '75%', + height: '60%', + alignItems: 'center', + flexDirection: 'column', + shadowColor: '#000', + shadowOpacity: 0.1, + shadowRadius: 3, + shadowOffset: { width: 0, height: 1 }, + columnGap: 20, + flexWrap: 'wrap', + padding: 10, + rowGap: 60, + }, + welcomeText: { + fontSize: 40, + color: '#333', + fontWeight: '500', + }, + welcomeBlurb: { + fontSize: 15, + color: '#4C4C4C', + fontWeight: '500', + marginRight: 15, + marginLeft: 15, + textAlign: 'center', + }, + + viewTutorialText: { + fontSize: 20, + color: '#4C4C4C', + fontWeight: '500', + marginRight: 15, + marginLeft: 15, + }, + Button: { + backgroundColor: '#EF8B49', + flexDirection: 'row', + alignItems: 'center', + justifyContent: 'center', + borderRadius: 10, + width: '30%', + height: 40, + shadowColor: '#000', + shadowOpacity: 0.1, + shadowRadius: 3, + shadowOffset: { width: 0, height: 1 }, + }, + buttonText: { + fontSize: 20, + color: '#FFF', + }, +}); diff --git a/src/styles/colors.ts b/src/styles/colors.ts new file mode 100644 index 0000000..d2b2fe6 --- /dev/null +++ b/src/styles/colors.ts @@ -0,0 +1,4 @@ +export const colors = { + orange: '#E37F1D', + grey: '#757575', +}; From 18935d8778b83071a8dba44063613ba1d3b98aa9 Mon Sep 17 00:00:00 2001 From: user Date: Sat, 26 Oct 2024 15:14:46 -0700 Subject: [PATCH 05/10] done seekHelp midfi --- package-lock.json | 162 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 162 insertions(+) diff --git a/package-lock.json b/package-lock.json index 4f29241..245ed7f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,6 +8,7 @@ "name": "mobile-app-template", "version": "1.0.0", "dependencies": { +<<<<<<< HEAD "@react-navigation/bottom-tabs": "^7.0.6", "@react-navigation/drawer": "^7.0.6", "@react-navigation/native": "^7.0.3", @@ -23,6 +24,21 @@ "react-native-elements": "^3.4.3", "react-native-gesture-handler": "^2.21.1", "react-native-media-controls": "^2.3.0", +======= + "@react-navigation/bottom-tabs": "^6.6.1", + "@react-navigation/material-bottom-tabs": "^6.2.29", + "@react-navigation/native": "^6.1.18", + "@react-navigation/native-stack": "^6.11.0", + "@rneui/base": "^4.0.0-rc.7", + "@rneui/themed": "^4.0.0-rc.8", + "@supabase/supabase-js": "^2.45.6", + "expo": "~51.0.21", + "expo-av": "~14.0.7", + "expo-status-bar": "~1.12.1", + "react": "18.2.0", + "react-native": "^0.74.5", + "react-native-elements": "^3.4.3", +>>>>>>> 0c5b6a3 (done seekHelp midfi) "react-native-paper": "^5.12.5", "react-native-reanimated": "^3.16.1", "react-native-render-html": "^6.3.4", @@ -4462,7 +4478,79 @@ }, "node_modules/@rneui/base": { "version": "4.0.0-rc.7", +<<<<<<< HEAD + "license": "MIT", +======= + "resolved": "https://registry.npmjs.org/@rneui/base/-/base-4.0.0-rc.7.tgz", + "integrity": "sha512-dffzoYek3Qp+7wJzC42QjI/Fu1HOUNxFIR88t1laDrBV5QZQB55f+Vu5zLbC80/bh1b8fYtl63HTIWpORuA3Eg==", + "license": "MIT", + "dependencies": { + "@types/react-native-vector-icons": "^6.4.10", + "color": "^3.2.1", + "deepmerge": "^4.2.2", + "hoist-non-react-statics": "^3.3.2", + "react-native-ratings": "^8.1.0", + "react-native-size-matters": "^0.4.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/react-native-elements" + }, + "peerDependencies": { + "react-native-safe-area-context": "^3.1.9 || ^4.0.0", + "react-native-vector-icons": ">7.0.0" + } + }, + "node_modules/@rneui/base/node_modules/color": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", + "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.3", + "color-string": "^1.6.0" + } + }, + "node_modules/@rneui/base/node_modules/react-native-ratings": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/react-native-ratings/-/react-native-ratings-8.1.0.tgz", + "integrity": "sha512-+QOJ4G3NjVkI1D+tk4EGx1dCvVfbD2nQdkrj9cXrcAoEiwmbep4z4bZbCKmWMpQ5h2dqbxABU8/eBnbDmvAc3g==", + "license": "MIT", + "dependencies": { + "lodash": "^4.17.15" + }, + "peerDependencies": { + "react": "*", + "react-native": "*" + } + }, + "node_modules/@rneui/base/node_modules/react-native-size-matters": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/react-native-size-matters/-/react-native-size-matters-0.4.2.tgz", + "integrity": "sha512-DKE3f/sdcozd24oASgkP1iGg+YU3HoajRa5k3a4wkRzpiqREq8SGX12Y5zBgAt/8IivLQoTMYkyQu1/Giuy+zQ==", + "license": "MIT", + "peerDependencies": { + "react-native": "*" + } + }, + "node_modules/@rneui/themed": { + "version": "4.0.0-rc.8", + "resolved": "https://registry.npmjs.org/@rneui/themed/-/themed-4.0.0-rc.8.tgz", + "integrity": "sha512-8L/XOrL9OK/r+/iBLvx63TbIdZOXF8SIjN9eArMYm6kRbMr8m4BitXllDN8nBhBsSPNYvL6EAgjk+i2MfY4sBA==", "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/react-native-elements" + }, + "peerDependencies": { + "@rneui/base": "4.0.0-rc.7" + } + }, + "node_modules/@rnx-kit/chromium-edge-launcher": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@rnx-kit/chromium-edge-launcher/-/chromium-edge-launcher-1.0.0.tgz", + "integrity": "sha512-lzD84av1ZQhYUS+jsGqJiCMaJO2dn9u+RTT9n9q6D3SaKVwWqv+7AoRKqBu19bkwyE+iFRl1ymr40QS90jVFYg==", +>>>>>>> 0c5b6a3 (done seekHelp midfi) "dependencies": { "@types/react-native-vector-icons": "^6.4.10", "color": "^3.2.1", @@ -4676,6 +4764,7 @@ }, "node_modules/@types/prop-types": { "version": "15.7.12", +<<<<<<< HEAD "license": "MIT" }, "node_modules/@types/ramda": { @@ -4690,6 +4779,15 @@ "node_modules/@types/react": { "version": "18.3.12", "license": "MIT", +======= + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.12.tgz", + "integrity": "sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==" + }, + "node_modules/@types/react": { + "version": "18.2.79", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.79.tgz", + "integrity": "sha512-RwGAGXPl9kSXwdNTafkOEuFrTBD5SA2B3iEB96xi8+xu5ddUa/cpvyVCSNn+asgLCTHkb5ZxN8gbuibYJi4s1w==", +>>>>>>> 0c5b6a3 (done seekHelp midfi) "dependencies": { "@types/prop-types": "*", "csstype": "^3.0.2" @@ -4697,6 +4795,11 @@ }, "node_modules/@types/react-native": { "version": "0.70.19", +<<<<<<< HEAD +======= + "resolved": "https://registry.npmjs.org/@types/react-native/-/react-native-0.70.19.tgz", + "integrity": "sha512-c6WbyCgWTBgKKMESj/8b4w+zWcZSsCforson7UdXtXMecG3MxCinYi6ihhrHVPyUrVzORsvEzK8zg32z4pK6Sg==", +>>>>>>> 0c5b6a3 (done seekHelp midfi) "license": "MIT", "dependencies": { "@types/react": "*" @@ -4704,6 +4807,11 @@ }, "node_modules/@types/react-native-vector-icons": { "version": "6.4.18", +<<<<<<< HEAD +======= + "resolved": "https://registry.npmjs.org/@types/react-native-vector-icons/-/react-native-vector-icons-6.4.18.tgz", + "integrity": "sha512-YGlNWb+k5laTBHd7+uZowB9DpIK3SXUneZqAiKQaj1jnJCZM0x71GDim5JCTMi4IFkhc9m8H/Gm28T5BjyivUw==", +>>>>>>> 0c5b6a3 (done seekHelp midfi) "license": "MIT", "dependencies": { "@types/react": "*", @@ -6326,6 +6434,16 @@ }, "node_modules/csstype": { "version": "3.1.3", +<<<<<<< HEAD +======= + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" + }, + "node_modules/dag-map": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/dag-map/-/dag-map-1.0.2.tgz", + "integrity": "sha512-+LSAiGFwQ9dRnRdOeaj7g47ZFJcOUPukAP8J3A3fuZ1g9Y44BG+P1sgApjLXTQPOzC4+7S9Wr8kXsfpINM4jpw==", +>>>>>>> 0c5b6a3 (done seekHelp midfi) "license": "MIT" }, "node_modules/data-view-buffer": { @@ -9705,6 +9823,12 @@ "version": "4.5.0", "license": "MIT" }, + "node_modules/lodash.isequal": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", + "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==", + "license": "MIT" + }, "node_modules/lodash.merge": { "version": "4.6.2", "dev": true, @@ -10665,6 +10789,11 @@ }, "node_modules/opencollective-postinstall": { "version": "2.0.3", +<<<<<<< HEAD +======= + "resolved": "https://registry.npmjs.org/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz", + "integrity": "sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q==", +>>>>>>> 0c5b6a3 (done seekHelp midfi) "license": "MIT", "bin": { "opencollective-postinstall": "index.js" @@ -11413,6 +11542,7 @@ } } }, +<<<<<<< HEAD "node_modules/react-native-drawer-layout": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/react-native-drawer-layout/-/react-native-drawer-layout-4.0.1.tgz", @@ -11430,6 +11560,12 @@ }, "node_modules/react-native-elements": { "version": "3.4.3", +======= + "node_modules/react-native-elements": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/react-native-elements/-/react-native-elements-3.4.3.tgz", + "integrity": "sha512-VtZc25EecPZyUBER85zFK9ZbY6kkUdcm1ZwJ9hdoGSCr1R/GFgxor4jngOcSYeMvQ+qimd5No44OVJW3rSJECA==", +>>>>>>> 0c5b6a3 (done seekHelp midfi) "hasInstallScript": true, "license": "MIT", "dependencies": { @@ -11449,12 +11585,18 @@ }, "node_modules/react-native-elements/node_modules/color": { "version": "3.2.1", +<<<<<<< HEAD +======= + "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", + "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", +>>>>>>> 0c5b6a3 (done seekHelp midfi) "license": "MIT", "dependencies": { "color-convert": "^1.9.3", "color-string": "^1.6.0" } }, +<<<<<<< HEAD "node_modules/react-native-elements/node_modules/react-native-ratings": { "version": "8.0.4", "license": "MIT", @@ -11500,6 +11642,8 @@ "react-native": ">=0.60" } }, +======= +>>>>>>> 0c5b6a3 (done seekHelp midfi) "node_modules/react-native-paper": { "version": "5.12.5", "license": "MIT", @@ -11531,7 +11675,13 @@ } }, "node_modules/react-native-ratings": { +<<<<<<< HEAD "version": "8.1.0", +======= + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/react-native-ratings/-/react-native-ratings-8.0.4.tgz", + "integrity": "sha512-Xczu5lskIIRD6BEdz9A0jDRpEck/SFxRqiglkXi0u67yAtI1/pcJC76P4MukCbT8K4BPVl+42w83YqXBoBRl7A==", +>>>>>>> 0c5b6a3 (done seekHelp midfi) "license": "MIT", "dependencies": { "lodash": "^4.17.15" @@ -11541,6 +11691,7 @@ "react-native": "*" } }, +<<<<<<< HEAD "node_modules/react-native-reanimated": { "version": "3.16.1", "license": "MIT", @@ -11584,6 +11735,8 @@ "react-native": "*" } }, +======= +>>>>>>> 0c5b6a3 (done seekHelp midfi) "node_modules/react-native-safe-area-context": { "version": "4.12.0", "license": "MIT", @@ -11605,12 +11758,19 @@ } }, "node_modules/react-native-size-matters": { +<<<<<<< HEAD "version": "0.4.2", +======= + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/react-native-size-matters/-/react-native-size-matters-0.3.1.tgz", + "integrity": "sha512-mKOfBLIBFBcs9br1rlZDvxD5+mAl8Gfr5CounwJtxI6Z82rGrMO+Kgl9EIg3RMVf3G855a85YVqHJL2f5EDRlw==", +>>>>>>> 0c5b6a3 (done seekHelp midfi) "license": "MIT", "peerDependencies": { "react-native": "*" } }, +<<<<<<< HEAD "node_modules/react-native-slider": { "version": "0.11.0", "license": "MIT", @@ -11618,6 +11778,8 @@ "prop-types": "^15.5.6" } }, +======= +>>>>>>> 0c5b6a3 (done seekHelp midfi) "node_modules/react-native-vector-icons": { "version": "10.2.0", "resolved": "https://registry.npmjs.org/react-native-vector-icons/-/react-native-vector-icons-10.2.0.tgz", From 589befb37cc1b17bb458f8f4a1f20f3765c65365 Mon Sep 17 00:00:00 2001 From: user Date: Mon, 18 Nov 2024 18:52:18 -0800 Subject: [PATCH 06/10] styling progress --- package-lock.json | 1010 ++++++++++++++--- package.json | 1 + src/assets/images/JDI_LOGO.png | Bin 0 -> 6289 bytes src/assets/images/healing-resources-grey.svg | 5 + .../images/healing-resources-orange.svg | 5 + src/assets/images/help-resources-grey.svg | 3 + src/assets/images/help-resources-orange.svg | 3 + src/assets/images/home-grey.svg | 3 + src/assets/images/home-orange.svg | 3 + src/assets/images/logo.svg | 9 + src/assets/images/prea-grey.svg | 14 + src/assets/images/prea-orange.svg | 14 + src/components/TabBarItem/TabBarItem.tsx | 46 + src/screens/Home/index.tsx | 24 +- src/screens/Home/styles.ts | 70 ++ src/styles/colors.ts | 4 + 16 files changed, 1023 insertions(+), 191 deletions(-) create mode 100644 src/assets/images/JDI_LOGO.png create mode 100644 src/assets/images/healing-resources-grey.svg create mode 100644 src/assets/images/healing-resources-orange.svg create mode 100644 src/assets/images/help-resources-grey.svg create mode 100644 src/assets/images/help-resources-orange.svg create mode 100644 src/assets/images/home-grey.svg create mode 100644 src/assets/images/home-orange.svg create mode 100644 src/assets/images/logo.svg create mode 100644 src/assets/images/prea-grey.svg create mode 100644 src/assets/images/prea-orange.svg create mode 100644 src/components/TabBarItem/TabBarItem.tsx create mode 100644 src/screens/Home/styles.ts create mode 100644 src/styles/colors.ts diff --git a/package-lock.json b/package-lock.json index 245ed7f..0ac486c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,7 +8,6 @@ "name": "mobile-app-template", "version": "1.0.0", "dependencies": { -<<<<<<< HEAD "@react-navigation/bottom-tabs": "^7.0.6", "@react-navigation/drawer": "^7.0.6", "@react-navigation/native": "^7.0.3", @@ -24,21 +23,6 @@ "react-native-elements": "^3.4.3", "react-native-gesture-handler": "^2.21.1", "react-native-media-controls": "^2.3.0", -======= - "@react-navigation/bottom-tabs": "^6.6.1", - "@react-navigation/material-bottom-tabs": "^6.2.29", - "@react-navigation/native": "^6.1.18", - "@react-navigation/native-stack": "^6.11.0", - "@rneui/base": "^4.0.0-rc.7", - "@rneui/themed": "^4.0.0-rc.8", - "@supabase/supabase-js": "^2.45.6", - "expo": "~51.0.21", - "expo-av": "~14.0.7", - "expo-status-bar": "~1.12.1", - "react": "18.2.0", - "react-native": "^0.74.5", - "react-native-elements": "^3.4.3", ->>>>>>> 0c5b6a3 (done seekHelp midfi) "react-native-paper": "^5.12.5", "react-native-reanimated": "^3.16.1", "react-native-render-html": "^6.3.4", @@ -60,6 +44,7 @@ "eslint-plugin-prettier": "^5.2.1", "husky": "^9.1.5", "prettier": "^3.3.3", + "react-native-svg-transformer": "^1.5.0", "typescript": "~5.3.3", "yarnhook": "^0.6.2" } @@ -4478,11 +4463,6 @@ }, "node_modules/@rneui/base": { "version": "4.0.0-rc.7", -<<<<<<< HEAD - "license": "MIT", -======= - "resolved": "https://registry.npmjs.org/@rneui/base/-/base-4.0.0-rc.7.tgz", - "integrity": "sha512-dffzoYek3Qp+7wJzC42QjI/Fu1HOUNxFIR88t1laDrBV5QZQB55f+Vu5zLbC80/bh1b8fYtl63HTIWpORuA3Eg==", "license": "MIT", "dependencies": { "@types/react-native-vector-icons": "^6.4.10", @@ -4501,73 +4481,6 @@ "react-native-vector-icons": ">7.0.0" } }, - "node_modules/@rneui/base/node_modules/color": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", - "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", - "license": "MIT", - "dependencies": { - "color-convert": "^1.9.3", - "color-string": "^1.6.0" - } - }, - "node_modules/@rneui/base/node_modules/react-native-ratings": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/react-native-ratings/-/react-native-ratings-8.1.0.tgz", - "integrity": "sha512-+QOJ4G3NjVkI1D+tk4EGx1dCvVfbD2nQdkrj9cXrcAoEiwmbep4z4bZbCKmWMpQ5h2dqbxABU8/eBnbDmvAc3g==", - "license": "MIT", - "dependencies": { - "lodash": "^4.17.15" - }, - "peerDependencies": { - "react": "*", - "react-native": "*" - } - }, - "node_modules/@rneui/base/node_modules/react-native-size-matters": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/react-native-size-matters/-/react-native-size-matters-0.4.2.tgz", - "integrity": "sha512-DKE3f/sdcozd24oASgkP1iGg+YU3HoajRa5k3a4wkRzpiqREq8SGX12Y5zBgAt/8IivLQoTMYkyQu1/Giuy+zQ==", - "license": "MIT", - "peerDependencies": { - "react-native": "*" - } - }, - "node_modules/@rneui/themed": { - "version": "4.0.0-rc.8", - "resolved": "https://registry.npmjs.org/@rneui/themed/-/themed-4.0.0-rc.8.tgz", - "integrity": "sha512-8L/XOrL9OK/r+/iBLvx63TbIdZOXF8SIjN9eArMYm6kRbMr8m4BitXllDN8nBhBsSPNYvL6EAgjk+i2MfY4sBA==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/react-native-elements" - }, - "peerDependencies": { - "@rneui/base": "4.0.0-rc.7" - } - }, - "node_modules/@rnx-kit/chromium-edge-launcher": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@rnx-kit/chromium-edge-launcher/-/chromium-edge-launcher-1.0.0.tgz", - "integrity": "sha512-lzD84av1ZQhYUS+jsGqJiCMaJO2dn9u+RTT9n9q6D3SaKVwWqv+7AoRKqBu19bkwyE+iFRl1ymr40QS90jVFYg==", ->>>>>>> 0c5b6a3 (done seekHelp midfi) - "dependencies": { - "@types/react-native-vector-icons": "^6.4.10", - "color": "^3.2.1", - "deepmerge": "^4.2.2", - "hoist-non-react-statics": "^3.3.2", - "react-native-ratings": "^8.1.0", - "react-native-size-matters": "^0.4.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/react-native-elements" - }, - "peerDependencies": { - "react-native-safe-area-context": "^3.1.9 || ^4.0.0", - "react-native-vector-icons": ">7.0.0" - } - }, "node_modules/@rneui/base/node_modules/color": { "version": "3.2.1", "license": "MIT", @@ -4631,50 +4544,519 @@ "@supabase/node-fetch": "^2.6.14" } }, - "node_modules/@supabase/node-fetch": { - "version": "2.6.15", + "node_modules/@supabase/node-fetch": { + "version": "2.6.15", + "license": "MIT", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + } + }, + "node_modules/@supabase/postgrest-js": { + "version": "1.16.3", + "license": "MIT", + "dependencies": { + "@supabase/node-fetch": "^2.6.14" + } + }, + "node_modules/@supabase/realtime-js": { + "version": "2.10.7", + "license": "MIT", + "dependencies": { + "@supabase/node-fetch": "^2.6.14", + "@types/phoenix": "^1.5.4", + "@types/ws": "^8.5.10", + "ws": "^8.14.2" + } + }, + "node_modules/@supabase/storage-js": { + "version": "2.7.1", + "license": "MIT", + "dependencies": { + "@supabase/node-fetch": "^2.6.14" + } + }, + "node_modules/@supabase/supabase-js": { + "version": "2.45.6", + "license": "MIT", + "dependencies": { + "@supabase/auth-js": "2.65.1", + "@supabase/functions-js": "2.4.3", + "@supabase/node-fetch": "2.6.15", + "@supabase/postgrest-js": "1.16.3", + "@supabase/realtime-js": "2.10.7", + "@supabase/storage-js": "2.7.1" + } + }, + "node_modules/@svgr/babel-plugin-add-jsx-attribute": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz", + "integrity": "sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-remove-jsx-attribute": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-8.0.0.tgz", + "integrity": "sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-8.0.0.tgz", + "integrity": "sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-8.0.0.tgz", + "integrity": "sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-svg-dynamic-title": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-8.0.0.tgz", + "integrity": "sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-svg-em-dimensions": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-8.0.0.tgz", + "integrity": "sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-transform-react-native-svg": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-8.1.0.tgz", + "integrity": "sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-transform-svg-component": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-8.0.0.tgz", + "integrity": "sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-preset": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-8.1.0.tgz", + "integrity": "sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug==", + "dev": true, + "license": "MIT", + "dependencies": { + "@svgr/babel-plugin-add-jsx-attribute": "8.0.0", + "@svgr/babel-plugin-remove-jsx-attribute": "8.0.0", + "@svgr/babel-plugin-remove-jsx-empty-expression": "8.0.0", + "@svgr/babel-plugin-replace-jsx-attribute-value": "8.0.0", + "@svgr/babel-plugin-svg-dynamic-title": "8.0.0", + "@svgr/babel-plugin-svg-em-dimensions": "8.0.0", + "@svgr/babel-plugin-transform-react-native-svg": "8.1.0", + "@svgr/babel-plugin-transform-svg-component": "8.0.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/core": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/core/-/core-8.1.0.tgz", + "integrity": "sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.21.3", + "@svgr/babel-preset": "8.1.0", + "camelcase": "^6.2.0", + "cosmiconfig": "^8.1.3", + "snake-case": "^3.0.4" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/core/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "license": "Python-2.0" + }, + "node_modules/@svgr/core/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@svgr/core/node_modules/cosmiconfig": { + "version": "8.3.6", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", + "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", + "dev": true, + "license": "MIT", + "dependencies": { + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0", + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@svgr/core/node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@svgr/core/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@svgr/core/node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@svgr/core/node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/@svgr/hast-util-to-babel-ast": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-8.0.0.tgz", + "integrity": "sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.21.3", + "entities": "^4.4.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/hast-util-to-babel-ast/node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/@svgr/plugin-jsx": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-8.1.0.tgz", + "integrity": "sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.21.3", + "@svgr/babel-preset": "8.1.0", + "@svgr/hast-util-to-babel-ast": "8.0.0", + "svg-parser": "^2.0.4" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@svgr/core": "*" + } + }, + "node_modules/@svgr/plugin-svgo": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-8.1.0.tgz", + "integrity": "sha512-Ywtl837OGO9pTLIN/onoWLmDQ4zFUycI1g76vuKGEz6evR/ZTJlJuz3G/fIkb6OVBJ2g0o6CGJzaEjfmEo3AHA==", + "dev": true, + "license": "MIT", + "dependencies": { + "cosmiconfig": "^8.1.3", + "deepmerge": "^4.3.1", + "svgo": "^3.0.2" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@svgr/core": "*" + } + }, + "node_modules/@svgr/plugin-svgo/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "license": "Python-2.0" + }, + "node_modules/@svgr/plugin-svgo/node_modules/cosmiconfig": { + "version": "8.3.6", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", + "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", + "dev": true, + "license": "MIT", + "dependencies": { + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0", + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@svgr/plugin-svgo/node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, "license": "MIT", "dependencies": { - "whatwg-url": "^5.0.0" + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" }, "engines": { - "node": "4.x || >=6.0.0" + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@supabase/postgrest-js": { - "version": "1.16.3", + "node_modules/@svgr/plugin-svgo/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, "license": "MIT", "dependencies": { - "@supabase/node-fetch": "^2.6.14" + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/@supabase/realtime-js": { - "version": "2.10.7", + "node_modules/@svgr/plugin-svgo/node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, "license": "MIT", "dependencies": { - "@supabase/node-fetch": "^2.6.14", - "@types/phoenix": "^1.5.4", - "@types/ws": "^8.5.10", - "ws": "^8.14.2" + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@supabase/storage-js": { - "version": "2.7.1", + "node_modules/@svgr/plugin-svgo/node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, "license": "MIT", - "dependencies": { - "@supabase/node-fetch": "^2.6.14" + "engines": { + "node": ">=4" } }, - "node_modules/@supabase/supabase-js": { - "version": "2.45.6", - "license": "MIT", - "dependencies": { - "@supabase/auth-js": "2.65.1", - "@supabase/functions-js": "2.4.3", - "@supabase/node-fetch": "2.6.15", - "@supabase/postgrest-js": "1.16.3", - "@supabase/realtime-js": "2.10.7", - "@supabase/storage-js": "2.7.1" + "node_modules/@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10.13.0" } }, "node_modules/@types/babel__core": { @@ -4764,7 +5146,6 @@ }, "node_modules/@types/prop-types": { "version": "15.7.12", -<<<<<<< HEAD "license": "MIT" }, "node_modules/@types/ramda": { @@ -4779,15 +5160,6 @@ "node_modules/@types/react": { "version": "18.3.12", "license": "MIT", -======= - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.12.tgz", - "integrity": "sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==" - }, - "node_modules/@types/react": { - "version": "18.2.79", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.79.tgz", - "integrity": "sha512-RwGAGXPl9kSXwdNTafkOEuFrTBD5SA2B3iEB96xi8+xu5ddUa/cpvyVCSNn+asgLCTHkb5ZxN8gbuibYJi4s1w==", ->>>>>>> 0c5b6a3 (done seekHelp midfi) "dependencies": { "@types/prop-types": "*", "csstype": "^3.0.2" @@ -4795,11 +5167,6 @@ }, "node_modules/@types/react-native": { "version": "0.70.19", -<<<<<<< HEAD -======= - "resolved": "https://registry.npmjs.org/@types/react-native/-/react-native-0.70.19.tgz", - "integrity": "sha512-c6WbyCgWTBgKKMESj/8b4w+zWcZSsCforson7UdXtXMecG3MxCinYi6ihhrHVPyUrVzORsvEzK8zg32z4pK6Sg==", ->>>>>>> 0c5b6a3 (done seekHelp midfi) "license": "MIT", "dependencies": { "@types/react": "*" @@ -4807,11 +5174,6 @@ }, "node_modules/@types/react-native-vector-icons": { "version": "6.4.18", -<<<<<<< HEAD -======= - "resolved": "https://registry.npmjs.org/@types/react-native-vector-icons/-/react-native-vector-icons-6.4.18.tgz", - "integrity": "sha512-YGlNWb+k5laTBHd7+uZowB9DpIK3SXUneZqAiKQaj1jnJCZM0x71GDim5JCTMi4IFkhc9m8H/Gm28T5BjyivUw==", ->>>>>>> 0c5b6a3 (done seekHelp midfi) "license": "MIT", "dependencies": { "@types/react": "*", @@ -5757,6 +6119,13 @@ "node": ">=0.6" } }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "dev": true, + "license": "ISC" + }, "node_modules/bplist-creator": { "version": "0.0.7", "license": "MIT", @@ -6421,6 +6790,82 @@ "node": ">=4" } }, + "node_modules/css-select": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", + "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-select/node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "dev": true, + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/css-select/node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/css-select/node_modules/domutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", + "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/css-select/node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, "node_modules/css-to-react-native": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/css-to-react-native/-/css-to-react-native-3.2.0.tgz", @@ -6432,18 +6877,83 @@ "postcss-value-parser": "^4.0.2" } }, + "node_modules/css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/css-tree/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "license": "BSD-3-Clause", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/csso": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", + "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "css-tree": "~2.2.0" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/csso/node_modules/css-tree": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", + "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", + "dev": true, + "license": "MIT", + "dependencies": { + "mdn-data": "2.0.28", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/csso/node_modules/mdn-data": { + "version": "2.0.28", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", + "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==", + "dev": true, + "license": "CC0-1.0" + }, "node_modules/csstype": { "version": "3.1.3", -<<<<<<< HEAD -======= - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", - "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" - }, - "node_modules/dag-map": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/dag-map/-/dag-map-1.0.2.tgz", - "integrity": "sha512-+LSAiGFwQ9dRnRdOeaj7g47ZFJcOUPukAP8J3A3fuZ1g9Y44BG+P1sgApjLXTQPOzC4+7S9Wr8kXsfpINM4jpw==", ->>>>>>> 0c5b6a3 (done seekHelp midfi) "license": "MIT" }, "node_modules/data-view-buffer": { @@ -6736,6 +7246,17 @@ "url": "https://github.com/fb55/domutils?sponsor=1" } }, + "node_modules/dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "dev": true, + "license": "MIT", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, "node_modules/dotenv": { "version": "16.4.5", "license": "BSD-2-Clause", @@ -9649,6 +10170,13 @@ "version": "1.0.2", "license": "MIT" }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true, + "license": "MIT" + }, "node_modules/json-schema-traverse": { "version": "0.4.1", "dev": true, @@ -9823,12 +10351,6 @@ "version": "4.5.0", "license": "MIT" }, - "node_modules/lodash.isequal": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", - "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==", - "license": "MIT" - }, "node_modules/lodash.merge": { "version": "4.6.2", "dev": true, @@ -9858,6 +10380,16 @@ "loose-envify": "cli.js" } }, + "node_modules/lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.0.3" + } + }, "node_modules/lru-cache": { "version": "5.1.1", "license": "ISC", @@ -9916,6 +10448,14 @@ "node": ">=0.10" } }, + "node_modules/mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", + "dev": true, + "license": "CC0-1.0", + "peer": true + }, "node_modules/memoize-one": { "version": "5.2.1", "license": "MIT" @@ -10529,6 +11069,17 @@ "version": "1.0.5", "license": "MIT" }, + "node_modules/no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dev": true, + "license": "MIT", + "dependencies": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, "node_modules/node-abort-controller": { "version": "3.1.1", "license": "MIT" @@ -10623,6 +11174,19 @@ "node": ">=4" } }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, "node_modules/nullthrows": { "version": "1.1.1", "license": "MIT" @@ -10789,11 +11353,6 @@ }, "node_modules/opencollective-postinstall": { "version": "2.0.3", -<<<<<<< HEAD -======= - "resolved": "https://registry.npmjs.org/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz", - "integrity": "sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q==", ->>>>>>> 0c5b6a3 (done seekHelp midfi) "license": "MIT", "bin": { "opencollective-postinstall": "index.js" @@ -10949,6 +11508,13 @@ "cross-spawn": "^7.0.3" } }, + "node_modules/path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==", + "dev": true, + "license": "MIT" + }, "node_modules/path-exists": { "version": "4.0.0", "license": "MIT", @@ -11542,7 +12108,6 @@ } } }, -<<<<<<< HEAD "node_modules/react-native-drawer-layout": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/react-native-drawer-layout/-/react-native-drawer-layout-4.0.1.tgz", @@ -11560,12 +12125,6 @@ }, "node_modules/react-native-elements": { "version": "3.4.3", -======= - "node_modules/react-native-elements": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/react-native-elements/-/react-native-elements-3.4.3.tgz", - "integrity": "sha512-VtZc25EecPZyUBER85zFK9ZbY6kkUdcm1ZwJ9hdoGSCr1R/GFgxor4jngOcSYeMvQ+qimd5No44OVJW3rSJECA==", ->>>>>>> 0c5b6a3 (done seekHelp midfi) "hasInstallScript": true, "license": "MIT", "dependencies": { @@ -11585,18 +12144,12 @@ }, "node_modules/react-native-elements/node_modules/color": { "version": "3.2.1", -<<<<<<< HEAD -======= - "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", - "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", ->>>>>>> 0c5b6a3 (done seekHelp midfi) "license": "MIT", "dependencies": { "color-convert": "^1.9.3", "color-string": "^1.6.0" } }, -<<<<<<< HEAD "node_modules/react-native-elements/node_modules/react-native-ratings": { "version": "8.0.4", "license": "MIT", @@ -11642,8 +12195,6 @@ "react-native": ">=0.60" } }, -======= ->>>>>>> 0c5b6a3 (done seekHelp midfi) "node_modules/react-native-paper": { "version": "5.12.5", "license": "MIT", @@ -11675,13 +12226,7 @@ } }, "node_modules/react-native-ratings": { -<<<<<<< HEAD "version": "8.1.0", -======= - "version": "8.0.4", - "resolved": "https://registry.npmjs.org/react-native-ratings/-/react-native-ratings-8.0.4.tgz", - "integrity": "sha512-Xczu5lskIIRD6BEdz9A0jDRpEck/SFxRqiglkXi0u67yAtI1/pcJC76P4MukCbT8K4BPVl+42w83YqXBoBRl7A==", ->>>>>>> 0c5b6a3 (done seekHelp midfi) "license": "MIT", "dependencies": { "lodash": "^4.17.15" @@ -11691,7 +12236,6 @@ "react-native": "*" } }, -<<<<<<< HEAD "node_modules/react-native-reanimated": { "version": "3.16.1", "license": "MIT", @@ -11735,8 +12279,6 @@ "react-native": "*" } }, -======= ->>>>>>> 0c5b6a3 (done seekHelp midfi) "node_modules/react-native-safe-area-context": { "version": "4.12.0", "license": "MIT", @@ -11758,19 +12300,12 @@ } }, "node_modules/react-native-size-matters": { -<<<<<<< HEAD "version": "0.4.2", -======= - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/react-native-size-matters/-/react-native-size-matters-0.3.1.tgz", - "integrity": "sha512-mKOfBLIBFBcs9br1rlZDvxD5+mAl8Gfr5CounwJtxI6Z82rGrMO+Kgl9EIg3RMVf3G855a85YVqHJL2f5EDRlw==", ->>>>>>> 0c5b6a3 (done seekHelp midfi) "license": "MIT", "peerDependencies": { "react-native": "*" } }, -<<<<<<< HEAD "node_modules/react-native-slider": { "version": "0.11.0", "license": "MIT", @@ -11778,8 +12313,40 @@ "prop-types": "^15.5.6" } }, -======= ->>>>>>> 0c5b6a3 (done seekHelp midfi) + "node_modules/react-native-svg": { + "version": "15.9.0", + "resolved": "https://registry.npmjs.org/react-native-svg/-/react-native-svg-15.9.0.tgz", + "integrity": "sha512-pwo7hteAM0P8jNpPGQtiSd0SnbBhE8tNd94LT8AcZcbnH5AJdXBIcXU4+tWYYeGUjiNAH2E5d0T5XIfnvaz1gA==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "css-select": "^5.1.0", + "css-tree": "^1.1.3", + "warn-once": "0.1.1" + }, + "peerDependencies": { + "react": "*", + "react-native": "*" + } + }, + "node_modules/react-native-svg-transformer": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/react-native-svg-transformer/-/react-native-svg-transformer-1.5.0.tgz", + "integrity": "sha512-RG5fSWJT7mjCQYocgYFUo1KYPLOoypPVG5LQab+pZZO7m4ciGaQIe0mhok3W4R5jLQsEXKo0u+aQGkZV/bZG7w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@svgr/core": "^8.1.0", + "@svgr/plugin-jsx": "^8.1.0", + "@svgr/plugin-svgo": "^8.1.0", + "path-dirname": "^1.0.2" + }, + "peerDependencies": { + "react-native": ">=0.59.0", + "react-native-svg": ">=12.0.0" + } + }, "node_modules/react-native-vector-icons": { "version": "10.2.0", "resolved": "https://registry.npmjs.org/react-native-vector-icons/-/react-native-vector-icons-10.2.0.tgz", @@ -12633,6 +13200,17 @@ "node": ">=8.0.0" } }, + "node_modules/snake-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-3.0.4.tgz", + "integrity": "sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==", + "dev": true, + "license": "MIT", + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, "node_modules/source-map": { "version": "0.5.7", "license": "BSD-3-Clause", @@ -13095,6 +13673,60 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/svg-parser": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", + "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/svgo": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.3.2.tgz", + "integrity": "sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^5.1.0", + "css-tree": "^2.3.1", + "css-what": "^6.1.0", + "csso": "^5.0.5", + "picocolors": "^1.0.0" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/svgo" + } + }, + "node_modules/svgo/node_modules/css-tree": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", + "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", + "dev": true, + "license": "MIT", + "dependencies": { + "mdn-data": "2.0.30", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + } + }, + "node_modules/svgo/node_modules/mdn-data": { + "version": "2.0.30", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", + "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", + "dev": true, + "license": "CC0-1.0" + }, "node_modules/synckit": { "version": "0.9.1", "dev": true, diff --git a/package.json b/package.json index 63c5d0b..9ade351 100644 --- a/package.json +++ b/package.json @@ -51,6 +51,7 @@ "eslint-plugin-prettier": "^5.2.1", "husky": "^9.1.5", "prettier": "^3.3.3", + "react-native-svg-transformer": "^1.5.0", "typescript": "~5.3.3", "yarnhook": "^0.6.2" }, diff --git a/src/assets/images/JDI_LOGO.png b/src/assets/images/JDI_LOGO.png new file mode 100644 index 0000000000000000000000000000000000000000..7618ddcfc434353a187b9a3d3c6fd3b839ec425d GIT binary patch literal 6289 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 Hu0mjfqyR{S literal 0 HcmV?d00001 diff --git a/src/assets/images/healing-resources-grey.svg b/src/assets/images/healing-resources-grey.svg new file mode 100644 index 0000000..da51022 --- /dev/null +++ b/src/assets/images/healing-resources-grey.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/assets/images/healing-resources-orange.svg b/src/assets/images/healing-resources-orange.svg new file mode 100644 index 0000000..79fb979 --- /dev/null +++ b/src/assets/images/healing-resources-orange.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/assets/images/help-resources-grey.svg b/src/assets/images/help-resources-grey.svg new file mode 100644 index 0000000..ab48ca7 --- /dev/null +++ b/src/assets/images/help-resources-grey.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/assets/images/help-resources-orange.svg b/src/assets/images/help-resources-orange.svg new file mode 100644 index 0000000..932e3aa --- /dev/null +++ b/src/assets/images/help-resources-orange.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/assets/images/home-grey.svg b/src/assets/images/home-grey.svg new file mode 100644 index 0000000..2513f04 --- /dev/null +++ b/src/assets/images/home-grey.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/assets/images/home-orange.svg b/src/assets/images/home-orange.svg new file mode 100644 index 0000000..daf4d84 --- /dev/null +++ b/src/assets/images/home-orange.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/src/assets/images/logo.svg b/src/assets/images/logo.svg new file mode 100644 index 0000000..7c0d45f --- /dev/null +++ b/src/assets/images/logo.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src/assets/images/prea-grey.svg b/src/assets/images/prea-grey.svg new file mode 100644 index 0000000..fc9ef23 --- /dev/null +++ b/src/assets/images/prea-grey.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/assets/images/prea-orange.svg b/src/assets/images/prea-orange.svg new file mode 100644 index 0000000..45b92fc --- /dev/null +++ b/src/assets/images/prea-orange.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/components/TabBarItem/TabBarItem.tsx b/src/components/TabBarItem/TabBarItem.tsx new file mode 100644 index 0000000..aedb5fc --- /dev/null +++ b/src/components/TabBarItem/TabBarItem.tsx @@ -0,0 +1,46 @@ +import { Text, View } from 'react-native'; + +// import { colors } from '@/styles/colors'; + +interface TabBarItemProps { + icon: React.ReactNode; + label: string; + focused: boolean; +} + +//Inline styling required --> can't make a styles.ts in this directory otherwise it'll make a new bottom tab idk why +export default function TabBarItem({ icon, label, focused }: TabBarItemProps) { + return ( + + + {icon} + + {label} + + + + ); +} diff --git a/src/screens/Home/index.tsx b/src/screens/Home/index.tsx index a8687d0..19114ba 100644 --- a/src/screens/Home/index.tsx +++ b/src/screens/Home/index.tsx @@ -1,5 +1,25 @@ -import { Text } from 'react-native'; +import React from 'react'; +import { Button, Text, TouchableOpacity, View } from 'react-native'; +import { styles } from './styles'; export default function HomeScreen() { - return HOME!!!; + return ( + + + Welcome! + + Welcome to a place of support and healing. This app is here to provide + you with resources designed to help you reclaim your sense of safety + and strength. Whether you’re seeking information, connection, or + guidance, we’re here to offer tools that empower you on your journey. + + + Ready to start? Click “View Tutorial” to learn how to use the app. + + + View Tutorial + + + + ); } diff --git a/src/screens/Home/styles.ts b/src/screens/Home/styles.ts new file mode 100644 index 0000000..09fa376 --- /dev/null +++ b/src/screens/Home/styles.ts @@ -0,0 +1,70 @@ +import { StyleSheet } from 'react-native'; + +export const styles = StyleSheet.create({ + container: { + width: '100%', + height: '100%', + alignItems: 'center', + justifyContent: 'center', + backgroundColor: '#f5f5f5', + flexDirection: 'row', + columnGap: 20, + }, + welcomeBox: { + borderColor: '#e8e8e8', + backgroundColor: '#ffffff', + borderWidth: 2, + borderRadius: 15, + paddingTop: 40, + width: '75%', + height: '60%', + alignItems: 'center', + flexDirection: 'column', + shadowColor: '#000', + shadowOpacity: 0.1, + shadowRadius: 3, + shadowOffset: { width: 0, height: 1 }, + columnGap: 20, + flexWrap: 'wrap', + padding: 10, + rowGap: 60, + }, + welcomeText: { + fontSize: 40, + color: '#333', + fontWeight: '500', + }, + welcomeBlurb: { + fontSize: 15, + color: '#4C4C4C', + fontWeight: '500', + marginRight: 15, + marginLeft: 15, + textAlign: 'center', + }, + + viewTutorialText: { + fontSize: 20, + color: '#4C4C4C', + fontWeight: '500', + marginRight: 15, + marginLeft: 15, + }, + Button: { + backgroundColor: '#EF8B49', + flexDirection: 'row', + alignItems: 'center', + justifyContent: 'center', + borderRadius: 10, + width: '30%', + height: 40, + shadowColor: '#000', + shadowOpacity: 0.1, + shadowRadius: 3, + shadowOffset: { width: 0, height: 1 }, + }, + buttonText: { + fontSize: 20, + color: '#FFF', + }, +}); diff --git a/src/styles/colors.ts b/src/styles/colors.ts new file mode 100644 index 0000000..d2b2fe6 --- /dev/null +++ b/src/styles/colors.ts @@ -0,0 +1,4 @@ +export const colors = { + orange: '#E37F1D', + grey: '#757575', +}; From a9578a9cb597742ec4fed0c878597d544383d0bf Mon Sep 17 00:00:00 2001 From: philipye314 Date: Thu, 21 Nov 2024 15:39:36 -0800 Subject: [PATCH 07/10] oh my god my hair is falling out --- babel.config.js | 19 +-- metro.config.js | 27 ++++ package-lock.json | 176 ++++++++++++++++++++++++++ package.json | 3 + src/navigation/BottomTabNavigator.tsx | 2 + 5 files changed, 218 insertions(+), 9 deletions(-) create mode 100644 metro.config.js diff --git a/babel.config.js b/babel.config.js index 7f98d58..a4999d6 100644 --- a/babel.config.js +++ b/babel.config.js @@ -1,18 +1,19 @@ -module.exports = function (api) { +module.exports = api => { api.cache(true); return { presets: ['babel-preset-expo'], plugins: [ [ - 'module-resolver', + 'module:react-native-dotenv', { - root: ['./'], - alias: { - '@': './src', - '~': './', - }, - include: ['./'], - extensions: ['.js', '.jsx', '.ts', '.tsx', '.json'], + envName: 'APP_ENV', + moduleName: '@env', + path: '.env', + blocklist: null, + allowlist: null, + safe: false, + allowUndefined: true, + verbose: false, }, ], ], diff --git a/metro.config.js b/metro.config.js new file mode 100644 index 0000000..bb9c89a --- /dev/null +++ b/metro.config.js @@ -0,0 +1,27 @@ +const path = require('path'); +const { getDefaultConfig, mergeConfig } = require('@react-native/metro-config'); + +const defaultConfig = getDefaultConfig(__dirname); +const { + resolver: { sourceExts, assetExts }, +} = defaultConfig; + +/** + * Metro configuration + * https://facebook.github.io/metro/docs/configuration + * + * @type {import('metro-config').MetroConfig} + */ +const config = { + transformer: { + babelTransformerPath: require.resolve('react-native-svg-transformer'), + }, + resolver: { + assetExts: assetExts.filter(ext => ext !== 'svg'), + sourceExts: [...sourceExts, 'svg'], + //resolverMainFields: ['sbmodern', 'react-native', 'browser', 'main'], + }, + watchFolders: [path.resolve(__dirname, '../')], +}; + +module.exports = mergeConfig(defaultConfig, config); diff --git a/package-lock.json b/package-lock.json index 0ac486c..9adf5fa 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,6 +8,7 @@ "name": "mobile-app-template", "version": "1.0.0", "dependencies": { + "@react-native/metro-config": "^0.76.3", "@react-navigation/bottom-tabs": "^7.0.6", "@react-navigation/drawer": "^7.0.6", "@react-navigation/native": "^7.0.3", @@ -18,8 +19,10 @@ "expo": "^52.0.5", "expo-av": "~15.0.1", "expo-status-bar": "~2.0.0", + "metro-config": "^0.81.0", "react": "18.3.1", "react-native": "0.76.1", + "react-native-dotenv": "^3.4.11", "react-native-elements": "^3.4.3", "react-native-gesture-handler": "^2.21.1", "react-native-media-controls": "^2.3.0", @@ -4286,6 +4289,165 @@ "@babel/core": "*" } }, + "node_modules/@react-native/metro-config": { + "version": "0.76.3", + "resolved": "https://registry.npmjs.org/@react-native/metro-config/-/metro-config-0.76.3.tgz", + "integrity": "sha512-rRaFZAflH/OcH+rveH+hn2BUSLnfb0tXHyBY7xX+fF2dmxnWh7HiRD2npG36z079Kq3ApykUbxdCtpy8n+GlLw==", + "license": "MIT", + "dependencies": { + "@react-native/js-polyfills": "0.76.3", + "@react-native/metro-babel-transformer": "0.76.3", + "metro-config": "^0.81.0", + "metro-runtime": "^0.81.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@react-native/metro-config/node_modules/@react-native/babel-plugin-codegen": { + "version": "0.76.3", + "resolved": "https://registry.npmjs.org/@react-native/babel-plugin-codegen/-/babel-plugin-codegen-0.76.3.tgz", + "integrity": "sha512-mZ7jmIIg4bUnxCqY3yTOkoHvvzsDyrZgfnIKiTGm5QACrsIGa5eT3pMFpMm2OpxGXRDrTMsYdPXE2rCyDX52VQ==", + "license": "MIT", + "dependencies": { + "@react-native/codegen": "0.76.3" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@react-native/metro-config/node_modules/@react-native/babel-preset": { + "version": "0.76.3", + "resolved": "https://registry.npmjs.org/@react-native/babel-preset/-/babel-preset-0.76.3.tgz", + "integrity": "sha512-zi2nPlQf9q2fmfPyzwWEj6DU96v8ziWtEfG7CTAX2PG/Vjfsr94vn/wWrCdhBVvLRQ6Kvd/MFAuDYpxmQwIiVQ==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.25.2", + "@babel/plugin-proposal-export-default-from": "^7.24.7", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-default-from": "^7.24.7", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-transform-arrow-functions": "^7.24.7", + "@babel/plugin-transform-async-generator-functions": "^7.25.4", + "@babel/plugin-transform-async-to-generator": "^7.24.7", + "@babel/plugin-transform-block-scoping": "^7.25.0", + "@babel/plugin-transform-class-properties": "^7.25.4", + "@babel/plugin-transform-classes": "^7.25.4", + "@babel/plugin-transform-computed-properties": "^7.24.7", + "@babel/plugin-transform-destructuring": "^7.24.8", + "@babel/plugin-transform-flow-strip-types": "^7.25.2", + "@babel/plugin-transform-for-of": "^7.24.7", + "@babel/plugin-transform-function-name": "^7.25.1", + "@babel/plugin-transform-literals": "^7.25.2", + "@babel/plugin-transform-logical-assignment-operators": "^7.24.7", + "@babel/plugin-transform-modules-commonjs": "^7.24.8", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.24.7", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.24.7", + "@babel/plugin-transform-numeric-separator": "^7.24.7", + "@babel/plugin-transform-object-rest-spread": "^7.24.7", + "@babel/plugin-transform-optional-catch-binding": "^7.24.7", + "@babel/plugin-transform-optional-chaining": "^7.24.8", + "@babel/plugin-transform-parameters": "^7.24.7", + "@babel/plugin-transform-private-methods": "^7.24.7", + "@babel/plugin-transform-private-property-in-object": "^7.24.7", + "@babel/plugin-transform-react-display-name": "^7.24.7", + "@babel/plugin-transform-react-jsx": "^7.25.2", + "@babel/plugin-transform-react-jsx-self": "^7.24.7", + "@babel/plugin-transform-react-jsx-source": "^7.24.7", + "@babel/plugin-transform-regenerator": "^7.24.7", + "@babel/plugin-transform-runtime": "^7.24.7", + "@babel/plugin-transform-shorthand-properties": "^7.24.7", + "@babel/plugin-transform-spread": "^7.24.7", + "@babel/plugin-transform-sticky-regex": "^7.24.7", + "@babel/plugin-transform-typescript": "^7.25.2", + "@babel/plugin-transform-unicode-regex": "^7.24.7", + "@babel/template": "^7.25.0", + "@react-native/babel-plugin-codegen": "0.76.3", + "babel-plugin-syntax-hermes-parser": "^0.25.1", + "babel-plugin-transform-flow-enums": "^0.0.2", + "react-refresh": "^0.14.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@babel/core": "*" + } + }, + "node_modules/@react-native/metro-config/node_modules/@react-native/codegen": { + "version": "0.76.3", + "resolved": "https://registry.npmjs.org/@react-native/codegen/-/codegen-0.76.3.tgz", + "integrity": "sha512-oJCH/jbYeGmFJql8/y76gqWCCd74pyug41yzYAjREso1Z7xL88JhDyKMvxEnfhSdMOZYVl479N80xFiXPy3ZYA==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.25.3", + "glob": "^7.1.1", + "hermes-parser": "0.23.1", + "invariant": "^2.2.4", + "jscodeshift": "^0.14.0", + "mkdirp": "^0.5.1", + "nullthrows": "^1.1.1", + "yargs": "^17.6.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@babel/preset-env": "^7.1.6" + } + }, + "node_modules/@react-native/metro-config/node_modules/@react-native/js-polyfills": { + "version": "0.76.3", + "resolved": "https://registry.npmjs.org/@react-native/js-polyfills/-/js-polyfills-0.76.3.tgz", + "integrity": "sha512-pubJFArMMrdZiytH+W95KngcSQs+LsxOBsVHkwgMnpBfRUxXPMK4fudtBwWvhnwN76Oe+WhxSq7vOS5XgoPhmw==", + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/@react-native/metro-config/node_modules/@react-native/metro-babel-transformer": { + "version": "0.76.3", + "resolved": "https://registry.npmjs.org/@react-native/metro-babel-transformer/-/metro-babel-transformer-0.76.3.tgz", + "integrity": "sha512-b2zQPXmW7avw/7zewc9nzMULPIAjsTwN03hskhxHUJH5pzUf7pIklB3FrgYPZrRhJgzHiNl3tOPu7vqiKzBYPg==", + "license": "MIT", + "dependencies": { + "@babel/core": "^7.25.2", + "@react-native/babel-preset": "0.76.3", + "hermes-parser": "0.23.1", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@babel/core": "*" + } + }, + "node_modules/@react-native/metro-config/node_modules/babel-plugin-syntax-hermes-parser": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-hermes-parser/-/babel-plugin-syntax-hermes-parser-0.25.1.tgz", + "integrity": "sha512-IVNpGzboFLfXZUAwkLFcI/bnqVbwky0jP3eBno4HKtqvQJAHBLdgxiG6lQ4to0+Q/YCN3PO0od5NZwIKyY4REQ==", + "license": "MIT", + "dependencies": { + "hermes-parser": "0.25.1" + } + }, + "node_modules/@react-native/metro-config/node_modules/babel-plugin-syntax-hermes-parser/node_modules/hermes-parser": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.25.1.tgz", + "integrity": "sha512-6pEjquH3rqaI6cYAXYPcz9MS4rY6R4ngRgrgfDshRptUZIc3lw0MCIJIGDj9++mfySOuPTHB4nrSW99BCvOPIA==", + "license": "MIT", + "dependencies": { + "hermes-estree": "0.25.1" + } + }, + "node_modules/@react-native/metro-config/node_modules/hermes-estree": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.25.1.tgz", + "integrity": "sha512-0wUoCcLp+5Ev5pDW2OriHC2MJCbwLwuRx+gAqMTOkGKJJiBCLjtrvy4PWUGn6MIVefecRpzoOZ/UV6iGdOr+Cw==", + "license": "MIT" + }, "node_modules/@react-native/normalize-colors": { "version": "0.76.1", "license": "MIT" @@ -10573,6 +10735,8 @@ }, "node_modules/metro-config": { "version": "0.81.0", + "resolved": "https://registry.npmjs.org/metro-config/-/metro-config-0.81.0.tgz", + "integrity": "sha512-6CinEaBe3WLpRlKlYXXu8r1UblJhbwD6Gtnoib5U8j6Pjp7XxMG9h/DGMeNp9aGLDu1OieUqiXpFo7O0/rR5Kg==", "license": "MIT", "dependencies": { "connect": "^3.6.5", @@ -12108,6 +12272,18 @@ } } }, + "node_modules/react-native-dotenv": { + "version": "3.4.11", + "resolved": "https://registry.npmjs.org/react-native-dotenv/-/react-native-dotenv-3.4.11.tgz", + "integrity": "sha512-6vnIE+WHABSeHCaYP6l3O1BOEhWxKH6nHAdV7n/wKn/sciZ64zPPp2NUdEUf1m7g4uuzlLbjgr+6uDt89q2DOg==", + "license": "MIT", + "dependencies": { + "dotenv": "^16.4.5" + }, + "peerDependencies": { + "@babel/runtime": "^7.20.6" + } + }, "node_modules/react-native-drawer-layout": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/react-native-drawer-layout/-/react-native-drawer-layout-4.0.1.tgz", diff --git a/package.json b/package.json index 9ade351..55357b3 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,7 @@ "pre-commit": "(npm run tsc || true) && (npm run lint:check || true) && npm run prettier:check" }, "dependencies": { + "@react-native/metro-config": "^0.76.3", "@react-navigation/bottom-tabs": "^7.0.6", "@react-navigation/drawer": "^7.0.6", "@react-navigation/native": "^7.0.3", @@ -25,8 +26,10 @@ "expo": "^52.0.5", "expo-av": "~15.0.1", "expo-status-bar": "~2.0.0", + "metro-config": "^0.81.0", "react": "18.3.1", "react-native": "0.76.1", + "react-native-dotenv": "^3.4.11", "react-native-elements": "^3.4.3", "react-native-gesture-handler": "^2.21.1", "react-native-media-controls": "^2.3.0", diff --git a/src/navigation/BottomTabNavigator.tsx b/src/navigation/BottomTabNavigator.tsx index f96c49e..4e2392b 100644 --- a/src/navigation/BottomTabNavigator.tsx +++ b/src/navigation/BottomTabNavigator.tsx @@ -1,6 +1,7 @@ import * as React from 'react'; import { createBottomTabNavigator } from '@react-navigation/bottom-tabs'; import HomeScreen from 'src/screens/Home/'; +import PREAgrey from '../assets/images/prea-grey.svg'; import HealingResourcesNavigator from './stacks/HealingResourcesNavigator'; import LegalRightsNavigator from './stacks/LegalRightsNavigator'; import SeekHelpNavigator from './stacks/SeekHelpNavigator'; @@ -30,6 +31,7 @@ export default function NavigationBar() { component={HealingResourcesNavigator} options={{ tabBarLabel: 'Healing Resources', + tabBarIcon: () => , }} /> Date: Tue, 3 Dec 2024 18:13:57 -0800 Subject: [PATCH 08/10] styling pt 1 --- graphics.d.ts | 11 ++- package-lock.json | 114 +++++++++++++++++++++++--- src/navigation/BottomTabNavigator.tsx | 27 +++++- src/screens/Home/index.tsx | 4 +- 4 files changed, 138 insertions(+), 18 deletions(-) diff --git a/graphics.d.ts b/graphics.d.ts index d2ae3fb..30ca536 100644 --- a/graphics.d.ts +++ b/graphics.d.ts @@ -5,9 +5,14 @@ declare module '*.png' { } declare module '*.svg' { - import { ImageSourcePropType } from 'react-native'; - const value: ImageSourcePropType; - export default value; + import * as React from 'react'; + + export const ReactComponent: React.FunctionComponent & { title?: string }>; + + const src: string; + export default src; } declare module '*.jpg' { diff --git a/package-lock.json b/package-lock.json index 9adf5fa..64e5fc4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5925,6 +5925,18 @@ "node": ">= 4.0.0" } }, + "node_modules/atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "license": "(MIT OR Apache-2.0)", + "bin": { + "atob": "bin/atob.js" + }, + "engines": { + "node": ">= 4.5.0" + } + }, "node_modules/available-typed-arrays": { "version": "1.0.7", "dev": true, @@ -7078,6 +7090,15 @@ "url": "https://github.com/sponsors/fb55" } }, + "node_modules/css/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/csso": { "version": "5.0.5", "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", @@ -7456,7 +7477,8 @@ }, "node_modules/emoji-regex": { "version": "8.0.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, "node_modules/encodeurl": { "version": "1.0.2", @@ -10486,7 +10508,8 @@ }, "node_modules/lines-and-columns": { "version": "1.2.4", - "license": "MIT" + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" }, "node_modules/locate-path": { "version": "6.0.0", @@ -11338,6 +11361,15 @@ "node": ">=4" } }, + "node_modules/nstall": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/nstall/-/nstall-0.2.0.tgz", + "integrity": "sha512-MFmREfmpBKuHho1VkqCnA2Y3K80MM6GHdug7BeW9JRDN446/tABtLlHQ4DibDffZSGtPPJs8Vi4AZ5HBMfDjvw==", + "license": "ISC", + "bin": { + "nstall": "bin.js" + } + }, "node_modules/nth-check": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", @@ -12133,14 +12165,7 @@ "type": "consulting", "url": "https://feross.org/support" } - ], - "license": "MIT" - }, - "node_modules/ramda": { - "version": "0.27.2", - "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.27.2.tgz", - "integrity": "sha512-SbiLPU40JuJniHexQSAgad32hfwd+DRUdwF2PlVuI5RZD0/vahUco7R8vD86J/tcEKKF9vZrUVwgtmGCqlCKyA==", - "license": "MIT" + ] }, "node_modules/range-parser": { "version": "1.2.1", @@ -12988,6 +13013,12 @@ "queue-microtask": "^1.2.2" } }, + "node_modules/rx": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/rx/-/rx-4.1.0.tgz", + "integrity": "sha512-CiaiuN6gapkdl+cZUr67W6I8jquN4lkak3vtIsIWCl4XIPP8ffsoyN6/+PuGXnQy8Cu8W2y9Xxh31Rq4M6wUug==", + "license": "Apache-2.0" + }, "node_modules/safe-array-concat": { "version": "1.1.2", "dev": true, @@ -13401,6 +13432,20 @@ "node": ">=0.10.0" } }, + "node_modules/source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", + "license": "MIT", + "dependencies": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, "node_modules/source-map-support": { "version": "0.5.21", "license": "MIT", @@ -13416,6 +13461,13 @@ "node": ">=0.10.0" } }, + "node_modules/source-map-url": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", + "deprecated": "See https://github.com/lydell/source-map-url#deprecated", + "license": "MIT" + }, "node_modules/split": { "version": "1.0.1", "license": "MIT", @@ -13856,6 +13908,48 @@ "dev": true, "license": "MIT" }, + "node_modules/svg-react-loader": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/svg-react-loader/-/svg-react-loader-0.4.6.tgz", + "integrity": "sha512-HVEypjWQsQuJdBIPzXGxpmQsQts7QwfQuYgK1rah6BVCMoLNSCh/ESKVNd7/tHq8DkWYHHTyaUMDA1FjqZYrgA==", + "license": "MIT", + "dependencies": { + "css": "2.2.4", + "loader-utils": "1.1.0", + "ramda": "0.21.0", + "rx": "4.1.0", + "traverse": "0.6.6", + "xml2js": "0.4.17" + } + }, + "node_modules/svg-react-loader/node_modules/traverse": { + "version": "0.6.6", + "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.6.tgz", + "integrity": "sha512-kdf4JKs8lbARxWdp7RKdNzoJBhGUcIalSYibuGyHJbmk40pOysQ0+QPvlkCOICOivDWU2IJo2rkrxyTK2AH4fw==", + "license": "MIT" + }, + "node_modules/svg-react-loader/node_modules/xml2js": { + "version": "0.4.17", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.17.tgz", + "integrity": "sha512-1O7wk/NTQN0UEOItIYTxK4qP4sMUVU60MbF4Nj0a8jd6eebMXOicVI/KFOEsYKKH4uBpx6XG9ZGZctXK5rtO5Q==", + "license": "MIT", + "dependencies": { + "sax": ">=0.6.0", + "xmlbuilder": "^4.1.0" + } + }, + "node_modules/svg-react-loader/node_modules/xmlbuilder": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-4.2.1.tgz", + "integrity": "sha512-oEePiEefhQhAeUnwRnIBLBWmk/fsWWbQ53EEWsRuzECbQ3m5o/Esmq6H47CYYwSLW+Ynt0rS9hd0pd2ogMAWjg==", + "license": "MIT", + "dependencies": { + "lodash": "^4.0.0" + }, + "engines": { + "node": ">=0.8.0" + } + }, "node_modules/svgo": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.3.2.tgz", diff --git a/src/navigation/BottomTabNavigator.tsx b/src/navigation/BottomTabNavigator.tsx index 4e2392b..f3d2bd7 100644 --- a/src/navigation/BottomTabNavigator.tsx +++ b/src/navigation/BottomTabNavigator.tsx @@ -1,11 +1,20 @@ import * as React from 'react'; import { createBottomTabNavigator } from '@react-navigation/bottom-tabs'; import HomeScreen from 'src/screens/Home/'; -import PREAgrey from '../assets/images/prea-grey.svg'; +import {colors} from 'src/styles/colors'; import HealingResourcesNavigator from './stacks/HealingResourcesNavigator'; import LegalRightsNavigator from './stacks/LegalRightsNavigator'; import SeekHelpNavigator from './stacks/SeekHelpNavigator'; import { BottomTabParams } from './types'; +import OrangeHomeIcon from 'src/assets/images/home-orange.svg'; +import GreyHomeIcon from 'src/assets/images/home-grey.svg'; +import GreyHealingResourcesIcon from 'src/assets/images/healing-resources-grey.svg'; +import OrangeHealingResourcesIcon from 'src/assets/images/healing-resources-orange.svg'; +import OrangePREAIcon from 'src/assets/images/prea-orange.svg'; +import GreyPREAIcon from 'src/assets/images/prea-grey.svg'; +import OrangeHelpResourcesIcon from 'src/assets/images/help-resources-orange.svg'; +import GreyHelpResourcesIcon from 'src/assets/images/help-resources-grey.svg'; + const initialRouteName = 'Healing'; @@ -13,10 +22,12 @@ const Tab = createBottomTabNavigator(); export default function NavigationBar() { return ( + + focused ? : , + }} /> , + tabBarIcon: ({ focused }) => + focused ? : , }} /> + focused ? : , }} /> + focused ? : , }} /> + ); + } diff --git a/src/screens/Home/index.tsx b/src/screens/Home/index.tsx index 19114ba..7c9d85c 100644 --- a/src/screens/Home/index.tsx +++ b/src/screens/Home/index.tsx @@ -1,7 +1,7 @@ import React from 'react'; -import { Button, Text, TouchableOpacity, View } from 'react-native'; +import {Text, TouchableOpacity, View, Image} from 'react-native'; import { styles } from './styles'; - +import logo from 'src/assets/images/JDI_LOGO.png'; export default function HomeScreen() { return ( From de7343204c8205bf3865bfd8a93b0efbcdf4b51f Mon Sep 17 00:00:00 2001 From: user Date: Tue, 3 Dec 2024 21:04:11 -0800 Subject: [PATCH 09/10] styling pt 1 --- graphics.d.ts | 6 +- package-lock.json | 105 ++------------------------ src/navigation/BottomTabNavigator.tsx | 41 +++++----- src/navigation/types.tsx | 5 +- src/screens/Home/index.tsx | 5 +- 5 files changed, 35 insertions(+), 127 deletions(-) diff --git a/graphics.d.ts b/graphics.d.ts index 30ca536..4165bf2 100644 --- a/graphics.d.ts +++ b/graphics.d.ts @@ -7,9 +7,9 @@ declare module '*.png' { declare module '*.svg' { import * as React from 'react'; - export const ReactComponent: React.FunctionComponent & { title?: string }>; + export const ReactComponent: React.FunctionComponent< + React.SVGProps & { title?: string } + >; const src: string; export default src; diff --git a/package-lock.json b/package-lock.json index 64e5fc4..7afbf27 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5925,18 +5925,6 @@ "node": ">= 4.0.0" } }, - "node_modules/atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "license": "(MIT OR Apache-2.0)", - "bin": { - "atob": "bin/atob.js" - }, - "engines": { - "node": ">= 4.5.0" - } - }, "node_modules/available-typed-arrays": { "version": "1.0.7", "dev": true, @@ -7090,15 +7078,6 @@ "url": "https://github.com/sponsors/fb55" } }, - "node_modules/css/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/csso": { "version": "5.0.5", "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", @@ -11361,15 +11340,6 @@ "node": ">=4" } }, - "node_modules/nstall": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/nstall/-/nstall-0.2.0.tgz", - "integrity": "sha512-MFmREfmpBKuHho1VkqCnA2Y3K80MM6GHdug7BeW9JRDN446/tABtLlHQ4DibDffZSGtPPJs8Vi4AZ5HBMfDjvw==", - "license": "ISC", - "bin": { - "nstall": "bin.js" - } - }, "node_modules/nth-check": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", @@ -12167,6 +12137,12 @@ } ] }, + "node_modules/ramda": { + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.27.2.tgz", + "integrity": "sha512-SbiLPU40JuJniHexQSAgad32hfwd+DRUdwF2PlVuI5RZD0/vahUco7R8vD86J/tcEKKF9vZrUVwgtmGCqlCKyA==", + "license": "MIT" + }, "node_modules/range-parser": { "version": "1.2.1", "license": "MIT", @@ -13013,12 +12989,6 @@ "queue-microtask": "^1.2.2" } }, - "node_modules/rx": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/rx/-/rx-4.1.0.tgz", - "integrity": "sha512-CiaiuN6gapkdl+cZUr67W6I8jquN4lkak3vtIsIWCl4XIPP8ffsoyN6/+PuGXnQy8Cu8W2y9Xxh31Rq4M6wUug==", - "license": "Apache-2.0" - }, "node_modules/safe-array-concat": { "version": "1.1.2", "dev": true, @@ -13432,20 +13402,6 @@ "node": ">=0.10.0" } }, - "node_modules/source-map-resolve": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", - "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", - "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", - "license": "MIT", - "dependencies": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - }, "node_modules/source-map-support": { "version": "0.5.21", "license": "MIT", @@ -13461,13 +13417,6 @@ "node": ">=0.10.0" } }, - "node_modules/source-map-url": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", - "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", - "deprecated": "See https://github.com/lydell/source-map-url#deprecated", - "license": "MIT" - }, "node_modules/split": { "version": "1.0.1", "license": "MIT", @@ -13908,48 +13857,6 @@ "dev": true, "license": "MIT" }, - "node_modules/svg-react-loader": { - "version": "0.4.6", - "resolved": "https://registry.npmjs.org/svg-react-loader/-/svg-react-loader-0.4.6.tgz", - "integrity": "sha512-HVEypjWQsQuJdBIPzXGxpmQsQts7QwfQuYgK1rah6BVCMoLNSCh/ESKVNd7/tHq8DkWYHHTyaUMDA1FjqZYrgA==", - "license": "MIT", - "dependencies": { - "css": "2.2.4", - "loader-utils": "1.1.0", - "ramda": "0.21.0", - "rx": "4.1.0", - "traverse": "0.6.6", - "xml2js": "0.4.17" - } - }, - "node_modules/svg-react-loader/node_modules/traverse": { - "version": "0.6.6", - "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.6.tgz", - "integrity": "sha512-kdf4JKs8lbARxWdp7RKdNzoJBhGUcIalSYibuGyHJbmk40pOysQ0+QPvlkCOICOivDWU2IJo2rkrxyTK2AH4fw==", - "license": "MIT" - }, - "node_modules/svg-react-loader/node_modules/xml2js": { - "version": "0.4.17", - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.17.tgz", - "integrity": "sha512-1O7wk/NTQN0UEOItIYTxK4qP4sMUVU60MbF4Nj0a8jd6eebMXOicVI/KFOEsYKKH4uBpx6XG9ZGZctXK5rtO5Q==", - "license": "MIT", - "dependencies": { - "sax": ">=0.6.0", - "xmlbuilder": "^4.1.0" - } - }, - "node_modules/svg-react-loader/node_modules/xmlbuilder": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-4.2.1.tgz", - "integrity": "sha512-oEePiEefhQhAeUnwRnIBLBWmk/fsWWbQ53EEWsRuzECbQ3m5o/Esmq6H47CYYwSLW+Ynt0rS9hd0pd2ogMAWjg==", - "license": "MIT", - "dependencies": { - "lodash": "^4.0.0" - }, - "engines": { - "node": ">=0.8.0" - } - }, "node_modules/svgo": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.3.2.tgz", diff --git a/src/navigation/BottomTabNavigator.tsx b/src/navigation/BottomTabNavigator.tsx index f3d2bd7..2fb60e6 100644 --- a/src/navigation/BottomTabNavigator.tsx +++ b/src/navigation/BottomTabNavigator.tsx @@ -1,20 +1,19 @@ import * as React from 'react'; import { createBottomTabNavigator } from '@react-navigation/bottom-tabs'; +import GreyHealingResourcesIcon from 'src/assets/images/healing-resources-grey.svg'; +import OrangeHealingResourcesIcon from 'src/assets/images/healing-resources-orange.svg'; +import GreyHelpResourcesIcon from 'src/assets/images/help-resources-grey.svg'; +import OrangeHelpResourcesIcon from 'src/assets/images/help-resources-orange.svg'; +import GreyHomeIcon from 'src/assets/images/home-grey.svg'; +import OrangeHomeIcon from 'src/assets/images/home-orange.svg'; +import GreyPREAIcon from 'src/assets/images/prea-grey.svg'; +import OrangePREAIcon from 'src/assets/images/prea-orange.svg'; import HomeScreen from 'src/screens/Home/'; -import {colors} from 'src/styles/colors'; +import { colors } from 'src/styles/colors'; import HealingResourcesNavigator from './stacks/HealingResourcesNavigator'; import LegalRightsNavigator from './stacks/LegalRightsNavigator'; import SeekHelpNavigator from './stacks/SeekHelpNavigator'; import { BottomTabParams } from './types'; -import OrangeHomeIcon from 'src/assets/images/home-orange.svg'; -import GreyHomeIcon from 'src/assets/images/home-grey.svg'; -import GreyHealingResourcesIcon from 'src/assets/images/healing-resources-grey.svg'; -import OrangeHealingResourcesIcon from 'src/assets/images/healing-resources-orange.svg'; -import OrangePREAIcon from 'src/assets/images/prea-orange.svg'; -import GreyPREAIcon from 'src/assets/images/prea-grey.svg'; -import OrangeHelpResourcesIcon from 'src/assets/images/help-resources-orange.svg'; -import GreyHelpResourcesIcon from 'src/assets/images/help-resources-grey.svg'; - const initialRouteName = 'Healing'; @@ -22,12 +21,11 @@ const Tab = createBottomTabNavigator(); export default function NavigationBar() { return ( - - focused ? : , - + focused ? : , }} /> - focused ? : , + tabBarIcon: ({ focused }) => + focused ? ( + + ) : ( + + ), }} /> - focused ? : , + focused ? : , }} /> - focused ? : , + focused ? : , }} /> - ); - } diff --git a/src/navigation/types.tsx b/src/navigation/types.tsx index 384b5c7..93afb3e 100644 --- a/src/navigation/types.tsx +++ b/src/navigation/types.tsx @@ -1,4 +1,5 @@ -import { MaterialBottomTabNavigationProp } from '@react-navigation/material-bottom-tabs'; +// prettier-ignore +import { BottomTabNavigationProp } from '@react-navigation/bottom-tabs'; import { NativeStackScreenProps } from '@react-navigation/native-stack'; import { VideoResource } from '@/types/types'; @@ -43,4 +44,4 @@ export type SeekHelpScreenProps = NativeStackScreenProps; export type BottomTabScreenProps = - MaterialBottomTabNavigationProp; + BottomTabNavigationProp; diff --git a/src/screens/Home/index.tsx b/src/screens/Home/index.tsx index 7c9d85c..aa8d2e1 100644 --- a/src/screens/Home/index.tsx +++ b/src/screens/Home/index.tsx @@ -1,7 +1,8 @@ import React from 'react'; -import {Text, TouchableOpacity, View, Image} from 'react-native'; -import { styles } from './styles'; +import { Image, Text, TouchableOpacity, View } from 'react-native'; import logo from 'src/assets/images/JDI_LOGO.png'; +import { styles } from './styles'; + export default function HomeScreen() { return ( From f08adcb5a7e70bb7c940da140c37f3b2eda9b2de Mon Sep 17 00:00:00 2001 From: user Date: Tue, 3 Dec 2024 21:16:47 -0800 Subject: [PATCH 10/10] styling pt 1 --- src/screens/HealingResources/HFHGuide/index.tsx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/screens/HealingResources/HFHGuide/index.tsx b/src/screens/HealingResources/HFHGuide/index.tsx index 4a5166d..5e23d3d 100644 --- a/src/screens/HealingResources/HFHGuide/index.tsx +++ b/src/screens/HealingResources/HFHGuide/index.tsx @@ -3,6 +3,7 @@ import { Pressable, ScrollView, Text, View } from 'react-native'; import RenderHTML from 'react-native-render-html'; import { useFonts } from 'expo-font'; import { HealingScreenProps } from '@/navigation/types'; +import { MixedStyleRecord } from 'react-native-render-html'; import { getNextSubheadingId, getSubheadingById, @@ -80,11 +81,11 @@ export default function HFHGuide({ ); } -const htmlStyles = { +const htmlStyles: MixedStyleRecord = { p: { fontFamily: 'Roboto Serif', fontSize: 20, - fontWeight: '200', + fontWeight: '200', // Use a valid string value as per the error color: '#444', lineHeight: 30, marginVertical: 6, @@ -92,7 +93,6 @@ const htmlStyles = { }, h3: { fontFamily: 'Roboto Serif Bold', - // fontWeight: 'bold', fontSize: 30, color: '#444', lineHeight: 30, @@ -109,4 +109,4 @@ const htmlStyles = { lineHeight: 24, color: '#444', }, -}; +}; \ No newline at end of file