mirror of
https://github.com/docmost/docmost.git
synced 2025-11-13 08:02:37 +10:00
* feat: support i18n * feat: wip support i18n * feat: complete space translation * feat: complete page translation * feat: update space translation * feat: update workspace translation * feat: update group translation * feat: update workspace translation * feat: update page translation * feat: update user translation * chore: update pnpm-lock * feat: add query translation * refactor: merge to single file * chore: remove necessary code * feat: save language to BE * fix: only load current language * feat: save language to locale column * fix: cleanups * add language menu to preferences page * new translations * translate editor * Translate editor placeholders * translate space selection component --------- Co-authored-by: Philip Okugbe <phil@docmost.com> Co-authored-by: Philip Okugbe <16838612+Philipinho@users.noreply.github.com>
48 lines
1.4 KiB
TypeScript
48 lines
1.4 KiB
TypeScript
import { ActionIcon } from "@mantine/core";
|
|
import { IconCircleCheck } from "@tabler/icons-react";
|
|
import { modals } from "@mantine/modals";
|
|
import { useResolveCommentMutation } from "@/features/comment/queries/comment-query";
|
|
import { useTranslation } from "react-i18next";
|
|
|
|
function ResolveComment({ commentId, pageId, resolvedAt }) {
|
|
const { t } = useTranslation();
|
|
const resolveCommentMutation = useResolveCommentMutation();
|
|
|
|
const isResolved = resolvedAt != null;
|
|
const iconColor = isResolved ? "green" : "gray";
|
|
|
|
//@ts-ignore
|
|
const openConfirmModal = () =>
|
|
modals.openConfirmModal({
|
|
title: t("Are you sure you want to resolve this comment thread?"),
|
|
centered: true,
|
|
labels: { confirm: t("Confirm"), cancel: t("Cancel") },
|
|
onConfirm: handleResolveToggle,
|
|
});
|
|
|
|
const handleResolveToggle = async () => {
|
|
try {
|
|
await resolveCommentMutation.mutateAsync({
|
|
commentId,
|
|
resolved: !isResolved,
|
|
});
|
|
//TODO: remove comment mark
|
|
// Remove comment thread from state on resolve
|
|
} catch (error) {
|
|
console.error("Failed to toggle resolved state:", error);
|
|
}
|
|
};
|
|
|
|
return (
|
|
<ActionIcon
|
|
onClick={openConfirmModal}
|
|
variant="default"
|
|
style={{ border: "none" }}
|
|
>
|
|
<IconCircleCheck size={20} stroke={2} color={iconColor} />
|
|
</ActionIcon>
|
|
);
|
|
}
|
|
|
|
export default ResolveComment;
|