Skip to content

Commit 2553898

Browse files
authored
fix: add web-specific styles for overlay component rendering (#3844)
* fix: add web-specific styles for overlay component rendering * chore: add image overlay demo example * refactor: simplify overlay component styles for web compatibility
1 parent e998686 commit 2553898

File tree

3 files changed

+57
-2
lines changed

3 files changed

+57
-2
lines changed

src/components/overlay/index.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import {StyleSheet, Image, ImageProps, ImageSourcePropType} from 'react-native';
44
import {Colors} from '../../style';
55
import View from '../view';
66
import Assets from '../../assets';
7+
import Constants from '../../commons/Constants';
78

89
const OVERLY_TYPES = {
910
VERTICAL: 'vertical',
@@ -126,7 +127,7 @@ class Overlay extends PureComponent<OverlayTypes> {
126127
const styles = StyleSheet.create({
127128
container: {
128129
...StyleSheet.absoluteFillObject,
129-
width: undefined
130+
width: Constants.isWeb ? '100%' : undefined
130131
},
131132
top: {
132133
bottom: undefined,

webDemo/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
"react-native-shimmer-placeholder": "^2.0.8",
2929
"react-native-svg": "15.11.2",
3030
"react-native-svg-transformer": "1.5.0",
31-
"react-native-ui-lib": "8.0.0",
31+
"react-native-ui-lib": "8.0.0-snapshot.7447",
3232
"react-native-web": "^0.18.6",
3333
"typescript": "^4.4.2"
3434
},

webDemo/src/App.tsx

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import Slider from 'react-native-ui-lib/Slider';
1010
import Stepper from 'react-native-ui-lib/Stepper';
1111
import Icon from 'react-native-ui-lib/Icon';
1212
import DateTimePicker from 'react-native-ui-lib/DateTimePicker';
13+
import UIImage from 'react-native-ui-lib/Image';
1314
// import FloatingButton from 'react-native-ui-lib/FloatingButton'
1415
import Chip from 'react-native-ui-lib/Chip';
1516
import Badge from 'react-native-ui-lib/Badge';
@@ -307,6 +308,59 @@ const itemsToRender: ItemToRender[] = [
307308
title: 'Image',
308309
FC: Image
309310
},
311+
{
312+
title: 'Image with Overlay',
313+
FC: () => {
314+
const imageSource = {
315+
uri: 'https://images.pexels.com/photos/248412/pexels-photo-248412.jpeg?auto=compress&cs=tinysrgb&dpr=1&w=200'
316+
};
317+
318+
return (
319+
<View row spread gap-s2>
320+
<View center>
321+
<Text marginB-5 text80>Top</Text>
322+
<UIImage
323+
source={imageSource}
324+
width={100}
325+
height={100}
326+
overlayType={UIImage.overlayTypes.TOP}
327+
overlayIntensity={UIImage.overlayIntensityType.MEDIUM}
328+
/>
329+
</View>
330+
<View center>
331+
<Text marginB-5 text80>Bottom</Text>
332+
<UIImage
333+
source={imageSource}
334+
width={100}
335+
height={100}
336+
overlayType={UIImage.overlayTypes.BOTTOM}
337+
overlayIntensity={UIImage.overlayIntensityType.MEDIUM}
338+
/>
339+
</View>
340+
<View center>
341+
<Text marginB-5 text80>Vertical</Text>
342+
<UIImage
343+
source={imageSource}
344+
width={100}
345+
height={100}
346+
overlayType={UIImage.overlayTypes.VERTICAL}
347+
overlayIntensity={UIImage.overlayIntensityType.MEDIUM}
348+
/>
349+
</View>
350+
<View center>
351+
<Text marginB-5 text80>Solid</Text>
352+
<UIImage
353+
source={imageSource}
354+
width={100}
355+
height={100}
356+
overlayType={UIImage.overlayTypes.SOLID}
357+
overlayIntensity={UIImage.overlayIntensityType.MEDIUM}
358+
/>
359+
</View>
360+
</View>
361+
);
362+
}
363+
},
310364
{
311365
title: 'Progressive Image',
312366
FC: ProgressiveImage

0 commit comments

Comments
 (0)