@edifice.io/react 2.6.5-develop-b2school.20260908164713 → 2.6.5-develop-integration.20260910145334

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.
@@ -34,7 +34,6 @@ export * from './useUiOverride';
34
34
  export * from './useUpload';
35
35
  export * from './useUploadFiles';
36
36
  export * from './useUser';
37
- export * from './useUserPreferences';
38
37
  export * from './useWorkspaceFile';
39
38
  export * from './useWorkspaceFolders';
40
39
  export * from './useWorkspaceSearch';
package/dist/index.js CHANGED
@@ -160,7 +160,6 @@ import { useOverlay } from "./components/PageLayout/hook/useOverlay.js";
160
160
  import { useScreeb } from "./hooks/useScreeb/useScreeb.js";
161
161
  import { useTreeSortable } from "./components/Tree/hooks/useTreeSortable.js";
162
162
  import { useTreeView } from "./components/TreeView/hooks/useTreeView.js";
163
- import { useUserPreferences } from "./hooks/useUserPreferences/useUserPreferences.js";
164
163
  export {
165
164
  AccessiblePalette,
166
165
  default2 as ActionBar,
@@ -351,7 +350,6 @@ export {
351
350
  default110 as useUpload,
352
351
  default111 as useUploadFiles,
353
352
  default112 as useUser,
354
- useUserPreferences,
355
353
  default113 as useWorkspaceFile,
356
354
  default114 as useWorkspaceFolders,
357
355
  default115 as useWorkspaceFoldersTree,
@@ -6,7 +6,6 @@ import { Navbar } from "../../../../components/Layout/components/Navbar.js";
6
6
  import { NavItem } from "../../../../components/Layout/components/NavItem.js";
7
7
  import { NavLink } from "../../../../components/Layout/components/NavLink.js";
8
8
  import useHeader from "../../../../components/Layout/hooks/useHeader.js";
9
- import SvgIconSetBackground from "../../../icons/components/IconSetBackground.js";
10
9
  import SvgIconCommunitiesBeta from "../../../icons/components/nav/IconCommunitiesBeta.js";
11
10
  import SvgIconDisconnect from "../../../icons/components/nav/IconDisconnect.js";
12
11
  import SvgIconHomeBeta from "../../../icons/components/nav/IconHomeBeta.js";
@@ -87,16 +86,10 @@ const Header = ({
87
86
  ] }),
88
87
  /* @__PURE__ */ jsxs(NavItem, { className: "position-relative", ref: userRef, id: popoverUserId, "aria-haspopup": "true", "aria-expanded": isUserHovered, "data-testid": "header-user-menu-button", children: [
89
88
  /* @__PURE__ */ jsx(NavLink, { link: "/userbook/mon-compte", translate: t("navbar.myaccount"), "data-testid": "header-user-profile-button", children: /* @__PURE__ */ jsx(Avatar, { alt: userName, size: "sm", src: userAvatar, variant: "circle", className: "bg-white", width: "32", height: "32" }) }),
90
- /* @__PURE__ */ jsx(Popover, { align: "end", className: "widget", id: popoverUserId, isVisible: isUserHovered, children: /* @__PURE__ */ jsxs(PopoverBody, { children: [
91
- /* @__PURE__ */ jsxs("a", { href: "/timeline/customize", className: "nav-link customize d-flex align-items-center gap-8", "data-testid": "header-customize-button", children: [
92
- /* @__PURE__ */ jsx(SvgIconSetBackground, { className: "icon" }),
93
- /* @__PURE__ */ jsx("span", { id: "cutomize-label", className: "nav-text", children: t("navbar.customize") })
94
- ] }),
95
- /* @__PURE__ */ jsxs("a", { href: "/auth/logout?callback=" + ((theme == null ? void 0 : theme.logoutCallback) ?? ""), className: "nav-link logout d-flex align-items-center gap-8", "data-testid": "header-logout-button", children: [
96
- /* @__PURE__ */ jsx(SvgIconDisconnect, { className: "icon logout" }),
97
- /* @__PURE__ */ jsx("span", { id: "logout-label", className: "nav-text", children: t("navbar.disconnect") })
98
- ] })
99
- ] }) })
89
+ /* @__PURE__ */ jsx(Popover, { align: "end", className: "widget", id: popoverUserId, isVisible: isUserHovered, children: /* @__PURE__ */ jsx(PopoverBody, { children: /* @__PURE__ */ jsxs("a", { href: "/auth/logout?callback=" + ((theme == null ? void 0 : theme.logoutCallback) ?? ""), className: "nav-link logout d-flex align-items-center gap-8", "data-testid": "header-logout-button", children: [
90
+ /* @__PURE__ */ jsx(SvgIconDisconnect, { className: "icon logout" }),
91
+ /* @__PURE__ */ jsx("span", { id: "logout-label", className: "nav-text", children: t("navbar.disconnect") })
92
+ ] }) }) })
100
93
  ] })
101
94
  ] })
102
95
  ] }) });
@@ -17,20 +17,18 @@ function useProfileLinks(profile) {
17
17
  structure: structureId
18
18
  });
19
19
  return `${baseUrl}?${params.toString()}`;
20
- }, buildClassesUrl = (parameters, classIds = []) => {
21
- const params = new URLSearchParams(parameters);
20
+ }, buildClassesUrl = (classIds = []) => {
21
+ const params = new URLSearchParams({
22
+ filters: "groups",
23
+ structure: structureId
24
+ });
22
25
  return classIds.forEach((c) => params.append("class", String(c))), `${baseUrl}?${params.toString()}`;
23
26
  };
