Commit Graph

166 Commits

Author SHA1 Message Date
EYHN
8b28761a8a fix(component): fix workspace input (#5381) 2023-12-22 08:26:14 +00:00
Cats Juice
1ce4dd0497 fix(core): hide onboarding paper segments gap (#5384) 2023-12-22 15:49:43 +08:00
Joooye_34
46f824c4e9 fix: input style priority (#5383) 2023-12-22 15:48:28 +08:00
EYHN
f11ea7570a fix(core): maxWait for sync progress debounce (#5377) 2023-12-22 03:28:24 +00:00
DarkSky
aa4d42b36c feat: use baseurl from server config (#5369) 2023-12-21 12:52:38 +00:00
Cats Juice
aeec68b0d7 fix(core): onboading tooltip next button always shows (#5363) 2023-12-21 08:09:37 +00:00
Cats Juice
c2db8b356c feat(electron): handle onboarding-window moved between screens (#5345) 2023-12-21 15:44:21 +08:00
JimmFly
332a5c6685 chore(core): temporarily hide export png and pdf in edgeless (#5364) 2023-12-21 07:13:05 +00:00
Cats Juice
34c1d2a674 feat(core): responsive for onboarding (#5361)
fix(core): use light-theme for onboarding back button

feat(core): responsive for onboarding
2023-12-21 04:27:49 +00:00
EYHN
fcc3e9e069 feat(core): add syncing progress (#5356)
![CleanShot 2023-12-20 at 16.54.30@2x.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/g3jz87HxbjOJpXV3FPT7/318a2d3c-14ea-48db-907a-881886d605e7.png)
2023-12-20 09:25:06 +00:00
JimmFly
9981c24120 fix(core): escape special characters for cmdk item values (#5353)
![image](https://github.com/toeverything/AFFiNE/assets/102217452/301ef02e-f0df-4a1b-843f-240cad44af0f)
2023-12-20 08:20:21 +00:00
Joooye_34
80eeb2ddc7 feat: only follow serverUrlPrefix at redirect to client (#5295) (#5354)
feat: only follow `serverUrlPrefix` at redirect to client (#5295)

fix: use secure websocket (#5297)
2023-12-20 07:52:57 +00:00
LongYinan
800ea0abf1 fix(core): remove ses lockdown (#5350) 2023-12-20 04:11:34 +00:00
DarkSky
33a589a8ba feat: onboarding electron redirect (#5327) 2023-12-19 13:54:43 +00:00
DarkSky
8ea910a2bb feat: onboarding page (#5277) 2023-12-19 13:54:41 +00:00
Cats Juice
197d1d4136 feat(core): adjust ui for new design (#5322)
feat(core): add bg and hover state for onboarding

feat(core): adjust onboarding styles for web

feat(core): add get started page for onboarding
2023-12-19 10:28:11 +00:00
Peng Xiao
128f8066c3 fix(electron): main window should be opened first before destroying onboard window (#5319)
The issue listed on the title will prevent main window from showing on windows.
2023-12-19 09:22:44 +00:00
Cats Juice
e10609276d feat(core): add toggle workspace dialog (#5312) 2023-12-19 09:12:26 +00:00
3720
b9345e8d21 fix(core): collections initialized logic (#5310)
Collections YArray should be initialized only when the user operates on it, local state can't be trusted
2023-12-19 09:02:01 +00:00
Cats Juice
55818539af feat(core): basic page/edgeless toggle animation (#5283) 2023-12-19 08:48:54 +00:00
JimmFly
4b0ca06d80 feat(core): adjust empty favourites style (#5323)
close TOV-147
2023-12-19 08:37:35 +00:00
JimmFly
38617abc17 fix(component): fix incorrect input component width and height styling (#5292)
after:

https://github.com/toeverything/AFFiNE/assets/102217452/5d8f51c5-c7a6-4ec8-b2b0-7f1391f045c7
2023-12-19 08:27:46 +00:00
Cats Juice
d9f1cc60b9 feat(core): onboarding paper unfolding animation (#5264) 2023-12-19 07:18:06 +00:00
Cats Juice
841385666e feat(core): onboarding paper enter animation (#5248) 2023-12-19 07:18:00 +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
Peng Xiao
a815fd6b9a feat(core): ai poc (#5317) 2023-12-19 05:13:29 +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
Peng Xiao
fc56a53acd fix(core): page mode switch sometimes not working (#5306)
Should not pass inline object without memo into `InternalLottie`.
cdc96876b0/packages/frontend/component/src/components/internal-lottie/index.tsx (L77)

In the detail page when during syncing on the cloud, the detail page will be re-rendered constantly because of `useCurrentSyncEngineStatus` hook, which will then cause `PageSwitchItem` to re-render and forcing the internal lottie state to reset. As a result the click event may not be captured somehow.
2023-12-15 08:21:41 +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
DarkSky
2b7f6f8b74 feat: integrate new modules (#5087) 2023-12-14 09:50:46 +00:00
Peng Xiao
c66781970b feat(core): add useQueryImmutable (#5299) 2023-12-14 08:04:50 +00:00
Peng Xiao
b925731bf7 fix: add sidebar toggle and windows controls for empty collections page (#5304)
Before this change, when the user gets to an empty collection page & hide the sidebar, there is no sidebar toggle any longer.
Also added windows app control on windows.
2023-12-14 07:13:01 +00:00
Peng Xiao
3efcdc0cc5 fix: detail page missing background (#5303)
before

![CleanShot 2023-12-14 at 14.43.16@2x.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/T2klNLEk0wxLh4NRDzhk/53900c68-c050-4336-80fb-cd121dcf4d53.png)

after

![CleanShot 2023-12-14 at 14.42.44@2x.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/T2klNLEk0wxLh4NRDzhk/bd820718-8032-4a30-b250-6541084830be.png)
2023-12-14 06:50:21 +00:00
Peng Xiao
0dc9358972 fix: page title too long style (#5302)
![CleanShot 2023-12-14 at 14.14.30@2x.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/T2klNLEk0wxLh4NRDzhk/72beba1a-28a2-4192-a676-eea476140940.png)
2023-12-14 06:31:59 +00: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
ad2c254ca3 fix(core): simple history entry position (#5290)
fix AFF-377
2023-12-13 07:33:15 +00:00
Peng Xiao
883ab46557 fix(core): bg color issues in transparent mode (#5278)
fix the following style issue
![CleanShot 2023-12-13 at 00.06.13@2x.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/T2klNLEk0wxLh4NRDzhk/46f5e766-e6c9-4965-bab7-6fd6dbb2c651.png)
2023-12-13 07:14:24 +00:00
JimmFly
7d32ddf539 fix(core): fix window cannot be dragged on the collection page (#5269)
close #5268
close TOV-162

https://github.com/toeverything/AFFiNE/assets/102217452/d8f606c0-4c18-4a7e-be3f-d2e611ffecbf
2023-12-13 05:26:28 +00:00
Peng Xiao
c9f900b69c fix(core): page header style changes (#5279)
![CleanShot 2023-12-13 at 00.09.19@2x.png](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/T2klNLEk0wxLh4NRDzhk/476fe4de-4066-4b1d-8823-d23a31ef692b.png)
2023-12-13 05:06:29 +00: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
EYHN
68e7577841 fix(core): fix editor sidebar open on resize (#5262) 2023-12-12 11:02:33 +08:00
JimmFly
38e46bc3b2 fix(core): adjust share edgeless display error (#5263)
close #5261

https://github.com/toeverything/AFFiNE/assets/102217452/8a7c4347-96df-45a3-973a-806876e5703d
2023-12-11 10:55:23 +00:00
JimmFly
e7a7796ef3 feat(core): adjust empty collection style (#5239)
<img width="270" alt="image" src="https://github.com/toeverything/AFFiNE/assets/102217452/18ac2de8-51c0-447e-9c81-787f579eab4e">
2023-12-11 06:30:09 +00:00
EYHN
df439877bd fix(core): add requestidlecallback polyfill for safari (#5231) 2023-12-08 05:21:03 +00:00
JimmFly
52cfe4521a feat(core): add present to edgeless sharing (#5140) 2023-12-08 04:44:08 +00:00
Peng Xiao
fcd43033fe fix(electron): sync settings from localStorage -> atom -> electron (#5020)
- moved `appSettingAtom` to infra since we now have different packages that depends on it. There is no better place to fit in for now
- use atomEffect to sync setting changes to updater related configs to Electron side
- refactored how Electron reacts to updater config changes.
2023-12-08 03:20:02 +00:00
Peng Xiao
5352736eba feat(component): new right sidebar (#5169)
Refactor AFFiNE layout to support new right sidebar.

The new layout:
![image](https://github.com/toeverything/AFFiNE/assets/584378/678a05f5-bd48-4dbe-ad78-7a0bcc979918)

**Highlights:**
- new sidebar UI/UX
- favoring top-down UI components that are composed by basic building blocks in each route, instead of creating universal component like `WorkspaceHeader` that renders every possible cases (which I think is really hard to maintain)
- remove plugin based solution

**Pros/cons for current plugin-based solution:**

The current solution is somewhat a Dependency Injection (DI) approach, where the layout is defined at the top and UI items can be injected using Jotai atom slots.
This approach works well if we want a fully configurable system with everything being handled by plugins. It provides flexibility for custom extensions.
However, this solution is more suitable for single-page applications where the UI is completely controlled by configuration. It becomes challenging to achieve an optimized and visually appealing UI that remains under our control. An example of such a scenario would be a customizable dashboard like Grafana.
Another drawback of the existing solution is that we need to use Jotai and hooks to access context values, resulting in an unclear data flow within the component hierarchy.

**Alternatively, our approach in this PR** provides layout building blocks such as headers and sidebars, which can then be composed in individual route components. The good is that we have cleaner biz component instead of vague all-in-one layout component (like `<WorkspaceHeader />`).

**Issues of the implementation in this PR:**
Some UI layouts that that seems to be defined at the root layout are now defined in individual route component instead.
New 3-col layout component like the right sidebar still needs some abstraction and they are right now just for the detail editor only.
2023-12-08 01:03:48 +00:00
Peng Xiao
ed8e526f71 fix(core): remove duplicate loading component (#5168) 2023-12-07 15:34:10 +00:00