Giter Site home page Giter Site logo

zeshuaro / appainter Goto Github PK

View Code? Open in Web Editor NEW
525.0 6.0 67.0 348.09 MB

A material theme editor and generator for Flutter to configure and preview the overall visual theme of your material app.

Home Page: https://appainter.dev

License: GNU Affero General Public License v3.0

Kotlin 0.03% Swift 0.38% Objective-C 0.01% Dart 92.61% Ruby 0.56% CMake 2.08% C++ 3.45% C 0.19% HTML 0.30% JavaScript 0.30% Shell 0.08%
flutter dart flutter-theme material-design theme-generator theme-editor

appainter's Introduction

logo

GitHub tag (latest by date) Website GitHub license GitHub Actions codecov Codacy Badge style: flutter_lints

Github-sponsors BuyMeACoffee Ko-Fi LiberaPay Patreon PayPal

A material theme editor and generator for Flutter to configure and preview the overall visual theme of your material app.

Appainter Screenshot

Usage

Appainter is developed and built with Flutter, and is available for both Web and Desktop.

For Web, you can access it through here.

For Mac, Windows and Linux, you can be download it from here.

Using the Generated Theme

See USAGE.md for instructions on how to use the generated theme.

Development

Fork and clone the repository, then install the dependencies:

flutter pub get

Run the following to launch the code generation:

flutter pub run build_runner build --delete-conflicting-outputs

Start the app:

flutter run

appainter's People

Contributors

coladarci avatar doudar avatar github-actions[bot] avatar renovate[bot] avatar semantic-release-bot avatar zeshuaro avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

appainter's Issues

[BUG] Slider Hint not showing

Platform

Web

Steps to Reproduce

  1. Open https://appainter.dev/#/
  2. Tab -> Selections -> Sliders
  3. The second slider, when clicked, does not show the hint

Not yet tested on other platforms.

Expected behaviour

Show hint.
image

Actual behaviour

image

Additional Context

No response

[BUG] Negative values cannot be entered for letter spacing.

Platform

MacOS

Steps to Reproduce

  1. Try typing -1.5 for Advanced > Body Text 1 > Letter Spacing
  2. Observe that - character won't print.

Expected behaviour

- character prints.

Actual behaviour

- character won't print.

Additional Context

No response

[FEATURE] Add an option to set a global font

What kind of feature are you missing?

Thank you for this nice package.

To my mind, it would be very nice if one can set a global font.
Right now one has to change all entries from "Segoe UI" which is kind of annoying. It also seems like it has no effect to remove all FontFamily-entries.

Additional context

No response

[BUG] Setting Brightness appears to reset the settings

Platform

Web

Steps to Reproduce

  1. Open app, notice Brightness setting
  2. Set Seed colour to anything, notice state updates
  3. Change Brightness setting
  4. Notice settings are reset to default colours (seed color stays the same)
  5. Change Brightness setting back to the original setting
  6. Notice settings are reset to default colours (seed color stays the same)

Expected behaviour

Seed color changes should persist between brightness settings

Actual behaviour

Seed color changes do not persist between brightness settings, and appear to reset to default colors

Additional Context

No response

[FEATURE] Add search box to search for fonts

What kind of feature are you missing?

When selecting the font, we have to scroll through the long list to look for a specific font. There should be a search box to easily search and filter for fonts.

Additional context

No response

[BUG] No secondary color configuration in advanced mode

Platform

All platforms

Steps to Reproduce

As title says

Expected behaviour

To be able to configure secondary color in advance mode

Actual behaviour

Cannot configure secondary color in advance mode

Additional Context

none

[Docs Update?] USAGE.md doesn't appear to be up to date

Hey all - I'm very new to this world, so there is a good chance I'm missing something obvious, but I'm struggling to get my theme added to a new flutter app.

The docs say to do this:

  final themeStr = await rootBundle.loadString('assets/appainter_theme.json');
  final themeJson = jsonDecode(themeStr);
  final theme = ThemeDecoder.decodeThemeData(themeJson)!;

But from what I can tell from Undefined name 'rootBundle'., there's some magic missing here. Furthermore, the scaffold you get for a new project results in this:

void main() {
  runApp(const MyApp());
}

runApp has the call to ensureInitialized that you mention in the docs; I obviously can't go deep into that function and change it and re-writing runApp feels wrong to me.

Am I missing something obvious for how to integrate this? Amazing project you have here - can't wait to see it in action!

[FEATURE] Add warning when an action will reset the theming options

What kind of feature are you missing?

