@oxyhq/services 27.1.2 → 28.0.0
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/LICENSE +202 -661
- package/NOTICE +15 -0
- package/README.md +3 -1
- package/lib/commonjs/index.js +36 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/ui/components/FollowTargetButton.js +22 -11
- package/lib/commonjs/ui/components/FollowTargetButton.js.map +1 -1
- package/lib/commonjs/ui/components/authChooser/signInProgress.js +5 -0
- package/lib/commonjs/ui/components/authChooser/signInProgress.js.map +1 -1
- package/lib/commonjs/ui/hooks/useFollowTarget.js +11 -2
- package/lib/commonjs/ui/hooks/useFollowTarget.js.map +1 -1
- package/lib/commonjs/ui/screens/AccountMembersScreen.js +3 -4
- package/lib/commonjs/ui/screens/AccountMembersScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/CreateAccountScreen.js +3 -12
- package/lib/commonjs/ui/screens/CreateAccountScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/trust/TrustCenterScreen.js +6 -5
- package/lib/commonjs/ui/screens/trust/TrustCenterScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/trust/TrustLeaderboardScreen.js +4 -4
- package/lib/commonjs/ui/screens/trust/TrustLeaderboardScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/trust/TrustRewardsScreen.js +1 -1
- package/lib/commonjs/ui/screens/trust/TrustRulesScreen.js +4 -2
- package/lib/commonjs/ui/screens/trust/TrustRulesScreen.js.map +1 -1
- package/lib/commonjs/ui/stores/followTargetStore.js +39 -0
- package/lib/commonjs/ui/stores/followTargetStore.js.map +1 -1
- package/lib/module/index.js +11 -2
- package/lib/module/index.js.map +1 -1
- package/lib/module/ui/components/FollowTargetButton.js +22 -11
- package/lib/module/ui/components/FollowTargetButton.js.map +1 -1
- package/lib/module/ui/components/authChooser/signInProgress.js +5 -0
- package/lib/module/ui/components/authChooser/signInProgress.js.map +1 -1
- package/lib/module/ui/hooks/useFollowTarget.js +12 -3
- package/lib/module/ui/hooks/useFollowTarget.js.map +1 -1
- package/lib/module/ui/screens/AccountMembersScreen.js +4 -5
- package/lib/module/ui/screens/AccountMembersScreen.js.map +1 -1
- package/lib/module/ui/screens/CreateAccountScreen.js +4 -13
- package/lib/module/ui/screens/CreateAccountScreen.js.map +1 -1
- package/lib/module/ui/screens/trust/TrustCenterScreen.js +6 -5
- package/lib/module/ui/screens/trust/TrustCenterScreen.js.map +1 -1
- package/lib/module/ui/screens/trust/TrustLeaderboardScreen.js +5 -5
- package/lib/module/ui/screens/trust/TrustLeaderboardScreen.js.map +1 -1
- package/lib/module/ui/screens/trust/TrustRewardsScreen.js +1 -1
- package/lib/module/ui/screens/trust/TrustRulesScreen.js +4 -2
- package/lib/module/ui/screens/trust/TrustRulesScreen.js.map +1 -1
- package/lib/module/ui/stores/followTargetStore.js +36 -0
- package/lib/module/ui/stores/followTargetStore.js.map +1 -1
- package/lib/typescript/commonjs/index.d.ts +2 -2
- package/lib/typescript/commonjs/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/FollowTargetButton.d.ts +6 -1
- package/lib/typescript/commonjs/ui/components/FollowTargetButton.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/authChooser/signInProgress.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/useFollowTarget.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/AccountMembersScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/CreateAccountScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/trust/TrustLeaderboardScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/trust/TrustRulesScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/stores/followTargetStore.d.ts +15 -1
- package/lib/typescript/commonjs/ui/stores/followTargetStore.d.ts.map +1 -1
- package/lib/typescript/module/index.d.ts +2 -2
- package/lib/typescript/module/index.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/FollowTargetButton.d.ts +6 -1
- package/lib/typescript/module/ui/components/FollowTargetButton.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/authChooser/signInProgress.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/useFollowTarget.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/AccountMembersScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/CreateAccountScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/trust/TrustLeaderboardScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/trust/TrustRulesScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/stores/followTargetStore.d.ts +15 -1
- package/lib/typescript/module/ui/stores/followTargetStore.d.ts.map +1 -1
- package/package.json +6 -5
- package/src/index.ts +16 -1
- package/src/ui/components/FollowTargetButton.tsx +28 -6
- package/src/ui/components/__tests__/followTargetButton.test.ts +51 -0
- package/src/ui/components/authChooser/signInProgress.ts +4 -0
- package/src/ui/hooks/useFollowTarget.ts +12 -4
- package/src/ui/screens/AccountMembersScreen.tsx +6 -5
- package/src/ui/screens/CreateAccountScreen.tsx +3 -16
- package/src/ui/screens/trust/TrustCenterScreen.tsx +7 -7
- package/src/ui/screens/trust/TrustLeaderboardScreen.tsx +4 -5
- package/src/ui/screens/trust/TrustRewardsScreen.tsx +1 -1
- package/src/ui/screens/trust/TrustRulesScreen.tsx +3 -2
- package/src/ui/stores/followTargetStore.ts +35 -1
- package/lib/commonjs/ui/screens/trust/trustTier.js +0 -23
- package/lib/commonjs/ui/screens/trust/trustTier.js.map +0 -1
- package/lib/module/ui/screens/trust/trustTier.js +0 -19
- package/lib/module/ui/screens/trust/trustTier.js.map +0 -1
- package/lib/typescript/commonjs/ui/screens/trust/trustTier.d.ts +0 -9
- package/lib/typescript/commonjs/ui/screens/trust/trustTier.d.ts.map +0 -1
- package/lib/typescript/module/ui/screens/trust/trustTier.d.ts +0 -9
- package/lib/typescript/module/ui/screens/trust/trustTier.d.ts.map +0 -1
- package/src/ui/screens/trust/trustTier.ts +0 -20
|
@@ -16,7 +16,7 @@ var _loading = require("@oxyhq/bloom/loading");
|
|
|
16
16
|
var _useI18n = require("../../hooks/useI18n.js");
|
|
17
17
|
var _useSurfaceHeader = require("../../hooks/useSurfaceHeader.js");
|
|
18
18
|
var _OxyContext = require("../../context/OxyContext.js");
|
|
19
|
-
var
|
|
19
|
+
var _core = require("@oxyhq/core");
|
|
20
20
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
21
21
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
22
22
|
const TrustCenterScreen = ({
|
|
@@ -30,7 +30,8 @@ const TrustCenterScreen = ({
|
|
|
30
30
|
isAuthenticated
|
|
31
31
|
} = (0, _OxyContext.useOxy)();
|
|
32
32
|
const {
|
|
33
|
-
t
|
|
33
|
+
t,
|
|
34
|
+
locale
|
|
34
35
|
} = (0, _useI18n.useI18n)();
|
|
35
36
|
const [reputationTotal, setReputationTotal] = (0, _react.useState)(null);
|
|
36
37
|
const [trustTier, setTrustTier] = (0, _react.useState)(null);
|
|
@@ -51,7 +52,7 @@ const TrustCenterScreen = ({
|
|
|
51
52
|
setError((err instanceof Error ? err.message : null) || t('trust.center.loadError') || 'Failed to load reputation data');
|
|
52
53
|
}).finally(() => setIsLoading(false));
|
|
53
54
|
}, [user, oxyServices, t]);
|
|
54
|
-
const
|
|
55
|
+
const resolvedTrustTierLabel = (0, _react.useMemo)(() => trustTier ? (0, _core.trustTierLabel)(locale, trustTier) : null, [trustTier, locale]);
|
|
55
56
|
const title = t('trust.center.title') || 'Trust Center';
|
|
56
57
|
(0, _useSurfaceHeader.useSurfaceHeader)({
|
|
57
58
|
title
|
|
@@ -86,7 +87,7 @@ const TrustCenterScreen = ({
|
|
|
86
87
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
|
|
87
88
|
className: "text-text-tertiary text-base mt-space-2 mb-space-12",
|
|
88
89
|
children: t('trust.center.balance') || 'Reputation Balance'
|
|
89
|
-
}),
|
|
90
|
+
}), resolvedTrustTierLabel ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_chip.Chip, {
|
|
90
91
|
variant: "soft",
|
|
91
92
|
color: "primary",
|
|
92
93
|
startIcon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Ionicons.default, {
|
|
@@ -94,7 +95,7 @@ const TrustCenterScreen = ({
|
|
|
94
95
|
size: 14,
|
|
95
96
|
color: primaryColor
|
|
96
97
|
}),
|
|
97
|
-
children:
|
|
98
|
+
children: resolvedTrustTierLabel
|
|
98
99
|
}) : null, /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
|
|
99
100
|
className: "text-text-tertiary text-sm text-center mt-space-16",
|
|
100
101
|
style: styles.infoText,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNative","_Ionicons","_interopRequireDefault","_chip","_theme","_typography","_settingsList","_SettingsIcon","_loading","_useI18n","_useSurfaceHeader","_OxyContext","
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","_Ionicons","_interopRequireDefault","_chip","_theme","_typography","_settingsList","_SettingsIcon","_loading","_useI18n","_useSurfaceHeader","_OxyContext","_core","_jsxRuntime","e","__esModule","default","TrustCenterScreen","navigate","user","oxyServices","isAuthenticated","useOxy","t","locale","useI18n","reputationTotal","setReputationTotal","useState","trustTier","setTrustTier","transactions","setTransactions","isLoading","setIsLoading","error","setError","bloomTheme","useTheme","primaryColor","colors","primary","useEffect","Promise","all","getMyReputationBalance","getReputationTransactions","id","then","balance","txns","total","Array","isArray","catch","err","Error","message","finally","resolvedTrustTierLabel","useMemo","trustTierLabel","title","useSurfaceHeader","jsx","View","className","children","Text","Loading","size","color","jsxs","H1","style","Chip","variant","startIcon","name","styles","infoText","SettingsListGroup","SettingsListItem","icon","SettingsIcon","warning","onPress","info","success","secondary","length","textTertiary","showChevron","disabled","map","entry","points","reason","actionType","description","category","createdAt","Date","toLocaleString","rightElement","StyleSheet","create","maxWidth","_default","exports"],"sourceRoot":"../../../../../src","sources":["ui/screens/trust/TrustCenterScreen.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -16,7 +16,6 @@ var _avatar = require("@oxyhq/bloom/avatar");
|
|
|
16
16
|
var _useI18n = require("../../hooks/useI18n.js");
|
|
17
17
|
var _useSurfaceHeader = require("../../hooks/useSurfaceHeader.js");
|
|
18
18
|
var _OxyContext = require("../../context/OxyContext.js");
|
|
19
|
-
var _trustTier = require("./trustTier.js");
|
|
20
19
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
21
20
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
22
21
|
const AVATAR_SIZE = 40;
|
|
@@ -32,7 +31,8 @@ const TrustLeaderboardScreen = ({
|
|
|
32
31
|
user: currentUser
|
|
33
32
|
} = (0, _OxyContext.useOxy)();
|
|
34
33
|
const {
|
|
35
|
-
t
|
|
34
|
+
t,
|
|
35
|
+
locale
|
|
36
36
|
} = (0, _useI18n.useI18n)();
|
|
37
37
|
const bloomTheme = (0, _theme.useTheme)();
|
|
38
38
|
const [leaderboard, setLeaderboard] = (0, _react.useState)([]);
|
|
@@ -103,7 +103,7 @@ const TrustLeaderboardScreen = ({
|
|
|
103
103
|
size: "small",
|
|
104
104
|
variant: "soft",
|
|
105
105
|
color: isPodium ? 'primary' : 'default',
|
|
106
|
-
children: (0,
|
|
106
|
+
children: (0, _core.trustTierLabel)(locale, item.trustTier)
|
|
107
107
|
})
|
|
108
108
|
})]
|
|
109
109
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
|
|
@@ -112,7 +112,7 @@ const TrustLeaderboardScreen = ({
|
|
|
112
112
|
children: item.total
|
|
113
113
|
})]
|
|
114
114
|
});
|
|
115
|
-
}, [oxyServices, currentUserId, handleEntryPress,
|
|
115
|
+
}, [oxyServices, currentUserId, handleEntryPress, locale]);
|
|
116
116
|
const keyExtractor = (0, _react.useCallback)((item, index) => item.user.id || `entry-${index}`, []);
|
|
117
117
|
const ItemSeparator = (0, _react.useMemo)(() => () => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
118
118
|
style: styles.separator,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNative","_core","_theme","_typography","_chip","_button","_Ionicons","_interopRequireDefault","_avatar","_useI18n","_useSurfaceHeader","_OxyContext","
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","_core","_theme","_typography","_chip","_button","_Ionicons","_interopRequireDefault","_avatar","_useI18n","_useSurfaceHeader","_OxyContext","_jsxRuntime","e","__esModule","default","AVATAR_SIZE","EMPTY_ICON_SIZE","ERROR_ICON_SIZE","PODIUM_RANK","TrustLeaderboardScreen","navigate","oxyServices","user","currentUser","useOxy","t","locale","useI18n","bloomTheme","useTheme","leaderboard","setLeaderboard","useState","isLoading","setIsLoading","error","setError","currentUserId","id","loadLeaderboard","useCallback","getReputationLeaderboard","then","data","Array","isArray","catch","err","logger","Error","String","component","message","finally","useEffect","title","subtitle","useSurfaceHeader","handleEntryPress","entry","userId","username","renderEntry","item","displayName","name","getNormalizedUserHandle","isViewer","isPodium","rank","highlightClass","jsxs","TouchableOpacity","style","styles","row","className","onPress","activeOpacity","accessibilityRole","accessibilityLabel","children","jsx","Text","numberOfLines","Avatar","source","avatar","getFileDownloadUrl","undefined","size","View","userColumn","tierRow","Chip","variant","color","trustTierLabel","trustTier","total","keyExtractor","index","ItemSeparator","useMemo","separator","center","ActivityIndicator","colors","primary","Button","FlatList","renderItem","contentContainerStyle","listContent","ItemSeparatorComponent","ListEmptyComponent","emptyContainer","textSecondary","H6","StyleSheet","create","flex","justifyContent","alignItems","flexGrow","paddingBottom","flexDirection","width","marginLeft","paddingTop","_default","exports"],"sourceRoot":"../../../../../src","sources":["ui/screens/trust/TrustLeaderboardScreen.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -16,7 +16,7 @@ var _colorUtils = require("../../utils/colorUtils.js");
|
|
|
16
16
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
17
17
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
18
18
|
/**
|
|
19
|
-
* Per-achievement identity tints. Like the trust-tier palette in `
|
|
19
|
+
* Per-achievement identity tints. Like the trust-tier palette in `trustTierLabels`,
|
|
20
20
|
* these are data, not theme surfaces — they brand each badge regardless of theme.
|
|
21
21
|
*/
|
|
22
22
|
const ACHIEVEMENT_TINT = {
|
|
@@ -9,6 +9,7 @@ var _reactNative = require("react-native");
|
|
|
9
9
|
var _settingsList = require("@oxyhq/bloom/settings-list");
|
|
10
10
|
var _chip = require("@oxyhq/bloom/chip");
|
|
11
11
|
var _theme = require("@oxyhq/bloom/theme");
|
|
12
|
+
var _core = require("@oxyhq/core");
|
|
12
13
|
var _useSurfaceHeader = require("../../hooks/useSurfaceHeader.js");
|
|
13
14
|
var _loading = require("@oxyhq/bloom/loading");
|
|
14
15
|
var _useI18n = require("../../hooks/useI18n.js");
|
|
@@ -20,7 +21,8 @@ const TrustRulesScreen = () => {
|
|
|
20
21
|
oxyServices
|
|
21
22
|
} = (0, _OxyContext.useOxy)();
|
|
22
23
|
const {
|
|
23
|
-
t
|
|
24
|
+
t,
|
|
25
|
+
locale
|
|
24
26
|
} = (0, _useI18n.useI18n)();
|
|
25
27
|
(0, _useSurfaceHeader.useSurfaceHeader)({
|
|
26
28
|
title: t('trust.rules.title') || 'Trust Rules',
|
|
@@ -70,7 +72,7 @@ const TrustRulesScreen = () => {
|
|
|
70
72
|
category,
|
|
71
73
|
items
|
|
72
74
|
}) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_settingsList.SettingsListGroup, {
|
|
73
|
-
title:
|
|
75
|
+
title: (0, _core.reputationCategoryLabel)(locale, category),
|
|
74
76
|
children: items.map(rule => /*#__PURE__*/(0, _jsxRuntime.jsx)(_settingsList.SettingsListItem, {
|
|
75
77
|
title: rule.description,
|
|
76
78
|
showChevron: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNative","_settingsList","_chip","_theme","_useSurfaceHeader","_loading","_useI18n","_OxyContext","_jsxRuntime","CATEGORY_ORDER","TrustRulesScreen","oxyServices","useOxy","t","useI18n","useSurfaceHeader","title","subtitle","bloomTheme","useTheme","rules","setRules","useState","isLoading","setIsLoading","error","setError","useEffect","getReputationRules","then","data","Array","isArray","catch","err","Error","message","finally","groupedRules","useMemo","buckets","Map","rule","category","includes","bucket","get","push","set","filter","has","map","items","jsx","Fragment","children","Loading","size","color","colors","primary","Text","className","length","View","SettingsListGroup","SettingsListItem","description","showChevron","rightElement","Chip","variant","points","accessibilityLabel","id","_default","exports","default"],"sourceRoot":"../../../../../src","sources":["ui/screens/trust/TrustRulesScreen.tsx"],"mappings":";;;;;;AACA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,aAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,MAAA,GAAAJ,OAAA;
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","_settingsList","_chip","_theme","_core","_useSurfaceHeader","_loading","_useI18n","_OxyContext","_jsxRuntime","CATEGORY_ORDER","TrustRulesScreen","oxyServices","useOxy","t","locale","useI18n","useSurfaceHeader","title","subtitle","bloomTheme","useTheme","rules","setRules","useState","isLoading","setIsLoading","error","setError","useEffect","getReputationRules","then","data","Array","isArray","catch","err","Error","message","finally","groupedRules","useMemo","buckets","Map","rule","category","includes","bucket","get","push","set","filter","has","map","items","jsx","Fragment","children","Loading","size","color","colors","primary","Text","className","length","View","SettingsListGroup","reputationCategoryLabel","SettingsListItem","description","showChevron","rightElement","Chip","variant","points","accessibilityLabel","id","_default","exports","default"],"sourceRoot":"../../../../../src","sources":["ui/screens/trust/TrustRulesScreen.tsx"],"mappings":";;;;;;AACA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,aAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,MAAA,GAAAJ,OAAA;AACA,IAAAK,KAAA,GAAAL,OAAA;AAGA,IAAAM,iBAAA,GAAAN,OAAA;AACA,IAAAO,QAAA,GAAAP,OAAA;AACA,IAAAQ,QAAA,GAAAR,OAAA;AACA,IAAAS,WAAA,GAAAT,OAAA;AAAkD,IAAAU,WAAA,GAAAV,OAAA;AAElD,uDACA,MAAMW,cAAoC,GAAG,CACzC,SAAS,EACT,QAAQ,EACR,OAAO,EACP,YAAY,EACZ,UAAU,EACV,SAAS,EACT,OAAO,CACV;AAED,MAAMC,gBAA2C,GAAGA,CAAA,KAAM;EACtD,MAAM;IAAEC;EAAY,CAAC,GAAG,IAAAC,kBAAM,EAAC,CAAC;EAChC,MAAM;IAAEC,CAAC;IAAEC;EAAO,CAAC,GAAG,IAAAC,gBAAO,EAAC,CAAC;EAE/B,IAAAC,kCAAgB,EAAC;IACbC,KAAK,EAAEJ,CAAC,CAAC,mBAAmB,CAAC,IAAI,aAAa;IAC9CK,QAAQ,EAAEL,CAAC,CAAC,sBAAsB,CAAC,IAAI;EAC3C,CAAC,CAAC;EACF,MAAMM,UAAU,GAAG,IAAAC,eAAQ,EAAC,CAAC;EAE7B,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAG,IAAAC,eAAQ,EAAmB,EAAE,CAAC;EACxD,MAAM,CAACC,SAAS,EAAEC,YAAY,CAAC,GAAG,IAAAF,eAAQ,EAAC,IAAI,CAAC;EAChD,MAAM,CAACG,KAAK,EAAEC,QAAQ,CAAC,GAAG,IAAAJ,eAAQ,EAAgB,IAAI,CAAC;EAEvD,IAAAK,gBAAS,EAAC,MAAM;IACZH,YAAY,CAAC,IAAI,CAAC;IAClBE,QAAQ,CAAC,IAAI,CAAC;IACdhB,WAAW,CAACkB,kBAAkB,CAAC,CAAC,CAC3BC,IAAI,CAAEC,IAAI,IAAKT,QAAQ,CAACU,KAAK,CAACC,OAAO,CAACF,IAAI,CAAC,GAAGA,IAAI,GAAG,EAAE,CAAC,CAAC,CACzDG,KAAK,CAAEC,GAAY,IAAKR,QAAQ,CAAC,CAACQ,GAAG,YAAYC,KAAK,GAAGD,GAAG,CAACE,OAAO,GAAG,IAAI,KAAK,sBAAsB,CAAC,CAAC,CACxGC,OAAO,CAAC,MAAMb,YAAY,CAAC,KAAK,CAAC,CAAC;EAC3C,CAAC,EAAE,CAACd,WAAW,CAAC,CAAC;;EAEjB;EACA;EACA,MAAM4B,YAAY,GAAG,IAAAC,cAAO,EAAC,MAAM;IAC/B,MAAMC,OAAO,GAAG,IAAIC,GAAG,CAAuC,CAAC;IAC/D,KAAK,MAAMC,IAAI,IAAItB,KAAK,EAAE;MACtB,MAAMuB,QAA4B,GAAGnC,cAAc,CAACoC,QAAQ,CAACF,IAAI,CAACC,QAAQ,CAAC,GACrED,IAAI,CAACC,QAAQ,GACb,OAAO;MACb,MAAME,MAAM,GAAGL,OAAO,CAACM,GAAG,CAACH,QAAQ,CAAC;MACpC,IAAIE,MAAM,EAAE;QACRA,MAAM,CAACE,IAAI,CAACL,IAAI,CAAC;MACrB,CAAC,MAAM;QACHF,OAAO,CAACQ,GAAG,CAACL,QAAQ,EAAE,CAACD,IAAI,CAAC,CAAC;MACjC;IACJ;IACA,OAAOlC,cAAc,CAChByC,MAAM,CAAEN,QAAQ,IAAKH,OAAO,CAACU,GAAG,CAACP,QAAQ,CAAC,CAAC,CAC3CQ,GAAG,CAAER,QAAQ,KAAM;MAAEA,QAAQ;MAAES,KAAK,EAAEZ,OAAO,CAACM,GAAG,CAACH,QAAQ,CAAC,IAAI;IAAG,CAAC,CAAC,CAAC;EAC9E,CAAC,EAAE,CAACvB,KAAK,CAAC,CAAC;EAEX,oBACI,IAAAb,WAAA,CAAA8C,GAAA,EAAA9C,WAAA,CAAA+C,QAAA;IAAAC,QAAA,EACKhC,SAAS,gBACN,IAAAhB,WAAA,CAAA8C,GAAA,EAACjD,QAAA,CAAAoD,OAAO;MAACC,IAAI,EAAC,OAAO;MAACC,KAAK,EAAExC,UAAU,CAACyC,MAAM,CAACC;IAAQ,CAAE,CAAC,GAC1DnC,KAAK,gBACL,IAAAlB,WAAA,CAAA8C,GAAA,EAACvD,YAAA,CAAA+D,IAAI;MAACC,SAAS,EAAC,wEAAwE;MAAAP,QAAA,EACnF9B;IAAK,CACJ,CAAC,GACPL,KAAK,CAAC2C,MAAM,KAAK,CAAC,gBAClB,IAAAxD,WAAA,CAAA8C,GAAA,EAACvD,YAAA,CAAA+D,IAAI;MAACC,SAAS,EAAC,wEAAwE;MAAAP,QAAA,EACnF3C,CAAC,CAAC,mBAAmB,CAAC,IAAI;IAAiB,CAC1C,CAAC,gBAEH,IAAAL,WAAA,CAAA8C,GAAA,EAACvD,YAAA,CAAAkE,IAAI;MAACF,SAAS,EAAC,0CAA0C;MAAAP,QAAA,EACrDjB,YAAY,CAACa,GAAG,CAAC,CAAC;QAAER,QAAQ;QAAES;MAAM,CAAC,kBAClC,IAAA7C,WAAA,CAAA8C,GAAA,EAACtD,aAAA,CAAAkE,iBAAiB;QAEdjD,KAAK,EAAE,IAAAkD,6BAAuB,EAACrD,MAAM,EAAE8B,QAAQ,CAAE;QAAAY,QAAA,EAEhDH,KAAK,CAACD,GAAG,CAAET,IAAI,iBACZ,IAAAnC,WAAA,CAAA8C,GAAA,EAACtD,aAAA,CAAAoE,gBAAgB;UAEbnD,KAAK,EAAE0B,IAAI,CAAC0B,WAAY;UACxBC,WAAW,EAAE,KAAM;UACnBC,YAAY,eACR,IAAA/D,WAAA,CAAA8C,GAAA,EAACrD,KAAA,CAAAuE,IAAI;YACDC,OAAO,EAAC,MAAM;YACdf,IAAI,EAAC,OAAO;YACZC,KAAK,EAAEhB,IAAI,CAAC+B,MAAM,GAAG,CAAC,GAAG,SAAS,GAAG/B,IAAI,CAAC+B,MAAM,GAAG,CAAC,GAAG,OAAO,GAAG,SAAU;YAAAlB,QAAA,EAE1Eb,IAAI,CAAC+B,MAAM,GAAG,CAAC,GAAG,IAAI/B,IAAI,CAAC+B,MAAM,EAAE,GAAG,GAAG/B,IAAI,CAAC+B,MAAM;UAAE,CACrD,CACT;UACDC,kBAAkB,EAAE,GAAGhC,IAAI,CAAC0B,WAAW,KAAK1B,IAAI,CAAC+B,MAAM,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG/B,IAAI,CAAC+B,MAAM,IAAI7D,CAAC,CAAC,sBAAsB,CAAC,IAAI,mBAAmB;QAAG,GAZtI8B,IAAI,CAACiC,EAab,CACJ;MAAC,GAnBGhC,QAoBU,CACtB;IAAC,CACA;EACb,CACH,CAAC;AAEX,CAAC;AAAC,IAAAiC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEarE,gBAAgB","ignoreList":[]}
|
|
@@ -4,6 +4,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.UNKNOWN_FOLLOW_STATUS = void 0;
|
|
7
|
+
exports.followRecordToStatus = followRecordToStatus;
|
|
8
|
+
exports.followRecordsToStatusMap = followRecordsToStatusMap;
|
|
9
|
+
exports.isCompleteFollowStatus = isCompleteFollowStatus;
|
|
7
10
|
exports.isFollowedGlobally = isFollowedGlobally;
|
|
8
11
|
exports.useFollowTargetStore = void 0;
|
|
9
12
|
exports.withApplicationMode = withApplicationMode;
|
|
@@ -96,6 +99,42 @@ function isFollowedGlobally(status) {
|
|
|
96
99
|
return status.globalState === 'active' || status.globalState === 'requested';
|
|
97
100
|
}
|
|
98
101
|
|
|
102
|
+
/**
|
|
103
|
+
* Whether a cached status is safe to act on without a round trip.
|
|
104
|
+
*
|
|
105
|
+
* List payloads often carry `globalState` without `relationshipId`. Treating
|
|
106
|
+
* that as authoritative would leave disable/unfollow as no-ops forever.
|
|
107
|
+
*/
|
|
108
|
+
function isCompleteFollowStatus(status) {
|
|
109
|
+
if (isFollowedGlobally(status)) return Boolean(status.relationshipId);
|
|
110
|
+
return true;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
/** Convert one list row into the status shape the follow-target store expects. */
|
|
114
|
+
function followRecordToStatus(record) {
|
|
115
|
+
return {
|
|
116
|
+
relationshipId: record.relationshipId,
|
|
117
|
+
globalState: record.globalState,
|
|
118
|
+
applicationMode: record.applicationMode,
|
|
119
|
+
effectiveState: record.effectiveState,
|
|
120
|
+
...(record.expiresAt ? {
|
|
121
|
+
expiresAt: record.expiresAt
|
|
122
|
+
} : {})
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
/**
|
|
127
|
+
* Bulk-convert a follow list page into a status map keyed by target id — the
|
|
128
|
+
* input shape for `useFollowTargetStore.getState().seed(...)`.
|
|
129
|
+
*/
|
|
130
|
+
function followRecordsToStatusMap(records) {
|
|
131
|
+
const entries = {};
|
|
132
|
+
for (const record of records) {
|
|
133
|
+
entries[record.target.id] = followRecordToStatus(record);
|
|
134
|
+
}
|
|
135
|
+
return entries;
|
|
136
|
+
}
|
|
137
|
+
|
|
99
138
|
/**
|
|
100
139
|
* Apply a mode change to a cached status without a round trip.
|
|
101
140
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_zustand","require","UNKNOWN_FOLLOW_STATUS","exports","globalState","applicationMode","effectiveState","useFollowTargetStore","create","set","statuses","pending","errors","setStatus","targetId","status","s","seed","entries","setPending","setError","error","reset","isFollowedGlobally","withApplicationMode","mode"],"sourceRoot":"../../../../src","sources":["ui/stores/followTargetStore.ts"],"mappings":"
|
|
1
|
+
{"version":3,"names":["_zustand","require","UNKNOWN_FOLLOW_STATUS","exports","globalState","applicationMode","effectiveState","useFollowTargetStore","create","set","statuses","pending","errors","setStatus","targetId","status","s","seed","entries","setPending","setError","error","reset","isFollowedGlobally","isCompleteFollowStatus","Boolean","relationshipId","followRecordToStatus","record","expiresAt","followRecordsToStatusMap","records","target","id","withApplicationMode","mode"],"sourceRoot":"../../../../src","sources":["ui/stores/followTargetStore.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -146,13 +146,22 @@ export { OxyConsentScreen } from "./ui/components/OxyConsentScreen.js";
|
|
|
146
146
|
export { RequireOxyAuth } from "./ui/components/RequireOxyAuth.js";
|
|
147
147
|
export { default as FollowButton } from "./ui/components/FollowButton.js";
|
|
148
148
|
// The follow graph (#809): follows anything registered, not just users.
|
|
149
|
-
export { FollowTargetButton
|
|
149
|
+
export { FollowTargetButton,
|
|
150
|
+
// The product rules the button encodes, for an application drawing its own
|
|
151
|
+
// affordance instead of using it — a chip grid, a compact row control.
|
|
152
|
+
// Unexported, they get duplicated, and the duplicate is where the "off here"
|
|
153
|
+
// rule goes wrong: pressing a follow that is switched off here must re-enable
|
|
154
|
+
// it here, not unfollow everywhere.
|
|
155
|
+
buildFollowMenuItems, resolveFollowPrimaryAction, FOLLOW_ACTION_LEAVES_ACTIVE } from "./ui/components/FollowTargetButton.js";
|
|
150
156
|
export { useFollowTarget } from "./ui/hooks/useFollowTarget.js";
|
|
151
157
|
export { useFollowTargetStore, UNKNOWN_FOLLOW_STATUS,
|
|
152
158
|
// The answer to "does the user follow this at all". Documented in
|
|
153
159
|
// docs/FOLLOWS.md and, until now, not exported — so the one line of that
|
|
154
160
|
// guide most likely to be reached for did not resolve.
|
|
155
|
-
isFollowedGlobally, withApplicationMode
|
|
161
|
+
isFollowedGlobally, withApplicationMode,
|
|
162
|
+
// Whether a cached status is safe to act on without a round trip — list rows
|
|
163
|
+
// often carry globalState without relationshipId.
|
|
164
|
+
isCompleteFollowStatus, followRecordToStatus, followRecordsToStatusMap } from "./ui/stores/followTargetStore.js";
|
|
156
165
|
export { default as OxyPayButton } from "./ui/components/OxyPayButton.js";
|
|
157
166
|
export { LogoIcon } from "./ui/components/logo/LogoIcon.js";
|
|
158
167
|
export { LogoText } from "./ui/components/logo/LogoText.js";
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["setPlatformOS","Platform","OS","default","OxyProvider","useOxy","useAuth","IdentityBoundSessionError","useAuthStore","useAccountStore","useAssetStore","useAssets","useAssetsStore","useAsset","useUploadProgress","useAssetLoading","useAssetErrors","useAssetsByApp","useAssetsByEntity","useAssetUsageCount","useIsAssetLinked","setOxyAssetInstance","useFileDownloadUrl","useFollow","useFollowerCounts","useSeedFollowStatuses","useStorage","useUserProfile","useUserProfiles","useCurrentUser","useUserById","useUserByUsername","useUsersBySessions","usePrivacySettings","useConnectedApps","useSessions","useSession","useDeviceSessions","useUserDevices","useSecurityInfo","useAccountStorageUsage","useSecurityActivity","useRecentSecurityActivity","useInfiniteSecurityActivity","useAuthMethods","useUserSubscription","useUserPayments","useUserWallet","useUserWalletTransactions","useUpdateProfile","useUploadAvatar","useUpdateAccountSettings","useUpdatePrivacySettings","useUpdateNotificationPreferences","useUpdateUserPreferences","useRevokeConnectedApp","useUploadFile","useSwitchSession","useLogoutSession","useLogoutAll","useUpdateDeviceName","useRemoveDevice","createProfileMutation","createGenericMutation","mutationKeys","queryKeys","invalidateAccountQueries","invalidateUserQueries","invalidateSessionQueries","invalidateDeviceQueries","invalidatePrivacyQueries","invalidateSecurityQueries","invalidateStorageQueries","invalidatePaymentsQueries","invalidateConnectedAppsQueries","invalidateAuthMethodsQueries","upsertCachedUser","upsertCachedUsers","CLEARABLE_USER_FIELDS","clearedFieldsFromProfileUpdate","clearedFieldsFromAccountUpdate","useMutationStatus","useOnlineStatus","useOxyEvent","handleAuthError","isInvalidSessionError","isTimeoutOrNetworkError","extractErrorMessage","useFileFiltering","OXY_OAUTH_STATE_STORAGE_KEY","OXY_OAUTH_CODE_VERIFIER_STORAGE_KEY","OxySignInButton","openOAuthPopup","OxyAuthPrompt","OxyOAuthCallback","OxyConsentScreen","RequireOxyAuth","FollowButton","FollowTargetButton","useFollowTarget","useFollowTargetStore","UNKNOWN_FOLLOW_STATUS","isFollowedGlobally","withApplicationMode","OxyPayButton","LogoIcon","LogoText","ProfileButton","OxyAuthChooser","OxySignInRequestSurface","useSwitchableAccounts","ProfileScreen","ManageAccountScreen","NotificationsScreen","PreferencesScreen","ConnectedAppsScreen","CreateAccountScreen","AccountMembersScreen","AccountSettingsScreen","showBottomSheet","closeBottomSheet","useSurfaceHeader","SurfaceHeaderAction","openAccountDialog","closeAccountDialog","subscribeToAccountDialog"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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
|
|
1
|
+
{"version":3,"names":["setPlatformOS","Platform","OS","default","OxyProvider","useOxy","useAuth","IdentityBoundSessionError","useAuthStore","useAccountStore","useAssetStore","useAssets","useAssetsStore","useAsset","useUploadProgress","useAssetLoading","useAssetErrors","useAssetsByApp","useAssetsByEntity","useAssetUsageCount","useIsAssetLinked","setOxyAssetInstance","useFileDownloadUrl","useFollow","useFollowerCounts","useSeedFollowStatuses","useStorage","useUserProfile","useUserProfiles","useCurrentUser","useUserById","useUserByUsername","useUsersBySessions","usePrivacySettings","useConnectedApps","useSessions","useSession","useDeviceSessions","useUserDevices","useSecurityInfo","useAccountStorageUsage","useSecurityActivity","useRecentSecurityActivity","useInfiniteSecurityActivity","useAuthMethods","useUserSubscription","useUserPayments","useUserWallet","useUserWalletTransactions","useUpdateProfile","useUploadAvatar","useUpdateAccountSettings","useUpdatePrivacySettings","useUpdateNotificationPreferences","useUpdateUserPreferences","useRevokeConnectedApp","useUploadFile","useSwitchSession","useLogoutSession","useLogoutAll","useUpdateDeviceName","useRemoveDevice","createProfileMutation","createGenericMutation","mutationKeys","queryKeys","invalidateAccountQueries","invalidateUserQueries","invalidateSessionQueries","invalidateDeviceQueries","invalidatePrivacyQueries","invalidateSecurityQueries","invalidateStorageQueries","invalidatePaymentsQueries","invalidateConnectedAppsQueries","invalidateAuthMethodsQueries","upsertCachedUser","upsertCachedUsers","CLEARABLE_USER_FIELDS","clearedFieldsFromProfileUpdate","clearedFieldsFromAccountUpdate","useMutationStatus","useOnlineStatus","useOxyEvent","handleAuthError","isInvalidSessionError","isTimeoutOrNetworkError","extractErrorMessage","useFileFiltering","OXY_OAUTH_STATE_STORAGE_KEY","OXY_OAUTH_CODE_VERIFIER_STORAGE_KEY","OxySignInButton","openOAuthPopup","OxyAuthPrompt","OxyOAuthCallback","OxyConsentScreen","RequireOxyAuth","FollowButton","FollowTargetButton","buildFollowMenuItems","resolveFollowPrimaryAction","FOLLOW_ACTION_LEAVES_ACTIVE","useFollowTarget","useFollowTargetStore","UNKNOWN_FOLLOW_STATUS","isFollowedGlobally","withApplicationMode","isCompleteFollowStatus","followRecordToStatus","followRecordsToStatusMap","OxyPayButton","LogoIcon","LogoText","ProfileButton","OxyAuthChooser","OxySignInRequestSurface","useSwitchableAccounts","ProfileScreen","ManageAccountScreen","NotificationsScreen","PreferencesScreen","ConnectedAppsScreen","CreateAccountScreen","AccountMembersScreen","AccountSettingsScreen","showBottomSheet","closeBottomSheet","useSurfaceHeader","SurfaceHeaderAction","openAccountDialog","closeAccountDialog","subscribeToAccountDialog"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -40,6 +40,7 @@ import { ChevronBottom_Stroke2_Corner0_Rounded as ChevronDown } from '@oxyhq/blo
|
|
|
40
40
|
import { Menu, MenuContent, MenuItem, MenuItemText, MenuTrigger } from '@oxyhq/bloom/menu';
|
|
41
41
|
import { toast } from '@oxyhq/bloom/toast';
|
|
42
42
|
import { useFollowTarget } from "../hooks/useFollowTarget.js";
|
|
43
|
+
import { useFollowTargetStore } from "../stores/followTargetStore.js";
|
|
43
44
|
|
|
44
45
|
/**
|
|
45
46
|
* The small vocabulary of verbs the ecosystem actually uses. An application
|
|
@@ -189,6 +190,7 @@ export const FollowTargetButton = /*#__PURE__*/memo(function FollowTargetButton(
|
|
|
189
190
|
showOptions = true,
|
|
190
191
|
durations = DEFAULT_DURATIONS,
|
|
191
192
|
applicationName,
|
|
193
|
+
initialStatus,
|
|
192
194
|
onChange
|
|
193
195
|
}) {
|
|
194
196
|
const {
|
|
@@ -200,7 +202,13 @@ export const FollowTargetButton = /*#__PURE__*/memo(function FollowTargetButton(
|
|
|
200
202
|
unfollow,
|
|
201
203
|
disableHere,
|
|
202
204
|
enableHere
|
|
203
|
-
} = useFollowTarget(targetId
|
|
205
|
+
} = useFollowTarget(targetId, {
|
|
206
|
+
initialStatus
|
|
207
|
+
});
|
|
208
|
+
const reportMutationFailure = useCallback(() => {
|
|
209
|
+
const message = useFollowTargetStore.getState().errors[targetId] ?? 'Could not update follow status';
|
|
210
|
+
toast.error(message);
|
|
211
|
+
}, [targetId]);
|
|
204
212
|
const text = useMemo(() => ({
|
|
205
213
|
...VERB_LABELS[verb],
|
|
206
214
|
...labels
|
|
@@ -229,25 +237,28 @@ export const FollowTargetButton = /*#__PURE__*/memo(function FollowTargetButton(
|
|
|
229
237
|
applicationMode: status.applicationMode
|
|
230
238
|
})) {
|
|
231
239
|
case 'enable-here':
|
|
232
|
-
if (await enableHere()) onChange?.(FOLLOW_ACTION_LEAVES_ACTIVE['enable-here']);
|
|
240
|
+
if (await enableHere()) onChange?.(FOLLOW_ACTION_LEAVES_ACTIVE['enable-here']);else reportMutationFailure();
|
|
233
241
|
return;
|
|
234
242
|
case 'unfollow':
|
|
235
|
-
if (await unfollow()) onChange?.(FOLLOW_ACTION_LEAVES_ACTIVE.unfollow);
|
|
243
|
+
if (await unfollow()) onChange?.(FOLLOW_ACTION_LEAVES_ACTIVE.unfollow);else reportMutationFailure();
|
|
236
244
|
return;
|
|
237
245
|
case 'follow':
|
|
238
|
-
if (await follow()) onChange?.(FOLLOW_ACTION_LEAVES_ACTIVE.follow);
|
|
246
|
+
if (await follow()) onChange?.(FOLLOW_ACTION_LEAVES_ACTIVE.follow);else reportMutationFailure();
|
|
239
247
|
}
|
|
240
|
-
}, [isFollowing, status.applicationMode, follow, unfollow, enableHere, onChange]);
|
|
248
|
+
}, [isFollowing, status.applicationMode, follow, unfollow, enableHere, onChange, reportMutationFailure]);
|
|
241
249
|
const handleTimed = useCallback(async (seconds, durationLabel) => {
|
|
242
250
|
if (!(await follow({
|
|
243
251
|
expiresIn: seconds
|
|
244
|
-
})))
|
|
252
|
+
}))) {
|
|
253
|
+
reportMutationFailure();
|
|
254
|
+
return;
|
|
255
|
+
}
|
|
245
256
|
onChange?.(FOLLOW_ACTION_LEAVES_ACTIVE['follow-timed']);
|
|
246
257
|
// The confirmation is the point: a follow that ends on its own is a
|
|
247
258
|
// promise, and a user who does not see it made will not believe it.
|
|
248
259
|
// Which is also why it must not appear when the promise was not made.
|
|
249
260
|
toast.success(`Following for ${durationLabel.toLowerCase()}`);
|
|
250
|
-
}, [follow, onChange]);
|
|
261
|
+
}, [follow, onChange, reportMutationFailure]);
|
|
251
262
|
const menuItems = useMemo(() => buildFollowMenuItems({
|
|
252
263
|
following: isFollowing,
|
|
253
264
|
applicationMode: status.applicationMode,
|
|
@@ -269,20 +280,20 @@ export const FollowTargetButton = /*#__PURE__*/memo(function FollowTargetButton(
|
|
|
269
280
|
// menu item exists to end.
|
|
270
281
|
case 'enable-here':
|
|
271
282
|
void enableHere().then(ok => {
|
|
272
|
-
if (ok) onChange?.(FOLLOW_ACTION_LEAVES_ACTIVE['enable-here']);
|
|
283
|
+
if (ok) onChange?.(FOLLOW_ACTION_LEAVES_ACTIVE['enable-here']);else reportMutationFailure();
|
|
273
284
|
});
|
|
274
285
|
return;
|
|
275
286
|
case 'disable-here':
|
|
276
287
|
void disableHere().then(ok => {
|
|
277
|
-
if (ok) onChange?.(FOLLOW_ACTION_LEAVES_ACTIVE['disable-here']);
|
|
288
|
+
if (ok) onChange?.(FOLLOW_ACTION_LEAVES_ACTIVE['disable-here']);else reportMutationFailure();
|
|
278
289
|
});
|
|
279
290
|
return;
|
|
280
291
|
case 'unfollow':
|
|
281
292
|
void unfollow().then(ok => {
|
|
282
|
-
if (ok) onChange?.(FOLLOW_ACTION_LEAVES_ACTIVE.unfollow);
|
|
293
|
+
if (ok) onChange?.(FOLLOW_ACTION_LEAVES_ACTIVE.unfollow);else reportMutationFailure();
|
|
283
294
|
});
|
|
284
295
|
}
|
|
285
|
-
}, [handleTimed, enableHere, disableHere, unfollow, onChange]);
|
|
296
|
+
}, [handleTimed, enableHere, disableHere, unfollow, onChange, reportMutationFailure]);
|
|
286
297
|
const primary = /*#__PURE__*/_jsx(Button, {
|
|
287
298
|
variant: isFollowing ? 'secondary' : 'primary',
|
|
288
299
|
size: size
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["memo","useCallback","useMemo","View","Button","ChevronBottom_Stroke2_Corner0_Rounded","ChevronDown","Menu","MenuContent","MenuItem","MenuItemText","MenuTrigger","toast","useFollowTarget","jsx","_jsx","jsxs","_jsxs","VERB_LABELS","follow","idle","active","pending","disabled","subscribe","join","watch","HOUR","DEFAULT_DURATIONS","label","seconds","FOLLOW_ACTION_LEAVES_ACTIVE","unfollow","resolveFollowPrimaryAction","input","isFollowing","applicationMode","buildFollowMenuItems","items","following","durations","d","push","key","idleVerb","toLowerCase","action","type","durationLabel","hasRelationship","isPending","applicationName","FollowTargetButton","targetId","verb","labels","size","style","showOptions","onChange","status","isUnknown","disableHere","enableHere","text","globalState","handlePrimary","handleTimed","expiresIn","success","menuItems","Boolean","relationshipId","runItem","item","then","ok","primary","variant","loading","onPress","accessibilityLabel","children","length","flexDirection","alignItems","gap","hint","props","icon","width","accessibilityHint","showCancel","map"],"sourceRoot":"../../../../src","sources":["ui/components/FollowTargetButton.tsx"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,IAAI,EAAEC,WAAW,EAAEC,OAAO,QAAQ,OAAO;AAGlD,SAASC,IAAI,QAAQ,cAAc;AACnC,SAASC,MAAM,QAAQ,qBAAqB;AAC5C,SAASC,qCAAqC,IAAIC,WAAW,QAAQ,oBAAoB;AACzF,SAASC,IAAI,EAAEC,WAAW,EAAEC,QAAQ,EAAEC,YAAY,EAAEC,WAAW,QAAQ,mBAAmB;AAC1F,SAASC,KAAK,QAAQ,oBAAoB;AAC1C,SAASC,eAAe,QAAQ,6BAA0B;;
|
|
1
|
+
{"version":3,"names":["memo","useCallback","useMemo","View","Button","ChevronBottom_Stroke2_Corner0_Rounded","ChevronDown","Menu","MenuContent","MenuItem","MenuItemText","MenuTrigger","toast","useFollowTarget","useFollowTargetStore","jsx","_jsx","jsxs","_jsxs","VERB_LABELS","follow","idle","active","pending","disabled","subscribe","join","watch","HOUR","DEFAULT_DURATIONS","label","seconds","FOLLOW_ACTION_LEAVES_ACTIVE","unfollow","resolveFollowPrimaryAction","input","isFollowing","applicationMode","buildFollowMenuItems","items","following","durations","d","push","key","idleVerb","toLowerCase","action","type","durationLabel","hasRelationship","isPending","applicationName","FollowTargetButton","targetId","verb","labels","size","style","showOptions","initialStatus","onChange","status","isUnknown","disableHere","enableHere","reportMutationFailure","message","getState","errors","error","text","globalState","handlePrimary","handleTimed","expiresIn","success","menuItems","Boolean","relationshipId","runItem","item","then","ok","primary","variant","loading","onPress","accessibilityLabel","children","length","flexDirection","alignItems","gap","hint","props","icon","width","accessibilityHint","showCancel","map"],"sourceRoot":"../../../../src","sources":["ui/components/FollowTargetButton.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -45,6 +45,11 @@ export function signInProgressLabel(progress, route, t) {
|
|
|
45
45
|
return t('accountSwitcher.progress.confirming');
|
|
46
46
|
case 'identity-confirmed':
|
|
47
47
|
return t('accountSwitcher.progress.confirmed');
|
|
48
|
+
default:
|
|
49
|
+
{
|
|
50
|
+
const _exhaustive = progress;
|
|
51
|
+
return _exhaustive;
|
|
52
|
+
}
|
|
48
53
|
}
|
|
49
54
|
}
|
|
50
55
|
//# sourceMappingURL=signInProgress.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["signInProgressLabel","progress","route","t"],"sourceRoot":"../../../../../src","sources":["ui/components/authChooser/signInProgress.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAKA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASA,mBAAmBA,CACjCC,QAAwB,EACxBC,KAAkC,EAClCC,CAAY,EACG;EACf,QAAQF,QAAQ;IACd,KAAK,MAAM;MACT,OAAO,IAAI;IACb,KAAK,WAAW;MACd,OAAOE,CAAC,CAAC,oCAAoC,CAAC;IAChD,KAAK,mBAAmB;MACtB;MACA;MACA;MACA;MACA,IAAID,KAAK,KAAK,IAAI,EAAE,OAAOC,CAAC,CAAC,0CAA0C,CAAC;MACxE,IAAID,KAAK,KAAK,cAAc,EAAE,OAAOC,CAAC,CAAC,4CAA4C,CAAC;MACpF,OAAOA,CAAC,CAAC,2CAA2C,CAAC;IACvD,KAAK,sBAAsB;MACzB,OAAOA,CAAC,CAAC,uCAAuC,CAAC;IACnD,KAAK,mBAAmB;MACtB,OAAOA,CAAC,CAAC,0CAA0C,CAAC;IACtD,KAAK,qBAAqB;MACxB,OAAOA,CAAC,CAAC,qCAAqC,CAAC;IACjD,KAAK,oBAAoB;MACvB,OAAOA,CAAC,CAAC,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"names":["signInProgressLabel","progress","route","t","_exhaustive"],"sourceRoot":"../../../../../src","sources":["ui/components/authChooser/signInProgress.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAKA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASA,mBAAmBA,CACjCC,QAAwB,EACxBC,KAAkC,EAClCC,CAAY,EACG;EACf,QAAQF,QAAQ;IACd,KAAK,MAAM;MACT,OAAO,IAAI;IACb,KAAK,WAAW;MACd,OAAOE,CAAC,CAAC,oCAAoC,CAAC;IAChD,KAAK,mBAAmB;MACtB;MACA;MACA;MACA;MACA,IAAID,KAAK,KAAK,IAAI,EAAE,OAAOC,CAAC,CAAC,0CAA0C,CAAC;MACxE,IAAID,KAAK,KAAK,cAAc,EAAE,OAAOC,CAAC,CAAC,4CAA4C,CAAC;MACpF,OAAOA,CAAC,CAAC,2CAA2C,CAAC;IACvD,KAAK,sBAAsB;MACzB,OAAOA,CAAC,CAAC,uCAAuC,CAAC;IACnD,KAAK,mBAAmB;MACtB,OAAOA,CAAC,CAAC,0CAA0C,CAAC;IACtD,KAAK,qBAAqB;MACxB,OAAOA,CAAC,CAAC,qCAAqC,CAAC;IACjD,KAAK,oBAAoB;MACvB,OAAOA,CAAC,CAAC,oCAAoC,CAAC;IAChD;MAAS;QACP,MAAMC,WAAkB,GAAGH,QAAQ;QACnC,OAAOG,WAAW;MACpB;EACF;AACF","ignoreList":[]}
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
|
|
20
20
|
import { useCallback, useEffect } from 'react';
|
|
21
21
|
import { useOxy } from "../context/OxyContext.js";
|
|
22
|
-
import { isFollowedGlobally, UNKNOWN_FOLLOW_STATUS, useFollowTargetStore, withApplicationMode } from "../stores/followTargetStore.js";
|
|
22
|
+
import { isCompleteFollowStatus, isFollowedGlobally, UNKNOWN_FOLLOW_STATUS, useFollowTargetStore, withApplicationMode } from "../stores/followTargetStore.js";
|
|
23
23
|
export function useFollowTarget(targetId, options) {
|
|
24
24
|
const {
|
|
25
25
|
oxyServices,
|
|
@@ -48,12 +48,21 @@ export function useFollowTarget(targetId, options) {
|
|
|
48
48
|
useFollowTargetStore.getState().setStatus(targetId, next);
|
|
49
49
|
useFollowTargetStore.getState().setError(targetId, undefined);
|
|
50
50
|
} catch (e) {
|
|
51
|
-
useFollowTargetStore.getState()
|
|
51
|
+
const store = useFollowTargetStore.getState();
|
|
52
|
+
const message = e instanceof Error ? e.message : 'Could not read follow status';
|
|
53
|
+
// Leave `isUnknown` false so the button stays interactive and can retry.
|
|
54
|
+
// A failed read is not the same as "never asked" — disabling forever would
|
|
55
|
+
// strand the user with no affordance when the network blips.
|
|
56
|
+
if (!store.statuses[targetId]) {
|
|
57
|
+
store.setStatus(targetId, UNKNOWN_FOLLOW_STATUS);
|
|
58
|
+
}
|
|
59
|
+
store.setError(targetId, message);
|
|
52
60
|
}
|
|
53
61
|
}, [targetId, canUsePrivateApi, oxyServices]);
|
|
54
62
|
useEffect(() => {
|
|
55
63
|
if (!targetId || !canUsePrivateApi) return;
|
|
56
|
-
|
|
64
|
+
const existing = useFollowTargetStore.getState().statuses[targetId];
|
|
65
|
+
if (existing && isCompleteFollowStatus(existing)) return;
|
|
57
66
|
void refresh();
|
|
58
67
|
}, [targetId, canUsePrivateApi, refresh]);
|
|
59
68
|
|