mirror of
				https://github.com/zulip/zulip-desktop.git
				synced 2025-10-31 03:53:34 +00:00 
			
		
		
		
	Fix linting errors.
This commit is contained in:
		| @@ -1,17 +1,18 @@ | |||||||
| 'use strict'; | 'use strict'; | ||||||
|  |  | ||||||
| const {ipcRenderer} = require('electron'); | const {ipcRenderer} = require('electron'); | ||||||
|  |  | ||||||
| const BaseComponent = require(__dirname + '/../../components/base.js'); | const BaseComponent = require(__dirname + '/../../components/base.js'); | ||||||
| const ConfigUtil = require(__dirname + '/../../utils/config-util.js'); | const ConfigUtil = require(__dirname + '/../../utils/config-util.js'); | ||||||
|  |  | ||||||
| class GeneralSection extends BaseComponent{ | class GeneralSection extends BaseComponent { | ||||||
| 	constructor(props) { | 	constructor(props) { | ||||||
| 		super(); | 		super(); | ||||||
| 		this.props = props; | 		this.props = props; | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
|     template() { | 	template() { | ||||||
|         return ` | 		return ` | ||||||
|             <div class="settings-pane" id="server-settings-pane"> |             <div class="settings-pane" id="server-settings-pane"> | ||||||
|                 <div class="title">Tray Options</div> |                 <div class="title">Tray Options</div> | ||||||
|                 <div id="tray-option-settings" class="settings-card"> |                 <div id="tray-option-settings" class="settings-card"> | ||||||
| @@ -21,8 +22,8 @@ class GeneralSection extends BaseComponent{ | |||||||
| 					</div> | 					</div> | ||||||
| 				</div> | 				</div> | ||||||
|             </div> |             </div> | ||||||
|         `; | 		`; | ||||||
|     } | 	} | ||||||
|  |  | ||||||
| 	trayOptionTemplate(trayOption) { | 	trayOptionTemplate(trayOption) { | ||||||
| 		if (trayOption) { | 		if (trayOption) { | ||||||
| @@ -41,29 +42,29 @@ class GeneralSection extends BaseComponent{ | |||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	init() { | 	init() { | ||||||
|         this.props.$root.innerHTML = this.template(); | 		this.props.$root.innerHTML = this.template(); | ||||||
| 		this.initTrayOption(); | 		this.initTrayOption(); | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	initTrayOption() { | 	initTrayOption() { | ||||||
| 		this.$trayOptionSettings = document.querySelector('#tray-option-settings .setting-control'); | 		this.$trayOptionSettings = document.querySelector('#tray-option-settings .setting-control'); | ||||||
| 		this.$trayOptionSettings.innerHTML = ''; | 		this.$trayOptionSettings.innerHTML = ''; | ||||||
| 		 |  | ||||||
| 		const trayOption = ConfigUtil.getConfigItem('trayIcon', true); | 		const trayOption = ConfigUtil.getConfigItem('trayIcon', true); | ||||||
| 		const $trayOption = this.generateNodeFromTemplate(this.trayOptionTemplate(trayOption)); | 		const $trayOption = this.generateNodeFromTemplate(this.trayOptionTemplate(trayOption)); | ||||||
| 		this.$trayOptionSettings.appendChild($trayOption); | 		this.$trayOptionSettings.appendChild($trayOption); | ||||||
|  |  | ||||||
| 		$trayOption.addEventListener('click', event=> { | 		$trayOption.addEventListener('click', () => { | ||||||
| 			const newValue = !ConfigUtil.getConfigItem('trayIcon'); | 			const newValue = !ConfigUtil.getConfigItem('trayIcon'); | ||||||
| 			ConfigUtil.setConfigItem('trayIcon', newValue); | 			ConfigUtil.setConfigItem('trayIcon', newValue); | ||||||
| 			ipcRenderer.send('forward', 'toggletray'); | 			ipcRenderer.send('forward', 'toggletray'); | ||||||
| 			this.initTrayOption(); | 			this.initTrayOption(); | ||||||
| 		}) | 		}); | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	handleServerInfoChange(index) { | 	handleServerInfoChange() { | ||||||
| 		ipcRenderer.send('reload-main'); | 		ipcRenderer.send('reload-main'); | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  |  | ||||||
| module.exports = GeneralSection; | module.exports = GeneralSection; | ||||||
|   | |||||||
| @@ -15,7 +15,7 @@ class PreferenceNav extends BaseComponent { | |||||||
|  |  | ||||||
| 	template() { | 	template() { | ||||||
| 		let navItemsTemplate = ''; | 		let navItemsTemplate = ''; | ||||||
| 		for (let navItem of this.navItems) { | 		for (const navItem of this.navItems) { | ||||||
| 			navItemsTemplate += `<div class="nav" id="nav-${navItem}">${navItem}</div>`; | 			navItemsTemplate += `<div class="nav" id="nav-${navItem}">${navItem}</div>`; | ||||||
| 		} | 		} | ||||||
|  |  | ||||||
| @@ -35,16 +35,16 @@ class PreferenceNav extends BaseComponent { | |||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	registerListeners() { | 	registerListeners() { | ||||||
| 		for (let navItem of this.navItems) { | 		for (const navItem of this.navItems) { | ||||||
| 			const $item = document.getElementById(`nav-${navItem}`); | 			const $item = document.getElementById(`nav-${navItem}`); | ||||||
| 			$item.addEventListener('click', event => { | 			$item.addEventListener('click', () => { | ||||||
| 				this.props.onItemSelected(navItem); | 				this.props.onItemSelected(navItem); | ||||||
| 			}); | 			}); | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	select(navItemToSelect) { | 	select(navItemToSelect) { | ||||||
| 		for (let navItem of this.navItems) { | 		for (const navItem of this.navItems) { | ||||||
| 			if (navItem === navItemToSelect) { | 			if (navItem === navItemToSelect) { | ||||||
| 				this.activate(navItem); | 				this.activate(navItem); | ||||||
| 			} else { | 			} else { | ||||||
| @@ -53,12 +53,12 @@ class PreferenceNav extends BaseComponent { | |||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	activate(navItem) {  | 	activate(navItem) { | ||||||
| 		const $item = document.getElementById(`nav-${navItem}`); | 		const $item = document.getElementById(`nav-${navItem}`); | ||||||
| 		$item.classList.add('active'); | 		$item.classList.add('active'); | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	deactivate(navItem) {  | 	deactivate(navItem) { | ||||||
| 		const $item = document.getElementById(`nav-${navItem}`); | 		const $item = document.getElementById(`nav-${navItem}`); | ||||||
| 		$item.classList.remove('active'); | 		$item.classList.remove('active'); | ||||||
| 	} | 	} | ||||||
|   | |||||||
| @@ -1,20 +1,17 @@ | |||||||
| 'use strict'; | 'use strict'; | ||||||
|  |  | ||||||
| const {ipcRenderer} = require('electron'); |  | ||||||
| const BaseComponent = require(__dirname + '/../../components/base.js'); | const BaseComponent = require(__dirname + '/../../components/base.js'); | ||||||
|  |  | ||||||
| const DomainUtil = require(__dirname + '/../../utils/domain-util.js'); | const DomainUtil = require(__dirname + '/../../utils/domain-util.js'); | ||||||
| const Nav = require(__dirname + '/nav.js'); |  | ||||||
|  |  | ||||||
| class NewServerForm extends BaseComponent{ | class NewServerForm extends BaseComponent { | ||||||
| 	constructor(props) { | 	constructor(props) { | ||||||
|         super(); | 		super(); | ||||||
| 		this.props = props; | 		this.props = props; | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
|     template() { | 	template() { | ||||||
|         return ` | 		return ` | ||||||
|             <div class="server-info" style="border: solid 1px #4CAF50;"> | 			<div class="server-info" style="border: solid 1px #4CAF50;"> | ||||||
| 				<div class="server-info-left"> | 				<div class="server-info-left"> | ||||||
| 					<img class="server-info-icon" src="${__dirname + '../../../../img/icon.png'}"/> | 					<img class="server-info-icon" src="${__dirname + '../../../../img/icon.png'}"/> | ||||||
| 				</div> | 				</div> | ||||||
| @@ -40,8 +37,8 @@ class NewServerForm extends BaseComponent{ | |||||||
| 					</div> | 					</div> | ||||||
| 				</div> | 				</div> | ||||||
| 			</div> | 			</div> | ||||||
|         `; | 		`; | ||||||
|     } | 	} | ||||||
|  |  | ||||||
| 	init() { | 	init() { | ||||||
| 		this.initForm(); | 		this.initForm(); | ||||||
| @@ -50,14 +47,14 @@ class NewServerForm extends BaseComponent{ | |||||||
|  |  | ||||||
| 	initForm() { | 	initForm() { | ||||||
| 		this.$newServerForm = this.generateNodeFromTemplate(this.template()); | 		this.$newServerForm = this.generateNodeFromTemplate(this.template()); | ||||||
|         this.$saveServerButton = this.$newServerForm.getElementsByClassName('server-save-action')[0]; | 		this.$saveServerButton = this.$newServerForm.getElementsByClassName('server-save-action')[0]; | ||||||
|         this.props.$root.innerHTML = ''; | 		this.props.$root.innerHTML = ''; | ||||||
| 		this.props.$root.appendChild(this.$newServerForm); | 		this.props.$root.appendChild(this.$newServerForm); | ||||||
|  |  | ||||||
| 		this.$newServerAlias = this.$newServerForm.querySelectorAll('input.server-info-value')[0]; | 		this.$newServerAlias = this.$newServerForm.querySelectorAll('input.server-info-value')[0]; | ||||||
| 		this.$newServerUrl = this.$newServerForm.querySelectorAll('input.server-info-value')[1]; | 		this.$newServerUrl = this.$newServerForm.querySelectorAll('input.server-info-value')[1]; | ||||||
| 		this.$newServerIcon = this.$newServerForm.querySelectorAll('input.server-info-value')[2]; | 		this.$newServerIcon = this.$newServerForm.querySelectorAll('input.server-info-value')[2]; | ||||||
|     } | 	} | ||||||
|  |  | ||||||
| 	initActions() { | 	initActions() { | ||||||
| 		this.$saveServerButton.addEventListener('click', () => { | 		this.$saveServerButton.addEventListener('click', () => { | ||||||
| @@ -69,7 +66,7 @@ class NewServerForm extends BaseComponent{ | |||||||
| 				}; | 				}; | ||||||
| 				DomainUtil.addDomain(server); | 				DomainUtil.addDomain(server); | ||||||
|  |  | ||||||
|             	this.props.onChange(this.props.index); | 				this.props.onChange(this.props.index); | ||||||
| 			}, errorMessage => { | 			}, errorMessage => { | ||||||
| 				alert(errorMessage); | 				alert(errorMessage); | ||||||
| 			}); | 			}); | ||||||
| @@ -77,4 +74,4 @@ class NewServerForm extends BaseComponent{ | |||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  |  | ||||||
| module.exports = NewServerForm; | module.exports = NewServerForm; | ||||||
|   | |||||||
| @@ -1,15 +1,15 @@ | |||||||
| 'use strict'; | 'use strict'; | ||||||
|  |  | ||||||
| const {ipcRenderer} = require('electron'); |  | ||||||
| const BaseComponent = require(__dirname + '/js/components/base.js'); | const BaseComponent = require(__dirname + '/js/components/base.js'); | ||||||
|  |  | ||||||
|  |  | ||||||
| const Nav = require(__dirname + '/js/pages/preference/nav.js'); | const Nav = require(__dirname + '/js/pages/preference/nav.js'); | ||||||
| const ServersSection = require(__dirname + '/js/pages/preference/servers-section.js'); | const ServersSection = require(__dirname + '/js/pages/preference/servers-section.js'); | ||||||
| const GeneralSection = require(__dirname + '/js/pages/preference/general-section.js'); | const GeneralSection = require(__dirname + '/js/pages/preference/general-section.js'); | ||||||
|  |  | ||||||
| class PreferenceView { | class PreferenceView extends BaseComponent { | ||||||
| 	constructor() { | 	constructor() { | ||||||
|  | 		super(); | ||||||
|  |  | ||||||
| 		this.$sidebarContainer = document.getElementById('sidebar'); | 		this.$sidebarContainer = document.getElementById('sidebar'); | ||||||
| 		this.$settingsContainer = document.getElementById('settings-container'); | 		this.$settingsContainer = document.getElementById('settings-container'); | ||||||
| 	} | 	} | ||||||
| @@ -37,8 +37,9 @@ class PreferenceView { | |||||||
| 				}); | 				}); | ||||||
| 				break; | 				break; | ||||||
| 			} | 			} | ||||||
|  | 			default: break; | ||||||
| 		} | 		} | ||||||
| 		this.section.init();		 | 		this.section.init(); | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -1,20 +1,17 @@ | |||||||
| 'use strict'; | 'use strict'; | ||||||
|  |  | ||||||
| const {ipcRenderer} = require('electron'); |  | ||||||
| const BaseComponent = require(__dirname + '/../../components/base.js'); | const BaseComponent = require(__dirname + '/../../components/base.js'); | ||||||
|  |  | ||||||
| const DomainUtil = require(__dirname + '/../../utils/domain-util.js'); | const DomainUtil = require(__dirname + '/../../utils/domain-util.js'); | ||||||
| const Nav = require(__dirname + '/nav.js'); |  | ||||||
|  |  | ||||||
| class ServerInfoForm extends BaseComponent{ | class ServerInfoForm extends BaseComponent { | ||||||
| 	constructor(props) { | 	constructor(props) { | ||||||
|         super(); | 		super(); | ||||||
| 		this.props = props; | 		this.props = props; | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
|     template() { | 	template() { | ||||||
|         return ` | 		return ` | ||||||
|             <div class="settings-card"> | 			<div class="settings-card"> | ||||||
| 				<div class="server-info-left"> | 				<div class="server-info-left"> | ||||||
| 					<img class="server-info-icon" src="${this.props.server.icon}"/> | 					<img class="server-info-icon" src="${this.props.server.icon}"/> | ||||||
| 				</div> | 				</div> | ||||||
| @@ -40,8 +37,8 @@ class ServerInfoForm extends BaseComponent{ | |||||||
| 					</div> | 					</div> | ||||||
| 				</div> | 				</div> | ||||||
| 			</div> | 			</div> | ||||||
|         `; | 		`; | ||||||
|     } | 	} | ||||||
|  |  | ||||||
| 	init() { | 	init() { | ||||||
| 		this.initForm(); | 		this.initForm(); | ||||||
| @@ -50,16 +47,16 @@ class ServerInfoForm extends BaseComponent{ | |||||||
|  |  | ||||||
| 	initForm() { | 	initForm() { | ||||||
| 		this.$serverInfoForm = this.generateNodeFromTemplate(this.template()); | 		this.$serverInfoForm = this.generateNodeFromTemplate(this.template()); | ||||||
|         this.$deleteServerButton = this.$serverInfoForm.getElementsByClassName('server-delete-action')[0]; | 		this.$deleteServerButton = this.$serverInfoForm.getElementsByClassName('server-delete-action')[0]; | ||||||
|         this.props.$root.appendChild(this.$serverInfoForm); | 		this.props.$root.appendChild(this.$serverInfoForm); | ||||||
|     } | 	} | ||||||
|  |  | ||||||
| 	initActions() { | 	initActions() { | ||||||
| 		this.$deleteServerButton.addEventListener('click', () => { | 		this.$deleteServerButton.addEventListener('click', () => { | ||||||
| 			DomainUtil.removeDomain(this.props.index); | 			DomainUtil.removeDomain(this.props.index); | ||||||
|             this.props.onChange(this.props.index); | 			this.props.onChange(this.props.index); | ||||||
| 		}); | 		}); | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  |  | ||||||
| module.exports = ServerInfoForm; | module.exports = ServerInfoForm; | ||||||
|   | |||||||
| @@ -1,34 +1,34 @@ | |||||||
| 'use strict'; | 'use strict'; | ||||||
|  |  | ||||||
| const {ipcRenderer} = require('electron'); | const {ipcRenderer} = require('electron'); | ||||||
| const BaseComponent = require(__dirname + '/../../components/base.js'); |  | ||||||
|  |  | ||||||
|  | const BaseComponent = require(__dirname + '/../../components/base.js'); | ||||||
| const DomainUtil = require(__dirname + '/../../utils/domain-util.js'); | const DomainUtil = require(__dirname + '/../../utils/domain-util.js'); | ||||||
| const Nav = require(__dirname + '/nav.js'); |  | ||||||
| const ServerInfoForm = require(__dirname + '/server-info-form.js'); | const ServerInfoForm = require(__dirname + '/server-info-form.js'); | ||||||
| const NewServerForm = require(__dirname + '/new-server-form.js'); | const NewServerForm = require(__dirname + '/new-server-form.js'); | ||||||
|  |  | ||||||
| class ServersSection { | class ServersSection extends BaseComponent { | ||||||
| 	constructor(props) { | 	constructor(props) { | ||||||
|  | 		super(); | ||||||
| 		this.props = props; | 		this.props = props; | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
|     template() { | 	template() { | ||||||
|         return ` | 		return ` | ||||||
|             <div class="settings-pane" id="server-settings-pane"> | 			<div class="settings-pane" id="server-settings-pane"> | ||||||
|                 <div class="title">Manage Servers</div> | 				<div class="title">Manage Servers</div> | ||||||
|                 <div class="actions-container"> | 				<div class="actions-container"> | ||||||
|                     <div class="action green" id="new-server-action"> | 					<div class="action green" id="new-server-action"> | ||||||
|                         <i class="material-icons">add_box</i> | 						<i class="material-icons">add_box</i> | ||||||
|                         <span>New Server</span> | 						<span>New Server</span> | ||||||
|                     </div> | 					</div> | ||||||
| 				</div> | 				</div> | ||||||
|                 <div id="new-server-container" class="hidden"></div> | 				<div id="new-server-container" class="hidden"></div> | ||||||
|                 <div class="sub-title">Existing Servers</div> | 				<div class="sub-title">Existing Servers</div> | ||||||
|                 <div id="server-info-container"></div> | 				<div id="server-info-container"></div> | ||||||
|             </div> | 			</div> | ||||||
|         `; | 		`; | ||||||
|     } | 	} | ||||||
|  |  | ||||||
| 	init() { | 	init() { | ||||||
| 		this.initServers(); | 		this.initServers(); | ||||||
| @@ -43,7 +43,7 @@ class ServersSection { | |||||||
| 		this.$serverInfoContainer = document.getElementById('server-info-container'); | 		this.$serverInfoContainer = document.getElementById('server-info-container'); | ||||||
| 		this.$newServerContainer = document.getElementById('new-server-container'); | 		this.$newServerContainer = document.getElementById('new-server-container'); | ||||||
| 		this.$newServerButton = document.getElementById('new-server-action'); | 		this.$newServerButton = document.getElementById('new-server-action'); | ||||||
| 		 |  | ||||||
| 		this.$serverInfoContainer.innerHTML = servers.length ? '' : 'Add your first server to get started!'; | 		this.$serverInfoContainer.innerHTML = servers.length ? '' : 'Add your first server to get started!'; | ||||||
|  |  | ||||||
| 		this.initNewServerForm(); | 		this.initNewServerForm(); | ||||||
| @@ -73,9 +73,9 @@ class ServersSection { | |||||||
| 		}); | 		}); | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	handleServerInfoChange(index) { | 	handleServerInfoChange() { | ||||||
| 		ipcRenderer.send('reload-main'); | 		ipcRenderer.send('reload-main'); | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  |  | ||||||
| module.exports = ServersSection; | module.exports = ServersSection; | ||||||
|   | |||||||
| @@ -47,7 +47,8 @@ const config = { | |||||||
|  |  | ||||||
| const renderCanvas = function (arg) { | const renderCanvas = function (arg) { | ||||||
| 	config.unreadCount = arg; | 	config.unreadCount = arg; | ||||||
| 	return new Promise((resolve, reject) => { |  | ||||||
|  | 	return new Promise(resolve => { | ||||||
| 		const SIZE = config.size * config.pixelRatio; | 		const SIZE = config.size * config.pixelRatio; | ||||||
| 		const PADDING = SIZE * 0.05; | 		const PADDING = SIZE * 0.05; | ||||||
| 		const CENTER = SIZE / 2; | 		const CENTER = SIZE / 2; | ||||||
| @@ -161,7 +162,9 @@ const createTray = function () { | |||||||
| }; | }; | ||||||
|  |  | ||||||
| ipcRenderer.on('destroytray', event => { | ipcRenderer.on('destroytray', event => { | ||||||
| 	if (!window.tray) return; | 	if (!window.tray) { | ||||||
|  | 		return; | ||||||
|  | 	} | ||||||
|  |  | ||||||
| 	window.tray.destroy(); | 	window.tray.destroy(); | ||||||
| 	if (window.tray.isDestroyed()) { | 	if (window.tray.isDestroyed()) { | ||||||
| @@ -174,7 +177,9 @@ ipcRenderer.on('destroytray', event => { | |||||||
| }); | }); | ||||||
|  |  | ||||||
| ipcRenderer.on('tray', (event, arg) => { | ipcRenderer.on('tray', (event, arg) => { | ||||||
| 	if (!window.tray) return; | 	if (!window.tray) { | ||||||
|  | 		return; | ||||||
|  | 	} | ||||||
|  |  | ||||||
| 	if (arg === 0) { | 	if (arg === 0) { | ||||||
| 		unread = arg; | 		unread = arg; | ||||||
| @@ -191,7 +196,6 @@ ipcRenderer.on('tray', (event, arg) => { | |||||||
| }); | }); | ||||||
|  |  | ||||||
| function toggleTray() { | function toggleTray() { | ||||||
| 	console.log(window.tray); |  | ||||||
| 	if (window.tray) { | 	if (window.tray) { | ||||||
| 		window.tray.destroy(); | 		window.tray.destroy(); | ||||||
| 		if (window.tray.isDestroyed()) { | 		if (window.tray.isDestroyed()) { | ||||||
| @@ -202,7 +206,7 @@ function toggleTray() { | |||||||
| 		createTray(); | 		createTray(); | ||||||
| 		renderNativeImage(unread).then(image => { | 		renderNativeImage(unread).then(image => { | ||||||
| 			window.tray.setImage(image); | 			window.tray.setImage(image); | ||||||
| 			window.tray.setToolTip(arg + ' unread messages'); | 			window.tray.setToolTip(unread + ' unread messages'); | ||||||
| 		}); | 		}); | ||||||
| 		ConfigUtil.setConfigItem('trayIcon', true); | 		ConfigUtil.setConfigItem('trayIcon', true); | ||||||
| 	} | 	} | ||||||
| @@ -212,4 +216,4 @@ ipcRenderer.on('toggletray', toggleTray); | |||||||
|  |  | ||||||
| if (ConfigUtil.getConfigItem('trayIcon', true)) { | if (ConfigUtil.getConfigItem('trayIcon', true)) { | ||||||
| 	createTray(); | 	createTray(); | ||||||
| } | } | ||||||
|   | |||||||
| @@ -17,8 +17,8 @@ class ConfigUtil { | |||||||
| 		return instance; | 		return instance; | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	getConfigItem(key, defaultValue=null) { | 	getConfigItem(key, defaultValue = null) { | ||||||
| 		let value = this.db.getData('/')[key]; | 		const value = this.db.getData('/')[key]; | ||||||
| 		if (value === undefined) { | 		if (value === undefined) { | ||||||
| 			this.setConfigItem(key, value); | 			this.setConfigItem(key, value); | ||||||
| 			return defaultValue; | 			return defaultValue; | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user