// Metro module 7713 (f7714). import ThemeStore from "../../../user_settings/ThemeStore"; import { LoadingType, RowType, SeparatorType } from "./RowGeneratorConstants"; import { DEFAULT_OPTIONS } from "./RenderMessageOptionsContext"; import Module12 from "../../../../_bundle/Module12"; import { generateBlockedGroupRowData } from "./rows/BlockedGroup"; import { generateMessageRowData } from "./MessageWithContent"; import { generateSeparatorRowData } from "./rows/Separator"; import { generateLoadingRowData } from "./rows/Loading"; import { assertNever } from "../../../../utils/GlobalUtils"; const options = { constrainedWidth: 0, animatingStickerMessageId: null, forcedTheme: null, shouldObscureSpoiler: true, shouldDisableInteractiveComponents: true, ...DEFAULT_OPTIONS }; class RowManager { constructor() { return { __proto__: new.target.prototype, options }; } setOptions(a0) { this.options = Module12.merge({}, options, this.options, a0); } generate(a0) { const rowType = a0.rowType; let forcedTheme = this.options.forcedTheme; if (forcedTheme == null) { forcedTheme = ThemeStore.theme; } if (RowType.BLOCKED_GROUP !== rowType && RowType.IGNORED_GROUP !== rowType && RowType.SUSPENDED_USER_GROUP !== rowType) { if (RowType.MESSAGE === rowType) { return generateMessageRowData(a0, this.options, forcedTheme); } if (SeparatorType.DAY !== rowType && SeparatorType.UNREAD !== rowType && SeparatorType.SUMMARY !== rowType) { if (LoadingType.LOAD_BEFORE !== rowType && LoadingType.LOAD_AFTER !== rowType) { assertNever(rowType); return void 0; } return generateLoadingRowData(a0, forcedTheme); } return generateSeparatorRowData(a0, forcedTheme); } return generateBlockedGroupRowData(a0, forcedTheme, this); } } export default RowManager;