diff --git a/src/components/admin/companies/admin-companies-manager.tsx b/src/components/admin/companies/admin-companies-manager.tsx
index 3ed5b1c..2aa64b6 100644
--- a/src/components/admin/companies/admin-companies-manager.tsx
+++ b/src/components/admin/companies/admin-companies-manager.tsx
@@ -952,9 +952,29 @@ export function AdminCompaniesManager({ initialCompanies }: { initialCompanies:
-
{machine.osName ?? "SO desconhecido"}
- {machine.osVersion ?
• : null}
- {machine.osVersion ?
{machine.osVersion} : null}
+ {(() => {
+ const name = machine.osName ?? "SO desconhecido"
+ const ver = ((): string => {
+ const n = machine.osName ?? null
+ const v = machine.osVersion ?? null
+ if (!v) return ""
+ const m = (n ?? "").match(/^windows\s+(\d+)\b/i)
+ if (m) {
+ const major = m[1]
+ const re = new RegExp(`^\\s*${major}(?:\\b|\\.|-_|\\s)+(.*)$`, "i")
+ const mm = v.match(re)
+ if (mm) return (mm[1] ?? "").trim()
+ }
+ return v
+ })()
+ return (
+ <>
+
{name}
+ {ver ?
• : null}
+ {ver ?
{ver} : null}
+ >
+ )
+ })()}
{machine.architecture ? (
{machine.architecture.toUpperCase()}
diff --git a/src/components/admin/machines/admin-machines-overview.tsx b/src/components/admin/machines/admin-machines-overview.tsx
index e05de31..95930a4 100644
--- a/src/components/admin/machines/admin-machines-overview.tsx
+++ b/src/components/admin/machines/admin-machines-overview.tsx
@@ -353,6 +353,24 @@ type WindowsOsInfo = {
experience?: string
}
+function formatOsVersionDisplay(osName: string | null | undefined, osVersion: string | null | undefined) {
+ const name = (osName ?? "").trim()
+ const version = (osVersion ?? "").trim()
+ if (!version) return ""
+ // If Windows and version redundantly starts with the same major (e.g., "11 (26100)"), drop leading major
+ const winMatch = name.match(/^windows\s+(\d+)\b/i)
+ if (winMatch) {
+ const major = winMatch[1]
+ const re = new RegExp(`^\\s*${major}(?:\\b|\\.|-_|\\s)+(.*)$`, "i")
+ const m = version.match(re)
+ if (m) {
+ const rest = (m[1] ?? "").trim()
+ return rest
+ }
+ }
+ return version
+}
+
function parseWindowsOsInfo(raw: unknown): WindowsOsInfo | null {
if (!raw) return null
const parseRecord = (value: Record) => {
@@ -1581,7 +1599,8 @@ export function MachineDetails({ machine }: MachineDetailsProps) {
const summaryChips = useMemo(() => {
const chips: Array<{ key: string; label: string; value: string; icon: ReactNode; tone?: "warning" | "muted" }> = []
const osName = osNameDisplay || "Sistema desconhecido"
- const osVersion = machine?.osVersion ?? windowsVersionLabel ?? ""
+ const osVersionRaw = machine?.osVersion ?? windowsVersionLabel ?? ""
+ const osVersion = formatOsVersionDisplay(osNameDisplay, osVersionRaw)
chips.push({
key: "os",
label: "Sistema",
@@ -3193,7 +3212,11 @@ function MachineCard({ machine, companyName }: { machine: MachinesQueryItem; com
- {machine.osName ?? "SO"} {machine.osVersion ?? ""}
+ {(() => {
+ const name = machine.osName ?? "SO"
+ const ver = formatOsVersionDisplay(machine.osName, machine.osVersion)
+ return [name, ver].filter(Boolean).join(" ").trim()
+ })()}
{machine.architecture ? (