|
@@ -47,9 +47,11 @@ import {
|
|
TransformHandles,
|
|
TransformHandles,
|
|
TransformHandleType,
|
|
TransformHandleType,
|
|
} from "../element/transformHandles";
|
|
} from "../element/transformHandles";
|
|
-import { viewportCoordsToSceneCoords } from "../utils";
|
|
|
|
|
|
+import { viewportCoordsToSceneCoords, supportsEmoji } from "../utils";
|
|
import { UserIdleState } from "../excalidraw-app/collab/types";
|
|
import { UserIdleState } from "../excalidraw-app/collab/types";
|
|
|
|
|
|
|
|
+const hasEmojiSupport = supportsEmoji();
|
|
|
|
+
|
|
const strokeRectWithRotation = (
|
|
const strokeRectWithRotation = (
|
|
context: CanvasRenderingContext2D,
|
|
context: CanvasRenderingContext2D,
|
|
x: number,
|
|
x: number,
|
|
@@ -449,7 +451,7 @@ export const renderScene = (
|
|
|
|
|
|
const userState = sceneState.remotePointerUserStates[clientId];
|
|
const userState = sceneState.remotePointerUserStates[clientId];
|
|
if (isOutOfBounds || userState === UserIdleState.AWAY) {
|
|
if (isOutOfBounds || userState === UserIdleState.AWAY) {
|
|
- context.globalAlpha = 0.2;
|
|
|
|
|
|
+ context.globalAlpha = 0.48;
|
|
}
|
|
}
|
|
|
|
|
|
if (
|
|
if (
|
|
@@ -481,13 +483,24 @@ export const renderScene = (
|
|
context.stroke();
|
|
context.stroke();
|
|
|
|
|
|
const username = sceneState.remotePointerUsernames[clientId];
|
|
const username = sceneState.remotePointerUsernames[clientId];
|
|
- const usernameAndIdleState = `${username ? `${username} ` : ""}${
|
|
|
|
- userState === UserIdleState.AWAY
|
|
|
|
- ? "⚫️"
|
|
|
|
- : userState === UserIdleState.IDLE
|
|
|
|
- ? "💤"
|
|
|
|
- : "🟢"
|
|
|
|
- }`;
|
|
|
|
|
|
+ let usernameAndIdleState;
|
|
|
|
+ if (hasEmojiSupport) {
|
|
|
|
+ usernameAndIdleState = `${username ? `${username} ` : ""}${
|
|
|
|
+ userState === UserIdleState.AWAY
|
|
|
|
+ ? "⚫️"
|
|
|
|
+ : userState === UserIdleState.IDLE
|
|
|
|
+ ? "💤"
|
|
|
|
+ : "🟢"
|
|
|
|
+ }`;
|
|
|
|
+ } else {
|
|
|
|
+ usernameAndIdleState = `${username ? `${username}` : ""}${
|
|
|
|
+ userState === UserIdleState.AWAY
|
|
|
|
+ ? ` (${UserIdleState.AWAY})`
|
|
|
|
+ : userState === UserIdleState.IDLE
|
|
|
|
+ ? ` (${UserIdleState.IDLE})`
|
|
|
|
+ : ""
|
|
|
|
+ }`;
|
|
|
|
+ }
|
|
|
|
|
|
if (!isOutOfBounds && usernameAndIdleState) {
|
|
if (!isOutOfBounds && usernameAndIdleState) {
|
|
const offsetX = x + width;
|
|
const offsetX = x + width;
|