collaborative-ui
Version:
React component library for building real-time collaborative editing applications.
27 lines (26 loc) • 1.27 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.JsonCrdtDemos = void 0;
const tslib_1 = require("tslib");
const React = tslib_1.__importStar(require("react"));
const JsonCrdtDemosState_1 = require("./JsonCrdtDemosState");
const context_1 = require("./context");
const useBehaviorSubject_1 = require("nice-ui/lib/hooks/useBehaviorSubject");
const context_2 = require("nice-ui/lib/context");
const Preview_1 = require("./Preview");
const Landing_1 = require("./Landing");
const JsonCrdtDemos = ({ state: _state, basePath = [] }) => {
const services = (0, context_2.useNiceUiServices)();
// biome-ignore lint: manual dependency list
const state = React.useMemo(() => _state || new JsonCrdtDemosState_1.JsonCrdtDemosState({ basePath, nav: services.nav }), [_state, services]);
const steps = (0, useBehaviorSubject_1.useBehaviorSubject)(state.steps$);
let content;
if (steps[0] === 'live' && typeof steps[1] === 'string') {
content = React.createElement(Preview_1.Preview, { id: steps[1] });
}
else {
content = React.createElement(Landing_1.Landing, null);
}
return React.createElement(context_1.context.Provider, { value: state }, content);
};
exports.JsonCrdtDemos = JsonCrdtDemos;
;