From 2200fa33a0ad338d9b67c874cb2c04826eb372db Mon Sep 17 00:00:00 2001 From: Gowtham G Date: Tue, 19 Sep 2023 19:08:23 +0530 Subject: [PATCH] chore: initial work --- package.json | 2 + src/api/types.ts | 11 +- src/components/Comments/Comment.tsx | 27 ++++ src/components/Comments/CommentsContainer.tsx | 18 +++ src/components/Comments/index.tsx | 4 + src/router/index.tsx | 2 + src/router/types.ts | 1 + src/screens/Article/index.tsx | 6 + src/screens/Comments/index.tsx | 131 +++++++++++++++++ yarn.lock | 137 +++++++++++++++++- 10 files changed, 330 insertions(+), 9 deletions(-) create mode 100644 src/components/Comments/Comment.tsx create mode 100644 src/components/Comments/CommentsContainer.tsx create mode 100644 src/components/Comments/index.tsx create mode 100644 src/screens/Comments/index.tsx diff --git a/package.json b/package.json index 3936ac64..8c8ad981 100644 --- a/package.json +++ b/package.json @@ -47,6 +47,7 @@ "react-native-paper": "5.10.5", "react-native-reanimated": "3.5.2", "react-native-remote-svg": "2.0.11", + "react-native-render-html": "6.3.4", "react-native-safe-area-context": "4.7.2", "react-native-screens": "3.25.0", "react-native-svg": "13.13.0", @@ -78,6 +79,7 @@ "@types/metro-config": "0.76.3", "@types/node": "20.6.2", "@types/react": "18.2.22", + "@types/react-native": "0.72.2", "@types/react-native-vector-icons": "6.4.14", "@types/react-native-video": "5.0.15", "@types/react-syntax-highlighter": "15.5.7", diff --git a/src/api/types.ts b/src/api/types.ts index 4339c55e..0dec8ead 100644 --- a/src/api/types.ts +++ b/src/api/types.ts @@ -73,7 +73,7 @@ export enum ArticleFeedApiStates { } export interface ApiVideoListItem { - type_of: VideoTypes; + type_of: string; id: number; path: string; cloudinary_video_url: string; @@ -84,4 +84,11 @@ export interface ApiVideoListItem { user: User; } -export enum VideoTypes {} +export interface ApiCommentItem { + type_of: string; + id_code: string; + created_at: string; + body_html: string; + user: User; + children: ApiCommentItem[]; +} diff --git a/src/components/Comments/Comment.tsx b/src/components/Comments/Comment.tsx new file mode 100644 index 00000000..55449d87 --- /dev/null +++ b/src/components/Comments/Comment.tsx @@ -0,0 +1,27 @@ +import { Fragment, FunctionComponent, memo } from "react"; +import { View, useWindowDimensions } from "react-native"; +import RenderHTML from "react-native-render-html"; +import { ApiCommentItem } from "../../api/types"; +import CommentsContainer from "./CommentsContainer"; + +type Props = { + comment: ApiCommentItem; +}; + +const Comment: FunctionComponent = ({ comment }) => { + const { width } = useWindowDimensions(); + return ( + + + + + + + ); +}; + +export default memo(Comment); diff --git a/src/components/Comments/CommentsContainer.tsx b/src/components/Comments/CommentsContainer.tsx new file mode 100644 index 00000000..d74d04f3 --- /dev/null +++ b/src/components/Comments/CommentsContainer.tsx @@ -0,0 +1,18 @@ +import { FunctionComponent } from "react"; +import { FlatList } from "react-native"; +import { ApiCommentItem } from "../../api/types"; +import Comment from "./Comment"; + +type Props = { + comments: ApiCommentItem[]; +}; + +const CommentsContainer: FunctionComponent = ({ comments }) => { + const renderItem = ({ item }: { item: ApiCommentItem }) => { + return ; + }; + + return ; +}; + +export default CommentsContainer; diff --git a/src/components/Comments/index.tsx b/src/components/Comments/index.tsx new file mode 100644 index 00000000..39e08a36 --- /dev/null +++ b/src/components/Comments/index.tsx @@ -0,0 +1,4 @@ +import Comment from "./Comment"; +import CommentsContainer from "./CommentsContainer"; + +export { CommentsContainer, Comment }; diff --git a/src/router/index.tsx b/src/router/index.tsx index 90590565..9d6afb6b 100644 --- a/src/router/index.tsx +++ b/src/router/index.tsx @@ -11,6 +11,7 @@ import Icon from "react-native-vector-icons/MaterialIcons"; import AboutScreen from "../screens/About"; import ArticleScreen from "../screens/Article"; import BookmarksScreen from "../screens/Bookmarks"; +import CommentsScreen from "../screens/Comments"; import LandingScreen from "../screens/LandingFeed"; import LatestScreen from "../screens/LatestFeed"; import SearchScreen from "../screens/Search"; @@ -127,6 +128,7 @@ const Router: FunctionComponent = ({ theme, onReady }) => { component={TermsAndConditionsScreen} /> + ); diff --git a/src/router/types.ts b/src/router/types.ts index 1d608450..32f544cb 100644 --- a/src/router/types.ts +++ b/src/router/types.ts @@ -37,4 +37,5 @@ export type StackParamList = { Settings: undefined; TermsAndConditions: undefined; Search: undefined; + Comments: undefined; }; diff --git a/src/screens/Article/index.tsx b/src/screens/Article/index.tsx index 9ce255da..186ff38f 100644 --- a/src/screens/Article/index.tsx +++ b/src/screens/Article/index.tsx @@ -251,6 +251,12 @@ const ArticleScreen: FunctionComponent = ({ route, navigation }) => { + navigation.navigate("Comments")} + accessibilityHint="Open in browser" + accessibilityLabel="Open in browser" + /> I've never gotten involved with Hacktoberfest before, but keen to get involved this time around :)

\n\n", + user: { + name: "Barry Michael Doyle", + username: "barrymichaeldoyle", + twitter_username: "barrymdoyle", + github_username: "barrymichaeldoyle", + user_id: 41018, + website_url: "https://barrymichaeldoyle.start.page", + profile_image: + "https://res.cloudinary.com/practicaldev/image/fetch/s--xezS2DKk--/c_fill,f_auto,fl_progressive,h_640,q_auto,w_640/https://dev-to-uploads.s3.amazonaws.com/uploads/user/profile_image/41018/162edfc7-780a-4d8b-87ba-ddd14206256c.jpg", + profile_image_90: + "https://res.cloudinary.com/practicaldev/image/fetch/s--u9kQsuic--/c_fill,f_auto,fl_progressive,h_90,q_auto,w_90/https://dev-to-uploads.s3.amazonaws.com/uploads/user/profile_image/41018/162edfc7-780a-4d8b-87ba-ddd14206256c.jpg", + }, + children: [ + { + type_of: "comment", + id_code: "29dp7", + created_at: "2023-09-19T11:37:40Z", + body_html: + "

Last year was my first and it's great to participate! If you need help I'm here!

\n\n", + user: { + name: "Renan Ferro", + username: "renancferro", + twitter_username: "renancferro", + github_username: "ferrorenan", + user_id: 617582, + website_url: "https://dev-tab-daily.vercel.app/", + profile_image: + "https://res.cloudinary.com/practicaldev/image/fetch/s--UbkUaQkL--/c_fill,f_auto,fl_progressive,h_640,q_auto,w_640/https://dev-to-uploads.s3.amazonaws.com/uploads/user/profile_image/617582/bc204122-f4d9-4ca9-b458-cd897fca945b.png", + profile_image_90: + "https://res.cloudinary.com/practicaldev/image/fetch/s--MZso0KUf--/c_fill,f_auto,fl_progressive,h_90,q_auto,w_90/https://dev-to-uploads.s3.amazonaws.com/uploads/user/profile_image/617582/bc204122-f4d9-4ca9-b458-cd897fca945b.png", + }, + children: [ + { + type_of: "comment", + id_code: "29dpn", + created_at: "2023-09-19T12:16:40Z", + body_html: "

Thanks man!

\n\n", + user: { + name: "Barry Michael Doyle", + username: "barrymichaeldoyle", + twitter_username: "barrymdoyle", + github_username: "barrymichaeldoyle", + user_id: 41018, + website_url: "https://barrymichaeldoyle.start.page", + profile_image: + "https://res.cloudinary.com/practicaldev/image/fetch/s--xezS2DKk--/c_fill,f_auto,fl_progressive,h_640,q_auto,w_640/https://dev-to-uploads.s3.amazonaws.com/uploads/user/profile_image/41018/162edfc7-780a-4d8b-87ba-ddd14206256c.jpg", + profile_image_90: + "https://res.cloudinary.com/practicaldev/image/fetch/s--u9kQsuic--/c_fill,f_auto,fl_progressive,h_90,q_auto,w_90/https://dev-to-uploads.s3.amazonaws.com/uploads/user/profile_image/41018/162edfc7-780a-4d8b-87ba-ddd14206256c.jpg", + }, + children: [], + }, + ], + }, + { + type_of: "comment", + id_code: "29dg4", + created_at: "2023-09-18T22:43:16Z", + body_html: "

Same here :)

