Skip to content

When I am adding appID, button are not showing in popup. #444

@artisharma24

Description

@artisharma24

Here is my code .

const notifier = require('node-notifier');
const path = require('path');
const { shell, ipcMain } = require('electron');
const socket = require('socket.io-client')('http://192.168.50.25:5050/');
const { insertRecordsIntoNotification, createNotificationTable } = require('../repos/notificationRepo.js');

async function showNotification(message, isResponse) {
try {
console.log("showNotification triggered");

    if (!message) {
        throw new Error('No message provided.');
    }

    const messageJson = JSON.parse(message);
    const iconPath = path.resolve(__dirname, '../assets/images/logo.png');
    const contentImage = path.resolve(__dirname, '../assets/images/background-image.png')
    if (!messageJson.Title || !messageJson.Message || !messageJson.Records || !Array.isArray(messageJson.Records)) {
        throw new Error('Invalid message format.');
    }
    console.log(messageJson.Message);
    if (!isResponse) {
        createNotificationTable();
        await insertRecordsIntoNotification(messageJson.Message);
    }
    const buttons = messageJson.Records.map(record => record.label);

    notifier.notify({
        title: messageJson.Title,
        message: messageJson.Message,
        icon: iconPath,
        contentImage: contentImage,
        wait: true,
        actions: buttons,
        appID:"Smart Agent"
    });

    messageJson.Records.forEach(element => {
        const label = element.label.toLowerCase();
        switch (element.type.toLowerCase()) {
            case 'button': {
                if (messageJson.NotificationType === 'RemoteShare') {
                    notifier.on(label, () => {
                        try {
                            console.log(`${label}ed the remote desktop sharing request and Emitting ${label} response... ${element.action}`);
                            const obj = { response: label, room: element.action, clntName: messageJson.clntName };
                            ipcMain.emit('start-share', obj);
                        } catch (error) {
                            console.error('Error:', error.message);
                        }

                    });
                } else if(messageJson.NotificationType === 'RemoteShareResponse'){
                    console.log(`disconnected the remote desktop sharing request`);                               
                } 
                else{
                    notifier.on(label, () => {                            
                        shell.openExternal(element.action);
                    });
                }
                break;
            }
            case 'link':
                {
                    shell.openExternal(element.action);
                    break;
                }
            default:
                break;
        }
    });
} catch (error) {
    console.error('Error:', error.message);
}

}

module.exports = { showNotification };

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions