From ef09b642d6713a615ded8ad034eeb08a89db6a1e Mon Sep 17 00:00:00 2001 From: Kamil Olszewski Date: Fri, 6 Feb 2026 17:32:49 +0100 Subject: [PATCH] Newest Commit - code same as last commit --- .gitignore | 0 .npmrc | 0 .prettierignore | 0 .prettierrc | 0 README.md | 0 e2e/demo.test.ts | 0 eslint.config.js | 0 package-lock.json | 0 package.json | 0 playwright.config.ts | 0 pnpm-lock.yaml | 0 src/app.css | 0 src/app.d.ts | 0 src/app.html | 0 src/demo.spec.ts | 0 src/lib/assets/favicon.svg | 0 src/lib/assets/fs/fs.json | 0 src/lib/assets/fs/signature | 0 src/lib/assets/quan.ttf | Bin src/lib/index.ts | 0 src/lib/stores/bash/bash.ts | 24 ++++++++++++------------ src/lib/stores/bash/commands/cd.ts | 0 src/lib/stores/bash/commands/ls.ts | 0 src/lib/stores/bash/fs.ts | 0 src/lib/stores/bash/sort.ts | 0 src/lib/stores/bash/static.ts | 0 src/lib/stores/char.ts | 0 src/lib/stores/lang.ts | 0 src/lib/stores/stack.ts | 0 src/lib/stores/terminal/init.svelte.ts | 0 src/lib/stores/terminal/stdio.ts | 0 src/lib/stores/terminal/terminal.ts | 8 ++++++++ src/lib/stores/theme.ts | 0 src/modules/Footer.svelte | 0 src/modules/Loading.svelte | 0 src/modules/Panel.svelte | 0 src/modules/Settings.svelte | 0 src/modules/Terminal.svelte | 17 +++++++++++++++-- src/modules/panel/LangModule.svelte | 0 src/modules/panel/ProjectModule.svelte | 0 src/modules/panel/SidebarButton.svelte | 0 src/modules/terminal/Input.svelte | 0 src/modules/terminal/Output.svelte | 0 src/routes/+layout.svelte | 0 src/routes/+page.svelte | 0 src/routes/errors/404/+page.svelte | 0 src/routes/page.svelte.spec.ts | 0 src/routes/panel/+layout.svelte | 0 src/routes/panel/+page.svelte | 0 src/routes/panel/langs/+page.svelte | 0 src/routes/panel/metrics/+page.svelte | 0 src/routes/panel/projects/+page.svelte | 0 src/routes/panel/stats/+page.svelte | 0 src/routes/test/+page.svelte | 0 src/style/animations.css | 0 src/style/fonts.css | 0 src/style/global.css | 0 static/robots.txt | 0 svelte-portfolio.code-workspace | 0 svelte.config.js | 0 tailwind.config.ts | 0 tsconfig.json | 0 vite.config.ts | 0 vitest-setup-client.ts | 0 64 files changed, 35 insertions(+), 14 deletions(-) mode change 100644 => 100755 .gitignore mode change 100644 => 100755 .npmrc mode change 100644 => 100755 .prettierignore mode change 100644 => 100755 .prettierrc mode change 100644 => 100755 README.md mode change 100644 => 100755 e2e/demo.test.ts mode change 100644 => 100755 eslint.config.js mode change 100644 => 100755 package-lock.json mode change 100644 => 100755 package.json mode change 100644 => 100755 playwright.config.ts mode change 100644 => 100755 pnpm-lock.yaml mode change 100644 => 100755 src/app.css mode change 100644 => 100755 src/app.d.ts mode change 100644 => 100755 src/app.html mode change 100644 => 100755 src/demo.spec.ts mode change 100644 => 100755 src/lib/assets/favicon.svg mode change 100644 => 100755 src/lib/assets/fs/fs.json mode change 100644 => 100755 src/lib/assets/fs/signature mode change 100644 => 100755 src/lib/assets/quan.ttf mode change 100644 => 100755 src/lib/index.ts mode change 100644 => 100755 src/lib/stores/bash/bash.ts mode change 100644 => 100755 src/lib/stores/bash/commands/cd.ts mode change 100644 => 100755 src/lib/stores/bash/commands/ls.ts mode change 100644 => 100755 src/lib/stores/bash/fs.ts mode change 100644 => 100755 src/lib/stores/bash/sort.ts mode change 100644 => 100755 src/lib/stores/bash/static.ts mode change 100644 => 100755 src/lib/stores/char.ts mode change 100644 => 100755 src/lib/stores/lang.ts mode change 100644 => 100755 src/lib/stores/stack.ts mode change 100644 => 100755 src/lib/stores/terminal/init.svelte.ts mode change 100644 => 100755 src/lib/stores/terminal/stdio.ts mode change 100644 => 100755 src/lib/stores/terminal/terminal.ts mode change 100644 => 100755 src/lib/stores/theme.ts mode change 100644 => 100755 src/modules/Footer.svelte mode change 100644 => 100755 src/modules/Loading.svelte mode change 100644 => 100755 src/modules/Panel.svelte mode change 100644 => 100755 src/modules/Settings.svelte mode change 100644 => 100755 src/modules/Terminal.svelte mode change 100644 => 100755 src/modules/panel/LangModule.svelte mode change 100644 => 100755 src/modules/panel/ProjectModule.svelte mode change 100644 => 100755 src/modules/panel/SidebarButton.svelte mode change 100644 => 100755 src/modules/terminal/Input.svelte mode change 100644 => 100755 src/modules/terminal/Output.svelte mode change 100644 => 100755 src/routes/+layout.svelte mode change 100644 => 100755 src/routes/+page.svelte mode change 100644 => 100755 src/routes/errors/404/+page.svelte mode change 100644 => 100755 src/routes/page.svelte.spec.ts mode change 100644 => 100755 src/routes/panel/+layout.svelte mode change 100644 => 100755 src/routes/panel/+page.svelte mode change 100644 => 100755 src/routes/panel/langs/+page.svelte mode change 100644 => 100755 src/routes/panel/metrics/+page.svelte mode change 100644 => 100755 src/routes/panel/projects/+page.svelte mode change 100644 => 100755 src/routes/panel/stats/+page.svelte mode change 100644 => 100755 src/routes/test/+page.svelte mode change 100644 => 100755 src/style/animations.css mode change 100644 => 100755 src/style/fonts.css mode change 100644 => 100755 src/style/global.css mode change 100644 => 100755 static/robots.txt mode change 100644 => 100755 svelte-portfolio.code-workspace mode change 100644 => 100755 svelte.config.js mode change 100644 => 100755 tailwind.config.ts mode change 100644 => 100755 tsconfig.json mode change 100644 => 100755 vite.config.ts mode change 100644 => 100755 vitest-setup-client.ts diff --git a/.gitignore b/.gitignore old mode 100644 new mode 100755 diff --git a/.npmrc b/.npmrc old mode 100644 new mode 100755 diff --git a/.prettierignore b/.prettierignore old mode 100644 new mode 100755 diff --git a/.prettierrc b/.prettierrc old mode 100644 new mode 100755 diff --git a/README.md b/README.md old mode 100644 new mode 100755 diff --git a/e2e/demo.test.ts b/e2e/demo.test.ts old mode 100644 new mode 100755 diff --git a/eslint.config.js b/eslint.config.js old mode 100644 new mode 100755 diff --git a/package-lock.json b/package-lock.json old mode 100644 new mode 100755 diff --git a/package.json b/package.json old mode 100644 new mode 100755 diff --git a/playwright.config.ts b/playwright.config.ts old mode 100644 new mode 100755 diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml old mode 100644 new mode 100755 diff --git a/src/app.css b/src/app.css old mode 100644 new mode 100755 diff --git a/src/app.d.ts b/src/app.d.ts old mode 100644 new mode 100755 diff --git a/src/app.html b/src/app.html old mode 100644 new mode 100755 diff --git a/src/demo.spec.ts b/src/demo.spec.ts old mode 100644 new mode 100755 diff --git a/src/lib/assets/favicon.svg b/src/lib/assets/favicon.svg old mode 100644 new mode 100755 diff --git a/src/lib/assets/fs/fs.json b/src/lib/assets/fs/fs.json old mode 100644 new mode 100755 diff --git a/src/lib/assets/fs/signature b/src/lib/assets/fs/signature old mode 100644 new mode 100755 diff --git a/src/lib/assets/quan.ttf b/src/lib/assets/quan.ttf old mode 100644 new mode 100755 diff --git a/src/lib/index.ts b/src/lib/index.ts old mode 100644 new mode 100755 diff --git a/src/lib/stores/bash/bash.ts b/src/lib/stores/bash/bash.ts old mode 100644 new mode 100755 index c11bcaa..23f4cf6 --- a/src/lib/stores/bash/bash.ts +++ b/src/lib/stores/bash/bash.ts @@ -65,6 +65,16 @@ export class Bash { this.vfs = new VirtualFS({ fs: args.fs, user: args.user }); } + private _appendNewResult(inode: number, output: any, cmd: string) { + const data: PrintData = { + path: this.vfs.formatPath(this.vfs.getPathByInode(inode)), + output: output, + cmd: cmd + }; + console.log(data); + this._terminal.PrintOutput(data); + } + updateHistory(input: string): void { if ((this.user.history.length = 255)) { this.user.history.unshift(...this.user.history.splice(-1)); @@ -107,14 +117,14 @@ export class Bash { if (command.root) { if (this.hasSudoPerms(this.user.uid)) { let out: Result = command.method.call(this, args); - this.appendNewResult(this.getCwd(), out, this.user.history[0]); + this._appendNewResult(this.getCwd(), out, this.user.history[0]); } this.throwError(result); } let out: Result = command.method.call(this, args); console.log(out); - this.appendNewResult(out.path, out.data?.data, this.user.history[0]); + this._appendNewResult(out.path, out.data?.data, this.user.history[0]); } throwError(result: Result): void { @@ -134,16 +144,6 @@ export class Bash { } } - private appendNewResult(inode: number, output: any, cmd: string) { - const data: PrintData = { - path: this.vfs.formatPath(this.vfs.getPathByInode(inode)), - output: output, - cmd: cmd - }; - console.log(data); - this._terminal.PrintOutput(data); - } - formatBytes(bytes: number, dPoint?: number, pow: 1024 | 1000 = 1024): string { if (!+bytes) return '0'; diff --git a/src/lib/stores/bash/commands/cd.ts b/src/lib/stores/bash/commands/cd.ts old mode 100644 new mode 100755 diff --git a/src/lib/stores/bash/commands/ls.ts b/src/lib/stores/bash/commands/ls.ts old mode 100644 new mode 100755 diff --git a/src/lib/stores/bash/fs.ts b/src/lib/stores/bash/fs.ts old mode 100644 new mode 100755 diff --git a/src/lib/stores/bash/sort.ts b/src/lib/stores/bash/sort.ts old mode 100644 new mode 100755 diff --git a/src/lib/stores/bash/static.ts b/src/lib/stores/bash/static.ts old mode 100644 new mode 100755 diff --git a/src/lib/stores/char.ts b/src/lib/stores/char.ts old mode 100644 new mode 100755 diff --git a/src/lib/stores/lang.ts b/src/lib/stores/lang.ts old mode 100644 new mode 100755 diff --git a/src/lib/stores/stack.ts b/src/lib/stores/stack.ts old mode 100644 new mode 100755 diff --git a/src/lib/stores/terminal/init.svelte.ts b/src/lib/stores/terminal/init.svelte.ts old mode 100644 new mode 100755 diff --git a/src/lib/stores/terminal/stdio.ts b/src/lib/stores/terminal/stdio.ts old mode 100644 new mode 100755 diff --git a/src/lib/stores/terminal/terminal.ts b/src/lib/stores/terminal/terminal.ts old mode 100644 new mode 100755 index 1ed00a4..ef54340 --- a/src/lib/stores/terminal/terminal.ts +++ b/src/lib/stores/terminal/terminal.ts @@ -110,6 +110,14 @@ export class Terminal { return this.bash.getUser(); } + getTerminalWidth(): number { + const width = this.callbacks.getWidth?.(); + if(!width) { throw new Error('somehow width is undefined still after all the checks'); } + + console.log(width); + return width; + } + getCwd(): string { const fs: VirtualFS = this.bash.getFs(); console.log(fs.getPathByInode(this.bash.getCwd())); diff --git a/src/lib/stores/theme.ts b/src/lib/stores/theme.ts old mode 100644 new mode 100755 diff --git a/src/modules/Footer.svelte b/src/modules/Footer.svelte old mode 100644 new mode 100755 diff --git a/src/modules/Loading.svelte b/src/modules/Loading.svelte old mode 100644 new mode 100755 diff --git a/src/modules/Panel.svelte b/src/modules/Panel.svelte old mode 100644 new mode 100755 diff --git a/src/modules/Settings.svelte b/src/modules/Settings.svelte old mode 100644 new mode 100755 diff --git a/src/modules/Terminal.svelte b/src/modules/Terminal.svelte old mode 100644 new mode 100755 index d542f6e..5d178db --- a/src/modules/Terminal.svelte +++ b/src/modules/Terminal.svelte @@ -10,6 +10,16 @@ const printOutput = (e: HTMLElement, d: PrintData): void => print(e, d); + function getWidth() { + const e = document.getElementById('cout'); + if(!e){ + throw new Error('cant get width of the teminal element. Its null'); + } + const padding: number = parseInt(window.getComputedStyle(e, null).getPropertyValue('padding').slice(0, -2)); + console.log(padding); + return e.clientWidth - (padding * 2); + } + function updateTerminal() { username = terminal!.getUser().username; cwd = terminal!.getCwd(); @@ -47,7 +57,8 @@ } } - let callbackInit = { + //Callback initializer + const callbackInit = { print: (data: any) => { const e = document.getElementById('outputWrapper'); if (!e) return; @@ -56,6 +67,7 @@ getWidth: getWidth }; + //Test user with basic data so the bash can run let testUser: User = { username: 'kamil', passwd: '123', @@ -65,6 +77,7 @@ history: [] }; + //Empty terminal variable where the terminal class instance will be stored let terminal: Terminal; let username: string = $state(testUser.username); let cwd: string = $state(testUser.home); @@ -82,7 +95,7 @@