@oxyhq/services 6.9.28 → 6.9.30

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.
Files changed (54) hide show
  1. package/lib/commonjs/ui/components/FollowButton.js +10 -7
  2. package/lib/commonjs/ui/components/FollowButton.js.map +1 -1
  3. package/lib/commonjs/ui/components/SettingsIcon.js +45 -0
  4. package/lib/commonjs/ui/components/SettingsIcon.js.map +1 -0
  5. package/lib/commonjs/ui/components/index.js +7 -0
  6. package/lib/commonjs/ui/components/index.js.map +1 -1
  7. package/lib/commonjs/ui/screens/AccountCenterScreen.js +127 -126
  8. package/lib/commonjs/ui/screens/AccountCenterScreen.js.map +1 -1
  9. package/lib/commonjs/ui/screens/AccountOverviewScreen.js +203 -191
  10. package/lib/commonjs/ui/screens/AccountOverviewScreen.js.map +1 -1
  11. package/lib/commonjs/ui/screens/AppInfoScreen.js +209 -205
  12. package/lib/commonjs/ui/screens/AppInfoScreen.js.map +1 -1
  13. package/lib/commonjs/ui/screens/HelpSupportScreen.js +66 -63
  14. package/lib/commonjs/ui/screens/HelpSupportScreen.js.map +1 -1
  15. package/lib/module/ui/components/FollowButton.js +10 -7
  16. package/lib/module/ui/components/FollowButton.js.map +1 -1
  17. package/lib/module/ui/components/SettingsIcon.js +40 -0
  18. package/lib/module/ui/components/SettingsIcon.js.map +1 -0
  19. package/lib/module/ui/components/index.js +1 -0
  20. package/lib/module/ui/components/index.js.map +1 -1
  21. package/lib/module/ui/screens/AccountCenterScreen.js +127 -126
  22. package/lib/module/ui/screens/AccountCenterScreen.js.map +1 -1
  23. package/lib/module/ui/screens/AccountOverviewScreen.js +204 -192
  24. package/lib/module/ui/screens/AccountOverviewScreen.js.map +1 -1
  25. package/lib/module/ui/screens/AppInfoScreen.js +210 -206
  26. package/lib/module/ui/screens/AppInfoScreen.js.map +1 -1
  27. package/lib/module/ui/screens/HelpSupportScreen.js +67 -64
  28. package/lib/module/ui/screens/HelpSupportScreen.js.map +1 -1
  29. package/lib/typescript/commonjs/ui/components/FollowButton.d.ts.map +1 -1
  30. package/lib/typescript/commonjs/ui/components/SettingsIcon.d.ts +14 -0
  31. package/lib/typescript/commonjs/ui/components/SettingsIcon.d.ts.map +1 -0
  32. package/lib/typescript/commonjs/ui/components/index.d.ts +1 -0
  33. package/lib/typescript/commonjs/ui/components/index.d.ts.map +1 -1
  34. package/lib/typescript/commonjs/ui/screens/AccountCenterScreen.d.ts.map +1 -1
  35. package/lib/typescript/commonjs/ui/screens/AccountOverviewScreen.d.ts.map +1 -1
  36. package/lib/typescript/commonjs/ui/screens/AppInfoScreen.d.ts.map +1 -1
  37. package/lib/typescript/commonjs/ui/screens/HelpSupportScreen.d.ts.map +1 -1
  38. package/lib/typescript/module/ui/components/FollowButton.d.ts.map +1 -1
  39. package/lib/typescript/module/ui/components/SettingsIcon.d.ts +14 -0
  40. package/lib/typescript/module/ui/components/SettingsIcon.d.ts.map +1 -0
  41. package/lib/typescript/module/ui/components/index.d.ts +1 -0
  42. package/lib/typescript/module/ui/components/index.d.ts.map +1 -1
  43. package/lib/typescript/module/ui/screens/AccountCenterScreen.d.ts.map +1 -1
  44. package/lib/typescript/module/ui/screens/AccountOverviewScreen.d.ts.map +1 -1
  45. package/lib/typescript/module/ui/screens/AppInfoScreen.d.ts.map +1 -1
  46. package/lib/typescript/module/ui/screens/HelpSupportScreen.d.ts.map +1 -1
  47. package/package.json +2 -2
  48. package/src/ui/components/FollowButton.tsx +10 -7
  49. package/src/ui/components/SettingsIcon.tsx +43 -0
  50. package/src/ui/components/index.ts +1 -0
  51. package/src/ui/screens/AccountCenterScreen.tsx +97 -145
  52. package/src/ui/screens/AccountOverviewScreen.tsx +154 -220
  53. package/src/ui/screens/AppInfoScreen.tsx +177 -248
  54. package/src/ui/screens/HelpSupportScreen.tsx +53 -76
