related-ui-components 1.3.6 → 1.3.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/app.js +29 -23
- package/lib/commonjs/app.js.map +1 -1
- package/lib/commonjs/components/BrandIcon/BrandIcon.js +47 -39
- package/lib/commonjs/components/BrandIcon/BrandIcon.js.map +1 -1
- package/lib/commonjs/components/RedemptionOption/RedemptionOption.js +1 -1
- package/lib/commonjs/components/RedemptionOption/RedemptionOption.js.map +1 -1
- package/lib/module/app.js +32 -26
- package/lib/module/app.js.map +1 -1
- package/lib/module/components/BrandIcon/BrandIcon.js +49 -41
- package/lib/module/components/BrandIcon/BrandIcon.js.map +1 -1
- package/lib/module/components/RedemptionOption/RedemptionOption.js +1 -1
- package/lib/module/components/RedemptionOption/RedemptionOption.js.map +1 -1
- package/lib/typescript/commonjs/app.d.ts.map +1 -1
- package/lib/typescript/commonjs/components/BrandIcon/BrandIcon.d.ts +5 -2
- package/lib/typescript/commonjs/components/BrandIcon/BrandIcon.d.ts.map +1 -1
- package/lib/typescript/module/app.d.ts.map +1 -1
- package/lib/typescript/module/components/BrandIcon/BrandIcon.d.ts +5 -2
- package/lib/typescript/module/components/BrandIcon/BrandIcon.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/app.tsx +25 -2
- package/src/components/BrandIcon/BrandIcon.tsx +85 -72
- package/src/components/RedemptionOption/RedemptionOption.tsx +1 -1
package/lib/commonjs/app.js
CHANGED
|
@@ -110,38 +110,44 @@ function App() {
|
|
|
110
110
|
const debounceTimerRef = (0, _react.useRef)(null);
|
|
111
111
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeGestureHandler.GestureHandlerRootView, {
|
|
112
112
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.RelatedProvider, {
|
|
113
|
-
children: /*#__PURE__*/(0, _jsxRuntime.
|
|
113
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNativeSafeAreaContext.SafeAreaView, {
|
|
114
114
|
style: {
|
|
115
115
|
padding: 10,
|
|
116
116
|
flex: 1,
|
|
117
117
|
backgroundColor: theme.background
|
|
118
118
|
},
|
|
119
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_index2.
|
|
120
|
-
|
|
121
|
-
buttonText: "Redeem Now",
|
|
122
|
-
onButtonPress: () => _reactNative.Alert.alert("Button pressed"),
|
|
123
|
-
onBannerPress: () => _reactNative.Alert.alert("Banner pressed"),
|
|
124
|
-
height: 200,
|
|
125
|
-
contentAlignment: "bottom",
|
|
126
|
-
contentContainerStyle: {
|
|
127
|
-
borderRadius: 50,
|
|
128
|
-
backgroundColor: "red"
|
|
129
|
-
},
|
|
119
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_index2.RedemptionOption, {
|
|
120
|
+
padding: 0,
|
|
130
121
|
containerStyle: {
|
|
131
|
-
borderRadius:
|
|
132
|
-
|
|
133
|
-
},
|
|
134
|
-
backgroundImageStyle: {
|
|
135
|
-
borderRadius: 50,
|
|
136
|
-
backgroundColor: "red"
|
|
122
|
+
borderRadius: 10,
|
|
123
|
+
alignItems: "center"
|
|
137
124
|
},
|
|
138
125
|
icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_vectorIcons.Ionicons, {
|
|
139
|
-
name: "
|
|
140
|
-
size:
|
|
141
|
-
color: "#FFFFFF"
|
|
126
|
+
name: "briefcase",
|
|
127
|
+
size: 30
|
|
142
128
|
}),
|
|
143
|
-
|
|
144
|
-
|
|
129
|
+
iconContainerStyle: {
|
|
130
|
+
backgroundColor: theme.background,
|
|
131
|
+
width: 30,
|
|
132
|
+
height: 30,
|
|
133
|
+
borderRadius: 30,
|
|
134
|
+
padding: 25
|
|
135
|
+
},
|
|
136
|
+
textStyle: {
|
|
137
|
+
fontSize: 15,
|
|
138
|
+
fontWeight: "500"
|
|
139
|
+
},
|
|
140
|
+
text: "Deals",
|
|
141
|
+
orientation: "horizontal"
|
|
142
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_index2.BrandIcon, {
|
|
143
|
+
showName: true,
|
|
144
|
+
size: 50,
|
|
145
|
+
brand: {
|
|
146
|
+
id: "1",
|
|
147
|
+
logo: require("@/assets/images/pb-logo.jpg"),
|
|
148
|
+
name: "Pull and Bear"
|
|
149
|
+
}
|
|
150
|
+
})]
|
|
145
151
|
})
|
|
146
152
|
})
|
|
147
153
|
});
|
package/lib/commonjs/app.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_vectorIcons","_index","_index2","_reactNativeSafeAreaContext","_reactNativeGestureHandler","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","App","theme","useTheme","filtersVisible","setFiltersVisible","useState","mode","setMode","sortOptions","id","name","value","iconSize","iconColor","onSurface","redemptionOption","icon","jsx","Ionicons","size","color","key","orientation","width","redemptionOptions","map","item","text","debounceTimerRef","useRef","GestureHandlerRootView","children","RelatedProvider","SafeAreaView","style","padding","flex","backgroundColor","background","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_vectorIcons","_index","_index2","_reactNativeSafeAreaContext","_reactNativeGestureHandler","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","App","theme","useTheme","filtersVisible","setFiltersVisible","useState","mode","setMode","sortOptions","id","name","value","iconSize","iconColor","onSurface","redemptionOption","icon","jsx","Ionicons","size","color","key","orientation","width","redemptionOptions","map","item","text","debounceTimerRef","useRef","GestureHandlerRootView","children","RelatedProvider","jsxs","SafeAreaView","style","padding","flex","backgroundColor","background","RedemptionOption","containerStyle","borderRadius","alignItems","iconContainerStyle","height","textStyle","fontSize","fontWeight","BrandIcon","showName","brand","logo","styles","StyleSheet","create","container","testButton","paddingVertical","paddingHorizontal","marginBottom","buttonText","textAlign"],"sourceRoot":"..\\..\\src","sources":["app.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -13,28 +13,29 @@ const BrandIcon = ({
|
|
|
13
13
|
brand,
|
|
14
14
|
size = 66,
|
|
15
15
|
selected = false,
|
|
16
|
+
showName = false,
|
|
16
17
|
onPress,
|
|
17
18
|
disabled = false,
|
|
18
19
|
containerStyle,
|
|
20
|
+
wrapperStyle,
|
|
19
21
|
imageStyle,
|
|
20
22
|
selectionIndicatorStyle,
|
|
21
|
-
selectionIndicatorIcon
|
|
23
|
+
selectionIndicatorIcon,
|
|
24
|
+
nameStyle
|
|
22
25
|
}) => {
|
|
23
26
|
const {
|
|
24
27
|
theme
|
|
25
28
|
} = (0, _index.useTheme)();
|
|
26
|
-
const styles = createStyles(theme);
|
|
29
|
+
const styles = createStyles(theme);
|
|
27
30
|
|
|
31
|
+
// fixed circle dimensions
|
|
28
32
|
const iconSize = {
|
|
29
33
|
width: size,
|
|
30
34
|
height: size,
|
|
31
35
|
borderRadius: size / 2
|
|
32
36
|
};
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
height: size,
|
|
36
|
-
borderRadius: size / 2
|
|
37
|
-
};
|
|
37
|
+
|
|
38
|
+
// size for the check indicator
|
|
38
39
|
const indicatorSize = {
|
|
39
40
|
width: size * 0.3,
|
|
40
41
|
height: size * 0.3,
|
|
@@ -44,34 +45,44 @@ const BrandIcon = ({
|
|
|
44
45
|
top: -5,
|
|
45
46
|
right: 0
|
|
46
47
|
};
|
|
47
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.
|
|
48
|
-
style: [styles.
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
48
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
49
|
+
style: [styles.wrapper, wrapperStyle],
|
|
50
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.TouchableOpacity, {
|
|
51
|
+
style: [styles.container, iconSize, selected && styles.selectedContainer, containerStyle],
|
|
52
|
+
onPress: onPress,
|
|
53
|
+
disabled: disabled || !onPress,
|
|
54
|
+
activeOpacity: 0.8,
|
|
55
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Image, {
|
|
56
|
+
source: brand.logo,
|
|
57
|
+
style: [{
|
|
58
|
+
width: size,
|
|
59
|
+
height: size,
|
|
60
|
+
borderRadius: size / 2
|
|
61
|
+
}, imageStyle],
|
|
62
|
+
resizeMode: "contain"
|
|
63
|
+
}), selected && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
64
|
+
style: [styles.selectionIndicator, indicatorSize, indicatorPosition, selectionIndicatorStyle],
|
|
65
|
+
children: selectionIndicatorIcon
|
|
66
|
+
})]
|
|
67
|
+
}), showName && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
68
|
+
style: [styles.name, {
|
|
69
|
+
width: iconSize.width
|
|
70
|
+
}, nameStyle],
|
|
71
|
+
children: brand.name
|
|
59
72
|
})]
|
|
60
73
|
});
|
|
61
74
|
};
|
|
62
|
-
|
|
63
|
-
// Function to create themed styles
|
|
64
75
|
const createStyles = theme => _reactNative.StyleSheet.create({
|
|
76
|
+
wrapper: {
|
|
77
|
+
alignItems: "center"
|
|
78
|
+
},
|
|
65
79
|
container: {
|
|
66
80
|
backgroundColor: theme.surface,
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
alignItems: 'center',
|
|
81
|
+
justifyContent: "center",
|
|
82
|
+
alignItems: "center",
|
|
70
83
|
borderWidth: 1,
|
|
71
84
|
borderColor: theme.border,
|
|
72
|
-
|
|
73
|
-
shadowColor: '#000000',
|
|
74
|
-
// Keep shadow black for now
|
|
85
|
+
shadowColor: "#000000",
|
|
75
86
|
shadowOffset: {
|
|
76
87
|
width: 0,
|
|
77
88
|
height: 2
|
|
@@ -82,23 +93,20 @@ const createStyles = theme => _reactNative.StyleSheet.create({
|
|
|
82
93
|
},
|
|
83
94
|
selectedContainer: {
|
|
84
95
|
borderColor: theme.primary,
|
|
85
|
-
|
|
86
|
-
borderWidth: 2 // Keep border width for selected state
|
|
96
|
+
borderWidth: 2
|
|
87
97
|
},
|
|
88
|
-
logo: {},
|
|
89
98
|
selectionIndicator: {
|
|
90
|
-
position:
|
|
99
|
+
position: "absolute",
|
|
91
100
|
backgroundColor: theme.primary,
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
alignItems: 'center',
|
|
101
|
+
justifyContent: "center",
|
|
102
|
+
alignItems: "center",
|
|
95
103
|
zIndex: 2
|
|
96
104
|
},
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
105
|
+
name: {
|
|
106
|
+
marginTop: 4,
|
|
107
|
+
color: theme.onSurface,
|
|
108
|
+
fontSize: 12,
|
|
109
|
+
textAlign: "center"
|
|
102
110
|
}
|
|
103
111
|
});
|
|
104
112
|
var _default = exports.default = BrandIcon;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_index","require","_react","_interopRequireDefault","_reactNative","_jsxRuntime","e","__esModule","default","BrandIcon","brand","size","selected","onPress","disabled","containerStyle","imageStyle","selectionIndicatorStyle","selectionIndicatorIcon","theme","useTheme","styles","createStyles","iconSize","width","height","borderRadius","
|
|
1
|
+
{"version":3,"names":["_index","require","_react","_interopRequireDefault","_reactNative","_jsxRuntime","e","__esModule","default","BrandIcon","brand","size","selected","showName","onPress","disabled","containerStyle","wrapperStyle","imageStyle","selectionIndicatorStyle","selectionIndicatorIcon","nameStyle","theme","useTheme","styles","createStyles","iconSize","width","height","borderRadius","indicatorSize","indicatorPosition","top","right","jsxs","View","style","wrapper","children","TouchableOpacity","container","selectedContainer","activeOpacity","jsx","Image","source","logo","resizeMode","selectionIndicator","Text","name","StyleSheet","create","alignItems","backgroundColor","surface","justifyContent","borderWidth","borderColor","border","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","primary","position","zIndex","marginTop","color","onSurface","fontSize","textAlign","_default","exports"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/BrandIcon/BrandIcon.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_index","require","_react","_interopRequireDefault","_reactNative","_jsxRuntime","e","__esModule","default","RedemptionOption","icon","text","orientation","backgroundColor","textColor","width","height","borderRadius","padding","fontSize","disabled","isActive","onPress","containerStyle","textStyle","iconContainerStyle","activeOpacityValue","isRTL","theme","rtl","useTheme","onSurface","dynamicContainerStyle","surface","borderWidth","borderColor","undefined","dynamicTextStyle","color","lineHeight","horizontalDirection","flexDirection","justifyContent","alignItems","jsxs","TouchableOpacity","style","styles","container","vertical","activeOpacity","accessibilityRole","accessibilityState","selected","children","jsx","View","iconContainer","marginLeft","marginRight","minHeight","Text","textVertical","numberOfLines","ellipsizeMode","adjustsFontSizeToFit","minimumFontScale","StyleSheet","create","horizontal","
|
|
1
|
+
{"version":3,"names":["_index","require","_react","_interopRequireDefault","_reactNative","_jsxRuntime","e","__esModule","default","RedemptionOption","icon","text","orientation","backgroundColor","textColor","width","height","borderRadius","padding","fontSize","disabled","isActive","onPress","containerStyle","textStyle","iconContainerStyle","activeOpacityValue","isRTL","theme","rtl","useTheme","onSurface","dynamicContainerStyle","surface","borderWidth","borderColor","undefined","dynamicTextStyle","color","lineHeight","horizontalDirection","flexDirection","justifyContent","alignItems","jsxs","TouchableOpacity","style","styles","container","vertical","activeOpacity","accessibilityRole","accessibilityState","selected","children","jsx","View","iconContainer","marginLeft","marginRight","minHeight","Text","textVertical","numberOfLines","ellipsizeMode","adjustsFontSizeToFit","minimumFontScale","StyleSheet","create","horizontal","iconHorizontal","marginBottom","fontWeight","textAlign","opacity","_default","exports"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/RedemptionOption/RedemptionOption.tsx"],"mappings":"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","ignoreList":[]}
|
package/lib/module/app.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import React, { useRef, useState } from "react";
|
|
4
|
-
import { StyleSheet
|
|
4
|
+
import { StyleSheet } from "react-native";
|
|
5
5
|
import { Ionicons } from "@expo/vector-icons";
|
|
6
6
|
import { RelatedProvider, useTheme } from "./theme/index.js";
|
|
7
|
-
import {
|
|
7
|
+
import { BrandIcon, RedemptionOption } from "./components/index.js";
|
|
8
8
|
import { SafeAreaView } from "react-native-safe-area-context";
|
|
9
9
|
import { GestureHandlerRootView } from "react-native-gesture-handler";
|
|
10
10
|
// import BRANDS from "./constants/BRANDS";
|
|
11
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
11
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
12
12
|
export default function App() {
|
|
13
13
|
const {
|
|
14
14
|
theme
|
|
@@ -104,38 +104,44 @@ export default function App() {
|
|
|
104
104
|
const debounceTimerRef = useRef(null);
|
|
105
105
|
return /*#__PURE__*/_jsx(GestureHandlerRootView, {
|
|
106
106
|
children: /*#__PURE__*/_jsx(RelatedProvider, {
|
|
107
|
-
children: /*#__PURE__*/
|
|
107
|
+
children: /*#__PURE__*/_jsxs(SafeAreaView, {
|
|
108
108
|
style: {
|
|
109
109
|
padding: 10,
|
|
110
110
|
flex: 1,
|
|
111
111
|
backgroundColor: theme.background
|
|
112
112
|
},
|
|
113
|
-
children: /*#__PURE__*/_jsx(
|
|
114
|
-
|
|
115
|
-
buttonText: "Redeem Now",
|
|
116
|
-
onButtonPress: () => Alert.alert("Button pressed"),
|
|
117
|
-
onBannerPress: () => Alert.alert("Banner pressed"),
|
|
118
|
-
height: 200,
|
|
119
|
-
contentAlignment: "bottom",
|
|
120
|
-
contentContainerStyle: {
|
|
121
|
-
borderRadius: 50,
|
|
122
|
-
backgroundColor: "red"
|
|
123
|
-
},
|
|
113
|
+
children: [/*#__PURE__*/_jsx(RedemptionOption, {
|
|
114
|
+
padding: 0,
|
|
124
115
|
containerStyle: {
|
|
125
|
-
borderRadius:
|
|
126
|
-
|
|
127
|
-
},
|
|
128
|
-
backgroundImageStyle: {
|
|
129
|
-
borderRadius: 50,
|
|
130
|
-
backgroundColor: "red"
|
|
116
|
+
borderRadius: 10,
|
|
117
|
+
alignItems: "center"
|
|
131
118
|
},
|
|
132
119
|
icon: /*#__PURE__*/_jsx(Ionicons, {
|
|
133
|
-
name: "
|
|
134
|
-
size:
|
|
135
|
-
color: "#FFFFFF"
|
|
120
|
+
name: "briefcase",
|
|
121
|
+
size: 30
|
|
136
122
|
}),
|
|
137
|
-
|
|
138
|
-
|
|
123
|
+
iconContainerStyle: {
|
|
124
|
+
backgroundColor: theme.background,
|
|
125
|
+
width: 30,
|
|
126
|
+
height: 30,
|
|
127
|
+
borderRadius: 30,
|
|
128
|
+
padding: 25
|
|
129
|
+
},
|
|
130
|
+
textStyle: {
|
|
131
|
+
fontSize: 15,
|
|
132
|
+
fontWeight: "500"
|
|
133
|
+
},
|
|
134
|
+
text: "Deals",
|
|
135
|
+
orientation: "horizontal"
|
|
136
|
+
}), /*#__PURE__*/_jsx(BrandIcon, {
|
|
137
|
+
showName: true,
|
|
138
|
+
size: 50,
|
|
139
|
+
brand: {
|
|
140
|
+
id: "1",
|
|
141
|
+
logo: require("@/assets/images/pb-logo.jpg"),
|
|
142
|
+
name: "Pull and Bear"
|
|
143
|
+
}
|
|
144
|
+
})]
|
|
139
145
|
})
|
|
140
146
|
})
|
|
141
147
|
});
|
package/lib/module/app.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useRef","useState","StyleSheet","
|
|
1
|
+
{"version":3,"names":["React","useRef","useState","StyleSheet","Ionicons","RelatedProvider","useTheme","BrandIcon","RedemptionOption","SafeAreaView","GestureHandlerRootView","jsx","_jsx","jsxs","_jsxs","App","theme","filtersVisible","setFiltersVisible","mode","setMode","sortOptions","id","name","value","iconSize","iconColor","onSurface","redemptionOption","icon","size","color","key","orientation","width","redemptionOptions","map","item","text","debounceTimerRef","children","style","padding","flex","backgroundColor","background","containerStyle","borderRadius","alignItems","iconContainerStyle","height","textStyle","fontSize","fontWeight","showName","brand","logo","require","styles","create","container","testButton","paddingVertical","paddingHorizontal","marginBottom","buttonText","textAlign"],"sourceRoot":"..\\..\\src","sources":["app.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,35 +1,36 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { useTheme } from "../../theme/index.js";
|
|
4
|
-
import React from
|
|
5
|
-
import { View, Image, TouchableOpacity, StyleSheet } from
|
|
4
|
+
import React from "react";
|
|
5
|
+
import { View, Image, TouchableOpacity, StyleSheet, Text } from "react-native";
|
|
6
6
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
7
7
|
const BrandIcon = ({
|
|
8
8
|
brand,
|
|
9
9
|
size = 66,
|
|
10
10
|
selected = false,
|
|
11
|
+
showName = false,
|
|
11
12
|
onPress,
|
|
12
13
|
disabled = false,
|
|
13
14
|
containerStyle,
|
|
15
|
+
wrapperStyle,
|
|
14
16
|
imageStyle,
|
|
15
17
|
selectionIndicatorStyle,
|
|
16
|
-
selectionIndicatorIcon
|
|
18
|
+
selectionIndicatorIcon,
|
|
19
|
+
nameStyle
|
|
17
20
|
}) => {
|
|
18
21
|
const {
|
|
19
22
|
theme
|
|
20
23
|
} = useTheme();
|
|
21
|
-
const styles = createStyles(theme);
|
|
24
|
+
const styles = createStyles(theme);
|
|
22
25
|
|
|
26
|
+
// fixed circle dimensions
|
|
23
27
|
const iconSize = {
|
|
24
28
|
width: size,
|
|
25
29
|
height: size,
|
|
26
30
|
borderRadius: size / 2
|
|
27
31
|
};
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
height: size,
|
|
31
|
-
borderRadius: size / 2
|
|
32
|
-
};
|
|
32
|
+
|
|
33
|
+
// size for the check indicator
|
|
33
34
|
const indicatorSize = {
|
|
34
35
|
width: size * 0.3,
|
|
35
36
|
height: size * 0.3,
|
|
@@ -39,34 +40,44 @@ const BrandIcon = ({
|
|
|
39
40
|
top: -5,
|
|
40
41
|
right: 0
|
|
41
42
|
};
|
|
42
|
-
return /*#__PURE__*/_jsxs(
|
|
43
|
-
style: [styles.
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
43
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
44
|
+
style: [styles.wrapper, wrapperStyle],
|
|
45
|
+
children: [/*#__PURE__*/_jsxs(TouchableOpacity, {
|
|
46
|
+
style: [styles.container, iconSize, selected && styles.selectedContainer, containerStyle],
|
|
47
|
+
onPress: onPress,
|
|
48
|
+
disabled: disabled || !onPress,
|
|
49
|
+
activeOpacity: 0.8,
|
|
50
|
+
children: [/*#__PURE__*/_jsx(Image, {
|
|
51
|
+
source: brand.logo,
|
|
52
|
+
style: [{
|
|
53
|
+
width: size,
|
|
54
|
+
height: size,
|
|
55
|
+
borderRadius: size / 2
|
|
56
|
+
}, imageStyle],
|
|
57
|
+
resizeMode: "contain"
|
|
58
|
+
}), selected && /*#__PURE__*/_jsx(View, {
|
|
59
|
+
style: [styles.selectionIndicator, indicatorSize, indicatorPosition, selectionIndicatorStyle],
|
|
60
|
+
children: selectionIndicatorIcon
|
|
61
|
+
})]
|
|
62
|
+
}), showName && /*#__PURE__*/_jsx(Text, {
|
|
63
|
+
style: [styles.name, {
|
|
64
|
+
width: iconSize.width
|
|
65
|
+
}, nameStyle],
|
|
66
|
+
children: brand.name
|
|
54
67
|
})]
|
|
55
68
|
});
|
|
56
69
|
};
|
|
57
|
-
|
|
58
|
-
// Function to create themed styles
|
|
59
70
|
const createStyles = theme => StyleSheet.create({
|
|
71
|
+
wrapper: {
|
|
72
|
+
alignItems: "center"
|
|
73
|
+
},
|
|
60
74
|
container: {
|
|
61
75
|
backgroundColor: theme.surface,
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
alignItems: 'center',
|
|
76
|
+
justifyContent: "center",
|
|
77
|
+
alignItems: "center",
|
|
65
78
|
borderWidth: 1,
|
|
66
79
|
borderColor: theme.border,
|
|
67
|
-
|
|
68
|
-
shadowColor: '#000000',
|
|
69
|
-
// Keep shadow black for now
|
|
80
|
+
shadowColor: "#000000",
|
|
70
81
|
shadowOffset: {
|
|
71
82
|
width: 0,
|
|
72
83
|
height: 2
|
|
@@ -77,23 +88,20 @@ const createStyles = theme => StyleSheet.create({
|
|
|
77
88
|
},
|
|
78
89
|
selectedContainer: {
|
|
79
90
|
borderColor: theme.primary,
|
|
80
|
-
|
|
81
|
-
borderWidth: 2 // Keep border width for selected state
|
|
91
|
+
borderWidth: 2
|
|
82
92
|
},
|
|
83
|
-
logo: {},
|
|
84
93
|
selectionIndicator: {
|
|
85
|
-
position:
|
|
94
|
+
position: "absolute",
|
|
86
95
|
backgroundColor: theme.primary,
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
alignItems: 'center',
|
|
96
|
+
justifyContent: "center",
|
|
97
|
+
alignItems: "center",
|
|
90
98
|
zIndex: 2
|
|
91
99
|
},
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
100
|
+
name: {
|
|
101
|
+
marginTop: 4,
|
|
102
|
+
color: theme.onSurface,
|
|
103
|
+
fontSize: 12,
|
|
104
|
+
textAlign: "center"
|
|
97
105
|
}
|
|
98
106
|
});
|
|
99
107
|
export default BrandIcon;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useTheme","React","View","Image","TouchableOpacity","StyleSheet","jsx","_jsx","jsxs","_jsxs","BrandIcon","brand","size","selected","onPress","disabled","containerStyle","imageStyle","selectionIndicatorStyle","selectionIndicatorIcon","theme","styles","createStyles","iconSize","width","height","borderRadius","
|
|
1
|
+
{"version":3,"names":["useTheme","React","View","Image","TouchableOpacity","StyleSheet","Text","jsx","_jsx","jsxs","_jsxs","BrandIcon","brand","size","selected","showName","onPress","disabled","containerStyle","wrapperStyle","imageStyle","selectionIndicatorStyle","selectionIndicatorIcon","nameStyle","theme","styles","createStyles","iconSize","width","height","borderRadius","indicatorSize","indicatorPosition","top","right","style","wrapper","children","container","selectedContainer","activeOpacity","source","logo","resizeMode","selectionIndicator","name","create","alignItems","backgroundColor","surface","justifyContent","borderWidth","borderColor","border","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","primary","position","zIndex","marginTop","color","onSurface","fontSize","textAlign"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/BrandIcon/BrandIcon.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useTheme","React","TouchableOpacity","Text","View","StyleSheet","jsx","_jsx","jsxs","_jsxs","RedemptionOption","icon","text","orientation","backgroundColor","textColor","width","height","borderRadius","padding","fontSize","disabled","isActive","onPress","containerStyle","textStyle","iconContainerStyle","activeOpacityValue","isRTL","theme","rtl","onSurface","dynamicContainerStyle","surface","borderWidth","borderColor","undefined","dynamicTextStyle","color","lineHeight","horizontalDirection","flexDirection","justifyContent","alignItems","style","styles","container","vertical","activeOpacity","accessibilityRole","accessibilityState","selected","children","iconContainer","marginLeft","marginRight","minHeight","textVertical","numberOfLines","ellipsizeMode","adjustsFontSizeToFit","minimumFontScale","create","horizontal","
|
|
1
|
+
{"version":3,"names":["useTheme","React","TouchableOpacity","Text","View","StyleSheet","jsx","_jsx","jsxs","_jsxs","RedemptionOption","icon","text","orientation","backgroundColor","textColor","width","height","borderRadius","padding","fontSize","disabled","isActive","onPress","containerStyle","textStyle","iconContainerStyle","activeOpacityValue","isRTL","theme","rtl","onSurface","dynamicContainerStyle","surface","borderWidth","borderColor","undefined","dynamicTextStyle","color","lineHeight","horizontalDirection","flexDirection","justifyContent","alignItems","style","styles","container","vertical","activeOpacity","accessibilityRole","accessibilityState","selected","children","iconContainer","marginLeft","marginRight","minHeight","textVertical","numberOfLines","ellipsizeMode","adjustsFontSizeToFit","minimumFontScale","create","horizontal","iconHorizontal","marginBottom","fontWeight","textAlign","opacity"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/RedemptionOption/RedemptionOption.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../../src/app.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2B,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../../src/app.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2B,MAAM,OAAO,CAAC;AAqChD,MAAM,CAAC,OAAO,UAAU,GAAG,sBAqJ1B"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import React from
|
|
2
|
-
import { StyleProp, ViewStyle, ImageSourcePropType, ImageStyle } from
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { StyleProp, ViewStyle, ImageSourcePropType, ImageStyle, TextStyle } from "react-native";
|
|
3
3
|
interface BrandIconProps {
|
|
4
4
|
brand: {
|
|
5
5
|
id: string;
|
|
@@ -8,9 +8,12 @@ interface BrandIconProps {
|
|
|
8
8
|
};
|
|
9
9
|
size?: number;
|
|
10
10
|
selected?: boolean;
|
|
11
|
+
showName?: boolean;
|
|
11
12
|
onPress?: () => void;
|
|
12
13
|
disabled?: boolean;
|
|
13
14
|
containerStyle?: StyleProp<ViewStyle>;
|
|
15
|
+
wrapperStyle?: StyleProp<ViewStyle>;
|
|
16
|
+
nameStyle?: TextStyle;
|
|
14
17
|
imageStyle?: StyleProp<ImageStyle>;
|
|
15
18
|
selectionIndicatorStyle?: StyleProp<ViewStyle>;
|
|
16
19
|
selectionIndicatorIcon?: React.ReactNode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BrandIcon.d.ts","sourceRoot":"","sources":["../../../../../src/components/BrandIcon/BrandIcon.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAKL,SAAS,EACT,SAAS,EACT,mBAAmB,EACnB,UAAU,
|
|
1
|
+
{"version":3,"file":"BrandIcon.d.ts","sourceRoot":"","sources":["../../../../../src/components/BrandIcon/BrandIcon.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAKL,SAAS,EACT,SAAS,EACT,mBAAmB,EACnB,UAAU,EAEV,SAAS,EACV,MAAM,cAAc,CAAC;AAEtB,UAAU,cAAc;IACtB,KAAK,EAAE;QACL,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,mBAAmB,CAAC;QAC1B,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,cAAc,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAEtC,YAAY,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACpC,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,UAAU,CAAC,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;IACnC,uBAAuB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC/C,sBAAsB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC1C;AAED,QAAA,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAwEvC,CAAC;AAsCF,eAAe,SAAS,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../../src/app.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2B,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../../src/app.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2B,MAAM,OAAO,CAAC;AAqChD,MAAM,CAAC,OAAO,UAAU,GAAG,sBAqJ1B"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import React from
|
|
2
|
-
import { StyleProp, ViewStyle, ImageSourcePropType, ImageStyle } from
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { StyleProp, ViewStyle, ImageSourcePropType, ImageStyle, TextStyle } from "react-native";
|
|
3
3
|
interface BrandIconProps {
|
|
4
4
|
brand: {
|
|
5
5
|
id: string;
|
|
@@ -8,9 +8,12 @@ interface BrandIconProps {
|
|
|
8
8
|
};
|
|
9
9
|
size?: number;
|
|
10
10
|
selected?: boolean;
|
|
11
|
+
showName?: boolean;
|
|
11
12
|
onPress?: () => void;
|
|
12
13
|
disabled?: boolean;
|
|
13
14
|
containerStyle?: StyleProp<ViewStyle>;
|
|
15
|
+
wrapperStyle?: StyleProp<ViewStyle>;
|
|
16
|
+
nameStyle?: TextStyle;
|
|
14
17
|
imageStyle?: StyleProp<ImageStyle>;
|
|
15
18
|
selectionIndicatorStyle?: StyleProp<ViewStyle>;
|
|
16
19
|
selectionIndicatorIcon?: React.ReactNode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BrandIcon.d.ts","sourceRoot":"","sources":["../../../../../src/components/BrandIcon/BrandIcon.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAKL,SAAS,EACT,SAAS,EACT,mBAAmB,EACnB,UAAU,
|
|
1
|
+
{"version":3,"file":"BrandIcon.d.ts","sourceRoot":"","sources":["../../../../../src/components/BrandIcon/BrandIcon.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAKL,SAAS,EACT,SAAS,EACT,mBAAmB,EACnB,UAAU,EAEV,SAAS,EACV,MAAM,cAAc,CAAC;AAEtB,UAAU,cAAc;IACtB,KAAK,EAAE;QACL,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,mBAAmB,CAAC;QAC1B,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,cAAc,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAEtC,YAAY,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACpC,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,UAAU,CAAC,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;IACnC,uBAAuB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC/C,sBAAsB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC1C;AAED,QAAA,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAwEvC,CAAC;AAsCF,eAAe,SAAS,CAAC"}
|
package/package.json
CHANGED
package/src/app.tsx
CHANGED
|
@@ -12,6 +12,7 @@ import { Ionicons } from "@expo/vector-icons";
|
|
|
12
12
|
import { RelatedProvider, useTheme } from "./theme";
|
|
13
13
|
import {
|
|
14
14
|
Banner,
|
|
15
|
+
BrandIcon,
|
|
15
16
|
Filters,
|
|
16
17
|
Popup,
|
|
17
18
|
RedemptionOption,
|
|
@@ -130,7 +131,7 @@ export default function App() {
|
|
|
130
131
|
// }}
|
|
131
132
|
></TravelBooking> */}
|
|
132
133
|
{/* </ScrollView> */}
|
|
133
|
-
<Banner
|
|
134
|
+
{/* <Banner
|
|
134
135
|
backgroundImage={require("@/assets/images/namshi-banner.png")}
|
|
135
136
|
buttonText="Redeem Now"
|
|
136
137
|
onButtonPress={() => Alert.alert("Button pressed")}
|
|
@@ -142,7 +143,7 @@ export default function App() {
|
|
|
142
143
|
backgroundImageStyle={{borderRadius: 50, backgroundColor:"red"}}
|
|
143
144
|
icon={<Ionicons name="gift-outline" size={20} color="#FFFFFF" />}
|
|
144
145
|
iconPosition="left"
|
|
145
|
-
/>
|
|
146
|
+
/> */}
|
|
146
147
|
{/* <Popup
|
|
147
148
|
visible={true}
|
|
148
149
|
onClose={()=>{} }
|
|
@@ -156,6 +157,28 @@ export default function App() {
|
|
|
156
157
|
onSecondaryButtonPress={()=>{}}
|
|
157
158
|
isRTL={true}
|
|
158
159
|
/> */}
|
|
160
|
+
<RedemptionOption
|
|
161
|
+
padding={0}
|
|
162
|
+
containerStyle={{ borderRadius: 10, alignItems: "center" }}
|
|
163
|
+
icon={
|
|
164
|
+
<Ionicons name="briefcase" size={30}></Ionicons>
|
|
165
|
+
}
|
|
166
|
+
iconContainerStyle={{
|
|
167
|
+
backgroundColor: theme.background,
|
|
168
|
+
width: 30,
|
|
169
|
+
height: 30,
|
|
170
|
+
borderRadius: 30,
|
|
171
|
+
padding: 25,
|
|
172
|
+
}}
|
|
173
|
+
textStyle={{fontSize: 15, fontWeight: "500"}}
|
|
174
|
+
text="Deals"
|
|
175
|
+
orientation="horizontal"
|
|
176
|
+
/>
|
|
177
|
+
<BrandIcon showName size={50} brand={{
|
|
178
|
+
id: "1",
|
|
179
|
+
logo: require("@/assets/images/pb-logo.jpg"),
|
|
180
|
+
name: "Pull and Bear"
|
|
181
|
+
}}></BrandIcon>
|
|
159
182
|
</SafeAreaView>
|
|
160
183
|
{/* </View> */}
|
|
161
184
|
</RelatedProvider>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { useTheme, ThemeType } from "../../theme";
|
|
2
|
-
import React from
|
|
2
|
+
import React from "react";
|
|
3
3
|
import {
|
|
4
4
|
View,
|
|
5
5
|
Image,
|
|
@@ -9,7 +9,9 @@ import {
|
|
|
9
9
|
ViewStyle,
|
|
10
10
|
ImageSourcePropType,
|
|
11
11
|
ImageStyle,
|
|
12
|
-
|
|
12
|
+
Text,
|
|
13
|
+
TextStyle,
|
|
14
|
+
} from "react-native";
|
|
13
15
|
|
|
14
16
|
interface BrandIconProps {
|
|
15
17
|
brand: {
|
|
@@ -19,40 +21,44 @@ interface BrandIconProps {
|
|
|
19
21
|
};
|
|
20
22
|
size?: number;
|
|
21
23
|
selected?: boolean;
|
|
24
|
+
showName?: boolean;
|
|
22
25
|
onPress?: () => void;
|
|
23
26
|
disabled?: boolean;
|
|
27
|
+
// styles for the circular button
|
|
24
28
|
containerStyle?: StyleProp<ViewStyle>;
|
|
29
|
+
// styles for the outer wrapper (align center + name)
|
|
30
|
+
wrapperStyle?: StyleProp<ViewStyle>;
|
|
31
|
+
nameStyle?: TextStyle;
|
|
25
32
|
imageStyle?: StyleProp<ImageStyle>;
|
|
26
33
|
selectionIndicatorStyle?: StyleProp<ViewStyle>;
|
|
27
|
-
selectionIndicatorIcon?: React.ReactNode
|
|
34
|
+
selectionIndicatorIcon?: React.ReactNode;
|
|
28
35
|
}
|
|
29
36
|
|
|
30
37
|
const BrandIcon: React.FC<BrandIconProps> = ({
|
|
31
38
|
brand,
|
|
32
39
|
size = 66,
|
|
33
40
|
selected = false,
|
|
41
|
+
showName = false,
|
|
34
42
|
onPress,
|
|
35
43
|
disabled = false,
|
|
36
44
|
containerStyle,
|
|
45
|
+
wrapperStyle,
|
|
37
46
|
imageStyle,
|
|
38
47
|
selectionIndicatorStyle,
|
|
39
|
-
selectionIndicatorIcon
|
|
48
|
+
selectionIndicatorIcon,
|
|
49
|
+
nameStyle
|
|
40
50
|
}) => {
|
|
41
|
-
const {theme} = useTheme();
|
|
42
|
-
const styles = createStyles(theme);
|
|
51
|
+
const { theme } = useTheme();
|
|
52
|
+
const styles = createStyles(theme);
|
|
43
53
|
|
|
54
|
+
// fixed circle dimensions
|
|
44
55
|
const iconSize = {
|
|
45
56
|
width: size,
|
|
46
57
|
height: size,
|
|
47
58
|
borderRadius: size / 2,
|
|
48
59
|
};
|
|
49
60
|
|
|
50
|
-
|
|
51
|
-
width: size,
|
|
52
|
-
height: size,
|
|
53
|
-
borderRadius: size / 2,
|
|
54
|
-
};
|
|
55
|
-
|
|
61
|
+
// size for the check indicator
|
|
56
62
|
const indicatorSize = {
|
|
57
63
|
width: size * 0.3,
|
|
58
64
|
height: size * 0.3,
|
|
@@ -65,70 +71,77 @@ const BrandIcon: React.FC<BrandIconProps> = ({
|
|
|
65
71
|
};
|
|
66
72
|
|
|
67
73
|
return (
|
|
68
|
-
<
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
74
|
+
<View style={[styles.wrapper, wrapperStyle]}>
|
|
75
|
+
<TouchableOpacity
|
|
76
|
+
style={[
|
|
77
|
+
styles.container,
|
|
78
|
+
iconSize,
|
|
79
|
+
selected && styles.selectedContainer,
|
|
80
|
+
containerStyle,
|
|
81
|
+
]}
|
|
82
|
+
onPress={onPress}
|
|
83
|
+
disabled={disabled || !onPress}
|
|
84
|
+
activeOpacity={0.8}
|
|
85
|
+
>
|
|
86
|
+
<Image
|
|
87
|
+
source={brand.logo}
|
|
88
|
+
style={[{ width: size, height: size, borderRadius: size / 2 }, imageStyle]}
|
|
89
|
+
resizeMode="contain"
|
|
90
|
+
/>
|
|
84
91
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
92
|
+
{selected && (
|
|
93
|
+
<View
|
|
94
|
+
style={[
|
|
95
|
+
styles.selectionIndicator,
|
|
96
|
+
indicatorSize,
|
|
97
|
+
indicatorPosition,
|
|
98
|
+
selectionIndicatorStyle,
|
|
99
|
+
]}
|
|
100
|
+
>
|
|
94
101
|
{selectionIndicatorIcon}
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
102
|
+
</View>
|
|
103
|
+
)}
|
|
104
|
+
</TouchableOpacity>
|
|
105
|
+
|
|
106
|
+
{showName && <Text style={[styles.name, {width: iconSize.width}, nameStyle]}>{brand.name}</Text>}
|
|
107
|
+
</View>
|
|
98
108
|
);
|
|
99
109
|
};
|
|
100
110
|
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
111
|
+
const createStyles = (theme: ThemeType) =>
|
|
112
|
+
StyleSheet.create({
|
|
113
|
+
wrapper: {
|
|
114
|
+
alignItems: "center",
|
|
115
|
+
},
|
|
116
|
+
container: {
|
|
117
|
+
backgroundColor: theme.surface,
|
|
118
|
+
justifyContent: "center",
|
|
119
|
+
alignItems: "center",
|
|
120
|
+
borderWidth: 1,
|
|
121
|
+
borderColor: theme.border,
|
|
122
|
+
shadowColor: "#000000",
|
|
123
|
+
shadowOffset: { width: 0, height: 2 },
|
|
124
|
+
shadowOpacity: 0.1,
|
|
125
|
+
shadowRadius: 2,
|
|
126
|
+
elevation: 2,
|
|
127
|
+
},
|
|
128
|
+
selectedContainer: {
|
|
129
|
+
borderColor: theme.primary,
|
|
130
|
+
borderWidth: 2,
|
|
131
|
+
},
|
|
132
|
+
selectionIndicator: {
|
|
133
|
+
position: "absolute",
|
|
134
|
+
backgroundColor: theme.primary,
|
|
135
|
+
justifyContent: "center",
|
|
136
|
+
alignItems: "center",
|
|
137
|
+
zIndex: 2,
|
|
138
|
+
},
|
|
139
|
+
name: {
|
|
140
|
+
marginTop: 4,
|
|
141
|
+
color: theme.onSurface,
|
|
142
|
+
fontSize: 12,
|
|
143
|
+
textAlign: "center",
|
|
144
|
+
},
|
|
145
|
+
});
|
|
133
146
|
|
|
134
147
|
export default BrandIcon;
|