@@ -45,73 +45,74 @@ const Side = styled.div`
4545 transform: ${ ( { rotate } ) => rotate } translateZ(${ ( { size } ) => size / 2 } px);
4646` ;
4747
48+ const isSafari =
49+ typeof navigator !== 'undefined' &&
50+ / ^ ( (? ! c h r o m e | a n d r o i d ) .) * s a f a r i / i. test ( navigator . userAgent ) ;
51+ const SHADOW_SIZE = isSafari ? 100 : 150 ;
52+
4853type Props = {
49- size : number ,
5054 className : string ,
51- noAnimation : ?boolean ,
52- speed : number ,
5355 color : string ,
56+ noAnimation : ?boolean ,
5457 offset : number ,
58+ size : number ,
59+ speed : number ,
5560} ;
61+ const GlowCube = ( {
62+ className,
63+ color = 'rgba(242,119,119,0.5)' ,
64+ id,
65+ noAnimation,
66+ offset = 0 ,
67+ ref,
68+ size = 150 ,
69+ speed = 1 ,
70+ } : Props ) => (
71+ < Cube id = { id } ref = { ref } className = { className } size = { size } >
72+ < Sides
73+ color = { color }
74+ offset = { offset }
75+ speed = { speed }
76+ noAnimation = { noAnimation }
77+ size = { size }
78+ >
79+ < Side
80+ rotate = "rotateX(90deg)"
81+ size = { size }
82+ style = { { boxShadow : `0px 0px ${ SHADOW_SIZE } px ${ color ( ) } ` } }
83+ />
5684
57- const isSafari =
58- typeof navigator !== 'undefined' &&
59- / ^ ( (? ! c h r o m e | a n d r o i d ) .) * s a f a r i / i. test ( navigator . userAgent ) ;
60- const SHADOW_SIZE = isSafari ? 100 : 150 ;
85+ < Side
86+ rotate = "rotateX(-90deg)"
87+ size = { size }
88+ style = { { boxShadow : `0px 0px ${ SHADOW_SIZE } px ${ color ( ) } ` } }
89+ />
6190
62- export default class GlowCube extends React . PureComponent < Props > {
63- render ( ) {
64- const {
65- size = 150 ,
66- color = 'rgba(242,119,119,0.5)' ,
67- speed = 1 ,
68- offset = 0 ,
69- noAnimation,
70- className,
71- ref,
72- id,
73- } = this . props ;
74- return (
75- < Cube id = { id } ref = { ref } className = { className } size = { size } >
76- < Sides
77- color = { color }
78- offset = { offset }
79- speed = { speed }
80- noAnimation = { noAnimation }
81- size = { size }
82- >
83- < Side
84- style = { { boxShadow : `0px 0px ${ SHADOW_SIZE } px ${ color ( ) } ` } }
85- rotate = "rotateX(90deg)"
86- size = { size }
87- />
88- < Side
89- style = { { boxShadow : `0px 0px ${ SHADOW_SIZE } px ${ color ( ) } ` } }
90- rotate = "rotateX(-90deg)"
91- size = { size }
92- />
93- < Side
94- style = { { boxShadow : `0px 0px ${ SHADOW_SIZE } px ${ color ( ) } ` } }
95- rotate = "rotateY(0deg)"
96- size = { size }
97- />
98- < Side
99- style = { { boxShadow : `0px 0px ${ SHADOW_SIZE } px ${ color ( ) } ` } }
100- rotate = "rotateY(-180deg)"
101- size = { size }
102- />
103- < Side
104- style = { { boxShadow : `0px 0px ${ SHADOW_SIZE } px ${ color ( ) } ` } }
105- rotate = "rotateY(-90deg)"
106- size = { size }
107- />
108- < Side
109- style = { { boxShadow : `0px 0px ${ SHADOW_SIZE } px ${ color ( ) } ` } }
110- rotate = "rotateY(90deg)"
111- size = { size }
112- />
113- </ Sides >
114- </ Cube >
115- ) ;
116- }
117- }
91+ < Side
92+ rotate = "rotateY(0deg)"
93+ size = { size }
94+ style = { { boxShadow : `0px 0px ${ SHADOW_SIZE } px ${ color ( ) } ` } }
95+ />
96+
97+ < Side
98+ rotate = "rotateY(-180deg)"
99+ size = { size }
100+ style = { { boxShadow : `0px 0px ${ SHADOW_SIZE } px ${ color ( ) } ` } }
101+ />
102+
103+ < Side
104+ rotate = "rotateY(-90deg)"
105+ size = { size }
106+ style = { { boxShadow : `0px 0px ${ SHADOW_SIZE } px ${ color ( ) } ` } }
107+ />
108+
109+ < Side
110+ rotate = "rotateY(90deg)"
111+ size = { size }
112+ style = { { boxShadow : `0px 0px ${ SHADOW_SIZE } px ${ color ( ) } ` } }
113+ />
114+ </ Sides >
115+ </ Cube >
116+ ) ;
117+
118+ export default GlowCube ;
0 commit comments