UNPKG

collaborative-ui

Version:

React component library for building real-time collaborative editing applications.

23 lines (22 loc) 1.09 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.JsonCrdtLogPinnedPatch = void 0; const tslib_1 = require("tslib"); const React = tslib_1.__importStar(require("react")); const useBehaviorSubject_1 = require("nice-ui/lib/hooks/useBehaviorSubject"); const context_1 = require("../context"); const JsonCrdtPatch_1 = require("../../JsonCrdtPatch"); const json_crdt_1 = require("json-joy/lib/json-crdt"); const nano_theme_1 = require("nano-theme"); const colors = nano_theme_1.theme.color.color; const colorCount = colors.length; const JsonCrdtLogPinnedPatch = ({ filename }) => { const state = (0, context_1.useLogState)(); const patch = (0, useBehaviorSubject_1.useBehaviorSubject)(state.pinned$); if (!(patch instanceof json_crdt_1.Patch)) return null; const sid = patch.getId()?.sid ?? 0; const color = colors[sid % colorCount]; return React.createElement(JsonCrdtPatch_1.JsonCrdtPatch, { state: state.patchState, pinned: color, patch: patch, filename: filename }); }; exports.JsonCrdtLogPinnedPatch = JsonCrdtLogPinnedPatch;