UNPKG

@citiwave/im-disclaimer-modal

Version:

A customizable React disclaimer modal component with theme support

50 lines (49 loc) 2.41 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.setDisclaimerProps = setDisclaimerProps; const fs_extra_1 = __importDefault(require("fs-extra")); const path_1 = __importDefault(require("path")); const chalk_1 = __importDefault(require("chalk")); const config_1 = require("../utils/config"); async function setDisclaimerProps(name, options) { try { // Use provided directory or get default from config const disclaimerDir = options.dir ? path_1.default.resolve(process.cwd(), options.dir) : await (0, config_1.getDefaultDirectory)(); const configPath = path_1.default.join(disclaimerDir, '_config.json'); const disclaimerPath = path_1.default.join(disclaimerDir, `${name}.json`); // Check if disclaimer exists if (!await fs_extra_1.default.pathExists(disclaimerPath)) { console.error(chalk_1.default.red(`Disclaimer '${name}' does not exist`)); return; } // Load existing config or create new one const config = await fs_extra_1.default.pathExists(configPath) ? await fs_extra_1.default.readJson(configPath) : {}; // Update or create settings for this disclaimer config[name] = { ...(config[name] || {}), ...(options.title && { title: options.title }), ...(options.prefix && { prefix: options.prefix }), ...(options.defaultOpen !== undefined && { defaultOpen: options.defaultOpen }), ...(options.theme && { theme: options.theme }), ...(options.accent && { accent: options.accent }) }; // Save updated config await fs_extra_1.default.writeJson(configPath, config, { spaces: 2 }); console.log(chalk_1.default.green(`✓ Updated properties for '${name}'`)); console.log(chalk_1.default.gray('Current settings:')); Object.entries(config[name]).forEach(([key, value]) => { console.log(chalk_1.default.gray(` ${key}: ${value}`)); }); console.log(chalk_1.default.gray(`\nDirectory: ${disclaimerDir}`)); } catch (error) { console.error(chalk_1.default.red('Failed to update disclaimer properties:'), error); } }