libetl / local-traffic

tiny reverse-proxy made with typescript
The Unlicense
7 stars 1 forks source link

quickStatus clean up #428

Closed libetl closed 2 weeks ago

libetl commented 3 weeks ago

The status lines in the console render differently depending on the terminal, because the emojis sometimes are larger than their allocated size, causing some status lines to print irregularly

I should try to display the quickStatus in two steps : firstly only the table cells, then each individual column

import { stdout } from 'process'

(async () => {
    console.log('\u001b[48;5;52m           ' +
        '▐\u001b[48;5;53m           ' +
        '▐\u001b[48;5;54m           ' +
        '▐\u001b[48;5;55m       ' +
        '▐\u001b[48;5;56m    ' +
        '▐\u001b[48;5;57m    ' +
        '▐\u001b[48;5;93m    ' +
        '▐\u001b[0m');
    await new Promise(resolve =>
        stdout.moveCursor(-80, -1, () => resolve(void 0)));
    stdout.write('\u001b[48;5;52m☎️ 443\u001b[0m')
    await new Promise(resolve =>
        stdout.moveCursor(-80, 0, () =>
            stdout.moveCursor(12, 0, () => resolve(void 0))));
    stdout.write('\u001b[48;5;53m↗️ H/2 ✒️\u001b[0m')
    await new Promise(resolve =>
        stdout.moveCursor(-80, 0, () =>
            stdout.moveCursor(24, 0, () => resolve(void 0))));
    stdout.write('\u001b[48;5;54m↘️ H/2 ✒️\u001b[0m')
    await new Promise(resolve =>
        stdout.moveCursor(-80, 0, () =>
            stdout.moveCursor(36, 0, () => resolve(void 0))));
    stdout.write('\u001b[48;5;55m🔗 52\u001b[0m')
    await new Promise(resolve =>
        stdout.moveCursor(-80, 0, () =>
            stdout.moveCursor(45, 0, () => resolve(void 0))));
    stdout.write('\u001b[48;5;56m☄️\u001b[0m')
    await new Promise(resolve =>
        stdout.moveCursor(-80, 0, () =>
            stdout.moveCursor(50, 0, () => resolve(void 0))));
    stdout.write('\u001b[48;5;57m✨\u001b[0m')
    await new Promise(resolve =>
    stdout.moveCursor(-80, 0, () =>
        stdout.moveCursor(55, 0, () => resolve(void 0))));
    stdout.write('\u001b[48;5;93m🛡️\u001b[0m')
    console.log()
})()