import { load as cheerioLoad } from 'cheerio'; import Lang from '../util/i18n.js'; import Wiki from '../util/wiki.js'; import { got, db, sendMsg, createNotice, hasPerm } from './util.js'; import { createRequire } from 'module'; const require = createRequire(import.meta.url); const {defaultSettings} = require('../util/default.json'); const allLangs = Lang.allLangs().names; const fieldset = { channel: '' + '', wiki: '' + '' + '' + '
', //+ '' //+ '
' //+ 'Wiki search' //+ '
', lang: '' + '' + '', role: '' + '', prefix: '' + '' + '
' + '' + '', inline: '' + '', save: '', delete: '' }; /** * Create a settings form * @param {import('cheerio').CheerioAPI} $ - The response body * @param {String} header - The form header * @param {import('./i18n.js').default} dashboardLang - The user language * @param {Object} settings - The current settings * @param {Boolean} settings.patreon * @param {String} settings.channel * @param {String} settings.wiki * @param {String} settings.lang * @param {String} settings.role * @param {Boolean} settings.inline * @param {String} settings.prefix * @param {import('./util.js').Role[]} guildRoles - The guild roles * @param {import('./util.js').Channel[]} guildChannels - The guild channels */ function createForm($, header, dashboardLang, settings, guildRoles, guildChannels = []) { var readonly = ( process.env.READONLY ? true : false ); if ( settings.channel && guildChannels.length === 1 && guildChannels[0].userPermissions === 0 && guildChannels[0].name === 'UNKNOWN' ) { readonly = true; } var fields = []; if ( settings.channel ) { let channel = $('
').append(fieldset.channel); channel.find('label').text(dashboardLang.get('settings.form.channel')); if ( settings.channel === 'new' ) { let curCat = null; channel.find('#wb-settings-channel').append( $(`').attr('label', guildChannel.name); return curCat; } var optionChannel = $(`