Eʼtibor bering: Oʻzgartirishlaringizni koʻrish uchun, yangi moslamalaringizning saqlashdan keyin, brauzer keshini tozalash kerak:
Mozilla / Firefox: Ctrl+Shift+R, IE: Ctrl+F5, Safari: Cmd+Shift+R, Konqueror: F5, Opera: Tools → Preferences orqali keshni tozalang.

/* 
 * Adiutor: A gadget to assist various user actions
 * Author: Vikipolimer
 * Licencing and attribution: [[VP:Adiutor#Lisanslama ve atıf]]
 * Module: Loader
 */
/* <nowiki> */
$.when(mw.loader.using(["mediawiki.user", "oojs-ui-core", "oojs-ui-widgets", "oojs-ui-windows", ]), $.ready).then(function() {
	var mwConfig = mw.config.get(["skin", "wgAction", "wgPageName", "wgNamespaceNumber", "wgTitle", "wgUserGroups", "wgUserName"]);
	api = new mw.Api();
	checkOptions('Foydalanuvchi:' + mwConfig.wgUserName + '/Adiutor-options.js').then(function(data) {
		if(data.query.pages["-1"]) {
			Options = JSON.stringify([{
				"name": "csdSendMessageToCreator",
				"value": false
			}, {
				"name": "csdLogNominatedPages",
				"value": false
			}, {
				"name": "csdLogPageName",
				"value": "TOʻ qaydlari"
			}, {
				"name": "afdSendMessageToCreator",
				"value": false
			}, {
				"name": "afdLogNominatedPages",
				"value": false
			}, {
				"name": "afdLogPageName",
				"value": "Oʻ qaydlari"
			}, {
				"name": "prdSendMessageToCreator",
				"value": false
			}, {
				"name": "prdLogNominatedPages",
				"value": false
			}, {
				"name": "afdNominateOpinionsLog",
				"value": false
			}, {
				"name": "afdOpinionLogPageName",
				"value": "Oʻ qaydlari"
			}, {
				"name": "showMyStatus",
				"value": false
			}, {
				"name": "MyStatus",
				"value": true
			}]);
			var params = {
				action: 'edit',
				title: 'Foydalanuvchi:' + mwConfig.wgUserName + '/Adiutor-options.js',
				appendtext: Options,
				summary: 'Opsiya fayllari yaratildi',
				format: 'json'
			};
			api = new mw.Api();
			api.postWithToken('csrf', params).done(function() {
				//location.reload();
			});
		} else {
			var userSettingsParams = {
				action: 'parse',
				page: 'Foydalanuvchi:' + mwConfig.wgUserName + '/Adiutor-options.js',
				prop: 'wikitext',
				format: "json"
			};
			api.get(userSettingsParams).done(function(data) {
				var AdiutorOptions = JSON.parse([data.parse.wikitext['*']]);
				for(var i in AdiutorOptions) {
					localStorage.setItem((AdiutorOptions[i]).name, (AdiutorOptions[i]).value);
				}
			});
		}
	});
	var DefaultMenuItems = [];
	switch(mwConfig.wgNamespaceNumber) {
		case -1:
		case 0:
		case 1:
		case 2:
		case 3:
		case 4:
		case 5:
		case 6:
		case 7:
		case 14:
		case 10:
		case 11:
		case 100:
		case 101:
		case 102:
		case 103:
		case 828:
		case 829:
			// LOAD MODULES
			if(mwConfig.wgNamespaceNumber === 3) {
				var UserParams = {
					action: 'query',
					meta: 'userinfo',
					uiprop: 'rights',
					format: 'json'
				};
				api.get(UserParams).then(function(data) {
					checkMentor(data.query.userinfo.id);
				});
			}
			mw.loader.load('//uz.wikipedia.org/w/index.php?action=raw&ctype=text/javascript&title=MediaWiki:Gadget-Adiutor-AFD-Helper.js');
			if(/(?:\?|&)(?:action|diff|oldid)=/.test(window.location.href)) {
				DefaultMenuItems.push(new OO.ui.MenuOptionWidget({
					icon: 'cancel',
					data: 'rdr',
					label: 'Oʻchirishga',
					classes: ['adiutor-top-rrd-menu'],
				}));
			}
			if(mwConfig.wgPageName.includes('Maxsus:Contributions') || mwConfig.wgNamespaceNumber === 2 || mwConfig.wgNamespaceNumber === 3 && !mwConfig.wgPageName.includes(mwConfig.wgUserName)) {
				DefaultMenuItems.push(new OO.ui.MenuOptionWidget({
					icon: 'cancel',
					data: 'report',
					label: 'Chetlashtirishga',
					classes: ['adiutor-top-user-menu-end'],
				}), new OO.ui.MenuOptionWidget({
					icon: 'hand',
					data: 'warn',
					label: 'Ogohlantirish',
				}), new OO.ui.MenuOptionWidget({
					icon: 'speechBubbleAdd',
					data: 'welcome',
					label: 'Qarshilash',
					classes: ['adiutor-top-user-menu'],
				}));
			}
			if(!mwConfig.wgPageName.includes('Maxsus:Contributions')) {
				DefaultMenuItems.push(new OO.ui.MenuOptionWidget({
					icon: 'add',
					data: 1,
					label: 'Tezda oʻchirishga',
				}), new OO.ui.MenuOptionWidget({
					icon: 'arrowNext',
					data: 'pmr',
					label: 'Koʻchirishga',
				}), new OO.ui.MenuOptionWidget({
					icon: 'add',
					data: 3,
					label: 'Oʻchirishga',
				}), new OO.ui.MenuOptionWidget({
					icon: 'lock',
					data: 'rpp',
					label: 'Himoyalashga',
				}), new OO.ui.MenuOptionWidget({
					icon: 'history',
					data: 4,
					label: 'Soʻnggi tahrir',
				}), new OO.ui.MenuOptionWidget({
					icon: 'tag',
					data: 'tag',
					label: 'Xabar andozalari',
				}), new OO.ui.MenuOptionWidget({
					icon: 'checkAll',
					data: 5,
					label: 'Mualliflik huquqlari',
				}), new OO.ui.MenuOptionWidget({
					icon: 'settings',
					data: 6,
					label: 'Moslamalar',
					classes: ['adiutor-top-settings-menu'],
				}));
			}
			var adiutorMenu = new OO.ui.ButtonMenuSelectWidget({
				icon: 'ellipsis',
				invisibleLabel: true,
				framed: false,
				title: 'Koʻproq opsiyalar',
				align: 'force-right',
				classes: ['adiutor-top-selector', 'mw-indicator'],
				menu: {
					horizontalPosition: 'end',
					items: DefaultMenuItems,
					classes: ['adiutor-top-menu'],
				}
			});
			adiutorMenu.getMenu().on('choose', function(menuOption) {
				switch(menuOption.getData()) {
					case 1:
						mw.loader.load('//uz.wikipedia.org/w/index.php?action=raw&ctype=text/javascript&title=MediaWiki:Gadget-Adiutor-CSD.js');
						break;
					case 2:
						mw.loader.load('//uz.wikipedia.org/w/index.php?action=raw&ctype=text/javascript&title=MediaWiki:Gadget-Adiutor-PRD.js');
						break;
					case 3:
						mw.loader.load('//uz.wikipedia.org/w/index.php?action=raw&ctype=text/javascript&title=MediaWiki:Gadget-Adiutor-AFD.js');
						break;
					case 4:
						window.location = '/w/index.php?title=' + mwConfig.wgPageName + "&diff=cur&oldid=prev&diffmode=source";
						break;
					case 5:
						mw.loader.load('//uz.wikipedia.org/w/index.php?action=raw&ctype=text/javascript&title=MediaWiki:Gadget-Adiutor-COV.js');
						break;
					case 6:
						mw.loader.load('//uz.wikipedia.org/w/index.php?action=raw&ctype=text/javascript&title=MediaWiki:Gadget-Adiutor-OPT.js');
						break;
					case 'report':
						mw.loader.load('//uz.wikipedia.org/w/index.php?action=raw&ctype=text/javascript&title=MediaWiki:Gadget-Adiutor-AIV.js');
						break;
					case 'warn':
						OO.ui.alert('Tez kunlarda faol boʻladi :)').done(function() {});
						break;
					case 'welcome':
						OO.ui.alert('Tez kunlarda faol boʻladi :)').done(function() {});
						break;
					case 'rdr':
						mw.loader.load('//uz.wikipedia.org/w/index.php?action=raw&ctype=text/javascript&title=MediaWiki:Gadget-Adiutor-RDR.js');
						break;
					case 'pmr':
						mw.loader.load('//uz.wikipedia.org/w/index.php?action=raw&ctype=text/javascript&title=MediaWiki:Gadget-Adiutor-PMR.js');
						break;
					case 'rpp':
						mw.loader.load('//uz.wikipedia.org/w/index.php?action=raw&ctype=text/javascript&title=MediaWiki:Gadget-Adiutor-RPP.js');
						break;
					case 'tag':
						mw.loader.load('//uz.wikipedia.org/w/index.php?action=raw&ctype=text/javascript&title=MediaWiki:Gadget-Adiutor-TAG.js');
						break;
				}
			});
			if(!mwConfig.wgPageName.includes('Bosh_Sahifa')) {
				switch(mwConfig.skin) {
					case 'vector':
						$('.mw-portlet-cactions').parent().append(adiutorMenu.$element);
						break;
					case 'vector-2022':
						$('.vector-collapsible').append(adiutorMenu.$element);
						break;
					case 'monobook':
						$('.mw-indicators').append(adiutorMenu.$element);
						break;
					case 'timeless':
						$('.mw-portlet-body').append(adiutorMenu.$element);
						break;
					case 'minerva':
						$('.page-actions-menu__list').append(adiutorMenu.$element);
						break;
				}
				break;
			}
	}

	function checkOptions(title) {
		return api.get({
			action: 'query',
			prop: 'revisions',
			rvlimit: 1,
			rvprop: ['user'],
			rvdir: 'newer',
			titles: title,
		});
	}
	switch(mwConfig.wgNamespaceNumber) {
		case 2:
		case 3:
			var CurrentUserPage = mwConfig.wgPageName.replace(/Foydalanuvchi(\s|\_)munozaras\s*?\:\s*?(.*)/gi, "Foydalanuvchi:$2");
			checkOptions(CurrentUserPage + '/Adiutor-options.js').then(function(data) {
				if(data.query.pages["-1"]) {
					//
				} else {
					var XUserParams = {
						action: 'parse',
						page: CurrentUserPage + '/Adiutor-options.js',
						prop: 'wikitext',
						format: "json"
					};
					api.get(XUserParams).done(function(data) {
						var AdiutorOptions = JSON.parse([data.parse.wikitext['*']]);
						var ShowStatus;
						var UserStatus;
						$.each(AdiutorOptions, function() {
							if(this.name == "showMyStatus") {
								ShowStatus = this.value;
							}
						});
						$.each(AdiutorOptions, function() {
							if(this.name == "MyStatus") {
								UserStatus = this.value;
							}
						});
						if(ShowStatus) {
							switch(UserStatus) {
								case "active":
									buttonSelect = new OO.ui.ButtonOptionWidget({
										framed: false,
										label: 'Faol',
										data: 'active',
										classes: ['adiutor-user-status-active'],
									});
									$('.mw-first-heading').append(buttonSelect.$element);
									break;
								case "passive":
									buttonSelect = new OO.ui.ButtonOptionWidget({
										framed: false,
										label: 'Faol emas',
										data: 'passive',
										classes: ['adiutor-user-status-passive'],
									});
									$('.mw-first-heading').append(buttonSelect.$element);
									break;
								case "away":
									buttonSelect = new OO.ui.ButtonOptionWidget({
										framed: false,
										label: 'Taʼtilda',
										data: 'away',
										classes: ['adiutor-user-status-away'],
									});
									$('.mw-first-heading').append(buttonSelect.$element);
									break;
							}
							var checkLoggedUserPage = mwConfig.wgPageName.includes(mwConfig.wgUserName);
							if(checkLoggedUserPage) {
								buttonSelect.on('click', (function() {
									buttonSelect.$element.hide();
									var dropdown = new OO.ui.DropdownWidget({
										menu: {
											items: [
												new OO.ui.MenuOptionWidget({
													data: 'active',
													label: 'Faol'
												}),
												new OO.ui.MenuOptionWidget({
													data: 'passive',
													label: 'Faol emas'
												}),
												new OO.ui.MenuOptionWidget({
													data: 'away',
													label: 'Taʼtilda'
												})
											],
										},
										label: 'Holati',
										classes: ['adiutor-user-status-selector']
									});
									$('.mw-first-heading').append(dropdown.$element);
									dropdown.getMenu().on('choose', function(menuOption) {
										changeUserStatus(menuOption.getData());
									});
								}));
							}
						}
					});
				}
			});
			break;
	}

	function changeUserStatus(status) {
		api.get({
			action: 'parse',
			page: 'Foydalanuvchi:' + mwConfig.wgUserName + '/Adiutor-options.js',
			prop: 'wikitext',
			format: "json"
		}).done(function(data) {
			var AdiutorOptions = JSON.parse([data.parse.wikitext['*']]);
			$.each(AdiutorOptions, function() {
				if(this.name == "MyStatus") {
					this.value = status;
				}
			});
			console.log(AdiutorOptions);
			api.postWithToken('csrf', {
				action: 'edit',
				title: 'Foydalanuvchi:' + mwConfig.wgUserName + '/Adiutor-options.js',
				text: JSON.stringify(AdiutorOptions),
				summary: '[[VP:Adiutor|Adiutor]] opsiyalari yangilandi',
				format: 'json'
			}).done(function() {
				location.reload();
			});
		});
	}

	function checkMentor(UserId) {
		api.get({
			action: 'parse',
			page: "MediaWiki:GrowthMentors.json",
			prop: 'wikitext',
			format: "json"
		}).done(function(data) {
			if(data.parse.wikitext['*'].includes(UserId) && mwConfig.wgPageName.includes(mwConfig.wgUserName)) {
				mw.loader.load('//uz.wikipedia.org/w/index.php?action=raw&ctype=text/javascript&title=MediaWiki:Gadget-Adiutor-CMR.js');
			}
		});
	}
});
/* </nowiki> */