mirror of
https://codeberg.org/vlw/vlw.se.git
synced 2025-09-13 13:03:41 +02:00
chore: clean up MORE missed references to battlestation (#31)
Apparently I didn't get em' all in #27 Reviewed-on: https://codeberg.org/vlw/vlw.se/pulls/31
This commit is contained in:
parent
041d175757
commit
5c7c9d2d3a
20 changed files with 0 additions and 938 deletions
|
@ -1,45 +0,0 @@
|
|||
/* # Overrides */
|
||||
|
||||
:root {
|
||||
--primer-color-accent: 148, 255, 21;
|
||||
--color-accent: rgb(var(--primer-color-accent));
|
||||
}
|
||||
|
||||
vv-shell {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: var(--padding);
|
||||
}
|
||||
|
||||
/* # Content */
|
||||
|
||||
/* ## Title */
|
||||
|
||||
section.title {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 5px;
|
||||
}
|
||||
|
||||
/* ## Actions */
|
||||
|
||||
section.actions {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(3, 1fr);
|
||||
gap: var(--padding);
|
||||
}
|
||||
|
||||
/* # Size quries */
|
||||
|
||||
@media (max-width: 800px) {
|
||||
section.actions {
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 600px) {
|
||||
section.actions {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
}
|
|
@ -1,290 +0,0 @@
|
|||
/* # Overrides */
|
||||
|
||||
:root {
|
||||
--primer-color-accent: 148, 255, 21;
|
||||
--color-accent: rgb(var(--primer-color-accent));
|
||||
}
|
||||
|
||||
vv-shell {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: var(--padding);
|
||||
}
|
||||
|
||||
/* # Content */
|
||||
|
||||
/* ## Title */
|
||||
|
||||
section.title {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 5px;
|
||||
padding: calc(var(--padding) * 1.5);
|
||||
background-color: rgba(var(--primer-color-accent), .1);
|
||||
border-radius: 6px;
|
||||
}
|
||||
|
||||
section.title > div {
|
||||
margin-top: calc(var(--padding) / 2);
|
||||
display: flex;
|
||||
gap: var(--padding);
|
||||
}
|
||||
|
||||
/* ## Heading */
|
||||
|
||||
section.heading h1::before,
|
||||
section.heading h1::after {
|
||||
opacity: .4;
|
||||
}
|
||||
|
||||
section.heading h1::before {
|
||||
content: "“";
|
||||
}
|
||||
|
||||
section.heading h1::after {
|
||||
content: "”";
|
||||
}
|
||||
|
||||
/* ## Config */
|
||||
|
||||
section.config {
|
||||
position: relative;
|
||||
display: grid;
|
||||
grid-template-columns: 300px 1fr;
|
||||
gap: calc(var(--padding) * 2);
|
||||
}
|
||||
|
||||
section.config:nth-child(4n+2) {
|
||||
grid-template-columns: 1fr 300px;
|
||||
}
|
||||
|
||||
section.config:nth-child(4n+2) > svg {
|
||||
order: 1;
|
||||
}
|
||||
|
||||
/* ### PC */
|
||||
|
||||
section.config > svg {
|
||||
position: sticky;
|
||||
top: calc(var(--running-size) + var(--padding));
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
section.config > svg :is(rect, path) {
|
||||
transition: 300ms;
|
||||
stroke: white;
|
||||
}
|
||||
|
||||
section.config > svg.active :is(rect, path),
|
||||
section.config > svg:hover :is(rect, path) {
|
||||
opacity: .4;
|
||||
}
|
||||
|
||||
section.config > svg g.active rect,
|
||||
section.config > svg g.active path,
|
||||
section.config > svg g:not(.group):hover rect,
|
||||
section.config > svg g:not(.group):hover path {
|
||||
opacity: 1;
|
||||
stroke: var(--color-accent);
|
||||
}
|
||||
|
||||
section.config > svg g.active rect,
|
||||
section.config > svg g:not(.group):hover rect {
|
||||
filter: drop-shadow(0 0 10px rgba(var(--primer-color-accent), .4));
|
||||
}
|
||||
|
||||
/* #### Case */
|
||||
|
||||
section.config g.case:not(:hover, .active) :is(rect, path) {
|
||||
opacity: .2;
|
||||
}
|
||||
|
||||
section.config > svg g.active path,
|
||||
section.config > svg g:not(.group):hover path {
|
||||
fill: var(--color-accent);
|
||||
}
|
||||
|
||||
/* #### Motherboard */
|
||||
|
||||
section.config > svg .mb .chips {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
/* #### Active states */
|
||||
|
||||
section.config > svg g:not(.group) {
|
||||
display: none;
|
||||
}
|
||||
|
||||
section.config[data-dram="1"] > svg g.drams g.dram:nth-child(1),
|
||||
section.config[data-dram="2"] > svg g.drams g.dram:nth-child(3n+1),
|
||||
section.config[data-dram="3"] > svg g.drams g.dram:nth-child(-n+3),
|
||||
section.config[data-dram="4"] > svg g.drams g.dram,
|
||||
|
||||
section.config[data-drives-mdottwo="1"] > svg g.mdottwo g.drive:nth-child(1),
|
||||
section.config[data-drives-mdottwo="2"] > svg g.mdottwo g.drive:nth-child(-n+2),
|
||||
section.config[data-drives-mdottwo="3"] > svg g.mdottwo g.drive:nth-child(-n+3),
|
||||
|
||||
section.config[data-drives-twodotfive="1"] > svg g.twodotfive g.drive:nth-child(1),
|
||||
section.config[data-drives-twodotfive="2"] > svg g.twodotfive g.drive:nth-child(-n+2),
|
||||
section.config[data-drives-twodotfive="3"] > svg g.twodotfive g.drive:nth-child(-n+3),
|
||||
|
||||
section.config[data-drives-threedotfive="1"] > svg g.threedotfive g.drive:nth-child(1),
|
||||
section.config[data-drives-threedotfive="2"] > svg g.threedotfive g.drive:nth-child(-n+2),
|
||||
section.config[data-drives-threedotfive="3"] > svg g.threedotfive g.drive:nth-child(-n+3),
|
||||
|
||||
section.config[data-mb="1"] > svg g.mb,
|
||||
section.config[data-psu="1"] > svg g.psu,
|
||||
section.config[data-gpu="1"] > svg g.gpu,
|
||||
section.config[data-cpu="1"] > svg g.cpu,
|
||||
section.config[data-case="1"] > svg g.case {
|
||||
display: initial;
|
||||
}
|
||||
|
||||
/* ## Specs */
|
||||
|
||||
section.config .specs {
|
||||
position: relative;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: calc(var(--padding) / 2);
|
||||
border-radius: 6px;
|
||||
}
|
||||
|
||||
section.config .specs :is(.spec, .group) {
|
||||
--border-width: 4px;
|
||||
|
||||
transition: 300ms background-color, 300ms border-color, 500ms box-shadow;
|
||||
padding: calc(var(--padding) - var(--border-width));
|
||||
border: solid var(--border-width) transparent;
|
||||
background-color: rgba(255, 255, 255, .03);
|
||||
border-radius: 6px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
section.config .specs :is(.spec, .group) * {
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
/* ### Active state */
|
||||
|
||||
section.config .specs.active {
|
||||
background-color: rgba(255, 255, 255, .03);
|
||||
}
|
||||
|
||||
section.config .specs.active :is(.group, .spec:not(.active)) {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* ### Spec */
|
||||
|
||||
section.config .specs .spec {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
section.config .specs .spec:hover {
|
||||
border-color: rgba(255, 255, 255, .05);
|
||||
background-color: rgba(255, 255, 255, .1);
|
||||
box-shadow: 0 0 30px 10px rgba(255, 255, 255, .05);
|
||||
}
|
||||
|
||||
section.config .specs .spec.active {
|
||||
border-color: var(--color-accent);
|
||||
background-color: rgba(var(--primer-color-accent), .1);
|
||||
box-shadow: 0 0 30px 10px rgba(var(--primer-color-accent), .05);
|
||||
cursor: initial;
|
||||
}
|
||||
|
||||
section.config .specs.active .spec.active {
|
||||
position: sticky;
|
||||
top: calc(var(--running-size) + var(--padding));
|
||||
}
|
||||
|
||||
section.config .specs .spec h3 {
|
||||
color: rgba(255, 255, 255, .3);
|
||||
}
|
||||
|
||||
section.config .specs .spec span {
|
||||
color: white;
|
||||
}
|
||||
|
||||
section.config .specs .spec > div {
|
||||
display: none;
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
gap: calc(var(--padding) / 2);
|
||||
margin-top: var(--padding);
|
||||
}
|
||||
|
||||
section.config .specs .spec.active > div {
|
||||
display: grid;
|
||||
}
|
||||
|
||||
section.config .specs .spec > div label {
|
||||
color: var(--color-accent);
|
||||
}
|
||||
|
||||
section.config .specs .spec > svg {
|
||||
display: none;
|
||||
height: calc(var(--padding) / 2);
|
||||
margin: 0 auto;
|
||||
margin-top: calc(var(--padding) / 2);
|
||||
fill: var(--color-accent);
|
||||
}
|
||||
|
||||
/* ### Group */
|
||||
|
||||
section.config .specs .group {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
section.config .specs .group.active {
|
||||
background-color: rgba(255, 255, 255, .2);
|
||||
}
|
||||
|
||||
section.config .specs .group:hover {
|
||||
background-color: rgba(255, 255, 255, .1);
|
||||
}
|
||||
|
||||
section.config .specs .group.active:hover {
|
||||
background-color: rgba(255, 255, 255, .3);
|
||||
}
|
||||
|
||||
section.config .specs .group > svg {
|
||||
transition: 300ms transform;
|
||||
fill: var(--color-accent);
|
||||
height: 10px;
|
||||
}
|
||||
|
||||
section.config .specs .group.active > svg {
|
||||
transform: rotateX(180deg);
|
||||
}
|
||||
|
||||
/* #### Collection */
|
||||
|
||||
section.config .specs .collection {
|
||||
display: none;
|
||||
}
|
||||
|
||||
section.config .specs .group.active + .collection {
|
||||
display: contents;
|
||||
}
|
||||
|
||||
/* # Size quries */
|
||||
|
||||
@media (max-width: 700px) {
|
||||
section.title > div {
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
section.config,
|
||||
section.config:nth-child(4n+2) {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
|
||||
section.config > svg {
|
||||
display: none;
|
||||
}
|
||||
}
|
|
@ -1,72 +0,0 @@
|
|||
import { Elevent } from "/assets/js/modules/npm/Elevent.mjs";
|
||||
|
||||
new Elevent("click", document.querySelectorAll(".group"), (event) => {
|
||||
// Collapse self if already active and current target
|
||||
if (event.target.classList.contains("active")) {
|
||||
return event.target.classList.remove("active");
|
||||
}
|
||||
|
||||
// Collapse all and open current target
|
||||
[...event.target.closest(".specs").querySelectorAll(".group")].forEach(element => element.classList.remove("active"));
|
||||
event.target.classList.add("active");
|
||||
});
|
||||
|
||||
new Elevent("click", document.querySelectorAll(".spec"), (event) => {
|
||||
event.target.classList.add("active");
|
||||
event.target.addEventListener("mouseleave", () => event.target.classList.remove("active"));
|
||||
});
|
||||
|
||||
// Bind hover listeners for components in the SVGs
|
||||
[...document.querySelectorAll("section.config g:not(.group)")].forEach(element => {
|
||||
element.addEventListener("mouseenter", () => {
|
||||
// Find an element in the most adjacent speclist and highlighit it
|
||||
const target = element.closest("section.config").querySelector(`.spec[data-target="${element.dataset.target}"]`);
|
||||
// Get closest specs wrapper element
|
||||
const specsElement = target.closest(".specs");
|
||||
// Spec item is part of a collection, we need to expand the group if that is the case
|
||||
const collectionElement = target.closest(".collection") ?? null;
|
||||
// Don't close the group after hove ends
|
||||
let closeGroupOnLeave = false;
|
||||
|
||||
// Set fixed height on .specs wrapper to prevent glitchy page jumping when scrolled
|
||||
specsElement.style.setProperty("height", `${specsElement.offsetHeight}px`);
|
||||
target.classList.add("active");
|
||||
specsElement.classList.add("active");
|
||||
|
||||
if (collectionElement) {
|
||||
// Close the group on leave if the group wasn't active before hovering
|
||||
closeGroupOnLeave = !collectionElement.previousElementSibling.classList.contains("active");
|
||||
|
||||
collectionElement.previousElementSibling.classList.add("active");
|
||||
}
|
||||
|
||||
// Bind hover leave listener
|
||||
element.addEventListener("mouseleave", () => {
|
||||
// Reset to initial states
|
||||
target.classList.remove("active");
|
||||
specsElement.classList.remove("active");
|
||||
specsElement.style.removeProperty("height");
|
||||
|
||||
// Group was closed prior to hover, let's close it on hover leave
|
||||
if (closeGroupOnLeave) {
|
||||
collectionElement.previousElementSibling.classList.remove("active");
|
||||
}
|
||||
}, { once: true });
|
||||
});
|
||||
});
|
||||
|
||||
// Bind event listeners for components in the spec lists
|
||||
[...document.querySelectorAll("section.config .spec:not(.group)")].forEach(element => {
|
||||
element.addEventListener("mouseenter", () => {
|
||||
const svgTarget = element.closest("section.config").querySelector(`svg`);
|
||||
const target = svgTarget.querySelector(`svg g[data-target="${element.dataset.target}"]`);
|
||||
|
||||
svgTarget.classList.add("active");
|
||||
target.classList.add("active");
|
||||
|
||||
element.addEventListener("mouseleave", () => {
|
||||
svgTarget.classList.remove("active");
|
||||
target.classList.remove("active");
|
||||
}, { once: true });
|
||||
});
|
||||
});
|
|
@ -1,173 +0,0 @@
|
|||
<svg viewBox="0 0 236 288" xmlns="http://www.w3.org/2000/svg">
|
||||
<mask fill="#fff" id="a"><path d="M19 269a1 1 0 0 1-1-1v-11a1 1 0 0 1 1-1v13Z"></path></mask>
|
||||
<mask fill="#fff" id="b"><path d="M87 241a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1v-7Z"></path></mask>
|
||||
<mask fill="#fff" id="c"><path d="M87 251a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1v-7Z"></path></mask>
|
||||
<mask fill="#fff" id="d"><path d="M179 272.051c0-.58.471-1.051 1.051-1.051h8.898c.58 0 1.051.471 1.051 1.051h-11Z"></path></mask>
|
||||
<mask fill="#fff" id="e"><path d="M191 272.051c0-.58.471-1.051 1.051-1.051h2.898c.58 0 1.051.471 1.051 1.051h-5Z"></path></mask>
|
||||
<mask fill="#fff" id="f"><path d="M179 257.333c0-.58.471-1.051 1.051-1.051h8.898c.58 0 1.051.471 1.051 1.051h-11Z"></path></mask>
|
||||
<mask fill="#fff" id="g"><path d="M191 257.333c0-.58.471-1.051 1.051-1.051h2.898c.58 0 1.051.471 1.051 1.051h-5Z"></path></mask>
|
||||
<mask fill="#fff" id="h"><path d="M179 242.615c0-.58.471-1.051 1.051-1.051h8.898c.58 0 1.051.471 1.051 1.051h-11Z"></path></mask>
|
||||
<mask fill="#fff" id="i"><path d="M191 242.615c0-.58.471-1.051 1.051-1.051h2.898c.58 0 1.051.471 1.051 1.051h-5Z"></path></mask>
|
||||
<mask fill="#fff" id="j"><path d="M133 257.333c0-.58.471-1.051 1.051-1.051h8.898c.58 0 1.051.471 1.051 1.051h-11Z"></path></mask>
|
||||
<mask fill="#fff" id="k"><path d="M145 257.333c0-.58.471-1.051 1.051-1.051h2.898c.58 0 1.051.471 1.051 1.051h-5Z"></path></mask>
|
||||
<mask fill="#fff" id="l"><path d="M133 242.615c0-.58.471-1.051 1.051-1.051h8.898c.58 0 1.051.471 1.051 1.051h-11Z"></path></mask>
|
||||
<mask fill="#fff" id="m"><path d="M145 242.615c0-.58.471-1.051 1.051-1.051h2.898c.58 0 1.051.471 1.051 1.051h-5Z"></path></mask>
|
||||
<mask fill="#fff" id="n"><path d="M133 272.051c0-.58.471-1.051 1.051-1.051h8.898c.58 0 1.051.471 1.051 1.051h-11Z"></path></mask>
|
||||
<mask fill="#fff" id="o"><path d="M145 272.051c0-.58.471-1.051 1.051-1.051h2.898c.58 0 1.051.471 1.051 1.051h-5Z"></path></mask>
|
||||
<mask fill="#fff" id="p"><path d="M186 40a1 1 0 0 1 1-1h9a1 1 0 0 1 1 1h-11Z"></path></mask>
|
||||
<mask fill="#fff" id="q"><path d="M198 40a1 1 0 0 1 1-1h3a1 1 0 0 1 1 1h-5Z"></path></mask>
|
||||
<mask fill="#fff" id="r"><path d="M186 51a1 1 0 0 1 1-1h9a1 1 0 0 1 1 1h-11Z"></path></mask>
|
||||
<mask fill="#fff" id="s"><path d="M198 51a1 1 0 0 1 1-1h3a1 1 0 0 1 1 1h-5Z"></path></mask>
|
||||
<mask fill="#fff" id="t"><path d="M186 62a1 1 0 0 1 1-1h9a1 1 0 0 1 1 1h-11Z"></path></mask>
|
||||
<mask fill="#fff" id="u"><path d="M198 62a1 1 0 0 1 1-1h3a1 1 0 0 1 1 1h-5Z"></path></mask>
|
||||
<mask fill="#fff" id="v"><path d="M186 73a1 1 0 0 1 1-1h9a1 1 0 0 1 1 1h-11Z"></path></mask>
|
||||
<mask fill="#fff" id="w"><path d="M198 73a1 1 0 0 1 1-1h3a1 1 0 0 1 1 1h-5Z"></path></mask>
|
||||
<mask fill="#fff" id="x"><path d="M129.535 123.781h-1.082a.453.453 0 0 1 0-.906h1.082v.906Z"></path></mask>
|
||||
<mask fill="#fff" id="y"><path d="M129.535 115.625h-1.082a.453.453 0 0 1 0-.906h1.082v.906Z"></path></mask>
|
||||
<mask fill="#fff" id="z"><path d="M129.535 121.969H129a1 1 0 0 1-1-1v-3.438a1 1 0 0 1 1-1h.535v5.438Z"></path></mask>
|
||||
<mask fill="#fff" id="A"><path d="M92.535 123.781h-1.082a.453.453 0 0 1 0-.906h1.082v.906Z"></path></mask>
|
||||
<mask fill="#fff" id="B"><path d="M92.535 115.625h-1.082a.453.453 0 0 1 0-.906h1.082v.906Z"></path></mask>
|
||||
<mask fill="#fff" id="C"><path d="M92.535 121.969H92a1 1 0 0 1-1-1v-3.438a1 1 0 0 1 1-1h.535v5.438Z"></path></mask>
|
||||
<mask fill="#fff" id="D"><path d="M68 143v-2a1 1 0 0 1 1-1h29a1 1 0 0 1 1 1v2H68Z"></path></mask>
|
||||
<mask fill="#fff" id="E"><path d="M101 143v-2a1 1 0 0 1 1-1h1a1 1 0 0 1 1 1v2h-3Z"></path></mask>
|
||||
<mask fill="#fff" id="F"><path d="M64 143v-2a1 1 0 0 1 1-1h1a1 1 0 0 1 1 1v2h-3Z"></path></mask>
|
||||
<mask fill="#fff" id="G"><path d="M55.535 123.781h-1.082a.453.453 0 0 1 0-.906h1.082v.906Z"></path></mask>
|
||||
<mask fill="#fff" id="H"><path d="M55.535 115.625h-1.082a.453.453 0 0 1 0-.906h1.082v.906Z"></path></mask>
|
||||
<mask fill="#fff" id="I"><path d="M55.535 121.969H55a1 1 0 0 1-1-1v-3.438a1 1 0 0 1 1-1h.535v5.438Z"></path></mask>
|
||||
<mask fill="#fff" id="J"><path d="M76 38h1a1 1 0 0 1 1 1v33a1 1 0 0 1-1 1h-1V38Z"></path></mask>
|
||||
<mask fill="#fff" id="K"><path d="M76 76h1a1 1 0 0 1 1 1v22a1 1 0 0 1-1 1h-1V76Z"></path></mask>
|
||||
<mask fill="#fff" id="L"><path d="M60 38h1a1 1 0 0 1 1 1v33a1 1 0 0 1-1 1h-1V38Z"></path></mask>
|
||||
<mask fill="#fff" id="M"><path d="M60 76h1a1 1 0 0 1 1 1v22a1 1 0 0 1-1 1h-1V76Z"></path></mask>
|
||||
<mask fill="#fff" id="N"><path d="M137 100h-1a1 1 0 0 1-1-1V66a1 1 0 0 1 1-1h1v35Z"></path></mask>
|
||||
<mask fill="#fff" id="O"><path d="M137 62h-1a1 1 0 0 1-1-1V39a1 1 0 0 1 1-1h1v24Z"></path></mask>
|
||||
<mask fill="#fff" id="P"><path d="M155 100h-1a1 1 0 0 1-1-1V66a1 1 0 0 1 1-1h1v35Z"></path></mask>
|
||||
<mask fill="#fff" id="Q"><path d="M155 62h-1a1 1 0 0 1-1-1V39a1 1 0 0 1 1-1h1v24Z"></path></mask>
|
||||
<g data-target="case" data-index="1" class="case">
|
||||
<rect height="278" rx="3" stroke="#fff" stroke-width="6" width="230" x="3" y="7"></rect>
|
||||
<path d="M20.639 216.906a2 2 0 0 1 1.674-.906h192.14a2 2 0 0 1 1.756 1.043l2.18 4c.726 1.333-.239 2.957-1.756 2.957H19.697c-1.589 0-2.543-1.764-1.674-3.094l2.616-4ZM5.451.793A2 2 0 0 1 7.046 0h222.808a2 2 0 0 1 1.692.934l2.521 4c.84 1.331-.118 3.066-1.692 3.066H4.021C2.369 8 1.429 6.11 2.425 4.793l3.026-4Z" fill="#fff"></path>
|
||||
</g>
|
||||
<g data-target="psu" class="psu">
|
||||
<path d="M20 268v-11h-4v11h4Zm-3-12v13h4v-13h-4Zm3 1a1 1 0 0 1-1 1v-4a3 3 0 0 0-3 3h4Zm-1 10a1 1 0 0 1 1 1h-4a3 3 0 0 0 3 3v-4Z" fill="#fff" mask="url(#a)"></path>
|
||||
<path d="M86 242v5h4v-5h-4Zm3 6v-7h-4v7h4Zm-3-1a1 1 0 0 1 1-1v4a3 3 0 0 0 3-3h-4Zm1-4a1 1 0 0 1-1-1h4a3 3 0 0 0-3-3v4Z" fill="#fff" mask="url(#b)"></path>
|
||||
<path d="M86 252v5h4v-5h-4Zm3 6v-7h-4v7h4Zm-3-1a1 1 0 0 1 1-1v4a3 3 0 0 0 3-3h-4Zm1-4a1 1 0 0 1-1-1h4a3 3 0 0 0-3-3v4Z" fill="#fff" mask="url(#c)"></path>
|
||||
<rect height="38" rx="3.5" stroke="#fff" stroke-width="3" width="65" x="20.5" y="234.5"></rect>
|
||||
</g>
|
||||
<g class="group drives threedotfive">
|
||||
<g data-target="drive" class="drive">
|
||||
<rect height="9.564" rx="2" stroke="#fff" stroke-width="2" width="41" x="176" y="263.436"></rect>
|
||||
<path d="M180.051 273h8.898v-4h-8.898v4Zm9.949-2.949h-11v4h11v-4ZM188.949 273a.95.95 0 0 1-.949-.949h4a3.051 3.051 0 0 0-3.051-3.051v4Zm-8.898-4a3.051 3.051 0 0 0-3.051 3.051h4a.95.95 0 0 1-.949.949v-4Z" fill="#fff" mask="url(#d)"></path>
|
||||
<path d="M192.051 273h2.898v-4h-2.898v4Zm3.949-2.949h-5v4h5v-4ZM194.949 273a.95.95 0 0 1-.949-.949h4a3.051 3.051 0 0 0-3.051-3.051v4Zm-2.898-4a3.051 3.051 0 0 0-3.051 3.051h4a.95.95 0 0 1-.949.949v-4Z" fill="#fff" mask="url(#e)"></path>
|
||||
</g>
|
||||
<g data-target="drive" class="drive">
|
||||
<rect height="9.564" rx="2" stroke="#fff" stroke-width="2" width="41" x="176" y="248.718"></rect>
|
||||
<path d="M192.051 258.282h2.898v-4h-2.898v4Zm3.949-2.949h-5v4h5v-4Zm-1.051 2.949a.95.95 0 0 1-.949-.949h4a3.051 3.051 0 0 0-3.051-3.051v4Zm-2.898-4a3.051 3.051 0 0 0-3.051 3.051h4a.95.95 0 0 1-.949.949v-4Z" fill="#fff" mask="url(#g)"></path>
|
||||
<path d="M180.051 258.282h8.898v-4h-8.898v4Zm9.949-2.949h-11v4h11v-4Zm-1.051 2.949a.95.95 0 0 1-.949-.949h4a3.051 3.051 0 0 0-3.051-3.051v4Zm-8.898-4a3.051 3.051 0 0 0-3.051 3.051h4a.95.95 0 0 1-.949.949v-4Z" fill="#fff" mask="url(#f)"></path>
|
||||
</g>
|
||||
<g data-target="drive" class="drive">
|
||||
<rect height="9.564" rx="2" stroke="#fff" stroke-width="2" width="41" x="176" y="234"></rect>
|
||||
<path d="M192.051 243.564h2.898v-4h-2.898v4Zm3.949-2.949h-5v4h5v-4Zm-1.051 2.949a.95.95 0 0 1-.949-.949h4a3.051 3.051 0 0 0-3.051-3.051v4Zm-2.898-4a3.051 3.051 0 0 0-3.051 3.051h4a.95.95 0 0 1-.949.949v-4Z" fill="#fff" mask="url(#i)"></path>
|
||||
<path d="M180.051 243.564h8.898v-4h-8.898v4Zm9.949-2.949h-11v4h11v-4Zm-1.051 2.949a.95.95 0 0 1-.949-.949h4a3.051 3.051 0 0 0-3.051-3.051v4Zm-8.898-4a3.051 3.051 0 0 0-3.051 3.051h4a.95.95 0 0 1-.949.949v-4Z" fill="#fff" mask="url(#h)"></path>
|
||||
</g>
|
||||
<g data-target="drive" class="drive">
|
||||
<rect height="9.564" rx="2" stroke="#fff" stroke-width="2" width="41" x="130" y="248.718"></rect>
|
||||
<path d="M134.051 258.282h8.898v-4h-8.898v4Zm9.949-2.949h-11v4h11v-4Zm-1.051 2.949a.95.95 0 0 1-.949-.949h4a3.051 3.051 0 0 0-3.051-3.051v4Zm-8.898-4a3.051 3.051 0 0 0-3.051 3.051h4a.95.95 0 0 1-.949.949v-4Z" fill="#fff" mask="url(#j)"></path>
|
||||
<path d="M146.051 258.282h2.898v-4h-2.898v4Zm3.949-2.949h-5v4h5v-4Zm-1.051 2.949a.95.95 0 0 1-.949-.949h4a3.051 3.051 0 0 0-3.051-3.051v4Zm-2.898-4a3.051 3.051 0 0 0-3.051 3.051h4a.95.95 0 0 1-.949.949v-4Z" fill="#fff" mask="url(#k)"></path>
|
||||
</g>
|
||||
<g data-target="drive" class="drive">
|
||||
<rect height="9.564" rx="2" stroke="#fff" stroke-width="2" width="41" x="130" y="234"></rect>
|
||||
<path d="M134.051 243.564h8.898v-4h-8.898v4Zm9.949-2.949h-11v4h11v-4Zm-1.051 2.949a.95.95 0 0 1-.949-.949h4a3.051 3.051 0 0 0-3.051-3.051v4Zm-8.898-4a3.051 3.051 0 0 0-3.051 3.051h4a.95.95 0 0 1-.949.949v-4Z" fill="#fff" mask="url(#l)"></path>
|
||||
<path d="M146.051 243.564h2.898v-4h-2.898v4Zm3.949-2.949h-5v4h5v-4Zm-1.051 2.949a.95.95 0 0 1-.949-.949h4a3.051 3.051 0 0 0-3.051-3.051v4Zm-2.898-4a3.051 3.051 0 0 0-3.051 3.051h4a.95.95 0 0 1-.949.949v-4Z" fill="#fff" mask="url(#m)"></path>
|
||||
</g>
|
||||
<g data-target="drive" class="drive">
|
||||
<rect height="9.564" rx="2" stroke="#fff" stroke-width="2" width="41" x="130" y="263.436"></rect>
|
||||
<path d="M134.051 273h8.898v-4h-8.898v4Zm9.949-2.949h-11v4h11v-4ZM142.949 273a.95.95 0 0 1-.949-.949h4a3.051 3.051 0 0 0-3.051-3.051v4Zm-8.898-4a3.051 3.051 0 0 0-3.051 3.051h4a.95.95 0 0 1-.949.949v-4Z" fill="#fff" mask="url(#n)"></path>
|
||||
<path d="M146.051 273h2.898v-4h-2.898v4Zm3.949-2.949h-5v4h5v-4ZM148.949 273a.95.95 0 0 1-.949-.949h4a3.051 3.051 0 0 0-3.051-3.051v4Zm-2.898-4a3.051 3.051 0 0 0-3.051 3.051h4a.95.95 0 0 1-.949.949v-4Z" fill="#fff" mask="url(#o)"></path>
|
||||
</g>
|
||||
</g>
|
||||
<g class="group drives twodotfive">
|
||||
<g data-target="drive" class="drive">
|
||||
<rect height="5" rx="2" stroke="#fff" stroke-width="2" width="41" x="183" y="36"></rect>
|
||||
<path d="M187 41h9v-4h-9v4Zm10-3h-11v4h11v-4Zm-1 3a1 1 0 0 1-1-1h4a3 3 0 0 0-3-3v4Zm-9-4a3 3 0 0 0-3 3h4a1 1 0 0 1-1 1v-4Z" fill="#fff" mask="url(#p)"></path>
|
||||
<path d="M199 41h3v-4h-3v4Zm4-3h-5v4h5v-4Zm-1 3a1 1 0 0 1-1-1h4a3 3 0 0 0-3-3v4Zm-3-4a3 3 0 0 0-3 3h4a1 1 0 0 1-1 1v-4Z" fill="#fff" mask="url(#q)"></path>
|
||||
</g>
|
||||
<g data-target="drive" class="drive">
|
||||
<rect height="5" rx="2" stroke="#fff" stroke-width="2" width="41" x="183" y="47"></rect>
|
||||
<path d="M187 52h9v-4h-9v4Zm10-3h-11v4h11v-4Zm-1 3a1 1 0 0 1-1-1h4a3 3 0 0 0-3-3v4Zm-9-4a3 3 0 0 0-3 3h4a1 1 0 0 1-1 1v-4Z" fill="#fff" mask="url(#r)"></path>
|
||||
<path d="M199 52h3v-4h-3v4Zm4-3h-5v4h5v-4Zm-1 3a1 1 0 0 1-1-1h4a3 3 0 0 0-3-3v4Zm-3-4a3 3 0 0 0-3 3h4a1 1 0 0 1-1 1v-4Z" fill="#fff" mask="url(#s)"></path>
|
||||
</g>
|
||||
<g data-target="drive" class="drive">
|
||||
<rect height="5" rx="2" stroke="#fff" stroke-width="2" width="41" x="183" y="58"></rect>
|
||||
<path d="M187 63h9v-4h-9v4Zm10-3h-11v4h11v-4Zm-1 3a1 1 0 0 1-1-1h4a3 3 0 0 0-3-3v4Zm-9-4a3 3 0 0 0-3 3h4a1 1 0 0 1-1 1v-4Z" fill="#fff" mask="url(#t)"></path>
|
||||
<path d="M199 63h3v-4h-3v4Zm4-3h-5v4h5v-4Zm-1 3a1 1 0 0 1-1-1h4a3 3 0 0 0-3-3v4Zm-3-4a3 3 0 0 0-3 3h4a1 1 0 0 1-1 1v-4Z" fill="#fff" mask="url(#u)"></path>
|
||||
</g>
|
||||
<g data-target="drive" class="drive">
|
||||
<rect height="5" rx="2" stroke="#fff" stroke-width="2" width="41" x="183" y="69"></rect>
|
||||
<path d="M187 74h9v-4h-9v4Zm10-3h-11v4h11v-4Zm-1 3a1 1 0 0 1-1-1h4a3 3 0 0 0-3-3v4Zm-9-4a3 3 0 0 0-3 3h4a1 1 0 0 1-1 1v-4Z" fill="#fff" mask="url(#v)"></path>
|
||||
<path d="M199 74h3v-4h-3v4Zm4-3h-5v4h5v-4Zm-1 3a1 1 0 0 1-1-1h4a3 3 0 0 0-3-3v4Zm-3-4a3 3 0 0 0-3 3h4a1 1 0 0 1-1 1v-4Z" fill="#fff" mask="url(#w)"></path>
|
||||
</g>
|
||||
</g>
|
||||
<g data-target="mb" class="mb">
|
||||
<rect height="176" rx="3.5" stroke="#fff" stroke-width="3" width="152" x="22.5" y="25.5"></rect>
|
||||
<path d="m31.19 123.309-.01.007-7.32 5.782c-1.968 1.554-4.86.153-4.86-2.354V42a3 3 0 0 1 3-3h15a3 3 0 0 1 3 3v73.048c0 .931-.432 1.81-1.17 2.377l-7.64 5.884Z" fill="#fff"></path>
|
||||
<path d="m31.19 123.309-.01.007-7.32 5.782c-1.968 1.554-4.86.153-4.86-2.354V42a3 3 0 0 1 3-3h15a3 3 0 0 1 3 3v73.048c0 .931-.432 1.81-1.17 2.377l-7.64 5.884Z" stroke="#fff" stroke-width="2"></path>
|
||||
<g class="chips">
|
||||
<rect fill="#fff" height="13" rx="2" width="13" x="23" y="44"></rect>
|
||||
<rect fill="#fff" height="13" rx="2" width="13" x="23" y="61"></rect>
|
||||
<rect fill="#fff" height="13" rx="2" width="13" x="23" y="78"></rect>
|
||||
</g>
|
||||
</g>
|
||||
<g class="group drives mdottwo">
|
||||
<g data-target="drive" class="drive">
|
||||
<path d="M129.535 123.781v2h2v-2h-2Zm0-.906h2v-2h-2v2Zm0-1.094h-1.082v4h1.082v-4Zm-1.082 3.094h1.082v-4h-1.082v4Zm-.918-2v.906h4v-.906h-4Zm2.465.453c0 .854-.693 1.547-1.547 1.547v-4a2.453 2.453 0 0 0-2.453 2.453h4Zm-1.547-1.547c.854 0 1.547.693 1.547 1.547h-4a2.453 2.453 0 0 0 2.453 2.453v-4Z" fill="#fff" mask="url(#x)"></path>
|
||||
<path d="M129.535 115.625v2h2v-2h-2Zm0-.906h2v-2h-2v2Zm0-1.094h-1.082v4h1.082v-4Zm-1.082 3.094h1.082v-4h-1.082v4Zm-.918-2v.906h4v-.906h-4Zm2.465.453c0 .854-.693 1.547-1.547 1.547v-4a2.453 2.453 0 0 0-2.453 2.453h4Zm-1.547-1.547c.854 0 1.547.693 1.547 1.547h-4a2.453 2.453 0 0 0 2.453 2.453v-4Z" fill="#fff" mask="url(#y)"></path>
|
||||
<path d="M129.535 121.969v2h2v-2h-2Zm0-5.438h2v-2h-2v2Zm0 3.438H129v4h.535v-4Zm.465 1v-3.438h-4v3.438h4Zm-1-2.438h.535v-4H129v4Zm-1.465-2v5.438h4v-5.438h-4Zm2.465 1a1 1 0 0 1-1 1v-4a3 3 0 0 0-3 3h4Zm-1 2.438a1 1 0 0 1 1 1h-4a3 3 0 0 0 3 3v-4Z" fill="#fff" mask="url(#z)"></path>
|
||||
<rect height="12.5" rx="2" stroke="#fff" stroke-width="2" width="29.465" x="130.535" y="113"></rect>
|
||||
</g>
|
||||
<g data-target="drive" class="drive">
|
||||
<path d="M92.535 123.781v2h2v-2h-2Zm0-.906h2v-2h-2v2Zm0-1.094h-1.082v4h1.082v-4Zm-1.082 3.094h1.082v-4h-1.082v4Zm-.918-2v.906h4v-.906h-4Zm2.465.453c0 .854-.693 1.547-1.547 1.547v-4A2.453 2.453 0 0 0 89 123.328h4Zm-1.547-1.547c.854 0 1.547.693 1.547 1.547h-4a2.453 2.453 0 0 0 2.453 2.453v-4Z" fill="#fff" mask="url(#A)"></path>
|
||||
<path d="M92.535 115.625v2h2v-2h-2Zm0-.906h2v-2h-2v2Zm0-1.094h-1.082v4h1.082v-4Zm-1.082 3.094h1.082v-4h-1.082v4Zm-.918-2v.906h4v-.906h-4Zm2.465.453c0 .854-.693 1.547-1.547 1.547v-4A2.453 2.453 0 0 0 89 115.172h4Zm-1.547-1.547c.854 0 1.547.693 1.547 1.547h-4a2.453 2.453 0 0 0 2.453 2.453v-4Z" fill="#fff" mask="url(#B)"></path>
|
||||
<path d="M92.535 121.969v2h2v-2h-2Zm0-5.438h2v-2h-2v2Zm0 3.438H92v4h.535v-4Zm.465 1v-3.438h-4v3.438h4Zm-1-2.438h.535v-4H92v4Zm-1.465-2v5.438h4v-5.438h-4Zm2.465 1a1 1 0 0 1-1 1v-4a3 3 0 0 0-3 3h4Zm-1 2.438a1 1 0 0 1 1 1h-4a3 3 0 0 0 3 3v-4Z" fill="#fff" mask="url(#C)"></path>
|
||||
<rect height="12.5" rx="2" stroke="#fff" stroke-width="2" width="29.465" x="93.535" y="113"></rect>
|
||||
</g>
|
||||
<g data-target="drive" class="drive">
|
||||
<path d="M55.535 123.781v2h2v-2h-2Zm0-.906h2v-2h-2v2Zm0-1.094h-1.082v4h1.082v-4Zm-1.082 3.094h1.082v-4h-1.082v4Zm-.918-2v.906h4v-.906h-4Zm2.465.453c0 .854-.693 1.547-1.547 1.547v-4A2.453 2.453 0 0 0 52 123.328h4Zm-1.547-1.547c.854 0 1.547.693 1.547 1.547h-4a2.453 2.453 0 0 0 2.453 2.453v-4Z" fill="#fff" mask="url(#G)"></path>
|
||||
<path d="M55.535 115.625v2h2v-2h-2Zm0-.906h2v-2h-2v2Zm0-1.094h-1.082v4h1.082v-4Zm-1.082 3.094h1.082v-4h-1.082v4Zm-.918-2v.906h4v-.906h-4Zm2.465.453c0 .854-.693 1.547-1.547 1.547v-4A2.453 2.453 0 0 0 52 115.172h4Zm-1.547-1.547c.854 0 1.547.693 1.547 1.547h-4a2.453 2.453 0 0 0 2.453 2.453v-4Z" fill="#fff" mask="url(#H)"></path>
|
||||
<path d="M55.535 121.969v2h2v-2h-2Zm0-5.438h2v-2h-2v2Zm0 3.438H55v4h.535v-4Zm.465 1v-3.438h-4v3.438h4Zm-1-2.438h.535v-4H55v4Zm-1.465-2v5.438h4v-5.438h-4Zm2.465 1a1 1 0 0 1-1 1v-4a3 3 0 0 0-3 3h4Zm-1 2.438a1 1 0 0 1 1 1h-4a3 3 0 0 0 3 3v-4Z" fill="#fff" mask="url(#I)"></path>
|
||||
<rect height="12.5" rx="2" stroke="#fff" stroke-width="2" width="29.465" x="56.535" y="113"></rect>
|
||||
</g>
|
||||
</g>
|
||||
<g data-target="gpu" class="gpu">
|
||||
<path d="M59 148h86" stroke="#fff" stroke-linecap="round"></path>
|
||||
<path d="M59.5 136a1.5 1.5 0 0 0-3 0h3Zm0 8v-8h-3v8h3Z" fill="#fff"></path>
|
||||
<path d="M68 143v-2a1 1 0 0 1 1-1h29a1 1 0 0 1 1 1v2H68Z" mask="url(#D)" stroke="#fff" stroke-width="3"></path>
|
||||
<path d="M101 143v-2a1 1 0 0 1 1-1h1a1 1 0 0 1 1 1v2h-3Z" mask="url(#E)" stroke="#fff" stroke-width="3"></path>
|
||||
<path d="M64 143v-2a1 1 0 0 1 1-1h1a1 1 0 0 1 1 1v2h-3Z" mask="url(#F)" stroke="#fff" stroke-width="3"></path>
|
||||
<path d="M55 147a3 3 0 0 1 3-3h88a3 3 0 0 1 3 3v.525c0 .237-.028.473-.083.703l-2.764 11.474a3.001 3.001 0 0 1-2.917 2.298H58a3 3 0 0 1-3-3v-12Z" stroke="#fff" stroke-width="2"></path>
|
||||
</g>
|
||||
<g class="group drams">
|
||||
<g data-target="dram" class="dram">
|
||||
<path d="M60 38v-2h-2v2h2Zm0 35h-2v2h2v-2Zm0-33h1v-4h-1v4Zm0-1v33h4V39h-4Zm1 32h-1v4h1v-4Zm1 2V38h-4v35h4Zm-2-1a1 1 0 0 1 1-1v4a3 3 0 0 0 3-3h-4Zm1-32a1 1 0 0 1-1-1h4a3 3 0 0 0-3-3v4Z" fill="#fff" mask="url(#L)"></path>
|
||||
<path d="M60 76v-2h-2v2h2Zm0 24h-2v2h2v-2Zm0-22h1v-4h-1v4Zm0-1v22h4V77h-4Zm1 21h-1v4h1v-4Zm1 2V76h-4v24h4Zm-2-1a1 1 0 0 1 1-1v4a3 3 0 0 0 3-3h-4Zm1-21a1 1 0 0 1-1-1h4a3 3 0 0 0-3-3v4Z" fill="#fff" mask="url(#M)"></path>
|
||||
<rect height="66" rx="2" stroke="#fff" stroke-width="2" width="4" x="55" y="36"></rect>
|
||||
</g>
|
||||
<g data-target="dram" class="dram">
|
||||
<path d="M76 38v-2h-2v2h2Zm0 35h-2v2h2v-2Zm0-33h1v-4h-1v4Zm0-1v33h4V39h-4Zm1 32h-1v4h1v-4Zm1 2V38h-4v35h4Zm-2-1a1 1 0 0 1 1-1v4a3 3 0 0 0 3-3h-4Zm1-32a1 1 0 0 1-1-1h4a3 3 0 0 0-3-3v4Z" fill="#fff" mask="url(#J)"></path>
|
||||
<path d="M76 76v-2h-2v2h2Zm0 24h-2v2h2v-2Zm0-22h1v-4h-1v4Zm0-1v22h4V77h-4Zm1 21h-1v4h1v-4Zm1 2V76h-4v24h4Zm-2-1a1 1 0 0 1 1-1v4a3 3 0 0 0 3-3h-4Zm1-21a1 1 0 0 1-1-1h4a3 3 0 0 0-3-3v4Z" fill="#fff" mask="url(#K)"></path>
|
||||
<rect height="66" rx="2" stroke="#fff" stroke-width="2" width="4" x="71" y="36"></rect>
|
||||
</g>
|
||||
<g data-target="dram" class="dram">
|
||||
<path d="M137 100v2h2v-2h-2Zm0-35h2v-2h-2v2Zm0 33h-1v4h1v-4Zm0 1V66h-4v33h4Zm-1-32h1v-4h-1v4Zm-1-2v35h4V65h-4Zm2 1a1 1 0 0 1-1 1v-4a3 3 0 0 0-3 3h4Zm-1 32a1 1 0 0 1 1 1h-4a3 3 0 0 0 3 3v-4Z" fill="#fff" mask="url(#N)"></path>
|
||||
<path d="M137 62v2h2v-2h-2Zm0-24h2v-2h-2v2Zm0 22h-1v4h1v-4Zm0 1V39h-4v22h4Zm-1-21h1v-4h-1v4Zm-1-2v24h4V38h-4Zm2 1a1 1 0 0 1-1 1v-4a3 3 0 0 0-3 3h4Zm-1 21a1 1 0 0 1 1 1h-4a3 3 0 0 0 3 3v-4Z" fill="#fff" mask="url(#O)"></path>
|
||||
<rect height="66" rx="2" stroke="#fff" stroke-width="2" transform="rotate(180 142 102)" width="4" x="142" y="102"></rect>
|
||||
</g>
|
||||
<g data-target="dram" class="dram">
|
||||
<path d="M155 100v2h2v-2h-2Zm0-35h2v-2h-2v2Zm0 33h-1v4h1v-4Zm0 1V66h-4v33h4Zm-1-32h1v-4h-1v4Zm-1-2v35h4V65h-4Zm2 1a1 1 0 0 1-1 1v-4a3 3 0 0 0-3 3h4Zm-1 32a1 1 0 0 1 1 1h-4a3 3 0 0 0 3 3v-4Z" fill="#fff" mask="url(#P)"></path>
|
||||
<path d="M155 62v2h2v-2h-2Zm0-24h2v-2h-2v2Zm0 22h-1v4h1v-4Zm0 1V39h-4v22h4Zm-1-21h1v-4h-1v4Zm-1-2v24h4V38h-4Zm2 1a1 1 0 0 1-1 1v-4a3 3 0 0 0-3 3h4Zm-1 21a1 1 0 0 1 1 1h-4a3 3 0 0 0 3 3v-4Z" fill="#fff" mask="url(#Q)"></path>
|
||||
<rect height="66" rx="2" stroke="#fff" stroke-width="2" transform="rotate(180 160 102)" width="4" x="160" y="102"></rect>
|
||||
</g>
|
||||
</g>
|
||||
<g data-target="cpu" class="cpu">
|
||||
<path d="M98 56a1 1 0 0 1 1-1h1a1 1 0 0 1 1 1h-3ZM113 56a1 1 0 0 1 1-1h1a1 1 0 0 1 1 1h-3ZM103 56a1 1 0 0 1 1-1h1a1 1 0 0 1 1 1h-3ZM108 56a1 1 0 0 1 1-1h1a1 1 0 0 1 1 1h-3ZM116 82a1 1 0 0 1-1 1h-1a1 1 0 0 1-1-1h3ZM101 82a1 1 0 0 1-1 1h-1a1 1 0 0 1-1-1h3ZM111 82a1 1 0 0 1-1 1h-1a1 1 0 0 1-1-1h3ZM106 82a1 1 0 0 1-1 1h-1a1 1 0 0 1-1-1h3ZM120 60a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1v-3ZM120 75a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1v-3ZM120 65a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1v-3ZM120 70a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1v-3ZM94 78a1 1 0 0 1-1-1v-1a1 1 0 0 1 1-1v3ZM94 63a1 1 0 0 1-1-1v-1a1 1 0 0 1 1-1v3ZM94 73a1 1 0 0 1-1-1v-1a1 1 0 0 1 1-1v3ZM94 68a1 1 0 0 1-1-1v-1a1 1 0 0 1 1-1v3Z" fill="#fff"></path>
|
||||
<rect height="24" rx="3" stroke="#fff" stroke-width="2" width="24" x="95" y="57"></rect>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 19 KiB |
|
@ -1,19 +0,0 @@
|
|||
<?php
|
||||
|
||||
namespace VLW\Database\Tables\Battlestation;
|
||||
|
||||
use vlw\xEnum;
|
||||
|
||||
enum ChassisTable: string {
|
||||
use xEnum;
|
||||
|
||||
const NAME = "chassis";
|
||||
|
||||
case ID = "id";
|
||||
case VENDOR_NAME = "vendor_name";
|
||||
case VENDOR_MODEL = "vendor_model";
|
||||
case STORAGE_TWOINCHFIVE = "storage_2i5hi";
|
||||
case STORAGE_THREEINCHFIVE = "storage_3i5hi";
|
||||
case DATE_AQUIRED = "date_aquired";
|
||||
case IS_RETIRED = "is_retired";
|
||||
}
|
|
@ -1,14 +0,0 @@
|
|||
<?php
|
||||
|
||||
namespace VLW\Database\Tables\Battlestation\Config;
|
||||
|
||||
use vlw\xEnum;
|
||||
|
||||
enum ChassisMbTable: string {
|
||||
use xEnum;
|
||||
|
||||
const NAME = "config_chassis_mb";
|
||||
|
||||
case REF_CHASSIS_ID = "ref_chassis_id";
|
||||
case REF_MB_ID = "ref_mb_id";
|
||||
}
|
|
@ -1,15 +0,0 @@
|
|||
<?php
|
||||
|
||||
namespace VLW\Database\Tables\Battlestation\Config;
|
||||
|
||||
use vlw\xEnum;
|
||||
|
||||
enum ConfigModel: string {
|
||||
use xEnum;
|
||||
|
||||
const NAME = "config";
|
||||
|
||||
case REF_MB_ID = "ref_mb_id";
|
||||
case FRIENDLY_NAME = "friendly_name";
|
||||
case DATE_BUILT = "date_built";
|
||||
}
|
|
@ -1,24 +0,0 @@
|
|||
<?php
|
||||
|
||||
namespace VLW\Database\Tables\Battlestation\Config;
|
||||
|
||||
use vlw\xEnum;
|
||||
|
||||
enum SocketTypeEnum {
|
||||
use xEnum;
|
||||
|
||||
case SLOTTED;
|
||||
case INTEGRATED;
|
||||
}
|
||||
|
||||
enum MbCpuCoolerModel: string {
|
||||
use xEnum;
|
||||
|
||||
const NAME = "config_mb_cpu_cooler";
|
||||
|
||||
case REF_MB_ID = "ref_mb_id";
|
||||
case REF_CPU_ID = "ref_cpu_id";
|
||||
case REF_COOLER_ID = "ref_cooler_id";
|
||||
case SOCKET = "socket";
|
||||
case SOCKET_TYPE = "socket_type";
|
||||
}
|
|
@ -1,23 +0,0 @@
|
|||
<?php
|
||||
|
||||
namespace VLW\Database\Tables\Battlestation\Config;
|
||||
|
||||
use vlw\xEnum;
|
||||
|
||||
enum SocketTypeModel {
|
||||
use xEnum;
|
||||
|
||||
case SLOTTED;
|
||||
case INTEGRATED;
|
||||
}
|
||||
|
||||
enum MbDramTable: string {
|
||||
use xEnum;
|
||||
|
||||
const NAME = "config_mb_dram";
|
||||
|
||||
case REF_MB_ID = "ref_mb_id";
|
||||
case REF_DRAM_ID = "ref_dram_id";
|
||||
case SOCKET = "socket";
|
||||
case SOCKET_TYPE = "socket_type";
|
||||
}
|
|
@ -1,14 +0,0 @@
|
|||
<?php
|
||||
|
||||
namespace VLW\Database\Tables\Battlestation\Config;
|
||||
|
||||
use vlw\xEnum;
|
||||
|
||||
enum MbGpuTable: string {
|
||||
use xEnum;
|
||||
|
||||
const NAME = "config_mb_gpu";
|
||||
|
||||
case REF_MB_ID = "ref_mb_id";
|
||||
case REF_GPU_ID = "ref_gpu_id";
|
||||
}
|
|
@ -1,14 +0,0 @@
|
|||
<?php
|
||||
|
||||
namespace VLW\Database\Tables\Battlestation\Config;
|
||||
|
||||
use vlw\xEnum;
|
||||
|
||||
enum MbPsuTable: string {
|
||||
use xEnum;
|
||||
|
||||
const NAME = "config_mb_psu";
|
||||
|
||||
case REF_MB_ID = "ref_mb_id";
|
||||
case REF_PSU_ID = "ref_psu_id";
|
||||
}
|
|
@ -1,25 +0,0 @@
|
|||
<?php
|
||||
|
||||
namespace VLW\Database\Tables\Battlestation\Config;
|
||||
|
||||
use vlw\xEnum;
|
||||
|
||||
enum MbStorageSlotFormfactorEnum: string {
|
||||
use xEnum;
|
||||
|
||||
case TWODOTFIVE = "2.5";
|
||||
case THREEDOTFIVE = "3.5";
|
||||
case MDOTTWO = "M.2";
|
||||
case EXTERNAL = "EXTERNAL";
|
||||
}
|
||||
|
||||
enum MbStorageTable: string {
|
||||
use xEnum;
|
||||
|
||||
const NAME = "config_mb_storage";
|
||||
|
||||
case REF_MB_ID = "ref_mb_id";
|
||||
case REF_STORAGE_ID = "ref_storage_id";
|
||||
case INTERFACE = "interface";
|
||||
case SLOT_FORMFACTOR = "slot_formfactor";
|
||||
}
|
|
@ -1,16 +0,0 @@
|
|||
<?php
|
||||
|
||||
namespace VLW\Database\Tables\Battlestation;
|
||||
|
||||
enum CoolersTable: string {
|
||||
const NAME = "coolers";
|
||||
|
||||
case ID = "id";
|
||||
case TYPE_LIQUID = "type_liquid";
|
||||
case SIZE_FAN = "size_fan";
|
||||
case SIZE_RADIATOR = "size_radiator";
|
||||
case VENDOR_NAME = "vendor_name";
|
||||
case VENDOR_MODEL = "vendor_model";
|
||||
case DATE_AQUIRED = "date_aquired";
|
||||
case IS_RETIRED = "is_retired";
|
||||
}
|
|
@ -1,31 +0,0 @@
|
|||
<?php
|
||||
|
||||
namespace VLW\Database\Tables\Battlestation;
|
||||
|
||||
use vlw\xEnum;
|
||||
|
||||
enum ClassEnum {
|
||||
use xEnum;
|
||||
|
||||
case DESKTOP;
|
||||
case LAPTOP;
|
||||
case SERVER;
|
||||
}
|
||||
|
||||
enum CpuTable: string {
|
||||
use xEnum;
|
||||
|
||||
const NAME = "cpu";
|
||||
|
||||
case ID = "id";
|
||||
case CPU_CLASS = "class";
|
||||
case CLOCK_BASE = "clock_base";
|
||||
case CLOCK_TURBO = "clock_turbo";
|
||||
case CORE_COUNT_PERFORMANCE = "core_count_performance";
|
||||
case CORE_COUNT_EFFICIENCY = "core_count_efficiency";
|
||||
case CORE_THREADS = "core_threads";
|
||||
case VENDOR_NAME = "vendor_name";
|
||||
case VENDOR_MODEL = "vendor_model";
|
||||
case DATE_AQUIRED = "date_aquired";
|
||||
case IS_RETIRED = "is_retired";
|
||||
}
|
|
@ -1,37 +0,0 @@
|
|||
<?php
|
||||
|
||||
namespace VLW\Database\Tables\Battlestation;
|
||||
|
||||
use vlw\xEnum;
|
||||
|
||||
enum DramFormfactorEnum {
|
||||
use xEnum;
|
||||
|
||||
case DIMM;
|
||||
case SODIMM;
|
||||
}
|
||||
|
||||
enum DramTechnologyEnum {
|
||||
use xEnum;
|
||||
|
||||
case DDR4;
|
||||
case DDR5;
|
||||
}
|
||||
|
||||
enum DramTable: string {
|
||||
use xEnum;
|
||||
|
||||
const NAME = "dram";
|
||||
|
||||
case ID = "id";
|
||||
case CAPACITY = "capacity";
|
||||
case SPEED = "speed";
|
||||
case FORMFACTOR = "formfactor";
|
||||
case TECHNOLOGY = "technology";
|
||||
case ECC = "ecc";
|
||||
case BUFFERED = "buffered";
|
||||
case VENDOR_NAME = "vendor_name";
|
||||
case VENDOR_MODEL = "vendor_model";
|
||||
case DATE_AQUIRED = "date_aquired";
|
||||
case IS_RETIRED = "is_retired";
|
||||
}
|
|
@ -1,20 +0,0 @@
|
|||
<?php
|
||||
|
||||
namespace VLW\Database\Tables\Battlestation;
|
||||
|
||||
use vlw\xEnum;
|
||||
|
||||
enum GpuTable: string {
|
||||
use xEnum;
|
||||
|
||||
const NAME = "gpu";
|
||||
|
||||
case ID = "id";
|
||||
case MEMORY = "memory";
|
||||
case VENDOR_NAME = "vendor_name";
|
||||
case VENDOR_MODEL = "vendor_model";
|
||||
case VENDOR_CHIP_NAME = "vendor_chip_name";
|
||||
case VENDOR_CHIP_MODEL = "vendor_chip_model";
|
||||
case DATE_AQUIRED = "date_aquired";
|
||||
case IS_RETIRED = "is_retired";
|
||||
}
|
|
@ -1,30 +0,0 @@
|
|||
<?php
|
||||
|
||||
namespace VLW\Database\Tables\Battlestation;
|
||||
|
||||
use vlw\xEnum;
|
||||
|
||||
enum MbFormfactorEnum {
|
||||
use xEnum;
|
||||
|
||||
case ATX;
|
||||
case MTX;
|
||||
case ITX;
|
||||
case LAPTOP;
|
||||
}
|
||||
|
||||
enum MbTable: string {
|
||||
use xEnum;
|
||||
|
||||
const NAME = "mb";
|
||||
|
||||
case ID = "id";
|
||||
case FORMFACTOR = "formfactor";
|
||||
case VENDOR_NAME = "vendor_name";
|
||||
case VENDOR_MODEL = "vendor_model";
|
||||
case NETWORK_ETHERNET = "network_ethernet";
|
||||
case NETWORK_WLAN = "network_wlan";
|
||||
case NETWORK_BLUETOOTH = "network_bluetooth";
|
||||
case DATE_AQUIRED = "date_aquired";
|
||||
case IS_RETIRED = "is_retired";
|
||||
}
|
|
@ -1,31 +0,0 @@
|
|||
<?php
|
||||
|
||||
namespace VLW\Database\Tables\Battlestation;
|
||||
|
||||
use vlw\xEnum;
|
||||
|
||||
enum EightyplusRatingEnum {
|
||||
use xEnum;
|
||||
|
||||
case BASE;
|
||||
case BRONZE;
|
||||
case SILVER;
|
||||
case GOLD;
|
||||
case PLATINUM;
|
||||
case TITANIUM;
|
||||
}
|
||||
|
||||
enum PsuTable: string {
|
||||
use xEnum;
|
||||
|
||||
const NAME = "psu";
|
||||
|
||||
case ID = "id";
|
||||
case POWER = "power";
|
||||
case VENDOR_NAME = "vendor_name";
|
||||
case VENDOR_MODEL = "vendor_model";
|
||||
case TYPE_MODULAR = "type_modular";
|
||||
case EIGHTYPLUS_RATING = "80plus_rating";
|
||||
case DATE_AQUIRED = "date_aquired";
|
||||
case IS_RETIRED = "is_retired";
|
||||
}
|
|
@ -1,45 +0,0 @@
|
|||
<?php
|
||||
|
||||
namespace VLW\Database\Tables\Battlestation;
|
||||
|
||||
use vlw\xEnum;
|
||||
|
||||
enum StorageDiskTypeEnum {
|
||||
use xEnum;
|
||||
|
||||
case SSD;
|
||||
case HDD;
|
||||
}
|
||||
|
||||
enum StorageDiskInterfaceEnum {
|
||||
use xEnum;
|
||||
|
||||
case SATA;
|
||||
case NVME;
|
||||
case USB;
|
||||
}
|
||||
|
||||
enum StorageDiskFormfactorEnum{
|
||||
use xEnum;
|
||||
|
||||
case TWODOTFIVE;
|
||||
case THREEDOTFIVE;
|
||||
case MDOTTWO;
|
||||
}
|
||||
|
||||
enum StorageTable: string {
|
||||
use xEnum;
|
||||
|
||||
const NAME = "storage";
|
||||
|
||||
case ID = "id";
|
||||
case DISK_TYPE = "disk_type";
|
||||
case DISK_SIZE = "disk_size";
|
||||
case DISK_SECTORS = "disk_sectors";
|
||||
case DISK_INTERFACE = "disk_interface";
|
||||
case DISK_FORMFACTOR = "disk_formfactor";
|
||||
case VENDOR_NAME = "vendor_name";
|
||||
case VENDOR_MODEL = "vendor_model";
|
||||
case DATE_AQUIRED = "date_aquired";
|
||||
case IS_RETIRED = "is_retired";
|
||||
}
|
Loading…
Add table
Reference in a new issue