diff --git a/menu.js b/menu.js index 496518f..ce3e7ce 100644 --- a/menu.js +++ b/menu.js @@ -1,3 +1,5 @@ +const path = require('path'); + module.exports = async kernel => { const hasEnv = await kernel.exists(__dirname, 'facefusion', 'env'); @@ -9,71 +11,86 @@ module.exports = async kernel => { if (kernel.running(__dirname, 'start.js')) { - const session = await kernel.require(__dirname, 'session.json'); + const memory = kernel.memory.local[path.resolve(__dirname, 'start.js')]; + if (memory && memory.url && memory.mode) + { + menu = + [ + { + icon: 'fa-solid fa-rocket', + text: 'Open session', + href: memory.url, + target: '_blank' + }, + { + icon: 'fa-solid fa-desktop', + text: 'Server (' + memory.mode + ')', + href: 'start.js', + params: + { + fullscreen: true + } + } + ]; + } + else + { + menu = + [ + { + icon: 'fa-solid fa-desktop', + text: 'Server', + href: 'start.js', + params: + { + fullscreen: true + } + } + ]; + } + } + else + { menu = [ { - icon: 'fa-solid fa-spin fa-circle-notch', - text: 'Running ' + session.mode - }, - { - icon: 'fa-solid fa-desktop', - text: 'Server', + icon: 'fa-solid fa-power-off', + text: 'Launch default', href: 'start.js', params: { - fullscreen: true + run: true, + fullscreen: true, + mode: 'Default' + } + }, + { + icon: 'fa-solid fa-gauge', + text: 'Launch benchmark', + href: 'start.js', + params: + { + run: true, + fullscreen: true, + mode: 'Benchmark' + } + }, + { + icon: 'fa-solid fa-camera', + text: 'Launch webcam', + href: 'start.js', + params: + { + run: true, + fullscreen: true, + mode: 'Webcam' } } ]; - if (session && session.url) - { - menu.push( - { - icon: 'fa-solid fa-rocket', - text: 'Open session', - href: session.url, - target: '_blank' - }); - } - return menu; } - menu = + menu = menu.concat( [ - { - icon: 'fa-solid fa-power-off', - text: 'Launch default', - href: 'start.js', - params: - { - run: true, - fullscreen: true, - mode: 'Default' - } - }, - { - icon: 'fa-solid fa-gauge', - text: 'Launch benchmark', - href: 'start.js', - params: - { - run: true, - fullscreen: true, - mode: 'Benchmark' - } - }, - { - icon: 'fa-solid fa-camera', - text: 'Launch webcam', - href: 'start.js', - params: - { - run: true, - fullscreen: true, - mode: 'Webcam' - } - }, { icon: 'fa-solid fa-rotate', text: 'Update', @@ -83,8 +100,28 @@ module.exports = async kernel => run: true, fullscreen: true } + }, + { + icon: 'fa-solid fa-plug', + text: 'Install', + href: 'install.js', + params: + { + run: true, + fullscreen: true + } + }, + { + icon: 'fa-regular fa-circle-xmark', + text: 'Factory reset', + href: 'reset.js', + params: + { + run: true, + fullscreen: true + } } - ]; + ]); } else { diff --git a/pinokio.js b/pinokio.js index e8fb1f1..7fa68f3 100644 --- a/pinokio.js +++ b/pinokio.js @@ -1,5 +1,6 @@ module.exports = { + version: '1', title: 'FaceFusion 2.1.3', description: 'Next generation face swapper and enhancer', icon: 'icon.png', diff --git a/reset.js b/reset.js new file mode 100644 index 0000000..5d74c4d --- /dev/null +++ b/reset.js @@ -0,0 +1,19 @@ +module.exports = () => +{ + const config = + { + run: + [ + { + method: 'fs.rm', + params: + { + 'path': 'facefusion' + } + } + ] + }; + + return config; +}; + diff --git a/start.js b/start.js index b24b688..d236e98 100644 --- a/start.js +++ b/start.js @@ -35,21 +35,17 @@ module.exports = () => } }, { - method: 'self.set', + method: 'local.set', params: { - 'session.json': - { - mode: '{{local.mode}}', - url: '{{input.stdout.match(/(http:\\S+)/gi)[0]}}' - } + url: '{{input.stdout.match(/(http:\\S+)/gi)[0]}}' } }, { method: 'browser.open', params: { - uri: '{{self.session.url}}', + uri: '{{local.url}}', target: '_blank' } }