diff --git a/src/lib/components/ProcessTable.svelte b/src/lib/components/ProcessTable.svelte deleted file mode 100644 index e0d5d2f..0000000 --- a/src/lib/components/ProcessTable.svelte +++ /dev/null @@ -1,430 +0,0 @@ - - -
- - - - {#each columns.filter((col) => col.visible) as column} - - {/each} - - - - - {#each processes as process (process.pid)} - 50 || - process.memory_usage / (systemStats?.memory_total || 0) > 0.1} - class:pinned={pinnedProcesses.has(process.command)} - > - {#each columns.filter((col) => col.visible) as column} - - {/each} - - - {/each} - -
onToggleSort(column.id)}> -
- {column.label} - - {getSortIndicator(column.id)} - -
-
Actions
- {#if column.id === "name"} -
- - {process.name} -
- {:else if column.format} - {@html column.format(process[column.id])} - {:else} - {process[column.id]} - {/if} -
-
- - - -
-
-
- - diff --git a/src/lib/components/StatsBar.svelte b/src/lib/components/StatsBar.svelte deleted file mode 100644 index 034c00b..0000000 --- a/src/lib/components/StatsBar.svelte +++ /dev/null @@ -1,461 +0,0 @@ - - -
- {#if systemStats} -
- -
-
- -

CPU Usage

-
- {formatPercentage( - systemStats.cpu_usage.reduce((a, b) => a + b, 0) / - systemStats.cpu_usage.length, - )} -
-
-
- {#each systemStats.cpu_usage as usage, i} -
-
- Core {i} -
-
-
- {Math.round(usage)}% -
-
- {/each} -
-
- - -
-
- -

Memory

-
{formatPercentage(memoryPercentage)}
-
-
-
-
- Memory usage -
-
-
- {formatPercentage(memoryPercentage)} -
-
-
- Total - {formatMemorySize(systemStats.memory_total)} -
-
- Used - {formatMemorySize(systemStats.memory_used)} -
-
- Free - {formatMemorySize(systemStats.memory_free)} -
-
-
- - -
-
- -

Storage

-
- {formatPercentage(diskUsagePercentage)} -
-
-
-
- Total - {formatBytes(systemStats.disk_total_bytes)} -
-
- Used - {formatBytes(systemStats.disk_used_bytes)} -
-
- Free - {formatBytes(systemStats.disk_free_bytes)} -
-
-
- - -
-
- -

System

-
-
-
- Uptime - {formatUptime(systemStats.uptime)} -
-
- 1m Load - {systemStats.load_avg[0].toFixed(2)} -
-
- 5m Load - {systemStats.load_avg[1].toFixed(2)} -
-
- 15m Load - {systemStats.load_avg[2].toFixed(2)} -
-
-
- - -
-
- -

Network I/O

-
-
-
- ↓ Receiving - {formatBytes(systemStats.network_rx_bytes)}/s -
-
- ↑ Sending - {formatBytes(systemStats.network_tx_bytes)}/s -
-
-
-
- {/if} -
- - diff --git a/src/lib/components/process/ActionButtons.svelte b/src/lib/components/process/ActionButtons.svelte new file mode 100644 index 0000000..e219821 --- /dev/null +++ b/src/lib/components/process/ActionButtons.svelte @@ -0,0 +1,147 @@ + + +
+ + + +
+ + diff --git a/src/lib/components/process/ProcessIcon.svelte b/src/lib/components/process/ProcessIcon.svelte new file mode 100644 index 0000000..660134a --- /dev/null +++ b/src/lib/components/process/ProcessIcon.svelte @@ -0,0 +1,70 @@ + + + + + diff --git a/src/lib/components/process/ProcessRow.svelte b/src/lib/components/process/ProcessRow.svelte new file mode 100644 index 0000000..d79481c --- /dev/null +++ b/src/lib/components/process/ProcessRow.svelte @@ -0,0 +1,60 @@ + + + + {#each columns.filter((col) => col.visible) as column} + + {/each} + + + + + + diff --git a/src/lib/components/process/ProcessTable.svelte b/src/lib/components/process/ProcessTable.svelte new file mode 100644 index 0000000..dfbb576 --- /dev/null +++ b/src/lib/components/process/ProcessTable.svelte @@ -0,0 +1,86 @@ + + +
+ + + + {#each processes as process (process.pid)} + 50 || + process.memory_usage / (systemStats?.memory_total || 0) > 0.1} + {onTogglePin} + {onShowDetails} + {onKillProcess} + /> + {/each} + +
+
+ + diff --git a/src/lib/components/process/TableHeader.svelte b/src/lib/components/process/TableHeader.svelte new file mode 100644 index 0000000..9d90706 --- /dev/null +++ b/src/lib/components/process/TableHeader.svelte @@ -0,0 +1,136 @@ + + + + + {#each columns.filter((col) => col.visible) as column} + onToggleSort(column.id)} + > +
+ {column.label} + + {getSortIndicator(column.id)} + +
+ + {/each} + Actions + + + + diff --git a/src/lib/components/process/cells/ProcessCell.svelte b/src/lib/components/process/cells/ProcessCell.svelte new file mode 100644 index 0000000..107fb3d --- /dev/null +++ b/src/lib/components/process/cells/ProcessCell.svelte @@ -0,0 +1,289 @@ + + + + {#if field === "name"} +
+ + {process.name} +
+ {:else} + {formatValue(process[field])} + {/if} + + + diff --git a/src/lib/components/process/index.ts b/src/lib/components/process/index.ts new file mode 100644 index 0000000..76c3579 --- /dev/null +++ b/src/lib/components/process/index.ts @@ -0,0 +1,6 @@ +export { default as ProcessTable } from "./ProcessTable.svelte"; +export { default as ProcessRow } from "./ProcessRow.svelte"; +export { default as TableHeader } from "./TableHeader.svelte"; +export { default as ProcessCell } from "./cells/ProcessCell.svelte"; +export { default as ActionButtons } from "./ActionButtons.svelte"; +export { default as ProcessIcon } from "./ProcessIcon.svelte"; diff --git a/src/lib/components/stats/CpuPanel.svelte b/src/lib/components/stats/CpuPanel.svelte new file mode 100644 index 0000000..2111940 --- /dev/null +++ b/src/lib/components/stats/CpuPanel.svelte @@ -0,0 +1,60 @@ + + +
+ +
+ {#each cpuUsage as usage, i} +
+ +
+ {/each} +
+
+ + diff --git a/src/lib/components/stats/MemoryPanel.svelte b/src/lib/components/stats/MemoryPanel.svelte new file mode 100644 index 0000000..08f2930 --- /dev/null +++ b/src/lib/components/stats/MemoryPanel.svelte @@ -0,0 +1,58 @@ + + +
+ +
+
+ +
+ + + +
+
+ + diff --git a/src/lib/components/stats/NetworkPanel.svelte b/src/lib/components/stats/NetworkPanel.svelte new file mode 100644 index 0000000..e373e51 --- /dev/null +++ b/src/lib/components/stats/NetworkPanel.svelte @@ -0,0 +1,47 @@ + + +
+ +
+ + +
+
+ + diff --git a/src/lib/components/stats/PanelHeader.svelte b/src/lib/components/stats/PanelHeader.svelte new file mode 100644 index 0000000..11798df --- /dev/null +++ b/src/lib/components/stats/PanelHeader.svelte @@ -0,0 +1,50 @@ + + +
+ +

{title}

+ {#if usageValue} +
{usageValue}
+ {/if} +
+ + diff --git a/src/lib/components/stats/ProgressBar.svelte b/src/lib/components/stats/ProgressBar.svelte new file mode 100644 index 0000000..0834121 --- /dev/null +++ b/src/lib/components/stats/ProgressBar.svelte @@ -0,0 +1,80 @@ + + +
+ {label} +
+
+
+ {Math.round(value)}% +
+ + diff --git a/src/lib/components/stats/StatItem.svelte b/src/lib/components/stats/StatItem.svelte new file mode 100644 index 0000000..d575317 --- /dev/null +++ b/src/lib/components/stats/StatItem.svelte @@ -0,0 +1,30 @@ + + +
+ {label} + {value} +
+ + diff --git a/src/lib/components/stats/StatPanel.svelte b/src/lib/components/stats/StatPanel.svelte new file mode 100644 index 0000000..90cdc20 --- /dev/null +++ b/src/lib/components/stats/StatPanel.svelte @@ -0,0 +1,34 @@ + + +
+

{title}

+
+ +
+
+ + diff --git a/src/lib/components/stats/StatsBar.svelte b/src/lib/components/stats/StatsBar.svelte new file mode 100644 index 0000000..949d770 --- /dev/null +++ b/src/lib/components/stats/StatsBar.svelte @@ -0,0 +1,50 @@ + + +
+ {#if systemStats} +
+ + + + + + + + + +
+ {/if} +
+ + diff --git a/src/lib/components/stats/StoragePanel.svelte b/src/lib/components/stats/StoragePanel.svelte new file mode 100644 index 0000000..cf1fae1 --- /dev/null +++ b/src/lib/components/stats/StoragePanel.svelte @@ -0,0 +1,56 @@ + + +
+ +
+ + + +
+
+ + diff --git a/src/lib/components/stats/SystemPanel.svelte b/src/lib/components/stats/SystemPanel.svelte new file mode 100644 index 0000000..d8faf32 --- /dev/null +++ b/src/lib/components/stats/SystemPanel.svelte @@ -0,0 +1,38 @@ + + +
+ +
+ + + + +
+
+ + diff --git a/src/lib/components/stats/index.ts b/src/lib/components/stats/index.ts new file mode 100644 index 0000000..e79623e --- /dev/null +++ b/src/lib/components/stats/index.ts @@ -0,0 +1,9 @@ +export { default as StatsBar } from "./StatsBar.svelte"; +export { default as CpuPanel } from "./CpuPanel.svelte"; +export { default as MemoryPanel } from "./MemoryPanel.svelte"; +export { default as StoragePanel } from "./StoragePanel.svelte"; +export { default as SystemPanel } from "./SystemPanel.svelte"; +export { default as NetworkPanel } from "./NetworkPanel.svelte"; +export { default as PanelHeader } from "./PanelHeader.svelte"; +export { default as ProgressBar } from "./ProgressBar.svelte"; +export { default as StatItem } from "./StatItem.svelte"; diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index 1e35955..ae5ff10 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -1,9 +1,9 @@