-
Notifications
You must be signed in to change notification settings - Fork 455
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Epic: new mobile app (move to monorepo) #4698
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Branch preview✅ Deploy successful! Storybook: |
Coverage (49%)
|
Initial commits
* refactor: use jest for tests I couldn’t find a way to fix our tests and make them work with tamagui. Vitest is ignoring the native.ts files that tamagui has and tests were failing, because of that I reconfigured the project to use jest. * fix: button test * feat: add container tests * feat: add DataRow tests
* feat: create tx-history list components * feat: use the new cards components in the TxHistory list * fix: remove todo * feat: add missing variants to tx history page * feat: add missing multiSendCall information in the txList * feat: create static transactions messages layout * fix: android crash * feat: add detox test for transactions * fix: add the right name in the bulk transactions section * fix: scroll margin in the txHistory component * fix: story book of the TxCards components * fix: unit tests * fix: detox tests * fix: remove unnecessary comment * fix: remove swap order comment * fix: tx history in light mode * fix: use snapshot tests instead of inline object comparison * fix: remove TODO comments * chore: rename tx cards --------- Co-authored-by: Daniel Dimitrov <[email protected]>
* chore: use Alert component for the status banners * chore: use GestureHandler on the application entry point * fix: remove 'isStorybookEnv' log * fix: rename tests cases
* chore: adjust api gateway folder structure * feat: create chains slice * feat: create activeChain slice * chore: remove TODO comment * chore: remove unused code * feat: use activeChain information instead of hard coded data * fix: remove performance optmization in pro of readability
* feat: create pending tx screen * feat: add pending transactions static layout in the home screen * feat: add pending transactions slice in the api gateway * feat: add new variant in the Alert component * feat: create CircularBadge component to use it as the circular icon with text * feat: put groupTx to respect SOLID definition * feat: add lodash as project dependency * feat: add missing parameters in the TxCards components * feat: adjust reusable components layout * feat: create pending transactions screen * feat: generated snapshots
* feat: use react-navigation header in screens * Update app/(tabs)/transactions/_layout.tsx Co-authored-by: Clóvis Neto <[email protected]> * Update src/features/PendingTx/PendingTxList.tsx Co-authored-by: Clóvis Neto <[email protected]> --------- Co-authored-by: Clóvis Neto <[email protected]>
* feature: RTK auto-generated endpoints * chore: run prettier on the codebase * chore: run prettier on the codebase * refactor: tx pending & history tx types * fix: remove usage of safe-gateway-typscript-sdk * fix: clean up console.log * refactor: pending & history tx cleanup
* fix: refactoring broke test initialisation * fix: update snapshot tests I think that the latest tamagui updates added some props that were previously not there
* Feat: active safe slice * Use shortenAddress
We should display first the confirmation submitted and then the confirmation required. 1/2 one submitted / two required
running npm run storybok:web will launch storybook in the browser.
* feat: create safe tab component * feat: create dropdown component * feat: create assets features layout * feat: adjust styles of shared components * feat: allow user to show a transparent transaction list card * feat: adjust SafeTab component to control the active tab in the main component * feat: add dropdown component into the assets header * feat: integrate user balance with CGW * feat: adjust transactions-list components colors * feat: change default active wallet * feat: create Logo component to use it for any token or contract logo * feat: adjust SafeListItem colors * feat: integrate tokens and nfts list with CGW data * feat: create NoFunds component to show the empty assets icon when no funds were found * fix: do not show pending transactions component when there isn't any pending tx * feat: add component to render the select chain dropdown sheet template * fix: change CGW hooks imports * fix: re-use the fallback markup in the assets list * feat: separate bottom sheet components * feat: change SafeOverview type import * feat: optmize functions with useCallback * feat: move assets render item function to a separated component * fix: tslint
* chore: add contributing.md file in the project * chore: generated snapshots� * chore: change folder structures * chore: adjust contributing.md
* fix: unit tests * fix: remove early null return
* chore: adjust features folder structure * chore: change features folder definition * fix: broken ts import
The endpoint was returning more results, but we were not going after the next page. Instead we were agian polling the first page and this ended up in 429.
* fix: blurred background on android not working * fix: identicon not being circular on android * fix: visual topbar issues on android * fix: android menu icons * fix: app home screen warnings * fix: remove empty space * fix: typo * fix: remove unused style * fix: remove background prop * fix: use StatusBar component instead of mutate in useEffect * fix: remove unnecessary package * fix: Toast message in android devices * fix: add withDrawableAssets config to add drawable folder in the pre-build command * feat: add withDrawableAssets config --------- Co-authored-by: Clóvis Neto <[email protected]>
* feat: add maestro e2e tests * refactor: remove detox and native files Removed detox as we are going to use maestro. Reasons for the decision - detox is not compatible with the latest RN version - detox apparently is no longer recommended for e2e tests on expo EAS. Sicne we don’t use detox, we don’t need to keep the native files in the repo. They are auto-generated on the fly by expo. * fix: update snapshot test for PendingTransactions * fix: update package.lock The package.lock went out of sync due to the last git merge conflicts resolution. * refactor: remove withDrawableAssets from root dir The code is in the expo-plugins folder now * refactor: update readme
We rely on Expo’s Continuous Native Generation (https://docs.expo.dev/workflow/continuous-native-generation/). For some reason those files were still left, despite the fact that we’ve ignored the ios and android folders.
* refactor: repository now follows a Monorepo structure Main project folders are now: - apps - packages Apps such as expo, nextjs live inside of the apps folder. Packages shared between the apps live in packages. I migrated to yarn v4 (from npm) as the general opinion is that yarn has better workspaces support. Also the web app uses it. * fix: enable corepack in CI And also switch to a newer node version in general * fix: collect coverage from right files * fix: make EAS happy * fix: typo
* fix: remove duplicated folder * feat: add splash scren configuration
* refactor: make prettier config global * feature: extract store gateway to separate package I’ve moved the autogenerated gateway API code to a separate package. This will allow us to reuse it in the web application. In the process I created 2 more configuration packages: - config/tsconfig - config/jest-presets The goal of those is to offer base tsconfig and jest presets for reuse across packages. * fix: improve yarn installation instructions * fix: tsx & linting issues
* feat: create onboarding structure * feat: create onboarding carousel components * feat: create onboarding header component * feat: create onboarding container * feat: crate re-usable SafeButton component * feat: cover onboarding components with unit tests * feat: add storybook for carousel component * feat: fix unit tests * feat: remove hardcoded colors and test warnings * fix: remove unused testID * fix: remove magic numbers * feat: use tamagui variables
…bile-monorepo-correct
compojoom
force-pushed
the
mobile-monorepo
branch
from
December 20, 2024 14:44
98d320e
to
5e835f6
Compare
katspaugh
approved these changes
Dec 20, 2024
Changes the name of the workflows so that it is now clear which workflow is running and to which app it relates
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What it solves
This PR adds the code for the mobile application previously residing in a private repo.
The commits were alrady reviewed in the other repo. The last commit just fixes a problem introduced from improper path resolution with typescript.
apps/mobile - RN app uses React 18
apps/web - nextjs app uses React 19
yarn was correctly resolving the packages and adding apps/web/node_modules/react19, but tsc was erroring out and loading at one point the react18 version from the main /node_modules.
Storybook is broken both in web and mobile. (will fix in a separate PR)
How to test it
@safe-global/web package should continue to work as usual. New is the @safe-mobile/mobile package located in apps/mobile.
You can follow it's readme to start the React-Native app.
Screenshots
Checklist