diff --git a/new/apps/web/src/app.html b/new/apps/web/src/app.html index 17353da..4d75cf4 100644 --- a/new/apps/web/src/app.html +++ b/new/apps/web/src/app.html @@ -14,9 +14,11 @@ + @@ -46,13 +48,16 @@ > + diff --git a/new/apps/web/src/lib/common/ModalWidget.svelte b/new/apps/web/src/lib/common/ModalWidget.svelte index 38173b4..72e0f5a 100644 --- a/new/apps/web/src/lib/common/ModalWidget.svelte +++ b/new/apps/web/src/lib/common/ModalWidget.svelte @@ -28,10 +28,10 @@ // of IDs let moreInfoExpanded = $state(false); - const widget = 'w-60 max-w-80 grow bg-surface-900 p-1 rounded-4', + const widget = 'min-h-32 self-stretch max-w-96 basis-72 flex flex-col grow bg-surface-900 p-1 py-4 rounded-md', h1 = 'font-normal text-[13pt] m-0 pt-1 pb-2 text-center text-surface-50', - contents = 'flex flex-col grow text-center text-[1rem]', - animation = 'transition transition-discrete translate-y-[100px] starting:data-[state=open]:opacity-0 starting:data-[state=open]:translate-y-[100px] data-[state=open]:opacity-100 data-[state=open]:translate-y-0'; + contents = 'flex flex-col text-center flex-1 justify-center text-[1rem]', + animation = 'transition transition-discrete translate-y-[50px] starting:data-[state=open]:opacity-0 starting:data-[state=open]:translate-y-[50px] data-[state=open]:opacity-100 data-[state=open]:translate-y-0 starting:data-[state=closed]:opacity-100 starting:data-[state=closed]:translate-y-0 data-[state=closed]:opacity-0 data-[state=closed]:translate-y-[50px] duration-150'; {#if !modalContents} @@ -43,8 +43,8 @@ {:else} - -
+ +

{title}

