@fluid-app/portal-sdk 0.1.218 → 0.1.220
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/{AppDownloadScreen-CZ0EOIZ5.mjs → AppDownloadScreen-Bhix461K.mjs} +1 -1
- package/dist/{AppDownloadScreen-CZ0EOIZ5.mjs.map → AppDownloadScreen-Bhix461K.mjs.map} +1 -1
- package/dist/{AppDownloadScreen-CBoC31wL.cjs → AppDownloadScreen-DwBzuPcF.cjs} +1 -1
- package/dist/{AppDownloadScreen-CBoC31wL.cjs.map → AppDownloadScreen-DwBzuPcF.cjs.map} +1 -1
- package/dist/{FluidProvider-22PONJDa.mjs → FluidProvider-DTttgSXi.mjs} +2 -2
- package/dist/{FluidProvider-22PONJDa.mjs.map → FluidProvider-DTttgSXi.mjs.map} +1 -1
- package/dist/{FluidProvider-DTdi38VO.cjs → FluidProvider-Dm4BhF_t.cjs} +2 -2
- package/dist/{FluidProvider-DTdi38VO.cjs.map → FluidProvider-Dm4BhF_t.cjs.map} +1 -1
- package/dist/{MessagingScreen-BM21ZxGL.mjs → MessagingScreen-CwEXQJlW.mjs} +2 -2
- package/dist/{MessagingScreen-BM21ZxGL.mjs.map → MessagingScreen-CwEXQJlW.mjs.map} +1 -1
- package/dist/{MessagingScreen-ehHW4LwI.cjs → MessagingScreen-DLQ5V0m4.cjs} +2 -2
- package/dist/{MessagingScreen-ehHW4LwI.cjs.map → MessagingScreen-DLQ5V0m4.cjs.map} +1 -1
- package/dist/{MessagingScreen-BDlC9VWJ.cjs → MessagingScreen-YBXJL7a9.cjs} +2 -2
- package/dist/{MySiteScreen-DUN5TTvU.mjs → MySiteScreen-BAPWqDfm.mjs} +11 -31
- package/dist/{MySiteScreen-DUN5TTvU.mjs.map → MySiteScreen-BAPWqDfm.mjs.map} +1 -1
- package/dist/{MySiteScreen-B0aOIzU4.cjs → MySiteScreen-CEX1qxdj.cjs} +2 -3
- package/dist/{MySiteScreen-B1L8coGs.cjs → MySiteScreen-DaNlmVSi.cjs} +24 -44
- package/dist/MySiteScreen-DaNlmVSi.cjs.map +1 -0
- package/dist/{PortalProductsApiProvider-CE71zDj9.mjs → PortalProductsApiProvider-BwIRudl_.mjs} +1 -1
- package/dist/{PortalProductsApiProvider-CE71zDj9.mjs.map → PortalProductsApiProvider-BwIRudl_.mjs.map} +1 -1
- package/dist/{PortalProductsApiProvider-Ca1oeTtJ.cjs → PortalProductsApiProvider-CRaocswH.cjs} +1 -1
- package/dist/{PortalProductsApiProvider-Ca1oeTtJ.cjs.map → PortalProductsApiProvider-CRaocswH.cjs.map} +1 -1
- package/dist/{ProfileScreen-DNRpWpex.cjs → ProfileScreen-B0WRifk_.cjs} +2 -2
- package/dist/{ProfileScreen-DNRpWpex.cjs.map → ProfileScreen-B0WRifk_.cjs.map} +1 -1
- package/dist/{ProfileScreen-VonnJyFa.mjs → ProfileScreen-BuejQU_V.mjs} +2 -2
- package/dist/{ProfileScreen-VonnJyFa.mjs.map → ProfileScreen-BuejQU_V.mjs.map} +1 -1
- package/dist/{ProfileScreen-CN1DDd-Q.cjs → ProfileScreen-g3se9Jw-.cjs} +2 -2
- package/dist/{ShareablesScreen-smU5pGyH.cjs → ShareablesScreen-CqvPzH1v.cjs} +3 -5
- package/dist/{PortalContentApiProvider-C9FeVwRb.mjs → ShareablesScreen-DV2nikzp.mjs} +460 -119
- package/dist/ShareablesScreen-DV2nikzp.mjs.map +1 -0
- package/dist/{PortalContentApiProvider-RXBp8FNj.cjs → ShareablesScreen-DwnMBftJ.cjs} +457 -156
- package/dist/ShareablesScreen-DwnMBftJ.cjs.map +1 -0
- package/dist/{ShopScreen-BAbAc2ah.cjs → ShopScreen-C-Ki6fuh.cjs} +3 -3
- package/dist/{ShopScreen-DQ1-68kV.mjs → ShopScreen-C2K1C2tt.mjs} +3 -3
- package/dist/{ShopScreen-DQ1-68kV.mjs.map → ShopScreen-C2K1C2tt.mjs.map} +1 -1
- package/dist/{ShopScreen-DcJ0DLvB.cjs → ShopScreen-smzNn37E.cjs} +3 -3
- package/dist/{ShopScreen-DcJ0DLvB.cjs.map → ShopScreen-smzNn37E.cjs.map} +1 -1
- package/dist/{UpgradeScreen-BdY0rCoF.cjs → UpgradeScreen-CNXQ1hcP.cjs} +1 -1
- package/dist/{UpgradeScreen-Dau5Elx4.mjs → UpgradeScreen-ChLiVSf7.mjs} +1 -1
- package/dist/{UpgradeScreen-Dau5Elx4.mjs.map → UpgradeScreen-ChLiVSf7.mjs.map} +1 -1
- package/dist/{UpgradeScreen-DrBa2uzD.cjs → UpgradeScreen-DMJUK4dl.cjs} +1 -1
- package/dist/{UpgradeScreen-DrBa2uzD.cjs.map → UpgradeScreen-DMJUK4dl.cjs.map} +1 -1
- package/dist/{dist-DWs3-WOI.cjs → dist-Bxa9x0H9.cjs} +218 -1
- package/dist/{dist-DWs3-WOI.cjs.map → dist-Bxa9x0H9.cjs.map} +1 -1
- package/dist/index.cjs +24 -53
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -20
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +1 -20
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +25 -52
- package/dist/index.mjs.map +1 -1
- package/dist/{portal_tenant_content-0zpnjBot.cjs → portal_tenant_content-BvYxmADB.cjs} +18 -1
- package/dist/portal_tenant_content-BvYxmADB.cjs.map +1 -0
- package/dist/{portal_tenant_content-DzIQtSLE.mjs → portal_tenant_content-nHEI2qEY.mjs} +13 -2
- package/dist/portal_tenant_content-nHEI2qEY.mjs.map +1 -0
- package/dist/{sortable.esm-CJLSD-Ce.mjs → sortable.esm-fSGrAZU2.mjs} +141 -2
- package/dist/sortable.esm-fSGrAZU2.mjs.map +1 -0
- package/package.json +14 -14
- package/dist/MySiteScreen-B1L8coGs.cjs.map +0 -1
- package/dist/PortalContentApiProvider-C9FeVwRb.mjs.map +0 -1
- package/dist/PortalContentApiProvider-RXBp8FNj.cjs.map +0 -1
- package/dist/ProductsScreen-BD53vh6Y.cjs +0 -103
- package/dist/ProductsScreen-BD53vh6Y.cjs.map +0 -1
- package/dist/ProductsScreen-BtUZxJCt.mjs +0 -91
- package/dist/ProductsScreen-BtUZxJCt.mjs.map +0 -1
- package/dist/ProductsScreen-DNpzJ6lh.cjs +0 -15
- package/dist/ProductsScreen-pkOeOW8M.mjs +0 -13
- package/dist/ShareablesScreen-CW1e9x4K.mjs +0 -188
- package/dist/ShareablesScreen-CW1e9x4K.mjs.map +0 -1
- package/dist/ShareablesScreen-D1J2Kljk.mjs +0 -15
- package/dist/ShareablesScreen-DC8xXUo4.cjs +0 -200
- package/dist/ShareablesScreen-DC8xXUo4.cjs.map +0 -1
- package/dist/portal_tenant_content-0zpnjBot.cjs.map +0 -1
- package/dist/portal_tenant_content-DzIQtSLE.mjs.map +0 -1
- package/dist/sortable.esm-CJLSD-Ce.mjs.map +0 -1
- package/dist/use-mysite-portal-BV-BP3CE.mjs +0 -141
- package/dist/use-mysite-portal-BV-BP3CE.mjs.map +0 -1
- package/dist/use-mysite-portal-DzDYRU0u.cjs +0 -219
- package/dist/use-mysite-portal-DzDYRU0u.cjs.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-mysite-portal-BV-BP3CE.mjs","names":[],"sources":["../../../mysite/ui/src/portal/hooks/use-mysite-portal.ts"],"sourcesContent":["\"use client\";\n\nimport { useQuery, useMutation, useQueryClient } from \"@tanstack/react-query\";\nimport { useMySiteApi } from \"@fluid-app/mysite-core/mysite-api-context\";\nimport type {\n MySiteProfile,\n MySiteLink,\n MySiteFavorite,\n MySiteTheme,\n CreateLinkBody,\n UpdateLinkBody,\n UpdateProfileBody,\n UpdateSettingsBody,\n AddFavoriteBody,\n} from \"@fluid-app/mysite-core/mysite-api-types\";\n\n// ---------------------------------------------------------------------------\n// Query keys — session-scoped, no userId/affiliateId needed\n// ---------------------------------------------------------------------------\n\nexport const PORTAL_MYSITE_KEYS = {\n profile: () => [\"portal-mysite\", \"profile\"] as const,\n links: () => [\"portal-mysite\", \"links\"] as const,\n favorites: () => [\"portal-mysite\", \"favorites\"] as const,\n themes: () => [\"portal-mysite\", \"themes\"] as const,\n};\n\n// ---------------------------------------------------------------------------\n// Profile hooks\n// ---------------------------------------------------------------------------\n\nexport function usePortalMySiteProfile() {\n const api = useMySiteApi();\n return useQuery<MySiteProfile>({\n queryKey: PORTAL_MYSITE_KEYS.profile(),\n queryFn: () => api.fetchProfile(),\n });\n}\n\nexport function usePortalUpdateProfile(options?: { onSuccess?: () => void }) {\n const api = useMySiteApi();\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: (body: UpdateProfileBody) => api.updateProfile(body),\n onSuccess: () => {\n queryClient.invalidateQueries({\n queryKey: PORTAL_MYSITE_KEYS.profile(),\n });\n options?.onSuccess?.();\n },\n });\n}\n\nexport function usePortalUpdateSettings(options?: { onSuccess?: () => void }) {\n const api = useMySiteApi();\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: (body: UpdateSettingsBody) => api.updateSettings(body),\n onSuccess: () => {\n queryClient.invalidateQueries({\n queryKey: PORTAL_MYSITE_KEYS.profile(),\n });\n options?.onSuccess?.();\n },\n });\n}\n\n// ---------------------------------------------------------------------------\n// Links hooks\n// ---------------------------------------------------------------------------\n\nexport function usePortalLinks() {\n const api = useMySiteApi();\n return useQuery<MySiteLink[]>({\n queryKey: PORTAL_MYSITE_KEYS.links(),\n queryFn: () => api.listLinks(),\n });\n}\n\nexport function usePortalCreateLink() {\n const api = useMySiteApi();\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: (body: CreateLinkBody) => api.createLink(body),\n onSuccess: () => {\n queryClient.invalidateQueries({\n queryKey: PORTAL_MYSITE_KEYS.links(),\n });\n },\n });\n}\n\nexport function usePortalUpdateLink() {\n const api = useMySiteApi();\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: ({ linkId, body }: { linkId: number; body: UpdateLinkBody }) =>\n api.updateLink(linkId, body),\n onSuccess: () => {\n queryClient.invalidateQueries({\n queryKey: PORTAL_MYSITE_KEYS.links(),\n });\n },\n });\n}\n\nexport function usePortalDeleteLink() {\n const api = useMySiteApi();\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: (linkId: number) => api.deleteLink(linkId),\n onSuccess: () => {\n queryClient.invalidateQueries({\n queryKey: PORTAL_MYSITE_KEYS.links(),\n });\n },\n });\n}\n\nexport function usePortalReorderLinks() {\n const api = useMySiteApi();\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: ({\n orderedIds,\n }: {\n orderedIds: number[];\n optimisticItems: MySiteLink[];\n }) => api.reorderLinks(orderedIds),\n onMutate: async ({ optimisticItems }) => {\n await queryClient.cancelQueries({\n queryKey: PORTAL_MYSITE_KEYS.links(),\n });\n const previousData = queryClient.getQueryData<MySiteLink[]>(\n PORTAL_MYSITE_KEYS.links(),\n );\n queryClient.setQueryData(PORTAL_MYSITE_KEYS.links(), optimisticItems);\n return { previousData };\n },\n onError: (_err, _vars, context) => {\n if (context?.previousData) {\n queryClient.setQueryData(\n PORTAL_MYSITE_KEYS.links(),\n context.previousData,\n );\n }\n },\n onSettled: () => {\n queryClient.invalidateQueries({\n queryKey: PORTAL_MYSITE_KEYS.links(),\n });\n },\n });\n}\n\n// ---------------------------------------------------------------------------\n// Favorites hooks\n// ---------------------------------------------------------------------------\n\nexport function usePortalFavorites() {\n const api = useMySiteApi();\n return useQuery<MySiteFavorite[]>({\n queryKey: PORTAL_MYSITE_KEYS.favorites(),\n queryFn: () => api.listFavorites(),\n });\n}\n\nexport function usePortalAddFavorite() {\n const api = useMySiteApi();\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: (body: AddFavoriteBody) => api.addFavorite(body),\n onSuccess: () => {\n queryClient.invalidateQueries({\n queryKey: PORTAL_MYSITE_KEYS.favorites(),\n });\n },\n });\n}\n\nexport function usePortalDeleteFavorite() {\n const api = useMySiteApi();\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: (favoriteId: number) => api.deleteFavorite(favoriteId),\n onSuccess: () => {\n queryClient.invalidateQueries({\n queryKey: PORTAL_MYSITE_KEYS.favorites(),\n });\n },\n });\n}\n\nexport function usePortalReorderFavorites() {\n const api = useMySiteApi();\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: ({\n orderedIds,\n }: {\n orderedIds: number[];\n optimisticItems: MySiteFavorite[];\n }) => api.reorderFavorites(orderedIds),\n onMutate: async ({ optimisticItems }) => {\n await queryClient.cancelQueries({\n queryKey: PORTAL_MYSITE_KEYS.favorites(),\n });\n const previousData = queryClient.getQueryData<MySiteFavorite[]>(\n PORTAL_MYSITE_KEYS.favorites(),\n );\n queryClient.setQueryData(PORTAL_MYSITE_KEYS.favorites(), optimisticItems);\n return { previousData };\n },\n onError: (_err, _vars, context) => {\n if (context?.previousData) {\n queryClient.setQueryData(\n PORTAL_MYSITE_KEYS.favorites(),\n context.previousData,\n );\n }\n },\n onSettled: () => {\n queryClient.invalidateQueries({\n queryKey: PORTAL_MYSITE_KEYS.favorites(),\n });\n },\n });\n}\n\n// ---------------------------------------------------------------------------\n// Themes hook\n// ---------------------------------------------------------------------------\n\nexport function usePortalMySiteThemes() {\n const api = useMySiteApi();\n return useQuery<MySiteTheme[]>({\n queryKey: PORTAL_MYSITE_KEYS.themes(),\n queryFn: () => api.listThemes(),\n });\n}\n"],"mappings":"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"}
|
|
@@ -1,219 +0,0 @@
|
|
|
1
|
-
require("./chunk-9hOWP6kD.cjs");
|
|
2
|
-
const require_mysite_api_context = require("./mysite-api-context-CilZcDS4.cjs");
|
|
3
|
-
let _tanstack_react_query = require("@tanstack/react-query");
|
|
4
|
-
//#region ../../mysite/ui/src/portal/hooks/use-mysite-portal.ts
|
|
5
|
-
const PORTAL_MYSITE_KEYS = {
|
|
6
|
-
profile: () => ["portal-mysite", "profile"],
|
|
7
|
-
links: () => ["portal-mysite", "links"],
|
|
8
|
-
favorites: () => ["portal-mysite", "favorites"],
|
|
9
|
-
themes: () => ["portal-mysite", "themes"]
|
|
10
|
-
};
|
|
11
|
-
function usePortalMySiteProfile() {
|
|
12
|
-
const api = require_mysite_api_context.useMySiteApi();
|
|
13
|
-
return (0, _tanstack_react_query.useQuery)({
|
|
14
|
-
queryKey: PORTAL_MYSITE_KEYS.profile(),
|
|
15
|
-
queryFn: () => api.fetchProfile()
|
|
16
|
-
});
|
|
17
|
-
}
|
|
18
|
-
function usePortalUpdateProfile(options) {
|
|
19
|
-
const api = require_mysite_api_context.useMySiteApi();
|
|
20
|
-
const queryClient = (0, _tanstack_react_query.useQueryClient)();
|
|
21
|
-
return (0, _tanstack_react_query.useMutation)({
|
|
22
|
-
mutationFn: (body) => api.updateProfile(body),
|
|
23
|
-
onSuccess: () => {
|
|
24
|
-
queryClient.invalidateQueries({ queryKey: PORTAL_MYSITE_KEYS.profile() });
|
|
25
|
-
options?.onSuccess?.();
|
|
26
|
-
}
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
function usePortalUpdateSettings(options) {
|
|
30
|
-
const api = require_mysite_api_context.useMySiteApi();
|
|
31
|
-
const queryClient = (0, _tanstack_react_query.useQueryClient)();
|
|
32
|
-
return (0, _tanstack_react_query.useMutation)({
|
|
33
|
-
mutationFn: (body) => api.updateSettings(body),
|
|
34
|
-
onSuccess: () => {
|
|
35
|
-
queryClient.invalidateQueries({ queryKey: PORTAL_MYSITE_KEYS.profile() });
|
|
36
|
-
options?.onSuccess?.();
|
|
37
|
-
}
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
function usePortalLinks() {
|
|
41
|
-
const api = require_mysite_api_context.useMySiteApi();
|
|
42
|
-
return (0, _tanstack_react_query.useQuery)({
|
|
43
|
-
queryKey: PORTAL_MYSITE_KEYS.links(),
|
|
44
|
-
queryFn: () => api.listLinks()
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
function usePortalCreateLink() {
|
|
48
|
-
const api = require_mysite_api_context.useMySiteApi();
|
|
49
|
-
const queryClient = (0, _tanstack_react_query.useQueryClient)();
|
|
50
|
-
return (0, _tanstack_react_query.useMutation)({
|
|
51
|
-
mutationFn: (body) => api.createLink(body),
|
|
52
|
-
onSuccess: () => {
|
|
53
|
-
queryClient.invalidateQueries({ queryKey: PORTAL_MYSITE_KEYS.links() });
|
|
54
|
-
}
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
function usePortalUpdateLink() {
|
|
58
|
-
const api = require_mysite_api_context.useMySiteApi();
|
|
59
|
-
const queryClient = (0, _tanstack_react_query.useQueryClient)();
|
|
60
|
-
return (0, _tanstack_react_query.useMutation)({
|
|
61
|
-
mutationFn: ({ linkId, body }) => api.updateLink(linkId, body),
|
|
62
|
-
onSuccess: () => {
|
|
63
|
-
queryClient.invalidateQueries({ queryKey: PORTAL_MYSITE_KEYS.links() });
|
|
64
|
-
}
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
|
-
function usePortalDeleteLink() {
|
|
68
|
-
const api = require_mysite_api_context.useMySiteApi();
|
|
69
|
-
const queryClient = (0, _tanstack_react_query.useQueryClient)();
|
|
70
|
-
return (0, _tanstack_react_query.useMutation)({
|
|
71
|
-
mutationFn: (linkId) => api.deleteLink(linkId),
|
|
72
|
-
onSuccess: () => {
|
|
73
|
-
queryClient.invalidateQueries({ queryKey: PORTAL_MYSITE_KEYS.links() });
|
|
74
|
-
}
|
|
75
|
-
});
|
|
76
|
-
}
|
|
77
|
-
function usePortalReorderLinks() {
|
|
78
|
-
const api = require_mysite_api_context.useMySiteApi();
|
|
79
|
-
const queryClient = (0, _tanstack_react_query.useQueryClient)();
|
|
80
|
-
return (0, _tanstack_react_query.useMutation)({
|
|
81
|
-
mutationFn: ({ orderedIds }) => api.reorderLinks(orderedIds),
|
|
82
|
-
onMutate: async ({ optimisticItems }) => {
|
|
83
|
-
await queryClient.cancelQueries({ queryKey: PORTAL_MYSITE_KEYS.links() });
|
|
84
|
-
const previousData = queryClient.getQueryData(PORTAL_MYSITE_KEYS.links());
|
|
85
|
-
queryClient.setQueryData(PORTAL_MYSITE_KEYS.links(), optimisticItems);
|
|
86
|
-
return { previousData };
|
|
87
|
-
},
|
|
88
|
-
onError: (_err, _vars, context) => {
|
|
89
|
-
if (context?.previousData) queryClient.setQueryData(PORTAL_MYSITE_KEYS.links(), context.previousData);
|
|
90
|
-
},
|
|
91
|
-
onSettled: () => {
|
|
92
|
-
queryClient.invalidateQueries({ queryKey: PORTAL_MYSITE_KEYS.links() });
|
|
93
|
-
}
|
|
94
|
-
});
|
|
95
|
-
}
|
|
96
|
-
function usePortalFavorites() {
|
|
97
|
-
const api = require_mysite_api_context.useMySiteApi();
|
|
98
|
-
return (0, _tanstack_react_query.useQuery)({
|
|
99
|
-
queryKey: PORTAL_MYSITE_KEYS.favorites(),
|
|
100
|
-
queryFn: () => api.listFavorites()
|
|
101
|
-
});
|
|
102
|
-
}
|
|
103
|
-
function usePortalDeleteFavorite() {
|
|
104
|
-
const api = require_mysite_api_context.useMySiteApi();
|
|
105
|
-
const queryClient = (0, _tanstack_react_query.useQueryClient)();
|
|
106
|
-
return (0, _tanstack_react_query.useMutation)({
|
|
107
|
-
mutationFn: (favoriteId) => api.deleteFavorite(favoriteId),
|
|
108
|
-
onSuccess: () => {
|
|
109
|
-
queryClient.invalidateQueries({ queryKey: PORTAL_MYSITE_KEYS.favorites() });
|
|
110
|
-
}
|
|
111
|
-
});
|
|
112
|
-
}
|
|
113
|
-
function usePortalReorderFavorites() {
|
|
114
|
-
const api = require_mysite_api_context.useMySiteApi();
|
|
115
|
-
const queryClient = (0, _tanstack_react_query.useQueryClient)();
|
|
116
|
-
return (0, _tanstack_react_query.useMutation)({
|
|
117
|
-
mutationFn: ({ orderedIds }) => api.reorderFavorites(orderedIds),
|
|
118
|
-
onMutate: async ({ optimisticItems }) => {
|
|
119
|
-
await queryClient.cancelQueries({ queryKey: PORTAL_MYSITE_KEYS.favorites() });
|
|
120
|
-
const previousData = queryClient.getQueryData(PORTAL_MYSITE_KEYS.favorites());
|
|
121
|
-
queryClient.setQueryData(PORTAL_MYSITE_KEYS.favorites(), optimisticItems);
|
|
122
|
-
return { previousData };
|
|
123
|
-
},
|
|
124
|
-
onError: (_err, _vars, context) => {
|
|
125
|
-
if (context?.previousData) queryClient.setQueryData(PORTAL_MYSITE_KEYS.favorites(), context.previousData);
|
|
126
|
-
},
|
|
127
|
-
onSettled: () => {
|
|
128
|
-
queryClient.invalidateQueries({ queryKey: PORTAL_MYSITE_KEYS.favorites() });
|
|
129
|
-
}
|
|
130
|
-
});
|
|
131
|
-
}
|
|
132
|
-
function usePortalMySiteThemes() {
|
|
133
|
-
const api = require_mysite_api_context.useMySiteApi();
|
|
134
|
-
return (0, _tanstack_react_query.useQuery)({
|
|
135
|
-
queryKey: PORTAL_MYSITE_KEYS.themes(),
|
|
136
|
-
queryFn: () => api.listThemes()
|
|
137
|
-
});
|
|
138
|
-
}
|
|
139
|
-
//#endregion
|
|
140
|
-
Object.defineProperty(exports, "PORTAL_MYSITE_KEYS", {
|
|
141
|
-
enumerable: true,
|
|
142
|
-
get: function() {
|
|
143
|
-
return PORTAL_MYSITE_KEYS;
|
|
144
|
-
}
|
|
145
|
-
});
|
|
146
|
-
Object.defineProperty(exports, "usePortalCreateLink", {
|
|
147
|
-
enumerable: true,
|
|
148
|
-
get: function() {
|
|
149
|
-
return usePortalCreateLink;
|
|
150
|
-
}
|
|
151
|
-
});
|
|
152
|
-
Object.defineProperty(exports, "usePortalDeleteFavorite", {
|
|
153
|
-
enumerable: true,
|
|
154
|
-
get: function() {
|
|
155
|
-
return usePortalDeleteFavorite;
|
|
156
|
-
}
|
|
157
|
-
});
|
|
158
|
-
Object.defineProperty(exports, "usePortalDeleteLink", {
|
|
159
|
-
enumerable: true,
|
|
160
|
-
get: function() {
|
|
161
|
-
return usePortalDeleteLink;
|
|
162
|
-
}
|
|
163
|
-
});
|
|
164
|
-
Object.defineProperty(exports, "usePortalFavorites", {
|
|
165
|
-
enumerable: true,
|
|
166
|
-
get: function() {
|
|
167
|
-
return usePortalFavorites;
|
|
168
|
-
}
|
|
169
|
-
});
|
|
170
|
-
Object.defineProperty(exports, "usePortalLinks", {
|
|
171
|
-
enumerable: true,
|
|
172
|
-
get: function() {
|
|
173
|
-
return usePortalLinks;
|
|
174
|
-
}
|
|
175
|
-
});
|
|
176
|
-
Object.defineProperty(exports, "usePortalMySiteProfile", {
|
|
177
|
-
enumerable: true,
|
|
178
|
-
get: function() {
|
|
179
|
-
return usePortalMySiteProfile;
|
|
180
|
-
}
|
|
181
|
-
});
|
|
182
|
-
Object.defineProperty(exports, "usePortalMySiteThemes", {
|
|
183
|
-
enumerable: true,
|
|
184
|
-
get: function() {
|
|
185
|
-
return usePortalMySiteThemes;
|
|
186
|
-
}
|
|
187
|
-
});
|
|
188
|
-
Object.defineProperty(exports, "usePortalReorderFavorites", {
|
|
189
|
-
enumerable: true,
|
|
190
|
-
get: function() {
|
|
191
|
-
return usePortalReorderFavorites;
|
|
192
|
-
}
|
|
193
|
-
});
|
|
194
|
-
Object.defineProperty(exports, "usePortalReorderLinks", {
|
|
195
|
-
enumerable: true,
|
|
196
|
-
get: function() {
|
|
197
|
-
return usePortalReorderLinks;
|
|
198
|
-
}
|
|
199
|
-
});
|
|
200
|
-
Object.defineProperty(exports, "usePortalUpdateLink", {
|
|
201
|
-
enumerable: true,
|
|
202
|
-
get: function() {
|
|
203
|
-
return usePortalUpdateLink;
|
|
204
|
-
}
|
|
205
|
-
});
|
|
206
|
-
Object.defineProperty(exports, "usePortalUpdateProfile", {
|
|
207
|
-
enumerable: true,
|
|
208
|
-
get: function() {
|
|
209
|
-
return usePortalUpdateProfile;
|
|
210
|
-
}
|
|
211
|
-
});
|
|
212
|
-
Object.defineProperty(exports, "usePortalUpdateSettings", {
|
|
213
|
-
enumerable: true,
|
|
214
|
-
get: function() {
|
|
215
|
-
return usePortalUpdateSettings;
|
|
216
|
-
}
|
|
217
|
-
});
|
|
218
|
-
|
|
219
|
-
//# sourceMappingURL=use-mysite-portal-DzDYRU0u.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-mysite-portal-DzDYRU0u.cjs","names":["useMySiteApi"],"sources":["../../../mysite/ui/src/portal/hooks/use-mysite-portal.ts"],"sourcesContent":["\"use client\";\n\nimport { useQuery, useMutation, useQueryClient } from \"@tanstack/react-query\";\nimport { useMySiteApi } from \"@fluid-app/mysite-core/mysite-api-context\";\nimport type {\n MySiteProfile,\n MySiteLink,\n MySiteFavorite,\n MySiteTheme,\n CreateLinkBody,\n UpdateLinkBody,\n UpdateProfileBody,\n UpdateSettingsBody,\n AddFavoriteBody,\n} from \"@fluid-app/mysite-core/mysite-api-types\";\n\n// ---------------------------------------------------------------------------\n// Query keys — session-scoped, no userId/affiliateId needed\n// ---------------------------------------------------------------------------\n\nexport const PORTAL_MYSITE_KEYS = {\n profile: () => [\"portal-mysite\", \"profile\"] as const,\n links: () => [\"portal-mysite\", \"links\"] as const,\n favorites: () => [\"portal-mysite\", \"favorites\"] as const,\n themes: () => [\"portal-mysite\", \"themes\"] as const,\n};\n\n// ---------------------------------------------------------------------------\n// Profile hooks\n// ---------------------------------------------------------------------------\n\nexport function usePortalMySiteProfile() {\n const api = useMySiteApi();\n return useQuery<MySiteProfile>({\n queryKey: PORTAL_MYSITE_KEYS.profile(),\n queryFn: () => api.fetchProfile(),\n });\n}\n\nexport function usePortalUpdateProfile(options?: { onSuccess?: () => void }) {\n const api = useMySiteApi();\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: (body: UpdateProfileBody) => api.updateProfile(body),\n onSuccess: () => {\n queryClient.invalidateQueries({\n queryKey: PORTAL_MYSITE_KEYS.profile(),\n });\n options?.onSuccess?.();\n },\n });\n}\n\nexport function usePortalUpdateSettings(options?: { onSuccess?: () => void }) {\n const api = useMySiteApi();\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: (body: UpdateSettingsBody) => api.updateSettings(body),\n onSuccess: () => {\n queryClient.invalidateQueries({\n queryKey: PORTAL_MYSITE_KEYS.profile(),\n });\n options?.onSuccess?.();\n },\n });\n}\n\n// ---------------------------------------------------------------------------\n// Links hooks\n// ---------------------------------------------------------------------------\n\nexport function usePortalLinks() {\n const api = useMySiteApi();\n return useQuery<MySiteLink[]>({\n queryKey: PORTAL_MYSITE_KEYS.links(),\n queryFn: () => api.listLinks(),\n });\n}\n\nexport function usePortalCreateLink() {\n const api = useMySiteApi();\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: (body: CreateLinkBody) => api.createLink(body),\n onSuccess: () => {\n queryClient.invalidateQueries({\n queryKey: PORTAL_MYSITE_KEYS.links(),\n });\n },\n });\n}\n\nexport function usePortalUpdateLink() {\n const api = useMySiteApi();\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: ({ linkId, body }: { linkId: number; body: UpdateLinkBody }) =>\n api.updateLink(linkId, body),\n onSuccess: () => {\n queryClient.invalidateQueries({\n queryKey: PORTAL_MYSITE_KEYS.links(),\n });\n },\n });\n}\n\nexport function usePortalDeleteLink() {\n const api = useMySiteApi();\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: (linkId: number) => api.deleteLink(linkId),\n onSuccess: () => {\n queryClient.invalidateQueries({\n queryKey: PORTAL_MYSITE_KEYS.links(),\n });\n },\n });\n}\n\nexport function usePortalReorderLinks() {\n const api = useMySiteApi();\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: ({\n orderedIds,\n }: {\n orderedIds: number[];\n optimisticItems: MySiteLink[];\n }) => api.reorderLinks(orderedIds),\n onMutate: async ({ optimisticItems }) => {\n await queryClient.cancelQueries({\n queryKey: PORTAL_MYSITE_KEYS.links(),\n });\n const previousData = queryClient.getQueryData<MySiteLink[]>(\n PORTAL_MYSITE_KEYS.links(),\n );\n queryClient.setQueryData(PORTAL_MYSITE_KEYS.links(), optimisticItems);\n return { previousData };\n },\n onError: (_err, _vars, context) => {\n if (context?.previousData) {\n queryClient.setQueryData(\n PORTAL_MYSITE_KEYS.links(),\n context.previousData,\n );\n }\n },\n onSettled: () => {\n queryClient.invalidateQueries({\n queryKey: PORTAL_MYSITE_KEYS.links(),\n });\n },\n });\n}\n\n// ---------------------------------------------------------------------------\n// Favorites hooks\n// ---------------------------------------------------------------------------\n\nexport function usePortalFavorites() {\n const api = useMySiteApi();\n return useQuery<MySiteFavorite[]>({\n queryKey: PORTAL_MYSITE_KEYS.favorites(),\n queryFn: () => api.listFavorites(),\n });\n}\n\nexport function usePortalAddFavorite() {\n const api = useMySiteApi();\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: (body: AddFavoriteBody) => api.addFavorite(body),\n onSuccess: () => {\n queryClient.invalidateQueries({\n queryKey: PORTAL_MYSITE_KEYS.favorites(),\n });\n },\n });\n}\n\nexport function usePortalDeleteFavorite() {\n const api = useMySiteApi();\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: (favoriteId: number) => api.deleteFavorite(favoriteId),\n onSuccess: () => {\n queryClient.invalidateQueries({\n queryKey: PORTAL_MYSITE_KEYS.favorites(),\n });\n },\n });\n}\n\nexport function usePortalReorderFavorites() {\n const api = useMySiteApi();\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: ({\n orderedIds,\n }: {\n orderedIds: number[];\n optimisticItems: MySiteFavorite[];\n }) => api.reorderFavorites(orderedIds),\n onMutate: async ({ optimisticItems }) => {\n await queryClient.cancelQueries({\n queryKey: PORTAL_MYSITE_KEYS.favorites(),\n });\n const previousData = queryClient.getQueryData<MySiteFavorite[]>(\n PORTAL_MYSITE_KEYS.favorites(),\n );\n queryClient.setQueryData(PORTAL_MYSITE_KEYS.favorites(), optimisticItems);\n return { previousData };\n },\n onError: (_err, _vars, context) => {\n if (context?.previousData) {\n queryClient.setQueryData(\n PORTAL_MYSITE_KEYS.favorites(),\n context.previousData,\n );\n }\n },\n onSettled: () => {\n queryClient.invalidateQueries({\n queryKey: PORTAL_MYSITE_KEYS.favorites(),\n });\n },\n });\n}\n\n// ---------------------------------------------------------------------------\n// Themes hook\n// ---------------------------------------------------------------------------\n\nexport function usePortalMySiteThemes() {\n const api = useMySiteApi();\n return useQuery<MySiteTheme[]>({\n queryKey: PORTAL_MYSITE_KEYS.themes(),\n queryFn: () => api.listThemes(),\n });\n}\n"],"mappings":";;;;AAoBA,MAAa,qBAAqB;CAChC,eAAe,CAAC,iBAAiB,UAAU;CAC3C,aAAa,CAAC,iBAAiB,QAAQ;CACvC,iBAAiB,CAAC,iBAAiB,YAAY;CAC/C,cAAc,CAAC,iBAAiB,SAAS;CAC1C;AAMD,SAAgB,yBAAyB;CACvC,MAAM,MAAMA,2BAAAA,cAAc;AAC1B,SAAA,GAAA,sBAAA,UAA+B;EAC7B,UAAU,mBAAmB,SAAS;EACtC,eAAe,IAAI,cAAc;EAClC,CAAC;;AAGJ,SAAgB,uBAAuB,SAAsC;CAC3E,MAAM,MAAMA,2BAAAA,cAAc;CAC1B,MAAM,eAAA,GAAA,sBAAA,iBAA8B;AAEpC,SAAA,GAAA,sBAAA,aAAmB;EACjB,aAAa,SAA4B,IAAI,cAAc,KAAK;EAChE,iBAAiB;AACf,eAAY,kBAAkB,EAC5B,UAAU,mBAAmB,SAAS,EACvC,CAAC;AACF,YAAS,aAAa;;EAEzB,CAAC;;AAGJ,SAAgB,wBAAwB,SAAsC;CAC5E,MAAM,MAAMA,2BAAAA,cAAc;CAC1B,MAAM,eAAA,GAAA,sBAAA,iBAA8B;AAEpC,SAAA,GAAA,sBAAA,aAAmB;EACjB,aAAa,SAA6B,IAAI,eAAe,KAAK;EAClE,iBAAiB;AACf,eAAY,kBAAkB,EAC5B,UAAU,mBAAmB,SAAS,EACvC,CAAC;AACF,YAAS,aAAa;;EAEzB,CAAC;;AAOJ,SAAgB,iBAAiB;CAC/B,MAAM,MAAMA,2BAAAA,cAAc;AAC1B,SAAA,GAAA,sBAAA,UAA8B;EAC5B,UAAU,mBAAmB,OAAO;EACpC,eAAe,IAAI,WAAW;EAC/B,CAAC;;AAGJ,SAAgB,sBAAsB;CACpC,MAAM,MAAMA,2BAAAA,cAAc;CAC1B,MAAM,eAAA,GAAA,sBAAA,iBAA8B;AAEpC,SAAA,GAAA,sBAAA,aAAmB;EACjB,aAAa,SAAyB,IAAI,WAAW,KAAK;EAC1D,iBAAiB;AACf,eAAY,kBAAkB,EAC5B,UAAU,mBAAmB,OAAO,EACrC,CAAC;;EAEL,CAAC;;AAGJ,SAAgB,sBAAsB;CACpC,MAAM,MAAMA,2BAAAA,cAAc;CAC1B,MAAM,eAAA,GAAA,sBAAA,iBAA8B;AAEpC,SAAA,GAAA,sBAAA,aAAmB;EACjB,aAAa,EAAE,QAAQ,WACrB,IAAI,WAAW,QAAQ,KAAK;EAC9B,iBAAiB;AACf,eAAY,kBAAkB,EAC5B,UAAU,mBAAmB,OAAO,EACrC,CAAC;;EAEL,CAAC;;AAGJ,SAAgB,sBAAsB;CACpC,MAAM,MAAMA,2BAAAA,cAAc;CAC1B,MAAM,eAAA,GAAA,sBAAA,iBAA8B;AAEpC,SAAA,GAAA,sBAAA,aAAmB;EACjB,aAAa,WAAmB,IAAI,WAAW,OAAO;EACtD,iBAAiB;AACf,eAAY,kBAAkB,EAC5B,UAAU,mBAAmB,OAAO,EACrC,CAAC;;EAEL,CAAC;;AAGJ,SAAgB,wBAAwB;CACtC,MAAM,MAAMA,2BAAAA,cAAc;CAC1B,MAAM,eAAA,GAAA,sBAAA,iBAA8B;AAEpC,SAAA,GAAA,sBAAA,aAAmB;EACjB,aAAa,EACX,iBAII,IAAI,aAAa,WAAW;EAClC,UAAU,OAAO,EAAE,sBAAsB;AACvC,SAAM,YAAY,cAAc,EAC9B,UAAU,mBAAmB,OAAO,EACrC,CAAC;GACF,MAAM,eAAe,YAAY,aAC/B,mBAAmB,OAAO,CAC3B;AACD,eAAY,aAAa,mBAAmB,OAAO,EAAE,gBAAgB;AACrE,UAAO,EAAE,cAAc;;EAEzB,UAAU,MAAM,OAAO,YAAY;AACjC,OAAI,SAAS,aACX,aAAY,aACV,mBAAmB,OAAO,EAC1B,QAAQ,aACT;;EAGL,iBAAiB;AACf,eAAY,kBAAkB,EAC5B,UAAU,mBAAmB,OAAO,EACrC,CAAC;;EAEL,CAAC;;AAOJ,SAAgB,qBAAqB;CACnC,MAAM,MAAMA,2BAAAA,cAAc;AAC1B,SAAA,GAAA,sBAAA,UAAkC;EAChC,UAAU,mBAAmB,WAAW;EACxC,eAAe,IAAI,eAAe;EACnC,CAAC;;AAiBJ,SAAgB,0BAA0B;CACxC,MAAM,MAAMA,2BAAAA,cAAc;CAC1B,MAAM,eAAA,GAAA,sBAAA,iBAA8B;AAEpC,SAAA,GAAA,sBAAA,aAAmB;EACjB,aAAa,eAAuB,IAAI,eAAe,WAAW;EAClE,iBAAiB;AACf,eAAY,kBAAkB,EAC5B,UAAU,mBAAmB,WAAW,EACzC,CAAC;;EAEL,CAAC;;AAGJ,SAAgB,4BAA4B;CAC1C,MAAM,MAAMA,2BAAAA,cAAc;CAC1B,MAAM,eAAA,GAAA,sBAAA,iBAA8B;AAEpC,SAAA,GAAA,sBAAA,aAAmB;EACjB,aAAa,EACX,iBAII,IAAI,iBAAiB,WAAW;EACtC,UAAU,OAAO,EAAE,sBAAsB;AACvC,SAAM,YAAY,cAAc,EAC9B,UAAU,mBAAmB,WAAW,EACzC,CAAC;GACF,MAAM,eAAe,YAAY,aAC/B,mBAAmB,WAAW,CAC/B;AACD,eAAY,aAAa,mBAAmB,WAAW,EAAE,gBAAgB;AACzE,UAAO,EAAE,cAAc;;EAEzB,UAAU,MAAM,OAAO,YAAY;AACjC,OAAI,SAAS,aACX,aAAY,aACV,mBAAmB,WAAW,EAC9B,QAAQ,aACT;;EAGL,iBAAiB;AACf,eAAY,kBAAkB,EAC5B,UAAU,mBAAmB,WAAW,EACzC,CAAC;;EAEL,CAAC;;AAOJ,SAAgB,wBAAwB;CACtC,MAAM,MAAMA,2BAAAA,cAAc;AAC1B,SAAA,GAAA,sBAAA,UAA+B;EAC7B,UAAU,mBAAmB,QAAQ;EACrC,eAAe,IAAI,YAAY;EAChC,CAAC"}
|