* feat: text and layout direction settings
Added ltr|rtl|auto direction button to appflowy toolbar.
Introduced layout and default direction settings.
* chore: formate code
* feat: added hint for direction settings
* fix: flutter analyze
---------
Co-authored-by: Lucas.Xu <lucas.xu@appflowy.io>
* fix: stringify date cell includes time if true
* refactor: LastModified and CreatedAt type option
* chore: frontend implementation
* chore: some adjustments and fix tests
* fix: integration tests
* chore: timestamp type option ui
* chore: default field settings if not exist
* chore: field settings listeners and services
* chore: don't need to updateFieldInfos
* feat: per-view field visibilty UI
* fix: remove unresolved imports
* fix: trigger option selection on tap down
* chore: add TODO comment
---------
Co-authored-by: Richard Shiue <71320345+richardshiue@users.noreply.github.com>
* fix: paste multiple lines in codeblock
* fix: works with non collapsed selection
* chore: localize code block
* test: multiline paste in codeblock
* chore: remove unused import
* fix: only hanlde code block paste command if all the selected nodes are code block
---------
Co-authored-by: Lucas.Xu <lucas.xu@appflowy.io>
* test: add supabase auth tests
* chore: format before test
* chore: fix warnings
* ci: rust test
* chore: disable clicking get started button when logining through the google OAuth
* feat: implement encrypt and decrypt
* feat: encrypt and decrypt
* feat: update user profile with encrypt
* chore: store encryption sign
* fix: login in setting menu
* chore: show encryption account name
* chore: fix test
* ci: fix warnings
* test: enable supabase test
* chore: fix test and rename column
* fix: update user profile after set the secret
* fix: encryption with wrong secret
* fix: don't save user data if the return value of did_sign_up is err
* chore: encrypt snapshot data
* chore: refactor snapshots interface
* ci: add tests
* chore: update collab rev
* fix: fix hover color on information and setting button
* chore: update the hover color of icon in SelectOptionTag
* chore: change hover color for add icon button
* chore: change the SelectOptionTag text color and _SelectOptionCell icon hover color
* fix: change hover color in tab close button #3172
* chore: add spacing in SelectOptionTag
* chore: remove the hover color on close tag icon
* chore: dart fix
* feat: add translation for tooltip
* feat: add defaults for theme settings
* feat: refactor appearance view so that all theme settings can be reset
* chore: add keys for reset button
* chore: add tests for the reset button
* feat: register appearance test in runner
* chore: remove comment
* feat: add default file for appearance
* chore: move around files
* feat: make reset button respond to hover
* fix: incorrect use of resetTheme
* refactor: use maybeWhen
* fix: icon button style
* fix: rebase errors
* feat: group by date
* test: added more tests for group by date
* fix: print month in abbrev format
* chore: adapt group event changes
* style: remove comment
* fix: change date on changing group
* fix: dont count time in relative group
* fix: check beginning of month is within 30 days
* refactor: unify group id date format
---------
Co-authored-by: nathan <nathan@appflowy.io>
* fix: push to sign in screen when logout
* chore: show historical login users
* chore: open historical user
* chore: show historical user
* chore: reload app widget with unique key
* chore: add tooltip for user history
* feat: support updating the view name and icon through document
* fix: store expand pages
* fix: refactor text link
* fix: update cargo.toml
* fix: update test
* fix: update event map
* fix: move deal with icon codes to a single file
* fix: delete useless code from flutter
* fix: document banner
* fix: build error
* fix: update rust library
---------
Co-authored-by: Lucas.Xu <lucas.xu@appflowy.io>
* chore: Add _ClearDateFieldButton
* chore: Add new DateCellCalendarEvent to clear date
* chore: Add grid_field_clearDate translation token
* refactor: _ClearDateFieldButton -> _ClearDateButton
* fix: Fix dart(unused_element) in _ClearDateButton
* feat: Handle clearDate
* Revert "feat: Handle clearDate"
This reverts commit fd145ef8e9589f3b4aa1a16e5d72c15b6d0b53c4.
* feat: Handle clearDate
* feat: Add clear_flag field
* feat: check clear_flag to clear date
* chore: update exisitng tests
* fix: add mssing import
* refactor: remove check for timeFormatError
* fix: fix margin on _ClearDateButton
* refactor: _ClearDateButton -> ClearDateButton
* test: add clear date backend unit test
* test: add clear date integration test
* test: add clear date to edit time cell test
* chore: mark ClearDateButton visible for testing
* feat: close date editor popover on clear date
* style: make AppFlowyPopover taller
* fix: trim dateStr in _dateStrFromCellData
* fix: don't dismiss CellEditor after clearDate
* feat: open apps in tabs
Closes: #2942 Relates: #2312
* fix: resolve comments
* fix: unfocus editor to close toolbar on open/change tab
* test: abstract open in a new tab helper
* fix: unable to cancel the inline math equation format
* fix: bold font style used in the document is not suitable
* chore: add flutter clean before executing the release task
* fix: integration test
* chore: add label for font selection drop down
* chore: add method to set font family
* feat: add drop down to setting appearance view
* feat: add fontFamily to document appearance cubit
* feat: add bloc provider to root for document appearance style
* feat: syncFont family from setting appearance dialog
* feat: plumbing for font style in editor
* fix: add blocprovider before pushing overlay
* chore: add kv_keys
* fix: use fontFamily in document appearance cubit
* fix: remove bloc providers because bloc is supplied in ancestor
* fix: remove unecessary bloc provider
* chore: add constraints to popover
* chore: add translation for search box
* feat: add levenshtein for string sort
* feat: add search bar view
* refactor: levenshtein
* chore: add tests for levenshtein algorithm
* feat: add unit tests for appearance cubit
* fix: analyzer warnings
* feat: sort by ascending if query is empty
* chore: add test for the font family setting widget
* feat: make comparison case insensitive
* feat: lazy load with listview.builder
Co-authored-by: Yijing Huang <hyj891204@gmail.com>
* fix: fonts loaded on open application
* fix: checkmark doesn't show
* fix: try catch before getFont
* fix: clear text editing value on close
* fix: remove autofocus for search text field
* chore: add tests
* feat: use sliver protocol
Co-authored-by: Yijing Huang <hyj891204@gmail.com>
* fix: avoid using intrinsic height
Co-authored-by: Yijing Huang <hyj891204@gmail.com>
* fix: extra paren caused build failure
* feat: switch order of font family setting
---------
Co-authored-by: Yijing Huang <hyj891204@gmail.com>
* 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>
* fix:windows integration test
* fix: load asset
* fix: windows test
* fix: test
* test: refactor the folder test
---------
Co-authored-by: vedon <vedon.fu@gmail.com>
Co-authored-by: Lucas.Xu <lucas.xu@appflowy.io>
* chore: change initial cover type's name to none
* chore: refactor cover node widget
* chore: use a constant instead of magic value
* fix: make the size of icon hover effect smaller
* chore: improve appearance of selected color
* test: add cover integration tests
* fix: inner ring of selected color in dark mode
* refactor: cover node to document header node
* test: simplify tests
* chore: rename files
* fix: option menu position
* fix: rename helps highlight the text for the user
* fix: export as markdown file name invalid
* chore: align the emoji in callout
* fix: leave more space in the editor
* fix: 0.2.3 known issues
* chore: add flutter pub get in flutter.toml
* fix: cell focus issue on windows
* fix: try to fix
* fix: cell focus not working on Windows platform there are multiple text cells
* docs: add documentation
* chore: adjust row detail page ui
* test: add test
* test: fix test
---------
Co-authored-by: vedon <vedon.fu@gmail.com>
* chore: some ui improvements
* fix: integration test
* feat: language selector on welcome page (#2796)
* feat: add language selector on welcome page
* feat: add hover effect and refactor layout
* test: add basic languge selector testing
* chore: increate place holder width
* fix: add catch error for setLocale and finish the testing
* chore: update comment
* feat: refactor the skip login in page and add tests
---------
Co-authored-by: Lucas.Xu <lucas.xu@appflowy.io>
* feat: row document (#2792)
* chore: create orphan view handler
* feat: save icon url and cover url in view
* feat: implement emoji picker UI
* chore: config ui
* chore: config ui again
* chore: replace RowPB with RowMetaPB to exposing more row information
* fix: compile error
* feat: show emoji in row
* chore: update
* test: insert emoji test
* test: add update emoji test
* test: add remove emoji test
* test: add create field tests
* test: add create row and delete row integration tests
* test: add create row from row menu
* test: document in row detail page
* test: delete, duplicate row in row detail page
* test: check the row count displayed in grid page
* test: rename existing field in grid page
* test: update field type of exisiting field in grid page
* test: delete field test
* test: add duplicate field test
* test: add hide field test
* test: add edit text cell test
* test: add insert text to text cell test
* test: add edit number cell test
* test: add edit multiple number cells
* test: add edit checkbox cell test
* feat: integrate editor into database row
* test: add edit create time and last edit time cell test
* test: add edit date cell by selecting a date test
* chore: remove unused code
* chore: update checklist bg color
* test: add update database layout test
---------
Co-authored-by: Lucas.Xu <lucas.xu@appflowy.io>
* test: fix test
* test: add create select option test
---------
Co-authored-by: Yijing Huang <hyj891204@gmail.com>
Co-authored-by: Lucas.Xu <lucas.xu@appflowy.io>
Co-authored-by: Nathan.fooo <86001920+appflowy@users.noreply.github.com>
Co-authored-by: nathan <nathan@appflowy.io>
* test: add checklist filter test
* fix: widget reference to invalid databaseController
* fix: SelectOptionFilterList doesn't expand to fill the CustomScrollView
* test: add single select and multi-select filter test
* ci: set protoc version
* feat: support importing database raw data
* feat: verify import database test
* test: fix test
* ci: update integration test ci config
* ci: codecov with os flag
* ci: update docker command
* ci: update docker command
* ci: update docker command
* ci: update docker command
* test: add filter test
* chore: create orphan view handler
* feat: save icon url and cover url in view
* feat: implement emoji picker UI
* chore: config ui
* chore: config ui again
* chore: replace RowPB with RowMetaPB to exposing more row information
* fix: compile error
* feat: show emoji in row
* chore: update
* test: insert emoji test
* test: add update emoji test
* test: add remove emoji test
* test: add create field tests
* test: add create row and delete row integration tests
* test: add create row from row menu
* test: document in row detail page
* test: delete, duplicate row in row detail page
* test: check the row count displayed in grid page
* test: rename existing field in grid page
* test: update field type of exisiting field in grid page
* test: delete field test
* test: add duplicate field test
* test: add hide field test
* test: add edit text cell test
* test: add insert text to text cell test
* test: add edit number cell test
* test: add edit multiple number cells
* test: add edit checkbox cell test
* feat: integrate editor into database row
* test: add edit create time and last edit time cell test
* test: add edit date cell by selecting a date test
* chore: remove unused code
* chore: update checklist bg color
* test: add update database layout test
---------
Co-authored-by: Lucas.Xu <lucas.xu@appflowy.io>
* fix: launch url in url cell
* fix: can't input url in Grid
* feat: support selecting or deselecting all items in export page
* fix: remove the circle shape
* fix: light mode toolbar color
* chore: update language and adjust the launch page
* feat: support align and upgrade appflowy_editor
* chore: try to fix linux analyze error
* fix: error after inserting callout block
* feat: add inline board / grid plugin
* feat: refactor insert_page
* fix: ref view in document
* chore: add asset name and description to option align type
* fix: linux flutter analyze
* chore: disable file export and log
* fix: the window always back to center after relaunching
* fix: potential data lost in nested list
* feat: re-design login page
* fix: can't remove background color
* chore: rename bundle id and change the macos app to non sandbox app
---------
Co-authored-by: nathan <nathan@appflowy.io>
* fix: create a new document
* fix: the banner don't show after deleteing the page
* fix: inserting a divider through the slash menu the cursor should stay active in the next line
* fix: the overlay doesn't dismiss after selecting a page
* fix: typo
* fix: delete the page in document if it has been deleted
* chore: l10n
* chore: rename events
* ci: rm install_diesel in ci
* fix: cover color not working
* ci: fix tauri build
---------
Co-authored-by: nathan <nathan@appflowy.io>
* feat: public the json to document data pb api
* test: add test for convert_data_to_document_internal
* chore: apply review suggestion
* chore: update folder path
* chore: show default user name
* chore: update
* feat: change collab storage type after auth type changed
* chore: reload folder
* chore: initial the group controller if need
* chore: update patch
* chore: update patch ref
* chore: send DateCellDataPB instead of timestamp
* chore: separate event card into own widget
* chore: add hover effect to event card itself
* feat: draggable event cards
* feat: drag target WIP
* chore: revert "chore: send DateCellDataPB instead of timestamp"
This reverts commit 1faaf21c6a50ac67da70ddf3bcfa8278ca5963d4.
* chore: remove timezone from date cell data
* fix: #2498 open calendar event faster
* chore: remove unused timezone
* feat: implement logic for rescheduling events
* fix: reschedule doesn't show up on UI
* fix: reorganize gesture detection layering
* fix: layout fix
* test: fix date single sort test
* chore: remove unused chrono-tz
* chore: add hint to unscheduled event popover
* chore: apply suggestions to 3 files
* fix: #2569 fix overflow
* chore: add timezone data to DateTypeOption
* test: make date tests run on Etc/UTC timezone
* chore: fix clippy warnings
* fix: use the right get db function
* chore: code cleanup
* test: run tests in utc
* test: fix tests
---------
Co-authored-by: nathan <nathan@appflowy.io>