@@ -3,10 +3,12 @@
3
3
  import React, { useMemo } from 'react';
4
4
  import { View, StyleSheet, ScrollView, Linking } from 'react-native';
5
5
  import { toast } from '../../lib/sonner';
6
- import { Header, Section, GroupedSection } from "../components/index.js";
6
+ import { Header } from "../components/index.js";
7
+ import { SettingsIcon } from "../components/SettingsIcon.js";
7
8
  import { useI18n } from "../hooks/useI18n.js";
8
9
  import { useThemeStyles } from "../hooks/useThemeStyles.js";
9
10
  import { useColorScheme } from "../hooks/useColorScheme.js";
11
+ import { SettingsListGroup, SettingsListItem } from '@oxyhq/bloom/settings-list';
10
12
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
11
13
  const HelpSupportScreen = ({
12
14
  onClose,
@@ -48,71 +50,72 @@ const HelpSupportScreen = ({
48
50
  elevation: "subtle"
49
51
  }), /*#__PURE__*/_jsxs(ScrollView, {
50
52
  style: styles.content,
51
- children: [/*#__PURE__*/_jsx(Section, {
53
+ children: [/*#__PURE__*/_jsxs(SettingsListGroup, {
52
54
  title: t('help.options') || 'Get Help',
53
- isFirst: true,
54
- children: /*#__PURE__*/_jsx(GroupedSection, {
55
- items: [{
56
- id: 'faq',
57
- icon: 'help-circle',
58
- iconColor: themeStyles.colors.iconSecurity,
59
- title: t('help.faq.title') || 'Frequently Asked Questions',
60
- subtitle: t('help.faq.subtitle') || 'Find answers to common questions',
61
- onPress: handleFAQ
62
- }, {
63
- id: 'contact',
64
- icon: 'mail',
65
- iconColor: themeStyles.colors.iconPersonalInfo,
66
- title: t('help.contact.title') || 'Contact Support',
67
- subtitle: t('help.contact.subtitle') || 'Get help from our support team',
68
- onPress: handleContactSupport
69
- }, {
70
- id: 'report-bug',
71
- icon: 'bug',
72
- iconColor: themeStyles.colors.iconStorage,
73
- title: t('help.reportBug.title') || 'Report a Bug',
74
- subtitle: t('help.reportBug.subtitle') || 'Help us improve by reporting issues',
75
- onPress: handleReportBug
76
- }]
77
- })
78
- }), /*#__PURE__*/_jsx(Section, {
55
+ children: [/*#__PURE__*/_jsx(SettingsListItem, {
56
+ icon: /*#__PURE__*/_jsx(SettingsIcon, {
57
+ name: "help-circle",
58
+ color: themeStyles.colors.iconSecurity
59
+ }),
60
+ title: t('help.faq.title') || 'Frequently Asked Questions',
61
+ description: t('help.faq.subtitle') || 'Find answers to common questions',
62
+ onPress: handleFAQ
63
+ }), /*#__PURE__*/_jsx(SettingsListItem, {
64
+ icon: /*#__PURE__*/_jsx(SettingsIcon, {
65
+ name: "email",
66
+ color: themeStyles.colors.iconPersonalInfo
67
+ }),
68
+ title: t('help.contact.title') || 'Contact Support',
69
+ description: t('help.contact.subtitle') || 'Get help from our support team',
70
+ onPress: handleContactSupport
71
+ }), /*#__PURE__*/_jsx(SettingsListItem, {
72
+ icon: /*#__PURE__*/_jsx(SettingsIcon, {
73
+ name: "bug",
74
+ color: themeStyles.colors.iconStorage
75
+ }),
76
+ title: t('help.reportBug.title') || 'Report a Bug',
77
+ description: t('help.reportBug.subtitle') || 'Help us improve by reporting issues',
78
+ onPress: handleReportBug
79
+ })]
80
+ }), /*#__PURE__*/_jsxs(SettingsListGroup, {
79
81
  title: t('help.resources') || 'Resources',
80
- children: /*#__PURE__*/_jsx(GroupedSection, {
81
- items: [{
82
- id: 'documentation',
83
- icon: 'file-document',
84
- iconColor: '#8E8E93',
85
- title: t('help.documentation.title') || 'Documentation',
86
- subtitle: t('help.documentation.subtitle') || 'User guides and tutorials',
87
- onPress: () => {
88
- Linking.openURL('https://developer.oxy.so/docs').catch(() => {
89
- toast.error(t('help.linkError') || 'Failed to open link');
90
- });
91
- }
92
- }, {
93
- id: 'community',
94
- icon: 'account-group',
95
- iconColor: themeStyles.colors.iconData,
96
- title: t('help.community.title') || 'Community',
97
- subtitle: t('help.community.subtitle') || 'Join our community',
98
- onPress: () => {
99
- Linking.openURL('https://community.oxy.so').catch(() => {
100
- toast.error(t('help.linkError') || 'Failed to open link');
101
- });
102
- }
103
- }, {
104
- id: 'developers-portal',
105
- icon: 'code-tags',
106
- iconColor: themeStyles.colors.iconSharing,
107
- title: t('help.developersPortal.title') || 'Developers Portal',
108
- subtitle: t('help.developersPortal.subtitle') || 'API documentation and developer resources',
109
- onPress: () => {
110
- Linking.openURL('https://developer.oxy.so').catch(() => {
111
- toast.error(t('help.linkError') || 'Failed to open link');
112
- });
113
- }
114
- }]
115
- })
82
+ children: [/*#__PURE__*/_jsx(SettingsListItem, {
83
+ icon: /*#__PURE__*/_jsx(SettingsIcon, {
84
+ name: "file-document",
85
+ color: "#8E8E93"
86
+ }),
87
+ title: t('help.documentation.title') || 'Documentation',
88
+ description: t('help.documentation.subtitle') || 'User guides and tutorials',
89
+ onPress: () => {
90
+ Linking.openURL('https://developer.oxy.so/docs').catch(() => {
91
+ toast.error(t('help.linkError') || 'Failed to open link');
92
+ });
93
+ }
94
+ }), /*#__PURE__*/_jsx(SettingsListItem, {
95
+ icon: /*#__PURE__*/_jsx(SettingsIcon, {
96
+ name: "account-group",
97
+ color: themeStyles.colors.iconData
98
+ }),
99
+ title: t('help.community.title') || 'Community',
100
+ description: t('help.community.subtitle') || 'Join our community',
101
+ onPress: () => {
102
+ Linking.openURL('https://community.oxy.so').catch(() => {
103
+ toast.error(t('help.linkError') || 'Failed to open link');
104
+ });
105
+ }
106
+ }), /*#__PURE__*/_jsx(SettingsListItem, {
107
+ icon: /*#__PURE__*/_jsx(SettingsIcon, {
108
+ name: "code-tags",
109
+ color: themeStyles.colors.iconSharing
110
+ }),
111
+ title: t('help.developersPortal.title') || 'Developers Portal',
112
+ description: t('help.developersPortal.subtitle') || 'API documentation and developer resources',
113
+ onPress: () => {
114
+ Linking.openURL('https://developer.oxy.so').catch(() => {
115
+ toast.error(t('help.linkError') || 'Failed to open link');
116
+ });
117
+ }
118
+ })]
116
119
  })]
117
120
  })]
118
121
  });
@@ -1 +1 @@
1
- {"version":3,"names":["React","useMemo","View","StyleSheet","ScrollView","Linking","toast","Header","Section","GroupedSection","useI18n","useThemeStyles","useColorScheme","jsx","_jsx","jsxs","_jsxs","HelpSupportScreen","onClose","theme","goBack","navigate","t","colorScheme","themeStyles","handleContactSupport","openURL","catch","error","handleFAQ","info","handleReportBug","style","styles","container","backgroundColor","children","title","onBack","variant","elevation","content","isFirst","items","id","icon","iconColor","colors","iconSecurity","subtitle","onPress","iconPersonalInfo","iconStorage","iconData","iconSharing","create","flex","padding","memo"],"sourceRoot":"../../../../src","sources":["ui/screens/HelpSupportScreen.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useMemo","View","StyleSheet","ScrollView","Linking","toast","Header","SettingsIcon","useI18n","useThemeStyles","useColorScheme","SettingsListGroup","SettingsListItem","jsx","_jsx","jsxs","_jsxs","HelpSupportScreen","onClose","theme","goBack","navigate","t","colorScheme","themeStyles","handleContactSupport","openURL","catch","error","handleFAQ","info","handleReportBug","style","styles","container","backgroundColor","children","title","onBack","variant","elevation","content","icon","name","color","colors","iconSecurity","description","onPress","iconPersonalInfo","iconStorage","iconData","iconSharing","create","flex","padding","memo"],"sourceRoot":"../../../../src","sources":["ui/screens/HelpSupportScreen.tsx"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"FollowButton.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/FollowButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAC5D,OAAO,EAIL,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,SAAS,EAGf,MAAM,cAAc,CAAC;AAoBtB,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpC,cAAc,CAAC,EAAE,CAAC,WAAW,EAAE,OAAO,KAAK,IAAI,CAAC;IAChD,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,SAAS,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACjC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;CAC1B;AA2ID;;;;;;;;;;GAUG;AACH,QAAA,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAkB7C,CAAC;AAmDF,OAAO,EAAE,YAAY,EAAE,CAAC;AACxB,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"FollowButton.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/FollowButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAC5D,OAAO,EAIL,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,SAAS,EAGf,MAAM,cAAc,CAAC;AAoBtB,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpC,cAAc,CAAC,EAAE,CAAC,WAAW,EAAE,OAAO,KAAK,IAAI,CAAC;IAChD,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,SAAS,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACjC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;CAC1B;AA8ID;;;;;;;;;;GAUG;AACH,QAAA,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAkB7C,CAAC;AAmDF,OAAO,EAAE,YAAY,EAAE,CAAC;AACxB,eAAe,YAAY,CAAC"}
@@ -0,0 +1,14 @@
1
+ import React from 'react';
2
+ interface SettingsIconProps {
3
+ /** MaterialCommunityIcons icon name */
4
+ name: string;
5
+ /** Background color for the circle */
6
+ color: string;
7
+ /** Icon size (default 14, fits bloom's 20x20 container) */
8
+ iconSize?: number;
9
+ /** Container size (default 20, matches bloom SettingsListItem icon slot) */
10
+ size?: number;
11
+ }
12
+ export declare const SettingsIcon: React.NamedExoticComponent<SettingsIconProps>;
13
+ export default SettingsIcon;
14
+ //# sourceMappingURL=SettingsIcon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SettingsIcon.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/SettingsIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAe,MAAM,OAAO,CAAC;AAKpC,UAAU,iBAAiB;IACvB,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,sCAAsC;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4EAA4E;IAC5E,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAoBD,eAAO,MAAM,YAAY,+CAA8B,CAAC;AACxD,eAAe,YAAY,CAAC"}
@@ -8,6 +8,7 @@ export { default as Header, getHeaderHeight } from './Header';
8
8
  export { default as LoadingState } from './LoadingState';
9
9
  export { default as EmptyState } from './EmptyState';
10
10
  export { default as SettingRow } from './SettingRow';
11
+ export { SettingsIcon } from './SettingsIcon';
11
12
  export { default as Avatar } from './Avatar';
12
13
  export { default as FollowButton } from './FollowButton';
13
14
  export { FontLoader, setupFonts } from './FontLoader';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AAGrD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"AccountCenterScreen.d.ts","sourceRoot":"","sources":["../../../../../src/ui/screens/AccountCenterScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAY/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAmB3D,QAAA,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAgQlD,CAAC;AA0BF,eAAe,mBAAmB,CAAC"}
1
+ {"version":3,"file":"AccountCenterScreen.d.ts","sourceRoot":"","sources":["../../../../../src/ui/screens/AccountCenterScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAU/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAkB3D,QAAA,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAmNlD,CAAC;AA0BF,eAAe,mBAAmB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"AccountOverviewScreen.d.ts","sourceRoot":"","sources":["../../../../../src/ui/screens/AccountOverviewScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4D,MAAM,OAAO,CAAC;AAcjF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;;AA6yB3D,wBAAiD"}
1
+ {"version":3,"file":"AccountOverviewScreen.d.ts","sourceRoot":"","sources":["../../../../../src/ui/screens/AccountOverviewScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4D,MAAM,OAAO,CAAC;AAcjF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;;AA2uB3D,wBAAiD"}
@@ -1 +1 @@
1
- {"version":3,"file":"AppInfoScreen.d.ts","sourceRoot":"","sources":["../../../../../src/ui/screens/AppInfoScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAe/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAyB3D,QAAA,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CA2Y5C,CAAC;AAmCF,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"AppInfoScreen.d.ts","sourceRoot":"","sources":["../../../../../src/ui/screens/AppInfoScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAa/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAwB3D,QAAA,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CA0U5C,CAAC;AAgCF,eAAe,aAAa,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"HelpSupportScreen.d.ts","sourceRoot":"","sources":["../../../../../src/ui/screens/HelpSupportScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAC;AASvC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;;AA6I3D,wBAA6C"}
1
+ {"version":3,"file":"HelpSupportScreen.d.ts","sourceRoot":"","sources":["../../../../../src/ui/screens/HelpSupportScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAOvC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;;AAyH3D,wBAA6C"}
@@ -1 +1 @@
1
- {"version":3,"file":"FollowButton.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/FollowButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAC5D,OAAO,EAIL,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,SAAS,EAGf,MAAM,cAAc,CAAC;AAoBtB,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpC,cAAc,CAAC,EAAE,CAAC,WAAW,EAAE,OAAO,KAAK,IAAI,CAAC;IAChD,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,SAAS,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACjC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;CAC1B;AA2ID;;;;;;;;;;GAUG;AACH,QAAA,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAkB7C,CAAC;AAmDF,OAAO,EAAE,YAAY,EAAE,CAAC;AACxB,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"FollowButton.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/FollowButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAC5D,OAAO,EAIL,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,SAAS,EAGf,MAAM,cAAc,CAAC;AAoBtB,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpC,cAAc,CAAC,EAAE,CAAC,WAAW,EAAE,OAAO,KAAK,IAAI,CAAC;IAChD,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,SAAS,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACjC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;CAC1B;AA8ID;;;;;;;;;;GAUG;AACH,QAAA,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAkB7C,CAAC;AAmDF,OAAO,EAAE,YAAY,EAAE,CAAC;AACxB,eAAe,YAAY,CAAC"}
@@ -0,0 +1,14 @@
1
+ import React from 'react';
2
+ interface SettingsIconProps {
3
+ /** MaterialCommunityIcons icon name */
4
+ name: string;
5
+ /** Background color for the circle */
6
+ color: string;
7
+ /** Icon size (default 14, fits bloom's 20x20 container) */
8
+ iconSize?: number;
9
+ /** Container size (default 20, matches bloom SettingsListItem icon slot) */
10
+ size?: number;
11
+ }
12
+ export declare const SettingsIcon: React.NamedExoticComponent<SettingsIconProps>;
13
+ export default SettingsIcon;
14
+ //# sourceMappingURL=SettingsIcon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SettingsIcon.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/SettingsIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAe,MAAM,OAAO,CAAC;AAKpC,UAAU,iBAAiB;IACvB,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,sCAAsC;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4EAA4E;IAC5E,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAoBD,eAAO,MAAM,YAAY,+CAA8B,CAAC;AACxD,eAAe,YAAY,CAAC"}
@@ -8,6 +8,7 @@ export { default as Header, getHeaderHeight } from './Header';
8
8
  export { default as LoadingState } from './LoadingState';
9
9
  export { default as EmptyState } from './EmptyState';
10
10
  export { default as SettingRow } from './SettingRow';
11
+ export { SettingsIcon } from './SettingsIcon';
11
12
  export { default as Avatar } from './Avatar';
12
13
  export { default as FollowButton } from './FollowButton';
13
14
  export { FontLoader, setupFonts } from './FontLoader';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AAGrD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"AccountCenterScreen.d.ts","sourceRoot":"","sources":["../../../../../src/ui/screens/AccountCenterScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAY/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAmB3D,QAAA,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAgQlD,CAAC;AA0BF,eAAe,mBAAmB,CAAC"}
1
+ {"version":3,"file":"AccountCenterScreen.d.ts","sourceRoot":"","sources":["../../../../../src/ui/screens/AccountCenterScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAU/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAkB3D,QAAA,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAmNlD,CAAC;AA0BF,eAAe,mBAAmB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"AccountOverviewScreen.d.ts","sourceRoot":"","sources":["../../../../../src/ui/screens/AccountOverviewScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4D,MAAM,OAAO,CAAC;AAcjF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;;AA6yB3D,wBAAiD"}
1
+ {"version":3,"file":"AccountOverviewScreen.d.ts","sourceRoot":"","sources":["../../../../../src/ui/screens/AccountOverviewScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4D,MAAM,OAAO,CAAC;AAcjF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;;AA2uB3D,wBAAiD"}
@@ -1 +1 @@
1
- {"version":3,"file":"AppInfoScreen.d.ts","sourceRoot":"","sources":["../../../../../src/ui/screens/AppInfoScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAe/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAyB3D,QAAA,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CA2Y5C,CAAC;AAmCF,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"AppInfoScreen.d.ts","sourceRoot":"","sources":["../../../../../src/ui/screens/AppInfoScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAa/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAwB3D,QAAA,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CA0U5C,CAAC;AAgCF,eAAe,aAAa,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"HelpSupportScreen.d.ts","sourceRoot":"","sources":["../../../../../src/ui/screens/HelpSupportScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAC;AASvC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;;AA6I3D,wBAA6C"}
1
+ {"version":3,"file":"HelpSupportScreen.d.ts","sourceRoot":"","sources":["../../../../../src/ui/screens/HelpSupportScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAOvC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;;AAyH3D,wBAA6C"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oxyhq/services",
3
- "version": "6.9.28",
3
+ "version": "6.9.30",
4
4
  "description": "OxyHQ Expo/React Native SDK — UI components, screens, and native features",
5
5
  "main": "lib/commonjs/index.js",
6
6
  "module": "lib/module/index.js",
@@ -71,7 +71,7 @@
71
71
  },
72
72
  "dependencies": {
73
73
  "@lottiefiles/dotlottie-react": "^0.13.5",
74
- "@oxyhq/bloom": "0.1.20",
74
+ "@oxyhq/bloom": "0.1.21",
75
75
  "@oxyhq/core": "*",
76
76
  "@react-native-async-storage/async-storage": "2.2.0",
77
77
  "@react-native-community/netinfo": "^11.4.1",
@@ -21,7 +21,7 @@ import { useOxy } from '../context/OxyContext';
21
21
  import { fontFamilies } from '../styles/fonts';
22
22
  import { toast } from '../../lib/sonner';
23
23
  import { useFollowForButton } from '../hooks/useFollow';
24
- import { useThemeColors } from '../styles/theme';
24
+ import { useTheme } from '@oxyhq/bloom/theme';
25
25
  import type { OxyServices } from '@oxyhq/core';
26
26
 
27
27
  // Create animated TouchableOpacity
@@ -65,9 +65,10 @@ const FollowButtonInner = memo(function FollowButtonInner({
65
65
  disabled = false,
66
66
  showLoadingState = true,
67
67
  preventParentActions = true,
68
- theme = 'light',
68
+ theme: _theme = 'light',
69
69
  }: FollowButtonProps & { oxyServices: OxyServices }) {
70
- const colors = useThemeColors(theme);
70
+ const bloomTheme = useTheme();
71
+ const colors = bloomTheme.colors;
71
72
 
72
73
  // Uses granular Zustand selectors — only re-renders when THIS user's data changes
73
74
  const {
@@ -128,18 +129,20 @@ const FollowButtonInner = memo(function FollowButtonInner({
128
129
  }, [isFollowing, animationProgress]);
129
130
 
130
131
  // Animated styles
132
+ // When not following (progress=0): primary filled button (bg-primary, text white)
133
+ // When following (progress=1): outlined button (bg-background, border-border, text-foreground)
131
134
  const animatedButtonStyle = useAnimatedStyle(() => {
132
135
  return {
133
136
  transform: [{ scale: scale.value }],
134
137
  backgroundColor: interpolateColor(
135
138
  animationProgress.value,
136
139
  [0, 1],
137
- [colors.background, colors.primary]
140
+ [colors.primary, colors.background]
138
141
  ),
139
142
  borderColor: interpolateColor(
140
143
  animationProgress.value,
141
144
  [0, 1],
142
- [colors.border, colors.primary]
145
+ [colors.primary, colors.border]
143
146
  ),
144
147
  };
145
148
  }, [colors]);
@@ -149,7 +152,7 @@ const FollowButtonInner = memo(function FollowButtonInner({
149
152
  color: interpolateColor(
150
153
  animationProgress.value,
151
154
  [0, 1],
152
- [colors.text, '#FFFFFF']
155
+ ['#FFFFFF', colors.text]
153
156
  ),
154
157
  };
155
158
  }, [colors]);
@@ -167,7 +170,7 @@ const FollowButtonInner = memo(function FollowButtonInner({
167
170
  {showLoadingState && isLoading ? (
168
171
  <ActivityIndicator
169
172
  size="small"
170
- color={isFollowing ? '#FFFFFF' : colors.primary}
173
+ color={isFollowing ? colors.text : '#FFFFFF'}
171
174
  />
172
175
  ) : (
173
176
  <AnimatedText style={[baseTextStyle, animatedTextStyle]}>
@@ -0,0 +1,43 @@
1
+ import React, { memo } from 'react';
2
+ import { View, StyleSheet } from 'react-native';
3
+ import { MaterialCommunityIcons } from '@expo/vector-icons';
4
+ import { darkenColor } from '../utils/colorUtils';
5
+
6
+ interface SettingsIconProps {
7
+ /** MaterialCommunityIcons icon name */
8
+ name: string;
9
+ /** Background color for the circle */
10
+ color: string;
11
+ /** Icon size (default 14, fits bloom's 20x20 container) */
12
+ iconSize?: number;
13
+ /** Container size (default 20, matches bloom SettingsListItem icon slot) */
14
+ size?: number;
15
+ }
16
+
17
+ /**
18
+ * Compact colored-circle icon for use with bloom's SettingsListItem.
19
+ * Renders a MaterialCommunityIcons glyph inside a tinted circle,
20
+ * sized to fit bloom's 20x20 icon container.
21
+ */
22
+ const SettingsIconComponent: React.FC<SettingsIconProps> = ({
23
+ name,
24
+ color,
25
+ iconSize = 14,
26
+ size = 20,
27
+ }) => (
28
+ <View style={[styles.circle, { width: size, height: size, borderRadius: size / 2, backgroundColor: color }]}>
29
+ <MaterialCommunityIcons name={name as any} size={iconSize} color={darkenColor(color)} />
30
+ </View>
31
+ );
32
+
33
+ SettingsIconComponent.displayName = 'SettingsIcon';
34
+
35
+ export const SettingsIcon = memo(SettingsIconComponent);
36
+ export default SettingsIcon;
37
+
38
+ const styles = StyleSheet.create({
39
+ circle: {
40
+ alignItems: 'center',
41
+ justifyContent: 'center',
42
+ },
43
+ });
@@ -9,6 +9,7 @@ export { default as Header, getHeaderHeight } from './Header';
9
9
  export { default as LoadingState } from './LoadingState';
10
10
  export { default as EmptyState } from './EmptyState';
11
11
  export { default as SettingRow } from './SettingRow';
12
+ export { SettingsIcon } from './SettingsIcon';
12
13
 
13
14
  // Re-export existing components
14
15
  export { default as Avatar } from './Avatar';