import { JsonObject, LocalNode, RawCoPlainText } from "cojson";
import { useState } from "react";
import { styled } from "goober";
import { CoPlainText } from "jazz-tools";
import { isWriter } from "../utils/permissions.js";
import { Button } from "../ui/button.js";
import { RawDataCard } from "./raw-data-card.js";
import { Icon } from "../ui/icon.js";
export function CoPlainTextView({
data,
coValue,
}: {
data: JsonObject;
coValue: RawCoPlainText;
node: LocalNode;
}) {
const currentText = Object.values(data).join("");
const [isEditing, setIsEditing] = useState(false);
const [editValue, setEditValue] = useState("");
const canEdit = isWriter(coValue.group.myRole());
const handleEditClick = () => {
setIsEditing(true);
setEditValue(currentText);
};
const handleCancel = () => {
setIsEditing(false);
setEditValue(currentText);
};
const handleSave = (e: React.FormEvent) => {
e.preventDefault();
e.stopPropagation();
const coPlainText = CoPlainText.fromRaw(coValue);
coPlainText.$jazz.applyDiff(editValue);
setIsEditing(false);
};
if (!data) return;
if (isEditing) {
return (
<>
{currentText}