@@ -6,6 +6,9 @@ import operaBlinkLogo from "../../assets/browsers/opera.svg";
6
6
import firefoxLogo from "../../assets/browsers/firefox.svg" ;
7
7
import safariLogo from "../../assets/browsers/safari.svg" ;
8
8
import safariTechnologyPreviewLogo from "../../assets/browsers/safari.svg" ;
9
+ import macLogo from "../../assets/operating-systems/mac.svg" ;
10
+ import windowsLogo from "../../assets/operating-systems/windows.svg" ;
11
+ import linuxLogo from "../../assets/operating-systems/linux.svg" ;
9
12
import InfoIcon from '@material-ui/icons/Info' ;
10
13
import NodeType from "../../models/node" ;
11
14
@@ -50,6 +53,19 @@ const browserLogoPath = (browser: string): string => {
50
53
}
51
54
} ;
52
55
56
+ const osLogoPath = ( os : string ) : string => {
57
+ const osLowerCase : string = os . toLowerCase ( ) ;
58
+ if ( osLowerCase . includes ( "win" ) ) {
59
+ return windowsLogo ;
60
+ }
61
+ if ( osLowerCase . includes ( "mac" ) ) {
62
+ return macLogo ;
63
+ }
64
+ if ( osLowerCase . includes ( "nix" ) || osLowerCase . includes ( "nux" ) || osLowerCase . includes ( "aix" ) ) {
65
+ return linuxLogo ;
66
+ }
67
+ return "" ;
68
+ } ;
53
69
54
70
export default function Node ( props ) {
55
71
const classes = useStyles ( ) ;
@@ -59,8 +75,7 @@ export default function Node(props) {
59
75
// Assuming we will put 3 stereotypes per column.
60
76
const stereotypeColumns = Math . round ( nodeInfo . slotStereotypes . length / 3 ) ;
61
77
// Then we need to know how many columns we will display.
62
- const columnWidth : GridSize = 6 ;
63
- // const columnWidth = 12 / 12;
78
+ const columnWidth : GridSize = 12 / stereotypeColumns as any ;
64
79
65
80
return (
66
81
< Card
@@ -92,7 +107,7 @@ export default function Node(props) {
92
107
>
93
108
{ /*TODO: User proper logos after getting OS info from backend*/ }
94
109
< img
95
- src = { chromeLogo }
110
+ src = { osLogoPath ( nodeInfo . osInfo . name ) }
96
111
className = { classes . osLogo }
97
112
alt = "OS Logo"
98
113
/>
@@ -122,7 +137,6 @@ export default function Node(props) {
122
137
nodeInfo . slotStereotypes
123
138
. slice ( index * 3 , Math . min ( ( index * 3 ) + 3 , nodeInfo . slotStereotypes . length ) )
124
139
. map ( ( slotStereotype : any , idx ) => {
125
- console . log ( slotStereotype )
126
140
return ( < Typography
127
141
color = "textPrimary"
128
142
variant = "h6"
0 commit comments