24
27
  switch (profile) {
25
28
  case "Teacher":
26
29
  return [{
27
30
  text: t("homepage.userspace.teacher.link.classes"),
28
- url: buildClassesUrl(
29
- {
30
- filters: "groups"
31
- }
32
- /* Do not explicitely add classes ids, because none <=> see all*/
33
- )
31
+ url: buildClassesUrl(user.classes)
34
32
  }];
35
33
  case "Student":
36
34
  return [{
@@ -38,12 +36,7 @@ function useProfileLinks(profile) {
38
36
  url: "/userbook/annuaire#/search?filters=groups&profile=Teacher"
39
37
  }, {
40
38
  text: t("homepage.userspace.student.link.classes"),
41
- url: buildClassesUrl(
42
- {
43
- filters: "groups"
44
- }
45
- /* Do not explicitely add classes ids, because none <=> see all*/
46
- )
39
+ url: buildClassesUrl(user.classes)
47
40
  }];
48
41
  case "Relative":
49
42
  return children != null && children.length ? children.map((child) => {
@@ -52,10 +45,7 @@ function useProfileLinks(profile) {
52
45
  text: t("homepage.userspace.relative.link.classes", {
53
46
  childName: child.firstName
54
47
  }),
55
- url: buildClassesUrl({
56
- filters: "groups",
57
- structure: structureId
58
- }, (_a2 = child.classes) == null ? void 0 : _a2.map(({
48
+ url: buildClassesUrl((_a2 = child.classes) == null ? void 0 : _a2.map(({
59
49
  id
60
50
  }) => id))
61
51
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@edifice.io/react",
3
- "version": "2.6.5-develop-b2school.20260908164713",
3
+ "version": "2.6.5-develop-integration.20260910145334",
4
4
  "description": "Edifice React Library",
5
5
  "keywords": [
6
6
  "react",
@@ -140,9 +140,9 @@
140
140
  "swiper": "10.1.0",
141
141
  "ua-parser-js": "1.0.36",
142
142
  "zustand": "4.5.7",
143
- "@edifice.io/bootstrap": "2.6.5-develop-b2school.20260908164713",
144
- "@edifice.io/tiptap-extensions": "2.6.5-develop-b2school.20260908164713",
145
- "@edifice.io/utilities": "2.6.5-develop-b2school.20260908164713"
143
+ "@edifice.io/bootstrap": "2.6.5-develop-integration.20260910145334",
144
+ "@edifice.io/utilities": "2.6.5-develop-integration.20260910145334",
145
+ "@edifice.io/tiptap-extensions": "2.6.5-develop-integration.20260910145334"
146
146
  },
147
147
  "devDependencies": {
148
148
  "@babel/plugin-transform-react-pure-annotations": "7.27.1",
@@ -173,8 +173,8 @@
173
173
  "vite": "5.4.14",
174
174
  "vite-plugin-dts": "4.5.4",
175
175
  "vite-tsconfig-paths": "5.1.4",
176
- "@edifice.io/client": "2.6.5-develop-b2school.20260908164713",
177
- "@edifice.io/config": "2.6.5-develop-b2school.20260908164713"
176
+ "@edifice.io/client": "2.6.5-develop-integration.20260910145334",
177
+ "@edifice.io/config": "2.6.5-develop-integration.20260910145334"
178
178
  },
179
179
  "peerDependencies": {
180
180
  "@react-spring/web": "9.7.5",
@@ -1 +0,0 @@
1
- export { default, useUserPreferences } from './useUserPreferences';
@@ -1,9 +0,0 @@
1
- export declare const USER_PREFERENCES_QUERY_KEY: string[];
2
- export declare function useUserPreferences<T extends Record<string, any> = Record<string, any>>(): {
3
- preferences: T | undefined;
4
- isLoading: boolean;
5
- isError: boolean;
6
- refetch: (options?: import('@tanstack/react-query').RefetchOptions) => Promise<import('@tanstack/react-query').QueryObserverResult<T, Error>>;
7
- savePreferences: (preferences: T) => Promise<T>;
8
- };
9
- export default useUserPreferences;
@@ -1,39 +0,0 @@
1
- import { odeServices } from "@edifice.io/client";
2
- import { useQueryClient, useQuery, queryOptions, useMutation } from "@tanstack/react-query";
3
- const USER_PREFERENCES_QUERY_KEY = ["user", "preferences"];
4
- function useUserPreferences() {
5
- const queryClient = useQueryClient(), {
6
- data: preferences,
7
- isLoading,
8
- isError,
9
- refetch
10
- } = useQuery(queryOptions({
11
- queryKey: USER_PREFERENCES_QUERY_KEY,
12
- queryFn: () => odeServices.conf().getUserPreferences(),
13
- staleTime: 15e3
14
- })), mutation = useMutation({
15
- mutationFn: (preferences2) => odeServices.conf().saveUserPreferences(preferences2),
16
- onMutate: async (preferences2) => {
17
- queryClient.setQueryData(USER_PREFERENCES_QUERY_KEY, preferences2);
18
- },
19
- onError: () => {
20
- queryClient.invalidateQueries({
21
- queryKey: USER_PREFERENCES_QUERY_KEY
22
- });
23
- },
24
- onSuccess: (preferences2) => {
25
- queryClient.setQueryData(USER_PREFERENCES_QUERY_KEY, preferences2);
26
- }
27
- });
28
- return {
29
- preferences,
30
- isLoading,
31
- isError,
32
- refetch,
33
- savePreferences: (preferences2) => mutation.mutateAsync(preferences2)
34
- };
35
- }
36
- export {
37
- USER_PREFERENCES_QUERY_KEY,
38
- useUserPreferences
39
- };