rn-vs-lb 1.0.22 → 1.0.23
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/dist/components/bottomsheet/PostOptionSheet copy.js +78 -0
- package/dist/components/bottomsheet/PostOptionSheet.js +116 -0
- package/dist/components/buttons/Button.js +61 -0
- package/dist/components/buttons/PostButton.js +36 -0
- package/dist/components/buttons/index.js +10 -0
- package/dist/components/eventCard/Tag.js +36 -0
- package/dist/components/eventCard/index.js +12 -0
- package/dist/components/eventCard/vsCard/EventCard.js +76 -0
- package/dist/components/eventCard/vsCard/Footer.js +77 -0
- package/dist/components/eventCard/vsCard/OrganizerContainer.js +51 -0
- package/dist/components/footer/Footer.js +121 -0
- package/dist/components/footer/index.js +5 -0
- package/dist/components/header/homeHeader.js +25 -0
- package/dist/components/header/index.js +5 -0
- package/dist/components/index.js +22 -0
- package/dist/components/listItem/index.js +8 -0
- package/dist/components/listItem/listItem.js +50 -0
- package/dist/components/profile/ProfileCard.js +58 -0
- package/dist/components/profile/index.js +10 -0
- package/dist/components/profile/meetProfileCard.js +78 -0
- package/dist/constants/styleSheet.js +256 -0
- package/dist/constants/theme.js +216 -0
- package/dist/constants/themeContext.js +5 -0
- package/dist/form/AutoComplete.js +159 -0
- package/dist/form/DatePicker.js +86 -0
- package/dist/form/ImageUploader.js +181 -0
- package/dist/form/MultiSelect.js +85 -0
- package/dist/form/PasswordInput.js +61 -0
- package/dist/form/Select.js +53 -0
- package/dist/form/TextArea.js +56 -0
- package/dist/form/TextInput.js +38 -0
- package/dist/form/commonFormStyles.js +30 -0
- package/dist/form/index.js +20 -0
- package/dist/index.js +18 -0
- package/dist/types/components/bottomsheet/PostOptionSheet copy.d.ts +8 -0
- package/dist/types/components/bottomsheet/PostOptionSheet.d.ts +8 -0
- package/dist/types/components/buttons/Button.d.ts +10 -0
- package/dist/types/components/buttons/PostButton.d.ts +10 -0
- package/dist/types/components/buttons/index.d.ts +2 -0
- package/dist/types/components/eventCard/Tag.d.ts +8 -0
- package/dist/types/components/eventCard/index.d.ts +3 -0
- package/dist/types/components/eventCard/vsCard/EventCard.d.ts +20 -0
- package/dist/types/components/eventCard/vsCard/Footer.d.ts +9 -0
- package/dist/types/components/eventCard/vsCard/OrganizerContainer.d.ts +8 -0
- package/dist/types/components/footer/Footer.d.ts +2 -0
- package/dist/types/components/footer/index.d.ts +1 -0
- package/dist/types/components/header/homeHeader.d.ts +6 -0
- package/dist/types/components/header/index.d.ts +1 -0
- package/dist/types/components/index.d.ts +6 -0
- package/dist/types/components/listItem/index.d.ts +1 -0
- package/dist/types/components/listItem/listItem.d.ts +10 -0
- package/dist/types/components/profile/ProfileCard.d.ts +10 -0
- package/dist/types/components/profile/index.d.ts +2 -0
- package/dist/types/components/profile/meetProfileCard.d.ts +12 -0
- package/dist/types/constants/styleSheet.d.ts +309 -0
- package/dist/types/constants/theme.d.ts +481 -0
- package/dist/types/constants/themeContext.d.ts +3 -0
- package/dist/types/form/AutoComplete.d.ts +13 -0
- package/dist/types/form/DatePicker.d.ts +14 -0
- package/dist/types/form/ImageUploader.d.ts +14 -0
- package/dist/types/form/MultiSelect.d.ts +18 -0
- package/dist/types/form/PasswordInput.d.ts +10 -0
- package/dist/types/form/Select.d.ts +19 -0
- package/dist/types/form/TextArea.d.ts +17 -0
- package/dist/types/form/TextInput.d.ts +17 -0
- package/dist/types/form/commonFormStyles.d.ts +26 -0
- package/dist/types/form/index.d.ts +8 -0
- package/dist/types/index.d.ts +2 -0
- package/dist/types/utils/formatDate.d.ts +1 -0
- package/dist/types/utils/index.d.ts +2 -0
- package/dist/utils/formatDate.js +15 -0
- package/dist/utils/index.js +5 -0
- package/package.json +1 -1
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
16
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
17
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
18
|
+
}
|
|
19
|
+
Object.defineProperty(o, k2, desc);
|
|
20
|
+
}) : (function(o, m, k, k2) {
|
|
21
|
+
if (k2 === undefined) k2 = k;
|
|
22
|
+
o[k2] = m[k];
|
|
23
|
+
}));
|
|
24
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
25
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
26
|
+
}) : function(o, v) {
|
|
27
|
+
o["default"] = v;
|
|
28
|
+
});
|
|
29
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
30
|
+
if (mod && mod.__esModule) return mod;
|
|
31
|
+
var result = {};
|
|
32
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
33
|
+
__setModuleDefault(result, mod);
|
|
34
|
+
return result;
|
|
35
|
+
};
|
|
36
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
37
|
+
var react_1 = __importStar(require("react"));
|
|
38
|
+
var react_native_1 = require("react-native");
|
|
39
|
+
var bottom_sheet_1 = __importStar(require("@gorhom/bottom-sheet"));
|
|
40
|
+
var styleSheet_1 = require("../../constants/styleSheet");
|
|
41
|
+
var theme_1 = require("../../constants/theme");
|
|
42
|
+
var PostOptionSheet = function (_a) {
|
|
43
|
+
var sheetRef = _a.sheetRef, onClose = _a.onClose;
|
|
44
|
+
var screenHeight = react_native_1.Dimensions.get("window").height;
|
|
45
|
+
// Вычисляем snapPoints с минимальным значением 10% для первого рендера
|
|
46
|
+
var snapPoints = (0, react_1.useMemo)(function () {
|
|
47
|
+
var percentage = (180 / screenHeight) * 100;
|
|
48
|
+
// const percentage = 100;
|
|
49
|
+
return ["".concat(Math.max(percentage, 10), "%")];
|
|
50
|
+
}, [screenHeight]);
|
|
51
|
+
return (
|
|
52
|
+
// <GestureHandlerRootView style={styles.container}>
|
|
53
|
+
react_1.default.createElement(bottom_sheet_1.default, { ref: sheetRef, index: -1, snapPoints: snapPoints, enableDynamicSizing: false, enablePanDownToClose: true, onClose: onClose, handleStyle: { top: 0 }, handleIndicatorStyle: { backgroundColor: theme_1.COLORS.border, width: 92 }, backgroundStyle: { backgroundColor: theme_1.COLORS.card }, backdropComponent: function (props) { return (react_1.default.createElement(bottom_sheet_1.BottomSheetBackdrop, __assign({}, props, { disappearsOnIndex: -1, onPress: onClose }))); } },
|
|
54
|
+
react_1.default.createElement(react_native_1.View, { style: styleSheet_1.GlobalStyleSheet.container },
|
|
55
|
+
react_1.default.createElement(react_native_1.TouchableOpacity, { style: styleSheet_1.GlobalStyleSheet.TouchableOpacity },
|
|
56
|
+
react_1.default.createElement(react_native_1.Image, { style: styleSheet_1.GlobalStyleSheet.image, source: theme_1.IMAGES.info }),
|
|
57
|
+
react_1.default.createElement(react_native_1.Text, { style: styleSheet_1.GlobalStyleSheet.text }, "Report")),
|
|
58
|
+
react_1.default.createElement(react_native_1.TouchableOpacity, { style: styleSheet_1.GlobalStyleSheet.TouchableOpacity },
|
|
59
|
+
react_1.default.createElement(react_native_1.Image, { style: [styleSheet_1.GlobalStyleSheet.image, { tintColor: theme_1.COLORS.title }], source: theme_1.IMAGES.share2 }),
|
|
60
|
+
react_1.default.createElement(react_native_1.Text, { style: [styleSheet_1.GlobalStyleSheet.text, { color: theme_1.COLORS.title }] }, "Share")),
|
|
61
|
+
react_1.default.createElement(react_native_1.TouchableOpacity, { style: styleSheet_1.GlobalStyleSheet.TouchableOpacity },
|
|
62
|
+
react_1.default.createElement(react_native_1.Image, { style: [styleSheet_1.GlobalStyleSheet.image, { tintColor: theme_1.COLORS.title }], source: theme_1.IMAGES.copylink }),
|
|
63
|
+
react_1.default.createElement(react_native_1.Text, { style: [styleSheet_1.GlobalStyleSheet.text, { color: theme_1.COLORS.title }] }, "Copy link")),
|
|
64
|
+
react_1.default.createElement(react_native_1.TouchableOpacity, { style: styleSheet_1.GlobalStyleSheet.TouchableOpacity },
|
|
65
|
+
react_1.default.createElement(react_native_1.Image, { style: [styleSheet_1.GlobalStyleSheet.image, { tintColor: theme_1.COLORS.title }], source: theme_1.IMAGES.close }),
|
|
66
|
+
react_1.default.createElement(react_native_1.Text, { style: [styleSheet_1.GlobalStyleSheet.text, { color: theme_1.COLORS.title }] }, "Hide post"))))
|
|
67
|
+
// </GestureHandlerRootView>
|
|
68
|
+
);
|
|
69
|
+
};
|
|
70
|
+
var styles = react_native_1.StyleSheet.create({
|
|
71
|
+
container: {
|
|
72
|
+
flex: 1,
|
|
73
|
+
},
|
|
74
|
+
bottomSheetBack: {
|
|
75
|
+
top: -1000,
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
exports.default = PostOptionSheet;
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
16
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
17
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
18
|
+
}
|
|
19
|
+
Object.defineProperty(o, k2, desc);
|
|
20
|
+
}) : (function(o, m, k, k2) {
|
|
21
|
+
if (k2 === undefined) k2 = k;
|
|
22
|
+
o[k2] = m[k];
|
|
23
|
+
}));
|
|
24
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
25
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
26
|
+
}) : function(o, v) {
|
|
27
|
+
o["default"] = v;
|
|
28
|
+
});
|
|
29
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
30
|
+
if (mod && mod.__esModule) return mod;
|
|
31
|
+
var result = {};
|
|
32
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
33
|
+
__setModuleDefault(result, mod);
|
|
34
|
+
return result;
|
|
35
|
+
};
|
|
36
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
37
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
38
|
+
};
|
|
39
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
40
|
+
var react_1 = __importDefault(require("react"));
|
|
41
|
+
var react_native_1 = require("react-native");
|
|
42
|
+
var bottom_sheet_1 = __importStar(require("@gorhom/bottom-sheet"));
|
|
43
|
+
var theme_1 = require("../../constants/theme");
|
|
44
|
+
var listItem_1 = require("../listItem");
|
|
45
|
+
var PostOptionSheet = function (_a) {
|
|
46
|
+
var sheetRef = _a.sheetRef, onClose = _a.onClose;
|
|
47
|
+
var menuItems = [
|
|
48
|
+
{ icon: 'exclamation-circle', label: 'Manage VK ID', subLabel: 'Account protection recommendations' },
|
|
49
|
+
{ icon: 'bookmark', label: 'Bookmarks' },
|
|
50
|
+
{ icon: 'folder-o', label: 'Files' },
|
|
51
|
+
{ icon: 'money', label: 'VK Pay' },
|
|
52
|
+
{ icon: 'crosshairs', label: 'Ads' },
|
|
53
|
+
{ icon: 'support', label: 'Support' },
|
|
54
|
+
{ icon: 'cog', label: 'Settings' },
|
|
55
|
+
{ icon: 'plus-square', label: 'Add account' },
|
|
56
|
+
{ icon: 'sign-in', label: 'Sign in with QR code' },
|
|
57
|
+
];
|
|
58
|
+
return (react_1.default.createElement(bottom_sheet_1.default, { ref: sheetRef, index: -1, snapPoints: ['70%'], enableDynamicSizing: false, enablePanDownToClose: true, onClose: onClose, handleStyle: { top: 0 }, handleIndicatorStyle: { backgroundColor: theme_1.COLORS.border, width: 92 }, backgroundStyle: { backgroundColor: theme_1.COLORS.card }, backdropComponent: function (props) { return (react_1.default.createElement(bottom_sheet_1.BottomSheetBackdrop, __assign({}, props, { disappearsOnIndex: -1, onPress: onClose }))); } },
|
|
59
|
+
react_1.default.createElement(bottom_sheet_1.BottomSheetScrollView, { contentContainerStyle: styles.container }, menuItems.map(function (item, index) { return (react_1.default.createElement(listItem_1.ListItem, __assign({ key: index }, item, { hideArrow: true, hideBottomLine: true }))); }))));
|
|
60
|
+
};
|
|
61
|
+
var styles = react_native_1.StyleSheet.create({
|
|
62
|
+
container: {
|
|
63
|
+
padding: 16,
|
|
64
|
+
backgroundColor: '#fff',
|
|
65
|
+
},
|
|
66
|
+
header: {
|
|
67
|
+
flexDirection: 'row',
|
|
68
|
+
alignItems: 'center',
|
|
69
|
+
marginBottom: 16,
|
|
70
|
+
},
|
|
71
|
+
headerTitle: {
|
|
72
|
+
fontSize: 24,
|
|
73
|
+
fontWeight: 'bold',
|
|
74
|
+
flex: 1,
|
|
75
|
+
},
|
|
76
|
+
profileImage: {
|
|
77
|
+
width: 40,
|
|
78
|
+
height: 40,
|
|
79
|
+
borderRadius: 20,
|
|
80
|
+
},
|
|
81
|
+
gridContainer: {
|
|
82
|
+
flexDirection: 'row',
|
|
83
|
+
flexWrap: 'wrap',
|
|
84
|
+
justifyContent: 'space-around',
|
|
85
|
+
marginBottom: 20,
|
|
86
|
+
},
|
|
87
|
+
menuItem: {
|
|
88
|
+
flexDirection: 'row',
|
|
89
|
+
alignItems: 'center',
|
|
90
|
+
paddingVertical: 16,
|
|
91
|
+
borderBottomWidth: 1,
|
|
92
|
+
borderBottomColor: theme_1.COLORS.background,
|
|
93
|
+
},
|
|
94
|
+
menuItemLast: {
|
|
95
|
+
flexDirection: 'row',
|
|
96
|
+
alignItems: 'center',
|
|
97
|
+
paddingVertical: 16,
|
|
98
|
+
},
|
|
99
|
+
iconContainer: {
|
|
100
|
+
width: 40,
|
|
101
|
+
alignItems: 'center',
|
|
102
|
+
},
|
|
103
|
+
textContainer: {
|
|
104
|
+
flex: 1,
|
|
105
|
+
paddingLeft: 8,
|
|
106
|
+
},
|
|
107
|
+
label: {
|
|
108
|
+
fontSize: 16,
|
|
109
|
+
fontWeight: '500',
|
|
110
|
+
},
|
|
111
|
+
subLabel: {
|
|
112
|
+
fontSize: 12,
|
|
113
|
+
color: theme_1.COLORS.greyText,
|
|
114
|
+
},
|
|
115
|
+
});
|
|
116
|
+
exports.default = PostOptionSheet;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
var react_1 = __importDefault(require("react"));
|
|
7
|
+
var react_native_1 = require("react-native");
|
|
8
|
+
var theme_1 = require("../../constants/theme");
|
|
9
|
+
var Button = function (_a) {
|
|
10
|
+
var title = _a.title, onPress = _a.onPress, _b = _a.type, type = _b === void 0 ? 'primary' : _b, style = _a.style, textStyle = _a.textStyle;
|
|
11
|
+
var buttonStyles = [
|
|
12
|
+
styles.button,
|
|
13
|
+
type === 'primary' && styles.primaryButton,
|
|
14
|
+
type === 'gray' && styles.grayButton,
|
|
15
|
+
type === 'primary-outline' && styles.primaryOutlineButton,
|
|
16
|
+
style,
|
|
17
|
+
];
|
|
18
|
+
var textStyles = [
|
|
19
|
+
styles.buttonText,
|
|
20
|
+
type === 'primary' && styles.primaryButtonText,
|
|
21
|
+
type === 'gray' && styles.grayButtonText,
|
|
22
|
+
type === 'primary-outline' && styles.primaryOutlineButtonText,
|
|
23
|
+
textStyle,
|
|
24
|
+
];
|
|
25
|
+
return (react_1.default.createElement(react_native_1.TouchableOpacity, { style: buttonStyles, onPress: onPress },
|
|
26
|
+
react_1.default.createElement(react_native_1.Text, { style: textStyles }, title)));
|
|
27
|
+
};
|
|
28
|
+
var styles = react_native_1.StyleSheet.create({
|
|
29
|
+
button: {
|
|
30
|
+
height: 50,
|
|
31
|
+
justifyContent: 'center',
|
|
32
|
+
alignItems: 'center',
|
|
33
|
+
borderRadius: 6,
|
|
34
|
+
paddingHorizontal: 16,
|
|
35
|
+
},
|
|
36
|
+
primaryButton: {
|
|
37
|
+
backgroundColor: theme_1.COLORS.primary,
|
|
38
|
+
},
|
|
39
|
+
primaryOutlineButton: {
|
|
40
|
+
backgroundColor: theme_1.COLORS.white,
|
|
41
|
+
borderWidth: 1,
|
|
42
|
+
borderColor: theme_1.COLORS.primary,
|
|
43
|
+
},
|
|
44
|
+
grayButton: {
|
|
45
|
+
backgroundColor: '#f5f5f5',
|
|
46
|
+
},
|
|
47
|
+
buttonText: {
|
|
48
|
+
fontSize: 16,
|
|
49
|
+
fontWeight: 'bold',
|
|
50
|
+
},
|
|
51
|
+
primaryButtonText: {
|
|
52
|
+
color: theme_1.COLORS.white,
|
|
53
|
+
},
|
|
54
|
+
primaryOutlineButtonText: {
|
|
55
|
+
color: theme_1.COLORS.primary,
|
|
56
|
+
},
|
|
57
|
+
grayButtonText: {
|
|
58
|
+
color: '#333',
|
|
59
|
+
},
|
|
60
|
+
});
|
|
61
|
+
exports.default = Button;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
var react_1 = __importDefault(require("react"));
|
|
7
|
+
var react_native_1 = require("react-native");
|
|
8
|
+
var MaterialIcons_1 = __importDefault(require("react-native-vector-icons/MaterialIcons"));
|
|
9
|
+
var PostButton = function (_a) {
|
|
10
|
+
var title = _a.title, onPress = _a.onPress, buttonStyle = _a.buttonStyle, textStyle = _a.textStyle;
|
|
11
|
+
return (react_1.default.createElement(react_native_1.TouchableOpacity, { style: [styles.button, buttonStyle], onPress: onPress },
|
|
12
|
+
react_1.default.createElement(MaterialIcons_1.default, { name: "add-circle-outline", size: 20, color: "#007AFF" }),
|
|
13
|
+
react_1.default.createElement(react_native_1.Text, { style: [styles.buttonText, textStyle] }, title)));
|
|
14
|
+
};
|
|
15
|
+
var styles = react_native_1.StyleSheet.create({
|
|
16
|
+
button: {
|
|
17
|
+
backgroundColor: '#f2f2f2', // light grey background
|
|
18
|
+
paddingVertical: 10,
|
|
19
|
+
paddingHorizontal: 20,
|
|
20
|
+
borderRadius: 8,
|
|
21
|
+
width: "100%",
|
|
22
|
+
alignItems: 'center',
|
|
23
|
+
marginVertical: 10,
|
|
24
|
+
marginTop: 24,
|
|
25
|
+
display: "flex",
|
|
26
|
+
flexDirection: "row",
|
|
27
|
+
justifyContent: "center",
|
|
28
|
+
gap: 6,
|
|
29
|
+
},
|
|
30
|
+
buttonText: {
|
|
31
|
+
color: '#007AFF', // iOS blue color
|
|
32
|
+
fontSize: 16,
|
|
33
|
+
fontWeight: '600',
|
|
34
|
+
},
|
|
35
|
+
});
|
|
36
|
+
exports.default = PostButton;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.PostButton = exports.Button = void 0;
|
|
7
|
+
var Button_1 = require("./Button");
|
|
8
|
+
Object.defineProperty(exports, "Button", { enumerable: true, get: function () { return __importDefault(Button_1).default; } });
|
|
9
|
+
var PostButton_1 = require("./PostButton");
|
|
10
|
+
Object.defineProperty(exports, "PostButton", { enumerable: true, get: function () { return __importDefault(PostButton_1).default; } });
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
var react_1 = __importDefault(require("react"));
|
|
18
|
+
var react_native_1 = require("react-native");
|
|
19
|
+
var theme_1 = require("../../constants/theme");
|
|
20
|
+
//@ts-ignore
|
|
21
|
+
var Tag = function (_a) {
|
|
22
|
+
var label = _a.label, backgroundColor = _a.backgroundColor, textColor = _a.textColor, borderColor = _a.borderColor;
|
|
23
|
+
return (react_1.default.createElement(react_native_1.View, { style: [styles.tagContainer, { backgroundColor: backgroundColor, borderColor: borderColor }] },
|
|
24
|
+
react_1.default.createElement(react_native_1.Text, { style: [styles.tagText, { color: textColor }] }, label)));
|
|
25
|
+
};
|
|
26
|
+
var styles = react_native_1.StyleSheet.create({
|
|
27
|
+
tagContainer: {
|
|
28
|
+
paddingHorizontal: theme_1.SIZES.xs,
|
|
29
|
+
paddingVertical: theme_1.SIZES.xxs,
|
|
30
|
+
borderRadius: theme_1.SIZES.xs,
|
|
31
|
+
borderWidth: 1,
|
|
32
|
+
marginLeft: theme_1.SIZES.xxs,
|
|
33
|
+
},
|
|
34
|
+
tagText: __assign(__assign({}, theme_1.FONTS.font), { fontWeight: 600 }),
|
|
35
|
+
});
|
|
36
|
+
exports.default = Tag;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.SocialStats = exports.Organizer = exports.EventCard = void 0;
|
|
7
|
+
var EventCard_1 = require("./vsCard/EventCard");
|
|
8
|
+
Object.defineProperty(exports, "EventCard", { enumerable: true, get: function () { return __importDefault(EventCard_1).default; } });
|
|
9
|
+
var OrganizerContainer_1 = require("./vsCard/OrganizerContainer");
|
|
10
|
+
Object.defineProperty(exports, "Organizer", { enumerable: true, get: function () { return __importDefault(OrganizerContainer_1).default; } });
|
|
11
|
+
var Footer_1 = require("./vsCard/Footer");
|
|
12
|
+
Object.defineProperty(exports, "SocialStats", { enumerable: true, get: function () { return __importDefault(Footer_1).default; } });
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
var react_1 = __importDefault(require("react"));
|
|
18
|
+
var react_native_1 = require("react-native");
|
|
19
|
+
var Tag_1 = __importDefault(require("../Tag"));
|
|
20
|
+
var OrganizerContainer_1 = __importDefault(require("./OrganizerContainer"));
|
|
21
|
+
var Footer_1 = __importDefault(require("./Footer"));
|
|
22
|
+
var theme_1 = require("../../../constants/theme");
|
|
23
|
+
var EventCard = function (_a) {
|
|
24
|
+
var imageUri = _a.imageUri, date = _a.date, tags = _a.tags, title = _a.title, description = _a.description, organizerAvatarUri = _a.organizerAvatarUri, organizerName = _a.organizerName, organizerLink = _a.organizerLink, likes = _a.likes, views = _a.views;
|
|
25
|
+
return (react_1.default.createElement(react_native_1.View, { style: styles.container },
|
|
26
|
+
react_1.default.createElement(react_native_1.View, { style: styles.imageContainer },
|
|
27
|
+
react_1.default.createElement(react_native_1.Image, { source: { uri: imageUri }, style: styles.image, resizeMode: "cover" })),
|
|
28
|
+
react_1.default.createElement(react_native_1.View, { style: styles.content },
|
|
29
|
+
react_1.default.createElement(react_native_1.View, { style: styles.dateAndTags },
|
|
30
|
+
react_1.default.createElement(react_native_1.Text, { style: styles.date }, date),
|
|
31
|
+
tags.map(function (tag, index) { return (react_1.default.createElement(Tag_1.default, { key: index, label: tag.label, backgroundColor: tag.backgroundColor, textColor: tag.textColor, borderColor: tag.borderColor })); })),
|
|
32
|
+
react_1.default.createElement(react_native_1.Text, { style: styles.title, numberOfLines: 1, ellipsizeMode: "tail" }, title),
|
|
33
|
+
react_1.default.createElement(react_native_1.Text, { style: styles.description, numberOfLines: 2, ellipsizeMode: "tail" }, description),
|
|
34
|
+
react_1.default.createElement(react_native_1.View, { style: styles.organizerContainer },
|
|
35
|
+
react_1.default.createElement(OrganizerContainer_1.default, { avatarUri: organizerAvatarUri, organizerName: organizerName, organizerLink: organizerLink })),
|
|
36
|
+
react_1.default.createElement(Footer_1.default, { likes: likes, views: views }))));
|
|
37
|
+
};
|
|
38
|
+
var styles = react_native_1.StyleSheet.create({
|
|
39
|
+
container: {
|
|
40
|
+
backgroundColor: theme_1.COLORS.white,
|
|
41
|
+
overflow: 'hidden',
|
|
42
|
+
marginBottom: theme_1.SIZES.xs,
|
|
43
|
+
marginTop: theme_1.SIZES.xs,
|
|
44
|
+
elevation: 3, // For Android shadow
|
|
45
|
+
shadowColor: theme_1.COLORS.dark,
|
|
46
|
+
shadowOffset: { width: 0, height: 2 },
|
|
47
|
+
shadowOpacity: 0.3,
|
|
48
|
+
shadowRadius: 3,
|
|
49
|
+
},
|
|
50
|
+
imageContainer: {
|
|
51
|
+
width: '100%',
|
|
52
|
+
height: 270,
|
|
53
|
+
justifyContent: 'center',
|
|
54
|
+
alignItems: 'center',
|
|
55
|
+
},
|
|
56
|
+
image: {
|
|
57
|
+
width: '100%',
|
|
58
|
+
height: '100%',
|
|
59
|
+
},
|
|
60
|
+
content: {
|
|
61
|
+
padding: theme_1.SIZES.sm,
|
|
62
|
+
},
|
|
63
|
+
dateAndTags: {
|
|
64
|
+
flexDirection: 'row',
|
|
65
|
+
alignItems: 'center',
|
|
66
|
+
marginBottom: theme_1.SIZES.xxs,
|
|
67
|
+
},
|
|
68
|
+
date: __assign(__assign({}, theme_1.FONTS.font), { color: theme_1.COLORS.greyText, marginRight: theme_1.SIZES.sm }),
|
|
69
|
+
title: __assign({}, theme_1.FONTS.h4),
|
|
70
|
+
description: __assign(__assign({}, theme_1.FONTS.font), { marginTop: theme_1.SIZES.xxs }),
|
|
71
|
+
organizerContainer: {
|
|
72
|
+
marginTop: theme_1.SIZES.md,
|
|
73
|
+
marginBottom: theme_1.SIZES.md,
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
exports.default = EventCard;
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
16
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
17
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
18
|
+
}
|
|
19
|
+
Object.defineProperty(o, k2, desc);
|
|
20
|
+
}) : (function(o, m, k, k2) {
|
|
21
|
+
if (k2 === undefined) k2 = k;
|
|
22
|
+
o[k2] = m[k];
|
|
23
|
+
}));
|
|
24
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
25
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
26
|
+
}) : function(o, v) {
|
|
27
|
+
o["default"] = v;
|
|
28
|
+
});
|
|
29
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
30
|
+
if (mod && mod.__esModule) return mod;
|
|
31
|
+
var result = {};
|
|
32
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
33
|
+
__setModuleDefault(result, mod);
|
|
34
|
+
return result;
|
|
35
|
+
};
|
|
36
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
37
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
38
|
+
};
|
|
39
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
40
|
+
var react_1 = __importStar(require("react"));
|
|
41
|
+
var react_native_1 = require("react-native");
|
|
42
|
+
var Ionicons_1 = __importDefault(require("react-native-vector-icons/Ionicons"));
|
|
43
|
+
var theme_1 = require("../../../constants/theme");
|
|
44
|
+
var Footer = function (_a) {
|
|
45
|
+
var likes = _a.likes, views = _a.views, _b = _a.position, position = _b === void 0 ? "space-between" : _b;
|
|
46
|
+
var _c = (0, react_1.useState)(false), isLiked = _c[0], setIsLiked = _c[1];
|
|
47
|
+
var handleLikePress = function () {
|
|
48
|
+
setIsLiked(!isLiked);
|
|
49
|
+
};
|
|
50
|
+
return (react_1.default.createElement(react_native_1.View, { style: [styles.container, { justifyContent: position }] },
|
|
51
|
+
react_1.default.createElement(react_native_1.TouchableOpacity, { onPress: handleLikePress, style: styles.item },
|
|
52
|
+
react_1.default.createElement(Ionicons_1.default, { name: isLiked ? "heart" : "heart-outline", size: 20, color: isLiked ? theme_1.COLORS.red : theme_1.COLORS.greyText }),
|
|
53
|
+
react_1.default.createElement(react_native_1.Text, { style: styles.text },
|
|
54
|
+
isLiked ? likes + 1 : likes,
|
|
55
|
+
" ",
|
|
56
|
+
likes + (isLiked ? 1 : 0) === 1 ? 'Like' : 'Likes')),
|
|
57
|
+
react_1.default.createElement(react_native_1.View, { style: styles.item },
|
|
58
|
+
react_1.default.createElement(Ionicons_1.default, { name: "eye-outline", size: 20, color: theme_1.COLORS.greyText }),
|
|
59
|
+
react_1.default.createElement(react_native_1.Text, { style: styles.text },
|
|
60
|
+
views,
|
|
61
|
+
" Views"))));
|
|
62
|
+
};
|
|
63
|
+
var styles = react_native_1.StyleSheet.create({
|
|
64
|
+
container: {
|
|
65
|
+
flexDirection: 'row',
|
|
66
|
+
borderTopWidth: 1,
|
|
67
|
+
borderTopColor: theme_1.COLORS.border,
|
|
68
|
+
paddingTop: theme_1.SIZES.sm,
|
|
69
|
+
gap: theme_1.SIZES.md,
|
|
70
|
+
},
|
|
71
|
+
item: {
|
|
72
|
+
flexDirection: 'row',
|
|
73
|
+
alignItems: 'center',
|
|
74
|
+
},
|
|
75
|
+
text: __assign(__assign({}, theme_1.FONTS.font), { color: theme_1.COLORS.greyText, marginLeft: theme_1.SIZES.xxs }),
|
|
76
|
+
});
|
|
77
|
+
exports.default = Footer;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
var react_1 = __importDefault(require("react"));
|
|
18
|
+
var react_native_1 = require("react-native");
|
|
19
|
+
var theme_1 = require("../../../constants/theme");
|
|
20
|
+
var OrganizerContainer = function (_a) {
|
|
21
|
+
var avatarUri = _a.avatarUri, organizerName = _a.organizerName, organizerLink = _a.organizerLink;
|
|
22
|
+
var handlePress = function () {
|
|
23
|
+
if (organizerLink) {
|
|
24
|
+
react_native_1.Linking.openURL(organizerLink).catch(function (err) { return console.error("Couldn't load page", err); });
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
return (react_1.default.createElement(react_native_1.TouchableOpacity, { onPress: handlePress, style: styles.container },
|
|
28
|
+
react_1.default.createElement(react_native_1.Image, { source: { uri: avatarUri }, style: styles.avatar }),
|
|
29
|
+
react_1.default.createElement(react_native_1.View, { style: styles.organizerTextContainer },
|
|
30
|
+
react_1.default.createElement(react_native_1.Text, { style: styles.organizerTitle }, "Organizer"),
|
|
31
|
+
react_1.default.createElement(react_native_1.Text, { style: styles.organizerText, numberOfLines: 1, ellipsizeMode: "tail" }, organizerName))));
|
|
32
|
+
};
|
|
33
|
+
var styles = react_native_1.StyleSheet.create({
|
|
34
|
+
container: {
|
|
35
|
+
flexDirection: 'row',
|
|
36
|
+
alignItems: 'center',
|
|
37
|
+
},
|
|
38
|
+
avatar: {
|
|
39
|
+
width: 40,
|
|
40
|
+
height: 40,
|
|
41
|
+
borderRadius: 20,
|
|
42
|
+
marginRight: theme_1.SIZES.sm,
|
|
43
|
+
},
|
|
44
|
+
organizerTextContainer: {
|
|
45
|
+
flex: 1,
|
|
46
|
+
paddingRight: theme_1.SIZES.sm,
|
|
47
|
+
},
|
|
48
|
+
organizerTitle: __assign(__assign({}, theme_1.FONTS.font), { color: theme_1.COLORS.dark }),
|
|
49
|
+
organizerText: __assign({}, theme_1.FONTS.h6),
|
|
50
|
+
});
|
|
51
|
+
exports.default = OrganizerContainer;
|