Apparence-io / CamerAwesome

πŸ“Έ Embedding a camera experience within your own app shouldn't be that hard. A flutter plugin to integrate awesome Android / iOS camera experience.
https://ApparenceKit.dev
MIT License
918 stars 207 forks source link

UI Customization #228

Closed apalala-dev closed 1 year ago

apalala-dev commented 1 year ago

Description

CamerAwesome currently provides either a pre-built UI with no customization at all or a builder where the developer has to recreate the whole UI.

This PR intends to make customization of the base awesome UI easier by providing the ability to switch some of the widgets used by others.

Each widget should be more customizable as well:

A new AwesomeTheme and an AwesomeThemeProvider are provided to reuse the same style across all of the CamerAwesome UI. It can be things as simple as colors, padding or sizes but also more complex things such as tap feedback using the ButtonBuilder. The later one lets the user decides if they want to use a ripple or a bouncing widget for instance.

By providing layout widgets and customizable buttons, most developers should be able to just reuse these components in CamerAwesomeBuilder.awesome() instead of falling back directly to the custom() builder and having to understand the whole camera workflow.

Default appearance should stay the same.

Progress

Additional features

Checklist

Before creating any Pull Request, confirm that it meets all requirements listed below by checking the relevant checkboxes ([x]).

Breaking Change

If your feature break something, please detail it

migalv commented 1 year ago

Hello @apalala-dev just checking in. How is it going with this PR? We are about to launch our first version using CamerAwesome and we are wondering if these changes will be available soon.

apalala-dev commented 1 year ago

Hey @migalv , we are pretty busy atm and we won't be able to work on this PR before a while. :/ We'll let you know when there are updates πŸ‘

migalv commented 1 year ago

Hey @apalala-dev is there any way I can help?

apalala-dev commented 1 year ago

Hey @apalala-dev is there any way I can help?

Hi, sorry for the delay. Did you try this PR? Any opinion on the new API maybe? I'll rebase this morning to mitigate merge conflicts first.

migalv commented 1 year ago

Hey @apalala-dev. Yes I was able to test it. It works as expected and the new API seems fine to me.

Now I'm not too sure how to properly use the PreviewSize & PreviewRect values to properly place my UI. I was getting different values on iOS and Android. Maybe more documentation on how to use these values.

istornz commented 1 year ago

LGTM πŸ‘