state-management-utilities
Version:
State management utilities
25 lines (24 loc) • 1.5 kB
JavaScript
import React from "react";
import { useHandlers } from "../providers/HandlersProvider";
import { isErrorLog, logError } from "../providers/LogsProvider";
import { useSelectedLog } from "../providers/SelectedLogProvider";
import { useStyles } from "../providers/StylesProvider";
export function LogError() {
const userIsError = useHandlers()?.isError;
const userOnLogError = useHandlers()?.onLogError;
const styles = useStyles();
const [selectedLog] = useSelectedLog();
const isError = React.useMemo(() => {
return userIsError ? userIsError(selectedLog) : isErrorLog(selectedLog);
}, [selectedLog, userIsError]);
const onLogError = React.useCallback(() => {
return userOnLogError ? userOnLogError(selectedLog) : logError(selectedLog);
}, [selectedLog, userOnLogError]);
return !isError ? null : (React.createElement("svg", { viewBox: "0 0 32 32", xmlns: "http://www.w3.org/2000/svg", xmlnsXlink: "http://www.w3.org/1999/xlink", className: styles["dashboard-icon"], onClick: onLogError },
React.createElement("title", null, "Log Error"),
React.createElement("g", null,
React.createElement("g", { id: "Error_1_" },
React.createElement("g", { id: "Error" },
React.createElement("circle", { cx: "16", cy: "16", r: "16" }),
React.createElement("path", { d: "M14.5,25h3v-3h-3V25z M14.5,6v13h3V6H14.5z", id: "Exclamatory_x5F_Sign", fill: "rgba(255,255,255,0.5)" }))))));
}