/*
EditorMultiwikiNotice Gadget - JS Initialisation, Setup, Events. The editor now shows if this is a multiwiki master / slave page
See detailed documentation in Dev/mediawiki
deferrable:YES -- This is just an augmentation
*/

(function() {
	
	let masterWikiDomain = {
		clearnet: 'www.kicksecure.com',
		onion: 'www.w5j6stm77zs6652pgsij4awcjeel3eco7kvipheu6mtr623eyyehj4yd.onion',
	};
	
	let urlParts = {
		protocol: { clearnet: 'https://', onion: 'http://', },
		info: '/wiki/Dev/mediawiki#MultiWiki',
		edit: '/w/index.php?action=edit&title=',
	};
	
	// Only active if a page gets edited and if the page is MultiWiki
	if( (new URLSearchParams( window.location.search )).get('action') != 'edit'
		|| ! $('#wpTextbox1').val().match(/\[\[\s*Category\s*:\s*MultiWiki\s*\]\]/) )
		return;
	
	let domain = (new URL( window.location.href )).hostname;
	let domainType = domain.match(/\.onion$/) ? 'onion' : 'clearnet';

	let multiWikiInfo = $( ''
		+ '<ul class="editor-multi-wiki-notice icon-bullet-list minimal">'
		+ ( domain == masterWikiDomain[domainType]
			? '<li>'
				+' <i class="fas fa-exclamation cs-yellow"></i>'
				+ '<span><b>Beware, you are editing a MultiWiki master page!</b> Your edits will take effect on all slave wikis too.</span>'
			+ ' </li>'
			+ '<li>'
				+ '<i class="fas fa-info cs-blue"></i>'
				+ '<span>Read here <a class="multiwiki-info" target="_blank">how MultiWiki works</a>.</span>'
			+ '</li>'
			
			: '<li><i class="fas fa-times cs-red"></i><span><b>Please do not edit!</b> This is a MultiWiki slave page.</span></li>'
			+ '<li>'
				+ '<i class="fas fa-info cs-blue"></i>'
				+ '<span>Read here <a class="multiwiki-info" target="_blank">how and where you should edit</a> instead.</span>'
			+ '</li>'
			+  '<li>'
				+ '<i class="fas fa-pen cs-green"></i>'
				+ '<span>Or <a class="multiwiki-edit-master" target="_blank">edit the master page here</a>.</span>'
			+ '</li>'
		)
		+ '</ul>'
	);
	
	$('#mw-content-text').prepend( multiWikiInfo );
	
	multiWikiInfo.find('.multiwiki-info').attr( 'href', urlParts.protocol[domainType] + masterWikiDomain[domainType] + urlParts.info );
	multiWikiInfo.find('.multiwiki-edit-master').attr( 'href', urlParts.protocol[domainType] + masterWikiDomain[domainType]
		+ urlParts.edit + (new URLSearchParams( window.location.search )).get('title') );
			
})();

/*
[[Category:MultiWiki]]
*/