From 7e42a0a16f0fb6e5c94cce096f82e02a5ef1ba74 Mon Sep 17 00:00:00 2001 From: Gabriel Sabanai Date: Sun, 11 Aug 2024 20:15:21 -0300 Subject: [PATCH 1/3] fix: fix login problem --- app/.gitignore | 1 + app/package.json | 2 +- app/yarn.lock | 994 ++++++++++++----------------------------------- 3 files changed, 246 insertions(+), 751 deletions(-) diff --git a/app/.gitignore b/app/.gitignore index 750073762..649a18f4f 100644 --- a/app/.gitignore +++ b/app/.gitignore @@ -16,6 +16,7 @@ web-report/ #webstorm .idea +../.idea/ #auth json authmiaajuda-firebase.json diff --git a/app/package.json b/app/package.json index 5b10a78b2..3d6fc0bff 100644 --- a/app/package.json +++ b/app/package.json @@ -33,7 +33,7 @@ "moment": "^2.29.4", "nativewind": "^2.0.11", "react": "18.2.0", - "react-native": "0.71.8", + "react-native": "0.71.14", "react-native-elements": "^3.4.3", "react-native-gesture-handler": "~2.9.0", "react-native-maps": "1.3.2", diff --git a/app/yarn.lock b/app/yarn.lock index ca1f95246..677c093ce 100644 --- a/app/yarn.lock +++ b/app/yarn.lock @@ -2265,20 +2265,19 @@ dependencies: serve-static "^1.13.1" -"@react-native-community/cli-doctor@^10.2.2": - version "10.2.2" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-doctor/-/cli-doctor-10.2.2.tgz#b1893604fa9fc8971064e7c00042350f96868bfe" - integrity sha512-49Ep2aQOF0PkbAR/TcyMjOm9XwBa8VQr+/Zzf4SJeYwiYLCT1NZRAVAVjYRXl0xqvq5S5mAGZZShS4AQl4WsZw== +"@react-native-community/cli-doctor@^10.2.4": + version "10.2.7" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-doctor/-/cli-doctor-10.2.7.tgz#1a3ecd18a7b1e685864c9dc95e014a5f8f225f84" + integrity sha512-MejE7m+63DxfKwFSvyZGfq+72jX0RSP9SdSmDbW0Bjz2NIEE3BsE8rNay+ByFbdSLsapRPvaZv2Jof+dK2Y/yg== dependencies: "@react-native-community/cli-config" "^10.1.1" - "@react-native-community/cli-platform-ios" "^10.2.1" + "@react-native-community/cli-platform-ios" "^10.2.5" "@react-native-community/cli-tools" "^10.1.1" chalk "^4.1.2" command-exists "^1.2.8" envinfo "^7.7.2" execa "^1.0.0" hermes-profile-transformer "^0.0.6" - ip "^1.1.5" node-stream-zip "^1.9.1" ora "^5.4.1" prompts "^2.4.0" @@ -2309,10 +2308,22 @@ glob "^7.1.3" logkitty "^0.7.1" -"@react-native-community/cli-platform-ios@10.2.1", "@react-native-community/cli-platform-ios@^10.2.1": - version "10.2.1" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-ios/-/cli-platform-ios-10.2.1.tgz#2e6bd2cb6d48cbb8720d7b7265bb1bab80745f72" - integrity sha512-hz4zu4Y6eyj7D0lnZx8Mf2c2si8y+zh/zUTgCTaPPLzQD8jSZNNBtUUiA1cARm2razpe8marCZ1QbTMAGbf3mg== +"@react-native-community/cli-platform-ios@10.2.4": + version "10.2.4" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-ios/-/cli-platform-ios-10.2.4.tgz#6af05cd4258438422a3a50d1c0cc757acd6be375" + integrity sha512-/6K+jeRhcGojFIJMWMXV2eY5n/In+YUzBr/DKWQOeHBOHkESRNheG310xSAIjgB46YniSSUKhSyeuhalTbm9OQ== + dependencies: + "@react-native-community/cli-tools" "^10.1.1" + chalk "^4.1.2" + execa "^1.0.0" + fast-xml-parser "^4.0.12" + glob "^7.1.3" + ora "^5.4.1" + +"@react-native-community/cli-platform-ios@^10.2.5": + version "10.2.5" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-platform-ios/-/cli-platform-ios-10.2.5.tgz#7888c74b83099885bf9e6d52170c6e663ad971ee" + integrity sha512-hq+FZZuSBK9z82GLQfzdNDl8vbFx5UlwCLFCuTtNCROgBoapFtVZQKRP2QBftYNrQZ0dLAb01gkwxagHsQCFyg== dependencies: "@react-native-community/cli-tools" "^10.1.1" chalk "^4.1.2" @@ -2321,21 +2332,21 @@ glob "^7.1.3" ora "^5.4.1" -"@react-native-community/cli-plugin-metro@^10.2.2": - version "10.2.2" - resolved "https://registry.yarnpkg.com/@react-native-community/cli-plugin-metro/-/cli-plugin-metro-10.2.2.tgz#766914e3c8007dfe52b253544c4f6cd8549919ac" - integrity sha512-sTGjZlD3OGqbF9v1ajwUIXhGmjw9NyJ/14Lo0sg7xH8Pv4qUd5ZvQ6+DWYrQn3IKFUMfGFWYyL81ovLuPylrpw== +"@react-native-community/cli-plugin-metro@^10.2.3": + version "10.2.3" + resolved "https://registry.yarnpkg.com/@react-native-community/cli-plugin-metro/-/cli-plugin-metro-10.2.3.tgz#419e0155a50951c3329818fba51cb5021a7294f1" + integrity sha512-jHi2oDuTePmW4NEyVT8JEGNlIYcnFXCSV2ZMp4rnDrUk4TzzyvS3IMvDlESEmG8Kry8rvP0KSUx/hTpy37Sbkw== dependencies: "@react-native-community/cli-server-api" "^10.1.1" "@react-native-community/cli-tools" "^10.1.1" chalk "^4.1.2" execa "^1.0.0" - metro "0.73.9" - metro-config "0.73.9" - metro-core "0.73.9" - metro-react-native-babel-transformer "0.73.9" - metro-resolver "0.73.9" - metro-runtime "0.73.9" + metro "0.73.10" + metro-config "0.73.10" + metro-core "0.73.10" + metro-react-native-babel-transformer "0.73.10" + metro-resolver "0.73.10" + metro-runtime "0.73.10" readline "^1.3.0" "@react-native-community/cli-server-api@^10.1.1": @@ -2375,17 +2386,17 @@ dependencies: joi "^17.2.1" -"@react-native-community/cli@10.2.2": - version "10.2.2" - resolved "https://registry.yarnpkg.com/@react-native-community/cli/-/cli-10.2.2.tgz#3fa438ba7f19f83e07bc337765fc1cabdcf2cac2" - integrity sha512-aZVcVIqj+OG6CrliR/Yn8wHxrvyzbFBY9cj7n0MvRw/P54QUru2nNqUTSSbqv0Qaa297yHJbe6kFDojDMSTM8Q== +"@react-native-community/cli@10.2.4": + version "10.2.4" + resolved "https://registry.yarnpkg.com/@react-native-community/cli/-/cli-10.2.4.tgz#c6afe723055d430061a32bd31644fc56eb9ba330" + integrity sha512-E9BUDHfLEsnjkjeJqECuCjl4E/1Ox9Nl6hkQBhEqjZm4AaQxgU7M6AyFfOgaXn5v3am16/R4ZOUTrJnGJWS3GA== dependencies: "@react-native-community/cli-clean" "^10.1.1" "@react-native-community/cli-config" "^10.1.1" "@react-native-community/cli-debugger-ui" "^10.0.0" - "@react-native-community/cli-doctor" "^10.2.2" + "@react-native-community/cli-doctor" "^10.2.4" "@react-native-community/cli-hermes" "^10.2.0" - "@react-native-community/cli-plugin-metro" "^10.2.2" + "@react-native-community/cli-plugin-metro" "^10.2.3" "@react-native-community/cli-server-api" "^10.1.1" "@react-native-community/cli-tools" "^10.1.1" "@react-native-community/cli-types" "^10.0.0" @@ -2934,21 +2945,6 @@ aria-query@^5.1.3: dependencies: deep-equal "^2.0.5" -arr-diff@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" - integrity sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA== - -arr-flatten@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" - integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== - -arr-union@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" - integrity sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q== - array-buffer-byte-length@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz#fabe8bc193fea865f317fe7807085ee0dee5aead" @@ -2973,11 +2969,6 @@ array-union@^2.1.0: resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== -array-unique@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" - integrity sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ== - array.prototype.flat@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz#ffc6576a7ca3efc2f46a143b9d1dda9b4b3cf5e2" @@ -3024,20 +3015,15 @@ assert@^2.0.0: object-is "^1.0.1" util "^0.12.0" -assign-symbols@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" - integrity sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw== - ast-types-flow@^0.0.7: version "0.0.7" resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad" integrity sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag== -ast-types@0.14.2: - version "0.14.2" - resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.14.2.tgz#600b882df8583e3cd4f2df5fa20fa83759d4bdfd" - integrity sha512-O0yuUDnZeQDL+ncNGlJ78BiO4jnYI3bvMsD5prT0/nsgijG/LpNBIr63gTjVTNsiGkgQhiyCShTgxt8oXOrklA== +ast-types@0.15.2: + version "0.15.2" + resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.15.2.tgz#39ae4809393c4b16df751ee563411423e85fb49d" + integrity sha512-c27loCv9QkZinsa5ProX751khO9DJl/AcB5c2KNtA6NRvHKS0PgLfcftz72KVq504vB0Gku5s2kUZzDBvQWvHg== dependencies: tslib "^2.0.1" @@ -3071,11 +3057,6 @@ at-least-node@^1.0.0: resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== -atob@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" - integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== - available-typed-arrays@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" @@ -3225,19 +3206,6 @@ base64-js@^1.1.2, base64-js@^1.2.3, base64-js@^1.3.1, base64-js@^1.5.1: resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== -base@^0.11.1: - version "0.11.2" - resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" - integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== - dependencies: - cache-base "^1.0.1" - class-utils "^0.3.5" - component-emitter "^1.2.1" - define-property "^1.0.0" - isobject "^3.0.1" - mixin-deep "^1.2.0" - pascalcase "^0.1.1" - better-opn@~3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/better-opn/-/better-opn-3.0.2.tgz#f96f35deaaf8f34144a4102651babcf00d1d8817" @@ -3321,22 +3289,6 @@ brace-expansion@^1.1.7: balanced-match "^1.0.0" concat-map "0.0.1" -braces@^2.3.1: - version "2.3.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" - integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== - dependencies: - arr-flatten "^1.1.0" - array-unique "^0.3.2" - extend-shallow "^2.0.1" - fill-range "^4.0.0" - isobject "^3.0.1" - repeat-element "^1.1.2" - snapdragon "^0.8.1" - snapdragon-node "^2.0.1" - split-string "^3.0.2" - to-regex "^3.0.1" - braces@^3.0.2, braces@~3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" @@ -3431,21 +3383,6 @@ cacache@^15.3.0: tar "^6.0.2" unique-filename "^1.1.1" -cache-base@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" - integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== - dependencies: - collection-visit "^1.0.0" - component-emitter "^1.2.1" - get-value "^2.0.6" - has-value "^1.0.0" - isobject "^3.0.1" - set-value "^2.0.0" - to-object-path "^0.3.0" - union-value "^1.0.0" - unset-value "^1.0.0" - call-bind@^1.0.0, call-bind@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" @@ -3560,16 +3497,6 @@ ci-info@^3.2.0, ci-info@^3.3.0: resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.8.0.tgz#81408265a5380c929f0bc665d62256628ce9ef91" integrity sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw== -class-utils@^0.3.5: - version "0.3.6" - resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" - integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== - dependencies: - arr-union "^3.1.0" - define-property "^0.2.5" - isobject "^3.0.0" - static-extend "^0.1.1" - clean-stack@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" @@ -3656,14 +3583,6 @@ clone@^2.1.2: resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f" integrity sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w== -collection-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" - integrity sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw== - dependencies: - map-visit "^1.0.0" - object-visit "^1.0.0" - color-convert@^1.9.0, color-convert@^1.9.3: version "1.9.3" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" @@ -3782,11 +3701,6 @@ compare-versions@^3.4.0: resolved "https://registry.yarnpkg.com/compare-versions/-/compare-versions-3.6.0.tgz#1a5689913685e5a87637b8d3ffca75514ec41d62" integrity sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA== -component-emitter@^1.2.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" - integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== - component-type@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/component-type/-/component-type-1.2.1.tgz#8a47901700238e4fc32269771230226f24b415a9" @@ -3842,11 +3756,6 @@ convert-source-map@^1.7.0: resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f" integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== -copy-descriptor@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" - integrity sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw== - core-js-compat@^3.30.1, core-js-compat@^3.30.2: version "3.30.2" resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.30.2.tgz#83f136e375babdb8c80ad3c22d67c69098c1dd8b" @@ -4013,7 +3922,7 @@ dayjs@^1.8.15: resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.8.tgz#4282f139c8c19dd6d0c7bd571e30c2d0ba7698ea" integrity sha512-LcgxzFoWMEPO7ggRv1Y2N31hUf2R0Vj7fuy/m+Bg1K8rr+KAs1AEy4y9jd5DXe8pbHgX+srkHNS7TH6Q6ZhYeQ== -debug@2.6.9, debug@^2.2.0, debug@^2.3.3: +debug@2.6.9, debug@^2.2.0: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== @@ -4039,7 +3948,7 @@ decamelize@^1.2.0: resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== -decode-uri-component@^0.2.0, decode-uri-component@^0.2.2: +decode-uri-component@^0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.2.tgz#e69dbe25d37941171dd540e024c444cd5188e1e9" integrity sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ== @@ -4121,28 +4030,6 @@ define-properties@^1.1.3, define-properties@^1.1.4, define-properties@^1.2.0: has-property-descriptors "^1.0.0" object-keys "^1.1.1" -define-property@^0.2.5: - version "0.2.5" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" - integrity sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA== - dependencies: - is-descriptor "^0.1.0" - -define-property@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" - integrity sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA== - dependencies: - is-descriptor "^1.0.0" - -define-property@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" - integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== - dependencies: - is-descriptor "^1.0.2" - isobject "^3.0.1" - del@^6.0.0: version "6.1.1" resolved "https://registry.yarnpkg.com/del/-/del-6.1.1.tgz#3b70314f1ec0aa325c6b14eb36b95786671edb7a" @@ -4765,19 +4652,6 @@ execa@^7.0.0: signal-exit "^3.0.7" strip-final-newline "^3.0.0" -expand-brackets@^2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" - integrity sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA== - dependencies: - debug "^2.3.3" - define-property "^0.2.5" - extend-shallow "^2.0.1" - posix-character-classes "^0.1.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - expo-application@~5.1.0, expo-application@~5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/expo-application/-/expo-application-5.1.1.tgz#5206bf0cf89cb0e32d1f5037a0481e5c86b951ab" @@ -4922,40 +4796,11 @@ expo@~48.0.18: pretty-format "^26.5.2" uuid "^3.4.0" -extend-shallow@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" - integrity sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug== - dependencies: - is-extendable "^0.1.0" - -extend-shallow@^3.0.0, extend-shallow@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" - integrity sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q== - dependencies: - assign-symbols "^1.0.0" - is-extendable "^1.0.1" - extend@^3.0.1: version "3.0.2" resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== -extglob@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" - integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== - dependencies: - array-unique "^0.3.2" - define-property "^1.0.0" - expand-brackets "^2.1.4" - extend-shallow "^2.0.1" - fragment-cache "^0.2.1" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" @@ -5052,16 +4897,6 @@ file-entry-cache@^6.0.1: dependencies: flat-cache "^3.0.4" -fill-range@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" - integrity sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ== - dependencies: - extend-shallow "^2.0.1" - is-number "^3.0.0" - repeat-string "^1.6.1" - to-regex-range "^2.1.0" - fill-range@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" @@ -5206,11 +5041,6 @@ for-each@^0.3.3: dependencies: is-callable "^1.1.3" -for-in@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" - integrity sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ== - form-data@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f" @@ -5242,13 +5072,6 @@ formik@^2.4.1: tiny-warning "^1.0.2" tslib "^1.10.0" -fragment-cache@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" - integrity sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA== - dependencies: - map-cache "^0.2.2" - freeport-async@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/freeport-async/-/freeport-async-2.0.0.tgz#6adf2ec0c629d11abff92836acd04b399135bab4" @@ -5370,11 +5193,6 @@ get-symbol-description@^1.0.0: call-bind "^1.0.2" get-intrinsic "^1.1.1" -get-value@^2.0.3, get-value@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" - integrity sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA== - getenv@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/getenv/-/getenv-1.0.0.tgz#874f2e7544fbca53c7a4738f37de8605c3fcfc31" @@ -5536,37 +5354,6 @@ has-tostringtag@^1.0.0: dependencies: has-symbols "^1.0.2" -has-value@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" - integrity sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q== - dependencies: - get-value "^2.0.3" - has-values "^0.1.4" - isobject "^2.0.0" - -has-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" - integrity sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw== - dependencies: - get-value "^2.0.6" - has-values "^1.0.0" - isobject "^3.0.0" - -has-values@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" - integrity sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ== - -has-values@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" - integrity sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ== - dependencies: - is-number "^3.0.0" - kind-of "^4.0.0" - has@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" @@ -5756,20 +5543,6 @@ ipaddr.js@^1.9.0: resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== -is-accessor-descriptor@^0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" - integrity sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A== - dependencies: - kind-of "^3.0.2" - -is-accessor-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" - integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== - dependencies: - kind-of "^6.0.0" - is-arguments@^1.0.4, is-arguments@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" @@ -5819,7 +5592,7 @@ is-boolean-object@^1.1.0: call-bind "^1.0.2" has-tostringtag "^1.0.0" -is-buffer@^1.1.5, is-buffer@~1.1.1, is-buffer@~1.1.6: +is-buffer@~1.1.1, is-buffer@~1.1.6: version "1.1.6" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== @@ -5836,20 +5609,6 @@ is-core-module@^2.11.0, is-core-module@^2.9.0: dependencies: has "^1.0.3" -is-data-descriptor@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" - integrity sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg== - dependencies: - kind-of "^3.0.2" - -is-data-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" - integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== - dependencies: - kind-of "^6.0.0" - is-date-object@^1.0.1, is-date-object@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" @@ -5857,24 +5616,6 @@ is-date-object@^1.0.1, is-date-object@^1.0.5: dependencies: has-tostringtag "^1.0.0" -is-descriptor@^0.1.0: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" - integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== - dependencies: - is-accessor-descriptor "^0.1.6" - is-data-descriptor "^0.1.4" - kind-of "^5.0.0" - -is-descriptor@^1.0.0, is-descriptor@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" - integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== - dependencies: - is-accessor-descriptor "^1.0.0" - is-data-descriptor "^1.0.0" - kind-of "^6.0.2" - is-directory@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1" @@ -5885,18 +5626,6 @@ is-docker@^2.0.0, is-docker@^2.1.1: resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== -is-extendable@^0.1.0, is-extendable@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" - integrity sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw== - -is-extendable@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" - integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== - dependencies: - is-plain-object "^2.0.4" - is-extglob@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" @@ -5980,13 +5709,6 @@ is-number-object@^1.0.4: dependencies: has-tostringtag "^1.0.0" -is-number@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" - integrity sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg== - dependencies: - kind-of "^3.0.2" - is-number@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" @@ -6007,7 +5729,7 @@ is-plain-obj@^2.1.0: resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== -is-plain-object@^2.0.3, is-plain-object@^2.0.4: +is-plain-object@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== @@ -6111,11 +5833,6 @@ is-weakset@^2.0.1: call-bind "^1.0.2" get-intrinsic "^1.1.1" -is-windows@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" - integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== - is-wsl@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" @@ -6128,29 +5845,22 @@ is-wsl@^2.1.1, is-wsl@^2.2.0: dependencies: is-docker "^2.0.0" -isarray@1.0.0, isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== - isarray@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== +isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== + isexe@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== -isobject@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" - integrity sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA== - dependencies: - isarray "1.0.0" - -isobject@^3.0.0, isobject@^3.0.1: +isobject@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== @@ -6305,10 +6015,15 @@ jsc-android@^250231.0.0: resolved "https://registry.yarnpkg.com/jsc-android/-/jsc-android-250231.0.0.tgz#91720f8df382a108872fa4b3f558f33ba5e95262" integrity sha512-rS46PvsjYmdmuz1OAWXY/1kCYG7pnf1TBqeTiOJr1iDz7s5DLxxC9n/ZMknLDxzYzNVfI7R95MH10emSSG1Wuw== -jscodeshift@^0.13.1: - version "0.13.1" - resolved "https://registry.yarnpkg.com/jscodeshift/-/jscodeshift-0.13.1.tgz#69bfe51e54c831296380585c6d9e733512aecdef" - integrity sha512-lGyiEbGOvmMRKgWk4vf+lUrCWO/8YR8sUR3FKF1Cq5fovjZDlIcw3Hu5ppLHAnEXshVffvaM0eyuY/AbOeYpnQ== +jsc-safe-url@^0.2.2: + version "0.2.4" + resolved "https://registry.yarnpkg.com/jsc-safe-url/-/jsc-safe-url-0.2.4.tgz#141c14fbb43791e88d5dc64e85a374575a83477a" + integrity sha512-0wM3YBWtYePOjfyXQH5MWQ8H7sdk5EXSwZvmSLKk2RboVQ2Bu239jycHDz5J/8Blf3K0Qnoy2b6xD+z10MFB+Q== + +jscodeshift@^0.14.0: + version "0.14.0" + resolved "https://registry.yarnpkg.com/jscodeshift/-/jscodeshift-0.14.0.tgz#7542e6715d6d2e8bde0b4e883f0ccea358b46881" + integrity sha512-7eCC1knD7bLUPuSCwXsMZUH51O8jIcoVyKtI6P0XM0IVzlGjckPy3FIwQlorzbN0Sg79oK+RlohN32Mqf/lrYA== dependencies: "@babel/core" "^7.13.16" "@babel/parser" "^7.13.16" @@ -6323,10 +6038,10 @@ jscodeshift@^0.13.1: chalk "^4.1.2" flow-parser "0.*" graceful-fs "^4.2.4" - micromatch "^3.1.10" + micromatch "^4.0.4" neo-async "^2.5.0" node-dir "^0.1.17" - recast "^0.20.4" + recast "^0.21.0" temp "^0.8.4" write-file-atomic "^2.3.0" @@ -6420,26 +6135,7 @@ jwt-decode@^3.1.2: resolved "https://registry.yarnpkg.com/jwt-decode/-/jwt-decode-3.1.2.tgz#3fb319f3675a2df0c2895c8f5e9fa4b67b04ed59" integrity sha512-UfpWE/VZn0iP50d8cz9NrZLM9lSWhcJ+0Gt/nm4by88UL+J1SiKN8/5dkjMmbEzwL2CAe+67GsegCbIKtbp75A== -kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" - integrity sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ== - dependencies: - is-buffer "^1.1.5" - -kind-of@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" - integrity sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw== - dependencies: - is-buffer "^1.1.5" - -kind-of@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" - integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== - -kind-of@^6.0.0, kind-of@^6.0.2: +kind-of@^6.0.2: version "6.0.3" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== @@ -6666,18 +6362,6 @@ makeerror@1.0.12: dependencies: tmpl "1.0.5" -map-cache@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" - integrity sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg== - -map-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" - integrity sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w== - dependencies: - object-visit "^1.0.0" - markdown-it@^10.0.0: version "10.0.0" resolved "https://registry.yarnpkg.com/markdown-it/-/markdown-it-10.0.0.tgz#abfc64f141b1722d663402044e43927f1f50a8dc" @@ -6761,53 +6445,53 @@ merge2@^1.3.0, merge2@^1.4.1: resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== -metro-babel-transformer@0.73.9: - version "0.73.9" - resolved "https://registry.yarnpkg.com/metro-babel-transformer/-/metro-babel-transformer-0.73.9.tgz#bec8aaaf1bbdc2e469fde586fde455f8b2a83073" - integrity sha512-DlYwg9wwYIZTHtic7dyD4BP0SDftoltZ3clma76nHu43blMWsCnrImHeHsAVne3XsQ+RJaSRxhN5nkG2VyVHwA== +metro-babel-transformer@0.73.10: + version "0.73.10" + resolved "https://registry.yarnpkg.com/metro-babel-transformer/-/metro-babel-transformer-0.73.10.tgz#b27732fa3869f397246ee8ecf03b64622ab738c1" + integrity sha512-Yv2myTSnpzt/lTyurLvqYbBkytvUJcLHN8XD3t7W6rGiLTQPzmf1zypHQLphvcAXtCWBOXFtH7KLOSi2/qMg+A== dependencies: "@babel/core" "^7.20.0" hermes-parser "0.8.0" - metro-source-map "0.73.9" + metro-source-map "0.73.10" nullthrows "^1.1.1" -metro-cache-key@0.73.9: - version "0.73.9" - resolved "https://registry.yarnpkg.com/metro-cache-key/-/metro-cache-key-0.73.9.tgz#7d8c441a3b7150f7b201273087ef3cf7d3435d9f" - integrity sha512-uJg+6Al7UoGIuGfoxqPBy6y1Ewq7Y8/YapGYIDh6sohInwt/kYKnPZgLDYHIPvY2deORnQ/2CYo4tOeBTnhCXQ== +metro-cache-key@0.73.10: + version "0.73.10" + resolved "https://registry.yarnpkg.com/metro-cache-key/-/metro-cache-key-0.73.10.tgz#8d63591187d295b62a80aed64a87864b1e9d67a2" + integrity sha512-JMVDl/EREDiUW//cIcUzRjKSwE2AFxVWk47cFBer+KA4ohXIG2CQPEquT56hOw1Y1s6gKNxxs1OlAOEsubrFjw== -metro-cache@0.73.9: - version "0.73.9" - resolved "https://registry.yarnpkg.com/metro-cache/-/metro-cache-0.73.9.tgz#773c2df6ba53434e58ccbe421b0c54e6da8d2890" - integrity sha512-upiRxY8rrQkUWj7ieACD6tna7xXuXdu2ZqrheksT79ePI0aN/t0memf6WcyUtJUMHZetke3j+ppELNvlmp3tOw== +metro-cache@0.73.10: + version "0.73.10" + resolved "https://registry.yarnpkg.com/metro-cache/-/metro-cache-0.73.10.tgz#02e9cb7c1e42aab5268d2ecce35ad8f2c08891de" + integrity sha512-wPGlQZpdVlM404m7MxJqJ+hTReDr5epvfPbt2LerUAHY9RN99w61FeeAe25BMZBwgUgDtAsfGlJ51MBHg8MAqw== dependencies: - metro-core "0.73.9" + metro-core "0.73.10" rimraf "^3.0.2" -metro-config@0.73.9: - version "0.73.9" - resolved "https://registry.yarnpkg.com/metro-config/-/metro-config-0.73.9.tgz#6b43c70681bdd6b00f44400fc76dddbe53374500" - integrity sha512-NiWl1nkYtjqecDmw77tbRbXnzIAwdO6DXGZTuKSkH+H/c1NKq1eizO8Fe+NQyFtwR9YLqn8Q0WN1nmkwM1j8CA== +metro-config@0.73.10: + version "0.73.10" + resolved "https://registry.yarnpkg.com/metro-config/-/metro-config-0.73.10.tgz#a9ec3d0a1290369e3f46c467a4c4f6dd43acc223" + integrity sha512-wIlybd1Z9I8K2KcStTiJxTB7OK529dxFgogNpKCTU/3DxkgAASqSkgXnZP6kVyqjh5EOWAKFe5U6IPic7kXDdQ== dependencies: cosmiconfig "^5.0.5" jest-validate "^26.5.2" - metro "0.73.9" - metro-cache "0.73.9" - metro-core "0.73.9" - metro-runtime "0.73.9" + metro "0.73.10" + metro-cache "0.73.10" + metro-core "0.73.10" + metro-runtime "0.73.10" -metro-core@0.73.9: - version "0.73.9" - resolved "https://registry.yarnpkg.com/metro-core/-/metro-core-0.73.9.tgz#410c5c0aeae840536c10039f68098fdab3da568e" - integrity sha512-1NTs0IErlKcFTfYyRT3ljdgrISWpl1nys+gaHkXapzTSpvtX9F1NQNn5cgAuE+XIuTJhbsCdfIJiM2JXbrJQaQ== +metro-core@0.73.10: + version "0.73.10" + resolved "https://registry.yarnpkg.com/metro-core/-/metro-core-0.73.10.tgz#feb3c228aa8c0dde71d8e4cef614cc3a1dc3bbd7" + integrity sha512-5uYkajIxKyL6W45iz/ftNnYPe1l92CvF2QJeon1CHsMXkEiOJxEjo41l+iSnO/YodBGrmMCyupSO4wOQGUc0lw== dependencies: lodash.throttle "^4.1.1" - metro-resolver "0.73.9" + metro-resolver "0.73.10" -metro-file-map@0.73.9: - version "0.73.9" - resolved "https://registry.yarnpkg.com/metro-file-map/-/metro-file-map-0.73.9.tgz#09c04a8e8ef1eaa6ecb2b9cb8cb53bb0fa0167ec" - integrity sha512-R/Wg3HYeQhYY3ehWtfedw8V0ne4lpufG7a21L3GWer8tafnC9pmjoCKEbJz9XZkVj9i1FtxE7UTbrtZNeIILxQ== +metro-file-map@0.73.10: + version "0.73.10" + resolved "https://registry.yarnpkg.com/metro-file-map/-/metro-file-map-0.73.10.tgz#55bd906fb7c1bef8e1a31df4b29a3ef4b49f0b5a" + integrity sha512-XOMWAybeaXyD6zmVZPnoCCL2oO3rp4ta76oUlqWP0skBzhFxVtkE/UtDwApEMUY361JeBBago647gnKiARs+1g== dependencies: abort-controller "^3.0.0" anymatch "^3.0.3" @@ -6825,35 +6509,79 @@ metro-file-map@0.73.9: optionalDependencies: fsevents "^2.3.2" -metro-hermes-compiler@0.73.9: - version "0.73.9" - resolved "https://registry.yarnpkg.com/metro-hermes-compiler/-/metro-hermes-compiler-0.73.9.tgz#6f473e67e8f76066066f00e2e0ecce865f7d445d" - integrity sha512-5B3vXIwQkZMSh3DQQY23XpTCpX9kPLqZbA3rDuAcbGW0tzC3f8dCenkyBb0GcCzyTDncJeot/A7oVCVK6zapwg== +metro-hermes-compiler@0.73.10: + version "0.73.10" + resolved "https://registry.yarnpkg.com/metro-hermes-compiler/-/metro-hermes-compiler-0.73.10.tgz#4525a7835c803a5d0b3b05c6619202e2273d630f" + integrity sha512-rTRWEzkVrwtQLiYkOXhSdsKkIObnL+Jqo+IXHI7VEK2aSLWRAbtGNqECBs44kbOUypDYTFFE+WLtoqvUWqYkWg== -metro-inspector-proxy@0.73.9: - version "0.73.9" - resolved "https://registry.yarnpkg.com/metro-inspector-proxy/-/metro-inspector-proxy-0.73.9.tgz#8e11cd300adf3f904f1f5afe28b198312cdcd8c2" - integrity sha512-B3WrWZnlYhtTrv0IaX3aUAhi2qVILPAZQzb5paO1e+xrz4YZHk9c7dXv7qe7B/IQ132e3w46y3AL7rFo90qVjA== +metro-inspector-proxy@0.73.10: + version "0.73.10" + resolved "https://registry.yarnpkg.com/metro-inspector-proxy/-/metro-inspector-proxy-0.73.10.tgz#752fed2ab88199c9dcc3369c3d59da6c5b954a51" + integrity sha512-CEEvocYc5xCCZBtGSIggMCiRiXTrnBbh8pmjKQqm9TtJZALeOGyt5pXUaEkKGnhrXETrexsg6yIbsQHhEvVfvQ== dependencies: connect "^3.6.5" debug "^2.2.0" ws "^7.5.1" yargs "^17.5.1" -metro-minify-terser@0.73.9: - version "0.73.9" - resolved "https://registry.yarnpkg.com/metro-minify-terser/-/metro-minify-terser-0.73.9.tgz#301aef2e106b0802f7a14ef0f2b4883b20c80018" - integrity sha512-MTGPu2qV5qtzPJ2SqH6s58awHDtZ4jd7lmmLR+7TXDwtZDjIBA0YVfI0Zak2Haby2SqoNKrhhUns/b4dPAQAVg== +metro-minify-terser@0.73.10: + version "0.73.10" + resolved "https://registry.yarnpkg.com/metro-minify-terser/-/metro-minify-terser-0.73.10.tgz#557eab3a512b90b7779350ff5d25a215c4dbe61f" + integrity sha512-uG7TSKQ/i0p9kM1qXrwbmY3v+6BrMItsOcEXcSP8Z+68bb+t9HeVK0T/hIfUu1v1PEnonhkhfzVsaP8QyTd5lQ== dependencies: terser "^5.15.0" -metro-minify-uglify@0.73.9: - version "0.73.9" - resolved "https://registry.yarnpkg.com/metro-minify-uglify/-/metro-minify-uglify-0.73.9.tgz#cf4f8c19b688deea103905689ec736c2f2acd733" - integrity sha512-gzxD/7WjYcnCNGiFJaA26z34rjOp+c/Ft++194Wg91lYep3TeWQ0CnH8t2HRS7AYDHU81SGWgvD3U7WV0g4LGA== +metro-minify-uglify@0.73.10: + version "0.73.10" + resolved "https://registry.yarnpkg.com/metro-minify-uglify/-/metro-minify-uglify-0.73.10.tgz#4de79056d502479733854c90f2075374353ea154" + integrity sha512-eocnSeJKnLz/UoYntVFhCJffED7SLSgbCHgNvI6ju6hFb6EFHGJT9OLbkJWeXaWBWD3Zw5mYLS8GGqGn/CHZPA== dependencies: uglify-es "^3.1.9" +metro-react-native-babel-preset@0.73.10: + version "0.73.10" + resolved "https://registry.yarnpkg.com/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.73.10.tgz#304b24bb391537d2c987732cc0a9774be227d3f6" + integrity sha512-1/dnH4EHwFb2RKEKx34vVDpUS3urt2WEeR8FYim+ogqALg4sTpG7yeQPxWpbgKATezt4rNfqAANpIyH19MS4BQ== + dependencies: + "@babel/core" "^7.20.0" + "@babel/plugin-proposal-async-generator-functions" "^7.0.0" + "@babel/plugin-proposal-class-properties" "^7.0.0" + "@babel/plugin-proposal-export-default-from" "^7.0.0" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.0.0" + "@babel/plugin-proposal-object-rest-spread" "^7.0.0" + "@babel/plugin-proposal-optional-catch-binding" "^7.0.0" + "@babel/plugin-proposal-optional-chaining" "^7.0.0" + "@babel/plugin-syntax-dynamic-import" "^7.0.0" + "@babel/plugin-syntax-export-default-from" "^7.0.0" + "@babel/plugin-syntax-flow" "^7.18.0" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.0.0" + "@babel/plugin-syntax-optional-chaining" "^7.0.0" + "@babel/plugin-transform-arrow-functions" "^7.0.0" + "@babel/plugin-transform-async-to-generator" "^7.0.0" + "@babel/plugin-transform-block-scoping" "^7.0.0" + "@babel/plugin-transform-classes" "^7.0.0" + "@babel/plugin-transform-computed-properties" "^7.0.0" + "@babel/plugin-transform-destructuring" "^7.0.0" + "@babel/plugin-transform-flow-strip-types" "^7.0.0" + "@babel/plugin-transform-function-name" "^7.0.0" + "@babel/plugin-transform-literals" "^7.0.0" + "@babel/plugin-transform-modules-commonjs" "^7.0.0" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.0.0" + "@babel/plugin-transform-parameters" "^7.0.0" + "@babel/plugin-transform-react-display-name" "^7.0.0" + "@babel/plugin-transform-react-jsx" "^7.0.0" + "@babel/plugin-transform-react-jsx-self" "^7.0.0" + "@babel/plugin-transform-react-jsx-source" "^7.0.0" + "@babel/plugin-transform-runtime" "^7.0.0" + "@babel/plugin-transform-shorthand-properties" "^7.0.0" + "@babel/plugin-transform-spread" "^7.0.0" + "@babel/plugin-transform-sticky-regex" "^7.0.0" + "@babel/plugin-transform-template-literals" "^7.0.0" + "@babel/plugin-transform-typescript" "^7.5.0" + "@babel/plugin-transform-unicode-regex" "^7.0.0" + "@babel/template" "^7.0.0" + react-refresh "^0.4.0" + metro-react-native-babel-preset@0.73.9: version "0.73.9" resolved "https://registry.yarnpkg.com/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.73.9.tgz#ef54637dd20f025197beb49e71309a9c539e73e2" @@ -6898,64 +6626,64 @@ metro-react-native-babel-preset@0.73.9: "@babel/template" "^7.0.0" react-refresh "^0.4.0" -metro-react-native-babel-transformer@0.73.9: - version "0.73.9" - resolved "https://registry.yarnpkg.com/metro-react-native-babel-transformer/-/metro-react-native-babel-transformer-0.73.9.tgz#4f4f0cfa5119bab8b53e722fabaf90687d0cbff0" - integrity sha512-DSdrEHuQ22ixY7DyipyKkIcqhOJrt5s6h6X7BYJCP9AMUfXOwLe2biY3BcgJz5GOXv8/Akry4vTCvQscVS1otQ== +metro-react-native-babel-transformer@0.73.10: + version "0.73.10" + resolved "https://registry.yarnpkg.com/metro-react-native-babel-transformer/-/metro-react-native-babel-transformer-0.73.10.tgz#4e20a9ce131b873cda0b5a44d3eb4002134a64b8" + integrity sha512-4G/upwqKdmKEjmsNa92/NEgsOxUWOygBVs+FXWfXWKgybrmcjh3NoqdRYrROo9ZRA/sB9Y/ZXKVkWOGKHtGzgg== dependencies: "@babel/core" "^7.20.0" babel-preset-fbjs "^3.4.0" hermes-parser "0.8.0" - metro-babel-transformer "0.73.9" - metro-react-native-babel-preset "0.73.9" - metro-source-map "0.73.9" + metro-babel-transformer "0.73.10" + metro-react-native-babel-preset "0.73.10" + metro-source-map "0.73.10" nullthrows "^1.1.1" -metro-resolver@0.73.9: - version "0.73.9" - resolved "https://registry.yarnpkg.com/metro-resolver/-/metro-resolver-0.73.9.tgz#f3cf77e6c7606a34aa81bad40edb856aad671cf3" - integrity sha512-Ej3wAPOeNRPDnJmkK0zk7vJ33iU07n+oPhpcf5L0NFkWneMmSM2bflMPibI86UjzZGmRfn0AhGhs8yGeBwQ/Xg== +metro-resolver@0.73.10: + version "0.73.10" + resolved "https://registry.yarnpkg.com/metro-resolver/-/metro-resolver-0.73.10.tgz#c39a3bd8d33e5d78cb256110d29707d8d49ed0be" + integrity sha512-HeXbs+0wjakaaVQ5BI7eT7uqxlZTc9rnyw6cdBWWMgUWB++KpoI0Ge7Hi6eQAOoVAzXC3m26mPFYLejpzTWjng== dependencies: absolute-path "^0.0.0" -metro-runtime@0.73.9: - version "0.73.9" - resolved "https://registry.yarnpkg.com/metro-runtime/-/metro-runtime-0.73.9.tgz#0b24c0b066b8629ee855a6e5035b65061fef60d5" - integrity sha512-d5Hs83FpKB9r8q8Vb95+fa6ESpwysmPr4lL1I2rM2qXAFiO7OAPT9Bc23WmXgidkBtD0uUFdB2lG+H1ATz8rZg== +metro-runtime@0.73.10: + version "0.73.10" + resolved "https://registry.yarnpkg.com/metro-runtime/-/metro-runtime-0.73.10.tgz#c3de19d17e75ffe1a145778d99422e7ffc208768" + integrity sha512-EpVKm4eN0Fgx2PEWpJ5NiMArV8zVoOin866jIIvzFLpmkZz1UEqgjf2JAfUJnjgv3fjSV3JqeGG2vZCaGQBTow== dependencies: "@babel/runtime" "^7.0.0" react-refresh "^0.4.0" -metro-source-map@0.73.9: - version "0.73.9" - resolved "https://registry.yarnpkg.com/metro-source-map/-/metro-source-map-0.73.9.tgz#89ca41f6346aeb12f7f23496fa363e520adafebe" - integrity sha512-l4VZKzdqafipriETYR6lsrwtavCF1+CMhCOY9XbyWeTrpGSNgJQgdeJpttzEZTHQQTLR0csQo0nD1ef3zEP6IQ== +metro-source-map@0.73.10: + version "0.73.10" + resolved "https://registry.yarnpkg.com/metro-source-map/-/metro-source-map-0.73.10.tgz#28e09a28f1a2f7a4f8d0845b845cbed74e2f48f9" + integrity sha512-NAGv14701p/YaFZ76KzyPkacBw/QlEJF1f8elfs23N1tC33YyKLDKvPAzFJiYqjdcFvuuuDCA8JCXd2TgLxNPw== dependencies: "@babel/traverse" "^7.20.0" "@babel/types" "^7.20.0" invariant "^2.2.4" - metro-symbolicate "0.73.9" + metro-symbolicate "0.73.10" nullthrows "^1.1.1" - ob1 "0.73.9" + ob1 "0.73.10" source-map "^0.5.6" vlq "^1.0.0" -metro-symbolicate@0.73.9: - version "0.73.9" - resolved "https://registry.yarnpkg.com/metro-symbolicate/-/metro-symbolicate-0.73.9.tgz#cb452299a36e5b86b2826e7426d51221635c48bf" - integrity sha512-4TUOwxRHHqbEHxRqRJ3wZY5TA8xq7AHMtXrXcjegMH9FscgYztsrIG9aNBUBS+VLB6g1qc6BYbfIgoAnLjCDyw== +metro-symbolicate@0.73.10: + version "0.73.10" + resolved "https://registry.yarnpkg.com/metro-symbolicate/-/metro-symbolicate-0.73.10.tgz#7853a9a8fbfd615a5c9db698fffc685441ac880f" + integrity sha512-PmCe3TOe1c/NVwMlB+B17me951kfkB3Wve5RqJn+ErPAj93od1nxicp6OJe7JT4QBRnpUP8p9tw2sHKqceIzkA== dependencies: invariant "^2.2.4" - metro-source-map "0.73.9" + metro-source-map "0.73.10" nullthrows "^1.1.1" source-map "^0.5.6" through2 "^2.0.1" vlq "^1.0.0" -metro-transform-plugins@0.73.9: - version "0.73.9" - resolved "https://registry.yarnpkg.com/metro-transform-plugins/-/metro-transform-plugins-0.73.9.tgz#9fffbe1b24269e3d114286fa681abc570072d9b8" - integrity sha512-r9NeiqMngmooX2VOKLJVQrMuV7PAydbqst5bFhdVBPcFpZkxxqyzjzo+kzrszGy2UpSQBZr2P1L6OMjLHwQwfQ== +metro-transform-plugins@0.73.10: + version "0.73.10" + resolved "https://registry.yarnpkg.com/metro-transform-plugins/-/metro-transform-plugins-0.73.10.tgz#1b762330cbbedb6c18438edc3d76b063c88882af" + integrity sha512-D4AgD3Vsrac+4YksaPmxs/0ocT67bvwTkFSIgWWeDvWwIG0U1iHzTS9f8Bvb4PITnXryDoFtjI6OWF7uOpGxpA== dependencies: "@babel/core" "^7.20.0" "@babel/generator" "^7.20.0" @@ -6963,29 +6691,29 @@ metro-transform-plugins@0.73.9: "@babel/traverse" "^7.20.0" nullthrows "^1.1.1" -metro-transform-worker@0.73.9: - version "0.73.9" - resolved "https://registry.yarnpkg.com/metro-transform-worker/-/metro-transform-worker-0.73.9.tgz#30384cef2d5e35a4abe91b15bf1a8344f5720441" - integrity sha512-Rq4b489sIaTUENA+WCvtu9yvlT/C6zFMWhU4sq+97W29Zj0mPBjdk+qGT5n1ZBgtBIJzZWt1KxeYuc17f4aYtQ== +metro-transform-worker@0.73.10: + version "0.73.10" + resolved "https://registry.yarnpkg.com/metro-transform-worker/-/metro-transform-worker-0.73.10.tgz#bb401dbd7b10a6fe443a5f7970cba38425efece0" + integrity sha512-IySvVubudFxahxOljWtP0QIMMpgUrCP0bW16cz2Enof0PdumwmR7uU3dTbNq6S+XTzuMHR+076aIe4VhPAWsIQ== dependencies: "@babel/core" "^7.20.0" "@babel/generator" "^7.20.0" "@babel/parser" "^7.20.0" "@babel/types" "^7.20.0" babel-preset-fbjs "^3.4.0" - metro "0.73.9" - metro-babel-transformer "0.73.9" - metro-cache "0.73.9" - metro-cache-key "0.73.9" - metro-hermes-compiler "0.73.9" - metro-source-map "0.73.9" - metro-transform-plugins "0.73.9" + metro "0.73.10" + metro-babel-transformer "0.73.10" + metro-cache "0.73.10" + metro-cache-key "0.73.10" + metro-hermes-compiler "0.73.10" + metro-source-map "0.73.10" + metro-transform-plugins "0.73.10" nullthrows "^1.1.1" -metro@0.73.9: - version "0.73.9" - resolved "https://registry.yarnpkg.com/metro/-/metro-0.73.9.tgz#150e69a6735fab0bcb4f6ee97fd1efc65b3ec36f" - integrity sha512-BlYbPmTF60hpetyNdKhdvi57dSqutb+/oK0u3ni4emIh78PiI0axGo7RfdsZ/mn3saASXc94tDbpC5yn7+NpEg== +metro@0.73.10: + version "0.73.10" + resolved "https://registry.yarnpkg.com/metro/-/metro-0.73.10.tgz#d9a0efb1e403e3aee5cf5140e0a96a7220c23901" + integrity sha512-J2gBhNHFtc/Z48ysF0B/bfTwUwaRDLjNv7egfhQCc+934dpXcjJG2KZFeuybF+CvA9vo4QUi56G2U+RSAJ5tsA== dependencies: "@babel/code-frame" "^7.0.0" "@babel/core" "^7.20.0" @@ -7008,24 +6736,25 @@ metro@0.73.9: image-size "^0.6.0" invariant "^2.2.4" jest-worker "^27.2.0" + jsc-safe-url "^0.2.2" lodash.throttle "^4.1.1" - metro-babel-transformer "0.73.9" - metro-cache "0.73.9" - metro-cache-key "0.73.9" - metro-config "0.73.9" - metro-core "0.73.9" - metro-file-map "0.73.9" - metro-hermes-compiler "0.73.9" - metro-inspector-proxy "0.73.9" - metro-minify-terser "0.73.9" - metro-minify-uglify "0.73.9" - metro-react-native-babel-preset "0.73.9" - metro-resolver "0.73.9" - metro-runtime "0.73.9" - metro-source-map "0.73.9" - metro-symbolicate "0.73.9" - metro-transform-plugins "0.73.9" - metro-transform-worker "0.73.9" + metro-babel-transformer "0.73.10" + metro-cache "0.73.10" + metro-cache-key "0.73.10" + metro-config "0.73.10" + metro-core "0.73.10" + metro-file-map "0.73.10" + metro-hermes-compiler "0.73.10" + metro-inspector-proxy "0.73.10" + metro-minify-terser "0.73.10" + metro-minify-uglify "0.73.10" + metro-react-native-babel-preset "0.73.10" + metro-resolver "0.73.10" + metro-runtime "0.73.10" + metro-source-map "0.73.10" + metro-symbolicate "0.73.10" + metro-transform-plugins "0.73.10" + metro-transform-worker "0.73.10" mime-types "^2.1.27" node-fetch "^2.2.0" nullthrows "^1.1.1" @@ -7038,25 +6767,6 @@ metro@0.73.9: ws "^7.5.1" yargs "^17.5.1" -micromatch@^3.1.10: - version "3.1.10" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" - integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - braces "^2.3.1" - define-property "^2.0.2" - extend-shallow "^3.0.2" - extglob "^2.0.4" - fragment-cache "^0.2.1" - kind-of "^6.0.2" - nanomatch "^1.2.9" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.2" - micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.5: version "4.0.5" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" @@ -7162,14 +6872,6 @@ minizlib@^2.1.1: minipass "^3.0.0" yallist "^4.0.0" -mixin-deep@^1.2.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" - integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== - dependencies: - for-in "^1.0.2" - is-extendable "^1.0.1" - mkdirp@^0.5.1, mkdirp@~0.5.1: version "0.5.6" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" @@ -7225,23 +6927,6 @@ nanoid@^3.1.23, nanoid@^3.3.1, nanoid@^3.3.6: resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.6.tgz#443380c856d6e9f9824267d960b4236ad583ea4c" integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA== -nanomatch@^1.2.9: - version "1.2.13" - resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" - integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - define-property "^2.0.2" - extend-shallow "^3.0.2" - fragment-cache "^0.2.1" - is-windows "^1.0.2" - kind-of "^6.0.2" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - nativewind@^2.0.11: version "2.0.11" resolved "https://registry.yarnpkg.com/nativewind/-/nativewind-2.0.11.tgz#aaa80a65b663a49856b26bd4f3153161f70299d7" @@ -7378,25 +7063,16 @@ nullthrows@^1.1.1: resolved "https://registry.yarnpkg.com/nullthrows/-/nullthrows-1.1.1.tgz#7818258843856ae971eae4208ad7d7eb19a431b1" integrity sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw== -ob1@0.73.9: - version "0.73.9" - resolved "https://registry.yarnpkg.com/ob1/-/ob1-0.73.9.tgz#d5677a0dd3e2f16ad84231278d79424436c38c59" - integrity sha512-kHOzCOFXmAM26fy7V/YuXNKne2TyRiXbFAvPBIbuedJCZZWQZHLdPzMeXJI4Egt6IcfDttRzN3jQ90wOwq1iNw== +ob1@0.73.10: + version "0.73.10" + resolved "https://registry.yarnpkg.com/ob1/-/ob1-0.73.10.tgz#bf0a2e8922bb8687ddca82327c5cf209414a1bd4" + integrity sha512-aO6EYC+QRRCkZxVJhCWhLKgVjhNuD6Gu1riGjxrIm89CqLsmKgxzYDDEsktmKsoDeRdWGQM5EdMzXDl5xcVfsw== object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== -object-copy@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" - integrity sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ== - dependencies: - copy-descriptor "^0.1.0" - define-property "^0.2.5" - kind-of "^3.0.3" - object-hash@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-3.0.0.tgz#73f97f753e7baffc0e2cc9d6e079079744ac82e9" @@ -7420,13 +7096,6 @@ object-keys@^1.1.1: resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== -object-visit@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" - integrity sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA== - dependencies: - isobject "^3.0.0" - object.assign@^4.1.2, object.assign@^4.1.3, object.assign@^4.1.4: version "4.1.4" resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.4.tgz#9673c7c7c351ab8c4d0b516f4343ebf4dfb7799f" @@ -7463,13 +7132,6 @@ object.hasown@^1.1.2: define-properties "^1.1.4" es-abstract "^1.20.4" -object.pick@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" - integrity sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ== - dependencies: - isobject "^3.0.1" - object.values@^1.1.6: version "1.1.6" resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.6.tgz#4abbaa71eba47d63589d402856f908243eea9b1d" @@ -7693,11 +7355,6 @@ parseurl@~1.3.3: resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== -pascalcase@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" - integrity sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw== - password-prompt@^1.0.4: version "1.1.2" resolved "https://registry.yarnpkg.com/password-prompt/-/password-prompt-1.1.2.tgz#85b2f93896c5bd9e9f2d6ff0627fa5af3dc00923" @@ -7813,11 +7470,6 @@ pngjs@^3.3.0: resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-3.4.0.tgz#99ca7d725965fb655814eaf65f38f12bbdbf555f" integrity sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w== -posix-character-classes@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" - integrity sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg== - postcss-calc@^8.2.4: version "8.2.4" resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-8.2.4.tgz#77b9c29bfcbe8a07ff6693dc87050828889739a5" @@ -8134,14 +7786,14 @@ react-is@^17.0.1: resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== -react-native-codegen@^0.71.5: - version "0.71.5" - resolved "https://registry.yarnpkg.com/react-native-codegen/-/react-native-codegen-0.71.5.tgz#454a42a891cd4ca5fc436440d301044dc1349c14" - integrity sha512-rfsuc0zkuUuMjFnrT55I1mDZ+pBRp2zAiRwxck3m6qeGJBGK5OV5JH66eDQ4aa+3m0of316CqrJDRzVlYufzIg== +react-native-codegen@^0.71.6: + version "0.71.6" + resolved "https://registry.yarnpkg.com/react-native-codegen/-/react-native-codegen-0.71.6.tgz#481a610c3af9135b09e1e031da032e7270e0cc1b" + integrity sha512-e5pR4VldIhEaFctfSAEgxbng0uG4gjBQxAHes3EKLdosH/Av90pQfSe9IDVdFIngvNPzt8Y14pNjrtqov/yNIg== dependencies: "@babel/parser" "^7.14.0" flow-parser "^0.185.0" - jscodeshift "^0.13.1" + jscodeshift "^0.14.0" nullthrows "^1.1.1" react-native-dotenv@^3.4.8: @@ -8183,7 +7835,7 @@ react-native-gesture-handler@~2.9.0: lodash "^4.17.21" prop-types "^15.7.2" -react-native-gradle-plugin@^0.71.18: +react-native-gradle-plugin@^0.71.19: version "0.71.19" resolved "https://registry.yarnpkg.com/react-native-gradle-plugin/-/react-native-gradle-plugin-0.71.19.tgz#3379e28341fcd189bc1f4691cefc84c1a4d7d232" integrity sha512-1dVk9NwhoyKHCSxcrM6vY6cxmojeATsBobDicX0ZKr7DgUF2cBQRTKsimQFvzH8XhOVXyH8p4HyDSZNIFI8OlQ== @@ -8296,20 +7948,21 @@ react-native-timeline-flatlist@^0.8.0: resolved "https://registry.yarnpkg.com/react-native-timeline-flatlist/-/react-native-timeline-flatlist-0.8.0.tgz#7965a1ccd52b72791ddc3a0c976fe34701fa1ed7" integrity sha512-IVfCOxYx7Js84CaUJmtuxq2eyLvoQ1nRO5GG0mri14NH2NbMUwL9VhX19/yI8LpU2bnarlo7kjR6GLUP3DM/iQ== -react-native@0.71.8: - version "0.71.8" - resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.71.8.tgz#4314145341c49448cf7465b93ced52a433a5e191" - integrity sha512-ftMAuhpgTkbHU9brrqsEyxcNrpYvXKeATY+if22Nfhhg1zW+6wn95w9otwTnA3xHkljPCbng8mUhmmERjGEl7g== +react-native@0.71.14: + version "0.71.14" + resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.71.14.tgz#df12b405a7913b736de01b0347af14e4be7bf324" + integrity sha512-7uhzas8aKpU2EARhlONt7yiclh+7PXEOJk469ewpQyId8Owq5WNtZvQm/z3k4mHUriMeQ37vgSGkOInSKcCazw== dependencies: "@jest/create-cache-key-function" "^29.2.1" - "@react-native-community/cli" "10.2.2" + "@react-native-community/cli" "10.2.4" "@react-native-community/cli-platform-android" "10.2.0" - "@react-native-community/cli-platform-ios" "10.2.1" + "@react-native-community/cli-platform-ios" "10.2.4" "@react-native/assets" "1.0.0" "@react-native/normalize-color" "2.1.0" "@react-native/polyfills" "2.0.0" abort-controller "^3.0.0" anser "^1.4.9" + ansi-regex "^5.0.0" base64-js "^1.1.2" deprecated-react-native-prop-types "^3.0.1" event-target-shim "^5.0.1" @@ -8317,16 +7970,16 @@ react-native@0.71.8: jest-environment-node "^29.2.1" jsc-android "^250231.0.0" memoize-one "^5.0.0" - metro-react-native-babel-transformer "0.73.9" - metro-runtime "0.73.9" - metro-source-map "0.73.9" + metro-react-native-babel-transformer "0.73.10" + metro-runtime "0.73.10" + metro-source-map "0.73.10" mkdirp "^0.5.1" nullthrows "^1.1.1" pretty-format "^26.5.2" promise "^8.3.0" react-devtools-core "^4.26.1" - react-native-codegen "^0.71.5" - react-native-gradle-plugin "^0.71.18" + react-native-codegen "^0.71.6" + react-native-gradle-plugin "^0.71.19" react-refresh "^0.4.0" react-shallow-renderer "^16.15.0" regenerator-runtime "^0.13.2" @@ -8397,12 +8050,12 @@ readline@^1.3.0: resolved "https://registry.yarnpkg.com/readline/-/readline-1.3.0.tgz#c580d77ef2cfc8752b132498060dc9793a7ac01c" integrity sha512-k2d6ACCkiNYz222Fs/iNze30rRJ1iIicW7JuX/7/cozvih6YCkFZH+J6mAFDVgv0dRBaAyr4jDqC95R2y4IADg== -recast@^0.20.4: - version "0.20.5" - resolved "https://registry.yarnpkg.com/recast/-/recast-0.20.5.tgz#8e2c6c96827a1b339c634dd232957d230553ceae" - integrity sha512-E5qICoPoNL4yU0H0NoBDntNB0Q5oMSNh9usFctYniLBluTthi3RsQVBXIJNbApOlvSwW/RGxIuokPcAc59J5fQ== +recast@^0.21.0: + version "0.21.5" + resolved "https://registry.yarnpkg.com/recast/-/recast-0.21.5.tgz#e8cd22bb51bcd6130e54f87955d33a2b2e57b495" + integrity sha512-hjMmLaUXAm1hIuTqOdeYObMslq/q+Xff6QE3Y2P+uoHAg2nmVlLBps2hzh1UJDdMtDTMXOFewK6ky51JQIeECg== dependencies: - ast-types "0.14.2" + ast-types "0.15.2" esprima "~4.0.0" source-map "~0.6.1" tslib "^2.0.1" @@ -8431,14 +8084,6 @@ regenerator-transform@^0.15.1: dependencies: "@babel/runtime" "^7.8.4" -regex-not@^1.0.0, regex-not@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" - integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== - dependencies: - extend-shallow "^3.0.2" - safe-regex "^1.1.0" - regexp.prototype.flags@^1.4.3, regexp.prototype.flags@^1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz#fe7ce25e7e4cca8db37b6634c8a2c7009199b9cb" @@ -8472,16 +8117,6 @@ remove-trailing-slash@^0.1.0: resolved "https://registry.yarnpkg.com/remove-trailing-slash/-/remove-trailing-slash-0.1.1.tgz#be2285a59f39c74d1bce4f825950061915e3780d" integrity sha512-o4S4Qh6L2jpnCy83ysZDau+VORNvnFw07CKSAymkd6ICNVEPisMyzlc00KlvvicsxKck94SEwhDnMNdICzO+tA== -repeat-element@^1.1.2: - version "1.1.4" - resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.4.tgz#be681520847ab58c7568ac75fbfad28ed42d39e9" - integrity sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ== - -repeat-string@^1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" - integrity sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w== - require-directory@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" @@ -8531,11 +8166,6 @@ resolve-from@^5.0.0: resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== -resolve-url@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" - integrity sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg== - resolve@^1.1.7, resolve@^1.12.0, resolve@^1.13.1, resolve@^1.14.2, resolve@^1.22.1, resolve@^1.22.2: version "1.22.2" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.2.tgz#0ed0943d4e301867955766c9f3e1ae6d01c6845f" @@ -8577,11 +8207,6 @@ restore-cursor@^3.1.0: onetime "^5.1.0" signal-exit "^3.0.2" -ret@~0.1.10: - version "0.1.15" - resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" - integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== - reusify@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" @@ -8663,13 +8288,6 @@ safe-regex-test@^1.0.0: get-intrinsic "^1.1.3" is-regex "^1.1.4" -safe-regex@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" - integrity sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg== - dependencies: - ret "~0.1.10" - "safer-buffer@>= 2.1.2 < 3": version "2.1.2" resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" @@ -8755,16 +8373,6 @@ set-blocking@^2.0.0: resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== -set-value@^2.0.0, set-value@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" - integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== - dependencies: - extend-shallow "^2.0.1" - is-extendable "^0.1.1" - is-plain-object "^2.0.3" - split-string "^3.0.1" - setimmediate@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" @@ -8891,36 +8499,6 @@ slugify@^1.3.4: resolved "https://registry.yarnpkg.com/slugify/-/slugify-1.6.6.tgz#2d4ac0eacb47add6af9e04d3be79319cbcc7924b" integrity sha512-h+z7HKHYXj6wJU+AnS/+IH8Uh9fdcX1Lrhg1/VMdf9PwoBQXFcXiAdsy2tSK0P6gKwJLXp02r90ahUCqHk9rrw== -snapdragon-node@^2.0.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" - integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== - dependencies: - define-property "^1.0.0" - isobject "^3.0.0" - snapdragon-util "^3.0.1" - -snapdragon-util@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" - integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== - dependencies: - kind-of "^3.2.0" - -snapdragon@^0.8.1: - version "0.8.2" - resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" - integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== - dependencies: - base "^0.11.1" - debug "^2.2.0" - define-property "^0.2.5" - extend-shallow "^2.0.1" - map-cache "^0.2.2" - source-map "^0.5.6" - source-map-resolve "^0.5.0" - use "^3.1.0" - socket.io-client@^4.6.2: version "4.6.2" resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-4.6.2.tgz#2bfde952e74625d54e622718a7cb1d591ee62fd6" @@ -8944,17 +8522,6 @@ source-map-js@^1.0.2: resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== -source-map-resolve@^0.5.0: - version "0.5.3" - resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" - integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== - 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" - source-map-support@^0.5.16, source-map-support@~0.5.20: version "0.5.21" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" @@ -8963,11 +8530,6 @@ source-map-support@^0.5.16, source-map-support@~0.5.20: buffer-from "^1.0.0" source-map "^0.6.0" -source-map-url@^0.4.0: - version "0.4.1" - resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56" - integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw== - source-map@^0.5.6: version "0.5.7" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" @@ -8988,13 +8550,6 @@ split-on-first@^1.0.0: resolved "https://registry.yarnpkg.com/split-on-first/-/split-on-first-1.1.0.tgz#f610afeee3b12bce1d0c30425e76398b78249a5f" integrity sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw== -split-string@^3.0.1, split-string@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" - integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== - dependencies: - extend-shallow "^3.0.0" - split@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/split/-/split-1.0.1.tgz#605bd9be303aa59fb35f9229fbea0ddec9ea07d9" @@ -9038,14 +8593,6 @@ stacktrace-parser@^0.1.3: dependencies: type-fest "^0.7.1" -static-extend@^0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" - integrity sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g== - dependencies: - define-property "^0.2.5" - object-copy "^0.1.0" - statuses@2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" @@ -9470,21 +9017,6 @@ to-fast-properties@^2.0.0: resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== -to-object-path@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" - integrity sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg== - dependencies: - kind-of "^3.0.2" - -to-regex-range@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" - integrity sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg== - dependencies: - is-number "^3.0.0" - repeat-string "^1.6.1" - to-regex-range@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" @@ -9492,16 +9024,6 @@ to-regex-range@^5.0.1: dependencies: is-number "^7.0.0" -to-regex@^3.0.1, to-regex@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" - integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== - dependencies: - define-property "^2.0.2" - extend-shallow "^3.0.2" - regex-not "^1.0.2" - safe-regex "^1.1.0" - toidentifier@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" @@ -9672,16 +9194,6 @@ unicode-property-aliases-ecmascript@^2.0.0: resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz#43d41e3be698bd493ef911077c9b131f827e8ccd" integrity sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w== -union-value@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" - integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== - dependencies: - arr-union "^3.1.0" - get-value "^2.0.6" - is-extendable "^0.1.1" - set-value "^2.0.1" - unique-filename@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230" @@ -9730,14 +9242,6 @@ unpipe@1.0.0, unpipe@~1.0.0: resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== -unset-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" - integrity sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ== - dependencies: - has-value "^0.3.1" - isobject "^3.0.0" - update-browserslist-db@^1.0.11: version "1.0.11" resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz#9a2a641ad2907ae7b3616506f4b977851db5b940" @@ -9753,11 +9257,6 @@ uri-js@^4.2.2: dependencies: punycode "^2.1.0" -urix@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" - integrity sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg== - url-join@4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/url-join/-/url-join-4.0.0.tgz#4d3340e807d3773bda9991f8305acdcc2a665d2a" @@ -9781,11 +9280,6 @@ use-sync-external-store@^1.0.0, use-sync-external-store@^1.1.0: resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz#7dbefd6ef3fe4e767a0cf5d7287aacfb5846928a" integrity sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA== -use@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" - integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== - util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" From d0e08510cfc473acaa55b9fe18eedd9fdb100353 Mon Sep 17 00:00:00 2001 From: Gabriel Sabanai Date: Sun, 11 Aug 2024 21:45:20 -0300 Subject: [PATCH 2/3] feat: add information center and atoms --- .../design-system/.expo-shared/assets.json | 4 + app/.yalc/design-system/.nvmrc | 1 + app/.yalc/design-system/.ondevice/index.tsx | 11 ++ app/.yalc/design-system/.ondevice/main.ts | 13 +++ app/.yalc/design-system/.ondevice/preview.tsx | 26 +++++ .../.ondevice/storybook.requires.ts | 63 +++++++++++ app/.yalc/design-system/.storybook/main.ts | 19 ++++ .../design-system/.storybook/preview.tsx | 15 +++ app/.yalc/design-system/App.tsx | 27 +++++ app/.yalc/design-system/README.md | 57 ++++++++++ app/.yalc/design-system/app.config.js | 32 ++++++ app/.yalc/design-system/app.json | 4 + app/.yalc/design-system/babel.config.js | 9 ++ app/.yalc/design-system/index.js | 5 + app/.yalc/design-system/metro.config.js | 32 ++++++ app/.yalc/design-system/package.json | 30 +++++ .../src/Button/Button.stories.tsx | 25 +++++ app/.yalc/design-system/src/Button/Button.tsx | 26 +++++ .../src/assets/adaptive-icon.png | Bin 0 -> 17547 bytes .../design-system/src/assets/favicon.png | Bin 0 -> 1466 bytes app/.yalc/design-system/src/assets/icon.png | Bin 0 -> 22380 bytes .../design-system/src/assets/noImage.png | Bin 0 -> 6141 bytes app/.yalc/design-system/src/assets/splash.png | Bin 0 -> 47346 bytes .../src/components/atoms/Chips/Chips.jsx} | 13 ++- .../components/atoms/Chips/Chips.stories.js | 27 +++++ .../src/components/atoms/Chips/styles.js | 38 +++++++ .../atoms/CircleBadge/CircleBadge.jsx} | 3 +- .../atoms/CircleBadge/CircleBadge.stories.jsx | 25 +++++ .../src/components/atoms/CircleBadge/style.js | 23 ++++ .../atoms/CircleIconButton/index.js} | 13 ++- .../atoms/DefaultButton/DefaultButton.jsx} | 11 +- .../DefaultButton/DefaultButton.stories.jsx | 26 +++++ .../components/atoms/DefaultButton/styles.js | 53 +++++++++ .../src/components/atoms/Divider/Divider.jsx} | 0 .../atoms/Divider/Divider.stories.jsx | 22 ++++ .../src/components/atoms/Divider/styles.js | 0 .../atoms/IconButton/IconButton.jsx} | 12 +- .../src/components/atoms/IconButton/styles.js | 0 .../InformativeField/InformativeField.jsx} | 21 ++-- .../InformativeField.stories.jsx | 25 +++++ .../src/components/atoms/Input/Input.jsx} | 29 ++--- .../components/atoms/Input/input.stories.jsx | 29 +++++ .../src/components/atoms/Input/styles.js | 41 +++++++ .../RoundedFullButton/RoundedFullButton.jsx} | 17 +-- .../RoundedFullButton.stories.jsx | 27 +++++ .../components/atoms/SearchBar/SearchBar.jsx} | 2 +- .../src/components/atoms/SearchBar/styles.js | 2 +- .../SliderDescription/SliderDescription.jsx} | 3 +- .../SliderDescription.stories.jsx | 23 ++++ .../atoms/SliderTitle/SliderTitle.jsx} | 3 +- .../atoms/SliderTitle/SliderTitle.stories.jsx | 23 ++++ .../atoms/TextButton/TextButton.stories.jsx | 25 +++++ .../src/components/atoms/TextButton/index.jsx | 5 +- .../TextSwitchButton/TextSwitchButton.jsx} | 5 +- .../TextSwitchButton.stories.jsx | 25 +++++ .../ViewWithDivider/ViewWithDivider.jsx} | 3 +- .../ViewWithDivider.stories.jsx | 23 ++++ .../src/components/atoms/index.js | 31 +++++ .../src/components/molecules/Badge/Badge.jsx} | 7 +- .../molecules/Badge/Badge.stories.js | 24 ++++ .../molecules/BadgeCard/BadgeCard.jsx | 59 ++++++++++ .../molecules/BadgeCard/BadgeCard.stories.js | 30 +++++ .../CategoriesList/CategoriesList.jsx} | 13 ++- .../CategoriesList/CategoriesList.stories.js | 29 +++++ .../CustomDrawerItem/CustomDrawerItem.jsx | 18 +++ .../CustomDrawerItem.stories.js | 26 +++++ .../molecules/CustomDrawerItem/styles.js | 30 +++++ .../molecules/CustomHeader/CustomHeader.jsx | 37 ++++++ .../molecules/CustomHeader/styles.js | 30 +++++ .../DefaultButtonWithBadges.jsx | 29 +++++ .../DefaultButtonWithBadges.stories.js | 26 +++++ .../DescriptionBox/DescriptionBox.jsx | 23 ++++ .../DescriptionBox/DescriptionBox.stories.js | 23 ++++ .../components/molecules/Dialog/Dialog.jsx | 50 +++++++++ .../molecules/Dialog/Dialog.stories.js | 27 +++++ .../FloatingIconButton/FloatingIconButton.jsx | 26 +++++ .../FloatingIconButton.stories.js | 25 +++++ .../molecules/FollowCount/FollowCount.jsx | 23 ++++ .../FollowCount/FollowCount.stories.js | 27 +++++ .../molecules/ProfilePhoto/ProfilePhoto.jsx | 25 +++++ .../ProfilePhoto/ProfilePhoto.stories.js | 24 ++++ .../molecules/TextSwitch/TextSwitch.jsx | 28 +++++ .../TextSwitch/TextSwitch.stories.js | 25 +++++ .../molecules/TimeLineItem/TimeLineItem.jsx | 30 +++++ .../TimeLineItem/TimeLineItem.stories.js | 25 +++++ .../src/components/molecules/index.js | 29 +++++ app/.yalc/design-system/src/styles/colors.js | 50 +++++++++ app/.yalc/design-system/src/styles/fonts.js | 31 +++++ .../src/styles/helpDescription.js | 106 ++++++++++++++++++ .../design-system/src/styles/oldColors.js | 12 ++ .../src/utils/getActivityIcon.js | 19 ++++ app/.yalc/design-system/src/utils/tailwind.js | 5 + app/.yalc/design-system/tailwind.config.js | 24 ++++ app/.yalc/design-system/tsconfig.json | 6 + app/.yalc/design-system/yalc.sig | 1 + app/.yalc/information-center/.nvmrc | 1 + app/.yalc/information-center/README.md | 50 +++++++++ app/.yalc/information-center/app.json | 36 ++++++ app/.yalc/information-center/app/_layout.jsx | 9 ++ app/.yalc/information-center/app/index.jsx | 16 +++ app/.yalc/information-center/babel.config.js | 6 + app/.yalc/information-center/index.js | 5 + app/.yalc/information-center/metro.config.js | 14 +++ app/.yalc/information-center/package.json | 22 ++++ .../scripts/reset-project.js | 73 ++++++++++++ .../information-center/src/assets/Step1.svg | 45 ++++++++ .../information-center/src/assets/Step2.svg | 45 ++++++++ .../information-center/src/assets/Step3.svg | 53 +++++++++ .../information-center/src/assets/blueCat.png | Bin 0 -> 7986 bytes .../src/components/EmergencyNumbers/index.jsx | 14 +++ .../src/components/EmergencyNumbers/modal.jsx | 42 +++++++ .../src/components/EmergencyNumbers/styles.js | 47 ++++++++ .../components/FloatingIconButton/index.jsx | 26 +++++ .../src/components/SliderModal/index.jsx | 31 +++++ .../src/components/TutorialCard/index.jsx | 37 ++++++ .../src/components/TutorialCard/style.js | 11 ++ .../src/pages/InformationsCenter/index.jsx | 16 +-- .../information-center/src/styles/colors.js | 50 +++++++++ .../information-center/src/styles/fonts.js | 31 +++++ .../src/utils/docs/FAQ/EmergencyNumbers.js | 19 ++++ .../src/utils/docs/FAQ/faqOptions.jsx | 59 ++++++++++ .../src/utils/getSliderBody.jsx | 21 ++++ .../information-center/src/utils/tailwind.js | 5 + .../information-center/tailwind.config.js | 24 ++++ app/.yalc/information-center/tsconfig.json | 17 +++ app/.yalc/information-center/yalc.sig | 1 + app/package.json | 5 +- app/src/Navigation/MainNavigation/index.jsx | 2 +- app/src/components/UserItem/index.jsx | 2 +- .../ActivityBottomSheet/EntityActivity.jsx | 3 +- .../ActivityBottomSheet/FilterActivity.jsx | 4 +- .../UserActivity/index.jsx | 2 +- .../modals/BadgeEarnModal/index.jsx | 2 +- .../components/molecules/BadgeCard/index.jsx | 2 +- .../molecules/CustomHeader/index.jsx | 3 +- .../DefaultButtonWithBagdes/index.jsx | 2 +- .../molecules/FloatingIconButton/index.jsx | 2 +- .../components/molecules/TextSwitch/index.jsx | 2 +- .../molecules/TimelineItem/index.jsx | 2 +- .../molecules/UserListItem/index.jsx | 2 +- .../organisms/ActivityCard/index.jsx | 2 +- .../organisms/AddressForm/index.jsx | 2 +- .../components/organisms/BadgesList/index.jsx | 2 +- .../organisms/CustomDrawerList/index.jsx | 2 +- .../organisms/DefaultCamera/index.jsx | 2 +- .../organisms/PersonalDataForm/index.jsx | 2 +- app/src/components/profileList/index.jsx | 2 +- .../templates/CustomDrawerContent/index.jsx | 2 +- .../templates/HelpScreenLayout/index.jsx | 3 +- .../MyOfferHelpDescription/index.jsx | 2 +- .../FeedbackModal/index.jsx | 4 +- .../MyRequestHelpDescription/index.jsx | 3 +- app/src/pages/EditProfile/index.jsx | 2 +- app/src/pages/FindUsersPages/index.jsx | 2 +- app/src/pages/InformationsCenter/styles.js | 17 --- app/src/pages/Main/MapScreen.jsx | 2 +- app/src/pages/Main/index.jsx | 2 +- app/yalc.lock | 14 +++ app/yarn.lock | 70 ++++++++++++ 159 files changed, 2908 insertions(+), 139 deletions(-) create mode 100644 app/.yalc/design-system/.expo-shared/assets.json create mode 100644 app/.yalc/design-system/.nvmrc create mode 100644 app/.yalc/design-system/.ondevice/index.tsx create mode 100644 app/.yalc/design-system/.ondevice/main.ts create mode 100644 app/.yalc/design-system/.ondevice/preview.tsx create mode 100644 app/.yalc/design-system/.ondevice/storybook.requires.ts create mode 100644 app/.yalc/design-system/.storybook/main.ts create mode 100644 app/.yalc/design-system/.storybook/preview.tsx create mode 100644 app/.yalc/design-system/App.tsx create mode 100644 app/.yalc/design-system/README.md create mode 100644 app/.yalc/design-system/app.config.js create mode 100644 app/.yalc/design-system/app.json create mode 100644 app/.yalc/design-system/babel.config.js create mode 100644 app/.yalc/design-system/index.js create mode 100644 app/.yalc/design-system/metro.config.js create mode 100644 app/.yalc/design-system/package.json create mode 100644 app/.yalc/design-system/src/Button/Button.stories.tsx create mode 100644 app/.yalc/design-system/src/Button/Button.tsx create mode 100644 app/.yalc/design-system/src/assets/adaptive-icon.png create mode 100644 app/.yalc/design-system/src/assets/favicon.png create mode 100644 app/.yalc/design-system/src/assets/icon.png create mode 100644 app/.yalc/design-system/src/assets/noImage.png create mode 100644 app/.yalc/design-system/src/assets/splash.png rename app/{src/components/atoms/Chips/index.jsx => .yalc/design-system/src/components/atoms/Chips/Chips.jsx} (69%) create mode 100644 app/.yalc/design-system/src/components/atoms/Chips/Chips.stories.js create mode 100644 app/.yalc/design-system/src/components/atoms/Chips/styles.js rename app/{src/components/atoms/CircleBadge/index.jsx => .yalc/design-system/src/components/atoms/CircleBadge/CircleBadge.jsx} (87%) create mode 100644 app/.yalc/design-system/src/components/atoms/CircleBadge/CircleBadge.stories.jsx create mode 100644 app/.yalc/design-system/src/components/atoms/CircleBadge/style.js rename app/{src/components/atoms/CircleIconButton/index.jsx => .yalc/design-system/src/components/atoms/CircleIconButton/index.js} (72%) rename app/{src/components/atoms/DefaultButton/index.jsx => .yalc/design-system/src/components/atoms/DefaultButton/DefaultButton.jsx} (83%) create mode 100644 app/.yalc/design-system/src/components/atoms/DefaultButton/DefaultButton.stories.jsx create mode 100644 app/.yalc/design-system/src/components/atoms/DefaultButton/styles.js rename app/{src/components/atoms/Divider/index.jsx => .yalc/design-system/src/components/atoms/Divider/Divider.jsx} (100%) create mode 100644 app/.yalc/design-system/src/components/atoms/Divider/Divider.stories.jsx rename app/{ => .yalc/design-system}/src/components/atoms/Divider/styles.js (100%) rename app/{src/components/atoms/IconButton/index.jsx => .yalc/design-system/src/components/atoms/IconButton/IconButton.jsx} (76%) rename app/{ => .yalc/design-system}/src/components/atoms/IconButton/styles.js (100%) rename app/{src/components/atoms/InformativeField/index.jsx => .yalc/design-system/src/components/atoms/InformativeField/InformativeField.jsx} (61%) create mode 100644 app/.yalc/design-system/src/components/atoms/InformativeField/InformativeField.stories.jsx rename app/{src/components/atoms/Input/index.jsx => .yalc/design-system/src/components/atoms/Input/Input.jsx} (66%) create mode 100644 app/.yalc/design-system/src/components/atoms/Input/input.stories.jsx create mode 100644 app/.yalc/design-system/src/components/atoms/Input/styles.js rename app/{src/components/atoms/RoundedFullButton/index.jsx => .yalc/design-system/src/components/atoms/RoundedFullButton/RoundedFullButton.jsx} (64%) create mode 100644 app/.yalc/design-system/src/components/atoms/RoundedFullButton/RoundedFullButton.stories.jsx rename app/{src/components/atoms/SearchBar/index.jsx => .yalc/design-system/src/components/atoms/SearchBar/SearchBar.jsx} (95%) rename app/{ => .yalc/design-system}/src/components/atoms/SearchBar/styles.js (92%) rename app/{src/components/atoms/SliderDescription/index.jsx => .yalc/design-system/src/components/atoms/SliderDescription/SliderDescription.jsx} (60%) create mode 100644 app/.yalc/design-system/src/components/atoms/SliderDescription/SliderDescription.stories.jsx rename app/{src/components/atoms/SliderTitle/index.jsx => .yalc/design-system/src/components/atoms/SliderTitle/SliderTitle.jsx} (56%) create mode 100644 app/.yalc/design-system/src/components/atoms/SliderTitle/SliderTitle.stories.jsx create mode 100644 app/.yalc/design-system/src/components/atoms/TextButton/TextButton.stories.jsx rename app/{ => .yalc/design-system}/src/components/atoms/TextButton/index.jsx (59%) rename app/{src/components/atoms/TextSwitchButton/index.jsx => .yalc/design-system/src/components/atoms/TextSwitchButton/TextSwitchButton.jsx} (71%) create mode 100644 app/.yalc/design-system/src/components/atoms/TextSwitchButton/TextSwitchButton.stories.jsx rename app/{src/components/atoms/ViewWithDivider/index.jsx => .yalc/design-system/src/components/atoms/ViewWithDivider/ViewWithDivider.jsx} (56%) create mode 100644 app/.yalc/design-system/src/components/atoms/ViewWithDivider/ViewWithDivider.stories.jsx create mode 100644 app/.yalc/design-system/src/components/atoms/index.js rename app/{src/components/molecules/Badge/index.jsx => .yalc/design-system/src/components/molecules/Badge/Badge.jsx} (63%) create mode 100644 app/.yalc/design-system/src/components/molecules/Badge/Badge.stories.js create mode 100644 app/.yalc/design-system/src/components/molecules/BadgeCard/BadgeCard.jsx create mode 100644 app/.yalc/design-system/src/components/molecules/BadgeCard/BadgeCard.stories.js rename app/{src/components/molecules/CategoriesList/index.jsx => .yalc/design-system/src/components/molecules/CategoriesList/CategoriesList.jsx} (59%) create mode 100644 app/.yalc/design-system/src/components/molecules/CategoriesList/CategoriesList.stories.js create mode 100644 app/.yalc/design-system/src/components/molecules/CustomDrawerItem/CustomDrawerItem.jsx create mode 100644 app/.yalc/design-system/src/components/molecules/CustomDrawerItem/CustomDrawerItem.stories.js create mode 100644 app/.yalc/design-system/src/components/molecules/CustomDrawerItem/styles.js create mode 100644 app/.yalc/design-system/src/components/molecules/CustomHeader/CustomHeader.jsx create mode 100644 app/.yalc/design-system/src/components/molecules/CustomHeader/styles.js create mode 100644 app/.yalc/design-system/src/components/molecules/DefaultButtonWithBadges/DefaultButtonWithBadges.jsx create mode 100644 app/.yalc/design-system/src/components/molecules/DefaultButtonWithBadges/DefaultButtonWithBadges.stories.js create mode 100644 app/.yalc/design-system/src/components/molecules/DescriptionBox/DescriptionBox.jsx create mode 100644 app/.yalc/design-system/src/components/molecules/DescriptionBox/DescriptionBox.stories.js create mode 100644 app/.yalc/design-system/src/components/molecules/Dialog/Dialog.jsx create mode 100644 app/.yalc/design-system/src/components/molecules/Dialog/Dialog.stories.js create mode 100644 app/.yalc/design-system/src/components/molecules/FloatingIconButton/FloatingIconButton.jsx create mode 100644 app/.yalc/design-system/src/components/molecules/FloatingIconButton/FloatingIconButton.stories.js create mode 100644 app/.yalc/design-system/src/components/molecules/FollowCount/FollowCount.jsx create mode 100644 app/.yalc/design-system/src/components/molecules/FollowCount/FollowCount.stories.js create mode 100644 app/.yalc/design-system/src/components/molecules/ProfilePhoto/ProfilePhoto.jsx create mode 100644 app/.yalc/design-system/src/components/molecules/ProfilePhoto/ProfilePhoto.stories.js create mode 100644 app/.yalc/design-system/src/components/molecules/TextSwitch/TextSwitch.jsx create mode 100644 app/.yalc/design-system/src/components/molecules/TextSwitch/TextSwitch.stories.js create mode 100644 app/.yalc/design-system/src/components/molecules/TimeLineItem/TimeLineItem.jsx create mode 100644 app/.yalc/design-system/src/components/molecules/TimeLineItem/TimeLineItem.stories.js create mode 100644 app/.yalc/design-system/src/components/molecules/index.js create mode 100644 app/.yalc/design-system/src/styles/colors.js create mode 100644 app/.yalc/design-system/src/styles/fonts.js create mode 100644 app/.yalc/design-system/src/styles/helpDescription.js create mode 100644 app/.yalc/design-system/src/styles/oldColors.js create mode 100644 app/.yalc/design-system/src/utils/getActivityIcon.js create mode 100644 app/.yalc/design-system/src/utils/tailwind.js create mode 100644 app/.yalc/design-system/tailwind.config.js create mode 100644 app/.yalc/design-system/tsconfig.json create mode 100644 app/.yalc/design-system/yalc.sig create mode 100644 app/.yalc/information-center/.nvmrc create mode 100644 app/.yalc/information-center/README.md create mode 100644 app/.yalc/information-center/app.json create mode 100644 app/.yalc/information-center/app/_layout.jsx create mode 100644 app/.yalc/information-center/app/index.jsx create mode 100644 app/.yalc/information-center/babel.config.js create mode 100644 app/.yalc/information-center/index.js create mode 100644 app/.yalc/information-center/metro.config.js create mode 100644 app/.yalc/information-center/package.json create mode 100755 app/.yalc/information-center/scripts/reset-project.js create mode 100644 app/.yalc/information-center/src/assets/Step1.svg create mode 100644 app/.yalc/information-center/src/assets/Step2.svg create mode 100644 app/.yalc/information-center/src/assets/Step3.svg create mode 100644 app/.yalc/information-center/src/assets/blueCat.png create mode 100644 app/.yalc/information-center/src/components/EmergencyNumbers/index.jsx create mode 100644 app/.yalc/information-center/src/components/EmergencyNumbers/modal.jsx create mode 100644 app/.yalc/information-center/src/components/EmergencyNumbers/styles.js create mode 100644 app/.yalc/information-center/src/components/FloatingIconButton/index.jsx create mode 100644 app/.yalc/information-center/src/components/SliderModal/index.jsx create mode 100644 app/.yalc/information-center/src/components/TutorialCard/index.jsx create mode 100644 app/.yalc/information-center/src/components/TutorialCard/style.js rename app/{ => .yalc/information-center}/src/pages/InformationsCenter/index.jsx (76%) create mode 100644 app/.yalc/information-center/src/styles/colors.js create mode 100644 app/.yalc/information-center/src/styles/fonts.js create mode 100644 app/.yalc/information-center/src/utils/docs/FAQ/EmergencyNumbers.js create mode 100644 app/.yalc/information-center/src/utils/docs/FAQ/faqOptions.jsx create mode 100644 app/.yalc/information-center/src/utils/getSliderBody.jsx create mode 100644 app/.yalc/information-center/src/utils/tailwind.js create mode 100644 app/.yalc/information-center/tailwind.config.js create mode 100644 app/.yalc/information-center/tsconfig.json create mode 100644 app/.yalc/information-center/yalc.sig delete mode 100644 app/src/pages/InformationsCenter/styles.js create mode 100644 app/yalc.lock diff --git a/app/.yalc/design-system/.expo-shared/assets.json b/app/.yalc/design-system/.expo-shared/assets.json new file mode 100644 index 000000000..1e6decfbb --- /dev/null +++ b/app/.yalc/design-system/.expo-shared/assets.json @@ -0,0 +1,4 @@ +{ + "12bb71342c6255bbf50437ec8f4441c083f47cdb74bd89160c15e4f43e52a1cb": true, + "40b842e832070c58deac6aa9e08fa459302ee3f9da492c7e77d93d2fbf4a56fd": true +} diff --git a/app/.yalc/design-system/.nvmrc b/app/.yalc/design-system/.nvmrc new file mode 100644 index 000000000..016efd8a0 --- /dev/null +++ b/app/.yalc/design-system/.nvmrc @@ -0,0 +1 @@ +v20.10.0 \ No newline at end of file diff --git a/app/.yalc/design-system/.ondevice/index.tsx b/app/.yalc/design-system/.ondevice/index.tsx new file mode 100644 index 000000000..0bd098c2f --- /dev/null +++ b/app/.yalc/design-system/.ondevice/index.tsx @@ -0,0 +1,11 @@ +import AsyncStorage from "@react-native-async-storage/async-storage"; +import { view } from "./storybook.requires"; + +const StorybookUIRoot = view.getStorybookUI({ + storage: { + getItem: AsyncStorage.getItem, + setItem: AsyncStorage.setItem, + }, +}); + +export default StorybookUIRoot; diff --git a/app/.yalc/design-system/.ondevice/main.ts b/app/.yalc/design-system/.ondevice/main.ts new file mode 100644 index 000000000..2330bdf7d --- /dev/null +++ b/app/.yalc/design-system/.ondevice/main.ts @@ -0,0 +1,13 @@ +import { StorybookConfig } from "@storybook/react-native"; + +const main: StorybookConfig = { + stories: ["../components/**/*.stories.?(ts|tsx|js|jsx)"], + addons: [ + "@storybook/addon-ondevice-notes", + "@storybook/addon-ondevice-controls", + "@storybook/addon-ondevice-backgrounds", + "@storybook/addon-ondevice-actions", + ], +}; + +export default main; diff --git a/app/.yalc/design-system/.ondevice/preview.tsx b/app/.yalc/design-system/.ondevice/preview.tsx new file mode 100644 index 000000000..9d44a2079 --- /dev/null +++ b/app/.yalc/design-system/.ondevice/preview.tsx @@ -0,0 +1,26 @@ +import { withBackgrounds } from "@storybook/addon-ondevice-backgrounds"; +import type { Preview } from "@storybook/react"; + +const preview: Preview = { + decorators: [withBackgrounds], + + parameters: { + backgrounds: { + default: "plain", + values: [ + { name: "plain", value: "white" }, + { name: "warm", value: "hotpink" }, + { name: "cool", value: "deepskyblue" }, + ], + }, + actions: { argTypesRegex: "^on[A-Z].*" }, + controls: { + matchers: { + color: /(background|color)$/i, + date: /Date$/, + }, + }, + }, +}; + +export default preview; diff --git a/app/.yalc/design-system/.ondevice/storybook.requires.ts b/app/.yalc/design-system/.ondevice/storybook.requires.ts new file mode 100644 index 000000000..9d34b3b5c --- /dev/null +++ b/app/.yalc/design-system/.ondevice/storybook.requires.ts @@ -0,0 +1,63 @@ +/* do not change this file, it is auto generated by storybook. */ + +import { + start, + prepareStories, + getProjectAnnotations, +} from "@storybook/react-native"; + +import "@storybook/addon-ondevice-notes/register"; +import "@storybook/addon-ondevice-controls/register"; +import "@storybook/addon-ondevice-backgrounds/register"; +import "@storybook/addon-ondevice-actions/register"; + +const normalizedStories = [ + { + titlePrefix: "", + directory: "./components", + files: "**/*.stories.?(ts|tsx|js|jsx)", + importPathMatcher: + /^\.(?:(?:^|\/|(?:(?:(?!(?:^|\/)\.).)*?)\/)(?!\.)(?=.)[^/]*?\.stories\.(?:ts|tsx|js|jsx)?)$/, + // @ts-ignore + req: require.context( + "../components", + true, + /^\.(?:(?:^|\/|(?:(?:(?!(?:^|\/)\.).)*?)\/)(?!\.)(?=.)[^/]*?\.stories\.(?:ts|tsx|js|jsx)?)$/ + ), + }, +]; + +declare global { + var view: ReturnType; + var STORIES: typeof normalizedStories; +} + +const annotations = [ + require("./preview"), + require("@storybook/react-native/dist/preview"), + require("@storybook/addon-actions/preview"), +]; + +global.STORIES = normalizedStories; + +// @ts-ignore +module?.hot?.accept?.(); + +if (!global.view) { + global.view = start({ + annotations, + storyEntries: normalizedStories, + }); +} else { + const { importMap } = prepareStories({ storyEntries: normalizedStories }); + + global.view._preview.onStoriesChanged({ + importFn: async (importPath: string) => importMap[importPath], + }); + + global.view._preview.onGetProjectAnnotationsChanged({ + getProjectAnnotations: getProjectAnnotations(global.view, annotations), + }); +} + +export const view = global.view; diff --git a/app/.yalc/design-system/.storybook/main.ts b/app/.yalc/design-system/.storybook/main.ts new file mode 100644 index 000000000..9f09682e1 --- /dev/null +++ b/app/.yalc/design-system/.storybook/main.ts @@ -0,0 +1,19 @@ +/** @type{import("@storybook/react-webpack5").StorybookConfig} */ +module.exports = { + stories: [ + "../src/components/**/*.stories.mdx", + "../src/components/**/*.stories.@(js|jsx|ts|tsx)", + ], + addons: [ + "@storybook/addon-links", + "@storybook/addon-essentials", + "@storybook/addon-react-native-web", + ], + framework: { + name: "@storybook/react-webpack5", + options: {}, + }, + docs: { + autodocs: true, + }, +}; diff --git a/app/.yalc/design-system/.storybook/preview.tsx b/app/.yalc/design-system/.storybook/preview.tsx new file mode 100644 index 000000000..1c372b694 --- /dev/null +++ b/app/.yalc/design-system/.storybook/preview.tsx @@ -0,0 +1,15 @@ +import type { Preview } from "@storybook/react"; + +const preview: Preview = { + parameters: { + actions: { argTypesRegex: "^on[A-Z].*" }, + controls: { + matchers: { + color: /(background|color)$/i, + date: /Date$/, + }, + }, + }, +}; + +export default preview; diff --git a/app/.yalc/design-system/App.tsx b/app/.yalc/design-system/App.tsx new file mode 100644 index 000000000..701d2c60c --- /dev/null +++ b/app/.yalc/design-system/App.tsx @@ -0,0 +1,27 @@ +import { StyleSheet, Text, View } from "react-native"; +import Constants from "expo-constants"; + +function App() { + return ( + + Open up App.tsx to start working on your app! + + ); +} + +let AppEntryPoint = App; + +if (Constants.expoConfig?.extra?.storybookEnabled === "true") { + AppEntryPoint = require("./.ondevice").default; +} + +const styles = StyleSheet.create({ + container: { + flex: 1, + backgroundColor: "#fff", + alignItems: "center", + justifyContent: "center", + }, +}); + +export default AppEntryPoint; diff --git a/app/.yalc/design-system/README.md b/app/.yalc/design-system/README.md new file mode 100644 index 000000000..ab807b525 --- /dev/null +++ b/app/.yalc/design-system/README.md @@ -0,0 +1,57 @@ +![image](https://user-images.githubusercontent.com/3481514/145904252-92e3dc1e-591f-410f-88a1-b4250f4ba6f2.png) + +# getting started + +```sh +npx create-expo-app --template expo-template-storybook AwesomeStorybook +``` + +or + +```sh +yarn create expo-app --template expo-template-storybook AwesomeStorybook +``` + +# app + +```sh +yarn start +``` + +# Ondevice + +In this template you can now run `yarn storybook` to start ondevice storybook or `yarn start` to start your expo app. +This works via env variables and expo constants. + +```sh +# either +yarn storybook + +# ios +yarn storybook:ios + +# android +yarn storybook:android +``` + +If you add new stories on the native (ondevice version) you either need to have the watcher running or run the stories loader + +To update the stories one time + +```sh +yarn storybook-generate +``` + +# Web + +Start react native web storybook: + +``` +yarn storybook:web +``` + +build react native web storybook: + +```sh +yarn build-storybook +``` diff --git a/app/.yalc/design-system/app.config.js b/app/.yalc/design-system/app.config.js new file mode 100644 index 000000000..54b296cd9 --- /dev/null +++ b/app/.yalc/design-system/app.config.js @@ -0,0 +1,32 @@ +export default ({ config }) => ({ + ...config, + name: "HelloWorld", + slug: "expo-template-blank-typescript", + version: "1.0.0", + orientation: "portrait", + icon: "./assets/icon.png", + extra: { + storybookEnabled: process.env.STORYBOOK_ENABLED, + }, + splash: { + image: "./assets/splash.png", + resizeMode: "contain", + backgroundColor: "#ffffff", + }, + updates: { + fallbackToCacheTimeout: 0, + }, + assetBundlePatterns: ["**/*"], + ios: { + supportsTablet: true, + }, + android: { + adaptiveIcon: { + foregroundImage: "./assets/adaptive-icon.png", + backgroundColor: "#FFFFFF", + }, + }, + web: { + favicon: "./assets/favicon.png", + }, +}); diff --git a/app/.yalc/design-system/app.json b/app/.yalc/design-system/app.json new file mode 100644 index 000000000..95a98748a --- /dev/null +++ b/app/.yalc/design-system/app.json @@ -0,0 +1,4 @@ +{ + "name": "design-system", + "slug": "design-system" +} diff --git a/app/.yalc/design-system/babel.config.js b/app/.yalc/design-system/babel.config.js new file mode 100644 index 000000000..9b764d0fc --- /dev/null +++ b/app/.yalc/design-system/babel.config.js @@ -0,0 +1,9 @@ +module.exports = function (api) { + api.cache(true); + return { + presets: ["babel-preset-expo"], + plugins: [ + ["babel-plugin-react-docgen-typescript", { exclude: "node_modules" }], + ], + }; +}; diff --git a/app/.yalc/design-system/index.js b/app/.yalc/design-system/index.js new file mode 100644 index 000000000..2bf856970 --- /dev/null +++ b/app/.yalc/design-system/index.js @@ -0,0 +1,5 @@ +export * from "./src/components/atoms"; +export * from "./src/components/molecules" +export * from "./src/styles/fonts"; +export * from "./src/styles/colors"; +export * from "./src/utils/tailwind"; diff --git a/app/.yalc/design-system/metro.config.js b/app/.yalc/design-system/metro.config.js new file mode 100644 index 000000000..dc36c19ec --- /dev/null +++ b/app/.yalc/design-system/metro.config.js @@ -0,0 +1,32 @@ +const path = require("path"); +const { getDefaultConfig } = require("expo/metro-config"); +const { generate } = require("@storybook/react-native/scripts/generate"); + +generate({ + configPath: path.resolve(__dirname, "./.ondevice"), +}); + +const defaultConfig = getDefaultConfig(__dirname); + +defaultConfig.transformer.unstable_allowRequireContext = true; + +defaultConfig.resolver.resolveRequest = (context, moduleName, platform) => { + const defaultResolveResult = context.resolveRequest( + context, + moduleName, + platform + ); + + if ( + process.env.STORYBOOK_ENABLED !== "true" && + defaultResolveResult?.filePath?.includes?.(".ondevice/") + ) { + return { + type: "empty", + }; + } + + return defaultResolveResult; +}; + +module.exports = defaultConfig; diff --git a/app/.yalc/design-system/package.json b/app/.yalc/design-system/package.json new file mode 100644 index 000000000..69adaf20b --- /dev/null +++ b/app/.yalc/design-system/package.json @@ -0,0 +1,30 @@ +{ + "name": "design-system", + "version": "1.0.0", + "main": "index.js", + "license": "MIT", + "scripts": { + "start": "expo start", + "android": "expo start --android", + "ios": "expo start --ios", + "web": "expo start --web", + "storybook:web": "storybook dev -p 6006", + "build-storybook": "storybook build", + "storybook-generate": "sb-rn-get-stories --config-path .ondevice", + "storybook": "cross-env STORYBOOK_ENABLED='true' expo start", + "storybook:ios": "cross-env STORYBOOK_ENABLED='true' expo start --ios", + "storybook:android": "cross-env STORYBOOK_ENABLED='true' expo start --android" + }, + "resolutions": { + "react-docgen-typescript": "2.2.2" + }, + "overrides": { + "react-docgen-typescript": "2.2.2" + }, + "pnpm": { + "overrides": { + "react-docgen-typescript": "2.2.2" + } + }, + "yalcSig": "c5ba0f154ebaa063d582d1c5d2a57b11" +} diff --git a/app/.yalc/design-system/src/Button/Button.stories.tsx b/app/.yalc/design-system/src/Button/Button.stories.tsx new file mode 100644 index 000000000..8a435e559 --- /dev/null +++ b/app/.yalc/design-system/src/Button/Button.stories.tsx @@ -0,0 +1,25 @@ +import type { Meta, StoryObj } from "@storybook/react"; +import React from "react"; +import { View } from "react-native"; +import { MyButton } from "./Button"; + +const meta = { + title: "MyButton", + component: MyButton, + args: { + text: "Hello world", + }, + decorators: [ + (Story) => ( + + + + ), + ], +} satisfies Meta; + +export default meta; + +type Story = StoryObj; + +export const Basic: Story = {}; diff --git a/app/.yalc/design-system/src/Button/Button.tsx b/app/.yalc/design-system/src/Button/Button.tsx new file mode 100644 index 000000000..f4bcf838f --- /dev/null +++ b/app/.yalc/design-system/src/Button/Button.tsx @@ -0,0 +1,26 @@ +import React from "react"; +import { TouchableOpacity, Text, StyleSheet } from "react-native"; + +interface MyButtonProps { + onPress: () => void; + text: string; +} + +export const MyButton = ({ onPress, text }: MyButtonProps) => { + return ( + + {text} + + ); +}; + +const styles = StyleSheet.create({ + container: { + paddingHorizontal: 32, + paddingVertical: 8, + backgroundColor: "purple", + alignSelf: "flex-start", + borderRadius: 8, + }, + text: { color: "white", fontSize: 16, fontWeight: "bold" }, +}); diff --git a/app/.yalc/design-system/src/assets/adaptive-icon.png b/app/.yalc/design-system/src/assets/adaptive-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..03d6f6b6c6727954aec1d8206222769afd178d8d GIT binary patch literal 17547 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 literal 0 HcmV?d00001 diff --git a/app/.yalc/design-system/src/assets/icon.png b/app/.yalc/design-system/src/assets/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..a0b1526fc7b78680fd8d733dbc6113e1af695487 GIT binary patch literal 22380 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 literal 0 HcmV?d00001 diff --git a/app/.yalc/design-system/src/assets/noImage.png b/app/.yalc/design-system/src/assets/noImage.png new file mode 100644 index 0000000000000000000000000000000000000000..860d18654717881cfbf6caac6ae40125f8b57711 GIT binary patch literal 6141 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 literal 0 HcmV?d00001 diff --git a/app/src/components/atoms/Chips/index.jsx b/app/.yalc/design-system/src/components/atoms/Chips/Chips.jsx similarity index 69% rename from app/src/components/atoms/Chips/index.jsx rename to app/.yalc/design-system/src/components/atoms/Chips/Chips.jsx index 13b9b56c0..25346e718 100644 --- a/app/src/components/atoms/Chips/index.jsx +++ b/app/.yalc/design-system/src/components/atoms/Chips/Chips.jsx @@ -1,7 +1,8 @@ import React, { useState } from 'react'; import { Pressable, Text } from 'react-native'; import { Icon } from 'react-native-elements'; -import colors from '../../../../colors'; +import colors from '../../../styles/colors'; +import tw from "../../../utils/tailwind"; export const Chips = ({ title, @@ -13,12 +14,12 @@ export const Chips = ({ customStyle, disabled = false, selected = false, -}) => { + }) => { const [isSelected, setIsSelected] = useState(selected); const chipColor = isSelected ? 'bg-secondary-500 border-0' : 'bg-white'; - const elevatedStyle = elevated && 'shadow shadow-black'; + const elevatedStyle = elevated && 'shadow-lg shadow-black shadow-opacity-80'; const disabledStyle = disabled && 'opacity-30'; - const childrenOrder = type == 'input' ? 'flex-row-reverse' : 'flex-row'; + const childrenOrder = type === 'input' ? 'flex-row-reverse' : 'flex-row'; const variantsAction = { button: () => onPress(), @@ -32,7 +33,7 @@ export const Chips = ({ return ( )} - {title} + {title} ); }; diff --git a/app/.yalc/design-system/src/components/atoms/Chips/Chips.stories.js b/app/.yalc/design-system/src/components/atoms/Chips/Chips.stories.js new file mode 100644 index 000000000..73bbbe45b --- /dev/null +++ b/app/.yalc/design-system/src/components/atoms/Chips/Chips.stories.js @@ -0,0 +1,27 @@ +import React from "react"; +import { View } from "react-native"; +import {Chips} from './Chips'; + +const meta = { + title: "atoms/Chips", + component: Chips, + args: { + title: "Hello World!", + onPress: () => console.log("Hello World!"), + type: "button", + elevated: true, + selected: true + }, + decorators: [ + (Story) => ( + + + + ), + ], +}; + +export default meta; + + +export const Basic= {}; diff --git a/app/.yalc/design-system/src/components/atoms/Chips/styles.js b/app/.yalc/design-system/src/components/atoms/Chips/styles.js new file mode 100644 index 000000000..45e507a5f --- /dev/null +++ b/app/.yalc/design-system/src/components/atoms/Chips/styles.js @@ -0,0 +1,38 @@ +import {StyleSheet} from "react-native"; +import colors from '../../../styles/colors'; + +export const styles = StyleSheet.create({ + pressable: { + paddingHorizontal: 12, + paddingVertical: 8, + borderRadius: 12, + alignItems: 'center', + }, + bgSecondary: { + backgroundColor: colors.secondary[500], + borderWidth: 0, + }, + bgWhite: { + backgroundColor: 'white', + }, + elevated: { + shadowColor: colors.black.DEFAULT, + shadowOffset: { width: 0, height: 2 }, + shadowOpacity: 0.25, + shadowRadius: 3.84, + elevation: 5, + }, + disabled: { + opacity: 0.3, + }, + flexRow: { + flexDirection: 'row', + }, + flexRowReverse: { + flexDirection: 'row-reverse', + }, + text: { + fontFamily: 'ms-semibold', + fontSize: 12, + }, +}); diff --git a/app/src/components/atoms/CircleBadge/index.jsx b/app/.yalc/design-system/src/components/atoms/CircleBadge/CircleBadge.jsx similarity index 87% rename from app/src/components/atoms/CircleBadge/index.jsx rename to app/.yalc/design-system/src/components/atoms/CircleBadge/CircleBadge.jsx index e55bb69dc..a39187fee 100644 --- a/app/src/components/atoms/CircleBadge/index.jsx +++ b/app/.yalc/design-system/src/components/atoms/CircleBadge/CircleBadge.jsx @@ -1,6 +1,7 @@ import React from 'react'; import { View } from 'react-native'; import { Icon } from 'react-native-elements'; +import tw from "../../../utils/tailwind"; export const CircleBadge = ({ rank, @@ -30,7 +31,7 @@ export const CircleBadge = ({ const selectedIconBackground = isHidden ? 'bg-gray' : iconBackgrounds[rank]; return ( ( + + + + ), + ], +}; + +export default meta; + + +export const Basic= {}; diff --git a/app/.yalc/design-system/src/components/atoms/CircleBadge/style.js b/app/.yalc/design-system/src/components/atoms/CircleBadge/style.js new file mode 100644 index 000000000..8fc13187e --- /dev/null +++ b/app/.yalc/design-system/src/components/atoms/CircleBadge/style.js @@ -0,0 +1,23 @@ +import colors from '../../../styles/colors'; +import {StyleSheet} from "react-native"; + +export const styles = StyleSheet.create({ + circle: { + borderRadius: 9999, + padding: 8, + justifyContent: 'center', + alignItems: 'center', + }, + bgFirstRank: { + backgroundColor: colors["first-rank"], + }, + bgSecondRank: { + backgroundColor: colors["second-rank"], + }, + bgThirdRank: { + backgroundColor: colors["thirt-rank"], + }, + bgGray: { + backgroundColor: colors.gray.DEFAULT, + }, +}); \ No newline at end of file diff --git a/app/src/components/atoms/CircleIconButton/index.jsx b/app/.yalc/design-system/src/components/atoms/CircleIconButton/index.js similarity index 72% rename from app/src/components/atoms/CircleIconButton/index.jsx rename to app/.yalc/design-system/src/components/atoms/CircleIconButton/index.js index 4f63b5750..d6e09f51b 100644 --- a/app/src/components/atoms/CircleIconButton/index.jsx +++ b/app/.yalc/design-system/src/components/atoms/CircleIconButton/index.js @@ -1,13 +1,14 @@ import React from 'react'; import { TouchableOpacity, View } from 'react-native'; import { Icon } from 'react-native-elements'; +import tw from "../../../utils/tailwind"; export const CircleIconButton = ({ - icon, - onPress, - iconSize = 'base', - color, -}) => { + icon, + onPress, + iconSize = 'base', + color, + }) => { const iconSizeVariant = { sm: 16, base: 20, @@ -21,7 +22,7 @@ export const CircleIconButton = ({ return ( diff --git a/app/src/components/atoms/DefaultButton/index.jsx b/app/.yalc/design-system/src/components/atoms/DefaultButton/DefaultButton.jsx similarity index 83% rename from app/src/components/atoms/DefaultButton/index.jsx rename to app/.yalc/design-system/src/components/atoms/DefaultButton/DefaultButton.jsx index 1024e2948..ebba25e31 100644 --- a/app/src/components/atoms/DefaultButton/index.jsx +++ b/app/.yalc/design-system/src/components/atoms/DefaultButton/DefaultButton.jsx @@ -1,7 +1,8 @@ import React from 'react'; import { ActivityIndicator, Pressable, Text } from 'react-native'; import { Icon } from 'react-native-elements'; -import colors from '../../../../colors'; +import colors from '../../../styles/colors'; +import tw from "../../../utils/tailwind"; export const DefaultButton = ({ title, @@ -12,7 +13,7 @@ export const DefaultButton = ({ size = 'lg', width = 'w-full', isLoading = false, -}) => { + }) => { // the ideia of this buttonSize is to define the button height. The width is determined inside of each DefaultButton parent const buttonSize = { sm: 'py-1', @@ -39,7 +40,7 @@ export const DefaultButton = ({ iconColor: colors.black.DEFAULT, }, elevated: { - pressableStyle: 'bg-white shadow-md shadow-black', + pressableStyle: 'bg-white shadow-md shadow-black shadow-opacity-50', textStyle: 'text-black-900 font-ms-bold', }, }; @@ -50,7 +51,7 @@ export const DefaultButton = ({ return ( )} {title} diff --git a/app/.yalc/design-system/src/components/atoms/DefaultButton/DefaultButton.stories.jsx b/app/.yalc/design-system/src/components/atoms/DefaultButton/DefaultButton.stories.jsx new file mode 100644 index 000000000..41b264f4e --- /dev/null +++ b/app/.yalc/design-system/src/components/atoms/DefaultButton/DefaultButton.stories.jsx @@ -0,0 +1,26 @@ +import React from "react"; +import { View } from "react-native"; +import { DefaultButton } from './DefaultButton'; + +const meta = { + title: "atoms/DefaultButton", + component: DefaultButton, + args: { + title: "Hello world", + variant: "elevated", + size: "md", + onPress: () => console.log("ola mundo"), + }, + decorators: [ + (Story) => ( + + + + ), + ], +}; + +export default meta; + + +export const Basic= {}; diff --git a/app/.yalc/design-system/src/components/atoms/DefaultButton/styles.js b/app/.yalc/design-system/src/components/atoms/DefaultButton/styles.js new file mode 100644 index 000000000..d5bc1bd73 --- /dev/null +++ b/app/.yalc/design-system/src/components/atoms/DefaultButton/styles.js @@ -0,0 +1,53 @@ +import {StyleSheet} from "react-native"; +import colors from '../../../styles/colors'; + +export const styles = StyleSheet.create({ + pressable: { + borderRadius: 8, + flexDirection: 'row', + justifyContent: 'center', + alignItems: 'center', + backgroundColor: colors.primary.DEFAULT, + }, + bgPrimary: { + }, + bgTransparent: { + backgroundColor: 'transparent', + }, + bgWhite: { + backgroundColor: 'white', + }, + textLight: { + color: colors.light, + }, + textBlack: { + color: colors.black.DEFAULT, + }, + textBlackBold: { + color: colors.black.DEFAULT, + fontWeight: 'bold', + }, + textWithIcon: { + marginLeft: 4, + }, + disabled: { + opacity: 0.7, + }, + shadow: { + shadowColor: colors.black.DEFAULT, + shadowOffset: { width: 0, height: 6 }, + shadowOpacity: 0.3, + shadowRadius: 3.84, + elevation: 5, + }, + content: { + flexDirection: 'row', + justifyContent: 'center', + alignItems: 'center', + }, + text: { + textAlign: 'center', + fontWeight: '600', + fontSize: 18, + }, +}); \ No newline at end of file diff --git a/app/src/components/atoms/Divider/index.jsx b/app/.yalc/design-system/src/components/atoms/Divider/Divider.jsx similarity index 100% rename from app/src/components/atoms/Divider/index.jsx rename to app/.yalc/design-system/src/components/atoms/Divider/Divider.jsx diff --git a/app/.yalc/design-system/src/components/atoms/Divider/Divider.stories.jsx b/app/.yalc/design-system/src/components/atoms/Divider/Divider.stories.jsx new file mode 100644 index 000000000..c1db385eb --- /dev/null +++ b/app/.yalc/design-system/src/components/atoms/Divider/Divider.stories.jsx @@ -0,0 +1,22 @@ +import React from "react"; +import { View } from "react-native"; +import { Divider } from './Divider'; + +const meta = { + title: "atoms/Divider", + component: Divider, + args: { + }, + decorators: [ + (Story) => ( + + + + ), + ], +}; + +export default meta; + + +export const Basic= {}; diff --git a/app/src/components/atoms/Divider/styles.js b/app/.yalc/design-system/src/components/atoms/Divider/styles.js similarity index 100% rename from app/src/components/atoms/Divider/styles.js rename to app/.yalc/design-system/src/components/atoms/Divider/styles.js diff --git a/app/src/components/atoms/IconButton/index.jsx b/app/.yalc/design-system/src/components/atoms/IconButton/IconButton.jsx similarity index 76% rename from app/src/components/atoms/IconButton/index.jsx rename to app/.yalc/design-system/src/components/atoms/IconButton/IconButton.jsx index d23b4195d..da8ac6bd3 100644 --- a/app/src/components/atoms/IconButton/index.jsx +++ b/app/.yalc/design-system/src/components/atoms/IconButton/IconButton.jsx @@ -1,15 +1,15 @@ import React from 'react'; import { Icon } from 'react-native-elements'; import { TouchableOpacity } from 'react-native-gesture-handler'; -import colors from '../../../../assets/styles/colorVariables'; +import colors from '../../../styles/colors'; import { styles } from './styles'; export const IconButton = ({ - icon, - onPress, - theme = 'light', - iconSize = 24, - customStyle, + icon, + onPress, + theme = 'light', + iconSize = 24, + customStyle, }) => { return ( { + type = 'informative', + title = 'Aguardando contato', + text = '', + }) => { const variants = { informative: { icon: 'info', @@ -24,17 +25,17 @@ export const InformativeField = ({ }; return ( - + - - {title} - + + {title} + {text} diff --git a/app/.yalc/design-system/src/components/atoms/InformativeField/InformativeField.stories.jsx b/app/.yalc/design-system/src/components/atoms/InformativeField/InformativeField.stories.jsx new file mode 100644 index 000000000..43720fecf --- /dev/null +++ b/app/.yalc/design-system/src/components/atoms/InformativeField/InformativeField.stories.jsx @@ -0,0 +1,25 @@ +import React from "react"; +import { View } from "react-native"; +import {InformativeField} from './InformativeField'; + +const meta = { + title: "atoms/InformativeField", + component: InformativeField, + args: { + type: 'informative', + title: 'Aguardando contato', + text: 'Naruto eh incrivel ta ligado mano', + }, + decorators: [ + (Story) => ( + + + + ), + ], +}; + +export default meta; + + +export const Basic= {}; diff --git a/app/src/components/atoms/Input/index.jsx b/app/.yalc/design-system/src/components/atoms/Input/Input.jsx similarity index 66% rename from app/src/components/atoms/Input/index.jsx rename to app/.yalc/design-system/src/components/atoms/Input/Input.jsx index bcd86f8a9..c4a3f2e48 100644 --- a/app/src/components/atoms/Input/index.jsx +++ b/app/.yalc/design-system/src/components/atoms/Input/Input.jsx @@ -1,7 +1,8 @@ import React from 'react'; import { Text, View, TextInput } from 'react-native'; import { TextInputMask } from 'react-native-masked-text'; -import colors from '../../../../colors'; +import colors from '../../../styles/colors'; +import {styles} from "./styles"; export const Input = ({ value, @@ -30,38 +31,30 @@ export const Input = ({ const selectedMaskOption = (mask && maskOptions[mask]) || {}; - const disabledStyle = - 'border border-gray rounded-md bg-background py-2 px-4 text-black font-ms-medium'; + const style = disabled ? styles.disabledInput : styles.enabledInput; - const enabledStyle = - 'border border-gray rounded-md bg-white py-2 px-4 text-black font-ms-medium'; - - const style = disabled ? disabledStyle : enabledStyle; const inputProps = { value: value, onChangeText: setValue, placeholder: placeholder, editable: !disabled, placeholderTextColor: colors.black[300], - style: { textAlignVertical: 'top' }, + style: [style, { textAlignVertical: 'top' }], }; return ( - - + + {label} - {mask && ( + {mask ? ( - )} - {!mask && ( + ) : ( 1} @@ -70,13 +63,13 @@ export const Input = ({ /> )} {!error && maxLength && ( - + {value.length}/{maxLength} )} {error && ( - {errorMessage} + {errorMessage} )} ); -}; +}; \ No newline at end of file diff --git a/app/.yalc/design-system/src/components/atoms/Input/input.stories.jsx b/app/.yalc/design-system/src/components/atoms/Input/input.stories.jsx new file mode 100644 index 000000000..41658cd6f --- /dev/null +++ b/app/.yalc/design-system/src/components/atoms/Input/input.stories.jsx @@ -0,0 +1,29 @@ +import React from "react"; +import { View } from "react-native"; +import {Input} from './Input'; + +const meta = { + title: "atoms/Input", + component: Input, + args: { + change: () => console.log(""), + label: "CEP", + placeholder: "Digite seu CEP", + value: "", + keyboard: "numeric", + maxLength: 8, + disabled: true + }, + decorators: [ + (Story) => ( + + + + ), + ], +}; + +export default meta; + + +export const Basic= {}; diff --git a/app/.yalc/design-system/src/components/atoms/Input/styles.js b/app/.yalc/design-system/src/components/atoms/Input/styles.js new file mode 100644 index 000000000..a76bdad7f --- /dev/null +++ b/app/.yalc/design-system/src/components/atoms/Input/styles.js @@ -0,0 +1,41 @@ +import {StyleSheet} from "react-native"; +import colors from "../../../styles/colors"; + + +export const styles = StyleSheet.create({ + label: { + fontSize: 14, + fontFamily: 'ms-semibold', + color: colors.black.DEFAULT, + marginVertical: 4, + }, + disabledInput: { + borderColor: colors.gray.DEFAULT, + borderWidth: 1, + borderRadius: 8, + backgroundColor: colors.background, + paddingVertical: 8, + paddingHorizontal: 16, + color: colors.black.DEFAULT, + fontFamily: 'ms-medium', + }, + enabledInput: { + borderColor: colors.gray.DEFAULT, + borderWidth: 1, + borderRadius: 8, + backgroundColor: 'white', + paddingVertical: 8, + paddingHorizontal: 16, + color: colors.black.DEFAULT, + fontFamily: 'ms-medium', + }, + maxLength: { + marginLeft: 'auto', + fontFamily: 'ms-regular', + fontSize: 12, + }, + errorMessage: { + fontSize: 14, + color: colors.danger.DEFAULT, + }, +}); diff --git a/app/src/components/atoms/RoundedFullButton/index.jsx b/app/.yalc/design-system/src/components/atoms/RoundedFullButton/RoundedFullButton.jsx similarity index 64% rename from app/src/components/atoms/RoundedFullButton/index.jsx rename to app/.yalc/design-system/src/components/atoms/RoundedFullButton/RoundedFullButton.jsx index 57ee5ddb3..1861f237d 100644 --- a/app/src/components/atoms/RoundedFullButton/index.jsx +++ b/app/.yalc/design-system/src/components/atoms/RoundedFullButton/RoundedFullButton.jsx @@ -1,18 +1,19 @@ import React from 'react'; import { Text, TouchableOpacity } from 'react-native'; +import tw from '../../../utils/tailwind'; export const RoundedFullButton = ({ - text, - onPress, - variant = 'primary', - disabled = false, - width, + text, + onPress, + variant = 'primary', + disabled = false, + width, }) => { const variantStyles = { primary: 'bg-primary text-white', - secondary: 'bg-white text-primary border border-1 border-primary', + secondary: 'bg-white text-primary border border-1 border-primary border-opacity-100', danger: 'bg-danger text-white', - warning: 'bg-warning text-black', + warning: 'bg-thirt-rank text-black', }; const selectedVariant = variantStyles[variant]; @@ -20,7 +21,7 @@ export const RoundedFullButton = ({ return ( {text} diff --git a/app/.yalc/design-system/src/components/atoms/RoundedFullButton/RoundedFullButton.stories.jsx b/app/.yalc/design-system/src/components/atoms/RoundedFullButton/RoundedFullButton.stories.jsx new file mode 100644 index 000000000..118508c0d --- /dev/null +++ b/app/.yalc/design-system/src/components/atoms/RoundedFullButton/RoundedFullButton.stories.jsx @@ -0,0 +1,27 @@ +import React from "react"; +import { View } from "react-native"; +import { RoundedFullButton } from "./RoundedFullButton"; + +const meta = { + title: "atoms/RoudedFullButton", + component: RoundedFullButton, + args: { + text: "Teste", + onPress: () => console.log("Hellow"), + variant: 'secondary', + disabled: false, + width: "0", + }, + decorators: [ + (Story) => ( + + + + ), + ], +}; + +export default meta; + + +export const Basic= {}; diff --git a/app/src/components/atoms/SearchBar/index.jsx b/app/.yalc/design-system/src/components/atoms/SearchBar/SearchBar.jsx similarity index 95% rename from app/src/components/atoms/SearchBar/index.jsx rename to app/.yalc/design-system/src/components/atoms/SearchBar/SearchBar.jsx index b9892dbb7..9d1b26a70 100644 --- a/app/src/components/atoms/SearchBar/index.jsx +++ b/app/.yalc/design-system/src/components/atoms/SearchBar/SearchBar.jsx @@ -1,7 +1,7 @@ import React from 'react'; import { TextInput, View } from 'react-native'; import { Icon } from 'react-native-elements'; -import { IconButton } from '../IconButton'; +import { IconButton } from '../IconButton/IconButton'; import { styles } from './styles'; export const SearchBar = ({ value, setValue, placeholder }) => { return ( diff --git a/app/src/components/atoms/SearchBar/styles.js b/app/.yalc/design-system/src/components/atoms/SearchBar/styles.js similarity index 92% rename from app/src/components/atoms/SearchBar/styles.js rename to app/.yalc/design-system/src/components/atoms/SearchBar/styles.js index d21a2cc47..66c15f72b 100644 --- a/app/src/components/atoms/SearchBar/styles.js +++ b/app/.yalc/design-system/src/components/atoms/SearchBar/styles.js @@ -1,6 +1,6 @@ import { StyleSheet } from 'react-native'; import { RFValue } from 'react-native-responsive-fontsize'; -import fonts from '../../../../assets/styles/fontVariable'; +import fonts from '../../../styles/fonts'; export const styles = StyleSheet.create({ searchBarContainer: { diff --git a/app/src/components/atoms/SliderDescription/index.jsx b/app/.yalc/design-system/src/components/atoms/SliderDescription/SliderDescription.jsx similarity index 60% rename from app/src/components/atoms/SliderDescription/index.jsx rename to app/.yalc/design-system/src/components/atoms/SliderDescription/SliderDescription.jsx index 039e0d0a4..327b4ed2c 100644 --- a/app/src/components/atoms/SliderDescription/index.jsx +++ b/app/.yalc/design-system/src/components/atoms/SliderDescription/SliderDescription.jsx @@ -1,9 +1,10 @@ import React from 'react'; import { Text } from 'react-native'; +import tw from '../../../utils/tailwind'; export const SliderDescription = ({ description }) => { return ( - + {description} ); diff --git a/app/.yalc/design-system/src/components/atoms/SliderDescription/SliderDescription.stories.jsx b/app/.yalc/design-system/src/components/atoms/SliderDescription/SliderDescription.stories.jsx new file mode 100644 index 000000000..0067179fc --- /dev/null +++ b/app/.yalc/design-system/src/components/atoms/SliderDescription/SliderDescription.stories.jsx @@ -0,0 +1,23 @@ +import React from "react"; +import { View } from "react-native"; +import { SliderDescription } from './SliderDescription'; + +const meta = { + title: "atoms/SliderDescription", + component: SliderDescription, + args: { + description: "Hello world", + }, + decorators: [ + (Story) => ( + + + + ), + ], +}; + +export default meta; + + +export const Basic= {}; diff --git a/app/src/components/atoms/SliderTitle/index.jsx b/app/.yalc/design-system/src/components/atoms/SliderTitle/SliderTitle.jsx similarity index 56% rename from app/src/components/atoms/SliderTitle/index.jsx rename to app/.yalc/design-system/src/components/atoms/SliderTitle/SliderTitle.jsx index e396da109..77e1a9786 100644 --- a/app/src/components/atoms/SliderTitle/index.jsx +++ b/app/.yalc/design-system/src/components/atoms/SliderTitle/SliderTitle.jsx @@ -1,9 +1,10 @@ import React from 'react'; import { Text } from 'react-native'; +import tw from '../../../utils/tailwind'; export const SliderTitle = ({ title }) => { return ( - + {title} ); diff --git a/app/.yalc/design-system/src/components/atoms/SliderTitle/SliderTitle.stories.jsx b/app/.yalc/design-system/src/components/atoms/SliderTitle/SliderTitle.stories.jsx new file mode 100644 index 000000000..8d22ac9d6 --- /dev/null +++ b/app/.yalc/design-system/src/components/atoms/SliderTitle/SliderTitle.stories.jsx @@ -0,0 +1,23 @@ +import React from "react"; +import { View } from "react-native"; +import { SliderTitle } from './SliderTitle'; + +const meta = { + title: "atoms/SliderTitle", + component: SliderTitle, + args: { + title: "Hello world", + }, + decorators: [ + (Story) => ( + + + + ), + ], +}; + +export default meta; + + +export const Basic= {}; diff --git a/app/.yalc/design-system/src/components/atoms/TextButton/TextButton.stories.jsx b/app/.yalc/design-system/src/components/atoms/TextButton/TextButton.stories.jsx new file mode 100644 index 000000000..2aa607c9b --- /dev/null +++ b/app/.yalc/design-system/src/components/atoms/TextButton/TextButton.stories.jsx @@ -0,0 +1,25 @@ +import React from "react"; +import { View } from "react-native"; +import { TextButton } from './index'; + +const meta = { + title: "atoms/TextButton", + component: TextButton, + args: { + text: "Hello World", + onPress: () => console.log("Salve"), + style: "" + }, + decorators: [ + (Story) => ( + + + + ), + ], +}; + +export default meta; + + +export const Basic= {}; diff --git a/app/src/components/atoms/TextButton/index.jsx b/app/.yalc/design-system/src/components/atoms/TextButton/index.jsx similarity index 59% rename from app/src/components/atoms/TextButton/index.jsx rename to app/.yalc/design-system/src/components/atoms/TextButton/index.jsx index a215e37a2..47b9d0234 100644 --- a/app/src/components/atoms/TextButton/index.jsx +++ b/app/.yalc/design-system/src/components/atoms/TextButton/index.jsx @@ -1,11 +1,12 @@ import React from 'react'; import { Text, TouchableOpacity } from 'react-native'; +import tw from '../../../utils/tailwind'; -export const TextButton = ({ text, onPress, className }) => { +export const TextButton = ({ text, onPress, style }) => { return ( {text} diff --git a/app/src/components/atoms/TextSwitchButton/index.jsx b/app/.yalc/design-system/src/components/atoms/TextSwitchButton/TextSwitchButton.jsx similarity index 71% rename from app/src/components/atoms/TextSwitchButton/index.jsx rename to app/.yalc/design-system/src/components/atoms/TextSwitchButton/TextSwitchButton.jsx index a27379878..50f254358 100644 --- a/app/src/components/atoms/TextSwitchButton/index.jsx +++ b/app/.yalc/design-system/src/components/atoms/TextSwitchButton/TextSwitchButton.jsx @@ -1,5 +1,6 @@ import React from 'react'; import { Text, TouchableOpacity } from 'react-native'; +import tw from '../../../utils/tailwind'; export const TextSwitchButton = ({ text, isSelected, onPress }) => { const style = { @@ -11,9 +12,9 @@ export const TextSwitchButton = ({ text, isSelected, onPress }) => { return ( - {text} + {text} ); }; diff --git a/app/.yalc/design-system/src/components/atoms/TextSwitchButton/TextSwitchButton.stories.jsx b/app/.yalc/design-system/src/components/atoms/TextSwitchButton/TextSwitchButton.stories.jsx new file mode 100644 index 000000000..5304c3e8e --- /dev/null +++ b/app/.yalc/design-system/src/components/atoms/TextSwitchButton/TextSwitchButton.stories.jsx @@ -0,0 +1,25 @@ +import React from "react"; +import { View } from "react-native"; +import { TextSwitchButton } from './TextSwitchButton'; + +const meta = { + title: "atoms/TextSwitchButton", + component: TextSwitchButton, + args: { + text: "Hello World", + isSelected: true, + onPress: () => console.log("salve") + }, + decorators: [ + (Story) => ( + + + + ), + ], +}; + +export default meta; + + +export const Basic= {}; diff --git a/app/src/components/atoms/ViewWithDivider/index.jsx b/app/.yalc/design-system/src/components/atoms/ViewWithDivider/ViewWithDivider.jsx similarity index 56% rename from app/src/components/atoms/ViewWithDivider/index.jsx rename to app/.yalc/design-system/src/components/atoms/ViewWithDivider/ViewWithDivider.jsx index 7546ee665..194926ad5 100644 --- a/app/src/components/atoms/ViewWithDivider/index.jsx +++ b/app/.yalc/design-system/src/components/atoms/ViewWithDivider/ViewWithDivider.jsx @@ -1,6 +1,7 @@ import React from 'react'; import { View } from 'react-native'; +import tw from '../../../utils/tailwind'; export const ViewWithDivider = ({ children }) => { - return {children}; + return {children}; }; diff --git a/app/.yalc/design-system/src/components/atoms/ViewWithDivider/ViewWithDivider.stories.jsx b/app/.yalc/design-system/src/components/atoms/ViewWithDivider/ViewWithDivider.stories.jsx new file mode 100644 index 000000000..97c7bf204 --- /dev/null +++ b/app/.yalc/design-system/src/components/atoms/ViewWithDivider/ViewWithDivider.stories.jsx @@ -0,0 +1,23 @@ +import React from "react"; +import { View, Text } from "react-native"; +import { ViewWithDivider } from './ViewWithDivider'; + +const meta = { + title: "atoms/ViewWithDivider", + component: ViewWithDivider, + args: { + children: Hello World + }, + decorators: [ + (Story) => ( + + + + ), + ], +}; + +export default meta; + + +export const Basic= {}; diff --git a/app/.yalc/design-system/src/components/atoms/index.js b/app/.yalc/design-system/src/components/atoms/index.js new file mode 100644 index 000000000..b02ba701e --- /dev/null +++ b/app/.yalc/design-system/src/components/atoms/index.js @@ -0,0 +1,31 @@ +import { Chips } from "./Chips/Chips"; +import { DefaultButton } from "./DefaultButton/DefaultButton"; +import { CircleBadge } from "./CircleBadge/CircleBadge"; +import { CircleIconButton } from "./CircleIconButton"; +import { Divider } from "./Divider/Divider"; +import { IconButton } from "./IconButton/IconButton"; +import { InformativeField } from "./InformativeField/InformativeField"; +import { RoundedFullButton } from "./RoundedFullButton/RoundedFullButton"; +import { SearchBar } from "./SearchBar/SearchBar"; +import { SliderDescription } from "./SliderDescription/SliderDescription"; +import { SliderTitle } from "./SliderTitle/SliderTitle"; +import { TextButton } from "./TextButton/index"; +import { TextSwitchButton } from "./TextSwitchButton/TextSwitchButton"; +import { ViewWithDivider } from "./ViewWithDivider/ViewWithDivider"; + +export { + Chips, + DefaultButton, + CircleBadge, + CircleIconButton, + Divider, + IconButton, + InformativeField, + RoundedFullButton, + SearchBar, + SliderDescription, + SliderTitle, + TextButton, + TextSwitchButton, + ViewWithDivider +} diff --git a/app/src/components/molecules/Badge/index.jsx b/app/.yalc/design-system/src/components/molecules/Badge/Badge.jsx similarity index 63% rename from app/src/components/molecules/Badge/index.jsx rename to app/.yalc/design-system/src/components/molecules/Badge/Badge.jsx index ae82f0872..e9143a952 100644 --- a/app/src/components/molecules/Badge/index.jsx +++ b/app/.yalc/design-system/src/components/molecules/Badge/Badge.jsx @@ -1,7 +1,8 @@ import { View, Text } from 'react-native'; import React from 'react'; +import tw from '../../../utils/tailwind'; -export default function Badge({ title, size = 'small' }) { +export const Badge = ({ title, size = 'small' }) => { const viewSize = { small: 'px-2 py-1 m-0.5', medium: 'px-3 py-1.5 m-0.5', @@ -15,8 +16,8 @@ export default function Badge({ title, size = 'small' }) { }; return ( - - + + {title} diff --git a/app/.yalc/design-system/src/components/molecules/Badge/Badge.stories.js b/app/.yalc/design-system/src/components/molecules/Badge/Badge.stories.js new file mode 100644 index 000000000..92b14ad30 --- /dev/null +++ b/app/.yalc/design-system/src/components/molecules/Badge/Badge.stories.js @@ -0,0 +1,24 @@ +import React from "react"; +import { View } from "react-native"; +import { Badge } from './Badge'; + +const meta = { + title: "molecules/Badge", + component: Badge, + args: { + title: "Narutin", + size: "large" + }, + decorators: [ + (Story) => ( + + + + ), + ], +}; + +export default meta; + + +export const Basic= {}; diff --git a/app/.yalc/design-system/src/components/molecules/BadgeCard/BadgeCard.jsx b/app/.yalc/design-system/src/components/molecules/BadgeCard/BadgeCard.jsx new file mode 100644 index 000000000..2dceb2ebd --- /dev/null +++ b/app/.yalc/design-system/src/components/molecules/BadgeCard/BadgeCard.jsx @@ -0,0 +1,59 @@ +import React from 'react'; +import { Text, View } from 'react-native'; +import { CircleBadge } from '../../atoms/CircleBadge/CircleBadge'; +import tw from '../../../utils/tailwind'; + +export const BadgeCard = ({ + badgeTemplate, + showLevel = false, + hidden = false, + }) => { + const getTitle = () => { + return `${badgeTemplate.name.split(' ')[0]} ${badgeTemplate.rank}`; + }; + + const title = showLevel ? `Nível ${badgeTemplate.rank}` : getTitle(); + + const hiddenBadgeInfo = { + iconName: 'help', + description: '-', + neededValue: '?', + rank: badgeTemplate.rank, + }; + const badgeInfo = hidden ? hiddenBadgeInfo : badgeTemplate; + + return ( + + + + + {title} + + + {badgeInfo.description} + + + + {badgeInfo.neededValue}/{badgeInfo.neededValue} + + + ); +}; diff --git a/app/.yalc/design-system/src/components/molecules/BadgeCard/BadgeCard.stories.js b/app/.yalc/design-system/src/components/molecules/BadgeCard/BadgeCard.stories.js new file mode 100644 index 000000000..49f9dba12 --- /dev/null +++ b/app/.yalc/design-system/src/components/molecules/BadgeCard/BadgeCard.stories.js @@ -0,0 +1,30 @@ +import React from "react"; +import { View } from "react-native"; +import { BadgeCard } from './BadgeCard'; + +const meta = { + title: "molecules/BadgeCard", + component: BadgeCard, + args: { + hidden: true, + badgeTemplate: { + name: "", + iconName: 'help', + description: '-', + neededValue: '?', + rank: "1", + } + }, + decorators: [ + (Story) => ( + + + + ), + ], +}; + +export default meta; + + +export const Basic= {}; diff --git a/app/src/components/molecules/CategoriesList/index.jsx b/app/.yalc/design-system/src/components/molecules/CategoriesList/CategoriesList.jsx similarity index 59% rename from app/src/components/molecules/CategoriesList/index.jsx rename to app/.yalc/design-system/src/components/molecules/CategoriesList/CategoriesList.jsx index aa088ee66..2bffc5a8e 100644 --- a/app/src/components/molecules/CategoriesList/index.jsx +++ b/app/.yalc/design-system/src/components/molecules/CategoriesList/CategoriesList.jsx @@ -1,15 +1,16 @@ import React from 'react'; -import Badge from '../Badge'; +import { Badge } from '../Badge/Badge'; import { View } from 'react-native'; +import tw from '../../../utils/tailwind'; export const CategoriesList = ({ - categories, - size = 'medium', - customStyle = '', -}) => { + categories, + size = 'medium', + customStyle = '', + }) => { const align = categories?.length >= 3 ? 'justify-center' : ''; return ( - + {categories?.map((category) => ( ))} diff --git a/app/.yalc/design-system/src/components/molecules/CategoriesList/CategoriesList.stories.js b/app/.yalc/design-system/src/components/molecules/CategoriesList/CategoriesList.stories.js new file mode 100644 index 000000000..103d9287c --- /dev/null +++ b/app/.yalc/design-system/src/components/molecules/CategoriesList/CategoriesList.stories.js @@ -0,0 +1,29 @@ +import React from "react"; +import { View } from "react-native"; +import { CategoriesList } from './CategoriesList'; + +const meta = { + title: "molecules/CategoriesList", + component: CategoriesList, + args: { + categories: [{ + name: "narutin", + _id: "0" + }, { + name: "sasuke", + _id: "0" + }] + }, + decorators: [ + (Story) => ( + + + + ), + ], +}; + +export default meta; + + +export const Basic= {}; diff --git a/app/.yalc/design-system/src/components/molecules/CustomDrawerItem/CustomDrawerItem.jsx b/app/.yalc/design-system/src/components/molecules/CustomDrawerItem/CustomDrawerItem.jsx new file mode 100644 index 000000000..4eb1d7ed2 --- /dev/null +++ b/app/.yalc/design-system/src/components/molecules/CustomDrawerItem/CustomDrawerItem.jsx @@ -0,0 +1,18 @@ +import React from 'react'; +import { Text, TouchableOpacity } from 'react-native'; +import { styles } from './styles'; +export const CustomDrawerItem = ({ isSelected, icon, label, onPress }) => { + return ( + + {icon()} + {label} + + ); +}; diff --git a/app/.yalc/design-system/src/components/molecules/CustomDrawerItem/CustomDrawerItem.stories.js b/app/.yalc/design-system/src/components/molecules/CustomDrawerItem/CustomDrawerItem.stories.js new file mode 100644 index 000000000..57845e21e --- /dev/null +++ b/app/.yalc/design-system/src/components/molecules/CustomDrawerItem/CustomDrawerItem.stories.js @@ -0,0 +1,26 @@ +import React from "react"; +import { View } from "react-native"; +import { CustomDrawerItem } from './CustomDrawerItem'; + +const meta = { + title: "molecules/CustomDrawerItem", + component: CustomDrawerItem, + args: { + isSelected: true, + label: "Narutin", + icon: () => , + onPress: () => console.log("salve") + }, + decorators: [ + (Story) => ( + + + + ), + ], +}; + +export default meta; + + +export const Basic= {}; diff --git a/app/.yalc/design-system/src/components/molecules/CustomDrawerItem/styles.js b/app/.yalc/design-system/src/components/molecules/CustomDrawerItem/styles.js new file mode 100644 index 000000000..5f949bdac --- /dev/null +++ b/app/.yalc/design-system/src/components/molecules/CustomDrawerItem/styles.js @@ -0,0 +1,30 @@ +import { StyleSheet } from 'react-native'; +import { RFValue } from 'react-native-responsive-fontsize'; +import { oldColors } from '../../../styles/oldColors'; +import fonts from '../../../styles/fonts'; + +const commonContainerStyle = { + width: '100%', + flexDirection: 'row', + marginVertical: RFValue(4, 640), + maxWidth: RFValue(240, 640), + overflow: 'hidden', + paddingVertical: RFValue(8, 640), +}; +export const styles = StyleSheet.create({ + drawerItemContainer: { + marginLeft: RFValue(16, 640), + ...commonContainerStyle, + }, + selectedDrawerItemContainer: { + ...commonContainerStyle, + backgroundColor: oldColors.primaryLowOpacity, + paddingHorizontal: RFValue(4, 640), + marginLeft: RFValue(12, 640), + borderRadius: 4, + }, + label: { + ...fonts.body, + marginLeft: RFValue(16, 640), + }, +}); diff --git a/app/.yalc/design-system/src/components/molecules/CustomHeader/CustomHeader.jsx b/app/.yalc/design-system/src/components/molecules/CustomHeader/CustomHeader.jsx new file mode 100644 index 000000000..385a5a6d1 --- /dev/null +++ b/app/.yalc/design-system/src/components/molecules/CustomHeader/CustomHeader.jsx @@ -0,0 +1,37 @@ +import React from 'react'; +import { Text, View } from 'react-native'; +import { IconButton } from "../../../components/atoms/IconButton/IconButton"; +import { RoundedFullButton } from '../../../components/atoms/RoundedFullButton/RoundedFullButton'; +import { styles } from './styles'; + +export const CustomHeader = ({ title, navigation, iconType, buttonProps }) => { + const isDrawerButton = iconType === 'drawer'; + const icon = isDrawerButton + ? { + icon: 'menu', + theme: 'light', + customStyle: styles.customMenuStyle, + } + : { + icon: 'arrow-back', + theme: 'dark', + }; + + const onPress = isDrawerButton + ? () => navigation.openDrawer() + : () => navigation.goBack(); + + return ( + + + + {title} + {buttonProps?.visible && ( + + + + )} + + + ); +}; diff --git a/app/.yalc/design-system/src/components/molecules/CustomHeader/styles.js b/app/.yalc/design-system/src/components/molecules/CustomHeader/styles.js new file mode 100644 index 000000000..0dfea67ce --- /dev/null +++ b/app/.yalc/design-system/src/components/molecules/CustomHeader/styles.js @@ -0,0 +1,30 @@ +import { StyleSheet } from 'react-native'; + +import { RFValue } from 'react-native-responsive-fontsize'; +import { oldColors } from '../../../styles/oldColors'; +import fonts from '../../../styles/fonts'; + +export const styles = StyleSheet.create({ + header: { + width: '100%', + height: RFValue(48, 640), + justifyContent: 'center', + backgroundColor: 'transparent', + }, + content: { + flexDirection: 'row', + alignItems: 'center', + }, + title: { + ...fonts.subtitle, + color: oldColors.dark, + fontFamily: 'montserrat-bold', + }, + customMenuStyle: { + backgroundColor: oldColors.primary, + padding: RFValue(4, 640), + marginRight: RFValue(8, 640), + marginLeft: RFValue(8, 640), + borderRadius: 100, + }, +}); diff --git a/app/.yalc/design-system/src/components/molecules/DefaultButtonWithBadges/DefaultButtonWithBadges.jsx b/app/.yalc/design-system/src/components/molecules/DefaultButtonWithBadges/DefaultButtonWithBadges.jsx new file mode 100644 index 000000000..001e0328f --- /dev/null +++ b/app/.yalc/design-system/src/components/molecules/DefaultButtonWithBadges/DefaultButtonWithBadges.jsx @@ -0,0 +1,29 @@ +import React from 'react'; +import { Text, View } from 'react-native'; +import { Badge } from 'react-native-elements'; +import { DefaultButton } from '../../atoms/DefaultButton/DefaultButton'; +import styles from '../../../styles/helpDescription'; +import tw from "../../../utils/tailwind"; + +export const DefaultButtonWithBadges = ({ + title, + onPress, + badgeValue, + marginTop = '', + disabled, +}) => { + return ( + + + {badgeValue}} + badgeStyle={[styles.badgeStyle, styles.smallBadge]} + containerStyle={styles.containerBadge} + /> + + ); +}; diff --git a/app/.yalc/design-system/src/components/molecules/DefaultButtonWithBadges/DefaultButtonWithBadges.stories.js b/app/.yalc/design-system/src/components/molecules/DefaultButtonWithBadges/DefaultButtonWithBadges.stories.js new file mode 100644 index 000000000..f0abc0ee5 --- /dev/null +++ b/app/.yalc/design-system/src/components/molecules/DefaultButtonWithBadges/DefaultButtonWithBadges.stories.js @@ -0,0 +1,26 @@ +import React from "react"; +import { View } from "react-native"; +import { DefaultButtonWithBadges } from './DefaultButtonWithBadges'; + +const meta = { + title: "molecules/DefaultButtonWithBadges", + component: DefaultButtonWithBadges, + args: { + title: "Narutin", + onPress: () => console.log("salve"), + badgeValue: "1", + disabled: false, + }, + decorators: [ + (Story) => ( + + + + ), + ], +}; + +export default meta; + + +export const Basic= {}; diff --git a/app/.yalc/design-system/src/components/molecules/DescriptionBox/DescriptionBox.jsx b/app/.yalc/design-system/src/components/molecules/DescriptionBox/DescriptionBox.jsx new file mode 100644 index 000000000..0f564fdf3 --- /dev/null +++ b/app/.yalc/design-system/src/components/molecules/DescriptionBox/DescriptionBox.jsx @@ -0,0 +1,23 @@ +import React from 'react'; +import { Text, View } from 'react-native'; +import tw from "../../../utils/tailwind"; + +export const DescriptionBox = ({ title, description, maxLines = 4 }) => { + return ( + + + {title} + + + + {description} + + + + ); +}; diff --git a/app/.yalc/design-system/src/components/molecules/DescriptionBox/DescriptionBox.stories.js b/app/.yalc/design-system/src/components/molecules/DescriptionBox/DescriptionBox.stories.js new file mode 100644 index 000000000..b3e8e0a03 --- /dev/null +++ b/app/.yalc/design-system/src/components/molecules/DescriptionBox/DescriptionBox.stories.js @@ -0,0 +1,23 @@ +import React from "react"; +import { View } from "react-native"; +import { DescriptionBox } from './DescriptionBox'; + +const meta = { + title: "molecules/DescriptionBox", + component: DescriptionBox, + args: { + title: 'Narutin', + description: 'Narutin eh demais muleke' + }, + decorators: [ + (Story) => ( + + + + ), + ], +}; + +export default meta; + +export const Basic= {}; diff --git a/app/.yalc/design-system/src/components/molecules/Dialog/Dialog.jsx b/app/.yalc/design-system/src/components/molecules/Dialog/Dialog.jsx new file mode 100644 index 000000000..c240df09c --- /dev/null +++ b/app/.yalc/design-system/src/components/molecules/Dialog/Dialog.jsx @@ -0,0 +1,50 @@ +import React from 'react'; +import { Modal, Pressable, Text, View } from 'react-native'; +import tw from '../../../utils/tailwind'; + +export const Dialog = ({ + isVisible, + onCloseDialog, + title, + description, + cancelText, + animationType = 'slide', + confirmText = 'Ok', + onConfirmPress, +}) => { + return ( + + + + {title && ( + + {title} + + )} + + {description} + + + {cancelText && ( + + + {cancelText} + + + )} + + + {confirmText} + + + + + + + ); +}; diff --git a/app/.yalc/design-system/src/components/molecules/Dialog/Dialog.stories.js b/app/.yalc/design-system/src/components/molecules/Dialog/Dialog.stories.js new file mode 100644 index 000000000..7ad0b42c0 --- /dev/null +++ b/app/.yalc/design-system/src/components/molecules/Dialog/Dialog.stories.js @@ -0,0 +1,27 @@ +import React from "react"; +import { View } from "react-native"; +import { Dialog } from './Dialog'; + +const meta = { + title: "molecules/Dialog", + component: Dialog, + args: { + isVisible: true, + onCloseDialog: () => console.log(''), + title: 'Narutin', + description: 'Narutin é massa pra carai', + cancelText: 'CANCELA', + onConfirmPress: () => console.log(''), + }, + decorators: [ + (Story) => ( + + + + ), + ], +}; + +export default meta; + +export const Basic= {}; diff --git a/app/.yalc/design-system/src/components/molecules/FloatingIconButton/FloatingIconButton.jsx b/app/.yalc/design-system/src/components/molecules/FloatingIconButton/FloatingIconButton.jsx new file mode 100644 index 000000000..2227fa2fb --- /dev/null +++ b/app/.yalc/design-system/src/components/molecules/FloatingIconButton/FloatingIconButton.jsx @@ -0,0 +1,26 @@ +import React from 'react'; +import { View } from 'react-native'; +import { CircleIconButton } from '../../atoms/CircleIconButton'; +import tw from "../../../utils/tailwind"; + +export const FloatingIconButton = ({ + position = 'left', + iconName, + onPress, + customTop = null, + iconSize, + color, +}) => { + const convertPosition = `${position}-2`; + const positionY = customTop || 'top-2'; + return ( + + + + ); +}; diff --git a/app/.yalc/design-system/src/components/molecules/FloatingIconButton/FloatingIconButton.stories.js b/app/.yalc/design-system/src/components/molecules/FloatingIconButton/FloatingIconButton.stories.js new file mode 100644 index 000000000..00d085ade --- /dev/null +++ b/app/.yalc/design-system/src/components/molecules/FloatingIconButton/FloatingIconButton.stories.js @@ -0,0 +1,25 @@ +import React from "react"; +import { View } from "react-native"; +import { FloatingIconButton } from './FloatingIconButton'; + +const meta = { + title: "molecules/FloatingIconButton", + component: FloatingIconButton, + args: { + iconName: 'arrow-back', + onPress: () => console.log(''), + iconSize: '2xl', + color: '#4a4a4a', + }, + decorators: [ + (Story) => ( + + + + ), + ], +}; + +export default meta; + +export const Basic= {}; diff --git a/app/.yalc/design-system/src/components/molecules/FollowCount/FollowCount.jsx b/app/.yalc/design-system/src/components/molecules/FollowCount/FollowCount.jsx new file mode 100644 index 000000000..fbdc7a673 --- /dev/null +++ b/app/.yalc/design-system/src/components/molecules/FollowCount/FollowCount.jsx @@ -0,0 +1,23 @@ +import { useNavigation } from '@react-navigation/native'; +import React from 'react'; +import { TouchableOpacity, Text } from 'react-native'; +import tw from "../../../utils/tailwind"; + +export const FollowCount = ({ count, type, userId }) => { + const navigation = useNavigation(); + const types = { + following: 'seguindo', + followers: 'seguidores', + }; + + const handlePress = () => { + navigation.navigate('userList', { userId: userId, followType: type }); + }; + + return ( + + {count} + {` ${types[type]}`} + + ); +}; diff --git a/app/.yalc/design-system/src/components/molecules/FollowCount/FollowCount.stories.js b/app/.yalc/design-system/src/components/molecules/FollowCount/FollowCount.stories.js new file mode 100644 index 000000000..a7296e1a2 --- /dev/null +++ b/app/.yalc/design-system/src/components/molecules/FollowCount/FollowCount.stories.js @@ -0,0 +1,27 @@ +import React from "react"; +import { View } from "react-native"; +import { FollowCount } from './FollowCount'; +import { NavigationContainer } from "@react-navigation/native"; + +const meta = { + title: "molecules/FollowCount", + component: FollowCount, + args: { + count: 1, + type: 'following', + userId:'12312' + }, + decorators: [ + (Story) => ( + + + + + + ), + ], +}; + +export default meta; + +export const Basic= {}; diff --git a/app/.yalc/design-system/src/components/molecules/ProfilePhoto/ProfilePhoto.jsx b/app/.yalc/design-system/src/components/molecules/ProfilePhoto/ProfilePhoto.jsx new file mode 100644 index 000000000..c5a6709e8 --- /dev/null +++ b/app/.yalc/design-system/src/components/molecules/ProfilePhoto/ProfilePhoto.jsx @@ -0,0 +1,25 @@ +import React from 'react'; +import { Image } from 'react-native'; +import tw from "../../../utils/tailwind"; + +export const ProfilePhoto = ({ base64, size, additionalStyle }) => { + const imageSource = base64 + ? { + uri: `data:image/png;base64,${base64}`, + } + : require('../../../assets/noImage.png'); + + const sizes = { + xs: 'w-10 h-10', + sm: 'w-12 h-12', + md: 'w-16 h-16', + lg: 'w-24 h-24', + }; + const selectedSize = sizes[size]; + return ( + + ); +}; diff --git a/app/.yalc/design-system/src/components/molecules/ProfilePhoto/ProfilePhoto.stories.js b/app/.yalc/design-system/src/components/molecules/ProfilePhoto/ProfilePhoto.stories.js new file mode 100644 index 000000000..b0b1d9b30 --- /dev/null +++ b/app/.yalc/design-system/src/components/molecules/ProfilePhoto/ProfilePhoto.stories.js @@ -0,0 +1,24 @@ +import React from "react"; +import { View } from "react-native"; +import { ProfilePhoto } from './ProfilePhoto'; + +const meta = { + title: "molecules/ProfilePhoto", + component: ProfilePhoto, + args: { + base64: '', + size: 'lg', + additionalStyle: '' + }, + decorators: [ + (Story) => ( + + + + ), + ], +}; + +export default meta; + +export const Basic= {}; diff --git a/app/.yalc/design-system/src/components/molecules/TextSwitch/TextSwitch.jsx b/app/.yalc/design-system/src/components/molecules/TextSwitch/TextSwitch.jsx new file mode 100644 index 000000000..1177a443d --- /dev/null +++ b/app/.yalc/design-system/src/components/molecules/TextSwitch/TextSwitch.jsx @@ -0,0 +1,28 @@ +import React from 'react'; +import { View } from 'react-native'; +import { TextSwitchButton } from '../../atoms/TextSwitchButton/TextSwitchButton'; +import tw from "../../../utils/tailwind"; + +export const TextSwitch = ({ + option1, + option2, + selectedOption, + setSelectedOption, + darker = false, +}) => { + const background = darker ? 'bg-gray' : 'bg-background'; + return ( + + setSelectedOption(0)} + isSelected={selectedOption === 0} + /> + setSelectedOption(1)} + isSelected={selectedOption === 1} + /> + + ); +}; diff --git a/app/.yalc/design-system/src/components/molecules/TextSwitch/TextSwitch.stories.js b/app/.yalc/design-system/src/components/molecules/TextSwitch/TextSwitch.stories.js new file mode 100644 index 000000000..390a3000f --- /dev/null +++ b/app/.yalc/design-system/src/components/molecules/TextSwitch/TextSwitch.stories.js @@ -0,0 +1,25 @@ +import React from "react"; +import { View } from "react-native"; +import { TextSwitch } from './TextSwitch'; + +const meta = { + title: "molecules/TextSwitch", + component: TextSwitch, + args: { + option1: 'Narutin', + option2: 'Sasuke', + selectedOption: 0, + setSelectedOption: (index) => console.log(index), + }, + decorators: [ + (Story) => ( + + + + ), + ], +}; + +export default meta; + +export const Basic= {}; diff --git a/app/.yalc/design-system/src/components/molecules/TimeLineItem/TimeLineItem.jsx b/app/.yalc/design-system/src/components/molecules/TimeLineItem/TimeLineItem.jsx new file mode 100644 index 000000000..c68176932 --- /dev/null +++ b/app/.yalc/design-system/src/components/molecules/TimeLineItem/TimeLineItem.jsx @@ -0,0 +1,30 @@ +import React from 'react'; +import { Image, Text, View } from 'react-native'; +import { Divider } from '../../atoms/Divider/Divider'; +import tw from "../../../utils/tailwind"; + +export const TimeLineItem = ({ data, hasImage }) => { + return ( + + + {hasImage && ( + + )} + + + {data.title} + + + {data.description} + + + + + + ); +}; diff --git a/app/.yalc/design-system/src/components/molecules/TimeLineItem/TimeLineItem.stories.js b/app/.yalc/design-system/src/components/molecules/TimeLineItem/TimeLineItem.stories.js new file mode 100644 index 000000000..eb9ef980a --- /dev/null +++ b/app/.yalc/design-system/src/components/molecules/TimeLineItem/TimeLineItem.stories.js @@ -0,0 +1,25 @@ +import React from "react"; +import { View } from "react-native"; +import { TimeLineItem } from './TimeLineItem'; + +const meta = { + title: "molecules/TimeLineItem", + component: TimeLineItem, + args: { + data: { + title: 'Narutin', + description: 'Salve salve' + } + }, + decorators: [ + (Story) => ( + + + + ), + ], +}; + +export default meta; + +export const Basic= {}; diff --git a/app/.yalc/design-system/src/components/molecules/index.js b/app/.yalc/design-system/src/components/molecules/index.js new file mode 100644 index 000000000..25fbfb19a --- /dev/null +++ b/app/.yalc/design-system/src/components/molecules/index.js @@ -0,0 +1,29 @@ +import { Badge } from "./Badge/Badge"; +import { BadgeCard } from "./BadgeCard/BadgeCard"; +import { CategoriesList } from "./CategoriesList/CategoriesList"; +import { CustomDrawerItem } from "./CustomDrawerItem/CustomDrawerItem" +import { CustomHeader } from "./CustomHeader/CustomHeader"; +import { DefaultButtonWithBadges } from "./DefaultButtonWithBadges/DefaultButtonWithBadges"; +import { DescriptionBox } from "./DescriptionBox/DescriptionBox"; +import { Dialog } from "./Dialog/Dialog"; +import { FollowCount } from "./FollowCount/FollowCount"; +import { ProfilePhoto } from "./ProfilePhoto/ProfilePhoto"; +import { TextSwitch } from "./TextSwitch/TextSwitch"; +import { TimeLineItem } from "./TimeLineItem/TimeLineItem"; +import { FloatingIconButton } from "./FloatingIconButton/FloatingIconButton"; + +export { + Badge, + BadgeCard, + CategoriesList, + CustomDrawerItem, + CustomHeader, + DefaultButtonWithBadges, + DescriptionBox, + Dialog, + FollowCount, + ProfilePhoto, + TextSwitch, + TimeLineItem, + FloatingIconButton +} diff --git a/app/.yalc/design-system/src/styles/colors.js b/app/.yalc/design-system/src/styles/colors.js new file mode 100644 index 000000000..65990c6f4 --- /dev/null +++ b/app/.yalc/design-system/src/styles/colors.js @@ -0,0 +1,50 @@ +module.exports = { + primary: { + DEFAULT: 'rgba(75, 138, 185, 1)', + 100: 'rgba(75, 138, 185, 0.1)', + 200: 'rgba(75, 138, 185, 0.2)', + 300: 'rgba(75, 138, 185, 0.3)', + 400: 'rgba(75, 138, 185, 0.4)', + 500: 'rgba(75, 138, 185, 0.5)', + 600: 'rgba(75, 138, 185, 0.6)', + 700: 'rgba(75, 138, 185, 0.7)', + 800: 'rgba(75, 138, 185, 0.8)', + 900: 'rgba(75, 138, 185, 0.9)', + contrast: '#81b0ff', + darker: '#182C3B', + }, + secondary: { + DEFAULT: '#f7ef6e', + 500: '#FAD980', + }, + danger: { + DEFAULT: 'rgba(228, 113, 113, 1)', + 100: 'rgba(228, 113, 113, 0.1)', + 200: 'rgba(228, 113, 113, 0.2)', + 300: 'rgba(228, 113, 113, 0.3)', + darker: '#681111', + }, + black: { + DEFAULT: 'rgba(53,53,53,1)', + 100: 'rgba(53,53,53,0.1)', + 200: 'rgba(53,53,53,0.2)', + 300: 'rgba(53,53,53,0.3)', + 400: 'rgba(53,53,53,0.4)', + 500: 'rgba(53,53,53,0.5)', + 600: 'rgba(53,53,53,0.6)', + 700: 'rgba(53,53,53,0.7)', + 800: 'rgba(53,53,53,0.8)', + 900: 'rgba(53,53,53,0.9)', + }, + light: '#f7f7f7', + success: '#77dd77', + background: '#f1f1f1', + new_background: '#F2F2F7', + gray: { + DEFAULT: '#e6e6e6', + contrast: '#D2D2D2', + }, + 'first-rank': '#BF6159', + 'second-rank': '#538D95', + 'thirt-rank': '#D0A408', +}; diff --git a/app/.yalc/design-system/src/styles/fonts.js b/app/.yalc/design-system/src/styles/fonts.js new file mode 100644 index 000000000..80088fd62 --- /dev/null +++ b/app/.yalc/design-system/src/styles/fonts.js @@ -0,0 +1,31 @@ +import colors from './colors'; +import { RFValue } from 'react-native-responsive-fontsize'; + +const minimumTextSize = 14; +const fontFamily = 'montserrat-regular'; +const defaultProps = { + color: colors.dark, + fontFamily: fontFamily, +}; + +const fonts = { + title: { + ...defaultProps, + fontSize: RFValue(minimumTextSize * 1.5, 640), + }, + subtitle: { + ...defaultProps, + fontSize: RFValue(minimumTextSize * 1.2, 640), + }, + body: { + ...defaultProps, + fontSize: RFValue(minimumTextSize, 640), + }, + + small: { + ...defaultProps, + fontSize: RFValue(minimumTextSize * 0.75, 640), + }, +}; + +export default fonts; diff --git a/app/.yalc/design-system/src/styles/helpDescription.js b/app/.yalc/design-system/src/styles/helpDescription.js new file mode 100644 index 000000000..55b3ae715 --- /dev/null +++ b/app/.yalc/design-system/src/styles/helpDescription.js @@ -0,0 +1,106 @@ +import { oldColors } from './oldColors'; +import { RFValue } from 'react-native-responsive-fontsize'; + +const helpDescription = { + container: { + flex: 1, + padding: 20, + zIndex: -1, + }, + userInfo: { + flex: 1, + flexDirection: 'row', + }, + profileImage: { + width: 70, + height: 70, + resizeMode: 'cover', + borderRadius: 50, + marginHorizontal: 10, + alignSelf: 'center', + position: 'absolute', + }, + infoTextView: { + alignSelf: 'center', + marginLeft: 40, + paddingRight: 100, + }, + infoTitle: { + fontSize: RFValue(16, 640), + fontFamily: 'montserrat-semibold', + }, + infoText: { + fontSize: RFValue(14, 640), + fontFamily: 'montserrat-regular', + textAlign: 'justify', + }, + infoTextFont: { + fontFamily: 'montserrat-semibold', + }, + infoTextDescription: { + fontFamily: 'montserrat-semibold', + marginTop: 20, + marginBottom: 10, + }, + helpInfo: { + flex: 1, + paddingHorizontal: 16, + }, + buttonInteresteds: { + width: '100%', + backgroundColor: oldColors.primary, + padding: 12, + alignItems: 'center', + justifyContent: 'center', + borderRadius: 6, + }, + textBtn: { + color: '#FFF', + fontSize: RFValue(16, 640), + fontWeight: 'bold', + }, + containerBadge: { + position: 'absolute', + top: -7, + right: -6, + }, + badgeStyle: { + backgroundColor: oldColors.danger, + height: 30, + width: 30, + borderRadius: 50, + }, + labelBadge: { + color: '#FFF', + fontWeight: 'bold', + }, + titleFont: { + fontFamily: 'montserrat-semibold', + }, + categoryWarning: { + backgroundColor: oldColors.secondary, + borderRadius: 8, + maxHeight: 30, + paddingHorizontal: 15, + alignSelf: 'center', + marginLeft: 5, + marginTop: 5, + }, + + categoryName: { + fontSize: RFValue(12, 640), + fontFamily: 'montserrat-semibold', + lineHeight: 30, + textAlign: 'center', + alignSelf: 'center', + }, + categoryContainer: { + flexDirection: 'row', + width: '100%', + marginBottom: 32, + justifyContent: 'center', + flexWrap: 'wrap', + }, +}; + +export default helpDescription; diff --git a/app/.yalc/design-system/src/styles/oldColors.js b/app/.yalc/design-system/src/styles/oldColors.js new file mode 100644 index 000000000..7eaa8ef37 --- /dev/null +++ b/app/.yalc/design-system/src/styles/oldColors.js @@ -0,0 +1,12 @@ +export const oldColors = { + primary: '#4b8ab9', + 'primary-400': 'rgba(75, 138, 185, 0.4)', + primaryContrast: '#81b0ff', + primaryLowOpacity: '#E4F4FF', + secondary: '#f7ef6e', + danger: '#e47171', + 'danger-400': 'rgba(228, 113, 113, 0.4)', + dark: '#353535', + light: '#f7f7f7', + success: '#77dd77', +}; diff --git a/app/.yalc/design-system/src/utils/getActivityIcon.js b/app/.yalc/design-system/src/utils/getActivityIcon.js new file mode 100644 index 000000000..0a3a72903 --- /dev/null +++ b/app/.yalc/design-system/src/utils/getActivityIcon.js @@ -0,0 +1,19 @@ +function getActivityIcon(activityType) { + const activitiesVariants = { + help: { + name: 'exclamation', + type: 'font-awesome', + }, + offer: { + name: 'volunteer-activism', + type: 'material', + }, + campaign: { + name: 'home', + type: 'material', + }, + }; + return activitiesVariants[activityType]; +} + +export default getActivityIcon; diff --git a/app/.yalc/design-system/src/utils/tailwind.js b/app/.yalc/design-system/src/utils/tailwind.js new file mode 100644 index 000000000..4589b8528 --- /dev/null +++ b/app/.yalc/design-system/src/utils/tailwind.js @@ -0,0 +1,5 @@ +import { create } from 'twrnc'; + +const tw = create(require(`../../tailwind.config.js`)); + +export default tw; diff --git a/app/.yalc/design-system/tailwind.config.js b/app/.yalc/design-system/tailwind.config.js new file mode 100644 index 000000000..28146f7e8 --- /dev/null +++ b/app/.yalc/design-system/tailwind.config.js @@ -0,0 +1,24 @@ +const colors = require('./src/styles/colors'); + +module.exports = { + content: ['./index.{js,jsx,ts,tsx}', './src/**/*.{js,jsx,ts,tsx}'], + theme: { + extend: { + colors: colors, + spacing: { + 38: '9.5rem', + }, + fontSize: { + xss: '10px', + }, + }, + fontFamily: { + 'ms-bold': ['montserrat-bold'], + 'ms-semibold': ['montserrat-semibold'], + 'ms-medium': ['montserrat-medium'], + 'ms-regular': ['montserrat-regular'], + 'ms-light': ['montserrat-light'], + }, + }, + plugins: [], +}; diff --git a/app/.yalc/design-system/tsconfig.json b/app/.yalc/design-system/tsconfig.json new file mode 100644 index 000000000..b9567f605 --- /dev/null +++ b/app/.yalc/design-system/tsconfig.json @@ -0,0 +1,6 @@ +{ + "extends": "expo/tsconfig.base", + "compilerOptions": { + "strict": true + } +} diff --git a/app/.yalc/design-system/yalc.sig b/app/.yalc/design-system/yalc.sig new file mode 100644 index 000000000..b38646bb1 --- /dev/null +++ b/app/.yalc/design-system/yalc.sig @@ -0,0 +1 @@ +c5ba0f154ebaa063d582d1c5d2a57b11 \ No newline at end of file diff --git a/app/.yalc/information-center/.nvmrc b/app/.yalc/information-center/.nvmrc new file mode 100644 index 000000000..016efd8a0 --- /dev/null +++ b/app/.yalc/information-center/.nvmrc @@ -0,0 +1 @@ +v20.10.0 \ No newline at end of file diff --git a/app/.yalc/information-center/README.md b/app/.yalc/information-center/README.md new file mode 100644 index 000000000..cd4feb8a3 --- /dev/null +++ b/app/.yalc/information-center/README.md @@ -0,0 +1,50 @@ +# Welcome to your Expo app 👋 + +This is an [Expo](https://expo.dev) project created with [`create-expo-app`](https://www.npmjs.com/package/create-expo-app). + +## Get started + +1. Install dependencies + + ```bash + npm install + ``` + +2. Start the app + + ```bash + npx expo start + ``` + +In the output, you'll find options to open the app in a + +- [development build](https://docs.expo.dev/develop/development-builds/introduction/) +- [Android emulator](https://docs.expo.dev/workflow/android-studio-emulator/) +- [iOS simulator](https://docs.expo.dev/workflow/ios-simulator/) +- [Expo Go](https://expo.dev/go), a limited sandbox for trying out app development with Expo + +You can start developing by editing the files inside the **app** directory. This project uses [file-based routing](https://docs.expo.dev/router/introduction). + +## Get a fresh project + +When you're ready, run: + +```bash +npm run reset-project +``` + +This command will move the starter code to the **app-example** directory and create a blank **app** directory where you can start developing. + +## Learn more + +To learn more about developing your project with Expo, look at the following resources: + +- [Expo documentation](https://docs.expo.dev/): Learn fundamentals, or go into advanced topics with our [guides](https://docs.expo.dev/guides). +- [Learn Expo tutorial](https://docs.expo.dev/tutorial/introduction/): Follow a step-by-step tutorial where you'll create a project that runs on Android, iOS, and the web. + +## Join the community + +Join our community of developers creating universal apps. + +- [Expo on GitHub](https://github.com/expo/expo): View our open source platform and contribute. +- [Discord community](https://chat.expo.dev): Chat with Expo users and ask questions. diff --git a/app/.yalc/information-center/app.json b/app/.yalc/information-center/app.json new file mode 100644 index 000000000..713303bc1 --- /dev/null +++ b/app/.yalc/information-center/app.json @@ -0,0 +1,36 @@ +{ + "expo": { + "name": "request-offers-page", + "slug": "request-offers-page", + "version": "1.0.0", + "orientation": "portrait", + "icon": "./assets/images/icon.png", + "scheme": "myapp", + "userInterfaceStyle": "automatic", + "splash": { + "image": "./assets/images/splash.png", + "resizeMode": "contain", + "backgroundColor": "#ffffff" + }, + "ios": { + "supportsTablet": true + }, + "android": { + "adaptiveIcon": { + "foregroundImage": "./assets/images/adaptive-icon.png", + "backgroundColor": "#ffffff" + } + }, + "web": { + "bundler": "metro", + "output": "static", + "favicon": "./assets/images/favicon.png" + }, + "plugins": [ + "expo-router" + ], + "experiments": { + "typedRoutes": true + } + } +} diff --git a/app/.yalc/information-center/app/_layout.jsx b/app/.yalc/information-center/app/_layout.jsx new file mode 100644 index 000000000..f0ef6723c --- /dev/null +++ b/app/.yalc/information-center/app/_layout.jsx @@ -0,0 +1,9 @@ +import { Stack } from "expo-router"; + +export default function RootLayout() { + return ( + + + + ); +} diff --git a/app/.yalc/information-center/app/index.jsx b/app/.yalc/information-center/app/index.jsx new file mode 100644 index 000000000..5ae0798dc --- /dev/null +++ b/app/.yalc/information-center/app/index.jsx @@ -0,0 +1,16 @@ +import { Text, View } from "react-native"; +import { InformationsCenter } from "../src/pages/InformationsCenter"; + +export default function Index() { + return ( + + + + ); +} diff --git a/app/.yalc/information-center/babel.config.js b/app/.yalc/information-center/babel.config.js new file mode 100644 index 000000000..9d89e1311 --- /dev/null +++ b/app/.yalc/information-center/babel.config.js @@ -0,0 +1,6 @@ +module.exports = function (api) { + api.cache(true); + return { + presets: ['babel-preset-expo'], + }; +}; diff --git a/app/.yalc/information-center/index.js b/app/.yalc/information-center/index.js new file mode 100644 index 000000000..5755243d6 --- /dev/null +++ b/app/.yalc/information-center/index.js @@ -0,0 +1,5 @@ +import { InformationsCenter } from './src/pages/InformationsCenter'; + +export { + InformationsCenter +} \ No newline at end of file diff --git a/app/.yalc/information-center/metro.config.js b/app/.yalc/information-center/metro.config.js new file mode 100644 index 000000000..62fbec05b --- /dev/null +++ b/app/.yalc/information-center/metro.config.js @@ -0,0 +1,14 @@ +const { getDefaultConfig } = require('expo/metro-config'); + +const config = getDefaultConfig(__dirname); + +config.transformer.babelTransformerPath = require.resolve( + 'react-native-svg-transformer', +); + +config.resolver.assetExts = config.resolver.assetExts.filter( + (ext) => ext !== 'svg', +); +config.resolver.sourceExts = [...config.resolver.sourceExts, 'svg']; + +module.exports = config; diff --git a/app/.yalc/information-center/package.json b/app/.yalc/information-center/package.json new file mode 100644 index 000000000..f3b5f78ca --- /dev/null +++ b/app/.yalc/information-center/package.json @@ -0,0 +1,22 @@ +{ + "name": "information-center", + "main": "index.js", + "version": "1.0.0", + "scripts": { + "start": "expo start", + "reset-project": "node ./scripts/reset-project.js", + "android": "expo start --android", + "ios": "expo start --ios", + "web": "expo start --web", + "test": "jest --watchAll", + "lint": "expo lint" + }, + "jest": { + "preset": "jest-expo" + }, + "dependencies": { + "@react-native-async-storage/async-storage": "^1.23.1", + "design-system": "file:/Users/sabanai/Documents/MyProjects/MiaAjuda/Frontend/app/.yalc" + }, + "yalcSig": "90c05b507d2d0360a937804a1ec5cd64" +} diff --git a/app/.yalc/information-center/scripts/reset-project.js b/app/.yalc/information-center/scripts/reset-project.js new file mode 100755 index 000000000..536579624 --- /dev/null +++ b/app/.yalc/information-center/scripts/reset-project.js @@ -0,0 +1,73 @@ +#!/usr/bin/env node + +/** + * This script is used to reset the project to a blank state. + * It moves the /app directory to /app-example and creates a new /app directory with an index.jsx and _layout.jsx file. + * You can remove the `reset-project` script from package.json and safely delete this file after running it. + */ + +const fs = require('fs'); +const path = require('path'); + +const root = process.cwd(); +const oldDirPath = path.join(root, 'app'); +const newDirPath = path.join(root, 'app-example'); +const newAppDirPath = path.join(root, 'app'); + +const indexContent = `import { Text, View } from "react-native"; + +export default function Index() { + return ( + + Edit app/index.tsx to edit this screen. + + ); +} +`; + +const layoutContent = `import { Stack } from "expo-router"; + +export default function RootLayout() { + return ( + + + + ); +} +`; + +fs.rename(oldDirPath, newDirPath, (error) => { + if (error) { + return console.error(`Error renaming directory: ${error}`); + } + console.log('/app moved to /app-example.'); + + fs.mkdir(newAppDirPath, { recursive: true }, (error) => { + if (error) { + return console.error(`Error creating new app directory: ${error}`); + } + console.log('New /app directory created.'); + + const indexPath = path.join(newAppDirPath, 'index.jsx'); + fs.writeFile(indexPath, indexContent, (error) => { + if (error) { + return console.error(`Error creating index.tsx: ${error}`); + } + console.log('app/index.jsx created.'); + + const layoutPath = path.join(newAppDirPath, '_layout.jsx'); + fs.writeFile(layoutPath, layoutContent, (error) => { + if (error) { + return console.error(`Error creating _layout.tsx: ${error}`); + } + console.log('app/_layout.jsx created.'); + }); + }); + }); +}); diff --git a/app/.yalc/information-center/src/assets/Step1.svg b/app/.yalc/information-center/src/assets/Step1.svg new file mode 100644 index 000000000..ca48b6a55 --- /dev/null +++ b/app/.yalc/information-center/src/assets/Step1.svg @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/.yalc/information-center/src/assets/Step2.svg b/app/.yalc/information-center/src/assets/Step2.svg new file mode 100644 index 000000000..b4b8b651f --- /dev/null +++ b/app/.yalc/information-center/src/assets/Step2.svg @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/.yalc/information-center/src/assets/Step3.svg b/app/.yalc/information-center/src/assets/Step3.svg new file mode 100644 index 000000000..1cf82d443 --- /dev/null +++ b/app/.yalc/information-center/src/assets/Step3.svg @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/.yalc/information-center/src/assets/blueCat.png b/app/.yalc/information-center/src/assets/blueCat.png new file mode 100644 index 0000000000000000000000000000000000000000..a42b617ade7d31e62688033b6d88fb8c03013c43 GIT binary patch literal 7986 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 + ); +} diff --git a/app/.yalc/information-center/src/components/EmergencyNumbers/modal.jsx b/app/.yalc/information-center/src/components/EmergencyNumbers/modal.jsx new file mode 100644 index 000000000..112c9089e --- /dev/null +++ b/app/.yalc/information-center/src/components/EmergencyNumbers/modal.jsx @@ -0,0 +1,42 @@ +import React from 'react'; +import { Modal, ScrollView, Text, View } from 'react-native'; +import styles from './styles'; +import {FloatingIconButton} from "../FloatingIconButton"; + +export const ModalComponent = (props) => { + return ( + props.setVisible(false)} + animationType="fade" + > + + + { + props.setVisible(false); + }} + /> + + {props.list.map((numbers) => { + return ( + + + {' '} + {numbers.description}{' '} + + + {' '} + {numbers.number}{' '} + + + ); + })} + + + + + ); +}; diff --git a/app/.yalc/information-center/src/components/EmergencyNumbers/styles.js b/app/.yalc/information-center/src/components/EmergencyNumbers/styles.js new file mode 100644 index 000000000..c7a978e7e --- /dev/null +++ b/app/.yalc/information-center/src/components/EmergencyNumbers/styles.js @@ -0,0 +1,47 @@ +import { StyleSheet } from 'react-native'; +import colors from '../../styles/colors'; + +const minimumTextSize = 16; + +const styles = StyleSheet.create({ + modalContainer: { + width: '100%', + height: '100%', + backgroundColor: 'rgba(0,0,0,0.3)', + }, + + modalContent: { + paddingTop: 50, + backgroundColor: colors.light, + padding: 20, + marginBottom: 50, + borderRadius: 20, + top: '2.5%', + }, + + title: { + alignSelf: 'center', + marginBottom: 10, + fontFamily: 'montserrat-semibold', + color: colors.primary.DEFAULT, + fontSize: minimumTextSize * 1.5, + }, + + description: { + alignSelf: 'center', + textAlign: 'center', + marginBottom: 10, + fontFamily: 'montserrat-semibold', + color: colors.primary.DEFAULT, + fontSize: minimumTextSize, + }, + + icon: { + top: '5.5%', + right: 20, + position: 'absolute', + zIndex: 5, + }, +}); + +export default styles; diff --git a/app/.yalc/information-center/src/components/FloatingIconButton/index.jsx b/app/.yalc/information-center/src/components/FloatingIconButton/index.jsx new file mode 100644 index 000000000..f2e75e0df --- /dev/null +++ b/app/.yalc/information-center/src/components/FloatingIconButton/index.jsx @@ -0,0 +1,26 @@ +import React from 'react'; +import { View } from 'react-native'; +import { CircleIconButton } from 'design-system'; +import tw from '../../utils/tailwind'; + +export const FloatingIconButton = ({ + position = 'left', + iconName, + onPress, + customTop = null, + iconSize, + color, +}) => { + const convertPosition = `${position}-2`; + const positionY = customTop || 'top-2'; + return ( + + + + ); +}; diff --git a/app/.yalc/information-center/src/components/SliderModal/index.jsx b/app/.yalc/information-center/src/components/SliderModal/index.jsx new file mode 100644 index 000000000..0a576e7ca --- /dev/null +++ b/app/.yalc/information-center/src/components/SliderModal/index.jsx @@ -0,0 +1,31 @@ +import React from 'react'; +import { Modal, Pressable, Text } from 'react-native'; +import Onboarding from 'react-native-onboarding-swiper'; +import tw from '../../utils/tailwind'; + +export const SliderModal = ({ pages, visible, closeModal }) => { + const textButton = ({ onPress, nextLabel, skipLabel }) => ( + + + {nextLabel || skipLabel} + + + ); + + return ( + + + textButton({ nextLabel: 'Finalizar', ...props }) + } + /> + + ); +}; diff --git a/app/.yalc/information-center/src/components/TutorialCard/index.jsx b/app/.yalc/information-center/src/components/TutorialCard/index.jsx new file mode 100644 index 000000000..73dfa7a8e --- /dev/null +++ b/app/.yalc/information-center/src/components/TutorialCard/index.jsx @@ -0,0 +1,37 @@ +import React from 'react'; +import { Image, Pressable, Text, View } from 'react-native'; +import colors from '../../styles/colors'; +import blueCat from "../../assets/blueCat.png"; +import styles from './style'; +import tw from '../../utils/tailwind'; +export const TutorialCard = ({ + title, + description, + onPress, + margin = '', + leftAligment = true, +}) => { + const flexRow = leftAligment ? 'flex-row' : 'flex-row-reverse'; + return ( + + + + + {title} + + + {description} + + + + ); +}; diff --git a/app/.yalc/information-center/src/components/TutorialCard/style.js b/app/.yalc/information-center/src/components/TutorialCard/style.js new file mode 100644 index 000000000..b7aed817e --- /dev/null +++ b/app/.yalc/information-center/src/components/TutorialCard/style.js @@ -0,0 +1,11 @@ +import { StyleSheet } from 'react-native'; + +const styles = StyleSheet.create({ + image: { + resizeMode: 'contain', + height: 80, + width: '20%' + }, +}) + +export default styles; \ No newline at end of file diff --git a/app/src/pages/InformationsCenter/index.jsx b/app/.yalc/information-center/src/pages/InformationsCenter/index.jsx similarity index 76% rename from app/src/pages/InformationsCenter/index.jsx rename to app/.yalc/information-center/src/pages/InformationsCenter/index.jsx index 3c0cbaf8b..d7e0dfe2a 100644 --- a/app/src/pages/InformationsCenter/index.jsx +++ b/app/.yalc/information-center/src/pages/InformationsCenter/index.jsx @@ -1,11 +1,13 @@ import React, { useState } from 'react'; import { View } from 'react-native'; -import faqOption from '../../docs/FAQ/faqOptions'; -import { TutorialCard } from '../../components/molecules/TutorialCard'; -import { SliderModal } from '../../components/organisms/SliderModal'; -import EmergencyNumbers from '../../components/FAQModals/EmergencyNumbersModal'; +import faqOption from '../../utils/docs/FAQ/faqOptions'; +import { TutorialCard } from '../../components/TutorialCard'; +import { SliderModal } from '../../components/SliderModal'; +import EmergencyNumbers from '../../components/EmergencyNumbers'; +import tw from '../../utils/tailwind'; -export default function InformationsCenter() { + +export const InformationsCenter = () => { const [pages, setPages] = useState([]); const [modalVisible, setModalVisible] = useState(false); const [emergencyNumbersVisible, setEmergencyNumbersVisible] = @@ -18,7 +20,7 @@ export default function InformationsCenter() { }; return ( - + ))} - ); + ) } diff --git a/app/.yalc/information-center/src/styles/colors.js b/app/.yalc/information-center/src/styles/colors.js new file mode 100644 index 000000000..65990c6f4 --- /dev/null +++ b/app/.yalc/information-center/src/styles/colors.js @@ -0,0 +1,50 @@ +module.exports = { + primary: { + DEFAULT: 'rgba(75, 138, 185, 1)', + 100: 'rgba(75, 138, 185, 0.1)', + 200: 'rgba(75, 138, 185, 0.2)', + 300: 'rgba(75, 138, 185, 0.3)', + 400: 'rgba(75, 138, 185, 0.4)', + 500: 'rgba(75, 138, 185, 0.5)', + 600: 'rgba(75, 138, 185, 0.6)', + 700: 'rgba(75, 138, 185, 0.7)', + 800: 'rgba(75, 138, 185, 0.8)', + 900: 'rgba(75, 138, 185, 0.9)', + contrast: '#81b0ff', + darker: '#182C3B', + }, + secondary: { + DEFAULT: '#f7ef6e', + 500: '#FAD980', + }, + danger: { + DEFAULT: 'rgba(228, 113, 113, 1)', + 100: 'rgba(228, 113, 113, 0.1)', + 200: 'rgba(228, 113, 113, 0.2)', + 300: 'rgba(228, 113, 113, 0.3)', + darker: '#681111', + }, + black: { + DEFAULT: 'rgba(53,53,53,1)', + 100: 'rgba(53,53,53,0.1)', + 200: 'rgba(53,53,53,0.2)', + 300: 'rgba(53,53,53,0.3)', + 400: 'rgba(53,53,53,0.4)', + 500: 'rgba(53,53,53,0.5)', + 600: 'rgba(53,53,53,0.6)', + 700: 'rgba(53,53,53,0.7)', + 800: 'rgba(53,53,53,0.8)', + 900: 'rgba(53,53,53,0.9)', + }, + light: '#f7f7f7', + success: '#77dd77', + background: '#f1f1f1', + new_background: '#F2F2F7', + gray: { + DEFAULT: '#e6e6e6', + contrast: '#D2D2D2', + }, + 'first-rank': '#BF6159', + 'second-rank': '#538D95', + 'thirt-rank': '#D0A408', +}; diff --git a/app/.yalc/information-center/src/styles/fonts.js b/app/.yalc/information-center/src/styles/fonts.js new file mode 100644 index 000000000..80088fd62 --- /dev/null +++ b/app/.yalc/information-center/src/styles/fonts.js @@ -0,0 +1,31 @@ +import colors from './colors'; +import { RFValue } from 'react-native-responsive-fontsize'; + +const minimumTextSize = 14; +const fontFamily = 'montserrat-regular'; +const defaultProps = { + color: colors.dark, + fontFamily: fontFamily, +}; + +const fonts = { + title: { + ...defaultProps, + fontSize: RFValue(minimumTextSize * 1.5, 640), + }, + subtitle: { + ...defaultProps, + fontSize: RFValue(minimumTextSize * 1.2, 640), + }, + body: { + ...defaultProps, + fontSize: RFValue(minimumTextSize, 640), + }, + + small: { + ...defaultProps, + fontSize: RFValue(minimumTextSize * 0.75, 640), + }, +}; + +export default fonts; diff --git a/app/.yalc/information-center/src/utils/docs/FAQ/EmergencyNumbers.js b/app/.yalc/information-center/src/utils/docs/FAQ/EmergencyNumbers.js new file mode 100644 index 000000000..2bbfb0f82 --- /dev/null +++ b/app/.yalc/information-center/src/utils/docs/FAQ/EmergencyNumbers.js @@ -0,0 +1,19 @@ +const emergencyNumbers = [ + { id: '1', number: '100', description: 'Disque Direitos Humanos' }, + { id: '2', number: '156', description: 'Governo no Distrito Federal' }, + { + id: '3', + number: '180', + description: 'Delegacias especializadas de atendimento à mulher', + }, + { id: '4', number: '181', description: 'Disque Denúncia (Geral)' }, + { id: '5', number: '190', description: 'Polícia Militar' }, + { id: '6', number: '191', description: 'Polícia Rodoviária Federal' }, + { id: '7', number: '192', description: 'SAMU' }, + { id: '8', number: '193', description: 'Corpo de Bombeiros' }, + { id: '9', number: '194', description: 'Polícia Federal' }, + { id: '10', number: '197', description: 'Polícia Civil' }, + { id: '11', number: '(61) 3207-4242', description: 'DECRIN' }, +]; + +export default emergencyNumbers; diff --git a/app/.yalc/information-center/src/utils/docs/FAQ/faqOptions.jsx b/app/.yalc/information-center/src/utils/docs/FAQ/faqOptions.jsx new file mode 100644 index 000000000..b4627c29f --- /dev/null +++ b/app/.yalc/information-center/src/utils/docs/FAQ/faqOptions.jsx @@ -0,0 +1,59 @@ +import { getSliderBody } from '../../getSliderBody'; + +const faqOptions = [ + { + id: 1, + title: 'Como criar um pedido oferta ou campanha?', + description: + 'Não sabe como criar um pedido oferta ou campanha? Clique aqui para entender melhor como fazer.', + pages: [ + getSliderBody( + 1, + 'Entrar na página de pedidos e ofertas', + 'Clique no ícone "Menu" para abrir a navegação e selecione a aba "Meus Pedidos e Ofertas.', + ), + getSliderBody( + 2, + 'Entrar na aba de meus pedidos ou minhas ofertas', + 'Se você quer criar um pedido, deve entrar na aba de meu pedidos, caso queria uma oferta, na aba de ofertas.', + ), + getSliderBody( + 3, + 'Clicar no botão de criação e preencher os dados', + 'Por fim, basta você clicar no botão Criar Oferta / pedido e preencher todos os dados requisitados.', + ), + ], + }, + { + id: 2, + title: 'Como interagir com um pedido, oferta ou campanha?', + description: + 'Está com dúvidas em como interagir com um pedido oferta ou campanha? Clique aqui para entender melhor como fazer.', + pages: [ + getSliderBody( + 1, + 'Entrar na página Mapa', + 'Clique no ícone "Menu" para abrir a navegação e selecione a aba "Mapa"', + ), + getSliderBody( + 2, + 'Procurar pedido, oferta ou campanha', + 'No mapa aparecerão alguns marcadores indicando pedidos, campanhas e ofertas, além de uma lista inferior com esses pedidos.', + ), + getSliderBody( + 3, + 'Clicar no pedido, oferta ou campanha', + 'Clique no marcador ou na lista inferior para abrir a página do pedido, oferta ou campanha.', + ), + ], + }, + { + id: 3, + title: 'Contatos Importantes', + description: + 'Lista dos principais contatos que você pode utilizar em uma situação de emergência.', + emergencyModal: true, + }, +]; + +export default faqOptions; diff --git a/app/.yalc/information-center/src/utils/getSliderBody.jsx b/app/.yalc/information-center/src/utils/getSliderBody.jsx new file mode 100644 index 000000000..294e2903d --- /dev/null +++ b/app/.yalc/information-center/src/utils/getSliderBody.jsx @@ -0,0 +1,21 @@ +import React from 'react'; +import Step1 from '../assets/Step1.svg'; +import Step2 from '../assets/Step2.svg'; +import Step3 from '../assets/Step3.svg'; +import colors from '../styles/colors'; +import { SliderDescription, SliderTitle } from 'design-system'; + +export const getSliderBody = (index, title, subtitle) => { + const stepImages = { + 1: , + 2: , + 3: , + }; + const image = stepImages[index]; + return { + backgroundColor: colors.light, + image, + title: , + subtitle: , + }; +}; diff --git a/app/.yalc/information-center/src/utils/tailwind.js b/app/.yalc/information-center/src/utils/tailwind.js new file mode 100644 index 000000000..4589b8528 --- /dev/null +++ b/app/.yalc/information-center/src/utils/tailwind.js @@ -0,0 +1,5 @@ +import { create } from 'twrnc'; + +const tw = create(require(`../../tailwind.config.js`)); + +export default tw; diff --git a/app/.yalc/information-center/tailwind.config.js b/app/.yalc/information-center/tailwind.config.js new file mode 100644 index 000000000..e49246d8a --- /dev/null +++ b/app/.yalc/information-center/tailwind.config.js @@ -0,0 +1,24 @@ +const colors = require('./src/styles/colors'); + +module.exports = { + content: ['./index.{js,jsx,ts,tsx}', './src/**/*.{js,jsx,ts,tsx}'], + theme: { + extend: { + colors: colors, + spacing: { + 38: '9.5rem', + }, + fontSize: { + xss: '10px', + }, + }, + fontFamily: { + 'ms-bold': ['montserrat-bold'], + 'ms-semibold': ['montserrat-semibold'], + 'ms-medium': ['montserrat-medium'], + 'ms-regular': ['montserrat-regular'], + 'ms-light': ['montserrat-light'], + }, + }, + plugins: [], +}; diff --git a/app/.yalc/information-center/tsconfig.json b/app/.yalc/information-center/tsconfig.json new file mode 100644 index 000000000..909e90108 --- /dev/null +++ b/app/.yalc/information-center/tsconfig.json @@ -0,0 +1,17 @@ +{ + "extends": "expo/tsconfig.base", + "compilerOptions": { + "strict": true, + "paths": { + "@/*": [ + "./*" + ] + } + }, + "include": [ + "**/*.ts", + "**/*.tsx", + ".expo/types/**/*.ts", + "expo-env.d.ts" + ] +} diff --git a/app/.yalc/information-center/yalc.sig b/app/.yalc/information-center/yalc.sig new file mode 100644 index 000000000..901fa3410 --- /dev/null +++ b/app/.yalc/information-center/yalc.sig @@ -0,0 +1 @@ +90c05b507d2d0360a937804a1ec5cd64 \ No newline at end of file diff --git a/app/package.json b/app/package.json index 3d6fc0bff..6741f9779 100644 --- a/app/package.json +++ b/app/package.json @@ -20,6 +20,7 @@ "@react-navigation/native": "^6.1.6", "@react-navigation/stack": "^6.3.16", "axios": "^1.4.0", + "design-system": "file:.yalc/design-system", "expo": "~48.0.18", "expo-camera": "~13.2.1", "expo-device": "~5.2.1", @@ -29,6 +30,7 @@ "expo-status-bar": "~1.4.4", "firebase": "^9.22.2", "formik": "^2.4.1", + "information-center": "file:.yalc/information-center", "jwt-decode": "^3.1.2", "moment": "^2.29.4", "nativewind": "^2.0.11", @@ -68,7 +70,8 @@ "lint-staged": "^13.2.2", "prettier": "^2.8.8", "react-native-dotenv": "^3.4.8", - "tailwindcss": "^3.3.2" + "tailwindcss": "^3.3.2", + "twrnc": "^4.3.0" }, "private": true } diff --git a/app/src/Navigation/MainNavigation/index.jsx b/app/src/Navigation/MainNavigation/index.jsx index a64fdd71c..6967dd51a 100644 --- a/app/src/Navigation/MainNavigation/index.jsx +++ b/app/src/Navigation/MainNavigation/index.jsx @@ -4,7 +4,7 @@ import { drawerScreenOptions } from './options'; import Routes from './Routes'; import { CustomDrawerContent } from '../../components/templates/CustomDrawerContent'; import { UserContext } from '../../store/contexts/userContext'; -import InformationsCenter from '../../pages/InformationsCenter'; +import { InformationsCenter } from 'information-center'; import headerStyle from './MainNavigationStyles/MainStackHeaderStyle'; const Drawer = createDrawerNavigator(); diff --git a/app/src/components/UserItem/index.jsx b/app/src/components/UserItem/index.jsx index 3b96211e0..6f6360577 100644 --- a/app/src/components/UserItem/index.jsx +++ b/app/src/components/UserItem/index.jsx @@ -2,7 +2,7 @@ import { useNavigation } from '@react-navigation/native'; import React from 'react'; import { View, Image, Text, Pressable } from 'react-native'; import shortenName, { untilTwoLastNames } from '../../utils/shortenName'; -import { RoundedFullButton } from '../atoms/RoundedFullButton'; +import { RoundedFullButton } from 'design-system'; const UserItem = ({ user, showButton = false, onPress }) => { const navigation = useNavigation(); diff --git a/app/src/components/modals/ActivityBottomSheet/EntityActivity.jsx b/app/src/components/modals/ActivityBottomSheet/EntityActivity.jsx index 00c1d1160..8b4799141 100644 --- a/app/src/components/modals/ActivityBottomSheet/EntityActivity.jsx +++ b/app/src/components/modals/ActivityBottomSheet/EntityActivity.jsx @@ -3,8 +3,7 @@ import colors from '../../../../colors'; import { Icon } from 'react-native-elements'; import { Text, View } from 'react-native'; import shortenName from '../../../utils/shortenName'; -import { DefaultButton } from '../../atoms/DefaultButton'; -import { CategoriesList } from '../../molecules/CategoriesList'; +import { DefaultButton, CategoriesList } from 'design-system'; import openWhatsapp from '../../../utils/openWhatsapp'; import { openMaps } from '../../../utils/openMaps'; diff --git a/app/src/components/modals/ActivityBottomSheet/FilterActivity.jsx b/app/src/components/modals/ActivityBottomSheet/FilterActivity.jsx index 8687834a7..b9d8958ad 100644 --- a/app/src/components/modals/ActivityBottomSheet/FilterActivity.jsx +++ b/app/src/components/modals/ActivityBottomSheet/FilterActivity.jsx @@ -2,13 +2,11 @@ import React, { useContext, useRef, useState } from 'react'; import { BaseBottomSheet } from '../BaseBottomSheet'; import { Dimensions, Text, View } from 'react-native'; import { Icon } from 'react-native-elements'; -import { Chips } from '../../atoms/Chips'; -import { DefaultButton } from '../../atoms/DefaultButton'; +import { Chips, DefaultButton, ViewWithDivider } from 'design-system'; import { CategoryContext } from '../../../store/contexts/categoryContext'; import filterButtonTypes from '../../../docs/filterMarkers'; import colors from '../../../../colors'; import { ActivitiesContext } from '../../../store/contexts/activitiesContext'; -import { ViewWithDivider } from '../../atoms/ViewWithDivider'; const filterTitle = (title, icon) => ( diff --git a/app/src/components/modals/ActivityBottomSheet/UserActivity/index.jsx b/app/src/components/modals/ActivityBottomSheet/UserActivity/index.jsx index c19d75d43..39953cd3f 100644 --- a/app/src/components/modals/ActivityBottomSheet/UserActivity/index.jsx +++ b/app/src/components/modals/ActivityBottomSheet/UserActivity/index.jsx @@ -4,7 +4,7 @@ import { Icon } from 'react-native-elements'; import { ProfilePhoto } from '../../../molecules/ProfilePhoto'; import getYearsSince from '../../../../utils/getYearsSince'; import shortenName from '../../../../utils/shortenName'; -import { CategoriesList } from '../../../molecules/CategoriesList'; +import { CategoriesList } from 'design-system'; import getActivityIcon from '../../../../utils/getActivityIcon'; import Button from '../../../UI/button'; import colors from '../../../../../colors'; diff --git a/app/src/components/modals/BadgeEarnModal/index.jsx b/app/src/components/modals/BadgeEarnModal/index.jsx index 0a18ff8e7..222b700cd 100644 --- a/app/src/components/modals/BadgeEarnModal/index.jsx +++ b/app/src/components/modals/BadgeEarnModal/index.jsx @@ -1,6 +1,6 @@ import React, { useEffect, useState } from 'react'; import { BaseModal } from '../BaseModal'; -import { CircleBadge } from '../../atoms/CircleBadge'; +import { CircleBadge } from 'design-system'; import { Text, View } from 'react-native'; import Button from '../../UI/button'; diff --git a/app/src/components/molecules/BadgeCard/index.jsx b/app/src/components/molecules/BadgeCard/index.jsx index 376fabbf3..2016637a1 100644 --- a/app/src/components/molecules/BadgeCard/index.jsx +++ b/app/src/components/molecules/BadgeCard/index.jsx @@ -1,6 +1,6 @@ import React from 'react'; import { Text, View } from 'react-native'; -import { CircleBadge } from '../../atoms/CircleBadge'; +import { CircleBadge } from 'design-system'; export const BadgeCard = ({ badgeTemplate, diff --git a/app/src/components/molecules/CustomHeader/index.jsx b/app/src/components/molecules/CustomHeader/index.jsx index c967bb24e..c93a1b8b3 100644 --- a/app/src/components/molecules/CustomHeader/index.jsx +++ b/app/src/components/molecules/CustomHeader/index.jsx @@ -1,8 +1,7 @@ import React from 'react'; import { Text, View } from 'react-native'; -import { IconButton } from '../../atoms/IconButton'; +import { IconButton, RoundedFullButton } from 'design-system'; import { styles } from './styles'; -import { RoundedFullButton } from '../../atoms/RoundedFullButton'; export const CustomHeader = ({ title, navigation, iconType, buttonProps }) => { const isDrawerButton = iconType == 'drawer'; diff --git a/app/src/components/molecules/DefaultButtonWithBagdes/index.jsx b/app/src/components/molecules/DefaultButtonWithBagdes/index.jsx index 279b5590b..531e0095f 100644 --- a/app/src/components/molecules/DefaultButtonWithBagdes/index.jsx +++ b/app/src/components/molecules/DefaultButtonWithBagdes/index.jsx @@ -1,7 +1,7 @@ import React from 'react'; import { Text, View } from 'react-native'; import { Badge } from 'react-native-elements'; -import { DefaultButton } from '../../atoms/DefaultButton'; +import { DefaultButton } from 'design-system'; import styles from '../../../../assets/styles/helpDescription'; export const DefaultButtonWithBadges = ({ diff --git a/app/src/components/molecules/FloatingIconButton/index.jsx b/app/src/components/molecules/FloatingIconButton/index.jsx index 1ba54edbf..05dc4b571 100644 --- a/app/src/components/molecules/FloatingIconButton/index.jsx +++ b/app/src/components/molecules/FloatingIconButton/index.jsx @@ -1,6 +1,6 @@ import React from 'react'; import { View } from 'react-native'; -import { CircleIconButton } from '../../atoms/CircleIconButton'; +import { CircleIconButton } from 'design-system'; export const FloatingIconButton = ({ position = 'left', diff --git a/app/src/components/molecules/TextSwitch/index.jsx b/app/src/components/molecules/TextSwitch/index.jsx index 01be6a201..498882501 100644 --- a/app/src/components/molecules/TextSwitch/index.jsx +++ b/app/src/components/molecules/TextSwitch/index.jsx @@ -1,6 +1,6 @@ import React from 'react'; import { View } from 'react-native'; -import { TextSwitchButton } from '../../atoms/TextSwitchButton'; +import { TextSwitchButton } from 'design-system'; export const TextSwitch = ({ option1, diff --git a/app/src/components/molecules/TimelineItem/index.jsx b/app/src/components/molecules/TimelineItem/index.jsx index e8889a13d..589f8fbe2 100644 --- a/app/src/components/molecules/TimelineItem/index.jsx +++ b/app/src/components/molecules/TimelineItem/index.jsx @@ -1,6 +1,6 @@ import React from 'react'; import { Image, Text, View } from 'react-native'; -import { Divider } from '../../atoms/Divider'; +import { Divider } from 'design-system'; export const TimelineItem = ({ data, hasImage }) => { return ( diff --git a/app/src/components/molecules/UserListItem/index.jsx b/app/src/components/molecules/UserListItem/index.jsx index 3e56a6660..30267a3fb 100644 --- a/app/src/components/molecules/UserListItem/index.jsx +++ b/app/src/components/molecules/UserListItem/index.jsx @@ -4,7 +4,7 @@ import { styles } from './styles'; import { SocialNetworkProfileContext } from '../../../store/contexts/socialNetworkProfileContext'; import { LoadingContext } from '../../../store/contexts/loadingContext'; import shortenName from '../../../utils/shortenName'; -import { RoundedFullButton } from '../../atoms/RoundedFullButton'; +import { RoundedFullButton } from 'design-system'; import { UserContext } from '../../../store/contexts/userContext'; import { ProfilePhoto } from '../ProfilePhoto'; diff --git a/app/src/components/organisms/ActivityCard/index.jsx b/app/src/components/organisms/ActivityCard/index.jsx index 7d25c431e..b815ada98 100644 --- a/app/src/components/organisms/ActivityCard/index.jsx +++ b/app/src/components/organisms/ActivityCard/index.jsx @@ -1,7 +1,7 @@ import React, { useContext } from 'react'; import { Pressable, Text, View } from 'react-native'; import { Icon } from 'react-native-elements'; -import Badge from '../../molecules/Badge'; +import { Badge } from 'design-system'; import getActivityIcon from '../../../utils/getActivityIcon'; import SeedlingIcon from '../../../../assets/images/Seedling'; import isRecentDate from '../../../utils/isRecentDate'; diff --git a/app/src/components/organisms/AddressForm/index.jsx b/app/src/components/organisms/AddressForm/index.jsx index 554ee0a4f..41b66b88b 100644 --- a/app/src/components/organisms/AddressForm/index.jsx +++ b/app/src/components/organisms/AddressForm/index.jsx @@ -1,7 +1,7 @@ import React, { useContext } from 'react'; import { View } from 'react-native'; import { UserContext } from '../../../store/contexts/userContext'; -import { Input } from '../../atoms/Input'; +import { Input } from 'design-system'; import { useFormik } from 'formik'; import { initialValues, schema } from './constructor'; import Button from '../../UI/button'; diff --git a/app/src/components/organisms/BadgesList/index.jsx b/app/src/components/organisms/BadgesList/index.jsx index 123117bad..7d0695dce 100644 --- a/app/src/components/organisms/BadgesList/index.jsx +++ b/app/src/components/organisms/BadgesList/index.jsx @@ -2,7 +2,7 @@ import React from 'react'; import { NotFound } from '../NotFound'; import { HorizontalList } from '../HorizontalList'; import { useNavigation } from '@react-navigation/native'; -import { BadgeCard } from '../../molecules/BadgeCard'; +import { BadgeCard } from 'design-system'; export const BadgesList = ({ badges, userId }) => { const navigation = useNavigation(); diff --git a/app/src/components/organisms/CustomDrawerList/index.jsx b/app/src/components/organisms/CustomDrawerList/index.jsx index e267405c6..f64e3874a 100644 --- a/app/src/components/organisms/CustomDrawerList/index.jsx +++ b/app/src/components/organisms/CustomDrawerList/index.jsx @@ -2,7 +2,7 @@ import { CommonActions, DrawerActions } from '@react-navigation/native'; import * as React from 'react'; import { View } from 'react-native'; import { RFValue } from 'react-native-responsive-fontsize'; -import { Divider } from '../../atoms/Divider'; +import { Divider } from 'design-system'; import { CustomDrawerItem } from '../../molecules/CustomDrawerItem'; import { styles } from './styles'; diff --git a/app/src/components/organisms/DefaultCamera/index.jsx b/app/src/components/organisms/DefaultCamera/index.jsx index 13d501250..5ca07d406 100644 --- a/app/src/components/organisms/DefaultCamera/index.jsx +++ b/app/src/components/organisms/DefaultCamera/index.jsx @@ -1,7 +1,7 @@ import { Camera, CameraType } from 'expo-camera'; import React from 'react'; import { Image, Text, View } from 'react-native'; -import { DefaultButton } from '../../atoms/DefaultButton'; +import { DefaultButton } from 'design-system'; export const DefaultCamera = ({ cameraRef, diff --git a/app/src/components/organisms/PersonalDataForm/index.jsx b/app/src/components/organisms/PersonalDataForm/index.jsx index 310cee18a..a2479b2b7 100644 --- a/app/src/components/organisms/PersonalDataForm/index.jsx +++ b/app/src/components/organisms/PersonalDataForm/index.jsx @@ -1,7 +1,7 @@ import React, { useContext } from 'react'; import { View } from 'react-native'; import { UserContext } from '../../../store/contexts/userContext'; -import { Input } from '../../atoms/Input'; +import { Input } from 'design-system'; import { useFormik } from 'formik'; import { initialValues, schema } from './constructor'; import Button from '../../UI/button'; diff --git a/app/src/components/profileList/index.jsx b/app/src/components/profileList/index.jsx index eb7144921..9f53b8044 100644 --- a/app/src/components/profileList/index.jsx +++ b/app/src/components/profileList/index.jsx @@ -2,7 +2,7 @@ import React from 'react'; import { View, Pressable } from 'react-native'; import styles from './styles'; import { UserListItem } from '../molecules/UserListItem'; -import { Divider } from '../atoms/Divider'; +import { Divider } from 'design-system'; import { useNavigation } from '@react-navigation/native'; export default function ProfileList({ usersProfile, filterList = false }) { diff --git a/app/src/components/templates/CustomDrawerContent/index.jsx b/app/src/components/templates/CustomDrawerContent/index.jsx index 622f53299..82a975d56 100644 --- a/app/src/components/templates/CustomDrawerContent/index.jsx +++ b/app/src/components/templates/CustomDrawerContent/index.jsx @@ -6,7 +6,7 @@ import { UserContext } from '../../../store/contexts/userContext'; import CustomDrawerItemList from '../../organisms/CustomDrawerList/'; import styles from './styles'; import { UserCard } from '../../molecules/UserCard'; -import { Divider } from '../../atoms/Divider'; +import { Divider } from 'design-system'; export function CustomDrawerContent(props) { const { user } = useContext(UserContext); diff --git a/app/src/components/templates/HelpScreenLayout/index.jsx b/app/src/components/templates/HelpScreenLayout/index.jsx index bb091891c..ecf19957f 100644 --- a/app/src/components/templates/HelpScreenLayout/index.jsx +++ b/app/src/components/templates/HelpScreenLayout/index.jsx @@ -2,9 +2,8 @@ import React, { Fragment } from 'react'; import { ScrollView, Text, TouchableOpacity, View } from 'react-native'; import CustomMap from '../../CustomMap'; import { Icon } from 'react-native-elements'; -import { CategoriesList } from '../../molecules/CategoriesList'; import { BordedScreenLayout } from '../BordedScreenLayout'; -import { InformativeField } from '../../atoms/InformativeField'; +import { InformativeField, CategoriesList } from 'design-system'; import { ActivityMarker } from '../../molecules/ActivityMarker'; export function HelpScreenLayout({ diff --git a/app/src/pages/ActivitiesPages/MyOfferedHelp/MyOfferHelpDescription/index.jsx b/app/src/pages/ActivitiesPages/MyOfferedHelp/MyOfferHelpDescription/index.jsx index f5c59a96c..eec07d78a 100644 --- a/app/src/pages/ActivitiesPages/MyOfferedHelp/MyOfferHelpDescription/index.jsx +++ b/app/src/pages/ActivitiesPages/MyOfferedHelp/MyOfferHelpDescription/index.jsx @@ -5,7 +5,7 @@ import { alertSuccess } from '../../../../utils/Alert'; import { UserContext } from '../../../../store/contexts/userContext'; import callService from '../../../../services/callService'; import { ExpansiveModal } from '../../../../components/modals/expansiveModal'; -import { DefaultButtonWithBadges } from '../../../../components/molecules/DefaultButtonWithBagdes'; +import { DefaultButtonWithBadges } from 'design-system'; import { LoadingContext } from '../../../../store/contexts/loadingContext'; import { HelpScreenLayout } from '../../../../components/templates/HelpScreenLayout'; import { Dialog } from '../../../../components/molecules/Dialog'; diff --git a/app/src/pages/ActivitiesPages/MyRequestedHelp/MyRequestHelpDescription/FeedbackModal/index.jsx b/app/src/pages/ActivitiesPages/MyRequestedHelp/MyRequestHelpDescription/FeedbackModal/index.jsx index efab5bd41..10869232c 100644 --- a/app/src/pages/ActivitiesPages/MyRequestedHelp/MyRequestHelpDescription/FeedbackModal/index.jsx +++ b/app/src/pages/ActivitiesPages/MyRequestedHelp/MyRequestHelpDescription/FeedbackModal/index.jsx @@ -1,8 +1,8 @@ import React from 'react'; import { BaseModal } from '../../../../../components/modals/BaseModal'; import { Text, View } from 'react-native'; -import { Input } from '../../../../../components/atoms/Input'; -import { DefaultButton } from '../../../../../components/atoms/DefaultButton'; +import { Input } from 'design-system'; +import { DefaultButton } from 'design-system'; export const FeedbackModal = ({ setShowFeedbackModal, diff --git a/app/src/pages/ActivitiesPages/MyRequestedHelp/MyRequestHelpDescription/index.jsx b/app/src/pages/ActivitiesPages/MyRequestedHelp/MyRequestHelpDescription/index.jsx index ba32fd412..10ebac240 100644 --- a/app/src/pages/ActivitiesPages/MyRequestedHelp/MyRequestHelpDescription/index.jsx +++ b/app/src/pages/ActivitiesPages/MyRequestedHelp/MyRequestHelpDescription/index.jsx @@ -1,6 +1,6 @@ import React, { Fragment, useCallback, useContext, useState } from 'react'; import { View, ScrollView, Text } from 'react-native'; -import { DefaultButtonWithBadges } from '../../../../components/molecules/DefaultButtonWithBagdes'; +import { DefaultButtonWithBadges, DefaultButton } from 'design-system'; import { HelpScreenLayout } from '../../../../components/templates/HelpScreenLayout'; import { UserContext } from '../../../../store/contexts/userContext'; import callService from '../../../../services/callService'; @@ -8,7 +8,6 @@ import helpService from '../../../../services/Help'; import { LoadingContext } from '../../../../store/contexts/loadingContext'; import { ExpansiveModal } from '../../../../components/modals/expansiveModal'; import { UserProfileCard } from '../../../../components/atoms/UserProfileCard'; -import { DefaultButton } from '../../../../components/atoms/DefaultButton'; import openWhatsapp from '../../../../utils/openWhatsapp'; import callNumber from '../../../../utils/callNumber'; import { HelpContext } from '../../../../store/contexts/helpContext'; diff --git a/app/src/pages/EditProfile/index.jsx b/app/src/pages/EditProfile/index.jsx index c5e8d60d5..3d0c6cc91 100644 --- a/app/src/pages/EditProfile/index.jsx +++ b/app/src/pages/EditProfile/index.jsx @@ -4,7 +4,7 @@ import { TextSwitch } from '../../components/molecules/TextSwitch'; import { PersonalDataForm } from '../../components/organisms/PersonalDataForm'; import { UserContext } from '../../store/contexts/userContext'; import { alertMessage, alertSuccess } from '../../utils/Alert'; -import { TextButton } from '../../components/atoms/TextButton'; +import { TextButton } from 'design-system'; import { LoadingContext } from '../../store/contexts/loadingContext'; import actions from '../../store/actions'; import { AddressForm } from '../../components/organisms/AddressForm'; diff --git a/app/src/pages/FindUsersPages/index.jsx b/app/src/pages/FindUsersPages/index.jsx index 6f3b07a3a..7953976a0 100644 --- a/app/src/pages/FindUsersPages/index.jsx +++ b/app/src/pages/FindUsersPages/index.jsx @@ -6,7 +6,7 @@ import socialNetworkProfileservice from '../../services/socialNetworkProfile'; import { UserContext } from '../../store/contexts/userContext'; import ProfileList from '../../components/profileList'; import { useFocusEffect } from '@react-navigation/native'; -import { SearchBar } from '../../components/atoms/SearchBar'; +import { SearchBar } from 'design-system'; import { LoadingContext } from '../../store/contexts/loadingContext'; import { NotFound } from '../../components/organisms/NotFound'; diff --git a/app/src/pages/InformationsCenter/styles.js b/app/src/pages/InformationsCenter/styles.js deleted file mode 100644 index cee108cd4..000000000 --- a/app/src/pages/InformationsCenter/styles.js +++ /dev/null @@ -1,17 +0,0 @@ -import { StyleSheet } from 'react-native'; - -const styles = StyleSheet.create({ - container: { - flex: 1, - }, - - cardsDirections: { - height: '90%', - flexDirection: 'row', - flexWrap: 'wrap', - justifyContent: 'center', - alignContent: 'center', - }, -}); - -export default styles; diff --git a/app/src/pages/Main/MapScreen.jsx b/app/src/pages/Main/MapScreen.jsx index 846ce390a..53247f484 100644 --- a/app/src/pages/Main/MapScreen.jsx +++ b/app/src/pages/Main/MapScreen.jsx @@ -8,7 +8,7 @@ import React, { import { StatusBar, View } from 'react-native'; import { ScreenTemplateContext } from '../../store/contexts/ScreenTemplateContext'; import { FloatingIconButton } from '../../components/molecules/FloatingIconButton'; -import { Chips } from '../../components/atoms/Chips'; +import { Chips } from 'design-system'; import { ActivitiesFilterBottomSheet } from '../../components/modals/ActivityBottomSheet/FilterActivity'; import { LoadingContext } from '../../store/contexts/loadingContext'; import { ActivityBottomSheetContext } from '../../store/contexts/activityBottomSheetContext'; diff --git a/app/src/pages/Main/index.jsx b/app/src/pages/Main/index.jsx index 949ba00bd..0c8a716c7 100755 --- a/app/src/pages/Main/index.jsx +++ b/app/src/pages/Main/index.jsx @@ -9,7 +9,7 @@ import { View, Text, Pressable, Dimensions } from 'react-native'; import { UserContext } from '../../store/contexts/userContext'; import createInteraction from '../../utils/createInteraction'; import { BadgeContext } from '../../store/contexts/badgeContext'; -import { DefaultButton } from '../../components/atoms/DefaultButton'; +import { DefaultButton } from 'design-system'; import { firstName } from '../../utils/shortenName'; import colors from '../../../colors'; import { ActivityBottomSheetContext } from '../../store/contexts/activityBottomSheetContext'; diff --git a/app/yalc.lock b/app/yalc.lock new file mode 100644 index 000000000..9e04e7be1 --- /dev/null +++ b/app/yalc.lock @@ -0,0 +1,14 @@ +{ + "version": "v1", + "packages": { + "information-center": { + "version": "1.0.0", + "signature": "90c05b507d2d0360a937804a1ec5cd64", + "file": true + }, + "design-system": { + "signature": "c5ba0f154ebaa063d582d1c5d2a57b11", + "file": true + } + } +} \ No newline at end of file diff --git a/app/yarn.lock b/app/yarn.lock index 677c093ce..10c2a9ec2 100644 --- a/app/yarn.lock +++ b/app/yarn.lock @@ -2236,6 +2236,13 @@ dependencies: merge-options "^3.0.4" +"@react-native-async-storage/async-storage@^1.23.1": + version "1.24.0" + resolved "https://registry.yarnpkg.com/@react-native-async-storage/async-storage/-/async-storage-1.24.0.tgz#888efbc62a26f7d9464b32f4d3027b7f2771999b" + integrity sha512-W4/vbwUOYOjco0x3toB8QCr7EjIP6nE9G7o8PMguvvjYT5Awg09lyV4enACRx4s++PPulBiBSjL0KTFx2u0Z/g== + dependencies: + merge-options "^3.0.4" + "@react-native-community/cli-clean@^10.1.1": version "10.1.1" resolved "https://registry.yarnpkg.com/@react-native-community/cli-clean/-/cli-clean-10.1.1.tgz#4c73ce93a63a24d70c0089d4025daac8184ff504" @@ -4073,6 +4080,12 @@ dequal@^1.0.0: resolved "https://registry.yarnpkg.com/dequal/-/dequal-1.0.1.tgz#dbbf9795ec626e9da8bd68782f4add1d23700d8b" integrity sha512-Fx8jxibzkJX2aJgyfSdLhr9tlRoTnHKrRJuu2XHlAgKioN2j19/Bcbe0d4mFXYZ3+wpE2KVobUVTfDutcD17xQ== +"design-system@file:.yalc": + version "0.0.0" + +"design-system@file:.yalc/design-system": + version "1.0.0" + destroy@1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" @@ -4822,6 +4835,17 @@ fast-glob@^3.2.12, fast-glob@^3.2.5, fast-glob@^3.2.9: merge2 "^1.3.0" micromatch "^4.0.4" +fast-glob@^3.3.0: + version "3.3.2" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129" + integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" + fast-json-stable-stringify@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" @@ -5494,6 +5518,12 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" +"information-center@file:.yalc/information-center": + version "1.0.0" + dependencies: + "@react-native-async-storage/async-storage" "^1.23.1" + design-system "file:.yalc" + inherits@2, inherits@2.0.4, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3: version "2.0.4" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" @@ -5974,6 +6004,11 @@ jiti@^1.18.2: resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.18.2.tgz#80c3ef3d486ebf2450d9335122b32d121f2a83cd" integrity sha512-QAdOptna2NYiSSpv0O/BwoHBSmz4YhpzJHyi+fnMRTXFjp7B8i/YG5Z8IfusxB1ufjcD2Sre1F3R+nX3fvy7gg== +jiti@^1.21.0: + version "1.21.6" + resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.21.6.tgz#6c7f7398dd4b3142767f9a168af2f317a428d268" + integrity sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w== + joi@^17.2.1: version "17.9.2" resolved "https://registry.yarnpkg.com/joi/-/joi-17.9.2.tgz#8b2e4724188369f55451aebd1d0b1d9482470690" @@ -8839,6 +8874,34 @@ svgo@^2.8.0: picocolors "^1.0.0" stable "^0.1.8" +tailwindcss@>=2.0.0: + version "3.4.9" + resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.4.9.tgz#9e04cddce1924d530df62af37d3520f0e2a9d85e" + integrity sha512-1SEOvRr6sSdV5IDf9iC+NU4dhwdqzF4zKKq3sAbasUWHEM6lsMhX+eNN5gkPx1BvLFEnZQEUFbXnGj8Qlp83Pg== + dependencies: + "@alloc/quick-lru" "^5.2.0" + arg "^5.0.2" + chokidar "^3.5.3" + didyoumean "^1.2.2" + dlv "^1.1.3" + fast-glob "^3.3.0" + glob-parent "^6.0.2" + is-glob "^4.0.3" + jiti "^1.21.0" + lilconfig "^2.1.0" + micromatch "^4.0.5" + normalize-path "^3.0.0" + object-hash "^3.0.0" + picocolors "^1.0.0" + postcss "^8.4.23" + postcss-import "^15.1.0" + postcss-js "^4.0.1" + postcss-load-config "^4.0.1" + postcss-nested "^6.0.1" + postcss-selector-parser "^6.0.11" + resolve "^1.22.2" + sucrase "^3.32.0" + tailwindcss@^3.3.2: version "3.3.2" resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.3.2.tgz#2f9e35d715fdf0bbf674d90147a0684d7054a2d3" @@ -9069,6 +9132,13 @@ tslib@^2.0.1, tslib@^2.1.0, tslib@^2.4.0: resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.5.3.tgz#24944ba2d990940e6e982c4bea147aba80209913" integrity sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w== +twrnc@^4.3.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/twrnc/-/twrnc-4.5.0.tgz#3eb6bd6e8222f13a0cf7c17224c3adf49e2dbeae" + integrity sha512-tsa5Ku2hCneBxiFqH2WUtjazvrh2rSotvsOpilr6GL4mQlqFfa0WF//UDr52toWxQxxgl0XubREGUEApZqCMpA== + dependencies: + tailwindcss ">=2.0.0" + type-check@^0.4.0, type-check@~0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" From 020624dd9845dbde612654fee6bf2dfa76da8c5c Mon Sep 17 00:00:00 2001 From: Gabriel Sabanai Date: Mon, 12 Aug 2024 03:33:53 -0300 Subject: [PATCH 3/3] feat: installed libs --- .../design-system/.expo-shared/assets.json | 4 - app/.yalc/design-system/.nvmrc | 1 - app/.yalc/design-system/.ondevice/index.tsx | 11 -- app/.yalc/design-system/.ondevice/main.ts | 13 --- app/.yalc/design-system/.ondevice/preview.tsx | 26 ----- .../.ondevice/storybook.requires.ts | 63 ----------- app/.yalc/design-system/.storybook/main.ts | 19 ---- .../design-system/.storybook/preview.tsx | 15 --- app/.yalc/design-system/App.tsx | 27 ----- app/.yalc/design-system/README.md | 57 ---------- app/.yalc/design-system/app.config.js | 32 ------ app/.yalc/design-system/app.json | 4 - app/.yalc/design-system/babel.config.js | 9 -- app/.yalc/design-system/index.js | 5 - app/.yalc/design-system/metro.config.js | 32 ------ app/.yalc/design-system/package.json | 30 ----- .../src/Button/Button.stories.tsx | 25 ----- app/.yalc/design-system/src/Button/Button.tsx | 26 ----- .../src/assets/adaptive-icon.png | Bin 17547 -> 0 bytes .../design-system/src/assets/favicon.png | Bin 1466 -> 0 bytes app/.yalc/design-system/src/assets/icon.png | Bin 22380 -> 0 bytes .../design-system/src/assets/noImage.png | Bin 6141 -> 0 bytes app/.yalc/design-system/src/assets/splash.png | Bin 47346 -> 0 bytes .../src/components/atoms/Chips/Chips.jsx | 48 -------- .../components/atoms/Chips/Chips.stories.js | 27 ----- .../src/components/atoms/Chips/styles.js | 38 ------- .../atoms/CircleBadge/CircleBadge.jsx | 44 -------- .../atoms/CircleBadge/CircleBadge.stories.jsx | 25 ----- .../src/components/atoms/CircleBadge/style.js | 23 ---- .../atoms/CircleIconButton/index.js | 31 ----- .../atoms/DefaultButton/DefaultButton.jsx | 81 ------------- .../DefaultButton/DefaultButton.stories.jsx | 26 ----- .../components/atoms/DefaultButton/styles.js | 53 --------- .../src/components/atoms/Divider/Divider.jsx | 11 -- .../atoms/Divider/Divider.stories.jsx | 22 ---- .../src/components/atoms/Divider/styles.js | 11 -- .../atoms/IconButton/IconButton.jsx | 22 ---- .../src/components/atoms/IconButton/styles.js | 9 -- .../InformativeField/InformativeField.jsx | 45 -------- .../InformativeField.stories.jsx | 25 ----- .../src/components/atoms/Input/Input.jsx | 75 ------------- .../components/atoms/Input/input.stories.jsx | 29 ----- .../src/components/atoms/Input/styles.js | 41 ------- .../RoundedFullButton/RoundedFullButton.jsx | 30 ----- .../RoundedFullButton.stories.jsx | 27 ----- .../components/atoms/SearchBar/SearchBar.jsx | 34 ------ .../src/components/atoms/SearchBar/styles.js | 31 ----- .../SliderDescription/SliderDescription.jsx | 11 -- .../SliderDescription.stories.jsx | 23 ---- .../atoms/SliderTitle/SliderTitle.jsx | 11 -- .../atoms/SliderTitle/SliderTitle.stories.jsx | 23 ---- .../atoms/TextButton/TextButton.stories.jsx | 25 ----- .../src/components/atoms/TextButton/index.jsx | 15 --- .../TextSwitchButton/TextSwitchButton.jsx | 20 ---- .../TextSwitchButton.stories.jsx | 25 ----- .../atoms/ViewWithDivider/ViewWithDivider.jsx | 7 -- .../ViewWithDivider.stories.jsx | 23 ---- .../src/components/atoms/index.js | 31 ----- .../src/components/molecules/Badge/Badge.jsx | 25 ----- .../molecules/Badge/Badge.stories.js | 24 ---- .../molecules/BadgeCard/BadgeCard.jsx | 59 ---------- .../molecules/BadgeCard/BadgeCard.stories.js | 30 ----- .../CategoriesList/CategoriesList.jsx | 19 ---- .../CategoriesList/CategoriesList.stories.js | 29 ----- .../CustomDrawerItem/CustomDrawerItem.jsx | 18 --- .../CustomDrawerItem.stories.js | 26 ----- .../molecules/CustomDrawerItem/styles.js | 30 ----- .../molecules/CustomHeader/CustomHeader.jsx | 37 ------ .../molecules/CustomHeader/styles.js | 30 ----- .../DefaultButtonWithBadges.jsx | 29 ----- .../DefaultButtonWithBadges.stories.js | 26 ----- .../DescriptionBox/DescriptionBox.jsx | 23 ---- .../DescriptionBox/DescriptionBox.stories.js | 23 ---- .../components/molecules/Dialog/Dialog.jsx | 50 --------- .../molecules/Dialog/Dialog.stories.js | 27 ----- .../FloatingIconButton/FloatingIconButton.jsx | 26 ----- .../FloatingIconButton.stories.js | 25 ----- .../molecules/FollowCount/FollowCount.jsx | 23 ---- .../FollowCount/FollowCount.stories.js | 27 ----- .../molecules/ProfilePhoto/ProfilePhoto.jsx | 25 ----- .../ProfilePhoto/ProfilePhoto.stories.js | 24 ---- .../molecules/TextSwitch/TextSwitch.jsx | 28 ----- .../TextSwitch/TextSwitch.stories.js | 25 ----- .../molecules/TimeLineItem/TimeLineItem.jsx | 30 ----- .../TimeLineItem/TimeLineItem.stories.js | 25 ----- .../src/components/molecules/index.js | 29 ----- app/.yalc/design-system/src/styles/colors.js | 50 --------- app/.yalc/design-system/src/styles/fonts.js | 31 ----- .../src/styles/helpDescription.js | 106 ------------------ .../design-system/src/styles/oldColors.js | 12 -- .../src/utils/getActivityIcon.js | 19 ---- app/.yalc/design-system/src/utils/tailwind.js | 5 - app/.yalc/design-system/tailwind.config.js | 24 ---- app/.yalc/design-system/tsconfig.json | 6 - app/.yalc/design-system/yalc.sig | 1 - app/.yalc/information-center/.nvmrc | 1 - app/.yalc/information-center/README.md | 50 --------- app/.yalc/information-center/app.json | 36 ------ app/.yalc/information-center/app/_layout.jsx | 9 -- app/.yalc/information-center/app/index.jsx | 16 --- app/.yalc/information-center/babel.config.js | 6 - app/.yalc/information-center/index.js | 5 - app/.yalc/information-center/metro.config.js | 14 --- app/.yalc/information-center/package.json | 22 ---- .../scripts/reset-project.js | 73 ------------ .../information-center/src/assets/Step1.svg | 45 -------- .../information-center/src/assets/Step2.svg | 45 -------- .../information-center/src/assets/Step3.svg | 53 --------- .../information-center/src/assets/blueCat.png | Bin 7986 -> 0 bytes .../src/components/EmergencyNumbers/index.jsx | 14 --- .../src/components/EmergencyNumbers/modal.jsx | 42 ------- .../src/components/EmergencyNumbers/styles.js | 47 -------- .../components/FloatingIconButton/index.jsx | 26 ----- .../src/components/SliderModal/index.jsx | 31 ----- .../src/components/TutorialCard/index.jsx | 37 ------ .../src/components/TutorialCard/style.js | 11 -- .../src/pages/InformationsCenter/index.jsx | 49 -------- .../information-center/src/styles/colors.js | 50 --------- .../information-center/src/styles/fonts.js | 31 ----- .../src/utils/docs/FAQ/EmergencyNumbers.js | 19 ---- .../src/utils/docs/FAQ/faqOptions.jsx | 59 ---------- .../src/utils/getSliderBody.jsx | 21 ---- .../information-center/src/utils/tailwind.js | 5 - .../information-center/tailwind.config.js | 24 ---- app/.yalc/information-center/tsconfig.json | 17 --- app/.yalc/information-center/yalc.sig | 1 - app/package.json | 4 +- .../MainStackHeaderStyle.jsx | 2 +- app/src/Navigation/MainNavigation/index.jsx | 2 +- .../FAQModals/EmergencyNumbersModal/index.jsx | 14 --- app/src/components/FAQModals/modal.jsx | 42 ------- app/src/components/FAQModals/styles.js | 46 -------- app/src/components/UserItem/index.jsx | 2 +- .../atoms/UserProfileCard/index.jsx | 2 +- .../ActivityBottomSheet/EntityActivity.jsx | 2 +- .../ActivityBottomSheet/FilterActivity.jsx | 2 +- .../UserActivity/index.jsx | 4 +- .../modals/BadgeEarnModal/index.jsx | 2 +- .../modals/BaseBottomSheet/index.jsx | 2 +- app/src/components/modals/BaseModal/index.jsx | 2 +- .../modals/expansiveModal/index.jsx | 2 +- .../components/molecules/BadgeCard/index.jsx | 50 --------- .../molecules/CustomDrawerItem/index.jsx | 18 --- .../molecules/CustomDrawerItem/styles.js | 30 ----- .../molecules/CustomHeader/index.jsx | 36 ------ .../molecules/CustomHeader/styles.js | 30 ----- .../DefaultButtonWithBagdes/index.jsx | 28 ----- .../molecules/DescriptionBox/index.jsx | 20 ---- app/src/components/molecules/Dialog/index.jsx | 49 -------- .../molecules/FloatingIconButton/index.jsx | 25 ----- .../molecules/FollowCount/index.jsx | 22 ---- .../molecules/ProfilePhoto/index.jsx | 24 ---- .../components/molecules/TextSwitch/index.jsx | 27 ----- .../molecules/TimelineItem/index.jsx | 29 ----- .../components/molecules/UserCard/index.jsx | 2 +- .../molecules/UserListItem/index.jsx | 3 +- .../organisms/ActivityCard/index.jsx | 2 +- .../organisms/AddressForm/index.jsx | 2 +- .../components/organisms/BadgesList/index.jsx | 2 +- .../organisms/CustomDrawerList/index.jsx | 3 +- .../organisms/DefaultCamera/index.jsx | 2 +- .../organisms/DefaultTimeline/index.jsx | 2 +- .../organisms/PersonalDataForm/index.jsx | 2 +- app/src/components/profileList/index.jsx | 2 +- .../templates/BordedScreenLayout/index.jsx | 2 +- .../templates/CustomDrawerContent/index.jsx | 2 +- .../templates/HelpScreenLayout/index.jsx | 2 +- .../ActivitiesPages/MyCampaigns/index.jsx | 2 +- .../MyOfferHelpDescription/index.jsx | 3 +- .../ActivitiesPages/MyOfferedHelp/index.jsx | 2 +- .../FeedbackModal/index.jsx | 3 +- .../MyRequestHelpDescription/index.jsx | 3 +- .../ActivitiesPages/MyRequestedHelp/index.jsx | 2 +- app/src/pages/AuthPages/Location/index.jsx | 2 +- app/src/pages/Badges/index.jsx | 2 +- app/src/pages/EditProfile/index.jsx | 4 +- app/src/pages/FindUsersPages/index.jsx | 2 +- .../HelpPages/CampaignDescription/index.jsx | 2 +- app/src/pages/Main/MapScreen.jsx | 3 +- app/src/pages/Main/index.jsx | 2 +- app/src/pages/UserProfile/index.jsx | 4 +- app/yalc.lock | 14 --- app/yarn.lock | 25 +++-- 183 files changed, 53 insertions(+), 3894 deletions(-) delete mode 100644 app/.yalc/design-system/.expo-shared/assets.json delete mode 100644 app/.yalc/design-system/.nvmrc delete mode 100644 app/.yalc/design-system/.ondevice/index.tsx delete mode 100644 app/.yalc/design-system/.ondevice/main.ts delete mode 100644 app/.yalc/design-system/.ondevice/preview.tsx delete mode 100644 app/.yalc/design-system/.ondevice/storybook.requires.ts delete mode 100644 app/.yalc/design-system/.storybook/main.ts delete mode 100644 app/.yalc/design-system/.storybook/preview.tsx delete mode 100644 app/.yalc/design-system/App.tsx delete mode 100644 app/.yalc/design-system/README.md delete mode 100644 app/.yalc/design-system/app.config.js delete mode 100644 app/.yalc/design-system/app.json delete mode 100644 app/.yalc/design-system/babel.config.js delete mode 100644 app/.yalc/design-system/index.js delete mode 100644 app/.yalc/design-system/metro.config.js delete mode 100644 app/.yalc/design-system/package.json delete mode 100644 app/.yalc/design-system/src/Button/Button.stories.tsx delete mode 100644 app/.yalc/design-system/src/Button/Button.tsx delete mode 100644 app/.yalc/design-system/src/assets/adaptive-icon.png delete mode 100644 app/.yalc/design-system/src/assets/favicon.png delete mode 100644 app/.yalc/design-system/src/assets/icon.png delete mode 100644 app/.yalc/design-system/src/assets/noImage.png delete mode 100644 app/.yalc/design-system/src/assets/splash.png delete mode 100644 app/.yalc/design-system/src/components/atoms/Chips/Chips.jsx delete mode 100644 app/.yalc/design-system/src/components/atoms/Chips/Chips.stories.js delete mode 100644 app/.yalc/design-system/src/components/atoms/Chips/styles.js delete mode 100644 app/.yalc/design-system/src/components/atoms/CircleBadge/CircleBadge.jsx delete mode 100644 app/.yalc/design-system/src/components/atoms/CircleBadge/CircleBadge.stories.jsx delete mode 100644 app/.yalc/design-system/src/components/atoms/CircleBadge/style.js delete mode 100644 app/.yalc/design-system/src/components/atoms/CircleIconButton/index.js delete mode 100644 app/.yalc/design-system/src/components/atoms/DefaultButton/DefaultButton.jsx delete mode 100644 app/.yalc/design-system/src/components/atoms/DefaultButton/DefaultButton.stories.jsx delete mode 100644 app/.yalc/design-system/src/components/atoms/DefaultButton/styles.js delete mode 100644 app/.yalc/design-system/src/components/atoms/Divider/Divider.jsx delete mode 100644 app/.yalc/design-system/src/components/atoms/Divider/Divider.stories.jsx delete mode 100644 app/.yalc/design-system/src/components/atoms/Divider/styles.js delete mode 100644 app/.yalc/design-system/src/components/atoms/IconButton/IconButton.jsx delete mode 100644 app/.yalc/design-system/src/components/atoms/IconButton/styles.js delete mode 100644 app/.yalc/design-system/src/components/atoms/InformativeField/InformativeField.jsx delete mode 100644 app/.yalc/design-system/src/components/atoms/InformativeField/InformativeField.stories.jsx delete mode 100644 app/.yalc/design-system/src/components/atoms/Input/Input.jsx delete mode 100644 app/.yalc/design-system/src/components/atoms/Input/input.stories.jsx delete mode 100644 app/.yalc/design-system/src/components/atoms/Input/styles.js delete mode 100644 app/.yalc/design-system/src/components/atoms/RoundedFullButton/RoundedFullButton.jsx delete mode 100644 app/.yalc/design-system/src/components/atoms/RoundedFullButton/RoundedFullButton.stories.jsx delete mode 100644 app/.yalc/design-system/src/components/atoms/SearchBar/SearchBar.jsx delete mode 100644 app/.yalc/design-system/src/components/atoms/SearchBar/styles.js delete mode 100644 app/.yalc/design-system/src/components/atoms/SliderDescription/SliderDescription.jsx delete mode 100644 app/.yalc/design-system/src/components/atoms/SliderDescription/SliderDescription.stories.jsx delete mode 100644 app/.yalc/design-system/src/components/atoms/SliderTitle/SliderTitle.jsx delete mode 100644 app/.yalc/design-system/src/components/atoms/SliderTitle/SliderTitle.stories.jsx delete mode 100644 app/.yalc/design-system/src/components/atoms/TextButton/TextButton.stories.jsx delete mode 100644 app/.yalc/design-system/src/components/atoms/TextButton/index.jsx delete mode 100644 app/.yalc/design-system/src/components/atoms/TextSwitchButton/TextSwitchButton.jsx delete mode 100644 app/.yalc/design-system/src/components/atoms/TextSwitchButton/TextSwitchButton.stories.jsx delete mode 100644 app/.yalc/design-system/src/components/atoms/ViewWithDivider/ViewWithDivider.jsx delete mode 100644 app/.yalc/design-system/src/components/atoms/ViewWithDivider/ViewWithDivider.stories.jsx delete mode 100644 app/.yalc/design-system/src/components/atoms/index.js delete mode 100644 app/.yalc/design-system/src/components/molecules/Badge/Badge.jsx delete mode 100644 app/.yalc/design-system/src/components/molecules/Badge/Badge.stories.js delete mode 100644 app/.yalc/design-system/src/components/molecules/BadgeCard/BadgeCard.jsx delete mode 100644 app/.yalc/design-system/src/components/molecules/BadgeCard/BadgeCard.stories.js delete mode 100644 app/.yalc/design-system/src/components/molecules/CategoriesList/CategoriesList.jsx delete mode 100644 app/.yalc/design-system/src/components/molecules/CategoriesList/CategoriesList.stories.js delete mode 100644 app/.yalc/design-system/src/components/molecules/CustomDrawerItem/CustomDrawerItem.jsx delete mode 100644 app/.yalc/design-system/src/components/molecules/CustomDrawerItem/CustomDrawerItem.stories.js delete mode 100644 app/.yalc/design-system/src/components/molecules/CustomDrawerItem/styles.js delete mode 100644 app/.yalc/design-system/src/components/molecules/CustomHeader/CustomHeader.jsx delete mode 100644 app/.yalc/design-system/src/components/molecules/CustomHeader/styles.js delete mode 100644 app/.yalc/design-system/src/components/molecules/DefaultButtonWithBadges/DefaultButtonWithBadges.jsx delete mode 100644 app/.yalc/design-system/src/components/molecules/DefaultButtonWithBadges/DefaultButtonWithBadges.stories.js delete mode 100644 app/.yalc/design-system/src/components/molecules/DescriptionBox/DescriptionBox.jsx delete mode 100644 app/.yalc/design-system/src/components/molecules/DescriptionBox/DescriptionBox.stories.js delete mode 100644 app/.yalc/design-system/src/components/molecules/Dialog/Dialog.jsx delete mode 100644 app/.yalc/design-system/src/components/molecules/Dialog/Dialog.stories.js delete mode 100644 app/.yalc/design-system/src/components/molecules/FloatingIconButton/FloatingIconButton.jsx delete mode 100644 app/.yalc/design-system/src/components/molecules/FloatingIconButton/FloatingIconButton.stories.js delete mode 100644 app/.yalc/design-system/src/components/molecules/FollowCount/FollowCount.jsx delete mode 100644 app/.yalc/design-system/src/components/molecules/FollowCount/FollowCount.stories.js delete mode 100644 app/.yalc/design-system/src/components/molecules/ProfilePhoto/ProfilePhoto.jsx delete mode 100644 app/.yalc/design-system/src/components/molecules/ProfilePhoto/ProfilePhoto.stories.js delete mode 100644 app/.yalc/design-system/src/components/molecules/TextSwitch/TextSwitch.jsx delete mode 100644 app/.yalc/design-system/src/components/molecules/TextSwitch/TextSwitch.stories.js delete mode 100644 app/.yalc/design-system/src/components/molecules/TimeLineItem/TimeLineItem.jsx delete mode 100644 app/.yalc/design-system/src/components/molecules/TimeLineItem/TimeLineItem.stories.js delete mode 100644 app/.yalc/design-system/src/components/molecules/index.js delete mode 100644 app/.yalc/design-system/src/styles/colors.js delete mode 100644 app/.yalc/design-system/src/styles/fonts.js delete mode 100644 app/.yalc/design-system/src/styles/helpDescription.js delete mode 100644 app/.yalc/design-system/src/styles/oldColors.js delete mode 100644 app/.yalc/design-system/src/utils/getActivityIcon.js delete mode 100644 app/.yalc/design-system/src/utils/tailwind.js delete mode 100644 app/.yalc/design-system/tailwind.config.js delete mode 100644 app/.yalc/design-system/tsconfig.json delete mode 100644 app/.yalc/design-system/yalc.sig delete mode 100644 app/.yalc/information-center/.nvmrc delete mode 100644 app/.yalc/information-center/README.md delete mode 100644 app/.yalc/information-center/app.json delete mode 100644 app/.yalc/information-center/app/_layout.jsx delete mode 100644 app/.yalc/information-center/app/index.jsx delete mode 100644 app/.yalc/information-center/babel.config.js delete mode 100644 app/.yalc/information-center/index.js delete mode 100644 app/.yalc/information-center/metro.config.js delete mode 100644 app/.yalc/information-center/package.json delete mode 100755 app/.yalc/information-center/scripts/reset-project.js delete mode 100644 app/.yalc/information-center/src/assets/Step1.svg delete mode 100644 app/.yalc/information-center/src/assets/Step2.svg delete mode 100644 app/.yalc/information-center/src/assets/Step3.svg delete mode 100644 app/.yalc/information-center/src/assets/blueCat.png delete mode 100644 app/.yalc/information-center/src/components/EmergencyNumbers/index.jsx delete mode 100644 app/.yalc/information-center/src/components/EmergencyNumbers/modal.jsx delete mode 100644 app/.yalc/information-center/src/components/EmergencyNumbers/styles.js delete mode 100644 app/.yalc/information-center/src/components/FloatingIconButton/index.jsx delete mode 100644 app/.yalc/information-center/src/components/SliderModal/index.jsx delete mode 100644 app/.yalc/information-center/src/components/TutorialCard/index.jsx delete mode 100644 app/.yalc/information-center/src/components/TutorialCard/style.js delete mode 100644 app/.yalc/information-center/src/pages/InformationsCenter/index.jsx delete mode 100644 app/.yalc/information-center/src/styles/colors.js delete mode 100644 app/.yalc/information-center/src/styles/fonts.js delete mode 100644 app/.yalc/information-center/src/utils/docs/FAQ/EmergencyNumbers.js delete mode 100644 app/.yalc/information-center/src/utils/docs/FAQ/faqOptions.jsx delete mode 100644 app/.yalc/information-center/src/utils/getSliderBody.jsx delete mode 100644 app/.yalc/information-center/src/utils/tailwind.js delete mode 100644 app/.yalc/information-center/tailwind.config.js delete mode 100644 app/.yalc/information-center/tsconfig.json delete mode 100644 app/.yalc/information-center/yalc.sig delete mode 100644 app/src/components/FAQModals/EmergencyNumbersModal/index.jsx delete mode 100644 app/src/components/FAQModals/modal.jsx delete mode 100644 app/src/components/FAQModals/styles.js delete mode 100644 app/src/components/molecules/BadgeCard/index.jsx delete mode 100644 app/src/components/molecules/CustomDrawerItem/index.jsx delete mode 100644 app/src/components/molecules/CustomDrawerItem/styles.js delete mode 100644 app/src/components/molecules/CustomHeader/index.jsx delete mode 100644 app/src/components/molecules/CustomHeader/styles.js delete mode 100644 app/src/components/molecules/DefaultButtonWithBagdes/index.jsx delete mode 100644 app/src/components/molecules/DescriptionBox/index.jsx delete mode 100644 app/src/components/molecules/Dialog/index.jsx delete mode 100644 app/src/components/molecules/FloatingIconButton/index.jsx delete mode 100644 app/src/components/molecules/FollowCount/index.jsx delete mode 100644 app/src/components/molecules/ProfilePhoto/index.jsx delete mode 100644 app/src/components/molecules/TextSwitch/index.jsx delete mode 100644 app/src/components/molecules/TimelineItem/index.jsx delete mode 100644 app/yalc.lock diff --git a/app/.yalc/design-system/.expo-shared/assets.json b/app/.yalc/design-system/.expo-shared/assets.json deleted file mode 100644 index 1e6decfbb..000000000 --- a/app/.yalc/design-system/.expo-shared/assets.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "12bb71342c6255bbf50437ec8f4441c083f47cdb74bd89160c15e4f43e52a1cb": true, - "40b842e832070c58deac6aa9e08fa459302ee3f9da492c7e77d93d2fbf4a56fd": true -} diff --git a/app/.yalc/design-system/.nvmrc b/app/.yalc/design-system/.nvmrc deleted file mode 100644 index 016efd8a0..000000000 --- a/app/.yalc/design-system/.nvmrc +++ /dev/null @@ -1 +0,0 @@ -v20.10.0 \ No newline at end of file diff --git a/app/.yalc/design-system/.ondevice/index.tsx b/app/.yalc/design-system/.ondevice/index.tsx deleted file mode 100644 index 0bd098c2f..000000000 --- a/app/.yalc/design-system/.ondevice/index.tsx +++ /dev/null @@ -1,11 +0,0 @@ -import AsyncStorage from "@react-native-async-storage/async-storage"; -import { view } from "./storybook.requires"; - -const StorybookUIRoot = view.getStorybookUI({ - storage: { - getItem: AsyncStorage.getItem, - setItem: AsyncStorage.setItem, - }, -}); - -export default StorybookUIRoot; diff --git a/app/.yalc/design-system/.ondevice/main.ts b/app/.yalc/design-system/.ondevice/main.ts deleted file mode 100644 index 2330bdf7d..000000000 --- a/app/.yalc/design-system/.ondevice/main.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { StorybookConfig } from "@storybook/react-native"; - -const main: StorybookConfig = { - stories: ["../components/**/*.stories.?(ts|tsx|js|jsx)"], - addons: [ - "@storybook/addon-ondevice-notes", - "@storybook/addon-ondevice-controls", - "@storybook/addon-ondevice-backgrounds", - "@storybook/addon-ondevice-actions", - ], -}; - -export default main; diff --git a/app/.yalc/design-system/.ondevice/preview.tsx b/app/.yalc/design-system/.ondevice/preview.tsx deleted file mode 100644 index 9d44a2079..000000000 --- a/app/.yalc/design-system/.ondevice/preview.tsx +++ /dev/null @@ -1,26 +0,0 @@ -import { withBackgrounds } from "@storybook/addon-ondevice-backgrounds"; -import type { Preview } from "@storybook/react"; - -const preview: Preview = { - decorators: [withBackgrounds], - - parameters: { - backgrounds: { - default: "plain", - values: [ - { name: "plain", value: "white" }, - { name: "warm", value: "hotpink" }, - { name: "cool", value: "deepskyblue" }, - ], - }, - actions: { argTypesRegex: "^on[A-Z].*" }, - controls: { - matchers: { - color: /(background|color)$/i, - date: /Date$/, - }, - }, - }, -}; - -export default preview; diff --git a/app/.yalc/design-system/.ondevice/storybook.requires.ts b/app/.yalc/design-system/.ondevice/storybook.requires.ts deleted file mode 100644 index 9d34b3b5c..000000000 --- a/app/.yalc/design-system/.ondevice/storybook.requires.ts +++ /dev/null @@ -1,63 +0,0 @@ -/* do not change this file, it is auto generated by storybook. */ - -import { - start, - prepareStories, - getProjectAnnotations, -} from "@storybook/react-native"; - -import "@storybook/addon-ondevice-notes/register"; -import "@storybook/addon-ondevice-controls/register"; -import "@storybook/addon-ondevice-backgrounds/register"; -import "@storybook/addon-ondevice-actions/register"; - -const normalizedStories = [ - { - titlePrefix: "", - directory: "./components", - files: "**/*.stories.?(ts|tsx|js|jsx)", - importPathMatcher: - /^\.(?:(?:^|\/|(?:(?:(?!(?:^|\/)\.).)*?)\/)(?!\.)(?=.)[^/]*?\.stories\.(?:ts|tsx|js|jsx)?)$/, - // @ts-ignore - req: require.context( - "../components", - true, - /^\.(?:(?:^|\/|(?:(?:(?!(?:^|\/)\.).)*?)\/)(?!\.)(?=.)[^/]*?\.stories\.(?:ts|tsx|js|jsx)?)$/ - ), - }, -]; - -declare global { - var view: ReturnType; - var STORIES: typeof normalizedStories; -} - -const annotations = [ - require("./preview"), - require("@storybook/react-native/dist/preview"), - require("@storybook/addon-actions/preview"), -]; - -global.STORIES = normalizedStories; - -// @ts-ignore -module?.hot?.accept?.(); - -if (!global.view) { - global.view = start({ - annotations, - storyEntries: normalizedStories, - }); -} else { - const { importMap } = prepareStories({ storyEntries: normalizedStories }); - - global.view._preview.onStoriesChanged({ - importFn: async (importPath: string) => importMap[importPath], - }); - - global.view._preview.onGetProjectAnnotationsChanged({ - getProjectAnnotations: getProjectAnnotations(global.view, annotations), - }); -} - -export const view = global.view; diff --git a/app/.yalc/design-system/.storybook/main.ts b/app/.yalc/design-system/.storybook/main.ts deleted file mode 100644 index 9f09682e1..000000000 --- a/app/.yalc/design-system/.storybook/main.ts +++ /dev/null @@ -1,19 +0,0 @@ -/** @type{import("@storybook/react-webpack5").StorybookConfig} */ -module.exports = { - stories: [ - "../src/components/**/*.stories.mdx", - "../src/components/**/*.stories.@(js|jsx|ts|tsx)", - ], - addons: [ - "@storybook/addon-links", - "@storybook/addon-essentials", - "@storybook/addon-react-native-web", - ], - framework: { - name: "@storybook/react-webpack5", - options: {}, - }, - docs: { - autodocs: true, - }, -}; diff --git a/app/.yalc/design-system/.storybook/preview.tsx b/app/.yalc/design-system/.storybook/preview.tsx deleted file mode 100644 index 1c372b694..000000000 --- a/app/.yalc/design-system/.storybook/preview.tsx +++ /dev/null @@ -1,15 +0,0 @@ -import type { Preview } from "@storybook/react"; - -const preview: Preview = { - parameters: { - actions: { argTypesRegex: "^on[A-Z].*" }, - controls: { - matchers: { - color: /(background|color)$/i, - date: /Date$/, - }, - }, - }, -}; - -export default preview; diff --git a/app/.yalc/design-system/App.tsx b/app/.yalc/design-system/App.tsx deleted file mode 100644 index 701d2c60c..000000000 --- a/app/.yalc/design-system/App.tsx +++ /dev/null @@ -1,27 +0,0 @@ -import { StyleSheet, Text, View } from "react-native"; -import Constants from "expo-constants"; - -function App() { - return ( - - Open up App.tsx to start working on your app! - - ); -} - -let AppEntryPoint = App; - -if (Constants.expoConfig?.extra?.storybookEnabled === "true") { - AppEntryPoint = require("./.ondevice").default; -} - -const styles = StyleSheet.create({ - container: { - flex: 1, - backgroundColor: "#fff", - alignItems: "center", - justifyContent: "center", - }, -}); - -export default AppEntryPoint; diff --git a/app/.yalc/design-system/README.md b/app/.yalc/design-system/README.md deleted file mode 100644 index ab807b525..000000000 --- a/app/.yalc/design-system/README.md +++ /dev/null @@ -1,57 +0,0 @@ -![image](https://user-images.githubusercontent.com/3481514/145904252-92e3dc1e-591f-410f-88a1-b4250f4ba6f2.png) - -# getting started - -```sh -npx create-expo-app --template expo-template-storybook AwesomeStorybook -``` - -or - -```sh -yarn create expo-app --template expo-template-storybook AwesomeStorybook -``` - -# app - -```sh -yarn start -``` - -# Ondevice - -In this template you can now run `yarn storybook` to start ondevice storybook or `yarn start` to start your expo app. -This works via env variables and expo constants. - -```sh -# either -yarn storybook - -# ios -yarn storybook:ios - -# android -yarn storybook:android -``` - -If you add new stories on the native (ondevice version) you either need to have the watcher running or run the stories loader - -To update the stories one time - -```sh -yarn storybook-generate -``` - -# Web - -Start react native web storybook: - -``` -yarn storybook:web -``` - -build react native web storybook: - -```sh -yarn build-storybook -``` diff --git a/app/.yalc/design-system/app.config.js b/app/.yalc/design-system/app.config.js deleted file mode 100644 index 54b296cd9..000000000 --- a/app/.yalc/design-system/app.config.js +++ /dev/null @@ -1,32 +0,0 @@ -export default ({ config }) => ({ - ...config, - name: "HelloWorld", - slug: "expo-template-blank-typescript", - version: "1.0.0", - orientation: "portrait", - icon: "./assets/icon.png", - extra: { - storybookEnabled: process.env.STORYBOOK_ENABLED, - }, - splash: { - image: "./assets/splash.png", - resizeMode: "contain", - backgroundColor: "#ffffff", - }, - updates: { - fallbackToCacheTimeout: 0, - }, - assetBundlePatterns: ["**/*"], - ios: { - supportsTablet: true, - }, - android: { - adaptiveIcon: { - foregroundImage: "./assets/adaptive-icon.png", - backgroundColor: "#FFFFFF", - }, - }, - web: { - favicon: "./assets/favicon.png", - }, -}); diff --git a/app/.yalc/design-system/app.json b/app/.yalc/design-system/app.json deleted file mode 100644 index 95a98748a..000000000 --- a/app/.yalc/design-system/app.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "design-system", - "slug": "design-system" -} diff --git a/app/.yalc/design-system/babel.config.js b/app/.yalc/design-system/babel.config.js deleted file mode 100644 index 9b764d0fc..000000000 --- a/app/.yalc/design-system/babel.config.js +++ /dev/null @@ -1,9 +0,0 @@ -module.exports = function (api) { - api.cache(true); - return { - presets: ["babel-preset-expo"], - plugins: [ - ["babel-plugin-react-docgen-typescript", { exclude: "node_modules" }], - ], - }; -}; diff --git a/app/.yalc/design-system/index.js b/app/.yalc/design-system/index.js deleted file mode 100644 index 2bf856970..000000000 --- a/app/.yalc/design-system/index.js +++ /dev/null @@ -1,5 +0,0 @@ -export * from "./src/components/atoms"; -export * from "./src/components/molecules" -export * from "./src/styles/fonts"; -export * from "./src/styles/colors"; -export * from "./src/utils/tailwind"; diff --git a/app/.yalc/design-system/metro.config.js b/app/.yalc/design-system/metro.config.js deleted file mode 100644 index dc36c19ec..000000000 --- a/app/.yalc/design-system/metro.config.js +++ /dev/null @@ -1,32 +0,0 @@ -const path = require("path"); -const { getDefaultConfig } = require("expo/metro-config"); -const { generate } = require("@storybook/react-native/scripts/generate"); - -generate({ - configPath: path.resolve(__dirname, "./.ondevice"), -}); - -const defaultConfig = getDefaultConfig(__dirname); - -defaultConfig.transformer.unstable_allowRequireContext = true; - -defaultConfig.resolver.resolveRequest = (context, moduleName, platform) => { - const defaultResolveResult = context.resolveRequest( - context, - moduleName, - platform - ); - - if ( - process.env.STORYBOOK_ENABLED !== "true" && - defaultResolveResult?.filePath?.includes?.(".ondevice/") - ) { - return { - type: "empty", - }; - } - - return defaultResolveResult; -}; - -module.exports = defaultConfig; diff --git a/app/.yalc/design-system/package.json b/app/.yalc/design-system/package.json deleted file mode 100644 index 69adaf20b..000000000 --- a/app/.yalc/design-system/package.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "name": "design-system", - "version": "1.0.0", - "main": "index.js", - "license": "MIT", - "scripts": { - "start": "expo start", - "android": "expo start --android", - "ios": "expo start --ios", - "web": "expo start --web", - "storybook:web": "storybook dev -p 6006", - "build-storybook": "storybook build", - "storybook-generate": "sb-rn-get-stories --config-path .ondevice", - "storybook": "cross-env STORYBOOK_ENABLED='true' expo start", - "storybook:ios": "cross-env STORYBOOK_ENABLED='true' expo start --ios", - "storybook:android": "cross-env STORYBOOK_ENABLED='true' expo start --android" - }, - "resolutions": { - "react-docgen-typescript": "2.2.2" - }, - "overrides": { - "react-docgen-typescript": "2.2.2" - }, - "pnpm": { - "overrides": { - "react-docgen-typescript": "2.2.2" - } - }, - "yalcSig": "c5ba0f154ebaa063d582d1c5d2a57b11" -} diff --git a/app/.yalc/design-system/src/Button/Button.stories.tsx b/app/.yalc/design-system/src/Button/Button.stories.tsx deleted file mode 100644 index 8a435e559..000000000 --- a/app/.yalc/design-system/src/Button/Button.stories.tsx +++ /dev/null @@ -1,25 +0,0 @@ -import type { Meta, StoryObj } from "@storybook/react"; -import React from "react"; -import { View } from "react-native"; -import { MyButton } from "./Button"; - -const meta = { - title: "MyButton", - component: MyButton, - args: { - text: "Hello world", - }, - decorators: [ - (Story) => ( - - - - ), - ], -} satisfies Meta; - -export default meta; - -type Story = StoryObj; - -export const Basic: Story = {}; diff --git a/app/.yalc/design-system/src/Button/Button.tsx b/app/.yalc/design-system/src/Button/Button.tsx deleted file mode 100644 index f4bcf838f..000000000 --- a/app/.yalc/design-system/src/Button/Button.tsx +++ /dev/null @@ -1,26 +0,0 @@ -import React from "react"; -import { TouchableOpacity, Text, StyleSheet } from "react-native"; - -interface MyButtonProps { - onPress: () => void; - text: string; -} - -export const MyButton = ({ onPress, text }: MyButtonProps) => { - return ( - - {text} - - ); -}; - -const styles = StyleSheet.create({ - container: { - paddingHorizontal: 32, - paddingVertical: 8, - backgroundColor: "purple", - alignSelf: "flex-start", - borderRadius: 8, - }, - text: { color: "white", fontSize: 16, fontWeight: "bold" }, -}); diff --git a/app/.yalc/design-system/src/assets/adaptive-icon.png b/app/.yalc/design-system/src/assets/adaptive-icon.png deleted file mode 100644 index 03d6f6b6c6727954aec1d8206222769afd178d8d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17547 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 diff --git a/app/.yalc/design-system/src/assets/icon.png b/app/.yalc/design-system/src/assets/icon.png deleted file mode 100644 index a0b1526fc7b78680fd8d733dbc6113e1af695487..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22380 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 diff --git a/app/.yalc/design-system/src/assets/noImage.png b/app/.yalc/design-system/src/assets/noImage.png deleted file mode 100644 index 860d18654717881cfbf6caac6ae40125f8b57711..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6141 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 diff --git a/app/.yalc/design-system/src/components/atoms/Chips/Chips.jsx b/app/.yalc/design-system/src/components/atoms/Chips/Chips.jsx deleted file mode 100644 index 25346e718..000000000 --- a/app/.yalc/design-system/src/components/atoms/Chips/Chips.jsx +++ /dev/null @@ -1,48 +0,0 @@ -import React, { useState } from 'react'; -import { Pressable, Text } from 'react-native'; -import { Icon } from 'react-native-elements'; -import colors from '../../../styles/colors'; -import tw from "../../../utils/tailwind"; - -export const Chips = ({ - title, - icon, - hiddenIcon = false, - onPress, - elevated = false, - type, - customStyle, - disabled = false, - selected = false, - }) => { - const [isSelected, setIsSelected] = useState(selected); - const chipColor = isSelected ? 'bg-secondary-500 border-0' : 'bg-white'; - const elevatedStyle = elevated && 'shadow-lg shadow-black shadow-opacity-80'; - const disabledStyle = disabled && 'opacity-30'; - const childrenOrder = type === 'input' ? 'flex-row-reverse' : 'flex-row'; - - const variantsAction = { - button: () => onPress(), - input: () => onPress(), - filter: () => { - onPress(); - setIsSelected(!isSelected); - }, - }; - - return ( - - {(!hiddenIcon || isSelected) && icon && ( - - )} - {title} - - ); -}; diff --git a/app/.yalc/design-system/src/components/atoms/Chips/Chips.stories.js b/app/.yalc/design-system/src/components/atoms/Chips/Chips.stories.js deleted file mode 100644 index 73bbbe45b..000000000 --- a/app/.yalc/design-system/src/components/atoms/Chips/Chips.stories.js +++ /dev/null @@ -1,27 +0,0 @@ -import React from "react"; -import { View } from "react-native"; -import {Chips} from './Chips'; - -const meta = { - title: "atoms/Chips", - component: Chips, - args: { - title: "Hello World!", - onPress: () => console.log("Hello World!"), - type: "button", - elevated: true, - selected: true - }, - decorators: [ - (Story) => ( - - - - ), - ], -}; - -export default meta; - - -export const Basic= {}; diff --git a/app/.yalc/design-system/src/components/atoms/Chips/styles.js b/app/.yalc/design-system/src/components/atoms/Chips/styles.js deleted file mode 100644 index 45e507a5f..000000000 --- a/app/.yalc/design-system/src/components/atoms/Chips/styles.js +++ /dev/null @@ -1,38 +0,0 @@ -import {StyleSheet} from "react-native"; -import colors from '../../../styles/colors'; - -export const styles = StyleSheet.create({ - pressable: { - paddingHorizontal: 12, - paddingVertical: 8, - borderRadius: 12, - alignItems: 'center', - }, - bgSecondary: { - backgroundColor: colors.secondary[500], - borderWidth: 0, - }, - bgWhite: { - backgroundColor: 'white', - }, - elevated: { - shadowColor: colors.black.DEFAULT, - shadowOffset: { width: 0, height: 2 }, - shadowOpacity: 0.25, - shadowRadius: 3.84, - elevation: 5, - }, - disabled: { - opacity: 0.3, - }, - flexRow: { - flexDirection: 'row', - }, - flexRowReverse: { - flexDirection: 'row-reverse', - }, - text: { - fontFamily: 'ms-semibold', - fontSize: 12, - }, -}); diff --git a/app/.yalc/design-system/src/components/atoms/CircleBadge/CircleBadge.jsx b/app/.yalc/design-system/src/components/atoms/CircleBadge/CircleBadge.jsx deleted file mode 100644 index a39187fee..000000000 --- a/app/.yalc/design-system/src/components/atoms/CircleBadge/CircleBadge.jsx +++ /dev/null @@ -1,44 +0,0 @@ -import React from 'react'; -import { View } from 'react-native'; -import { Icon } from 'react-native-elements'; -import tw from "../../../utils/tailwind"; - -export const CircleBadge = ({ - rank, - badgeIcon, - isHidden = false, - size = 'sm', -}) => { - const iconBackgrounds = { - 1: 'bg-first-rank', - 2: 'bg-second-rank', - 3: 'bg-thirt-rank', - }; - - const sizes = { - sm: { - width: 'w-12', - icon: 34, - }, - md: { - width: 'w-16', - icon: 48, - }, - }; - - const selectedSize = sizes[size]; - - const selectedIconBackground = isHidden ? 'bg-gray' : iconBackgrounds[rank]; - return ( - - - - ); -}; diff --git a/app/.yalc/design-system/src/components/atoms/CircleBadge/CircleBadge.stories.jsx b/app/.yalc/design-system/src/components/atoms/CircleBadge/CircleBadge.stories.jsx deleted file mode 100644 index 84aac3f53..000000000 --- a/app/.yalc/design-system/src/components/atoms/CircleBadge/CircleBadge.stories.jsx +++ /dev/null @@ -1,25 +0,0 @@ -import React from "react"; -import { View } from "react-native"; -import {CircleBadge} from './CircleBadge'; - -const meta = { - title: "atoms/CircleBadge", - component: CircleBadge, - args: { - rank: "1", - badgeIcon: "arrow", - isHidden: true - }, - decorators: [ - (Story) => ( - - - - ), - ], -}; - -export default meta; - - -export const Basic= {}; diff --git a/app/.yalc/design-system/src/components/atoms/CircleBadge/style.js b/app/.yalc/design-system/src/components/atoms/CircleBadge/style.js deleted file mode 100644 index 8fc13187e..000000000 --- a/app/.yalc/design-system/src/components/atoms/CircleBadge/style.js +++ /dev/null @@ -1,23 +0,0 @@ -import colors from '../../../styles/colors'; -import {StyleSheet} from "react-native"; - -export const styles = StyleSheet.create({ - circle: { - borderRadius: 9999, - padding: 8, - justifyContent: 'center', - alignItems: 'center', - }, - bgFirstRank: { - backgroundColor: colors["first-rank"], - }, - bgSecondRank: { - backgroundColor: colors["second-rank"], - }, - bgThirdRank: { - backgroundColor: colors["thirt-rank"], - }, - bgGray: { - backgroundColor: colors.gray.DEFAULT, - }, -}); \ No newline at end of file diff --git a/app/.yalc/design-system/src/components/atoms/CircleIconButton/index.js b/app/.yalc/design-system/src/components/atoms/CircleIconButton/index.js deleted file mode 100644 index d6e09f51b..000000000 --- a/app/.yalc/design-system/src/components/atoms/CircleIconButton/index.js +++ /dev/null @@ -1,31 +0,0 @@ -import React from 'react'; -import { TouchableOpacity, View } from 'react-native'; -import { Icon } from 'react-native-elements'; -import tw from "../../../utils/tailwind"; - -export const CircleIconButton = ({ - icon, - onPress, - iconSize = 'base', - color, - }) => { - const iconSizeVariant = { - sm: 16, - base: 20, - lg: 24, - xl: 28, - '2xl': 32, - }; - - const buttonColor = color ? color : ''; - - return ( - - - - - - ); -}; diff --git a/app/.yalc/design-system/src/components/atoms/DefaultButton/DefaultButton.jsx b/app/.yalc/design-system/src/components/atoms/DefaultButton/DefaultButton.jsx deleted file mode 100644 index ebba25e31..000000000 --- a/app/.yalc/design-system/src/components/atoms/DefaultButton/DefaultButton.jsx +++ /dev/null @@ -1,81 +0,0 @@ -import React from 'react'; -import { ActivityIndicator, Pressable, Text } from 'react-native'; -import { Icon } from 'react-native-elements'; -import colors from '../../../styles/colors'; -import tw from "../../../utils/tailwind"; - -export const DefaultButton = ({ - title, - onPress, - disabled, - icon, - variant = 'primary', - size = 'lg', - width = 'w-full', - isLoading = false, - }) => { - // the ideia of this buttonSize is to define the button height. The width is determined inside of each DefaultButton parent - const buttonSize = { - sm: 'py-1', - md: 'py-2', - lg: 'py-3', - }; - - const disabledStyle = disabled && 'opacity-70'; - - const variantStyle = { - transparent: { - pressableStyle: 'bg-transparent', - textStyle: 'text-black', - iconColor: colors.black.DEFAULT, - }, - primary: { - pressableStyle: 'bg-primary', - textStyle: 'text-light', - iconColor: colors.light, - }, - secondary: { - pressableStyle: 'bg-white', - textStyle: 'text-black', - iconColor: colors.black.DEFAULT, - }, - elevated: { - pressableStyle: 'bg-white shadow-md shadow-black shadow-opacity-50', - textStyle: 'text-black-900 font-ms-bold', - }, - }; - - let { pressableStyle, textStyle, iconColor } = variantStyle[variant]; - textStyle = icon ? `${textStyle} ml-1` : textStyle; - - return ( - - {isLoading ? ( - - ) : ( - <> - {icon && ( - - )} - - {title} - - - )} - - ); -}; diff --git a/app/.yalc/design-system/src/components/atoms/DefaultButton/DefaultButton.stories.jsx b/app/.yalc/design-system/src/components/atoms/DefaultButton/DefaultButton.stories.jsx deleted file mode 100644 index 41b264f4e..000000000 --- a/app/.yalc/design-system/src/components/atoms/DefaultButton/DefaultButton.stories.jsx +++ /dev/null @@ -1,26 +0,0 @@ -import React from "react"; -import { View } from "react-native"; -import { DefaultButton } from './DefaultButton'; - -const meta = { - title: "atoms/DefaultButton", - component: DefaultButton, - args: { - title: "Hello world", - variant: "elevated", - size: "md", - onPress: () => console.log("ola mundo"), - }, - decorators: [ - (Story) => ( - - - - ), - ], -}; - -export default meta; - - -export const Basic= {}; diff --git a/app/.yalc/design-system/src/components/atoms/DefaultButton/styles.js b/app/.yalc/design-system/src/components/atoms/DefaultButton/styles.js deleted file mode 100644 index d5bc1bd73..000000000 --- a/app/.yalc/design-system/src/components/atoms/DefaultButton/styles.js +++ /dev/null @@ -1,53 +0,0 @@ -import {StyleSheet} from "react-native"; -import colors from '../../../styles/colors'; - -export const styles = StyleSheet.create({ - pressable: { - borderRadius: 8, - flexDirection: 'row', - justifyContent: 'center', - alignItems: 'center', - backgroundColor: colors.primary.DEFAULT, - }, - bgPrimary: { - }, - bgTransparent: { - backgroundColor: 'transparent', - }, - bgWhite: { - backgroundColor: 'white', - }, - textLight: { - color: colors.light, - }, - textBlack: { - color: colors.black.DEFAULT, - }, - textBlackBold: { - color: colors.black.DEFAULT, - fontWeight: 'bold', - }, - textWithIcon: { - marginLeft: 4, - }, - disabled: { - opacity: 0.7, - }, - shadow: { - shadowColor: colors.black.DEFAULT, - shadowOffset: { width: 0, height: 6 }, - shadowOpacity: 0.3, - shadowRadius: 3.84, - elevation: 5, - }, - content: { - flexDirection: 'row', - justifyContent: 'center', - alignItems: 'center', - }, - text: { - textAlign: 'center', - fontWeight: '600', - fontSize: 18, - }, -}); \ No newline at end of file diff --git a/app/.yalc/design-system/src/components/atoms/Divider/Divider.jsx b/app/.yalc/design-system/src/components/atoms/Divider/Divider.jsx deleted file mode 100644 index 00e11b8cb..000000000 --- a/app/.yalc/design-system/src/components/atoms/Divider/Divider.jsx +++ /dev/null @@ -1,11 +0,0 @@ -import React from 'react'; -import { View } from 'react-native'; -import { styles } from './styles'; - -export const Divider = ({ marginHorizontal = 0 }) => { - return ( - - ); -}; diff --git a/app/.yalc/design-system/src/components/atoms/Divider/Divider.stories.jsx b/app/.yalc/design-system/src/components/atoms/Divider/Divider.stories.jsx deleted file mode 100644 index c1db385eb..000000000 --- a/app/.yalc/design-system/src/components/atoms/Divider/Divider.stories.jsx +++ /dev/null @@ -1,22 +0,0 @@ -import React from "react"; -import { View } from "react-native"; -import { Divider } from './Divider'; - -const meta = { - title: "atoms/Divider", - component: Divider, - args: { - }, - decorators: [ - (Story) => ( - - - - ), - ], -}; - -export default meta; - - -export const Basic= {}; diff --git a/app/.yalc/design-system/src/components/atoms/Divider/styles.js b/app/.yalc/design-system/src/components/atoms/Divider/styles.js deleted file mode 100644 index 56db1ba4c..000000000 --- a/app/.yalc/design-system/src/components/atoms/Divider/styles.js +++ /dev/null @@ -1,11 +0,0 @@ -import { StyleSheet } from 'react-native'; -import { colors } from 'react-native-elements'; - -export const styles = StyleSheet.create({ - divider: { - borderBottomColor: colors.dark, - borderBottomWidth: StyleSheet.hairlineWidth, - marginVertical: 8, - opacity: 0.3, - }, -}); diff --git a/app/.yalc/design-system/src/components/atoms/IconButton/IconButton.jsx b/app/.yalc/design-system/src/components/atoms/IconButton/IconButton.jsx deleted file mode 100644 index da8ac6bd3..000000000 --- a/app/.yalc/design-system/src/components/atoms/IconButton/IconButton.jsx +++ /dev/null @@ -1,22 +0,0 @@ -import React from 'react'; -import { Icon } from 'react-native-elements'; -import { TouchableOpacity } from 'react-native-gesture-handler'; -import colors from '../../../styles/colors'; -import { styles } from './styles'; - -export const IconButton = ({ - icon, - onPress, - theme = 'light', - iconSize = 24, - customStyle, -}) => { - return ( - - - - ); -}; diff --git a/app/.yalc/design-system/src/components/atoms/IconButton/styles.js b/app/.yalc/design-system/src/components/atoms/IconButton/styles.js deleted file mode 100644 index 73716e183..000000000 --- a/app/.yalc/design-system/src/components/atoms/IconButton/styles.js +++ /dev/null @@ -1,9 +0,0 @@ -import { StyleSheet } from 'react-native'; -import { RFValue } from 'react-native-responsive-fontsize'; - -export const styles = StyleSheet.create({ - drawerButtonContainer: { - padding: RFValue(8, 640), - marginRight: RFValue(8, 640), - }, -}); diff --git a/app/.yalc/design-system/src/components/atoms/InformativeField/InformativeField.jsx b/app/.yalc/design-system/src/components/atoms/InformativeField/InformativeField.jsx deleted file mode 100644 index 6533fcef7..000000000 --- a/app/.yalc/design-system/src/components/atoms/InformativeField/InformativeField.jsx +++ /dev/null @@ -1,45 +0,0 @@ -import React from 'react'; -import { Text, View } from 'react-native'; -import { Icon } from 'react-native-elements'; -import colors from '../../../styles/colors'; -import tw from "../../../utils/tailwind"; - -export const InformativeField = ({ - type = 'informative', - title = 'Aguardando contato', - text = '', - }) => { - const variants = { - informative: { - icon: 'info', - color: 'bg-new_background', - }, - error: { - icon: 'cancel', - color: 'bg-danger-200', - }, - warning: { - icon: 'error', - color: 'bg-secondary-500', - }, - }; - return ( - - - - - {title} - - {text} - - - - - ); -}; diff --git a/app/.yalc/design-system/src/components/atoms/InformativeField/InformativeField.stories.jsx b/app/.yalc/design-system/src/components/atoms/InformativeField/InformativeField.stories.jsx deleted file mode 100644 index 43720fecf..000000000 --- a/app/.yalc/design-system/src/components/atoms/InformativeField/InformativeField.stories.jsx +++ /dev/null @@ -1,25 +0,0 @@ -import React from "react"; -import { View } from "react-native"; -import {InformativeField} from './InformativeField'; - -const meta = { - title: "atoms/InformativeField", - component: InformativeField, - args: { - type: 'informative', - title: 'Aguardando contato', - text: 'Naruto eh incrivel ta ligado mano', - }, - decorators: [ - (Story) => ( - - - - ), - ], -}; - -export default meta; - - -export const Basic= {}; diff --git a/app/.yalc/design-system/src/components/atoms/Input/Input.jsx b/app/.yalc/design-system/src/components/atoms/Input/Input.jsx deleted file mode 100644 index c4a3f2e48..000000000 --- a/app/.yalc/design-system/src/components/atoms/Input/Input.jsx +++ /dev/null @@ -1,75 +0,0 @@ -import React from 'react'; -import { Text, View, TextInput } from 'react-native'; -import { TextInputMask } from 'react-native-masked-text'; -import colors from '../../../styles/colors'; -import {styles} from "./styles"; - -export const Input = ({ - value, - setValue, - placeholder, - mask, - label, - disabled = false, - error, - errorMessage, - type, - className, - lines = 1, - maxLength, -}) => { - const maskOptions = { - datetime: { - format: 'DD/MM/YYYY', - }, - 'cel-phone': { - maskType: 'BRL', - withDDD: true, - dddMask: '(99) ', - }, - }; - - const selectedMaskOption = (mask && maskOptions[mask]) || {}; - - const style = disabled ? styles.disabledInput : styles.enabledInput; - - const inputProps = { - value: value, - onChangeText: setValue, - placeholder: placeholder, - editable: !disabled, - placeholderTextColor: colors.black[300], - style: [style, { textAlignVertical: 'top' }], - }; - - return ( - - - {label} - - {mask ? ( - - ) : ( - 1} - maxLength={maxLength} - {...inputProps} - /> - )} - {!error && maxLength && ( - - {value.length}/{maxLength} - - )} - {error && ( - {errorMessage} - )} - - ); -}; \ No newline at end of file diff --git a/app/.yalc/design-system/src/components/atoms/Input/input.stories.jsx b/app/.yalc/design-system/src/components/atoms/Input/input.stories.jsx deleted file mode 100644 index 41658cd6f..000000000 --- a/app/.yalc/design-system/src/components/atoms/Input/input.stories.jsx +++ /dev/null @@ -1,29 +0,0 @@ -import React from "react"; -import { View } from "react-native"; -import {Input} from './Input'; - -const meta = { - title: "atoms/Input", - component: Input, - args: { - change: () => console.log(""), - label: "CEP", - placeholder: "Digite seu CEP", - value: "", - keyboard: "numeric", - maxLength: 8, - disabled: true - }, - decorators: [ - (Story) => ( - - - - ), - ], -}; - -export default meta; - - -export const Basic= {}; diff --git a/app/.yalc/design-system/src/components/atoms/Input/styles.js b/app/.yalc/design-system/src/components/atoms/Input/styles.js deleted file mode 100644 index a76bdad7f..000000000 --- a/app/.yalc/design-system/src/components/atoms/Input/styles.js +++ /dev/null @@ -1,41 +0,0 @@ -import {StyleSheet} from "react-native"; -import colors from "../../../styles/colors"; - - -export const styles = StyleSheet.create({ - label: { - fontSize: 14, - fontFamily: 'ms-semibold', - color: colors.black.DEFAULT, - marginVertical: 4, - }, - disabledInput: { - borderColor: colors.gray.DEFAULT, - borderWidth: 1, - borderRadius: 8, - backgroundColor: colors.background, - paddingVertical: 8, - paddingHorizontal: 16, - color: colors.black.DEFAULT, - fontFamily: 'ms-medium', - }, - enabledInput: { - borderColor: colors.gray.DEFAULT, - borderWidth: 1, - borderRadius: 8, - backgroundColor: 'white', - paddingVertical: 8, - paddingHorizontal: 16, - color: colors.black.DEFAULT, - fontFamily: 'ms-medium', - }, - maxLength: { - marginLeft: 'auto', - fontFamily: 'ms-regular', - fontSize: 12, - }, - errorMessage: { - fontSize: 14, - color: colors.danger.DEFAULT, - }, -}); diff --git a/app/.yalc/design-system/src/components/atoms/RoundedFullButton/RoundedFullButton.jsx b/app/.yalc/design-system/src/components/atoms/RoundedFullButton/RoundedFullButton.jsx deleted file mode 100644 index 1861f237d..000000000 --- a/app/.yalc/design-system/src/components/atoms/RoundedFullButton/RoundedFullButton.jsx +++ /dev/null @@ -1,30 +0,0 @@ -import React from 'react'; -import { Text, TouchableOpacity } from 'react-native'; -import tw from '../../../utils/tailwind'; - -export const RoundedFullButton = ({ - text, - onPress, - variant = 'primary', - disabled = false, - width, -}) => { - const variantStyles = { - primary: 'bg-primary text-white', - secondary: 'bg-white text-primary border border-1 border-primary border-opacity-100', - danger: 'bg-danger text-white', - warning: 'bg-thirt-rank text-black', - }; - - const selectedVariant = variantStyles[variant]; - - return ( - - - {text} - - - ); -}; diff --git a/app/.yalc/design-system/src/components/atoms/RoundedFullButton/RoundedFullButton.stories.jsx b/app/.yalc/design-system/src/components/atoms/RoundedFullButton/RoundedFullButton.stories.jsx deleted file mode 100644 index 118508c0d..000000000 --- a/app/.yalc/design-system/src/components/atoms/RoundedFullButton/RoundedFullButton.stories.jsx +++ /dev/null @@ -1,27 +0,0 @@ -import React from "react"; -import { View } from "react-native"; -import { RoundedFullButton } from "./RoundedFullButton"; - -const meta = { - title: "atoms/RoudedFullButton", - component: RoundedFullButton, - args: { - text: "Teste", - onPress: () => console.log("Hellow"), - variant: 'secondary', - disabled: false, - width: "0", - }, - decorators: [ - (Story) => ( - - - - ), - ], -}; - -export default meta; - - -export const Basic= {}; diff --git a/app/.yalc/design-system/src/components/atoms/SearchBar/SearchBar.jsx b/app/.yalc/design-system/src/components/atoms/SearchBar/SearchBar.jsx deleted file mode 100644 index 9d1b26a70..000000000 --- a/app/.yalc/design-system/src/components/atoms/SearchBar/SearchBar.jsx +++ /dev/null @@ -1,34 +0,0 @@ -import React from 'react'; -import { TextInput, View } from 'react-native'; -import { Icon } from 'react-native-elements'; -import { IconButton } from '../IconButton/IconButton'; -import { styles } from './styles'; -export const SearchBar = ({ value, setValue, placeholder }) => { - return ( - - - setValue(text)} - /> - - {!!value && ( - setValue('')} - /> - )} - - - ); -}; diff --git a/app/.yalc/design-system/src/components/atoms/SearchBar/styles.js b/app/.yalc/design-system/src/components/atoms/SearchBar/styles.js deleted file mode 100644 index 66c15f72b..000000000 --- a/app/.yalc/design-system/src/components/atoms/SearchBar/styles.js +++ /dev/null @@ -1,31 +0,0 @@ -import { StyleSheet } from 'react-native'; -import { RFValue } from 'react-native-responsive-fontsize'; -import fonts from '../../../styles/fonts'; - -export const styles = StyleSheet.create({ - searchBarContainer: { - borderRadius: RFValue(32, 640), - width: '100%', - borderWidth: 0.5, - borderColor: '#3535354d', - paddingHorizontal: 12, - paddingVertical: 8, - backgroundColor: 'white', - flexDirection: 'row', - alignItems: 'center', - maxHeight: RFValue(40, 640), - marginBottom: RFValue(24, 640), - }, - input: { - marginLeft: 4, - ...fonts.body, - width: '80%', - }, - buttonContainer: { - minWidth: '5%', - marginLeft: 'auto', - }, - iconButtonStyle: { - padding: 0, - }, -}); diff --git a/app/.yalc/design-system/src/components/atoms/SliderDescription/SliderDescription.jsx b/app/.yalc/design-system/src/components/atoms/SliderDescription/SliderDescription.jsx deleted file mode 100644 index 327b4ed2c..000000000 --- a/app/.yalc/design-system/src/components/atoms/SliderDescription/SliderDescription.jsx +++ /dev/null @@ -1,11 +0,0 @@ -import React from 'react'; -import { Text } from 'react-native'; -import tw from '../../../utils/tailwind'; - -export const SliderDescription = ({ description }) => { - return ( - - {description} - - ); -}; diff --git a/app/.yalc/design-system/src/components/atoms/SliderDescription/SliderDescription.stories.jsx b/app/.yalc/design-system/src/components/atoms/SliderDescription/SliderDescription.stories.jsx deleted file mode 100644 index 0067179fc..000000000 --- a/app/.yalc/design-system/src/components/atoms/SliderDescription/SliderDescription.stories.jsx +++ /dev/null @@ -1,23 +0,0 @@ -import React from "react"; -import { View } from "react-native"; -import { SliderDescription } from './SliderDescription'; - -const meta = { - title: "atoms/SliderDescription", - component: SliderDescription, - args: { - description: "Hello world", - }, - decorators: [ - (Story) => ( - - - - ), - ], -}; - -export default meta; - - -export const Basic= {}; diff --git a/app/.yalc/design-system/src/components/atoms/SliderTitle/SliderTitle.jsx b/app/.yalc/design-system/src/components/atoms/SliderTitle/SliderTitle.jsx deleted file mode 100644 index 77e1a9786..000000000 --- a/app/.yalc/design-system/src/components/atoms/SliderTitle/SliderTitle.jsx +++ /dev/null @@ -1,11 +0,0 @@ -import React from 'react'; -import { Text } from 'react-native'; -import tw from '../../../utils/tailwind'; - -export const SliderTitle = ({ title }) => { - return ( - - {title} - - ); -}; diff --git a/app/.yalc/design-system/src/components/atoms/SliderTitle/SliderTitle.stories.jsx b/app/.yalc/design-system/src/components/atoms/SliderTitle/SliderTitle.stories.jsx deleted file mode 100644 index 8d22ac9d6..000000000 --- a/app/.yalc/design-system/src/components/atoms/SliderTitle/SliderTitle.stories.jsx +++ /dev/null @@ -1,23 +0,0 @@ -import React from "react"; -import { View } from "react-native"; -import { SliderTitle } from './SliderTitle'; - -const meta = { - title: "atoms/SliderTitle", - component: SliderTitle, - args: { - title: "Hello world", - }, - decorators: [ - (Story) => ( - - - - ), - ], -}; - -export default meta; - - -export const Basic= {}; diff --git a/app/.yalc/design-system/src/components/atoms/TextButton/TextButton.stories.jsx b/app/.yalc/design-system/src/components/atoms/TextButton/TextButton.stories.jsx deleted file mode 100644 index 2aa607c9b..000000000 --- a/app/.yalc/design-system/src/components/atoms/TextButton/TextButton.stories.jsx +++ /dev/null @@ -1,25 +0,0 @@ -import React from "react"; -import { View } from "react-native"; -import { TextButton } from './index'; - -const meta = { - title: "atoms/TextButton", - component: TextButton, - args: { - text: "Hello World", - onPress: () => console.log("Salve"), - style: "" - }, - decorators: [ - (Story) => ( - - - - ), - ], -}; - -export default meta; - - -export const Basic= {}; diff --git a/app/.yalc/design-system/src/components/atoms/TextButton/index.jsx b/app/.yalc/design-system/src/components/atoms/TextButton/index.jsx deleted file mode 100644 index 47b9d0234..000000000 --- a/app/.yalc/design-system/src/components/atoms/TextButton/index.jsx +++ /dev/null @@ -1,15 +0,0 @@ -import React from 'react'; -import { Text, TouchableOpacity } from 'react-native'; -import tw from '../../../utils/tailwind'; - -export const TextButton = ({ text, onPress, style }) => { - return ( - - - {text} - - - ); -}; diff --git a/app/.yalc/design-system/src/components/atoms/TextSwitchButton/TextSwitchButton.jsx b/app/.yalc/design-system/src/components/atoms/TextSwitchButton/TextSwitchButton.jsx deleted file mode 100644 index 50f254358..000000000 --- a/app/.yalc/design-system/src/components/atoms/TextSwitchButton/TextSwitchButton.jsx +++ /dev/null @@ -1,20 +0,0 @@ -import React from 'react'; -import { Text, TouchableOpacity } from 'react-native'; -import tw from '../../../utils/tailwind'; - -export const TextSwitchButton = ({ text, isSelected, onPress }) => { - const style = { - container: isSelected ? 'bg-white' : 'bg-transparent', - text: isSelected - ? ' text-primary font-ms-semibold' - : 'text-black font-ms-regular', - }; - return ( - - {text} - - ); -}; diff --git a/app/.yalc/design-system/src/components/atoms/TextSwitchButton/TextSwitchButton.stories.jsx b/app/.yalc/design-system/src/components/atoms/TextSwitchButton/TextSwitchButton.stories.jsx deleted file mode 100644 index 5304c3e8e..000000000 --- a/app/.yalc/design-system/src/components/atoms/TextSwitchButton/TextSwitchButton.stories.jsx +++ /dev/null @@ -1,25 +0,0 @@ -import React from "react"; -import { View } from "react-native"; -import { TextSwitchButton } from './TextSwitchButton'; - -const meta = { - title: "atoms/TextSwitchButton", - component: TextSwitchButton, - args: { - text: "Hello World", - isSelected: true, - onPress: () => console.log("salve") - }, - decorators: [ - (Story) => ( - - - - ), - ], -}; - -export default meta; - - -export const Basic= {}; diff --git a/app/.yalc/design-system/src/components/atoms/ViewWithDivider/ViewWithDivider.jsx b/app/.yalc/design-system/src/components/atoms/ViewWithDivider/ViewWithDivider.jsx deleted file mode 100644 index 194926ad5..000000000 --- a/app/.yalc/design-system/src/components/atoms/ViewWithDivider/ViewWithDivider.jsx +++ /dev/null @@ -1,7 +0,0 @@ -import React from 'react'; -import { View } from 'react-native'; -import tw from '../../../utils/tailwind'; - -export const ViewWithDivider = ({ children }) => { - return {children}; -}; diff --git a/app/.yalc/design-system/src/components/atoms/ViewWithDivider/ViewWithDivider.stories.jsx b/app/.yalc/design-system/src/components/atoms/ViewWithDivider/ViewWithDivider.stories.jsx deleted file mode 100644 index 97c7bf204..000000000 --- a/app/.yalc/design-system/src/components/atoms/ViewWithDivider/ViewWithDivider.stories.jsx +++ /dev/null @@ -1,23 +0,0 @@ -import React from "react"; -import { View, Text } from "react-native"; -import { ViewWithDivider } from './ViewWithDivider'; - -const meta = { - title: "atoms/ViewWithDivider", - component: ViewWithDivider, - args: { - children: Hello World - }, - decorators: [ - (Story) => ( - - - - ), - ], -}; - -export default meta; - - -export const Basic= {}; diff --git a/app/.yalc/design-system/src/components/atoms/index.js b/app/.yalc/design-system/src/components/atoms/index.js deleted file mode 100644 index b02ba701e..000000000 --- a/app/.yalc/design-system/src/components/atoms/index.js +++ /dev/null @@ -1,31 +0,0 @@ -import { Chips } from "./Chips/Chips"; -import { DefaultButton } from "./DefaultButton/DefaultButton"; -import { CircleBadge } from "./CircleBadge/CircleBadge"; -import { CircleIconButton } from "./CircleIconButton"; -import { Divider } from "./Divider/Divider"; -import { IconButton } from "./IconButton/IconButton"; -import { InformativeField } from "./InformativeField/InformativeField"; -import { RoundedFullButton } from "./RoundedFullButton/RoundedFullButton"; -import { SearchBar } from "./SearchBar/SearchBar"; -import { SliderDescription } from "./SliderDescription/SliderDescription"; -import { SliderTitle } from "./SliderTitle/SliderTitle"; -import { TextButton } from "./TextButton/index"; -import { TextSwitchButton } from "./TextSwitchButton/TextSwitchButton"; -import { ViewWithDivider } from "./ViewWithDivider/ViewWithDivider"; - -export { - Chips, - DefaultButton, - CircleBadge, - CircleIconButton, - Divider, - IconButton, - InformativeField, - RoundedFullButton, - SearchBar, - SliderDescription, - SliderTitle, - TextButton, - TextSwitchButton, - ViewWithDivider -} diff --git a/app/.yalc/design-system/src/components/molecules/Badge/Badge.jsx b/app/.yalc/design-system/src/components/molecules/Badge/Badge.jsx deleted file mode 100644 index e9143a952..000000000 --- a/app/.yalc/design-system/src/components/molecules/Badge/Badge.jsx +++ /dev/null @@ -1,25 +0,0 @@ -import { View, Text } from 'react-native'; -import React from 'react'; -import tw from '../../../utils/tailwind'; - -export const Badge = ({ title, size = 'small' }) => { - const viewSize = { - small: 'px-2 py-1 m-0.5', - medium: 'px-3 py-1.5 m-0.5', - large: 'px-3.5 py-2 m-1', - }; - - const textSize = { - small: 'text-xss', - medium: 'text-xs', - large: 'text-sm', - }; - - return ( - - - {title} - - - ); -} diff --git a/app/.yalc/design-system/src/components/molecules/Badge/Badge.stories.js b/app/.yalc/design-system/src/components/molecules/Badge/Badge.stories.js deleted file mode 100644 index 92b14ad30..000000000 --- a/app/.yalc/design-system/src/components/molecules/Badge/Badge.stories.js +++ /dev/null @@ -1,24 +0,0 @@ -import React from "react"; -import { View } from "react-native"; -import { Badge } from './Badge'; - -const meta = { - title: "molecules/Badge", - component: Badge, - args: { - title: "Narutin", - size: "large" - }, - decorators: [ - (Story) => ( - - - - ), - ], -}; - -export default meta; - - -export const Basic= {}; diff --git a/app/.yalc/design-system/src/components/molecules/BadgeCard/BadgeCard.jsx b/app/.yalc/design-system/src/components/molecules/BadgeCard/BadgeCard.jsx deleted file mode 100644 index 2dceb2ebd..000000000 --- a/app/.yalc/design-system/src/components/molecules/BadgeCard/BadgeCard.jsx +++ /dev/null @@ -1,59 +0,0 @@ -import React from 'react'; -import { Text, View } from 'react-native'; -import { CircleBadge } from '../../atoms/CircleBadge/CircleBadge'; -import tw from '../../../utils/tailwind'; - -export const BadgeCard = ({ - badgeTemplate, - showLevel = false, - hidden = false, - }) => { - const getTitle = () => { - return `${badgeTemplate.name.split(' ')[0]} ${badgeTemplate.rank}`; - }; - - const title = showLevel ? `Nível ${badgeTemplate.rank}` : getTitle(); - - const hiddenBadgeInfo = { - iconName: 'help', - description: '-', - neededValue: '?', - rank: badgeTemplate.rank, - }; - const badgeInfo = hidden ? hiddenBadgeInfo : badgeTemplate; - - return ( - - - - - {title} - - - {badgeInfo.description} - - - - {badgeInfo.neededValue}/{badgeInfo.neededValue} - - - ); -}; diff --git a/app/.yalc/design-system/src/components/molecules/BadgeCard/BadgeCard.stories.js b/app/.yalc/design-system/src/components/molecules/BadgeCard/BadgeCard.stories.js deleted file mode 100644 index 49f9dba12..000000000 --- a/app/.yalc/design-system/src/components/molecules/BadgeCard/BadgeCard.stories.js +++ /dev/null @@ -1,30 +0,0 @@ -import React from "react"; -import { View } from "react-native"; -import { BadgeCard } from './BadgeCard'; - -const meta = { - title: "molecules/BadgeCard", - component: BadgeCard, - args: { - hidden: true, - badgeTemplate: { - name: "", - iconName: 'help', - description: '-', - neededValue: '?', - rank: "1", - } - }, - decorators: [ - (Story) => ( - - - - ), - ], -}; - -export default meta; - - -export const Basic= {}; diff --git a/app/.yalc/design-system/src/components/molecules/CategoriesList/CategoriesList.jsx b/app/.yalc/design-system/src/components/molecules/CategoriesList/CategoriesList.jsx deleted file mode 100644 index 2bffc5a8e..000000000 --- a/app/.yalc/design-system/src/components/molecules/CategoriesList/CategoriesList.jsx +++ /dev/null @@ -1,19 +0,0 @@ -import React from 'react'; -import { Badge } from '../Badge/Badge'; -import { View } from 'react-native'; -import tw from '../../../utils/tailwind'; - -export const CategoriesList = ({ - categories, - size = 'medium', - customStyle = '', - }) => { - const align = categories?.length >= 3 ? 'justify-center' : ''; - return ( - - {categories?.map((category) => ( - - ))} - - ); -}; diff --git a/app/.yalc/design-system/src/components/molecules/CategoriesList/CategoriesList.stories.js b/app/.yalc/design-system/src/components/molecules/CategoriesList/CategoriesList.stories.js deleted file mode 100644 index 103d9287c..000000000 --- a/app/.yalc/design-system/src/components/molecules/CategoriesList/CategoriesList.stories.js +++ /dev/null @@ -1,29 +0,0 @@ -import React from "react"; -import { View } from "react-native"; -import { CategoriesList } from './CategoriesList'; - -const meta = { - title: "molecules/CategoriesList", - component: CategoriesList, - args: { - categories: [{ - name: "narutin", - _id: "0" - }, { - name: "sasuke", - _id: "0" - }] - }, - decorators: [ - (Story) => ( - - - - ), - ], -}; - -export default meta; - - -export const Basic= {}; diff --git a/app/.yalc/design-system/src/components/molecules/CustomDrawerItem/CustomDrawerItem.jsx b/app/.yalc/design-system/src/components/molecules/CustomDrawerItem/CustomDrawerItem.jsx deleted file mode 100644 index 4eb1d7ed2..000000000 --- a/app/.yalc/design-system/src/components/molecules/CustomDrawerItem/CustomDrawerItem.jsx +++ /dev/null @@ -1,18 +0,0 @@ -import React from 'react'; -import { Text, TouchableOpacity } from 'react-native'; -import { styles } from './styles'; -export const CustomDrawerItem = ({ isSelected, icon, label, onPress }) => { - return ( - - {icon()} - {label} - - ); -}; diff --git a/app/.yalc/design-system/src/components/molecules/CustomDrawerItem/CustomDrawerItem.stories.js b/app/.yalc/design-system/src/components/molecules/CustomDrawerItem/CustomDrawerItem.stories.js deleted file mode 100644 index 57845e21e..000000000 --- a/app/.yalc/design-system/src/components/molecules/CustomDrawerItem/CustomDrawerItem.stories.js +++ /dev/null @@ -1,26 +0,0 @@ -import React from "react"; -import { View } from "react-native"; -import { CustomDrawerItem } from './CustomDrawerItem'; - -const meta = { - title: "molecules/CustomDrawerItem", - component: CustomDrawerItem, - args: { - isSelected: true, - label: "Narutin", - icon: () => , - onPress: () => console.log("salve") - }, - decorators: [ - (Story) => ( - - - - ), - ], -}; - -export default meta; - - -export const Basic= {}; diff --git a/app/.yalc/design-system/src/components/molecules/CustomDrawerItem/styles.js b/app/.yalc/design-system/src/components/molecules/CustomDrawerItem/styles.js deleted file mode 100644 index 5f949bdac..000000000 --- a/app/.yalc/design-system/src/components/molecules/CustomDrawerItem/styles.js +++ /dev/null @@ -1,30 +0,0 @@ -import { StyleSheet } from 'react-native'; -import { RFValue } from 'react-native-responsive-fontsize'; -import { oldColors } from '../../../styles/oldColors'; -import fonts from '../../../styles/fonts'; - -const commonContainerStyle = { - width: '100%', - flexDirection: 'row', - marginVertical: RFValue(4, 640), - maxWidth: RFValue(240, 640), - overflow: 'hidden', - paddingVertical: RFValue(8, 640), -}; -export const styles = StyleSheet.create({ - drawerItemContainer: { - marginLeft: RFValue(16, 640), - ...commonContainerStyle, - }, - selectedDrawerItemContainer: { - ...commonContainerStyle, - backgroundColor: oldColors.primaryLowOpacity, - paddingHorizontal: RFValue(4, 640), - marginLeft: RFValue(12, 640), - borderRadius: 4, - }, - label: { - ...fonts.body, - marginLeft: RFValue(16, 640), - }, -}); diff --git a/app/.yalc/design-system/src/components/molecules/CustomHeader/CustomHeader.jsx b/app/.yalc/design-system/src/components/molecules/CustomHeader/CustomHeader.jsx deleted file mode 100644 index 385a5a6d1..000000000 --- a/app/.yalc/design-system/src/components/molecules/CustomHeader/CustomHeader.jsx +++ /dev/null @@ -1,37 +0,0 @@ -import React from 'react'; -import { Text, View } from 'react-native'; -import { IconButton } from "../../../components/atoms/IconButton/IconButton"; -import { RoundedFullButton } from '../../../components/atoms/RoundedFullButton/RoundedFullButton'; -import { styles } from './styles'; - -export const CustomHeader = ({ title, navigation, iconType, buttonProps }) => { - const isDrawerButton = iconType === 'drawer'; - const icon = isDrawerButton - ? { - icon: 'menu', - theme: 'light', - customStyle: styles.customMenuStyle, - } - : { - icon: 'arrow-back', - theme: 'dark', - }; - - const onPress = isDrawerButton - ? () => navigation.openDrawer() - : () => navigation.goBack(); - - return ( - - - - {title} - {buttonProps?.visible && ( - - - - )} - - - ); -}; diff --git a/app/.yalc/design-system/src/components/molecules/CustomHeader/styles.js b/app/.yalc/design-system/src/components/molecules/CustomHeader/styles.js deleted file mode 100644 index 0dfea67ce..000000000 --- a/app/.yalc/design-system/src/components/molecules/CustomHeader/styles.js +++ /dev/null @@ -1,30 +0,0 @@ -import { StyleSheet } from 'react-native'; - -import { RFValue } from 'react-native-responsive-fontsize'; -import { oldColors } from '../../../styles/oldColors'; -import fonts from '../../../styles/fonts'; - -export const styles = StyleSheet.create({ - header: { - width: '100%', - height: RFValue(48, 640), - justifyContent: 'center', - backgroundColor: 'transparent', - }, - content: { - flexDirection: 'row', - alignItems: 'center', - }, - title: { - ...fonts.subtitle, - color: oldColors.dark, - fontFamily: 'montserrat-bold', - }, - customMenuStyle: { - backgroundColor: oldColors.primary, - padding: RFValue(4, 640), - marginRight: RFValue(8, 640), - marginLeft: RFValue(8, 640), - borderRadius: 100, - }, -}); diff --git a/app/.yalc/design-system/src/components/molecules/DefaultButtonWithBadges/DefaultButtonWithBadges.jsx b/app/.yalc/design-system/src/components/molecules/DefaultButtonWithBadges/DefaultButtonWithBadges.jsx deleted file mode 100644 index 001e0328f..000000000 --- a/app/.yalc/design-system/src/components/molecules/DefaultButtonWithBadges/DefaultButtonWithBadges.jsx +++ /dev/null @@ -1,29 +0,0 @@ -import React from 'react'; -import { Text, View } from 'react-native'; -import { Badge } from 'react-native-elements'; -import { DefaultButton } from '../../atoms/DefaultButton/DefaultButton'; -import styles from '../../../styles/helpDescription'; -import tw from "../../../utils/tailwind"; - -export const DefaultButtonWithBadges = ({ - title, - onPress, - badgeValue, - marginTop = '', - disabled, -}) => { - return ( - - - {badgeValue}} - badgeStyle={[styles.badgeStyle, styles.smallBadge]} - containerStyle={styles.containerBadge} - /> - - ); -}; diff --git a/app/.yalc/design-system/src/components/molecules/DefaultButtonWithBadges/DefaultButtonWithBadges.stories.js b/app/.yalc/design-system/src/components/molecules/DefaultButtonWithBadges/DefaultButtonWithBadges.stories.js deleted file mode 100644 index f0abc0ee5..000000000 --- a/app/.yalc/design-system/src/components/molecules/DefaultButtonWithBadges/DefaultButtonWithBadges.stories.js +++ /dev/null @@ -1,26 +0,0 @@ -import React from "react"; -import { View } from "react-native"; -import { DefaultButtonWithBadges } from './DefaultButtonWithBadges'; - -const meta = { - title: "molecules/DefaultButtonWithBadges", - component: DefaultButtonWithBadges, - args: { - title: "Narutin", - onPress: () => console.log("salve"), - badgeValue: "1", - disabled: false, - }, - decorators: [ - (Story) => ( - - - - ), - ], -}; - -export default meta; - - -export const Basic= {}; diff --git a/app/.yalc/design-system/src/components/molecules/DescriptionBox/DescriptionBox.jsx b/app/.yalc/design-system/src/components/molecules/DescriptionBox/DescriptionBox.jsx deleted file mode 100644 index 0f564fdf3..000000000 --- a/app/.yalc/design-system/src/components/molecules/DescriptionBox/DescriptionBox.jsx +++ /dev/null @@ -1,23 +0,0 @@ -import React from 'react'; -import { Text, View } from 'react-native'; -import tw from "../../../utils/tailwind"; - -export const DescriptionBox = ({ title, description, maxLines = 4 }) => { - return ( - - - {title} - - - - {description} - - - - ); -}; diff --git a/app/.yalc/design-system/src/components/molecules/DescriptionBox/DescriptionBox.stories.js b/app/.yalc/design-system/src/components/molecules/DescriptionBox/DescriptionBox.stories.js deleted file mode 100644 index b3e8e0a03..000000000 --- a/app/.yalc/design-system/src/components/molecules/DescriptionBox/DescriptionBox.stories.js +++ /dev/null @@ -1,23 +0,0 @@ -import React from "react"; -import { View } from "react-native"; -import { DescriptionBox } from './DescriptionBox'; - -const meta = { - title: "molecules/DescriptionBox", - component: DescriptionBox, - args: { - title: 'Narutin', - description: 'Narutin eh demais muleke' - }, - decorators: [ - (Story) => ( - - - - ), - ], -}; - -export default meta; - -export const Basic= {}; diff --git a/app/.yalc/design-system/src/components/molecules/Dialog/Dialog.jsx b/app/.yalc/design-system/src/components/molecules/Dialog/Dialog.jsx deleted file mode 100644 index c240df09c..000000000 --- a/app/.yalc/design-system/src/components/molecules/Dialog/Dialog.jsx +++ /dev/null @@ -1,50 +0,0 @@ -import React from 'react'; -import { Modal, Pressable, Text, View } from 'react-native'; -import tw from '../../../utils/tailwind'; - -export const Dialog = ({ - isVisible, - onCloseDialog, - title, - description, - cancelText, - animationType = 'slide', - confirmText = 'Ok', - onConfirmPress, -}) => { - return ( - - - - {title && ( - - {title} - - )} - - {description} - - - {cancelText && ( - - - {cancelText} - - - )} - - - {confirmText} - - - - - - - ); -}; diff --git a/app/.yalc/design-system/src/components/molecules/Dialog/Dialog.stories.js b/app/.yalc/design-system/src/components/molecules/Dialog/Dialog.stories.js deleted file mode 100644 index 7ad0b42c0..000000000 --- a/app/.yalc/design-system/src/components/molecules/Dialog/Dialog.stories.js +++ /dev/null @@ -1,27 +0,0 @@ -import React from "react"; -import { View } from "react-native"; -import { Dialog } from './Dialog'; - -const meta = { - title: "molecules/Dialog", - component: Dialog, - args: { - isVisible: true, - onCloseDialog: () => console.log(''), - title: 'Narutin', - description: 'Narutin é massa pra carai', - cancelText: 'CANCELA', - onConfirmPress: () => console.log(''), - }, - decorators: [ - (Story) => ( - - - - ), - ], -}; - -export default meta; - -export const Basic= {}; diff --git a/app/.yalc/design-system/src/components/molecules/FloatingIconButton/FloatingIconButton.jsx b/app/.yalc/design-system/src/components/molecules/FloatingIconButton/FloatingIconButton.jsx deleted file mode 100644 index 2227fa2fb..000000000 --- a/app/.yalc/design-system/src/components/molecules/FloatingIconButton/FloatingIconButton.jsx +++ /dev/null @@ -1,26 +0,0 @@ -import React from 'react'; -import { View } from 'react-native'; -import { CircleIconButton } from '../../atoms/CircleIconButton'; -import tw from "../../../utils/tailwind"; - -export const FloatingIconButton = ({ - position = 'left', - iconName, - onPress, - customTop = null, - iconSize, - color, -}) => { - const convertPosition = `${position}-2`; - const positionY = customTop || 'top-2'; - return ( - - - - ); -}; diff --git a/app/.yalc/design-system/src/components/molecules/FloatingIconButton/FloatingIconButton.stories.js b/app/.yalc/design-system/src/components/molecules/FloatingIconButton/FloatingIconButton.stories.js deleted file mode 100644 index 00d085ade..000000000 --- a/app/.yalc/design-system/src/components/molecules/FloatingIconButton/FloatingIconButton.stories.js +++ /dev/null @@ -1,25 +0,0 @@ -import React from "react"; -import { View } from "react-native"; -import { FloatingIconButton } from './FloatingIconButton'; - -const meta = { - title: "molecules/FloatingIconButton", - component: FloatingIconButton, - args: { - iconName: 'arrow-back', - onPress: () => console.log(''), - iconSize: '2xl', - color: '#4a4a4a', - }, - decorators: [ - (Story) => ( - - - - ), - ], -}; - -export default meta; - -export const Basic= {}; diff --git a/app/.yalc/design-system/src/components/molecules/FollowCount/FollowCount.jsx b/app/.yalc/design-system/src/components/molecules/FollowCount/FollowCount.jsx deleted file mode 100644 index fbdc7a673..000000000 --- a/app/.yalc/design-system/src/components/molecules/FollowCount/FollowCount.jsx +++ /dev/null @@ -1,23 +0,0 @@ -import { useNavigation } from '@react-navigation/native'; -import React from 'react'; -import { TouchableOpacity, Text } from 'react-native'; -import tw from "../../../utils/tailwind"; - -export const FollowCount = ({ count, type, userId }) => { - const navigation = useNavigation(); - const types = { - following: 'seguindo', - followers: 'seguidores', - }; - - const handlePress = () => { - navigation.navigate('userList', { userId: userId, followType: type }); - }; - - return ( - - {count} - {` ${types[type]}`} - - ); -}; diff --git a/app/.yalc/design-system/src/components/molecules/FollowCount/FollowCount.stories.js b/app/.yalc/design-system/src/components/molecules/FollowCount/FollowCount.stories.js deleted file mode 100644 index a7296e1a2..000000000 --- a/app/.yalc/design-system/src/components/molecules/FollowCount/FollowCount.stories.js +++ /dev/null @@ -1,27 +0,0 @@ -import React from "react"; -import { View } from "react-native"; -import { FollowCount } from './FollowCount'; -import { NavigationContainer } from "@react-navigation/native"; - -const meta = { - title: "molecules/FollowCount", - component: FollowCount, - args: { - count: 1, - type: 'following', - userId:'12312' - }, - decorators: [ - (Story) => ( - - - - - - ), - ], -}; - -export default meta; - -export const Basic= {}; diff --git a/app/.yalc/design-system/src/components/molecules/ProfilePhoto/ProfilePhoto.jsx b/app/.yalc/design-system/src/components/molecules/ProfilePhoto/ProfilePhoto.jsx deleted file mode 100644 index c5a6709e8..000000000 --- a/app/.yalc/design-system/src/components/molecules/ProfilePhoto/ProfilePhoto.jsx +++ /dev/null @@ -1,25 +0,0 @@ -import React from 'react'; -import { Image } from 'react-native'; -import tw from "../../../utils/tailwind"; - -export const ProfilePhoto = ({ base64, size, additionalStyle }) => { - const imageSource = base64 - ? { - uri: `data:image/png;base64,${base64}`, - } - : require('../../../assets/noImage.png'); - - const sizes = { - xs: 'w-10 h-10', - sm: 'w-12 h-12', - md: 'w-16 h-16', - lg: 'w-24 h-24', - }; - const selectedSize = sizes[size]; - return ( - - ); -}; diff --git a/app/.yalc/design-system/src/components/molecules/ProfilePhoto/ProfilePhoto.stories.js b/app/.yalc/design-system/src/components/molecules/ProfilePhoto/ProfilePhoto.stories.js deleted file mode 100644 index b0b1d9b30..000000000 --- a/app/.yalc/design-system/src/components/molecules/ProfilePhoto/ProfilePhoto.stories.js +++ /dev/null @@ -1,24 +0,0 @@ -import React from "react"; -import { View } from "react-native"; -import { ProfilePhoto } from './ProfilePhoto'; - -const meta = { - title: "molecules/ProfilePhoto", - component: ProfilePhoto, - args: { - base64: '', - size: 'lg', - additionalStyle: '' - }, - decorators: [ - (Story) => ( - - - - ), - ], -}; - -export default meta; - -export const Basic= {}; diff --git a/app/.yalc/design-system/src/components/molecules/TextSwitch/TextSwitch.jsx b/app/.yalc/design-system/src/components/molecules/TextSwitch/TextSwitch.jsx deleted file mode 100644 index 1177a443d..000000000 --- a/app/.yalc/design-system/src/components/molecules/TextSwitch/TextSwitch.jsx +++ /dev/null @@ -1,28 +0,0 @@ -import React from 'react'; -import { View } from 'react-native'; -import { TextSwitchButton } from '../../atoms/TextSwitchButton/TextSwitchButton'; -import tw from "../../../utils/tailwind"; - -export const TextSwitch = ({ - option1, - option2, - selectedOption, - setSelectedOption, - darker = false, -}) => { - const background = darker ? 'bg-gray' : 'bg-background'; - return ( - - setSelectedOption(0)} - isSelected={selectedOption === 0} - /> - setSelectedOption(1)} - isSelected={selectedOption === 1} - /> - - ); -}; diff --git a/app/.yalc/design-system/src/components/molecules/TextSwitch/TextSwitch.stories.js b/app/.yalc/design-system/src/components/molecules/TextSwitch/TextSwitch.stories.js deleted file mode 100644 index 390a3000f..000000000 --- a/app/.yalc/design-system/src/components/molecules/TextSwitch/TextSwitch.stories.js +++ /dev/null @@ -1,25 +0,0 @@ -import React from "react"; -import { View } from "react-native"; -import { TextSwitch } from './TextSwitch'; - -const meta = { - title: "molecules/TextSwitch", - component: TextSwitch, - args: { - option1: 'Narutin', - option2: 'Sasuke', - selectedOption: 0, - setSelectedOption: (index) => console.log(index), - }, - decorators: [ - (Story) => ( - - - - ), - ], -}; - -export default meta; - -export const Basic= {}; diff --git a/app/.yalc/design-system/src/components/molecules/TimeLineItem/TimeLineItem.jsx b/app/.yalc/design-system/src/components/molecules/TimeLineItem/TimeLineItem.jsx deleted file mode 100644 index c68176932..000000000 --- a/app/.yalc/design-system/src/components/molecules/TimeLineItem/TimeLineItem.jsx +++ /dev/null @@ -1,30 +0,0 @@ -import React from 'react'; -import { Image, Text, View } from 'react-native'; -import { Divider } from '../../atoms/Divider/Divider'; -import tw from "../../../utils/tailwind"; - -export const TimeLineItem = ({ data, hasImage }) => { - return ( - - - {hasImage && ( - - )} - - - {data.title} - - - {data.description} - - - - - - ); -}; diff --git a/app/.yalc/design-system/src/components/molecules/TimeLineItem/TimeLineItem.stories.js b/app/.yalc/design-system/src/components/molecules/TimeLineItem/TimeLineItem.stories.js deleted file mode 100644 index eb9ef980a..000000000 --- a/app/.yalc/design-system/src/components/molecules/TimeLineItem/TimeLineItem.stories.js +++ /dev/null @@ -1,25 +0,0 @@ -import React from "react"; -import { View } from "react-native"; -import { TimeLineItem } from './TimeLineItem'; - -const meta = { - title: "molecules/TimeLineItem", - component: TimeLineItem, - args: { - data: { - title: 'Narutin', - description: 'Salve salve' - } - }, - decorators: [ - (Story) => ( - - - - ), - ], -}; - -export default meta; - -export const Basic= {}; diff --git a/app/.yalc/design-system/src/components/molecules/index.js b/app/.yalc/design-system/src/components/molecules/index.js deleted file mode 100644 index 25fbfb19a..000000000 --- a/app/.yalc/design-system/src/components/molecules/index.js +++ /dev/null @@ -1,29 +0,0 @@ -import { Badge } from "./Badge/Badge"; -import { BadgeCard } from "./BadgeCard/BadgeCard"; -import { CategoriesList } from "./CategoriesList/CategoriesList"; -import { CustomDrawerItem } from "./CustomDrawerItem/CustomDrawerItem" -import { CustomHeader } from "./CustomHeader/CustomHeader"; -import { DefaultButtonWithBadges } from "./DefaultButtonWithBadges/DefaultButtonWithBadges"; -import { DescriptionBox } from "./DescriptionBox/DescriptionBox"; -import { Dialog } from "./Dialog/Dialog"; -import { FollowCount } from "./FollowCount/FollowCount"; -import { ProfilePhoto } from "./ProfilePhoto/ProfilePhoto"; -import { TextSwitch } from "./TextSwitch/TextSwitch"; -import { TimeLineItem } from "./TimeLineItem/TimeLineItem"; -import { FloatingIconButton } from "./FloatingIconButton/FloatingIconButton"; - -export { - Badge, - BadgeCard, - CategoriesList, - CustomDrawerItem, - CustomHeader, - DefaultButtonWithBadges, - DescriptionBox, - Dialog, - FollowCount, - ProfilePhoto, - TextSwitch, - TimeLineItem, - FloatingIconButton -} diff --git a/app/.yalc/design-system/src/styles/colors.js b/app/.yalc/design-system/src/styles/colors.js deleted file mode 100644 index 65990c6f4..000000000 --- a/app/.yalc/design-system/src/styles/colors.js +++ /dev/null @@ -1,50 +0,0 @@ -module.exports = { - primary: { - DEFAULT: 'rgba(75, 138, 185, 1)', - 100: 'rgba(75, 138, 185, 0.1)', - 200: 'rgba(75, 138, 185, 0.2)', - 300: 'rgba(75, 138, 185, 0.3)', - 400: 'rgba(75, 138, 185, 0.4)', - 500: 'rgba(75, 138, 185, 0.5)', - 600: 'rgba(75, 138, 185, 0.6)', - 700: 'rgba(75, 138, 185, 0.7)', - 800: 'rgba(75, 138, 185, 0.8)', - 900: 'rgba(75, 138, 185, 0.9)', - contrast: '#81b0ff', - darker: '#182C3B', - }, - secondary: { - DEFAULT: '#f7ef6e', - 500: '#FAD980', - }, - danger: { - DEFAULT: 'rgba(228, 113, 113, 1)', - 100: 'rgba(228, 113, 113, 0.1)', - 200: 'rgba(228, 113, 113, 0.2)', - 300: 'rgba(228, 113, 113, 0.3)', - darker: '#681111', - }, - black: { - DEFAULT: 'rgba(53,53,53,1)', - 100: 'rgba(53,53,53,0.1)', - 200: 'rgba(53,53,53,0.2)', - 300: 'rgba(53,53,53,0.3)', - 400: 'rgba(53,53,53,0.4)', - 500: 'rgba(53,53,53,0.5)', - 600: 'rgba(53,53,53,0.6)', - 700: 'rgba(53,53,53,0.7)', - 800: 'rgba(53,53,53,0.8)', - 900: 'rgba(53,53,53,0.9)', - }, - light: '#f7f7f7', - success: '#77dd77', - background: '#f1f1f1', - new_background: '#F2F2F7', - gray: { - DEFAULT: '#e6e6e6', - contrast: '#D2D2D2', - }, - 'first-rank': '#BF6159', - 'second-rank': '#538D95', - 'thirt-rank': '#D0A408', -}; diff --git a/app/.yalc/design-system/src/styles/fonts.js b/app/.yalc/design-system/src/styles/fonts.js deleted file mode 100644 index 80088fd62..000000000 --- a/app/.yalc/design-system/src/styles/fonts.js +++ /dev/null @@ -1,31 +0,0 @@ -import colors from './colors'; -import { RFValue } from 'react-native-responsive-fontsize'; - -const minimumTextSize = 14; -const fontFamily = 'montserrat-regular'; -const defaultProps = { - color: colors.dark, - fontFamily: fontFamily, -}; - -const fonts = { - title: { - ...defaultProps, - fontSize: RFValue(minimumTextSize * 1.5, 640), - }, - subtitle: { - ...defaultProps, - fontSize: RFValue(minimumTextSize * 1.2, 640), - }, - body: { - ...defaultProps, - fontSize: RFValue(minimumTextSize, 640), - }, - - small: { - ...defaultProps, - fontSize: RFValue(minimumTextSize * 0.75, 640), - }, -}; - -export default fonts; diff --git a/app/.yalc/design-system/src/styles/helpDescription.js b/app/.yalc/design-system/src/styles/helpDescription.js deleted file mode 100644 index 55b3ae715..000000000 --- a/app/.yalc/design-system/src/styles/helpDescription.js +++ /dev/null @@ -1,106 +0,0 @@ -import { oldColors } from './oldColors'; -import { RFValue } from 'react-native-responsive-fontsize'; - -const helpDescription = { - container: { - flex: 1, - padding: 20, - zIndex: -1, - }, - userInfo: { - flex: 1, - flexDirection: 'row', - }, - profileImage: { - width: 70, - height: 70, - resizeMode: 'cover', - borderRadius: 50, - marginHorizontal: 10, - alignSelf: 'center', - position: 'absolute', - }, - infoTextView: { - alignSelf: 'center', - marginLeft: 40, - paddingRight: 100, - }, - infoTitle: { - fontSize: RFValue(16, 640), - fontFamily: 'montserrat-semibold', - }, - infoText: { - fontSize: RFValue(14, 640), - fontFamily: 'montserrat-regular', - textAlign: 'justify', - }, - infoTextFont: { - fontFamily: 'montserrat-semibold', - }, - infoTextDescription: { - fontFamily: 'montserrat-semibold', - marginTop: 20, - marginBottom: 10, - }, - helpInfo: { - flex: 1, - paddingHorizontal: 16, - }, - buttonInteresteds: { - width: '100%', - backgroundColor: oldColors.primary, - padding: 12, - alignItems: 'center', - justifyContent: 'center', - borderRadius: 6, - }, - textBtn: { - color: '#FFF', - fontSize: RFValue(16, 640), - fontWeight: 'bold', - }, - containerBadge: { - position: 'absolute', - top: -7, - right: -6, - }, - badgeStyle: { - backgroundColor: oldColors.danger, - height: 30, - width: 30, - borderRadius: 50, - }, - labelBadge: { - color: '#FFF', - fontWeight: 'bold', - }, - titleFont: { - fontFamily: 'montserrat-semibold', - }, - categoryWarning: { - backgroundColor: oldColors.secondary, - borderRadius: 8, - maxHeight: 30, - paddingHorizontal: 15, - alignSelf: 'center', - marginLeft: 5, - marginTop: 5, - }, - - categoryName: { - fontSize: RFValue(12, 640), - fontFamily: 'montserrat-semibold', - lineHeight: 30, - textAlign: 'center', - alignSelf: 'center', - }, - categoryContainer: { - flexDirection: 'row', - width: '100%', - marginBottom: 32, - justifyContent: 'center', - flexWrap: 'wrap', - }, -}; - -export default helpDescription; diff --git a/app/.yalc/design-system/src/styles/oldColors.js b/app/.yalc/design-system/src/styles/oldColors.js deleted file mode 100644 index 7eaa8ef37..000000000 --- a/app/.yalc/design-system/src/styles/oldColors.js +++ /dev/null @@ -1,12 +0,0 @@ -export const oldColors = { - primary: '#4b8ab9', - 'primary-400': 'rgba(75, 138, 185, 0.4)', - primaryContrast: '#81b0ff', - primaryLowOpacity: '#E4F4FF', - secondary: '#f7ef6e', - danger: '#e47171', - 'danger-400': 'rgba(228, 113, 113, 0.4)', - dark: '#353535', - light: '#f7f7f7', - success: '#77dd77', -}; diff --git a/app/.yalc/design-system/src/utils/getActivityIcon.js b/app/.yalc/design-system/src/utils/getActivityIcon.js deleted file mode 100644 index 0a3a72903..000000000 --- a/app/.yalc/design-system/src/utils/getActivityIcon.js +++ /dev/null @@ -1,19 +0,0 @@ -function getActivityIcon(activityType) { - const activitiesVariants = { - help: { - name: 'exclamation', - type: 'font-awesome', - }, - offer: { - name: 'volunteer-activism', - type: 'material', - }, - campaign: { - name: 'home', - type: 'material', - }, - }; - return activitiesVariants[activityType]; -} - -export default getActivityIcon; diff --git a/app/.yalc/design-system/src/utils/tailwind.js b/app/.yalc/design-system/src/utils/tailwind.js deleted file mode 100644 index 4589b8528..000000000 --- a/app/.yalc/design-system/src/utils/tailwind.js +++ /dev/null @@ -1,5 +0,0 @@ -import { create } from 'twrnc'; - -const tw = create(require(`../../tailwind.config.js`)); - -export default tw; diff --git a/app/.yalc/design-system/tailwind.config.js b/app/.yalc/design-system/tailwind.config.js deleted file mode 100644 index 28146f7e8..000000000 --- a/app/.yalc/design-system/tailwind.config.js +++ /dev/null @@ -1,24 +0,0 @@ -const colors = require('./src/styles/colors'); - -module.exports = { - content: ['./index.{js,jsx,ts,tsx}', './src/**/*.{js,jsx,ts,tsx}'], - theme: { - extend: { - colors: colors, - spacing: { - 38: '9.5rem', - }, - fontSize: { - xss: '10px', - }, - }, - fontFamily: { - 'ms-bold': ['montserrat-bold'], - 'ms-semibold': ['montserrat-semibold'], - 'ms-medium': ['montserrat-medium'], - 'ms-regular': ['montserrat-regular'], - 'ms-light': ['montserrat-light'], - }, - }, - plugins: [], -}; diff --git a/app/.yalc/design-system/tsconfig.json b/app/.yalc/design-system/tsconfig.json deleted file mode 100644 index b9567f605..000000000 --- a/app/.yalc/design-system/tsconfig.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "extends": "expo/tsconfig.base", - "compilerOptions": { - "strict": true - } -} diff --git a/app/.yalc/design-system/yalc.sig b/app/.yalc/design-system/yalc.sig deleted file mode 100644 index b38646bb1..000000000 --- a/app/.yalc/design-system/yalc.sig +++ /dev/null @@ -1 +0,0 @@ -c5ba0f154ebaa063d582d1c5d2a57b11 \ No newline at end of file diff --git a/app/.yalc/information-center/.nvmrc b/app/.yalc/information-center/.nvmrc deleted file mode 100644 index 016efd8a0..000000000 --- a/app/.yalc/information-center/.nvmrc +++ /dev/null @@ -1 +0,0 @@ -v20.10.0 \ No newline at end of file diff --git a/app/.yalc/information-center/README.md b/app/.yalc/information-center/README.md deleted file mode 100644 index cd4feb8a3..000000000 --- a/app/.yalc/information-center/README.md +++ /dev/null @@ -1,50 +0,0 @@ -# Welcome to your Expo app 👋 - -This is an [Expo](https://expo.dev) project created with [`create-expo-app`](https://www.npmjs.com/package/create-expo-app). - -## Get started - -1. Install dependencies - - ```bash - npm install - ``` - -2. Start the app - - ```bash - npx expo start - ``` - -In the output, you'll find options to open the app in a - -- [development build](https://docs.expo.dev/develop/development-builds/introduction/) -- [Android emulator](https://docs.expo.dev/workflow/android-studio-emulator/) -- [iOS simulator](https://docs.expo.dev/workflow/ios-simulator/) -- [Expo Go](https://expo.dev/go), a limited sandbox for trying out app development with Expo - -You can start developing by editing the files inside the **app** directory. This project uses [file-based routing](https://docs.expo.dev/router/introduction). - -## Get a fresh project - -When you're ready, run: - -```bash -npm run reset-project -``` - -This command will move the starter code to the **app-example** directory and create a blank **app** directory where you can start developing. - -## Learn more - -To learn more about developing your project with Expo, look at the following resources: - -- [Expo documentation](https://docs.expo.dev/): Learn fundamentals, or go into advanced topics with our [guides](https://docs.expo.dev/guides). -- [Learn Expo tutorial](https://docs.expo.dev/tutorial/introduction/): Follow a step-by-step tutorial where you'll create a project that runs on Android, iOS, and the web. - -## Join the community - -Join our community of developers creating universal apps. - -- [Expo on GitHub](https://github.com/expo/expo): View our open source platform and contribute. -- [Discord community](https://chat.expo.dev): Chat with Expo users and ask questions. diff --git a/app/.yalc/information-center/app.json b/app/.yalc/information-center/app.json deleted file mode 100644 index 713303bc1..000000000 --- a/app/.yalc/information-center/app.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "expo": { - "name": "request-offers-page", - "slug": "request-offers-page", - "version": "1.0.0", - "orientation": "portrait", - "icon": "./assets/images/icon.png", - "scheme": "myapp", - "userInterfaceStyle": "automatic", - "splash": { - "image": "./assets/images/splash.png", - "resizeMode": "contain", - "backgroundColor": "#ffffff" - }, - "ios": { - "supportsTablet": true - }, - "android": { - "adaptiveIcon": { - "foregroundImage": "./assets/images/adaptive-icon.png", - "backgroundColor": "#ffffff" - } - }, - "web": { - "bundler": "metro", - "output": "static", - "favicon": "./assets/images/favicon.png" - }, - "plugins": [ - "expo-router" - ], - "experiments": { - "typedRoutes": true - } - } -} diff --git a/app/.yalc/information-center/app/_layout.jsx b/app/.yalc/information-center/app/_layout.jsx deleted file mode 100644 index f0ef6723c..000000000 --- a/app/.yalc/information-center/app/_layout.jsx +++ /dev/null @@ -1,9 +0,0 @@ -import { Stack } from "expo-router"; - -export default function RootLayout() { - return ( - - - - ); -} diff --git a/app/.yalc/information-center/app/index.jsx b/app/.yalc/information-center/app/index.jsx deleted file mode 100644 index 5ae0798dc..000000000 --- a/app/.yalc/information-center/app/index.jsx +++ /dev/null @@ -1,16 +0,0 @@ -import { Text, View } from "react-native"; -import { InformationsCenter } from "../src/pages/InformationsCenter"; - -export default function Index() { - return ( - - - - ); -} diff --git a/app/.yalc/information-center/babel.config.js b/app/.yalc/information-center/babel.config.js deleted file mode 100644 index 9d89e1311..000000000 --- a/app/.yalc/information-center/babel.config.js +++ /dev/null @@ -1,6 +0,0 @@ -module.exports = function (api) { - api.cache(true); - return { - presets: ['babel-preset-expo'], - }; -}; diff --git a/app/.yalc/information-center/index.js b/app/.yalc/information-center/index.js deleted file mode 100644 index 5755243d6..000000000 --- a/app/.yalc/information-center/index.js +++ /dev/null @@ -1,5 +0,0 @@ -import { InformationsCenter } from './src/pages/InformationsCenter'; - -export { - InformationsCenter -} \ No newline at end of file diff --git a/app/.yalc/information-center/metro.config.js b/app/.yalc/information-center/metro.config.js deleted file mode 100644 index 62fbec05b..000000000 --- a/app/.yalc/information-center/metro.config.js +++ /dev/null @@ -1,14 +0,0 @@ -const { getDefaultConfig } = require('expo/metro-config'); - -const config = getDefaultConfig(__dirname); - -config.transformer.babelTransformerPath = require.resolve( - 'react-native-svg-transformer', -); - -config.resolver.assetExts = config.resolver.assetExts.filter( - (ext) => ext !== 'svg', -); -config.resolver.sourceExts = [...config.resolver.sourceExts, 'svg']; - -module.exports = config; diff --git a/app/.yalc/information-center/package.json b/app/.yalc/information-center/package.json deleted file mode 100644 index f3b5f78ca..000000000 --- a/app/.yalc/information-center/package.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "information-center", - "main": "index.js", - "version": "1.0.0", - "scripts": { - "start": "expo start", - "reset-project": "node ./scripts/reset-project.js", - "android": "expo start --android", - "ios": "expo start --ios", - "web": "expo start --web", - "test": "jest --watchAll", - "lint": "expo lint" - }, - "jest": { - "preset": "jest-expo" - }, - "dependencies": { - "@react-native-async-storage/async-storage": "^1.23.1", - "design-system": "file:/Users/sabanai/Documents/MyProjects/MiaAjuda/Frontend/app/.yalc" - }, - "yalcSig": "90c05b507d2d0360a937804a1ec5cd64" -} diff --git a/app/.yalc/information-center/scripts/reset-project.js b/app/.yalc/information-center/scripts/reset-project.js deleted file mode 100755 index 536579624..000000000 --- a/app/.yalc/information-center/scripts/reset-project.js +++ /dev/null @@ -1,73 +0,0 @@ -#!/usr/bin/env node - -/** - * This script is used to reset the project to a blank state. - * It moves the /app directory to /app-example and creates a new /app directory with an index.jsx and _layout.jsx file. - * You can remove the `reset-project` script from package.json and safely delete this file after running it. - */ - -const fs = require('fs'); -const path = require('path'); - -const root = process.cwd(); -const oldDirPath = path.join(root, 'app'); -const newDirPath = path.join(root, 'app-example'); -const newAppDirPath = path.join(root, 'app'); - -const indexContent = `import { Text, View } from "react-native"; - -export default function Index() { - return ( - - Edit app/index.tsx to edit this screen. - - ); -} -`; - -const layoutContent = `import { Stack } from "expo-router"; - -export default function RootLayout() { - return ( - - - - ); -} -`; - -fs.rename(oldDirPath, newDirPath, (error) => { - if (error) { - return console.error(`Error renaming directory: ${error}`); - } - console.log('/app moved to /app-example.'); - - fs.mkdir(newAppDirPath, { recursive: true }, (error) => { - if (error) { - return console.error(`Error creating new app directory: ${error}`); - } - console.log('New /app directory created.'); - - const indexPath = path.join(newAppDirPath, 'index.jsx'); - fs.writeFile(indexPath, indexContent, (error) => { - if (error) { - return console.error(`Error creating index.tsx: ${error}`); - } - console.log('app/index.jsx created.'); - - const layoutPath = path.join(newAppDirPath, '_layout.jsx'); - fs.writeFile(layoutPath, layoutContent, (error) => { - if (error) { - return console.error(`Error creating _layout.tsx: ${error}`); - } - console.log('app/_layout.jsx created.'); - }); - }); - }); -}); diff --git a/app/.yalc/information-center/src/assets/Step1.svg b/app/.yalc/information-center/src/assets/Step1.svg deleted file mode 100644 index ca48b6a55..000000000 --- a/app/.yalc/information-center/src/assets/Step1.svg +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/app/.yalc/information-center/src/assets/Step2.svg b/app/.yalc/information-center/src/assets/Step2.svg deleted file mode 100644 index b4b8b651f..000000000 --- a/app/.yalc/information-center/src/assets/Step2.svg +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/app/.yalc/information-center/src/assets/Step3.svg b/app/.yalc/information-center/src/assets/Step3.svg deleted file mode 100644 index 1cf82d443..000000000 --- a/app/.yalc/information-center/src/assets/Step3.svg +++ /dev/null @@ -1,53 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/app/.yalc/information-center/src/assets/blueCat.png b/app/.yalc/information-center/src/assets/blueCat.png deleted file mode 100644 index a42b617ade7d31e62688033b6d88fb8c03013c43..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7986 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 - ); -} diff --git a/app/.yalc/information-center/src/components/EmergencyNumbers/modal.jsx b/app/.yalc/information-center/src/components/EmergencyNumbers/modal.jsx deleted file mode 100644 index 112c9089e..000000000 --- a/app/.yalc/information-center/src/components/EmergencyNumbers/modal.jsx +++ /dev/null @@ -1,42 +0,0 @@ -import React from 'react'; -import { Modal, ScrollView, Text, View } from 'react-native'; -import styles from './styles'; -import {FloatingIconButton} from "../FloatingIconButton"; - -export const ModalComponent = (props) => { - return ( - props.setVisible(false)} - animationType="fade" - > - - - { - props.setVisible(false); - }} - /> - - {props.list.map((numbers) => { - return ( - - - {' '} - {numbers.description}{' '} - - - {' '} - {numbers.number}{' '} - - - ); - })} - - - - - ); -}; diff --git a/app/.yalc/information-center/src/components/EmergencyNumbers/styles.js b/app/.yalc/information-center/src/components/EmergencyNumbers/styles.js deleted file mode 100644 index c7a978e7e..000000000 --- a/app/.yalc/information-center/src/components/EmergencyNumbers/styles.js +++ /dev/null @@ -1,47 +0,0 @@ -import { StyleSheet } from 'react-native'; -import colors from '../../styles/colors'; - -const minimumTextSize = 16; - -const styles = StyleSheet.create({ - modalContainer: { - width: '100%', - height: '100%', - backgroundColor: 'rgba(0,0,0,0.3)', - }, - - modalContent: { - paddingTop: 50, - backgroundColor: colors.light, - padding: 20, - marginBottom: 50, - borderRadius: 20, - top: '2.5%', - }, - - title: { - alignSelf: 'center', - marginBottom: 10, - fontFamily: 'montserrat-semibold', - color: colors.primary.DEFAULT, - fontSize: minimumTextSize * 1.5, - }, - - description: { - alignSelf: 'center', - textAlign: 'center', - marginBottom: 10, - fontFamily: 'montserrat-semibold', - color: colors.primary.DEFAULT, - fontSize: minimumTextSize, - }, - - icon: { - top: '5.5%', - right: 20, - position: 'absolute', - zIndex: 5, - }, -}); - -export default styles; diff --git a/app/.yalc/information-center/src/components/FloatingIconButton/index.jsx b/app/.yalc/information-center/src/components/FloatingIconButton/index.jsx deleted file mode 100644 index f2e75e0df..000000000 --- a/app/.yalc/information-center/src/components/FloatingIconButton/index.jsx +++ /dev/null @@ -1,26 +0,0 @@ -import React from 'react'; -import { View } from 'react-native'; -import { CircleIconButton } from 'design-system'; -import tw from '../../utils/tailwind'; - -export const FloatingIconButton = ({ - position = 'left', - iconName, - onPress, - customTop = null, - iconSize, - color, -}) => { - const convertPosition = `${position}-2`; - const positionY = customTop || 'top-2'; - return ( - - - - ); -}; diff --git a/app/.yalc/information-center/src/components/SliderModal/index.jsx b/app/.yalc/information-center/src/components/SliderModal/index.jsx deleted file mode 100644 index 0a576e7ca..000000000 --- a/app/.yalc/information-center/src/components/SliderModal/index.jsx +++ /dev/null @@ -1,31 +0,0 @@ -import React from 'react'; -import { Modal, Pressable, Text } from 'react-native'; -import Onboarding from 'react-native-onboarding-swiper'; -import tw from '../../utils/tailwind'; - -export const SliderModal = ({ pages, visible, closeModal }) => { - const textButton = ({ onPress, nextLabel, skipLabel }) => ( - - - {nextLabel || skipLabel} - - - ); - - return ( - - - textButton({ nextLabel: 'Finalizar', ...props }) - } - /> - - ); -}; diff --git a/app/.yalc/information-center/src/components/TutorialCard/index.jsx b/app/.yalc/information-center/src/components/TutorialCard/index.jsx deleted file mode 100644 index 73dfa7a8e..000000000 --- a/app/.yalc/information-center/src/components/TutorialCard/index.jsx +++ /dev/null @@ -1,37 +0,0 @@ -import React from 'react'; -import { Image, Pressable, Text, View } from 'react-native'; -import colors from '../../styles/colors'; -import blueCat from "../../assets/blueCat.png"; -import styles from './style'; -import tw from '../../utils/tailwind'; -export const TutorialCard = ({ - title, - description, - onPress, - margin = '', - leftAligment = true, -}) => { - const flexRow = leftAligment ? 'flex-row' : 'flex-row-reverse'; - return ( - - - - - {title} - - - {description} - - - - ); -}; diff --git a/app/.yalc/information-center/src/components/TutorialCard/style.js b/app/.yalc/information-center/src/components/TutorialCard/style.js deleted file mode 100644 index b7aed817e..000000000 --- a/app/.yalc/information-center/src/components/TutorialCard/style.js +++ /dev/null @@ -1,11 +0,0 @@ -import { StyleSheet } from 'react-native'; - -const styles = StyleSheet.create({ - image: { - resizeMode: 'contain', - height: 80, - width: '20%' - }, -}) - -export default styles; \ No newline at end of file diff --git a/app/.yalc/information-center/src/pages/InformationsCenter/index.jsx b/app/.yalc/information-center/src/pages/InformationsCenter/index.jsx deleted file mode 100644 index d7e0dfe2a..000000000 --- a/app/.yalc/information-center/src/pages/InformationsCenter/index.jsx +++ /dev/null @@ -1,49 +0,0 @@ -import React, { useState } from 'react'; -import { View } from 'react-native'; -import faqOption from '../../utils/docs/FAQ/faqOptions'; -import { TutorialCard } from '../../components/TutorialCard'; -import { SliderModal } from '../../components/SliderModal'; -import EmergencyNumbers from '../../components/EmergencyNumbers'; -import tw from '../../utils/tailwind'; - - -export const InformationsCenter = () => { - const [pages, setPages] = useState([]); - const [modalVisible, setModalVisible] = useState(false); - const [emergencyNumbersVisible, setEmergencyNumbersVisible] = - useState(false); - - const handleShowModal = (id) => { - const selectedPages = faqOption[id].pages; - setPages(selectedPages); - setModalVisible(true); - }; - - return ( - - setModalVisible(false)} - /> - - {faqOption.map((faq, i) => ( - { - faq.emergencyModal - ? setEmergencyNumbersVisible(true) - : handleShowModal(i); - }} - /> - ))} - - ) -} diff --git a/app/.yalc/information-center/src/styles/colors.js b/app/.yalc/information-center/src/styles/colors.js deleted file mode 100644 index 65990c6f4..000000000 --- a/app/.yalc/information-center/src/styles/colors.js +++ /dev/null @@ -1,50 +0,0 @@ -module.exports = { - primary: { - DEFAULT: 'rgba(75, 138, 185, 1)', - 100: 'rgba(75, 138, 185, 0.1)', - 200: 'rgba(75, 138, 185, 0.2)', - 300: 'rgba(75, 138, 185, 0.3)', - 400: 'rgba(75, 138, 185, 0.4)', - 500: 'rgba(75, 138, 185, 0.5)', - 600: 'rgba(75, 138, 185, 0.6)', - 700: 'rgba(75, 138, 185, 0.7)', - 800: 'rgba(75, 138, 185, 0.8)', - 900: 'rgba(75, 138, 185, 0.9)', - contrast: '#81b0ff', - darker: '#182C3B', - }, - secondary: { - DEFAULT: '#f7ef6e', - 500: '#FAD980', - }, - danger: { - DEFAULT: 'rgba(228, 113, 113, 1)', - 100: 'rgba(228, 113, 113, 0.1)', - 200: 'rgba(228, 113, 113, 0.2)', - 300: 'rgba(228, 113, 113, 0.3)', - darker: '#681111', - }, - black: { - DEFAULT: 'rgba(53,53,53,1)', - 100: 'rgba(53,53,53,0.1)', - 200: 'rgba(53,53,53,0.2)', - 300: 'rgba(53,53,53,0.3)', - 400: 'rgba(53,53,53,0.4)', - 500: 'rgba(53,53,53,0.5)', - 600: 'rgba(53,53,53,0.6)', - 700: 'rgba(53,53,53,0.7)', - 800: 'rgba(53,53,53,0.8)', - 900: 'rgba(53,53,53,0.9)', - }, - light: '#f7f7f7', - success: '#77dd77', - background: '#f1f1f1', - new_background: '#F2F2F7', - gray: { - DEFAULT: '#e6e6e6', - contrast: '#D2D2D2', - }, - 'first-rank': '#BF6159', - 'second-rank': '#538D95', - 'thirt-rank': '#D0A408', -}; diff --git a/app/.yalc/information-center/src/styles/fonts.js b/app/.yalc/information-center/src/styles/fonts.js deleted file mode 100644 index 80088fd62..000000000 --- a/app/.yalc/information-center/src/styles/fonts.js +++ /dev/null @@ -1,31 +0,0 @@ -import colors from './colors'; -import { RFValue } from 'react-native-responsive-fontsize'; - -const minimumTextSize = 14; -const fontFamily = 'montserrat-regular'; -const defaultProps = { - color: colors.dark, - fontFamily: fontFamily, -}; - -const fonts = { - title: { - ...defaultProps, - fontSize: RFValue(minimumTextSize * 1.5, 640), - }, - subtitle: { - ...defaultProps, - fontSize: RFValue(minimumTextSize * 1.2, 640), - }, - body: { - ...defaultProps, - fontSize: RFValue(minimumTextSize, 640), - }, - - small: { - ...defaultProps, - fontSize: RFValue(minimumTextSize * 0.75, 640), - }, -}; - -export default fonts; diff --git a/app/.yalc/information-center/src/utils/docs/FAQ/EmergencyNumbers.js b/app/.yalc/information-center/src/utils/docs/FAQ/EmergencyNumbers.js deleted file mode 100644 index 2bbfb0f82..000000000 --- a/app/.yalc/information-center/src/utils/docs/FAQ/EmergencyNumbers.js +++ /dev/null @@ -1,19 +0,0 @@ -const emergencyNumbers = [ - { id: '1', number: '100', description: 'Disque Direitos Humanos' }, - { id: '2', number: '156', description: 'Governo no Distrito Federal' }, - { - id: '3', - number: '180', - description: 'Delegacias especializadas de atendimento à mulher', - }, - { id: '4', number: '181', description: 'Disque Denúncia (Geral)' }, - { id: '5', number: '190', description: 'Polícia Militar' }, - { id: '6', number: '191', description: 'Polícia Rodoviária Federal' }, - { id: '7', number: '192', description: 'SAMU' }, - { id: '8', number: '193', description: 'Corpo de Bombeiros' }, - { id: '9', number: '194', description: 'Polícia Federal' }, - { id: '10', number: '197', description: 'Polícia Civil' }, - { id: '11', number: '(61) 3207-4242', description: 'DECRIN' }, -]; - -export default emergencyNumbers; diff --git a/app/.yalc/information-center/src/utils/docs/FAQ/faqOptions.jsx b/app/.yalc/information-center/src/utils/docs/FAQ/faqOptions.jsx deleted file mode 100644 index b4627c29f..000000000 --- a/app/.yalc/information-center/src/utils/docs/FAQ/faqOptions.jsx +++ /dev/null @@ -1,59 +0,0 @@ -import { getSliderBody } from '../../getSliderBody'; - -const faqOptions = [ - { - id: 1, - title: 'Como criar um pedido oferta ou campanha?', - description: - 'Não sabe como criar um pedido oferta ou campanha? Clique aqui para entender melhor como fazer.', - pages: [ - getSliderBody( - 1, - 'Entrar na página de pedidos e ofertas', - 'Clique no ícone "Menu" para abrir a navegação e selecione a aba "Meus Pedidos e Ofertas.', - ), - getSliderBody( - 2, - 'Entrar na aba de meus pedidos ou minhas ofertas', - 'Se você quer criar um pedido, deve entrar na aba de meu pedidos, caso queria uma oferta, na aba de ofertas.', - ), - getSliderBody( - 3, - 'Clicar no botão de criação e preencher os dados', - 'Por fim, basta você clicar no botão Criar Oferta / pedido e preencher todos os dados requisitados.', - ), - ], - }, - { - id: 2, - title: 'Como interagir com um pedido, oferta ou campanha?', - description: - 'Está com dúvidas em como interagir com um pedido oferta ou campanha? Clique aqui para entender melhor como fazer.', - pages: [ - getSliderBody( - 1, - 'Entrar na página Mapa', - 'Clique no ícone "Menu" para abrir a navegação e selecione a aba "Mapa"', - ), - getSliderBody( - 2, - 'Procurar pedido, oferta ou campanha', - 'No mapa aparecerão alguns marcadores indicando pedidos, campanhas e ofertas, além de uma lista inferior com esses pedidos.', - ), - getSliderBody( - 3, - 'Clicar no pedido, oferta ou campanha', - 'Clique no marcador ou na lista inferior para abrir a página do pedido, oferta ou campanha.', - ), - ], - }, - { - id: 3, - title: 'Contatos Importantes', - description: - 'Lista dos principais contatos que você pode utilizar em uma situação de emergência.', - emergencyModal: true, - }, -]; - -export default faqOptions; diff --git a/app/.yalc/information-center/src/utils/getSliderBody.jsx b/app/.yalc/information-center/src/utils/getSliderBody.jsx deleted file mode 100644 index 294e2903d..000000000 --- a/app/.yalc/information-center/src/utils/getSliderBody.jsx +++ /dev/null @@ -1,21 +0,0 @@ -import React from 'react'; -import Step1 from '../assets/Step1.svg'; -import Step2 from '../assets/Step2.svg'; -import Step3 from '../assets/Step3.svg'; -import colors from '../styles/colors'; -import { SliderDescription, SliderTitle } from 'design-system'; - -export const getSliderBody = (index, title, subtitle) => { - const stepImages = { - 1: , - 2: , - 3: , - }; - const image = stepImages[index]; - return { - backgroundColor: colors.light, - image, - title: , - subtitle: , - }; -}; diff --git a/app/.yalc/information-center/src/utils/tailwind.js b/app/.yalc/information-center/src/utils/tailwind.js deleted file mode 100644 index 4589b8528..000000000 --- a/app/.yalc/information-center/src/utils/tailwind.js +++ /dev/null @@ -1,5 +0,0 @@ -import { create } from 'twrnc'; - -const tw = create(require(`../../tailwind.config.js`)); - -export default tw; diff --git a/app/.yalc/information-center/tailwind.config.js b/app/.yalc/information-center/tailwind.config.js deleted file mode 100644 index e49246d8a..000000000 --- a/app/.yalc/information-center/tailwind.config.js +++ /dev/null @@ -1,24 +0,0 @@ -const colors = require('./src/styles/colors'); - -module.exports = { - content: ['./index.{js,jsx,ts,tsx}', './src/**/*.{js,jsx,ts,tsx}'], - theme: { - extend: { - colors: colors, - spacing: { - 38: '9.5rem', - }, - fontSize: { - xss: '10px', - }, - }, - fontFamily: { - 'ms-bold': ['montserrat-bold'], - 'ms-semibold': ['montserrat-semibold'], - 'ms-medium': ['montserrat-medium'], - 'ms-regular': ['montserrat-regular'], - 'ms-light': ['montserrat-light'], - }, - }, - plugins: [], -}; diff --git a/app/.yalc/information-center/tsconfig.json b/app/.yalc/information-center/tsconfig.json deleted file mode 100644 index 909e90108..000000000 --- a/app/.yalc/information-center/tsconfig.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "extends": "expo/tsconfig.base", - "compilerOptions": { - "strict": true, - "paths": { - "@/*": [ - "./*" - ] - } - }, - "include": [ - "**/*.ts", - "**/*.tsx", - ".expo/types/**/*.ts", - "expo-env.d.ts" - ] -} diff --git a/app/.yalc/information-center/yalc.sig b/app/.yalc/information-center/yalc.sig deleted file mode 100644 index 901fa3410..000000000 --- a/app/.yalc/information-center/yalc.sig +++ /dev/null @@ -1 +0,0 @@ -90c05b507d2d0360a937804a1ec5cd64 \ No newline at end of file diff --git a/app/package.json b/app/package.json index 6741f9779..931ec2e79 100644 --- a/app/package.json +++ b/app/package.json @@ -20,7 +20,6 @@ "@react-navigation/native": "^6.1.6", "@react-navigation/stack": "^6.3.16", "axios": "^1.4.0", - "design-system": "file:.yalc/design-system", "expo": "~48.0.18", "expo-camera": "~13.2.1", "expo-device": "~5.2.1", @@ -30,8 +29,9 @@ "expo-status-bar": "~1.4.4", "firebase": "^9.22.2", "formik": "^2.4.1", - "information-center": "file:.yalc/information-center", "jwt-decode": "^3.1.2", + "mia-ajuda-information-center": "^1.0.0", + "mia-auda-design-system": "^1.0.0", "moment": "^2.29.4", "nativewind": "^2.0.11", "react": "18.2.0", diff --git a/app/src/Navigation/MainNavigation/MainNavigationStyles/MainStackHeaderStyle.jsx b/app/src/Navigation/MainNavigation/MainNavigationStyles/MainStackHeaderStyle.jsx index f936c5dfe..964e2eeb3 100644 --- a/app/src/Navigation/MainNavigation/MainNavigationStyles/MainStackHeaderStyle.jsx +++ b/app/src/Navigation/MainNavigation/MainNavigationStyles/MainStackHeaderStyle.jsx @@ -1,5 +1,5 @@ import React from 'react'; -import { CustomHeader } from '../../../components/molecules/CustomHeader'; +import { CustomHeader } from 'mia-auda-design-system'; import { getScreenTtile } from '../../../utils/getScreenTitle'; const headerStyle = ({ diff --git a/app/src/Navigation/MainNavigation/index.jsx b/app/src/Navigation/MainNavigation/index.jsx index 6967dd51a..8c7157a3e 100644 --- a/app/src/Navigation/MainNavigation/index.jsx +++ b/app/src/Navigation/MainNavigation/index.jsx @@ -4,7 +4,7 @@ import { drawerScreenOptions } from './options'; import Routes from './Routes'; import { CustomDrawerContent } from '../../components/templates/CustomDrawerContent'; import { UserContext } from '../../store/contexts/userContext'; -import { InformationsCenter } from 'information-center'; +import { InformationsCenter } from 'mia-ajuda-information-center'; import headerStyle from './MainNavigationStyles/MainStackHeaderStyle'; const Drawer = createDrawerNavigator(); diff --git a/app/src/components/FAQModals/EmergencyNumbersModal/index.jsx b/app/src/components/FAQModals/EmergencyNumbersModal/index.jsx deleted file mode 100644 index e00465fc8..000000000 --- a/app/src/components/FAQModals/EmergencyNumbersModal/index.jsx +++ /dev/null @@ -1,14 +0,0 @@ -import React from 'react'; -import emergencyNumbers from '../../../docs/FAQ/EmergencyNumbers'; -import { ModalComponent } from '../modal'; - -export default function EmergencyNumbers({ visible, setVisible }) { - // TODO: replace it later with a new modal - return ( - - ); -} diff --git a/app/src/components/FAQModals/modal.jsx b/app/src/components/FAQModals/modal.jsx deleted file mode 100644 index 34023d3fa..000000000 --- a/app/src/components/FAQModals/modal.jsx +++ /dev/null @@ -1,42 +0,0 @@ -import React from 'react'; -import { Modal, ScrollView, Text, View } from 'react-native'; -import styles from './styles'; -import { FloatingIconButton } from '../molecules/FloatingIconButton'; - -export const ModalComponent = (props) => { - return ( - props.setVisible(false)} - animationType="fade" - > - - - { - props.setVisible(false); - }} - /> - - {props.list.map((numbers) => { - return ( - - - {' '} - {numbers.number}{' '} - - - {' '} - {numbers.description}{' '} - - - ); - })} - - - - - ); -}; diff --git a/app/src/components/FAQModals/styles.js b/app/src/components/FAQModals/styles.js deleted file mode 100644 index 6a28aa6f9..000000000 --- a/app/src/components/FAQModals/styles.js +++ /dev/null @@ -1,46 +0,0 @@ -import { StyleSheet } from 'react-native'; -import colors from '../../../assets/styles/colorVariables'; - -const minimumTextSize = 16; - -const styles = StyleSheet.create({ - modalContainer: { - width: '100%', - height: '100%', - backgroundColor: 'rgba(0,0,0,0.3)', - }, - - modalContent: { - paddingTop: 50, - backgroundColor: colors.light, - padding: 20, - marginBottom: 50, - borderRadius: 20, - top: '2.5%', - }, - - title: { - alignSelf: 'center', - marginBottom: 10, - fontFamily: 'montserrat-semibold', - color: colors.primary, - fontSize: minimumTextSize * 1.5, - }, - - description: { - alignSelf: 'center', - marginBottom: 10, - fontFamily: 'montserrat-semibold', - color: colors.primary, - fontSize: minimumTextSize, - }, - - icon: { - top: '5.5%', - right: 20, - position: 'absolute', - zIndex: 5, - }, -}); - -export default styles; diff --git a/app/src/components/UserItem/index.jsx b/app/src/components/UserItem/index.jsx index 6f6360577..d5ae291e2 100644 --- a/app/src/components/UserItem/index.jsx +++ b/app/src/components/UserItem/index.jsx @@ -2,7 +2,7 @@ import { useNavigation } from '@react-navigation/native'; import React from 'react'; import { View, Image, Text, Pressable } from 'react-native'; import shortenName, { untilTwoLastNames } from '../../utils/shortenName'; -import { RoundedFullButton } from 'design-system'; +import { RoundedFullButton } from 'mia-auda-design-system'; const UserItem = ({ user, showButton = false, onPress }) => { const navigation = useNavigation(); diff --git a/app/src/components/atoms/UserProfileCard/index.jsx b/app/src/components/atoms/UserProfileCard/index.jsx index 37f84a023..0a09fc909 100644 --- a/app/src/components/atoms/UserProfileCard/index.jsx +++ b/app/src/components/atoms/UserProfileCard/index.jsx @@ -1,6 +1,6 @@ import React, { Fragment } from 'react'; import { Pressable, Text, View } from 'react-native'; -import { ProfilePhoto } from '../../molecules/ProfilePhoto'; +import { ProfilePhoto } from 'mia-auda-design-system'; import formatPhone from '../../../utils/formatPhone'; import { Icon } from 'react-native-elements'; import { useNavigation } from '@react-navigation/native'; diff --git a/app/src/components/modals/ActivityBottomSheet/EntityActivity.jsx b/app/src/components/modals/ActivityBottomSheet/EntityActivity.jsx index 8b4799141..e8602a7be 100644 --- a/app/src/components/modals/ActivityBottomSheet/EntityActivity.jsx +++ b/app/src/components/modals/ActivityBottomSheet/EntityActivity.jsx @@ -3,7 +3,7 @@ import colors from '../../../../colors'; import { Icon } from 'react-native-elements'; import { Text, View } from 'react-native'; import shortenName from '../../../utils/shortenName'; -import { DefaultButton, CategoriesList } from 'design-system'; +import { DefaultButton, CategoriesList } from 'mia-auda-design-system'; import openWhatsapp from '../../../utils/openWhatsapp'; import { openMaps } from '../../../utils/openMaps'; diff --git a/app/src/components/modals/ActivityBottomSheet/FilterActivity.jsx b/app/src/components/modals/ActivityBottomSheet/FilterActivity.jsx index b9d8958ad..9084f1e14 100644 --- a/app/src/components/modals/ActivityBottomSheet/FilterActivity.jsx +++ b/app/src/components/modals/ActivityBottomSheet/FilterActivity.jsx @@ -2,7 +2,7 @@ import React, { useContext, useRef, useState } from 'react'; import { BaseBottomSheet } from '../BaseBottomSheet'; import { Dimensions, Text, View } from 'react-native'; import { Icon } from 'react-native-elements'; -import { Chips, DefaultButton, ViewWithDivider } from 'design-system'; +import { Chips, DefaultButton, ViewWithDivider } from 'mia-auda-design-system'; import { CategoryContext } from '../../../store/contexts/categoryContext'; import filterButtonTypes from '../../../docs/filterMarkers'; import colors from '../../../../colors'; diff --git a/app/src/components/modals/ActivityBottomSheet/UserActivity/index.jsx b/app/src/components/modals/ActivityBottomSheet/UserActivity/index.jsx index 39953cd3f..b32cbb31f 100644 --- a/app/src/components/modals/ActivityBottomSheet/UserActivity/index.jsx +++ b/app/src/components/modals/ActivityBottomSheet/UserActivity/index.jsx @@ -1,10 +1,9 @@ import React, { useContext, useState } from 'react'; import { Text, View } from 'react-native'; import { Icon } from 'react-native-elements'; -import { ProfilePhoto } from '../../../molecules/ProfilePhoto'; import getYearsSince from '../../../../utils/getYearsSince'; import shortenName from '../../../../utils/shortenName'; -import { CategoriesList } from 'design-system'; +import { CategoriesList, Dialog, ProfilePhoto } from 'mia-auda-design-system'; import getActivityIcon from '../../../../utils/getActivityIcon'; import Button from '../../../UI/button'; import colors from '../../../../../colors'; @@ -13,7 +12,6 @@ import { ActivitiesContext } from '../../../../store/contexts/activitiesContext' import { BadgeContext } from '../../../../store/contexts/badgeContext'; import { LoadingContext } from '../../../../store/contexts/loadingContext'; import { UserContext } from '../../../../store/contexts/userContext'; -import { Dialog } from '../../../molecules/Dialog'; import { translatedActivities } from '../../../../utils/translatedActivities'; export const UserActivity = ({ diff --git a/app/src/components/modals/BadgeEarnModal/index.jsx b/app/src/components/modals/BadgeEarnModal/index.jsx index 222b700cd..f60818885 100644 --- a/app/src/components/modals/BadgeEarnModal/index.jsx +++ b/app/src/components/modals/BadgeEarnModal/index.jsx @@ -1,6 +1,6 @@ import React, { useEffect, useState } from 'react'; import { BaseModal } from '../BaseModal'; -import { CircleBadge } from 'design-system'; +import { CircleBadge } from 'mia-auda-design-system'; import { Text, View } from 'react-native'; import Button from '../../UI/button'; diff --git a/app/src/components/modals/BaseBottomSheet/index.jsx b/app/src/components/modals/BaseBottomSheet/index.jsx index dfa56d786..0875b181a 100644 --- a/app/src/components/modals/BaseBottomSheet/index.jsx +++ b/app/src/components/modals/BaseBottomSheet/index.jsx @@ -5,7 +5,7 @@ import { BottomSheetScrollView, } from '@gorhom/bottom-sheet'; import React, { useEffect } from 'react'; -import { FloatingIconButton } from '../../molecules/FloatingIconButton'; +import { FloatingIconButton } from 'mia-auda-design-system'; import { ActivityIndicator, Image, View } from 'react-native'; import colors from '../../../../colors'; diff --git a/app/src/components/modals/BaseModal/index.jsx b/app/src/components/modals/BaseModal/index.jsx index 1ace20f7c..5dff0fc66 100644 --- a/app/src/components/modals/BaseModal/index.jsx +++ b/app/src/components/modals/BaseModal/index.jsx @@ -1,6 +1,6 @@ import React from 'react'; import { Modal, View } from 'react-native'; -import { FloatingIconButton } from '../../molecules/FloatingIconButton'; +import { FloatingIconButton } from 'mia-auda-design-system'; export const BaseModal = ({ isVisible, diff --git a/app/src/components/modals/expansiveModal/index.jsx b/app/src/components/modals/expansiveModal/index.jsx index 627b65e8c..f88cbc44a 100644 --- a/app/src/components/modals/expansiveModal/index.jsx +++ b/app/src/components/modals/expansiveModal/index.jsx @@ -5,7 +5,7 @@ import callService from '../../../services/callService'; import helpService from '../../../services/Help'; import { alertSuccess } from '../../../utils/Alert'; import { BaseBottomSheet } from '../BaseBottomSheet'; -import { Dialog } from '../../molecules/Dialog'; +import { Dialog } from 'mia-auda-design-system'; export const ExpansiveModal = ({ setShowModal, diff --git a/app/src/components/molecules/BadgeCard/index.jsx b/app/src/components/molecules/BadgeCard/index.jsx deleted file mode 100644 index 2016637a1..000000000 --- a/app/src/components/molecules/BadgeCard/index.jsx +++ /dev/null @@ -1,50 +0,0 @@ -import React from 'react'; -import { Text, View } from 'react-native'; -import { CircleBadge } from 'design-system'; - -export const BadgeCard = ({ - badgeTemplate, - showLevel = false, - hidden = false, -}) => { - const getTitle = () => { - return `${badgeTemplate.name.split(' ')[0]} ${badgeTemplate.rank}`; - }; - - const title = showLevel ? `Nível ${badgeTemplate.rank}` : getTitle(); - - const hiddenBadgeInfo = { - iconName: 'help', - description: '-', - neededValue: '?', - rank: badgeTemplate.rank, - }; - const badgeInfo = hidden ? hiddenBadgeInfo : badgeTemplate; - - return ( - - - - - {title} - - - {badgeInfo.description} - - - - {badgeInfo.neededValue}/{badgeInfo.neededValue} - - - ); -}; diff --git a/app/src/components/molecules/CustomDrawerItem/index.jsx b/app/src/components/molecules/CustomDrawerItem/index.jsx deleted file mode 100644 index 4eb1d7ed2..000000000 --- a/app/src/components/molecules/CustomDrawerItem/index.jsx +++ /dev/null @@ -1,18 +0,0 @@ -import React from 'react'; -import { Text, TouchableOpacity } from 'react-native'; -import { styles } from './styles'; -export const CustomDrawerItem = ({ isSelected, icon, label, onPress }) => { - return ( - - {icon()} - {label} - - ); -}; diff --git a/app/src/components/molecules/CustomDrawerItem/styles.js b/app/src/components/molecules/CustomDrawerItem/styles.js deleted file mode 100644 index e0798967b..000000000 --- a/app/src/components/molecules/CustomDrawerItem/styles.js +++ /dev/null @@ -1,30 +0,0 @@ -import { StyleSheet } from 'react-native'; -import { RFValue } from 'react-native-responsive-fontsize'; -import colors from '../../../../assets/styles/colorVariables'; -import fonts from '../../../../assets/styles/fontVariable'; - -const commonContainerStyle = { - width: '100%', - flexDirection: 'row', - marginVertical: RFValue(4, 640), - maxWidth: RFValue(240, 640), - overflow: 'hidden', - paddingVertical: RFValue(8, 640), -}; -export const styles = StyleSheet.create({ - drawerItemContainer: { - marginLeft: RFValue(16, 640), - ...commonContainerStyle, - }, - selectedDrawerItemContainer: { - ...commonContainerStyle, - backgroundColor: colors.primaryLowOpacity, - paddingHorizontal: RFValue(4, 640), - marginLeft: RFValue(12, 640), - borderRadius: 4, - }, - label: { - ...fonts.body, - marginLeft: RFValue(16, 640), - }, -}); diff --git a/app/src/components/molecules/CustomHeader/index.jsx b/app/src/components/molecules/CustomHeader/index.jsx deleted file mode 100644 index c93a1b8b3..000000000 --- a/app/src/components/molecules/CustomHeader/index.jsx +++ /dev/null @@ -1,36 +0,0 @@ -import React from 'react'; -import { Text, View } from 'react-native'; -import { IconButton, RoundedFullButton } from 'design-system'; -import { styles } from './styles'; - -export const CustomHeader = ({ title, navigation, iconType, buttonProps }) => { - const isDrawerButton = iconType == 'drawer'; - const icon = isDrawerButton - ? { - icon: 'menu', - theme: 'light', - customStyle: styles.customMenuStyle, - } - : { - icon: 'arrow-back', - theme: 'dark', - }; - - const onPress = isDrawerButton - ? () => navigation.openDrawer() - : () => navigation.goBack(); - - return ( - - - - {title} - {buttonProps?.visible && ( - - - - )} - - - ); -}; diff --git a/app/src/components/molecules/CustomHeader/styles.js b/app/src/components/molecules/CustomHeader/styles.js deleted file mode 100644 index eb4ef4f32..000000000 --- a/app/src/components/molecules/CustomHeader/styles.js +++ /dev/null @@ -1,30 +0,0 @@ -import { StyleSheet } from 'react-native'; - -import { RFValue } from 'react-native-responsive-fontsize'; -import colors from '../../../../assets/styles/colorVariables'; -import fonts from '../../../../assets/styles/fontVariable'; - -export const styles = StyleSheet.create({ - header: { - width: '100%', - height: RFValue(48, 640), - justifyContent: 'center', - backgroundColor: 'transparent', - }, - content: { - flexDirection: 'row', - alignItems: 'center', - }, - title: { - ...fonts.subtitle, - color: colors.dark, - fontFamily: 'montserrat-bold', - }, - customMenuStyle: { - backgroundColor: colors.primary, - padding: RFValue(4, 640), - marginRight: RFValue(8, 640), - marginLeft: RFValue(8, 640), - borderRadius: 100, - }, -}); diff --git a/app/src/components/molecules/DefaultButtonWithBagdes/index.jsx b/app/src/components/molecules/DefaultButtonWithBagdes/index.jsx deleted file mode 100644 index 531e0095f..000000000 --- a/app/src/components/molecules/DefaultButtonWithBagdes/index.jsx +++ /dev/null @@ -1,28 +0,0 @@ -import React from 'react'; -import { Text, View } from 'react-native'; -import { Badge } from 'react-native-elements'; -import { DefaultButton } from 'design-system'; -import styles from '../../../../assets/styles/helpDescription'; - -export const DefaultButtonWithBadges = ({ - title, - onPress, - badgeValue, - marginTop = '', - disabled, -}) => { - return ( - - - {badgeValue}} - badgeStyle={[styles.badgeStyle, styles.smallBadge]} - containerStyle={styles.containerBadge} - /> - - ); -}; diff --git a/app/src/components/molecules/DescriptionBox/index.jsx b/app/src/components/molecules/DescriptionBox/index.jsx deleted file mode 100644 index 7832abf3f..000000000 --- a/app/src/components/molecules/DescriptionBox/index.jsx +++ /dev/null @@ -1,20 +0,0 @@ -import React from 'react'; -import { Text, View } from 'react-native'; - -export const DescriptionBox = ({ title, description, maxLines = 4 }) => { - return ( - - - {title} - - - - {description} - - - - ); -}; diff --git a/app/src/components/molecules/Dialog/index.jsx b/app/src/components/molecules/Dialog/index.jsx deleted file mode 100644 index b254e6aba..000000000 --- a/app/src/components/molecules/Dialog/index.jsx +++ /dev/null @@ -1,49 +0,0 @@ -import React from 'react'; -import { Modal, Pressable, Text, View } from 'react-native'; - -export const Dialog = ({ - isVisible, - onCloseDialog, - title, - description, - cancelText, - animationType = 'slide', - confirmText = 'Ok', - onConfirmPress, -}) => { - return ( - - - - {title && ( - - {title} - - )} - - {description} - - - {cancelText && ( - - - {cancelText} - - - )} - - - {confirmText} - - - - - - - ); -}; diff --git a/app/src/components/molecules/FloatingIconButton/index.jsx b/app/src/components/molecules/FloatingIconButton/index.jsx deleted file mode 100644 index 05dc4b571..000000000 --- a/app/src/components/molecules/FloatingIconButton/index.jsx +++ /dev/null @@ -1,25 +0,0 @@ -import React from 'react'; -import { View } from 'react-native'; -import { CircleIconButton } from 'design-system'; - -export const FloatingIconButton = ({ - position = 'left', - iconName, - onPress, - customTop = null, - iconSize, - color, -}) => { - const convertPosition = `${position}-2`; - const positionY = customTop || 'top-2'; - return ( - - - - ); -}; diff --git a/app/src/components/molecules/FollowCount/index.jsx b/app/src/components/molecules/FollowCount/index.jsx deleted file mode 100644 index 8234020d4..000000000 --- a/app/src/components/molecules/FollowCount/index.jsx +++ /dev/null @@ -1,22 +0,0 @@ -import { useNavigation } from '@react-navigation/native'; -import React from 'react'; -import { TouchableOpacity, Text } from 'react-native'; - -export const FollowCount = ({ count, type, userId }) => { - const navigation = useNavigation(); - const types = { - following: 'seguindo', - followers: 'seguidores', - }; - - const handlePress = () => { - navigation.navigate('userList', { userId: userId, followType: type }); - }; - - return ( - - {count} - {` ${types[type]}`} - - ); -}; diff --git a/app/src/components/molecules/ProfilePhoto/index.jsx b/app/src/components/molecules/ProfilePhoto/index.jsx deleted file mode 100644 index c3e5a53ce..000000000 --- a/app/src/components/molecules/ProfilePhoto/index.jsx +++ /dev/null @@ -1,24 +0,0 @@ -import React from 'react'; -import { Image } from 'react-native'; - -export const ProfilePhoto = ({ base64, size, className }) => { - const imageSource = base64 - ? { - uri: `data:image/png;base64,${base64}`, - } - : require('../../../../assets/images/noImage.png'); - - const sizes = { - xs: 'w-10 h-10', - sm: 'w-12 h-12', - md: 'w-16 h-16', - lg: 'w-24 h-24', - }; - const selectedSize = sizes[size]; - return ( - - ); -}; diff --git a/app/src/components/molecules/TextSwitch/index.jsx b/app/src/components/molecules/TextSwitch/index.jsx deleted file mode 100644 index 498882501..000000000 --- a/app/src/components/molecules/TextSwitch/index.jsx +++ /dev/null @@ -1,27 +0,0 @@ -import React from 'react'; -import { View } from 'react-native'; -import { TextSwitchButton } from 'design-system'; - -export const TextSwitch = ({ - option1, - option2, - selectedOption, - setSelectedOption, - darker = false, -}) => { - const background = darker ? 'bg-gray' : 'bg-background'; - return ( - - setSelectedOption(0)} - isSelected={selectedOption == 0} - /> - setSelectedOption(1)} - isSelected={selectedOption == 1} - /> - - ); -}; diff --git a/app/src/components/molecules/TimelineItem/index.jsx b/app/src/components/molecules/TimelineItem/index.jsx deleted file mode 100644 index 589f8fbe2..000000000 --- a/app/src/components/molecules/TimelineItem/index.jsx +++ /dev/null @@ -1,29 +0,0 @@ -import React from 'react'; -import { Image, Text, View } from 'react-native'; -import { Divider } from 'design-system'; - -export const TimelineItem = ({ data, hasImage }) => { - return ( - - - {hasImage && ( - - )} - - - {data.title} - - - {data.description} - - - - - - ); -}; diff --git a/app/src/components/molecules/UserCard/index.jsx b/app/src/components/molecules/UserCard/index.jsx index 3b075aa82..8315be317 100644 --- a/app/src/components/molecules/UserCard/index.jsx +++ b/app/src/components/molecules/UserCard/index.jsx @@ -4,7 +4,7 @@ import { Icon } from 'react-native-elements'; import { TouchableOpacity } from 'react-native-gesture-handler'; import { styles } from './styles'; import shortenName from '../../../utils/shortenName'; -import { ProfilePhoto } from '../ProfilePhoto'; +import { ProfilePhoto } from 'mia-auda-design-system'; import { UserContext } from '../../../store/contexts/userContext'; export const UserCard = ({ name, email, photo }) => { diff --git a/app/src/components/molecules/UserListItem/index.jsx b/app/src/components/molecules/UserListItem/index.jsx index 30267a3fb..e82c43e93 100644 --- a/app/src/components/molecules/UserListItem/index.jsx +++ b/app/src/components/molecules/UserListItem/index.jsx @@ -4,9 +4,8 @@ import { styles } from './styles'; import { SocialNetworkProfileContext } from '../../../store/contexts/socialNetworkProfileContext'; import { LoadingContext } from '../../../store/contexts/loadingContext'; import shortenName from '../../../utils/shortenName'; -import { RoundedFullButton } from 'design-system'; +import { RoundedFullButton, ProfilePhoto } from 'mia-auda-design-system'; import { UserContext } from '../../../store/contexts/userContext'; -import { ProfilePhoto } from '../ProfilePhoto'; export const UserListItem = ({ user }) => { const { followUser, unfollowUser } = useContext( diff --git a/app/src/components/organisms/ActivityCard/index.jsx b/app/src/components/organisms/ActivityCard/index.jsx index b815ada98..86adcc939 100644 --- a/app/src/components/organisms/ActivityCard/index.jsx +++ b/app/src/components/organisms/ActivityCard/index.jsx @@ -1,7 +1,7 @@ import React, { useContext } from 'react'; import { Pressable, Text, View } from 'react-native'; import { Icon } from 'react-native-elements'; -import { Badge } from 'design-system'; +import { Badge } from 'mia-auda-design-system'; import getActivityIcon from '../../../utils/getActivityIcon'; import SeedlingIcon from '../../../../assets/images/Seedling'; import isRecentDate from '../../../utils/isRecentDate'; diff --git a/app/src/components/organisms/AddressForm/index.jsx b/app/src/components/organisms/AddressForm/index.jsx index 41b66b88b..a9f8c326b 100644 --- a/app/src/components/organisms/AddressForm/index.jsx +++ b/app/src/components/organisms/AddressForm/index.jsx @@ -1,7 +1,7 @@ import React, { useContext } from 'react'; import { View } from 'react-native'; import { UserContext } from '../../../store/contexts/userContext'; -import { Input } from 'design-system'; +import { Input } from 'mia-auda-design-system'; import { useFormik } from 'formik'; import { initialValues, schema } from './constructor'; import Button from '../../UI/button'; diff --git a/app/src/components/organisms/BadgesList/index.jsx b/app/src/components/organisms/BadgesList/index.jsx index 7d0695dce..800db074c 100644 --- a/app/src/components/organisms/BadgesList/index.jsx +++ b/app/src/components/organisms/BadgesList/index.jsx @@ -2,7 +2,7 @@ import React from 'react'; import { NotFound } from '../NotFound'; import { HorizontalList } from '../HorizontalList'; import { useNavigation } from '@react-navigation/native'; -import { BadgeCard } from 'design-system'; +import { BadgeCard } from 'mia-auda-design-system'; export const BadgesList = ({ badges, userId }) => { const navigation = useNavigation(); diff --git a/app/src/components/organisms/CustomDrawerList/index.jsx b/app/src/components/organisms/CustomDrawerList/index.jsx index f64e3874a..c88e3947d 100644 --- a/app/src/components/organisms/CustomDrawerList/index.jsx +++ b/app/src/components/organisms/CustomDrawerList/index.jsx @@ -2,8 +2,7 @@ import { CommonActions, DrawerActions } from '@react-navigation/native'; import * as React from 'react'; import { View } from 'react-native'; import { RFValue } from 'react-native-responsive-fontsize'; -import { Divider } from 'design-system'; -import { CustomDrawerItem } from '../../molecules/CustomDrawerItem'; +import { Divider, CustomDrawerItem } from 'mia-auda-design-system'; import { styles } from './styles'; const sections = [ diff --git a/app/src/components/organisms/DefaultCamera/index.jsx b/app/src/components/organisms/DefaultCamera/index.jsx index 5ca07d406..c2e0d99e3 100644 --- a/app/src/components/organisms/DefaultCamera/index.jsx +++ b/app/src/components/organisms/DefaultCamera/index.jsx @@ -1,7 +1,7 @@ import { Camera, CameraType } from 'expo-camera'; import React from 'react'; import { Image, Text, View } from 'react-native'; -import { DefaultButton } from 'design-system'; +import { DefaultButton } from 'mia-auda-design-system'; export const DefaultCamera = ({ cameraRef, diff --git a/app/src/components/organisms/DefaultTimeline/index.jsx b/app/src/components/organisms/DefaultTimeline/index.jsx index ac618fd90..e9634d978 100644 --- a/app/src/components/organisms/DefaultTimeline/index.jsx +++ b/app/src/components/organisms/DefaultTimeline/index.jsx @@ -1,7 +1,7 @@ import React from 'react'; import Timeline from 'react-native-timeline-flatlist'; import colors from '../../../../colors'; -import { TimelineItem } from '../../molecules/TimelineItem'; +import { TimelineItem } from 'mia-auda-design-system'; export const DefaultTimeline = ({ data, diff --git a/app/src/components/organisms/PersonalDataForm/index.jsx b/app/src/components/organisms/PersonalDataForm/index.jsx index a2479b2b7..d25d01c0c 100644 --- a/app/src/components/organisms/PersonalDataForm/index.jsx +++ b/app/src/components/organisms/PersonalDataForm/index.jsx @@ -1,7 +1,7 @@ import React, { useContext } from 'react'; import { View } from 'react-native'; import { UserContext } from '../../../store/contexts/userContext'; -import { Input } from 'design-system'; +import { Input } from 'mia-auda-design-system'; import { useFormik } from 'formik'; import { initialValues, schema } from './constructor'; import Button from '../../UI/button'; diff --git a/app/src/components/profileList/index.jsx b/app/src/components/profileList/index.jsx index 9f53b8044..1cb3087dc 100644 --- a/app/src/components/profileList/index.jsx +++ b/app/src/components/profileList/index.jsx @@ -2,7 +2,7 @@ import React from 'react'; import { View, Pressable } from 'react-native'; import styles from './styles'; import { UserListItem } from '../molecules/UserListItem'; -import { Divider } from 'design-system'; +import { Divider } from 'mia-auda-design-system'; import { useNavigation } from '@react-navigation/native'; export default function ProfileList({ usersProfile, filterList = false }) { diff --git a/app/src/components/templates/BordedScreenLayout/index.jsx b/app/src/components/templates/BordedScreenLayout/index.jsx index 8156bb46a..75795f251 100644 --- a/app/src/components/templates/BordedScreenLayout/index.jsx +++ b/app/src/components/templates/BordedScreenLayout/index.jsx @@ -1,6 +1,6 @@ import React from 'react'; import { Text, View } from 'react-native'; -import { ProfilePhoto } from '../../molecules/ProfilePhoto'; +import { ProfilePhoto } from 'mia-auda-design-system'; export function BordedScreenLayout({ children, diff --git a/app/src/components/templates/CustomDrawerContent/index.jsx b/app/src/components/templates/CustomDrawerContent/index.jsx index 82a975d56..3179b5b50 100644 --- a/app/src/components/templates/CustomDrawerContent/index.jsx +++ b/app/src/components/templates/CustomDrawerContent/index.jsx @@ -6,7 +6,7 @@ import { UserContext } from '../../../store/contexts/userContext'; import CustomDrawerItemList from '../../organisms/CustomDrawerList/'; import styles from './styles'; import { UserCard } from '../../molecules/UserCard'; -import { Divider } from 'design-system'; +import { Divider } from 'mia-auda-design-system'; export function CustomDrawerContent(props) { const { user } = useContext(UserContext); diff --git a/app/src/components/templates/HelpScreenLayout/index.jsx b/app/src/components/templates/HelpScreenLayout/index.jsx index ecf19957f..a30734da8 100644 --- a/app/src/components/templates/HelpScreenLayout/index.jsx +++ b/app/src/components/templates/HelpScreenLayout/index.jsx @@ -3,7 +3,7 @@ import { ScrollView, Text, TouchableOpacity, View } from 'react-native'; import CustomMap from '../../CustomMap'; import { Icon } from 'react-native-elements'; import { BordedScreenLayout } from '../BordedScreenLayout'; -import { InformativeField, CategoriesList } from 'design-system'; +import { InformativeField, CategoriesList } from 'mia-auda-design-system'; import { ActivityMarker } from '../../molecules/ActivityMarker'; export function HelpScreenLayout({ diff --git a/app/src/pages/ActivitiesPages/MyCampaigns/index.jsx b/app/src/pages/ActivitiesPages/MyCampaigns/index.jsx index 7077d8093..32ce2ae5e 100644 --- a/app/src/pages/ActivitiesPages/MyCampaigns/index.jsx +++ b/app/src/pages/ActivitiesPages/MyCampaigns/index.jsx @@ -10,7 +10,7 @@ import campaignService from '../../../services/Campaign'; import PlusIconTextButton from '../../../components/PlusIconTextButton'; import createInteraction from '../../../utils/createInteraction'; import { LoadingContext } from '../../../store/contexts/loadingContext'; -import { Dialog } from '../../../components/molecules/Dialog'; +import { Dialog } from 'mia-auda-design-system'; export default function CampaignsFinished({ navigation }) { const { isLoading, setIsLoading } = useContext(LoadingContext); diff --git a/app/src/pages/ActivitiesPages/MyOfferedHelp/MyOfferHelpDescription/index.jsx b/app/src/pages/ActivitiesPages/MyOfferedHelp/MyOfferHelpDescription/index.jsx index eec07d78a..bb9e66956 100644 --- a/app/src/pages/ActivitiesPages/MyOfferedHelp/MyOfferHelpDescription/index.jsx +++ b/app/src/pages/ActivitiesPages/MyOfferedHelp/MyOfferHelpDescription/index.jsx @@ -5,10 +5,9 @@ import { alertSuccess } from '../../../../utils/Alert'; import { UserContext } from '../../../../store/contexts/userContext'; import callService from '../../../../services/callService'; import { ExpansiveModal } from '../../../../components/modals/expansiveModal'; -import { DefaultButtonWithBadges } from 'design-system'; +import { DefaultButtonWithBadges, Dialog } from 'mia-auda-design-system'; import { LoadingContext } from '../../../../store/contexts/loadingContext'; import { HelpScreenLayout } from '../../../../components/templates/HelpScreenLayout'; -import { Dialog } from '../../../../components/molecules/Dialog'; export default function OfferHelpDescription({ route, navigation }) { const { helpId, routeId } = route.params; diff --git a/app/src/pages/ActivitiesPages/MyOfferedHelp/index.jsx b/app/src/pages/ActivitiesPages/MyOfferedHelp/index.jsx index 46c5a10f4..e9fee9f5b 100644 --- a/app/src/pages/ActivitiesPages/MyOfferedHelp/index.jsx +++ b/app/src/pages/ActivitiesPages/MyOfferedHelp/index.jsx @@ -10,7 +10,7 @@ import callService from '../../../services/callService'; import PlusIconTextButton from '../../../components/PlusIconTextButton'; import createInteraction from '../../../utils/createInteraction'; import { LoadingContext } from '../../../store/contexts/loadingContext'; -import { Dialog } from '../../../components/molecules/Dialog'; +import { Dialog } from 'mia-auda-design-system'; export default function HelpsFinished({ navigation }) { const { user, userPosition } = useContext(UserContext); diff --git a/app/src/pages/ActivitiesPages/MyRequestedHelp/MyRequestHelpDescription/FeedbackModal/index.jsx b/app/src/pages/ActivitiesPages/MyRequestedHelp/MyRequestHelpDescription/FeedbackModal/index.jsx index 10869232c..82fa1e935 100644 --- a/app/src/pages/ActivitiesPages/MyRequestedHelp/MyRequestHelpDescription/FeedbackModal/index.jsx +++ b/app/src/pages/ActivitiesPages/MyRequestedHelp/MyRequestHelpDescription/FeedbackModal/index.jsx @@ -1,8 +1,7 @@ import React from 'react'; import { BaseModal } from '../../../../../components/modals/BaseModal'; import { Text, View } from 'react-native'; -import { Input } from 'design-system'; -import { DefaultButton } from 'design-system'; +import { DefaultButton, Input } from 'mia-auda-design-system'; export const FeedbackModal = ({ setShowFeedbackModal, diff --git a/app/src/pages/ActivitiesPages/MyRequestedHelp/MyRequestHelpDescription/index.jsx b/app/src/pages/ActivitiesPages/MyRequestedHelp/MyRequestHelpDescription/index.jsx index 10ebac240..850790ca2 100644 --- a/app/src/pages/ActivitiesPages/MyRequestedHelp/MyRequestHelpDescription/index.jsx +++ b/app/src/pages/ActivitiesPages/MyRequestedHelp/MyRequestHelpDescription/index.jsx @@ -1,6 +1,6 @@ import React, { Fragment, useCallback, useContext, useState } from 'react'; import { View, ScrollView, Text } from 'react-native'; -import { DefaultButtonWithBadges, DefaultButton } from 'design-system'; +import { DefaultButtonWithBadges, DefaultButton, Dialog } from 'mia-auda-design-system'; import { HelpScreenLayout } from '../../../../components/templates/HelpScreenLayout'; import { UserContext } from '../../../../store/contexts/userContext'; import callService from '../../../../services/callService'; @@ -12,7 +12,6 @@ import openWhatsapp from '../../../../utils/openWhatsapp'; import callNumber from '../../../../utils/callNumber'; import { HelpContext } from '../../../../store/contexts/helpContext'; import { useFocusEffect, useNavigationState } from '@react-navigation/native'; -import { Dialog } from '../../../../components/molecules/Dialog'; import { FeedbackContext } from '../../../../store/contexts/feedbackContext'; import { FeedbackModal } from './FeedbackModal'; import { BadgeContext } from '../../../../store/contexts/badgeContext'; diff --git a/app/src/pages/ActivitiesPages/MyRequestedHelp/index.jsx b/app/src/pages/ActivitiesPages/MyRequestedHelp/index.jsx index 2fb4e6e14..058cad284 100644 --- a/app/src/pages/ActivitiesPages/MyRequestedHelp/index.jsx +++ b/app/src/pages/ActivitiesPages/MyRequestedHelp/index.jsx @@ -10,7 +10,7 @@ import styles from '../styles'; import PlusIconTextButton from '../../../components/PlusIconTextButton'; import createInteraction from '../../../utils/createInteraction'; import { LoadingContext } from '../../../store/contexts/loadingContext'; -import { Dialog } from '../../../components/molecules/Dialog'; +import { Dialog } from 'mia-auda-design-system'; const MyRequestedHelp = ({ navigation }) => { const { user } = useContext(UserContext); diff --git a/app/src/pages/AuthPages/Location/index.jsx b/app/src/pages/AuthPages/Location/index.jsx index 8c5ae2dab..5ef27995f 100644 --- a/app/src/pages/AuthPages/Location/index.jsx +++ b/app/src/pages/AuthPages/Location/index.jsx @@ -15,7 +15,7 @@ import callService from '../../../services/callService'; import { LoadingContext } from '../../../store/contexts/loadingContext'; import { BadgeContext } from '../../../store/contexts/badgeContext'; import { alertSuccess } from '../../../utils/Alert'; -import { Dialog } from '../../../components/molecules/Dialog'; +import { Dialog } from 'mia-auda-design-system'; export default function Location({ route }) { const { requestInfo, requestType } = route.params; diff --git a/app/src/pages/Badges/index.jsx b/app/src/pages/Badges/index.jsx index 69ea9f0c8..379be95ac 100644 --- a/app/src/pages/Badges/index.jsx +++ b/app/src/pages/Badges/index.jsx @@ -1,7 +1,7 @@ import React, { useContext, useEffect, useState } from 'react'; import { ScrollView, Text, View } from 'react-native'; import { BadgeContext } from '../../store/contexts/badgeContext'; -import { BadgeCard } from '../../components/molecules/BadgeCard'; +import { BadgeCard } from 'mia-auda-design-system'; import { HorizontalList } from '../../components/organisms/HorizontalList'; export const Badges = ({ route }) => { diff --git a/app/src/pages/EditProfile/index.jsx b/app/src/pages/EditProfile/index.jsx index 3d0c6cc91..ce6f8e456 100644 --- a/app/src/pages/EditProfile/index.jsx +++ b/app/src/pages/EditProfile/index.jsx @@ -1,14 +1,12 @@ import React, { useContext, useRef, useState } from 'react'; import { ScrollView, View } from 'react-native'; -import { TextSwitch } from '../../components/molecules/TextSwitch'; import { PersonalDataForm } from '../../components/organisms/PersonalDataForm'; import { UserContext } from '../../store/contexts/userContext'; import { alertMessage, alertSuccess } from '../../utils/Alert'; -import { TextButton } from 'design-system'; +import { TextButton, ProfilePhoto, TextSwitch } from 'mia-auda-design-system'; import { LoadingContext } from '../../store/contexts/loadingContext'; import actions from '../../store/actions'; import { AddressForm } from '../../components/organisms/AddressForm'; -import { ProfilePhoto } from '../../components/molecules/ProfilePhoto'; import { DefaultCamera } from '../../components/organisms/DefaultCamera'; import { Camera } from 'expo-camera'; diff --git a/app/src/pages/FindUsersPages/index.jsx b/app/src/pages/FindUsersPages/index.jsx index 7953976a0..01b7f1f86 100644 --- a/app/src/pages/FindUsersPages/index.jsx +++ b/app/src/pages/FindUsersPages/index.jsx @@ -6,7 +6,7 @@ import socialNetworkProfileservice from '../../services/socialNetworkProfile'; import { UserContext } from '../../store/contexts/userContext'; import ProfileList from '../../components/profileList'; import { useFocusEffect } from '@react-navigation/native'; -import { SearchBar } from 'design-system'; +import { SearchBar } from 'mia-auda-design-system'; import { LoadingContext } from '../../store/contexts/loadingContext'; import { NotFound } from '../../components/organisms/NotFound'; diff --git a/app/src/pages/HelpPages/CampaignDescription/index.jsx b/app/src/pages/HelpPages/CampaignDescription/index.jsx index df8e0aade..47333de3a 100644 --- a/app/src/pages/HelpPages/CampaignDescription/index.jsx +++ b/app/src/pages/HelpPages/CampaignDescription/index.jsx @@ -19,7 +19,7 @@ import Button from '../../../components/UI/button'; import openWhatsapp from '../../../utils/openWhatsapp'; import formatDate from '../../../utils/formatDate'; import { LoadingContext } from '../../../store/contexts/loadingContext'; -import { Dialog } from '../../../components/molecules/Dialog'; +import { Dialog } from 'mia-auda-design-system'; export default function CampaignDescription({ route, navigation }) { const { campaign } = route.params; diff --git a/app/src/pages/Main/MapScreen.jsx b/app/src/pages/Main/MapScreen.jsx index 53247f484..f120ff0d0 100644 --- a/app/src/pages/Main/MapScreen.jsx +++ b/app/src/pages/Main/MapScreen.jsx @@ -7,8 +7,7 @@ import React, { } from 'react'; import { StatusBar, View } from 'react-native'; import { ScreenTemplateContext } from '../../store/contexts/ScreenTemplateContext'; -import { FloatingIconButton } from '../../components/molecules/FloatingIconButton'; -import { Chips } from 'design-system'; +import { Chips, FloatingIconButton } from 'mia-auda-design-system'; import { ActivitiesFilterBottomSheet } from '../../components/modals/ActivityBottomSheet/FilterActivity'; import { LoadingContext } from '../../store/contexts/loadingContext'; import { ActivityBottomSheetContext } from '../../store/contexts/activityBottomSheetContext'; diff --git a/app/src/pages/Main/index.jsx b/app/src/pages/Main/index.jsx index 0c8a716c7..ed4d733ae 100755 --- a/app/src/pages/Main/index.jsx +++ b/app/src/pages/Main/index.jsx @@ -9,7 +9,7 @@ import { View, Text, Pressable, Dimensions } from 'react-native'; import { UserContext } from '../../store/contexts/userContext'; import createInteraction from '../../utils/createInteraction'; import { BadgeContext } from '../../store/contexts/badgeContext'; -import { DefaultButton } from 'design-system'; +import { DefaultButton } from 'mia-auda-design-system'; import { firstName } from '../../utils/shortenName'; import colors from '../../../colors'; import { ActivityBottomSheetContext } from '../../store/contexts/activityBottomSheetContext'; diff --git a/app/src/pages/UserProfile/index.jsx b/app/src/pages/UserProfile/index.jsx index 7ac3adadd..63e597298 100644 --- a/app/src/pages/UserProfile/index.jsx +++ b/app/src/pages/UserProfile/index.jsx @@ -1,11 +1,9 @@ import React, { useCallback, useContext, useState, useEffect } from 'react'; import { Text, View } from 'react-native'; -import { TextSwitch } from '../../components/molecules/TextSwitch'; import { SocialNetworkProfileContext } from '../../store/contexts/socialNetworkProfileContext'; import { LoadingContext } from '../../store/contexts/loadingContext'; -import { FollowCount } from '../../components/molecules/FollowCount'; import { ActivitiesList } from '../../components/organisms/ActivitiesList'; -import { DescriptionBox } from '../../components/molecules/DescriptionBox'; +import { DescriptionBox, FollowCount, TextSwitch } from 'mia-auda-design-system'; import { UserContext } from '../../store/contexts/userContext'; import { BadgeContext } from '../../store/contexts/badgeContext'; import { ScrollView } from 'react-native-gesture-handler'; diff --git a/app/yalc.lock b/app/yalc.lock deleted file mode 100644 index 9e04e7be1..000000000 --- a/app/yalc.lock +++ /dev/null @@ -1,14 +0,0 @@ -{ - "version": "v1", - "packages": { - "information-center": { - "version": "1.0.0", - "signature": "90c05b507d2d0360a937804a1ec5cd64", - "file": true - }, - "design-system": { - "signature": "c5ba0f154ebaa063d582d1c5d2a57b11", - "file": true - } - } -} \ No newline at end of file diff --git a/app/yarn.lock b/app/yarn.lock index 10c2a9ec2..da77d2ec9 100644 --- a/app/yarn.lock +++ b/app/yarn.lock @@ -4080,12 +4080,6 @@ dequal@^1.0.0: resolved "https://registry.yarnpkg.com/dequal/-/dequal-1.0.1.tgz#dbbf9795ec626e9da8bd68782f4add1d23700d8b" integrity sha512-Fx8jxibzkJX2aJgyfSdLhr9tlRoTnHKrRJuu2XHlAgKioN2j19/Bcbe0d4mFXYZ3+wpE2KVobUVTfDutcD17xQ== -"design-system@file:.yalc": - version "0.0.0" - -"design-system@file:.yalc/design-system": - version "1.0.0" - destroy@1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" @@ -5518,12 +5512,6 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -"information-center@file:.yalc/information-center": - version "1.0.0" - dependencies: - "@react-native-async-storage/async-storage" "^1.23.1" - design-system "file:.yalc" - inherits@2, inherits@2.0.4, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3: version "2.0.4" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" @@ -6802,6 +6790,19 @@ metro@0.73.10: ws "^7.5.1" yargs "^17.5.1" +mia-ajuda-information-center@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/mia-ajuda-information-center/-/mia-ajuda-information-center-1.0.0.tgz#1c181ff060c132d7ce323e471a1250ac02088eaa" + integrity sha512-sYzYyP4fCPhygjgqBPtTxn9kowQK/xIZCDMwqnuiRLzsq+s8Xk4UHBMlCZRxcgGylx4xa8rXlKbGrD//ThWkBA== + dependencies: + "@react-native-async-storage/async-storage" "^1.23.1" + mia-auda-design-system "^1.0.0" + +mia-auda-design-system@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/mia-auda-design-system/-/mia-auda-design-system-1.0.0.tgz#dec0b012b741cb94e532044a39ec697dc86ed993" + integrity sha512-y7C8a1lw+LTrKiwplCYU8eXyMOeGugnA/yWRIBfqNay1fE4lDcHG422XsFw2ynWsvyu4Z/pMt64p3tREKW+A4Q== + micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.5: version "4.0.5" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6"