{@render widgetContents()} @@ -53,8 +53,8 @@ - - + +
{title} @@ -62,7 +62,7 @@
-
+
{@render modalContents()} @@ -77,19 +77,10 @@ {#if extraModalContents && moreInfoExpanded == false} {/if} - Close + Close
-{/if} - - - \ No newline at end of file +{/if} \ No newline at end of file diff --git a/new/apps/web/src/lib/common/TabledData.svelte b/new/apps/web/src/lib/common/TabledData.svelte index 644a54d..625d591 100644 --- a/new/apps/web/src/lib/common/TabledData.svelte +++ b/new/apps/web/src/lib/common/TabledData.svelte @@ -54,11 +54,11 @@ -
+
{#if params.length > 0} -
+
{#if paginate} -
- {#if search} - - {/if} + {#if search} + + {/if} +
{/if} - +
{#each headers as header} @@ -100,26 +100,30 @@
{#if paginate} - (currentPage = event.page)}> - - Previous - - - {#snippet children(pagination)} - {#each pagination().pages as page, index (page)} - {#if page.type === 'page'} - - {page.value} - - {:else} - - {/if} - {/each} - {/snippet} - - - Next - - +
+ (currentPage = event.page)}> + + Previous + + + {#snippet children(pagination)} +
+ {#each pagination().pages as page, index (page)} + {#if page.type === 'page'} + + {page.value} + + {:else} + + {/if} + {/each} +
+ {/snippet} +
+ + Next + +
+
{/if}
\ No newline at end of file diff --git a/new/apps/web/src/lib/components/Accordions.svelte b/new/apps/web/src/lib/components/Accordions.svelte index 08b729e..c120b24 100644 --- a/new/apps/web/src/lib/components/Accordions.svelte +++ b/new/apps/web/src/lib/components/Accordions.svelte @@ -18,198 +18,257 @@ report.Events.PciWheaErrors.length > 0; - -
- - - -

- Devices -

- - - -
-
- - - - -

- Drivers -

- - - -
-
-
+
+ +
+ + + + +
+

+ Devices +

+
+
+ + + +
+
+ + + + + +
+

+ Drivers +

+
+
+ + + +
+
+
- -
- - - -

- Running Processes -

- - - -
-
- - - - -

- Installed Apps -

- - - -
-
- - - - -

- Installed Windows Store Packages -

- - - -
-
-
+ +
+ + + + +
+

+ Running Processes +

+
+
+ + + +
+
+ + + + + +
+

+ Installed Apps +

+
+
+ + + +
+
+ + + + + +
+

+ Installed Windows Store Packages +

+
+
+ + + +
+
+
- -
- - - -

- Services -

- - - -
-
- - - - -

- Tasks -

- - - -
-
-
+ +
+ + + + +
+

+ Services +

+
+
+ + + +
+
+ + + + + +
+

+ Tasks +

+
+
+ + + +
+
+
- -{#if errorTables} -
- - {#if report.Events.UnexpectedShutdowns.length > 0} - - -

- Unexpected Shutdowns -

- - - -
-
+ + {#if errorTables} +
+ + {#if report.Events.UnexpectedShutdowns.length > 0} + + + +
+

+ Unexpected Shutdowns +

+
+
+ + + +
+
+ {/if} + + + {#if report.Events.MachineCheckExceptions.length > 0} + + + +
+

+ Machine Check Exceptions +

+
+
+ + + +
+
+ {/if} + + + {#if report.Events.MachineCheckExceptions.length > 0} + + + +
+

+ WHEA Error Records +

+
+
+ + + +
+
+ {/if} + + + {#if report.Events.PciWheaErrors.length > 0} + + + +
+

+ PCI WHEA Errors +

+
+
+ + + +
+
+ {/if} +
{/if} - - - {#if report.Events.MachineCheckExceptions.length > 0} - - -

- Machine Check Exceptions -

- - - -
-
- {/if} - - - {#if report.Events.MachineCheckExceptions.length > 0} - - -

- WHEA Error Records -

- - - -
-
- {/if} - - - {#if report.Events.PciWheaErrors.length > 0} - - -

- PCI WHEA Errors -

- - - -
-
- {/if} -
-{/if} - -
- - - -

- Network Connections -

- - - -
-
- - - - -

- Installed Apps -

- - - -
-
- - - - -

- Installed Windows Store Packages -

- - - {report.Network.HostsFile} - - -
-
+ +
+ + + + +
+

+ Network Connections +

+
+
+ + + +
+
+ + + + + +
+

+ Routes +

+
+
+ + + +
+
+ + + + + +
+

+ Hosts File +

+
+
+ + + {report.Network.HostsFile} + + +
+
+
+
\ No newline at end of file diff --git a/new/apps/web/src/lib/components/TabbedInfo.svelte b/new/apps/web/src/lib/components/TabbedInfo.svelte index b89f578..6d2b7e5 100644 --- a/new/apps/web/src/lib/components/TabbedInfo.svelte +++ b/new/apps/web/src/lib/components/TabbedInfo.svelte @@ -22,15 +22,15 @@ }: Props = $props(); -
- - - Notes - Notable Software - Variables - Browsers - Startup Tasks - Windows Updates +
+ + + Notes + Notable Software + Variables + Browsers + Startup Tasks + Windows Updates diff --git a/new/apps/web/src/lib/components/Widgets.svelte b/new/apps/web/src/lib/components/Widgets.svelte index efe9d5a..c95baa0 100644 --- a/new/apps/web/src/lib/components/Widgets.svelte +++ b/new/apps/web/src/lib/components/Widgets.svelte @@ -27,37 +27,32 @@ }: Props = $props(); -
- - - - - - -
- -
- -
- -
- - - - - -
- - \ No newline at end of file +
+
+ + + + + + +
+ +
+ +
+ +
+ + + + + +
+ +
\ No newline at end of file diff --git a/new/apps/web/src/lib/components/logic/PartitionBar.svelte b/new/apps/web/src/lib/components/logic/PartitionBar.svelte index e6a7057..7b7986a 100644 --- a/new/apps/web/src/lib/components/logic/PartitionBar.svelte +++ b/new/apps/web/src/lib/components/logic/PartitionBar.svelte @@ -13,45 +13,12 @@ -
+
{#each partitions as partition} -
- {partition.PartitionLabel} ({partition.PartitionLetter}:) - {partition.Filesystem} - {Math.floor((partition.PartitionCapacity - partition.PartitionFree) / 1048576)} MB / {Math.floor(partition.PartitionCapacity / 1048576)} MB used +
+ {partition.PartitionLabel} ({partition.PartitionLetter}:) + {partition.Filesystem} + {Math.floor((partition.PartitionCapacity - partition.PartitionFree) / 1048576)} MB / {Math.floor(partition.PartitionCapacity / 1048576)} MB used
{/each} -
- - \ No newline at end of file +
\ No newline at end of file diff --git a/new/apps/web/src/lib/components/tabs/Browsers.svelte b/new/apps/web/src/lib/components/tabs/Browsers.svelte index fbd2bf5..a60e011 100644 --- a/new/apps/web/src/lib/components/tabs/Browsers.svelte +++ b/new/apps/web/src/lib/components/tabs/Browsers.svelte @@ -13,18 +13,19 @@ -
+
{#each report.System.BrowserExtensions as browser} - + {#snippet widgetContents()} -
- {browser.Name} +
+ {browser.Name}
{/snippet} {#snippet modalContents()} {#each browser.Profiles as profile} -

{browser.Name} Profile "{profile.name}"

+
+

{browser.Name} Profile "{profile.name}"

@@ -45,6 +46,9 @@ {/each}
+ +
+ {/each} {/snippet} diff --git a/new/apps/web/src/lib/components/tabs/NotableSoftware.svelte b/new/apps/web/src/lib/components/tabs/NotableSoftware.svelte index 9c2450b..a9227da 100644 --- a/new/apps/web/src/lib/components/tabs/NotableSoftware.svelte +++ b/new/apps/web/src/lib/components/tabs/NotableSoftware.svelte @@ -46,38 +46,40 @@ -
-

Notable Software

+
+

Notable Software

- {#if pupsInstalled.length > 0} - {#each pupsInstalled as app} +
+ {#if pupsInstalled.length > 0} + {#each pupsInstalled as app} +
  • +

    + {app} Found Installed. +

    +
  • + {/each} + {:else}
  • - {app} Found Installed. + No notable software found installed.

  • - {/each} - {:else} -
  • -

    - No notable software found installed. -

    -
  • - {/if} + {/if} - {#if pupsRunning.length > 0} - {#each pupsRunning as app} + {#if pupsRunning.length > 0} + {#each pupsRunning as app} +
  • +

    + {app} Found running. +

    +
  • + {/each} + {:else}
  • - {app} Found running. + No notable software found running.

  • - {/each} - {:else} -
  • -

    - No notable software found running. -

    -
  • - {/if} + {/if} +
    \ No newline at end of file diff --git a/new/apps/web/src/lib/components/tabs/Notes.svelte b/new/apps/web/src/lib/components/tabs/Notes.svelte index f2d764e..846ab4d 100644 --- a/new/apps/web/src/lib/components/tabs/Notes.svelte +++ b/new/apps/web/src/lib/components/tabs/Notes.svelte @@ -81,8 +81,8 @@ }); -
    -

    General Notes

    +
    +

    General Notes

    -
  • - The OS is - {#if insider} -

    Insider

    - {:else} - { valid ? "Not EOL" : "EOL" }{ (valid && !latest) ? ", but " : " and " }{latest ? "Up-to-date" : "not Up-to-date"}. - {/if} - (version {report.BasicInfo.FriendlyVersion}, build {report.BasicInfo.Version}) -
  • - -
  • -

    - The current uptime is {days} days, {hours} hours, {minutes} minutes, and {seconds} seconds. -

    -
  • - -
  • -

    - {#if report.Security.AvList.length > 0} - Currently Installed AVs are: - - {#each report.Security.AvList as antivirus} - {antivirus} - {/each} - +

    +
  • + The OS is + {#if insider} +

    Insider

    {:else} - There are no installed AVs! + { valid ? "Not EOL" : "EOL" }{ (valid && !latest) ? ", but " : " and " }{latest ? "Up-to-date" : "not Up-to-date"}. {/if} -

    -
  • - - {#if report.System.UsernameSpecialCharacters} -
  • -

    - Username found with Special Characters! -

    + (version {report.BasicInfo.FriendlyVersion}, build {report.BasicInfo.Version})
  • - {/if} - - {#if report.System.OneDriveCommercialPathLength != null} +
  • - OneDrive Path Length: {report.System.OneDriveCommercialPathLength} - OneDrive Name Length: {report.System.OneDriveCommercialNameLength} + The current uptime is {days} days, {hours} hours, {minutes} minutes, and {seconds} seconds.

  • - {/if} - {#if report.System.RecentMinidumps != 0}
  • - There have been {report.System.RecentMinidumps} Minidumps found + {#if report.Security.AvList.length > 0} + Currently Installed AVs are: + + {#each report.Security.AvList as antivirus} + {antivirus} + {/each} + + {:else} + There are no installed AVs! + {/if}

  • - {/if} - {#if hostsFileHash != report.Network.HostsFileHash} -
  • -

    - Hosts file has been modified from original. -

    -
  • - {/if} + {#if report.System.UsernameSpecialCharacters} +
  • +

    + Username found with Special Characters! +

    +
  • + {/if} - {#if report.Hardware.Batteries != null && report.Hardware.Batteries.length > 0} - {#each report.Hardware.Batteries as battery} - {#if battery.Remaining_Life_Percentage < 70} -
  • -

    - Hosts file has been modified from original. -

    -
  • - {/if} - {/each} - {/if} + {#if report.System.OneDriveCommercialPathLength != null} +
  • +

    + OneDrive Path Length: {report.System.OneDriveCommercialPathLength} + OneDrive Name Length: {report.System.OneDriveCommercialNameLength} +

    +
  • + {/if} - {#if report.Events.UnexpectedShutdownCount > 0} -
  • -

    - {report.Events.UnexpectedShutdownCount} Unexpected Shutdowns found. -

    -
  • - {/if} + {#if report.System.RecentMinidumps != 0} +
  • +

    + There have been {report.System.RecentMinidumps} Minidumps found +

    +
  • + {/if} - {#if report.Events.MachineCheckExceptionCount > 0} -
  • -

    - {report.Events.MachineCheckExceptionCount} Machine Check Exceptions found. -

    -
  • - {/if} + {#if hostsFileHash != report.Network.HostsFileHash} +
  • +

    + Hosts file has been modified from original. +

    +
  • + {/if} - {#if report.Events.WheaErrorRecordCount > 0} -
  • -

    - {report.Events.WheaErrorRecordCount} WHEA errors found. -

    -
  • - {/if} + {#if report.Hardware.Batteries != null && report.Hardware.Batteries.length > 0} + {#each report.Hardware.Batteries as battery} + {#if battery.Remaining_Life_Percentage < 70} +
  • +

    + Hosts file has been modified from original. +

    +
  • + {/if} + {/each} + {/if} - {#if report.Events.PciWheaErrorCount > 0} -
  • -

    - {report.Events.PciWheaErrorCount} PCI WHEA errors found. -

    -
  • - {/if} + {#if report.Events.UnexpectedShutdownCount > 0} +
  • +

    + {report.Events.UnexpectedShutdownCount} Unexpected Shutdowns found. +

    +
  • + {/if} - {#if report.Meta.ElapsedTime > 200000} -
  • -

    - Specify runtime is over 20s -

    -
  • - {/if} + {#if report.Events.MachineCheckExceptionCount > 0} +
  • +

    + {report.Events.MachineCheckExceptionCount} Machine Check Exceptions found. +

    +
  • + {/if} - {#if report.System.LimitedMemory} -
  • -

    - Device configured to use a limited amount of memory. -

    -
  • - {/if} + {#if report.Events.WheaErrorRecordCount > 0} +
  • +

    + {report.Events.WheaErrorRecordCount} WHEA errors found. +

    +
  • + {/if} - {#if report.System.WindowsOld} -
  • -

    - Windows.OLD folder found. -

    -
  • - {/if} + {#if report.Events.PciWheaErrorCount > 0} +
  • +

    + {report.Events.PciWheaErrorCount} PCI WHEA errors found. +

    +
  • + {/if} - + {#if report.Meta.ElapsedTime > 200000} +
  • +

    + Specify runtime is over 20s +

    +
  • + {/if} + + {#if report.System.LimitedMemory} +
  • +

    + Device configured to use a limited amount of memory. +

    +
  • + {/if} - {#each report.Hardware.Storage as disk, diskId} - {#each disk.SmartData as smartEntry} - {#if smartEntry.Name.includes('!') && /[1-9]+/gm.test(smartEntry.RawValue)} + {#if report.System.WindowsOld} +
  • +

    + Windows.OLD folder found. +

    +
  • + {/if} + + + + {#each report.Hardware.Storage as disk, diskId} + {#each disk.SmartData as smartEntry} + {#if smartEntry.Name.includes('!') && /[1-9]+/gm.test(smartEntry.RawValue)} +
  • +

    + {disk.DeviceName} ( + {#each disk.Partitions as partition, partitionId} + {#if partition.PartitionLetter != null} + {partition.PartitionLetter} + {#if partitionId+1 < disk.Partitions.length} + , + {/if} + {/if} + {/each} + ) has {smartEntry.RawValue} on {smartEntry.Name}. +

    +
  • + {/if} + {/each} + + {#each disk.Partitions as partition, partitionId} + {#if partition.DirtyBitSet} +
  • +

    + Dirty bit set on {partition.PartitionLetter ? partitionId : partition.PartitionLetter} ({disk.DeviceName}). +

    +
  • + {/if} + {/each} + + {#if diskId in diskCapacityIds}
  • {disk.DeviceName} ( - {#each disk.Partitions as partition, partitionId} - {#if partition.PartitionLetter != null} - {partition.PartitionLetter} - {#if partitionId+1 < disk.Partitions.length} - , - {/if} - {/if} - {/each} - ) has {smartEntry.RawValue} on {smartEntry.Name}. + {#each disk.Partitions as partition, partitionId} + {#if partition.PartitionLetter != null} + {partition.PartitionLetter} + {#if partitionId + 1 < disk.Partitions.length} + , + {/if} + {/if} + {/each} + ) has differing capacities. ({bytesToGigabytes(disk.DiskCapacity)} on disk vs. {bytesToGigabytes(diskCapacityIds[diskId])} on partitions.)

  • {/if} {/each} - {#each disk.Partitions as partition, partitionId} - {#if partition.DirtyBitSet} + + + {#each report.System.ChoiceRegistryValues as regEntry} + {#if regEntry.Value && !lists.defaultRegEntries[regEntry.Name].includes(regEntry.Value)}
  • - Dirty bit set on {partition.PartitionLetter ? partitionId : partition.PartitionLetter} ({disk.DeviceName}). + Registry Value {regEntry.Name} found set, value of {regEntry.Value}.

  • {/if} {/each} - {#if diskId in diskCapacityIds} -
  • -

    - {disk.DeviceName} ( - {#each disk.Partitions as partition, partitionId} - {#if partition.PartitionLetter != null} - {partition.PartitionLetter} - {#if partitionId + 1 < disk.Partitions.length} - , - {/if} - {/if} - {/each} - ) has differing capacities. ({bytesToGigabytes(disk.DiskCapacity)} on disk vs. {bytesToGigabytes(diskCapacityIds[diskId])} on partitions.) -

    -
  • - {/if} - {/each} - - - - {#each report.System.ChoiceRegistryValues as regEntry} - {#if regEntry.Value && !lists.defaultRegEntries[regEntry.Name].includes(regEntry.Value)} -
  • -

    - Registry Value {regEntry.Name} found set, value of {regEntry.Value}. -

    -
  • - {/if} - {/each} +
    \ No newline at end of file diff --git a/new/apps/web/src/lib/components/tabs/StartupTasks.svelte b/new/apps/web/src/lib/components/tabs/StartupTasks.svelte index 70332e6..0b7b479 100644 --- a/new/apps/web/src/lib/components/tabs/StartupTasks.svelte +++ b/new/apps/web/src/lib/components/tabs/StartupTasks.svelte @@ -2,7 +2,7 @@ export let report: any; -
    +
    diff --git a/new/apps/web/src/lib/components/tabs/Variables.svelte b/new/apps/web/src/lib/components/tabs/Variables.svelte index 5a9e658..0a4b0f4 100644 --- a/new/apps/web/src/lib/components/tabs/Variables.svelte +++ b/new/apps/web/src/lib/components/tabs/Variables.svelte @@ -8,10 +8,10 @@
    -
    -

    User Variables

    +
    +

    User Variables

    -
    +
    @@ -48,8 +48,8 @@
    Field
    -
    -

    System Variables

    +
    +

    System Variables

    diff --git a/new/apps/web/src/lib/components/tabs/WindowsUpdate.svelte b/new/apps/web/src/lib/components/tabs/WindowsUpdate.svelte index 2261277..f7469e5 100644 --- a/new/apps/web/src/lib/components/tabs/WindowsUpdate.svelte +++ b/new/apps/web/src/lib/components/tabs/WindowsUpdate.svelte @@ -2,7 +2,7 @@ export let report: any; -
    +
    diff --git a/new/apps/web/src/lib/components/widgets/AudioDevices.svelte b/new/apps/web/src/lib/components/widgets/AudioDevices.svelte index 9d63638..9a32f05 100644 --- a/new/apps/web/src/lib/components/widgets/AudioDevices.svelte +++ b/new/apps/web/src/lib/components/widgets/AudioDevices.svelte @@ -23,8 +23,6 @@

    Internal : {numInternal}

    External : {numExternal}

    - {/snippet} {#snippet modalContents()}
    diff --git a/new/apps/web/src/lib/components/widgets/Ram.svelte b/new/apps/web/src/lib/components/widgets/Ram.svelte index 2da865d..0b2f87b 100644 --- a/new/apps/web/src/lib/components/widgets/Ram.svelte +++ b/new/apps/web/src/lib/components/widgets/Ram.svelte @@ -14,8 +14,9 @@ pagefile }: Props = $props(); - const flexBasis: string = `${100 / (Object.keys(ram).length % 4 ? Object.keys(ram).length % 4 : 4)}%`; + let gridcols = `grid grid-rows-${Math.floor(((ram.length - 1) / 4) + 1)} grid-cols-${ram.length > 4 ? 4 : ((ram.length - 1) % 4) + 1} gap-x-${ram.length > 4 ? 0.5 : 4 - (ram.length - 1 % 4) + 1} w-full text-center`; + console.log(gridcols); @@ -23,28 +24,20 @@ {#snippet widgetContents()} -
    +
    {#each ram as ramStick, i} {#if ramStick.Capacity > 0} -
    +
    {Math.floor(ramStick.Capacity / 1000)} GB
    DIMM {i+1}
    {:else} -
    +
    --
    DIMM {i+1}
    {/if} - - - {#if Object.keys(ram).length > 4 && (i + 1) % 4 == 0} -
    - {/if} {/each}
    {/snippet} @@ -112,10 +105,4 @@ div { color: var(--color-surface-300); } - - .flex-container { - display: flex; - flex-flow: row wrap; - max-width: inherit; - } \ No newline at end of file diff --git a/new/apps/web/src/routes/+page.server.ts b/new/apps/web/src/routes/+page.server.ts index 071cf74..0d36183 100644 --- a/new/apps/web/src/routes/+page.server.ts +++ b/new/apps/web/src/routes/+page.server.ts @@ -89,6 +89,7 @@ export const load: ServerLoad = async ({ fetch }) => { } catch { error(503, "no spec-ify instance found at localhost:8080"); } + /* const widgetHTML = await ( await fetch(`http://localhost:8080/widgets.php?file=${FILE_PATH}`) ).text(); @@ -98,7 +99,8 @@ export const load: ServerLoad = async ({ fetch }) => { const tabbedInfoHTML = await ( await fetch(`http://localhost:8080/tabbed_info.php/?file=${FILE_PATH}`) ).text(); + */ const cpuMoreInfo = cpuLookup(report.Hardware.Cpu); const eolList = await eolLookup(); - return { report, cpuMoreInfo, eolList, widgetHTML, tableHTML, tabbedInfoHTML }; + return { report, cpuMoreInfo, eolList, /*widgetHTML, tableHTML, tabbedInfoHTML*/ }; }; diff --git a/new/apps/web/src/routes/+page.svelte b/new/apps/web/src/routes/+page.svelte index 2da7f68..db6a8ac 100644 --- a/new/apps/web/src/routes/+page.svelte +++ b/new/apps/web/src/routes/+page.svelte @@ -8,35 +8,27 @@ let { data: pageData }: { data: PageData } = $props(); + /* onMount(() => { // console.log(data.widgetResponse); const wrapperDiv = document.getElementById('legacy-content'); wrapperDiv!.innerHTML = pageData.widgetHTML + pageData.tabbedInfoHTML + pageData.tableHTML; // document.appendChild(wrapperDiv); }); + */ -
    - - - -
    - +
    +
    + + + +