@oxyhq/services
Version:
Reusable OxyHQ module to handle authentication, user management, karma system, device-based session management and more 🚀
129 lines (127 loc) • 3.86 kB
JavaScript
"use strict";
import { View, Text, StyleSheet, ScrollView, Platform } from 'react-native';
import { Header } from '../../components';
import { useI18n } from '../../hooks/useI18n';
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
const KarmaRewardsScreen = ({
goBack,
theme
}) => {
const {
t
} = useI18n();
const isDarkTheme = theme === 'dark';
const backgroundColor = isDarkTheme ? '#121212' : '#FFFFFF';
const textColor = isDarkTheme ? '#FFFFFF' : '#000000';
const primaryColor = '#d169e5';
// Placeholder: In a real app, fetch rewards from API
return /*#__PURE__*/_jsxs(View, {
style: [styles.container, {
backgroundColor
}],
children: [/*#__PURE__*/_jsx(Header, {
title: t('karma.rewards.title') || 'Karma Rewards',
subtitle: t('karma.rewards.subtitle') || 'Unlock special features and recognition',
theme: theme,
onBack: goBack,
elevation: "subtle"
}), /*#__PURE__*/_jsxs(ScrollView, {
contentContainerStyle: styles.contentContainer,
children: [/*#__PURE__*/_jsx(Text, {
style: [styles.paragraph, {
color: textColor
}],
children: t('karma.rewards.intro') || 'Unlock special features and recognition by earning karma!'
}), /*#__PURE__*/_jsxs(View, {
style: styles.rewardBox,
children: [/*#__PURE__*/_jsx(Text, {
style: [styles.rewardTitle, {
color: primaryColor
}],
children: t('karma.rewards.earlyAccess.title') || '🎉 Early Access'
}), /*#__PURE__*/_jsx(Text, {
style: [styles.rewardDesc, {
color: textColor
}],
children: t('karma.rewards.earlyAccess.desc') || 'Get early access to new features with 100+ karma.'
})]
}), /*#__PURE__*/_jsxs(View, {
style: styles.rewardBox,
children: [/*#__PURE__*/_jsx(Text, {
style: [styles.rewardTitle, {
color: primaryColor
}],
children: t('karma.rewards.badge.title') || '🏅 Community Badge'
}), /*#__PURE__*/_jsx(Text, {
style: [styles.rewardDesc, {
color: textColor
}],
children: t('karma.rewards.badge.desc') || 'Earn a special badge for 500+ karma.'
})]
}), /*#__PURE__*/_jsxs(View, {
style: styles.rewardBox,
children: [/*#__PURE__*/_jsx(Text, {
style: [styles.rewardTitle, {
color: primaryColor
}],
children: t('karma.rewards.featured.title') || '🌟 Featured Member'
}), /*#__PURE__*/_jsx(Text, {
style: [styles.rewardDesc, {
color: textColor
}],
children: t('karma.rewards.featured.desc') || 'Be featured in the community for 1000+ karma.'
})]
}), /*#__PURE__*/_jsx(Text, {
style: [styles.paragraph, {
color: textColor,
marginTop: 24
}],
children: t('karma.rewards.moreComing') || 'More rewards coming soon!'
})]
})]
});
};
const styles = StyleSheet.create({
container: {
flex: 1
},
contentContainer: {
padding: 24,
paddingTop: 20
},
rewardBox: {
backgroundColor: '#f7eaff',
borderRadius: 16,
padding: 18,
marginBottom: 18,
...Platform.select({
web: {
boxShadow: '0 1px 4px rgba(0,0,0,0.04)'
},
default: {
shadowColor: '#000',
shadowOpacity: 0.04,
shadowOffset: {
width: 0,
height: 1
},
shadowRadius: 4,
elevation: 1
}
})
},
rewardTitle: {
fontSize: 18,
fontWeight: 'bold',
marginBottom: 6
},
rewardDesc: {
fontSize: 15
},
paragraph: {
fontSize: 16,
marginBottom: 12
}
});
export default KarmaRewardsScreen;
//# sourceMappingURL=KarmaRewardsScreen.js.map