AppFlowy/frontend/appflowy_flutter
Alex Wallen 8dfbfe3c42
feat: Dynamically Load Themes in AppFlowy (#2670)
* feat: dynamic theme plugin (init)

* feat: provide fallback color if plugin becomes out of date (transparent)

* feat: use applicationDocumentsDirectory to store plugins

* chore: remove json files

* fix: add toJson to resolve analyzer errors

* fix: analyzer (unused imports)

* feat: add code generation scripts for freezed files (call recursively in packages)

* fix: revert changes to dry generation

* feat: call directly into script

* refactor: scripts try to be stateless :)

* fix: path to code generation in toml

* fix: generate script permissions

* fix: path not correct in generate.sh

* feat: modify execution permissions before executing scripts

* chore: switch order of build_runner and easy_localizations

* fix: fs is not valid duckscript cmd

* chore: clean build_runner before executing

* chore: upgrade freezed and build_runner attempt to resolve InvalidType error

* fix: use exec cmd.exe to chmod

* feat: add task to generate all files

* chore: remove redundant task (Code Gen)

* chore: remove json_annoation to dev_dependencies

* fix: dropped & between commands

* chore: rename file and class to FlowyDynamicPlugin

* fix: dependency hell

* fix: json annotation in colorscheme

* fix: analyzer warnings

* fix: duckscript runner for code generator

* fix: try without setting file permissions

* chore: move file picker to infra

* chore: restructure project directory

* feat: add BLoC components for consumers

* chore: update dependencies in pubspec.yaml file

* fix: file picker imports

* feat: add new translations for features

* feat: add new widgets to render upload

* fix: import

* feat: add text overflow

* feat: use animated switcher

* chore: export FileType

* fix: directory was not created, only files were copied

* chore: separate some logic

* feat: add saveFile to FilePickerService

* fix: analyzer error with unused imports

* feat: add translations for uploading

* feat: add builtins property to apptheme

* feat: add theme preview widget

* fix: upload widgets need to fill whole space and account for overflow

* refactor: do not watch file system for changes

* feat: add deletion confirmation dialog

* feat: add form factor resolution for dyanmic layout

* feat: trigger rebuild only when plugins are loaded

* feat: make all methods static

* chore: remove TODO comment, requires further design

* chore: move models to subfolder

* fix: references to plugin service instance

* fix: rebase errors

* fix: more rebasing errors

* feat: remove multiple themes from one plugin

* refactor: use pattern to resolve widget in settings_appearance_view

* refactor: remove commented code

* feat: add translations

* fix: import error

* refactor: separate concerns a bit more

* fix: bug in toJson serialization code

* feat: add package to use represent memory files

* fix: analyzer warnings

* chore: add translation

* chore: remove unused exceptions

* chore: use join

* chore: add documentation

* feat: add tests on theme

* fix: fix scripts for macOS

* feat: use appFlowyDocumentDirectory

* fix: remove unused import

* fix: imports

* feat: allow plugin service to be passed

* fix: theme tests

* feat: separate themes by built-in and plugin

* fix: rebase change name of appFlowyDocumentDirectory

* chore: add test to check that initial state falls back to initial theme

* chore: theme upload preview widget

* chore: rename to brightness setting

* refactor: appearance for settings appearance view

* feat: change show dialog api and use it

* fix: handle plugin compilation exception when incorrect format supplied

* fix: style of theme upload

* fix: always change state so that ui updates

* chore: style of loading widget

* fix: analyzer errors

* feat: add learn more button to documentation

---------

Co-authored-by: Yijing Huang <hyj891204@gmail.com>
Co-authored-by: nathan <nathan@appflowy.io>
2023-07-03 22:07:11 +08:00
..
android chore: sync release 0.1.1 (#2075) 2023-03-22 14:49:15 +08:00
assets feat: Dynamically Load Themes in AppFlowy (#2670) 2023-07-03 22:07:11 +08:00
integration_test feat: Dynamically Load Themes in AppFlowy (#2670) 2023-07-03 22:07:11 +08:00
ios chore: sync release 0.1.1 (#2075) 2023-03-22 14:49:15 +08:00
lib feat: Dynamically Load Themes in AppFlowy (#2670) 2023-07-03 22:07:11 +08:00
linux feat: integrate postgres storage (#2604) 2023-05-23 23:55:21 +08:00
macos feat: support align and upgrade appflowy_editor (#2712) 2023-06-06 17:19:53 +08:00
packages feat: Dynamically Load Themes in AppFlowy (#2670) 2023-07-03 22:07:11 +08:00
test feat: Dynamically Load Themes in AppFlowy (#2670) 2023-07-03 22:07:11 +08:00
web Feat/view map database (#1885) 2023-02-26 16:27:17 +08:00
windows feat: only allow one windows instance (#2879) 2023-06-22 13:25:01 +08:00
.gitignore fix: undo redo for the transforming block will raise an error (#2869) 2023-06-21 19:53:29 +08:00
.metadata chore: sync release 0.1.1 (#2075) 2023-03-22 14:49:15 +08:00
analysis_options.yaml feat: added analysis options + formatted complete code (#2725) 2023-06-07 16:25:37 +08:00
Makefile chore: upgrade flutter to 3.10.1 (#2619) 2023-05-28 12:09:39 +08:00
pubspec.lock feat: Dynamically Load Themes in AppFlowy (#2670) 2023-07-03 22:07:11 +08:00
pubspec.yaml feat: Dynamically Load Themes in AppFlowy (#2670) 2023-07-03 22:07:11 +08:00
README.md chore: upgrade flutter to 3.10.1 (#2619) 2023-05-28 12:09:39 +08:00

AppFlowy_Flutter

Documentation for Contributors

This Repository contains the codebase for the frontend of the application, currently we use Flutter as our frontend framework.

Platforms Supported Using Flutter 💻

  • Linux
  • macOS
  • Windows

    We later expect to extend support to Android and iOS devices using Flutter.

Am I Eligible to Contribute?

Yes! You are eligible to contribute, check out the ways in which you can contribute to AppFlowy. Some of the ways in which you can contribute are:

  • Non-Coding Contributions
    • Documentation
    • Feature Requests and Feedbacks
    • Report Bugs
    • Improve Translations
  • Coding Contributions

To contribute to AppFlowy_Flutter codebase specifically (coding contribution) we suggest you to have basic knowledge of Flutter. In case you are new to Flutter, we may suggest you to learn the basics and then try to contribute, get started with Flutter here.

What OS Should I Use for Development?

We support all OS for Development i.e Linux, macOS and Windows. However, most of us promote macOS and Linux over Windows. We have detailed docs on How to Setup AppFlowy_Flutter in your local system in each OS.

Getting Started ❇

We have a detailed documentation, on how to get started with the project, and make your first contribution. However, we do have some specific picks for you.

Need Help?

  • New to GitHub? Follow these steps to get started
  • Stuck Somewhere? Join the Discord Group and we are there to help you!