woocommerce / woocommerce-shared Goto Github PK
View Code? Open in Web Editor NEWA React Native shared library for WooCommerce
License: Mozilla Public License 2.0
A React Native shared library for WooCommerce
License: Mozilla Public License 2.0
We should explore the possibilities of writing unit tests that will cover the JavaScript/Typescript codebase.
This task doesn't include CI work (execution or GitHub checks).
/wp-json/wc/v3/shipping_methods
When all needed data is fetched and parsed, we should display shipping zones in a form of a list.
On Android, when we open "Shipping zones" embedded React Native, navigate back and open "Shipping zones" again, the app crashes.
Is under discussion internally: pe5pgL-3rk-p2
We should introduce a feature flag to hide elements that won't be part of the release:
Now, when use opens "New Zone" screen and tries to navigate back on Android, it'll close the whole "Shipping Zone" screen (they'll go back to "Settings" screen).
The expected behaviour is that they'll navigate back to the list of Shipping Zones
We should be able to make authenticated calls to WC API via Jetpack Tunnel.
As we are passing tokens and keys from the main app. We need to store them somehow in the react environment so they can be accessed where needed.
This task is about adding the possibility to send analytics events from React Native.
Presently, we'll focus on a lambda/closure-based idea (lambda as a parameter for React Native).
If we fail on that, we can also experiment with:
List of Shipping Zones should have a navigation back button, that would close the React Native embedded view.
In order to display a list of regions to assign during a process of creating Shipping Zone, we have to fetch this list beforehand.
We should integrate some way of handling navigation between screens. The first approach we might want to try is one recommended in the official documentation: https://reactnative.dev/docs/navigation
We have to provide a way to make authenticated requests to REST API for users who don't use Jetpack Tunnel but Application Passwords.
This task is about fetching data needed for presenting contentful list of Shipping Zones.
Unfortunately, with the current REST API, we'll have to perform a significant number of HTTP requests, according to this formula: 1 + number of shipping zones * 2
for every pagination.
We will ask for API team support (or try to introduce a new endpoint ourselves) but for now, let's use the current API so we're not blocked with further progress.
We need to find a way to do a country/state name lookup for the shipping zone list
If fetching list of zones fails, we should show some error message for the user and allow them to retry the fetching.
There's no design for this operation, let's aim for "a native feeling".
On recent trunk
(c9da6c4) I've started to get following error:
ERROR Warning: Encountered two children with the same key, `Everywhere`. Keys should be unique so that components maintain their identity across updates. Non-unique keys may cause children to be duplicated and/or omitted — the behavior is unsupported and could change in a future version.
Probably we can't set key of the list as zone name.
Instead of native-stack (which is problematic) we should consider using plain stack navigation as we might now need "native performance":
Recently I found a situation on iOS where a back button IS NOT being rendered when running the demo app against the compiled framework but it is rendered when running it against the metro server.
Metro Server | Compiled Framework |
---|---|
After digging into it:
back-icon.png
to render that button.WooCommerseShared.xcframework
package.Could it be that the assets from the RN libraries we use are not being properly included in the xcframework
, hence not being rendered?
@jkmassel or @mokagio does this makes any sense? Or should I look at a different angle?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.