diff --git a/ts_web/00_commitinfo_data.ts b/ts_web/00_commitinfo_data.ts index b4ad513..26bf3b8 100644 --- a/ts_web/00_commitinfo_data.ts +++ b/ts_web/00_commitinfo_data.ts @@ -3,6 +3,6 @@ */ export const commitinfo = { name: '@design.estate/dees-catalog', - version: '1.0.275', + version: '1.0.276', description: 'website for lossless.com' } diff --git a/ts_web/elements/dees-simple-appdash.ts b/ts_web/elements/dees-simple-appdash.ts index 37bbbf9..13b36cc 100644 --- a/ts_web/elements/dees-simple-appdash.ts +++ b/ts_web/elements/dees-simple-appdash.ts @@ -39,10 +39,6 @@ export class DeesSimpleAppDash extends DeesElement { @property() public viewTabs: IView[] = []; - @property() - public views: Array<{ name: string; icon: string; viewFunction: () => Promise }> = - []; - public static styles = [ cssManager.defaultStyles, css` diff --git a/ts_web/elements/dees-terminal.ts b/ts_web/elements/dees-terminal.ts index c9e20e5..a8072f5 100644 --- a/ts_web/elements/dees-terminal.ts +++ b/ts_web/elements/dees-terminal.ts @@ -27,6 +27,9 @@ export class DeesTerminal extends DeesElement { // INSTANCE private resizeObserver: ResizeObserver; + @property() + public setupCommand = `pnpm install @git.zone/tsbuild && clear && echo 'welcome'`; + constructor() { super(); this.resizeObserver = new ResizeObserver((entries) => { @@ -278,8 +281,9 @@ export class DeesTerminal extends DeesElement { term.onData((data) => { input.write(data); }); - await domtools.convenience.smartdelay.delayFor(5000); - input.write(`pnpm add isomorphic-git @git.zone/tsbuild\n`); + await this.waitForPrompt(term, '~/'); + input.write(this.setupCommand); + input.write(`\n`); } async connectedCallback(): Promise { @@ -295,4 +299,22 @@ export class DeesTerminal extends DeesElement { handleResize() { this.fitAddon.fit(); } + + private async waitForPrompt(term: Terminal, prompt: string): Promise { + return new Promise((resolve) => { + const checkPrompt = () => { + const lines = term.buffer.active; + for (let i = 0; i < lines.length; i++) { + const line = lines.getLine(i); + if (line && line.translateToString().includes(prompt)) { + resolve(); + return; + } + } + setTimeout(checkPrompt, 100); // check every 100 ms + }; + + checkPrompt(); + }); + } }