seyfert-html-transcripts
Version:
A nicely formatted html transcript generator for seyfert.
29 lines • 1.68 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = ComponentRow;
exports.Component = Component;
const discord_components_react_1 = require("@derockdev/discord-components-react");
const react_1 = __importDefault(require("react"));
const utils_1 = require("../../utils/utils");
const types_1 = require("seyfert/lib/types");
function ComponentRow({ row, id }) {
return (react_1.default.createElement(discord_components_react_1.DiscordActionRow, { key: id }, row.components.map((component, id) => (react_1.default.createElement(Component, { component: component, id: id, key: id })))));
}
const ButtonStyleMapping = {
[types_1.ButtonStyle.Primary]: 'primary',
[types_1.ButtonStyle.Secondary]: 'secondary',
[types_1.ButtonStyle.Success]: 'success',
[types_1.ButtonStyle.Danger]: 'destructive',
[types_1.ButtonStyle.Link]: 'secondary',
[types_1.ButtonStyle.Premium]: 'primary',
};
function Component({ component, id }) {
if (component.data.type === types_1.ComponentType.Button) {
return (react_1.default.createElement(discord_components_react_1.DiscordButton, { key: id, type: 'style' in component.data ? ButtonStyleMapping[component.data.style] : 'secondary', url: 'url' in component.data ? component.data.url : undefined, emoji: 'emoji' in component.data ? (0, utils_1.parseDiscordEmoji)(component.data.emoji) : undefined }, 'label' in component.data ? component.data.label : undefined));
}
return undefined;
}
//# sourceMappingURL=components.js.map