* feat: add no pages inside tips
* feat: show view's ancestors (include itself) title on bar
* feat: show view's ancestors (include itself) title on bar
* test: add integration tests
* fix: integration tests
* 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
* 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>
* 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>
* refactor: rename structs
* chore: read database id from view
* chore: fix open database error because of create a database view for database id
* chore: fix tests
* chore: rename datbase id to view id in flutter
* refactor: move grid and board to database view folder
* refactor: rename functions
* refactor: move calender to datbase view folder
* refactor: rename app_flowy to appflowy_flutter
* chore: reanming
* chore: fix freeze gen
* chore: remove todos
* refactor: view process events
* chore: add link database test
* chore: just open view if there is opened database