mirror of
				https://github.com/pierre42100/ComunicWeb
				synced 2025-11-04 12:14:12 +00:00 
			
		
		
		
	Display the list of emojies of the user
This commit is contained in:
		@@ -186,14 +186,14 @@ function getUserInfo(usersID, afterGetUserInfo, forceRequest){
 | 
			
		||||
 * 
 | 
			
		||||
 * @param {Number} userID Target user ID
 | 
			
		||||
 */
 | 
			
		||||
function userInfo(userID) {
 | 
			
		||||
function userInfo(userID, force = false) {
 | 
			
		||||
    return new Promise((res, err) => {
 | 
			
		||||
        getUserInfo(userID, (data) => {
 | 
			
		||||
            if(data.error)
 | 
			
		||||
                err(data.error)
 | 
			
		||||
            else
 | 
			
		||||
                res(data)
 | 
			
		||||
        }, false);
 | 
			
		||||
        }, force);
 | 
			
		||||
    });
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -78,6 +78,20 @@ ComunicWeb.pages.settings.navigationPane = {
 | 
			
		||||
			openPage("settings/language");
 | 
			
		||||
		};
 | 
			
		||||
 | 
			
		||||
		// Custom emojies
 | 
			
		||||
		const sectionEmojies = createElem2({
 | 
			
		||||
			appendTo: elemList,
 | 
			
		||||
			type: "li",
 | 
			
		||||
		});
 | 
			
		||||
		var sectionEmojiesLink = createElem2({
 | 
			
		||||
			appendTo: sectionEmojies,
 | 
			
		||||
			type: "a",
 | 
			
		||||
			innerHTML: "<i class='fa fa-smile-o'></i> Custom emojis"
 | 
			
		||||
		});
 | 
			
		||||
		sectionEmojiesLink.onclick = function(){
 | 
			
		||||
			openPage("settings/emojies");
 | 
			
		||||
		};
 | 
			
		||||
 | 
			
		||||
		//Account security
 | 
			
		||||
		var sectionSecurity = createElem2({
 | 
			
		||||
			appendTo: elemList,
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										87
									
								
								assets/js/pages/settings/sections/emojis.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										87
									
								
								assets/js/pages/settings/sections/emojis.js
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,87 @@
 | 
			
		||||
/**
 | 
			
		||||
 * Emojies settings sections
 | 
			
		||||
 * 
 | 
			
		||||
 * @author Pierre Hubert
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
class EmojiesSection {
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	static Open(args, target) {
 | 
			
		||||
 | 
			
		||||
		//Create a box
 | 
			
		||||
		const box = createElem2({
 | 
			
		||||
			appendTo: target,
 | 
			
		||||
			type: "div",
 | 
			
		||||
			class: "box box-primary box-emojis-settings"
 | 
			
		||||
		});
 | 
			
		||||
 | 
			
		||||
		//Add box header
 | 
			
		||||
		const boxHead = createElem2({
 | 
			
		||||
			appendTo: box,
 | 
			
		||||
			type: "div",
 | 
			
		||||
			class: "box-header",
 | 
			
		||||
		});
 | 
			
		||||
		const boxTitle = createElem2({
 | 
			
		||||
			appendTo: boxHead,
 | 
			
		||||
			type: "h3",
 | 
			
		||||
			class: "box-title",
 | 
			
		||||
			innerHTML: "Custom emojis settings"
 | 
			
		||||
		});
 | 
			
		||||
 | 
			
		||||
		//Create box body
 | 
			
		||||
		const boxBody = createElem2({
 | 
			
		||||
			appendTo: box,
 | 
			
		||||
			type: "div",
 | 
			
		||||
			class: "box-body"
 | 
			
		||||
		});
 | 
			
		||||
		
 | 
			
		||||
		const emojiesList = createElem2({
 | 
			
		||||
			appendTo: boxBody,
 | 
			
		||||
			type: "table",
 | 
			
		||||
			class: "table table-hover",
 | 
			
		||||
			innerHTML: "<tbody />"
 | 
			
		||||
		})
 | 
			
		||||
 | 
			
		||||
		this.RefreshList(emojiesList.querySelector("tbody"))
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * @param {HTMLElement} target 
 | 
			
		||||
	 */
 | 
			
		||||
	static async RefreshList(target) {
 | 
			
		||||
		try {
 | 
			
		||||
			target.innerHTML = "";
 | 
			
		||||
 | 
			
		||||
			const emojies = (await userInfo(userID(), true)).customEmojis;
 | 
			
		||||
 | 
			
		||||
			if(emojies.length == 0) {
 | 
			
		||||
				target.innerHTML = "<p>There is no custom emojis yet</p>"
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			for(const e of emojies) {
 | 
			
		||||
				
 | 
			
		||||
				const line = createElem2({
 | 
			
		||||
					type: "tr",
 | 
			
		||||
					appendTo: target,
 | 
			
		||||
				})
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
				line.innerHTML += "<td><img class='e' src='"+e.url+"' /></td>" +
 | 
			
		||||
					"<td>"+e.shorcut+"</td>" 
 | 
			
		||||
				
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
		} catch (error) {
 | 
			
		||||
			console.error(error)
 | 
			
		||||
			target.appendChild(ComunicWeb.common.messages.createCalloutElem(
 | 
			
		||||
				"Error",
 | 
			
		||||
				"Could not refresh the list of emojis!",
 | 
			
		||||
				"danger"
 | 
			
		||||
			))
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
@@ -22,6 +22,14 @@ ComunicWeb.pages.settings.sectionsList = {
 | 
			
		||||
		handler: "ComunicWeb.pages.settings.sections.language.open",
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * Custom emojies
 | 
			
		||||
	 */
 | 
			
		||||
	emojies: {
 | 
			
		||||
		title: "Custom emojis",
 | 
			
		||||
		handler: "EmojiesSection.Open"
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * Security settings
 | 
			
		||||
	 */
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user