\n\n", + user: { + name: "Cherlock Code 🔎", + username: "evergrowingdev", + twitter_username: "evergrowingdev", + github_username: null, + user_id: 1027000, + website_url: "https://evergrowingdev.substack.com/", + profile_image: + "https://res.cloudinary.com/practicaldev/image/fetch/s--DNl98s33--/c_fill,f_auto,fl_progressive,h_640,q_auto,w_640/https://dev-to-uploads.s3.amazonaws.com/uploads/user/profile_image/1027000/3d79f207-f265-41e7-a460-5db1a113ce57.png", + profile_image_90: + "https://res.cloudinary.com/practicaldev/image/fetch/s--p1bhZ4cs--/c_fill,f_auto,fl_progressive,h_90,q_auto,w_90/https://dev-to-uploads.s3.amazonaws.com/uploads/user/profile_image/1027000/3d79f207-f265-41e7-a460-5db1a113ce57.png", + }, + children: [], + }, + { + type_of: "comment", + id_code: "29dk6", + created_at: "2023-09-19T03:49:24Z", + body_html: "

+1

\n\n", + user: { + name: "Jyothikrishna ", + username: "bhendi", + twitter_username: "bhendiboi22", + github_username: "bhendi-boi", + user_id: 897790, + website_url: "https://linktr.ee/jyothikrishna22", + profile_image: + "https://res.cloudinary.com/practicaldev/image/fetch/s--DqcMVYxU--/c_fill,f_auto,fl_progressive,h_640,q_auto,w_640/https://dev-to-uploads.s3.amazonaws.com/uploads/user/profile_image/897790/1e04b27c-f4c2-452e-b5c1-8e803cc6d875.png", + profile_image_90: + "https://res.cloudinary.com/practicaldev/image/fetch/s--f4eCCkd1--/c_fill,f_auto,fl_progressive,h_90,q_auto,w_90/https://dev-to-uploads.s3.amazonaws.com/uploads/user/profile_image/897790/1e04b27c-f4c2-452e-b5c1-8e803cc6d875.png", + }, + children: [], + }, + ], + }, + { + type_of: "comment", + id_code: "29dp6", + created_at: "2023-09-19T11:36:12Z", + body_html: + "

