Commit Graph

106 Commits

Author SHA1 Message Date
EYHN
7c76c25a9c
refactor(core): new back&forward button base on workbench (#6012)
# feature:

## In Browser:
- hidden back&forward button in sidebar.
- back and forward is equal with `window.history.back()` `window.history.forward()`

## In Desktop:
- Back and forward can be controlled through the sidebar, cmdk, and shortcut keys.
- back and forward act on the currently **active** view.
- buttons change disable&enable style based on current active view history

# Refactor:

Move app-sidebar and app-container from @affine/component to @affine/core
2024-03-05 07:01:24 +00:00
regischen
d1e6b23e1a
feat: bump blocksuite (#5953) 2024-02-29 14:33:50 +08:00
EYHN
5cd488fe1d
refactor(core): remove collection atom (#5832) 2024-02-27 03:50:56 +00:00
EYHN
ad9b0303c4
refactor(core): refactor atom to use di (#5831)
To support multiple instances, this PR removes some atoms and implements them using the new DI system.

removed atom

- `pageSettingsAtom`
- `currentPageIdAtom`
- `currentModeAtom`
2024-02-27 03:50:53 +00:00
Peng Xiao
2295685590
fix: page info styles (#5910)
fix inconsistent styles compared to the one defined in figma
fix https://github.com/toeverything/AFFiNE/issues/5904
fix https://github.com/toeverything/AFFiNE/issues/5903
2024-02-26 14:11:24 +00:00
Peng Xiao
c16e4d4464
fix: page properties flaky tests (#5893) 2024-02-23 14:14:41 +00:00
Peng Xiao
745110c799
fix: page info ui issue on journal page (#5887) 2024-02-23 07:55:44 +00:00
Peng Xiao
2df8f29b64
refactor(core): use fractional indexing for sorting (#5809)
use https://github.com/rocicorp/fractional-indexing to enable better sorting logic for crdt app
2024-02-22 09:38:00 +00:00
Peng Xiao
372b4da884
test(core): add tests for page info ui (#5769)
![image.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/T2klNLEk0wxLh4NRDzhk/64419f79-46e8-4171-b853-5908841f827a.png)
2024-02-22 09:37:55 +00:00
Peng Xiao
d97304e9eb
feat(core): page info ui (#5729)
this PR includes the main table view in the page detail page
2024-02-22 05:58:15 +00:00
JimmFly
8d746f17de
chore: remove preloading pages (#5854) 2024-02-21 12:57:18 +00:00
JimmFly
c353b0d30f
chore: replace ambiguous "page" with "doc" (#5761)
close TOV-532
2024-02-21 12:47:17 +00:00
Cats Juice
3fe9d834de
feat(core): replace page filter, journal's date-picker with new one (#5675) 2024-02-20 13:53:41 +00:00
Peng Xiao
d1c4e6141a
refactor(component): cmdk ordering (#5722)
Replace internal CMDK command filtering/sorting logic.
The new implementation includes the following for command scoring:
- categories weights
- highlighted fragments
- original command score value

The new logic should be much cleaner and remove some hacks in the original implementation.

Not sure if this is optimal yet. Could be changed later.

fix https://github.com/toeverything/AFFiNE/issues/5699
2024-02-16 13:20:24 +00:00
Flrande
2e3ffeced9
feat: bump blocksuite (#5812) 2024-02-08 08:18:03 +08:00
Peng Xiao
005c02f148
fix(core): flaky tests (#5804) 2024-02-06 03:20:54 +00:00
JimmFly
18068f4ae2
feat(core): add collection and tag filters to all pages (#5567)
close TOV-69

Added the `filterMode` parameter to the `/all` route.
Abstracted the `PageList` and associated components into more universal ones.
Added the `useTagMetas` hook to get and update  the workspace tags.

https://github.com/toeverything/AFFiNE/assets/102217452/7595944d-a056-40c2-8d89-d8df9e901a4b
2024-01-26 07:42:47 +00:00
Peng Xiao
f41b7d7e71
feat(component): react wrapper for blocksuite editor (#5606)
A React wrapper for blocksuite editor from title/meta/doc/edgless fragments.
This PR only **clones** the `AffineEditorContainer`'s existing behavior and make it easier for extension in affine later.

fix TOV-315

### Some core issues:

A customized version of `createComponent` from `@lit/react`. The [existing and solutions in the community](https://github.com/lit/lit/issues/4435) does not work well in our case.
Alternatively in this PR the approach we have is to create web component instances in React lifecycle and then append them to DOM. However this make it hard to wrap the exported Lit component's using React and therefore we will have an additional wrapper tag for the wrapped web component.

To mitigate the migration issue on using React instead of Lit listed on last day, we now use [a proxy to mimic the wrapped React component](https://github.com/toeverything/AFFiNE/pull/5606/files#diff-5b7f0ae7b52a08739d50e78e9ec803c26ff3d3e5437581c692add0de12d3ede5R142-R183) into an `AffineEditorContainer` instance.
2024-01-22 08:25:29 +00:00
LongYinan
fa8655e43e
style: apply prefer-node-protocol lint rule (#5627)
it makes it perfectly clear that the package is a Node.js builtin module.
2024-01-19 03:47:08 +00:00
Cats Juice
70ea1e5ef8
feat(core): journal sidebar dater-picker navigation (#5558) 2024-01-18 12:34:23 +00:00
JimmFly
971f2beed1
fix(core): disable quick search when the link-popup is visitable (#5409)
close AFF-471
2024-01-04 11:36:50 +00:00
Peng Xiao
6cb62ed25d
feat: bump blocksuite (#5453)
Change history: https://github.com/toeverything/blocksuite/compare/e3abcbb...master
2024-01-03 02:10:19 +00:00
Peng Xiao
3978b2dfd2
refactor(core): onboarding using new transformer api (#5412)
Use new `transformer` to import onboarding json templates.

The json files are generated via this gist
https://gist.github.com/pengx17/ef92c305ac23123803a1a6a20e31f822

Not using the all-in-one `ZipTransformer` to import onboarding via a zip file.
1. The main concerns is that we still need to serve the blob resources via CDN to reduce user's blob usage. Otherwise the user will get the onboarding images being uploaded to cloud server every time he creates a new workspace. In this PR we extracted parts of the code from `ZipTransformer` in blocksuite and mute some code for uploading blobs.
2. it maybe not necessary to use zip for loading snapshots.

This PR is a short term solution. whether or not to tune the transformer api design may need further discussions.

fix TOV-264
2023-12-28 13:59:21 +00:00
Peng Xiao
972de52833
fix(core): remove plugins settings (#5337)
depend on https://github.com/toeverything/AFFiNE/pull/5324
2023-12-26 06:21:59 +00:00
Cats Juice
15dd20ef48
feat(electron): onboarding at first launch logic for client and web (#5183)
- Added a simple abstraction of persistent storage class.
- Different persistence solutions are provided for web and client.
    - web: stored in localStorage
    - client: stored in the application directory as `.json` file
- Define persistent app-config schema
- Add a new hook that can interactive with persistent-app-config reactively
2023-12-19 07:17:54 +00:00
JimmFly
cef9e0539d
fix(storybook): fix test (#5325)
<img width="440" alt="image" src="https://github.com/toeverything/AFFiNE/assets/102217452/329f9c12-cc0b-4aae-9352-3811ab0a27a6">
2023-12-18 13:36:56 +00:00
EYHN
fe2851d3e9
refactor: workspace manager (#5060) 2023-12-15 07:20:50 +00:00
Yifeng Wang
af15aa06d4
feat: bump blocksuite (#5286)
Co-authored-by: donteatfriedrice <huisheng.chen7788@outlook.com>
2023-12-15 12:57:52 +08:00
Peng Xiao
ce64685176
refactor(core): side bar resizing (#5280)
Rewrite sidebar panel using a customized react-resizable-panels version that supports sidebar pixel sizing (not using flex percentages).

Now the left & right sidebar using the same `ResizePanel` impl.

fix https://github.com/toeverything/AFFiNE/issues/5271
fix TOV-163
fix TOV-146
fix TOV-168
fix TOV-109
fix TOV-165
2023-12-13 07:52:01 +00:00
Peng Xiao
2a9a6855f4
test(core): rewrite some flaky assertions (#5287) 2023-12-13 07:51:59 +00:00
regischen
738302be40
fix(edgeless): remove stale template (#5275) 2023-12-13 12:54:26 +08:00
JimmFly
f4a52c031f
feat(core): support sidebar page item dnd (#5132)
Added the ability to drag page items from the `all pages` view to the sidebar, including `favourites,` `collection` and `trash`. Page items in `favourites` and `collection` can also be dragged between each other. However, linked subpages cannot be dragged.

Additionally, an operation menu and ‘add’ button have been provided for the sidebar’s page items, enabling the addition of a subpage, renaming, deletion or removal from the sidebar.

On the code front, the `useSidebarDrag` hooks have been implemented for consolidating drag events. The functions `getDragItemId` and `getDropItemId` have been created, and they accept type and ID to obtain itemId.

https://github.com/toeverything/AFFiNE/assets/102217452/d06bac18-3c28-41c9-a7d4-72de955d7b11
2023-12-12 16:04:58 +00:00
EYHN
b782b3fb1b
fix(core): polling to search in cmdk (#5274)
This is a temporary solution until https://github.com/toeverything/blocksuite/issues/5668 be solved.
2023-12-12 18:42:07 +08:00
Flrande
9aa33d0228
feat: bump blocksuite (#5267)
Change history: 2b5bb47...2b3d2ba
2023-12-12 06:18:30 +00:00
Peng Xiao
f88e67f5ab
fix(core): flaky local avartar test (#5229)
it seems we should not reopen workspace card list just after created a new workspace
2023-12-08 04:01:36 +00:00
Yifeng Wang
6cbf5b2a92
feat: bump blocksuite (#5194)
Co-authored-by: AyushAgrawal-A2 <ayushagl06@gmail.com>
2023-12-06 18:15:03 +08:00
Anthony
56ace48226
feat: add new page to the sidebar #5095 (#5128)
Co-authored-by: 李华桥 <joooye1991@gmail.com>
2023-12-05 14:18:21 +08:00
LongYinan
123f091e5b
fix: add prefer-dom-node-dataset rule (#5107) 2023-11-29 04:43:35 +00:00
LongYinan
923844f302
fix: add eqeqeq lint rule (#5106) 2023-11-29 04:43:31 +00:00
JimmFly
ad2d3b9167
feat(core): add download app button to web (#5023) 2023-11-23 14:33:25 +08:00
JimmFly
f06bdd9a39
fix(core): cmdk crash when entering double quotes (#5008)
Due to a bug in the upstream repository, a temporary fix was implemented until the issue in the upstream repository is resolved.
https://github.com/pacocoursey/cmdk/issues/189
2023-11-21 12:51:22 +00:00
Cats Juice
57d42bf491
refactor(core): remove all MUI related components and utilities (#4941) 2023-11-20 10:51:28 +08:00
JimmFly
4ef1f4c046
fix(core): escape cmdk value (#4947)
Co-authored-by: LongYinan <lynweklm@gmail.com>
2023-11-20 10:49:32 +08:00
EYHN
aa4c7407de
refactor: new provider (#4900) 2023-11-17 15:50:01 +08:00
JimmFly
1fe5a0fffa
feat(core): auto select block when jump to block (#4858)
Co-authored-by: Peng Xiao <pengxiao@outlook.com>
2023-11-10 03:02:56 +00:00
Peng Xiao
d0b014543c
fix(core): select all in page list group header does not need to enable selection (#4869) 2023-11-09 12:01:36 +00:00
Peng Xiao
65321e39cc
refactor(component): virtual rendering page list (#4775)
Co-authored-by: Joooye_34 <Joooye1991@gmail.com>
2023-11-02 14:21:01 +00:00
JimmFly
0a88be7771
feat(core): add jump to block for cmdk (#4802) 2023-11-02 11:49:49 +00:00
JimmFly
af9663d3e7
fix(core): adjust payment related text (#4797) 2023-11-02 08:22:54 +00:00
3720
ef8024c657
feat: new collections (#4530)
Co-authored-by: Peng Xiao <pengxiao@outlook.com>
2023-10-27 09:06:59 +00:00