refactor(editor): unify directories naming (#11516)

**Directory Structure Changes**

- Renamed multiple block-related directories by removing the "block-" prefix:
  - `block-attachment` → `attachment`
  - `block-bookmark` → `bookmark`
  - `block-callout` → `callout`
  - `block-code` → `code`
  - `block-data-view` → `data-view`
  - `block-database` → `database`
  - `block-divider` → `divider`
  - `block-edgeless-text` → `edgeless-text`
  - `block-embed` → `embed`
This commit is contained in:
Saul-Mirone
2025-04-07 12:34:40 +00:00
parent e1bd2047c4
commit 1f45cc5dec
893 changed files with 439 additions and 460 deletions
@@ -0,0 +1,36 @@
class RandomPicker<T> {
private _copyArray: T[];
private readonly _originalArray: T[];
constructor(array: T[]) {
this._originalArray = [...array];
this._copyArray = [...array];
}
private randomIndex(max: number): number {
return Math.floor(Math.random() * max);
}
pick(): T {
if (this._copyArray.length === 0) {
this._copyArray = [...this._originalArray];
}
const index = this.randomIndex(this._copyArray.length);
const item = this._copyArray[index];
this._copyArray.splice(index, 1);
return item;
}
}
export const multiPlayersColor = new RandomPicker([
'var(--affine-multi-players-purple)',
'var(--affine-multi-players-magenta)',
'var(--affine-multi-players-red)',
'var(--affine-multi-players-orange)',
'var(--affine-multi-players-green)',
'var(--affine-multi-players-blue)',
'var(--affine-multi-players-brown)',
'var(--affine-multi-players-grey)',
]);
@@ -0,0 +1,42 @@
import { EditPropsStore } from '@blocksuite/affine-shared/services';
import type { BlockStdScope } from '@blocksuite/std';
import { multiPlayersColor } from './color-picker';
export class RemoteColorManager {
private get awarenessStore() {
return this.std.store.awarenessStore;
}
constructor(readonly std: BlockStdScope) {
const sessionColor = this.std.get(EditPropsStore).getStorage('remoteColor');
if (sessionColor) {
this.awarenessStore.awareness.setLocalStateField('color', sessionColor);
return;
}
const pickColor = multiPlayersColor.pick();
this.awarenessStore.awareness.setLocalStateField('color', pickColor);
this.std.get(EditPropsStore).setStorage('remoteColor', pickColor);
}
get(id: number) {
const awarenessColor = this.awarenessStore.getStates().get(id)?.color;
if (awarenessColor) {
return awarenessColor;
}
if (id !== this.awarenessStore.awareness.clientID) return null;
const sessionColor = this.std.get(EditPropsStore).getStorage('remoteColor');
if (sessionColor) {
this.awarenessStore.awareness.setLocalStateField('color', sessionColor);
return sessionColor;
}
const pickColor = multiPlayersColor.pick();
this.awarenessStore.awareness.setLocalStateField('color', pickColor);
this.std.get(EditPropsStore).setStorage('remoteColor', pickColor);
return pickColor;
}
}