envio
Version:
A latency and sync speed optimized, developer friendly blockchain data indexer.
72 lines (63 loc) • 1.69 kB
JavaScript
// Generated by ReScript, PLEASE EDIT WITH CARE
import * as Ink from "../bindings/Ink.res.mjs";
import * as Ink$1 from "ink";
import * as CustomHooks from "./CustomHooks.res.mjs";
import * as JsxRuntime from "react/jsx-runtime";
function Messages$Message(props) {
let message = props.message;
return JsxRuntime.jsx(Ink$1.Text, {
children: message.content,
color: CustomHooks.InitApi.toTheme(message.color)
});
}
let Message = {
make: Messages$Message
};
function Messages$Notifications(props) {
return JsxRuntime.jsxs(JsxRuntime.Fragment, {
children: [
JsxRuntime.jsx(Ink.Newline.make, {}),
JsxRuntime.jsx(Ink$1.Text, {
children: "Notifications:",
bold: true
}),
props.children
]
});
}
let Notifications = {
make: Messages$Notifications
};
function Messages(props) {
let messages = CustomHooks.useMessages(props.config);
let tmp;
if (typeof messages !== "object") {
tmp = null;
} else if (messages.TAG === "Data") {
let messages$1 = messages._0;
tmp = messages$1.length !== 0 ? JsxRuntime.jsx(Messages$Notifications, {
children: messages$1.map((message, i) => JsxRuntime.jsx(Messages$Message, {
message: message
}, i.toString()))
}) : null;
} else {
tmp = JsxRuntime.jsx(Messages$Notifications, {
children: JsxRuntime.jsx(Messages$Message, {
message: {
color: "danger",
content: "Failed to load messages from envio server"
}
})
});
}
return JsxRuntime.jsx(JsxRuntime.Fragment, {
children: tmp
});
}
let make = Messages;
export {
Message,
Notifications,
make,
}
/* Ink Not a pure module */