import icon from '../../assets/icons/software-properties.svg' import { App, LoadedApp, LoadedPlugin } from '../../types' import FlowWindow from '../../structures/FlowWindow' import nullIcon from '../../assets/icons/application-default-icon.svg' export default class ManagerApp implements App { meta = { name: 'Flow Manager', description: 'A FlowOS utility app.', pkg: 'flow.manager', version: '1.0.0', icon } async open (): Promise { const win = window.wm.createWindow({ title: this.meta.name, icon: this.meta.icon, width: 350, height: 500 }) win.content.style.display = 'flex' win.content.style.flexDirection = 'column' win.content.style.gap = '10px' win.content.style.padding = '10px' win.content.style.background = 'var(--base)' win.content.innerHTML = ` ${window.flow.apps.map((app: LoadedApp) => { return `

${app.meta.name} ${(app.builtin ?? false) ? '(builtin)' : ''}

${app.meta.pkg} (v${app.meta.version}) - App

` }).join('')} ${window.flow.plugins.map((plugin: LoadedPlugin) => { return `

${plugin.meta.name} ${(plugin.builtin ?? false) ? '(builtin)' : ''}

${plugin.meta.pkg} (v${plugin.meta.version}) - Plugin

` }).join('')} ` return win } }