Let's goooo, really looking forward to another year of Hacktoberfest 🤟🤟

\n\n", + user: { + name: "Renan Ferro", + username: "renancferro", + twitter_username: "renancferro", + github_username: "ferrorenan", + user_id: 617582, + website_url: "https://dev-tab-daily.vercel.app/", + profile_image: + "https://res.cloudinary.com/practicaldev/image/fetch/s--UbkUaQkL--/c_fill,f_auto,fl_progressive,h_640,q_auto,w_640/https://dev-to-uploads.s3.amazonaws.com/uploads/user/profile_image/617582/bc204122-f4d9-4ca9-b458-cd897fca945b.png", + profile_image_90: + "https://res.cloudinary.com/practicaldev/image/fetch/s--MZso0KUf--/c_fill,f_auto,fl_progressive,h_90,q_auto,w_90/https://dev-to-uploads.s3.amazonaws.com/uploads/user/profile_image/617582/bc204122-f4d9-4ca9-b458-cd897fca945b.png", + }, + children: [], + }, +]; + +const CommentsScreen: FunctionComponent = () => { + return ; +}; + +export default CommentsScreen; diff --git a/yarn.lock b/yarn.lock index c3dfb096..ad01f92b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2454,12 +2454,12 @@ "@jridgewell/resolve-uri" "3.1.0" "@jridgewell/sourcemap-codec" "1.4.14" -"@jsamr/counter-style@2.0.2": +"@jsamr/counter-style@2.0.2", "@jsamr/counter-style@^2.0.1": version "2.0.2" resolved "https://registry.yarnpkg.com/@jsamr/counter-style/-/counter-style-2.0.2.tgz#6f08cfa98e1f0416dc1d7f2d8ac38a8cdb004c5d" integrity sha512-2mXudGVtSzVxWEA7B9jZLKjoXUeUFYDDtFrQoC0IFX9/Dszz4t1vZOmafi3JSw/FxD+udMQ+4TAFR8Qs0J3URQ== -"@jsamr/react-native-li@2.3.1": +"@jsamr/react-native-li@2.3.1", "@jsamr/react-native-li@^2.3.0": version "2.3.1" resolved "https://registry.yarnpkg.com/@jsamr/react-native-li/-/react-native-li-2.3.1.tgz#12a5b5f6e3971cec77b96bee58104eed0ae9314a" integrity sha512-Qbo4NEj48SQ4k8FZJHFE2fgZDKTWaUGmVxcIQh3msg5JezLdTMMHuRRDYctfdHI6L0FZGObmEv3haWbIvmol8w== @@ -2517,6 +2517,28 @@ hey-listen "^1.0.8" tslib "^2.3.1" +"@native-html/css-processor@1.11.0": + version "1.11.0" + resolved "https://registry.yarnpkg.com/@native-html/css-processor/-/css-processor-1.11.0.tgz#27d02e5123b0849f4986d44060ba3f235a15f552" + integrity sha512-NnhBEbJX5M2gBGltPKOetiLlKhNf3OHdRafc8//e2ZQxXN8JaSW/Hy8cm94pnIckQxwaMKxrtaNT3x4ZcffoNQ== + dependencies: + css-to-react-native "^3.0.0" + csstype "^3.0.8" + +"@native-html/transient-render-engine@11.2.3": + version "11.2.3" + resolved "https://registry.yarnpkg.com/@native-html/transient-render-engine/-/transient-render-engine-11.2.3.tgz#e4de0e7c8c023224a2dc27f3bd2b30d3984d94a4" + integrity sha512-zXwgA3gPUEmFs3I3syfnvDvS6WiUHXEE6jY09OBzK+trq7wkweOSFWIoyXiGkbXrozGYG0KY90YgPyr8Tg8Uyg== + dependencies: + "@native-html/css-processor" "1.11.0" + "@types/ramda" "^0.27.44" + csstype "^3.0.9" + domelementtype "^2.2.0" + domhandler "^4.2.2" + domutils "^2.8.0" + htmlparser2 "^7.1.2" + ramda "^0.27.2" + "@react-native-clipboard/clipboard@1.11.2": version "1.11.2" resolved "https://registry.yarnpkg.com/@react-native-clipboard/clipboard/-/clipboard-1.11.2.tgz#e826d0336b34e67294aaffa6878308900bc7d197" @@ -3028,6 +3050,13 @@ resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.5.tgz#5f19d2b85a98e9558036f6a3cacc8819420f05cf" integrity sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w== +"@types/ramda@^0.27.40", "@types/ramda@^0.27.44": + version "0.27.66" + resolved "https://registry.yarnpkg.com/@types/ramda/-/ramda-0.27.66.tgz#f1a23d13b0087d806a62e3ff941e5e59b3318999" + integrity sha512-i2YW+E2U6NfMt3dp0RxNcejox+bxJUNDjB7BpYuRuoHIzv5juPHkJkNgcUOu+YSQEmaWu8cnAo/8r63C0NnuVA== + dependencies: + ts-toolbelt "^6.15.1" + "@types/react-native-vector-icons@6.4.14": version "6.4.14" resolved "https://registry.yarnpkg.com/@types/react-native-vector-icons/-/react-native-vector-icons-6.4.14.tgz#085868a3d73a1db4bd49d6ce308c88b3a39cd96c" @@ -3044,7 +3073,7 @@ "@types/react" "*" "@types/react-native" "*" -"@types/react-native@*": +"@types/react-native@*", "@types/react-native@0.72.2": version "0.72.2" resolved "https://registry.yarnpkg.com/@types/react-native/-/react-native-0.72.2.tgz#27c931a899c555b28e20cdd12e570b017808de96" integrity sha512-/eEjr04Zqo7mTMszuSdrLx90+j5nWhDMMOgtnKZfAYyV3RwmlpSb7F17ilmMMxZWJY81n/JZ4e6wdhMJFpjrCg== @@ -3111,6 +3140,11 @@ resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.6.tgz#250a7b16c3b91f672a24552ec64678eeb1d3a08d" integrity sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ== +"@types/urijs@^1.19.15": + version "1.19.20" + resolved "https://registry.yarnpkg.com/@types/urijs/-/urijs-1.19.20.tgz#7ea4254f4c2cdbd7d34e47d483e76fa1b81e19a4" + integrity sha512-77Mq/2BeHU894J364dUv9tSwxxyCLtcX228Pc8TwZpP5bvOoMns+gZoftp3LYl3FBH8vChpWbuagKGiMki2c1A== + "@types/url-parse@1.4.9": version "1.4.9" resolved "https://registry.yarnpkg.com/@types/url-parse/-/url-parse-1.4.9.tgz#443c0d8a4ed3208924fa9134d8f17f79fe9774d0" @@ -3676,6 +3710,11 @@ char-regex@^1.0.2: resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== +character-entities-html4@^1.0.0: + version "1.1.4" + resolved "https://registry.yarnpkg.com/character-entities-html4/-/character-entities-html4-1.1.4.tgz#0e64b0a3753ddbf1fdc044c5fd01d0199a02e125" + integrity sha512-HRcDxZuZqMx3/a+qrzxdBKBPUpxWEq9xw2OPZ3a/174ihfrQKVsFhqtthBInFy1zZ9GgZyFXOatNujm8M+El3g== + character-entities-legacy@^1.0.0: version "1.1.4" resolved "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz#94bc1845dce70a5bb9d2ecc748725661293d8fc1" @@ -4048,7 +4087,7 @@ css-select@^5.1.0: domutils "^3.0.1" nth-check "^2.0.1" -css-to-react-native@3.2.0: +css-to-react-native@3.2.0, css-to-react-native@^3.0.0: version "3.2.0" resolved "https://registry.yarnpkg.com/css-to-react-native/-/css-to-react-native-3.2.0.tgz#cdd8099f71024e149e4f6fe17a7d46ecd55f1e32" integrity sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ== @@ -4075,7 +4114,7 @@ cssom@^0.5.0: resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.5.0.tgz#d254fa92cd8b6fbd83811b9fbaed34663cc17c36" integrity sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw== -csstype@^3.0.2: +csstype@^3.0.2, csstype@^3.0.8, csstype@^3.0.9: version "3.1.2" resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.2.tgz#1d4bf9d572f11c14031f0436e1c10bc1f571f50b" integrity sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ== @@ -4229,6 +4268,15 @@ diff@^4.0.1: resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== +dom-serializer@^1.0.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.4.1.tgz#de5d41b1aea290215dc45a6dae8adcf1d32e2d30" + integrity sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag== + dependencies: + domelementtype "^2.0.1" + domhandler "^4.2.0" + entities "^2.0.0" + dom-serializer@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-2.0.0.tgz#e41b802e1eedf9f6cae183ce5e622d789d7d8e53" @@ -4238,11 +4286,18 @@ dom-serializer@^2.0.0: domhandler "^5.0.2" entities "^4.2.0" -domelementtype@^2.3.0: +domelementtype@^2.0.1, domelementtype@^2.2.0, domelementtype@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.3.0.tgz#5c45e8e869952626331d7aab326d01daf65d589d" integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== +domhandler@^4.2.0, domhandler@^4.2.2: + version "4.3.1" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.3.1.tgz#8d792033416f59d68bc03a5aa7b018c1ca89279c" + integrity sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ== + dependencies: + domelementtype "^2.2.0" + domhandler@^5.0.2, domhandler@^5.0.3: version "5.0.3" resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-5.0.3.tgz#cc385f7f751f1d1fc650c21374804254538c7d31" @@ -4255,6 +4310,15 @@ domino@^2.1.6: resolved "https://registry.yarnpkg.com/domino/-/domino-2.1.6.tgz#fe4ace4310526e5e7b9d12c7de01b7f485a57ffe" integrity sha512-3VdM/SXBZX2omc9JF9nOPCtDaYQ67BGp5CoLpIQlO2KCAPETs8TcDHacF26jXadGbvUteZzRTeos2fhID5+ucQ== +domutils@^2.8.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135" + integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== + dependencies: + dom-serializer "^1.0.1" + domelementtype "^2.2.0" + domhandler "^4.2.0" + domutils@^3.0.1: version "3.1.0" resolved "https://registry.yarnpkg.com/domutils/-/domutils-3.1.0.tgz#c47f551278d3dc4b0b1ab8cbb42d751a6f0d824e" @@ -4308,6 +4372,16 @@ end-of-stream@^1.1.0, end-of-stream@^1.4.1: dependencies: once "^1.4.0" +entities@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" + integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== + +entities@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/entities/-/entities-3.0.1.tgz#2b887ca62585e96db3903482d336c1006c3001d4" + integrity sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q== + entities@^4.2.0, entities@^4.4.0: version "4.5.0" resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48" @@ -4849,6 +4923,16 @@ html-escaper@^2.0.0: resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== +htmlparser2@^7.1.2: + version "7.2.0" + resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-7.2.0.tgz#8817cdea38bbc324392a90b1990908e81a65f5a5" + integrity sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog== + dependencies: + domelementtype "^2.0.1" + domhandler "^4.2.2" + domutils "^2.8.0" + entities "^3.0.1" + htmlparser2@^8.0.1: version "8.0.2" resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-8.0.2.tgz#f002151705b383e62433b5cf466f5b716edaec21" @@ -7191,7 +7275,7 @@ prompts@^2.0.1, prompts@^2.4.0: kleur "^3.0.3" sisteransi "^1.0.5" -prop-types@*, prop-types@15.8.1, prop-types@^15.7.2: +prop-types@*, prop-types@15.8.1, prop-types@^15.5.7, prop-types@^15.7.2: version "15.8.1" resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== @@ -7262,6 +7346,11 @@ quick-lru@^4.0.1: resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f" integrity sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g== +ramda@^0.27.2: + version "0.27.2" + resolved "https://registry.yarnpkg.com/ramda/-/ramda-0.27.2.tgz#84463226f7f36dc33592f6f4ed6374c48306c3f1" + integrity sha512-SbiLPU40JuJniHexQSAgad32hfwd+DRUdwF2PlVuI5RZD0/vahUco7R8vD86J/tcEKKF9vZrUVwgtmGCqlCKyA== + range-parser@~1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" @@ -7403,6 +7492,21 @@ react-native-remote-svg@2.0.11: resolved "https://registry.yarnpkg.com/react-native-remote-svg/-/react-native-remote-svg-2.0.11.tgz#48138e8e6e55a07960a6b2a7c569b3a151b6f628" integrity sha512-MHOieuffbJWH3xSnMIvCjQ9bBsJRgI7cXZ1R6Qg/eSPfl91ySKDeIMktB6BT7ewcR2sF251l+uZB7F4qBqKtQg== +react-native-render-html@6.3.4: + version "6.3.4" + resolved "https://registry.yarnpkg.com/react-native-render-html/-/react-native-render-html-6.3.4.tgz#01684897bed2de84829e540a1dbb3a7bdf9d0e57" + integrity sha512-H2jSMzZjidE+Wo3qCWPUMU1nm98Vs2SGCvQCz/i6xf0P3Y9uVtG/b0sDbG/cYFir2mSYBYCIlS1Dv0WC1LjYig== + dependencies: + "@jsamr/counter-style" "^2.0.1" + "@jsamr/react-native-li" "^2.3.0" + "@native-html/transient-render-engine" "11.2.3" + "@types/ramda" "^0.27.40" + "@types/urijs" "^1.19.15" + prop-types "^15.5.7" + ramda "^0.27.2" + stringify-entities "^3.1.0" + urijs "^1.19.6" + react-native-safe-area-context@4.7.2: version "4.7.2" resolved "https://registry.yarnpkg.com/react-native-safe-area-context/-/react-native-safe-area-context-4.7.2.tgz#1673aa99b6a9235e7faaf5a248e69795d6e54e07" @@ -8126,6 +8230,15 @@ string_decoder@~1.1.1: dependencies: safe-buffer "~5.1.0" +stringify-entities@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/stringify-entities/-/stringify-entities-3.1.0.tgz#b8d3feac256d9ffcc9fa1fefdcf3ca70576ee903" + integrity sha512-3FP+jGMmMV/ffZs86MoghGqAoqXAdxLrJP4GUdrDN1aIScYih5tuIO3eF4To5AJZ79KDZ8Fpdy7QJnK8SsL1Vg== + dependencies: + character-entities-html4 "^1.0.0" + character-entities-legacy "^1.0.0" + xtend "^4.0.0" + strip-ansi@^5.0.0, strip-ansi@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" @@ -8392,6 +8505,11 @@ ts-object-utils@0.0.5: resolved "https://registry.yarnpkg.com/ts-object-utils/-/ts-object-utils-0.0.5.tgz#95361cdecd7e52167cfc5e634c76345e90a26077" integrity sha512-iV0GvHqOmilbIKJsfyfJY9/dNHCs969z3so90dQWsO1eMMozvTpnB1MEaUbb3FYtZTGjv5sIy/xmslEz0Rg2TA== +ts-toolbelt@^6.15.1: + version "6.15.5" + resolved "https://registry.yarnpkg.com/ts-toolbelt/-/ts-toolbelt-6.15.5.tgz#cb3b43ed725cb63644782c64fbcad7d8f28c0a83" + integrity sha512-FZIXf1ksVyLcfr7M317jbB67XFJhOO1YqdTcuGaq9q5jLUoTikukZ+98TPjKiP2jC5CgmYdWWYs0s2nLSU0/1A== + tslib@2.4.0: version "2.4.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3" @@ -8535,6 +8653,11 @@ uri-js@^4.2.2: dependencies: punycode "^2.1.0" +urijs@^1.19.6: + version "1.19.11" + resolved "https://registry.yarnpkg.com/urijs/-/urijs-1.19.11.tgz#204b0d6b605ae80bea54bea39280cdb7c9f923cc" + integrity sha512-HXgFDgDommxn5/bIv0cnQZsPhHDA90NPHD6+c/v21U5+Sx5hoP8+dP9IZXBU1gIfvdRfhG8cel9QNPeionfcCQ== + url-parse@1.5.10: version "1.5.10" resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.10.tgz#9d3c2f736c1d75dd3bd2be507dcc111f1e2ea9c1"