It will be great if there is some kind of warning message/an alert dialog, when an action will reset the theming options. We should add this warning for the following options:

  • Changing the theme brightness
  • Randomising the theme
  • Resetting theme

Additional context

Related issue: #342

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

Awaiting Schedule

These updates are awaiting their schedule. Click on a checkbox to get an update now.

  • chore(deps): update dependency build_runner to v2.4.11
  • chore(deps): lock file maintenance

Edited/Blocked

These updates have been manually edited so Renovate will no longer make changes. To discard all commits and start over, click on a checkbox.

Pending Status Checks

These updates await pending status checks. To force their creation now, click the checkbox below.

  • chore(deps): update dependency mocktail to v1.0.4
  • fix(deps): update dependency device_preview_plus to v2.0.1
  • fix(deps): update dependency file_picker to v8.0.5
  • fix(deps): update dependency flutter_bloc to v8.1.6
  • fix(deps): update dependency flutter_markdown to v0.7.2

Open

These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

Detected dependencies

fvm
.fvm/fvm_config.json
  • flutter 3.22.2
github-actions
.github/workflows/appainter-annotations.yml
  • actions/checkout v4@a5ac7e51b41094c92402da3b24376905380afc29
  • dart-lang/setup-dart v1.4
  • actions/cache v4
.github/workflows/appainter-builder.yml
  • actions/checkout v4@a5ac7e51b41094c92402da3b24376905380afc29
  • dart-lang/setup-dart v1.4
  • actions/cache v4
  • codecov/codecov-action v4.4.1
  • actions/checkout v4@a5ac7e51b41094c92402da3b24376905380afc29
  • dart-lang/setup-dart v1.4
  • actions/cache v4
.github/workflows/example-app.yml
  • actions/checkout v4@a5ac7e51b41094c92402da3b24376905380afc29
  • kuhnroyal/flutter-fvm-config-action v1.2.0
  • subosito/flutter-action v2.16.0
  • actions/cache v4
  • mikehardy/buildcache-action v2.1.0
  • futureware-tech/simulator-action v3
  • actions/checkout v4@a5ac7e51b41094c92402da3b24376905380afc29
  • kuhnroyal/flutter-fvm-config-action v1.2.0
  • subosito/flutter-action v2.16.0
  • actions/cache v4
.github/workflows/fvm-notifier.yml
  • peter-evans/create-or-update-comment v4.0.0
.github/workflows/github-actions.yml
  • actions/checkout v4@a5ac7e51b41094c92402da3b24376905380afc29
  • kuhnroyal/flutter-fvm-config-action v1.2.0
  • subosito/flutter-action v2.16.0
  • actions/cache v4
  • codecov/codecov-action v4.4.1
  • actions/checkout v4@a5ac7e51b41094c92402da3b24376905380afc29
  • kuhnroyal/flutter-fvm-config-action v1.2.0
  • subosito/flutter-action v2.16.0
  • nanasess/setup-chromedriver v2.2.2
  • actions/cache v4
  • actions/checkout v4@a5ac7e51b41094c92402da3b24376905380afc29
  • kuhnroyal/flutter-fvm-config-action v1.2.0
  • subosito/flutter-action v2.16.0
  • actions/cache v4
  • actions/checkout v4
  • kuhnroyal/flutter-fvm-config-action v1.2.0
  • subosito/flutter-action v2.16.0
  • actions/cache v4
  • actions/setup-node v4
  • actions/upload-artifact v4
  • actions/checkout v4
  • actions/download-artifact v4
  • actions/setup-node v4
.github/workflows/post-dependency-update.yml
  • tibdex/github-app-token v2.1.0
  • actions/checkout v4@a5ac7e51b41094c92402da3b24376905380afc29
  • kuhnroyal/flutter-fvm-config-action v1.2.0
  • subosito/flutter-action v2.16.0
  • actions/cache v4
  • stefanzweifel/git-auto-commit-action v5.0.1
.github/workflows/pull-request-target.yml
  • zeshuaro/github-actions-workflows cc09c793e11660453ce250a606d15369dd61f5fb
.github/workflows/pull-request.yml
  • zeshuaro/github-actions-workflows cc09c793e11660453ce250a606d15369dd61f5fb
.github/workflows/scheduled.yml
  • zeshuaro/github-actions-workflows cc09c793e11660453ce250a606d15369dd61f5fb
npm
package.json
  • @qiwi/semantic-release-gh-pages-plugin 5.2.12
  • @semantic-release/changelog 6.0.3
  • @semantic-release/exec 6.0.3
  • @semantic-release/git 10.0.1
  • conventional-changelog-conventionalcommits 8.0.0
  • semantic-release 24.0.0
  • semantic-release-pub 0.8.16
  • semantic-release-stop-before-publish 1.0.0
