fix(editor): add comment entire to inner toolbar (#13304)

Close
[BS-3624](https://linear.app/affine-design/issue/BS-3624/page模式单选图片的时候希望有comment-按钮)




#### PR Dependency Tree


* **PR #13304** 👈

This tree was auto-generated by
[Charcoal](https://github.com/danerwilliams/charcoal)

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Added a comment button to the image and surface reference block
toolbars for easier commenting.

* **Refactor**
* Simplified array flattening operations across multiple components and
utilities by replacing `.map(...).flat()` with `.flatMap(...)`,
improving code readability and maintainability.

* **Bug Fixes**
* Improved comment creation logic to allow adding comments even when
selections exist.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
This commit is contained in:
L-Sun
2025-07-29 13:21:56 +08:00
committed by GitHub
parent bd161c54b2
commit 091bac1047
15 changed files with 82 additions and 83 deletions
@@ -255,8 +255,7 @@ export abstract class GeminiProvider<T> extends CopilotProvider<T> {
);
return embeddings
.map(e => (e.status === 'fulfilled' ? e.value.embeddings : null))
.flat()
.flatMap(e => (e.status === 'fulfilled' ? e.value.embeddings : null))
.filter((v): v is number[] => !!v && Array.isArray(v));
} catch (e: any) {
metrics.ai
@@ -19,7 +19,7 @@ import {
} from '../widgets/ai-panel/ai-panel';
export function AiSlashMenuConfigExtension() {
const AIItems = pageAIGroups.map(group => group.items).flat();
const AIItems = pageAIGroups.flatMap(group => group.items);
const iconWrapper = (icon: AIItemConfig['icon']) => {
return html`<div style="color: var(--affine-primary-color)">
@@ -66,7 +66,7 @@ export class Collection extends Entity<{ id: string }> {
},
],
})
.pipe(map(result => result.groups.map(group => group.items).flat()));
.pipe(map(result => result.groups.flatMap(group => group.items)));
})
);
}
@@ -51,8 +51,7 @@ import stickerContent${id} from './stickers/${category}/Content/${sticker}';`,
}
const importStatements = Object.values(data)
.map(v => Object.values(v).map(v => v.importStatement))
.flat()
.flatMap(v => Object.values(v).map(v => v.importStatement))
.join('\n');
const templates = `const templates = {