feat(editor): add animation for switching to edgeless mode firstly (#10021)

Close [BS-2327](https://linear.app/affine-design/issue/BS-2327/page-block-%E5%9C%A8-edgeless-%E5%88%87%E6%8D%A2%E7%BC%A9%E6%94%BE%E5%8A%A8%E7%94%BB)

### What Changes:
- Add a zoom animation when switching to edgeless mode firstly
- Move viewport record from `sessionStorage` to `localStorage`

https://github.com/user-attachments/assets/dac11aab-76bd-44b1-8c0e-4a8a10919841
This commit is contained in:
L-Sun
2025-02-10 07:41:10 +00:00
parent 1d1eab8139
commit 9f56a21d8a
10 changed files with 120 additions and 39 deletions

View File

@@ -21,6 +21,12 @@ export type LastProps = z.infer<typeof NodePropsSchema>;
export type LastPropsKey = keyof LastProps;
const SessionPropsSchema = z.object({
templateCache: z.string(),
remoteColor: z.string(),
showBidirectional: z.boolean(),
});
const LocalPropsSchema = z.object({
viewport: z.union([
z.object({
centerX: z.number(),
@@ -34,12 +40,6 @@ const SessionPropsSchema = z.object({
.optional(),
}),
]),
templateCache: z.string(),
remoteColor: z.string(),
showBidirectional: z.boolean(),
});
const LocalPropsSchema = z.object({
presentBlackBackground: z.boolean(),
presentFillScreen: z.boolean(),
presentHideToolbar: z.boolean(),