nvm
.nvmrc
  • node 20.14.0
pub
example/pubspec.yaml
  • cupertino_icons 1.0.8
  • flutter
  • json_theme 6.5.0+1
  • flutter_lints 4.0.0
  • integration_test
packages/annotations/pubspec.yaml
  • flutter_lints ^4.0.0
packages/builder/pubspec.yaml
  • analyzer ^6.0.0
  • build ^2.2.1
  • html ^0.15.0
  • http ^1.0.0
  • source_gen ^1.2.1
  • textwrap ^2.0.0
  • build_runner ^2.1.8
  • build_test ^2.1.5
  • coverage ^1.2.0
  • flutter_lints ^4.0.0
  • mocktail ^1.0.0
  • test ^1.20.2
pubspec.yaml
  • bloc 8.1.4
  • copy_with_extension 5.0.4
  • cupertino_icons 1.0.8
  • device_preview_plus 2.0.0
  • dio 5.4.3
  • dropdown_search 5.0.6
  • enum_to_string 2.0.1
  • equatable 2.0.5
  • expandable 5.0.1
  • file_picker 8.0.3
  • firebase_analytics 10.10.7
  • firebase_auth 4.20.0
  • firebase_core 2.32.0
  • flex_color_picker 3.5.0
  • flutter
  • flutter_bloc 8.1.5
  • flutter_markdown 0.7.1
  • google_fonts 6.2.1
  • intl 0.19.0
  • json_theme 6.5.0+1
  • material_design_icons_flutter 7.0.7296
  • ndialog 4.3.1
  • path_provider 2.1.3
  • pretty_json 2.0.0
  • random_color_scheme 0.1.4
  • sentry_flutter 8.2.0
  • shared_preferences 2.2.3
  • universal_html 2.2.4
  • universal_io 2.2.2
  • url_launcher 6.3.0
  • window_manager 0.3.9
  • bloc_test 9.1.7
  • build_runner 2.4.10
  • copy_with_extension_gen 5.0.4
  • flutter_lints 4.0.0
  • integration_test
  • mocktail 1.0.3
  • path_provider_platform_interface 2.1.2
  • remove_from_coverage 2.0.0
  • sentry_dart_plugin 2.0.0
  • flutter 3.22.2

  • Check this box to trigger a request for Renovate to run again on this repository

[FEATURE] Input Border

What kind of feature are you missing?

Hi. Thank you for your work! Pls add support for outline input border to input decoration

Additional context

image

[BUG] Scrolling the font picker hangs the app

Platform

Web

Steps to Reproduce

  1. Open up font picker under "Text Theme"
  2. Try to scroll all the way to the bottom

Expected behaviour

The app should allow scrolling all the way to the bottom and pick fonts from there

Actual behaviour

The app hangs indefinitely after scrolling

Additional Context

#269 can potentially solve this

[BUG] Example app throws exception when decoding theme data

Platform

N/A

Steps To Reproduce

Run the example project on VSCode with "Uncaught Exceptions" turned on

Expected Behavior

No exceptions should be thrown

Actual behaviour

An exception was thrown in ThemeDecoder.decodeThemeData(themeJson)

_CastError (Null check operator used on a null value)

Screenshots

N/A

Additional Context

N/A

[FEATURE] Export as dart code

What kind of feature are you missing?

Have option to exporting as dart code or json, thanks you!

Additional context

No response

[BUG] Decoding using flutter_theme throws cast error

Platform

MacOS / Flutter 2.5.3

Steps To Reproduce

  1. Clone the example flutter project and start it in debug mode
  2. Enable catching uncaught exceptions in VS Code

Expected Behavior

The theme should be decoded without throwing an exception.

Actual behaviour
The application waits when decoding the theme and throws an Cast Error exception:
"Null check operator used on a null value"

Screenshots
image

image

Additional Context

Add any other context about the problem here.

[BUG] Export button does nothing

Steps To Reproduce

  1. Launch Flutter_theme on windows 10 x64
  2. modify the theme
  3. Click the export button

Expected Behavior

json output should be created

Actual behaviour

nothing happens

[FEATURE] Add tooltips to explain what each theming option does

What kind of feature are you missing?

Sometimes it's not clear the effect of the theming options in advanced mode without trying it out. It would be helpful if there's tooltips explaining the effect of each option.

Additional context

Might be tricky to manually add all tooltips, potentially creating a simple script to scrape through the documentation and output this info as a json file. So that the app can load this in and show the tooltips.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.