feat(challenges): 实现自定义挑战的编辑与删除功能并完善多语言支持

- 新增自定义挑战的编辑模式,支持修改挑战信息
- 在详情页为创建者添加删除(归档)挑战的功能入口
- 全面完善挑战创建页面的国际化(i18n)文案适配
- 优化个人中心页面的字体样式,统一使用 AliBold/Regular
- 更新 Store 逻辑以处理挑战更新、删除及列表数据映射调整
This commit is contained in:
richarjiang
2025-11-26 19:07:19 +08:00
parent 39671ed70f
commit 518282ecb8
6 changed files with 866 additions and 160 deletions

View File

@@ -981,16 +981,20 @@ const styles = StyleSheet.create({
fontWeight: 'bold',
color: '#2C3E50',
marginBottom: 4,
fontFamily: 'AliBold',
},
userRole: {
fontSize: 14,
color: '#9370DB',
fontWeight: '500',
fontFamily: 'AliBold',
},
userMemberNumber: {
fontSize: 10,
color: '#6C757D',
marginTop: 4,
fontFamily: 'AliRegular',
},
aiUsageContainer: {
flexDirection: 'row',
@@ -1002,6 +1006,7 @@ const styles = StyleSheet.create({
color: '#9370DB',
marginLeft: 2,
fontWeight: '500',
fontFamily: 'AliRegular',
},
editButton: {
backgroundColor: '#9370DB',
@@ -1020,6 +1025,7 @@ const styles = StyleSheet.create({
color: 'white',
fontSize: 14,
fontWeight: '600',
fontFamily: 'AliBold',
},
editButtonTextGlass: {
color: 'rgba(147, 112, 219, 1)',
@@ -1041,11 +1047,13 @@ const styles = StyleSheet.create({
fontWeight: 'bold',
color: '#9370DB',
marginBottom: 4,
fontFamily: 'AliBold',
},
statLabel: {
fontSize: 12,
color: '#6C757D',
fontWeight: '500',
fontFamily: 'AliRegular',
},
badgesRowCard: {
flexDirection: 'row',
@@ -1065,6 +1073,7 @@ const styles = StyleSheet.create({
fontSize: 16,
fontWeight: '700',
color: '#111827',
fontFamily: 'AliBold',
},
badgesRowContent: {
flexDirection: 'row',
@@ -1103,6 +1112,7 @@ const styles = StyleSheet.create({
fontSize: 18,
fontWeight: '600',
color: '#475467',
fontFamily: 'AliBold',
},
badgeCompactOverlay: {
...StyleSheet.absoluteFillObject,
@@ -1122,11 +1132,14 @@ const styles = StyleSheet.create({
fontSize: 14,
fontWeight: '700',
color: '#5B21B6',
fontFamily: 'AliRegular',
},
badgesRowEmpty: {
fontSize: 13,
color: '#6B7280',
fontWeight: '500',
fontFamily: 'AliBold',
},
// 菜单项
menuItem: {
@@ -1151,6 +1164,7 @@ const styles = StyleSheet.create({
fontSize: 13,
color: '#6C757D',
marginRight: 6,
fontFamily: 'AliRegular',
},
iconContainer: {
width: 32,
@@ -1179,6 +1193,7 @@ const styles = StyleSheet.create({
fontWeight: 'bold',
color: '#2C3E50',
marginLeft: 4,
fontFamily: 'AliBold',
},
languageModalOverlay: {
flex: 1,
@@ -1204,11 +1219,13 @@ const styles = StyleSheet.create({
fontSize: 18,
fontWeight: 'bold',
color: '#2C3E50',
fontFamily: 'AliBold',
},
languageModalSubtitle: {
fontSize: 13,
color: '#6C757D',
marginBottom: 4,
fontFamily: 'AliRegular',
},
languageOption: {
flexDirection: 'row',
@@ -1233,11 +1250,13 @@ const styles = StyleSheet.create({
fontSize: 16,
fontWeight: '600',
color: '#2C3E50',
fontFamily: 'AliBold',
},
languageOptionDescription: {
fontSize: 12,
color: '#6C757D',
marginTop: 4,
fontFamily: 'AliRegular',
},
languageModalClose: {
marginTop: 4,
@@ -1247,5 +1266,6 @@ const styles = StyleSheet.create({
fontSize: 15,
fontWeight: '500',
color: '#9370DB',
fontFamily: 'AliBold',
},
});