@drodil/backstage-plugin-qeta-react 3.55.1 → 3.55.3

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 (72) hide show
  1. package/dist/components/ArticleContent/ArticleButtons.esm.js +1 -0
  2. package/dist/components/ArticleContent/ArticleButtons.esm.js.map +1 -1
  3. package/dist/components/Badges/UserBadges.esm.js +1 -0
  4. package/dist/components/Badges/UserBadges.esm.js.map +1 -1
  5. package/dist/components/Buttons/AddToCollectionButton.esm.js +1 -0
  6. package/dist/components/Buttons/AddToCollectionButton.esm.js.map +1 -1
  7. package/dist/components/Buttons/EntityFollowButton.esm.js +1 -0
  8. package/dist/components/Buttons/EntityFollowButton.esm.js.map +1 -1
  9. package/dist/components/Buttons/TagFollowButton.esm.js +1 -0
  10. package/dist/components/Buttons/TagFollowButton.esm.js.map +1 -1
  11. package/dist/components/Buttons/UserFollowButton.esm.js +1 -0
  12. package/dist/components/Buttons/UserFollowButton.esm.js.map +1 -1
  13. package/dist/components/CollectionsContainer/CollectionListItem.esm.js +1 -0
  14. package/dist/components/CollectionsContainer/CollectionListItem.esm.js.map +1 -1
  15. package/dist/components/ContentHeader/ContentHeader.esm.js +1 -0
  16. package/dist/components/ContentHeader/ContentHeader.esm.js.map +1 -1
  17. package/dist/components/EntitiesContainer/EntityListItem.esm.js +1 -0
  18. package/dist/components/EntitiesContainer/EntityListItem.esm.js.map +1 -1
  19. package/dist/components/FollowedLists/FollowedEntitiesList.esm.js +1 -0
  20. package/dist/components/FollowedLists/FollowedEntitiesList.esm.js.map +1 -1
  21. package/dist/components/FollowedLists/FollowedTagsList.esm.js +1 -0
  22. package/dist/components/FollowedLists/FollowedTagsList.esm.js.map +1 -1
  23. package/dist/components/FollowedLists/FollowedUsersList.esm.js +1 -0
  24. package/dist/components/FollowedLists/FollowedUsersList.esm.js.map +1 -1
  25. package/dist/components/HomePageCards/ImpactCard.esm.js +1 -0
  26. package/dist/components/HomePageCards/ImpactCard.esm.js.map +1 -1
  27. package/dist/components/HomePageCards/PostsCard.esm.js +1 -1
  28. package/dist/components/LeftMenu/LeftMenu.esm.js +1 -0
  29. package/dist/components/LeftMenu/LeftMenu.esm.js.map +1 -1
  30. package/dist/components/LinkCard/LinkCard.esm.js +1 -0
  31. package/dist/components/LinkCard/LinkCard.esm.js.map +1 -1
  32. package/dist/components/Links/Links.esm.js +1 -0
  33. package/dist/components/Links/Links.esm.js.map +1 -1
  34. package/dist/components/PostForm/EntitiesInput.esm.js +2 -1
  35. package/dist/components/PostForm/EntitiesInput.esm.js.map +1 -1
  36. package/dist/components/PostForm/TagInput.esm.js +1 -1
  37. package/dist/components/PostForm/TagInput.esm.js.map +1 -1
  38. package/dist/components/PostHighlightList/PostHighlightList.esm.js +1 -0
  39. package/dist/components/PostHighlightList/PostHighlightList.esm.js.map +1 -1
  40. package/dist/components/PostsContainer/PostListItem.esm.js +1 -0
  41. package/dist/components/PostsContainer/PostListItem.esm.js.map +1 -1
  42. package/dist/components/PostsContainer/PostsContainer.esm.js +1 -1
  43. package/dist/components/PostsContainer/PostsGridItem.esm.js +1 -0
  44. package/dist/components/PostsContainer/PostsGridItem.esm.js.map +1 -1
  45. package/dist/components/PostsTable/PostsTable.esm.js +1 -0
  46. package/dist/components/PostsTable/PostsTable.esm.js.map +1 -1
  47. package/dist/components/QuestionCard/QuestionCard.esm.js +1 -0
  48. package/dist/components/QuestionCard/QuestionCard.esm.js.map +1 -1
  49. package/dist/components/SuggestionsCard/SuggestionsCard.esm.js +1 -0
  50. package/dist/components/SuggestionsCard/SuggestionsCard.esm.js.map +1 -1
  51. package/dist/components/TagsAndEntities/EntityChip.esm.js +1 -0
  52. package/dist/components/TagsAndEntities/EntityChip.esm.js.map +1 -1
  53. package/dist/components/TagsAndEntities/TagChip.esm.js +1 -0
  54. package/dist/components/TagsAndEntities/TagChip.esm.js.map +1 -1
  55. package/dist/components/TagsAndEntities/UserChip.esm.js +1 -0
  56. package/dist/components/TagsAndEntities/UserChip.esm.js.map +1 -1
  57. package/dist/components/TagsContainer/TagListItem.esm.js +1 -0
  58. package/dist/components/TagsContainer/TagListItem.esm.js.map +1 -1
  59. package/dist/components/TemplateList/TemplateForm.esm.js +1 -1
  60. package/dist/components/TemplateList/TemplateList.esm.js +1 -0
  61. package/dist/components/TemplateList/TemplateList.esm.js.map +1 -1
  62. package/dist/components/Timeline/TimelineItem.esm.js +1 -0
  63. package/dist/components/Timeline/TimelineItem.esm.js.map +1 -1
  64. package/dist/components/TopRankingUsersCard/TopRankingUsersCard.esm.js +1 -0
  65. package/dist/components/TopRankingUsersCard/TopRankingUsersCard.esm.js.map +1 -1
  66. package/dist/components/UsersContainer/UserListItem.esm.js +1 -0
  67. package/dist/components/UsersContainer/UserListItem.esm.js.map +1 -1
  68. package/dist/components/UsersContainer/UsersGridItem.esm.js +1 -0
  69. package/dist/components/UsersContainer/UsersGridItem.esm.js.map +1 -1
  70. package/dist/hooks/useUserSettings.esm.js +24 -11
  71. package/dist/hooks/useUserSettings.esm.js.map +1 -1
  72. package/package.json +2 -2
@@ -1,5 +1,6 @@
1
1
  import { useApi, storageApiRef } from '@backstage/core-plugin-api';
2
2
  import { useState, useRef, useEffect, useCallback } from 'react';
3
+ import { merge } from 'lodash';
3
4
 
4
5
  const DEFAULT_SETTINGS = {
5
6
  autoSaveEnabled: false,
@@ -25,8 +26,12 @@ const useUserSettings = () => {
25
26
  const snapshot = bucket.snapshot(STORAGE_KEY);
26
27
  const stored = snapshot.value;
27
28
  if (stored) {
28
- setSettings({ ...DEFAULT_SETTINGS, ...stored });
29
- settingsRef.current = { ...DEFAULT_SETTINGS, ...stored };
29
+ const merged = merge({}, DEFAULT_SETTINGS, stored);
30
+ setSettings(merged);
31
+ settingsRef.current = merged;
32
+ } else {
33
+ setSettings(DEFAULT_SETTINGS);
34
+ settingsRef.current = DEFAULT_SETTINGS;
30
35
  }
31
36
  setIsLoaded(true);
32
37
  const subscription = bucket.observe$(STORAGE_KEY).subscribe({
@@ -36,11 +41,9 @@ const useUserSettings = () => {
36
41
  }
37
42
  const value = newSnapshot.value;
38
43
  if (value) {
39
- setSettings({ ...DEFAULT_SETTINGS, ...value });
40
- settingsRef.current = { ...DEFAULT_SETTINGS, ...value };
41
- } else {
42
- setSettings(DEFAULT_SETTINGS);
43
- settingsRef.current = DEFAULT_SETTINGS;
44
+ const merged = merge({}, DEFAULT_SETTINGS, value);
45
+ setSettings(merged);
46
+ settingsRef.current = merged;
44
47
  }
45
48
  }
46
49
  });
@@ -52,10 +55,20 @@ const useUserSettings = () => {
52
55
  async (updates) => {
53
56
  const bucket = storageApi.forBucket(BUCKET_KEY);
54
57
  const currentSettings = settingsRef.current;
55
- const newSettings = {
56
- ...currentSettings,
57
- ...updates
58
- };
58
+ const newSettings = { ...currentSettings };
59
+ Object.keys(updates).forEach((key) => {
60
+ const k = key;
61
+ const value = updates[k];
62
+ if (value !== void 0) {
63
+ if (k === "viewType" || k === "filterPanelExpanded") {
64
+ newSettings[k] = value;
65
+ } else if (value && typeof value === "object" && !Array.isArray(value)) {
66
+ newSettings[k] = merge({}, currentSettings[k], value);
67
+ } else {
68
+ newSettings[k] = value;
69
+ }
70
+ }
71
+ });
59
72
  settingsRef.current = newSettings;
60
73
  setSettings(newSettings);
61
74
  isUpdatingRef.current = true;
@@ -1 +1 @@
1
- {"version":3,"file":"useUserSettings.esm.js","sources":["../../src/hooks/useUserSettings.ts"],"sourcesContent":["import { storageApiRef, useApi } from '@backstage/core-plugin-api';\nimport { useCallback, useEffect, useRef, useState } from 'react';\nimport { ViewType } from '../components/ViewToggle/ViewToggle';\n\nexport type UserSettings = {\n autoSaveEnabled: boolean;\n anonymousPosting: boolean;\n filterPanelExpanded: Record<string, boolean>;\n viewType: Record<string, ViewType>;\n aiAnswerExpanded: boolean;\n usePagination: boolean;\n};\n\nconst DEFAULT_SETTINGS: UserSettings = {\n autoSaveEnabled: false,\n anonymousPosting: false,\n filterPanelExpanded: {},\n viewType: {},\n aiAnswerExpanded: false,\n usePagination: false,\n};\n\nconst BUCKET_KEY = 'qeta';\nconst STORAGE_KEY = 'qeta-user-settings';\n\nexport const useUserSettings = () => {\n const storageApi = useApi(storageApiRef);\n const [settings, setSettings] = useState<UserSettings>(DEFAULT_SETTINGS);\n const [isLoaded, setIsLoaded] = useState(false);\n const settingsRef = useRef<UserSettings>(DEFAULT_SETTINGS);\n const isUpdatingRef = useRef(false);\n\n useEffect(() => {\n settingsRef.current = settings;\n }, [settings]);\n\n useEffect(() => {\n const bucket = storageApi.forBucket(BUCKET_KEY);\n const snapshot = bucket.snapshot(STORAGE_KEY);\n const stored = snapshot.value as UserSettings | undefined;\n\n if (stored) {\n setSettings({ ...DEFAULT_SETTINGS, ...stored });\n settingsRef.current = { ...DEFAULT_SETTINGS, ...stored };\n }\n\n setIsLoaded(true);\n\n const subscription = bucket.observe$<UserSettings>(STORAGE_KEY).subscribe({\n next: newSnapshot => {\n if (isUpdatingRef.current) {\n return;\n }\n\n const value = newSnapshot.value;\n if (value) {\n setSettings({ ...DEFAULT_SETTINGS, ...value });\n settingsRef.current = { ...DEFAULT_SETTINGS, ...value };\n } else {\n setSettings(DEFAULT_SETTINGS);\n settingsRef.current = DEFAULT_SETTINGS;\n }\n },\n });\n\n return () => {\n subscription.unsubscribe();\n };\n }, [storageApi]);\n\n const updateSettings = useCallback(\n async (updates: Partial<UserSettings>) => {\n const bucket = storageApi.forBucket(BUCKET_KEY);\n const currentSettings = settingsRef.current;\n const newSettings = {\n ...currentSettings,\n ...updates,\n };\n settingsRef.current = newSettings;\n setSettings(newSettings);\n\n isUpdatingRef.current = true;\n try {\n await bucket.set(STORAGE_KEY, newSettings);\n } finally {\n setTimeout(() => {\n isUpdatingRef.current = false;\n }, 100);\n }\n },\n [storageApi],\n );\n\n const getSetting = useCallback(\n <K extends keyof UserSettings>(key: K): UserSettings[K] => {\n return settingsRef.current[key] ?? DEFAULT_SETTINGS[key];\n },\n [],\n );\n\n const setSetting = useCallback(\n async <K extends keyof UserSettings>(\n key: K,\n value: UserSettings[K],\n ): Promise<void> => {\n await updateSettings({ [key]: value } as Partial<UserSettings>);\n },\n [updateSettings],\n );\n\n const resetSettings = useCallback(async () => {\n const bucket = storageApi.forBucket('qeta');\n await bucket.set(STORAGE_KEY, DEFAULT_SETTINGS);\n }, [storageApi]);\n\n return {\n settings: settingsRef.current,\n updateSettings,\n getSetting,\n setSetting,\n resetSettings,\n isLoaded,\n };\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useUserSettings.esm.js","sources":["../../src/hooks/useUserSettings.ts"],"sourcesContent":["import { storageApiRef, useApi } from '@backstage/core-plugin-api';\nimport { useCallback, useEffect, useRef, useState } from 'react';\nimport { merge } from 'lodash';\nimport { ViewType } from '../components/ViewToggle/ViewToggle';\n\nexport type UserSettings = {\n autoSaveEnabled: boolean;\n anonymousPosting: boolean;\n filterPanelExpanded: Record<string, boolean>;\n viewType: Record<string, ViewType>;\n aiAnswerExpanded: boolean;\n usePagination: boolean;\n};\n\nconst DEFAULT_SETTINGS: UserSettings = {\n autoSaveEnabled: false,\n anonymousPosting: false,\n filterPanelExpanded: {},\n viewType: {},\n aiAnswerExpanded: false,\n usePagination: false,\n};\n\nconst BUCKET_KEY = 'qeta';\nconst STORAGE_KEY = 'qeta-user-settings';\n\nexport const useUserSettings = () => {\n const storageApi = useApi(storageApiRef);\n const [settings, setSettings] = useState<UserSettings>(DEFAULT_SETTINGS);\n const [isLoaded, setIsLoaded] = useState(false);\n const settingsRef = useRef<UserSettings>(DEFAULT_SETTINGS);\n const isUpdatingRef = useRef(false);\n\n useEffect(() => {\n settingsRef.current = settings;\n }, [settings]);\n\n useEffect(() => {\n const bucket = storageApi.forBucket(BUCKET_KEY);\n const snapshot = bucket.snapshot(STORAGE_KEY);\n const stored = snapshot.value as UserSettings | undefined;\n\n if (stored) {\n const merged = merge({}, DEFAULT_SETTINGS, stored);\n setSettings(merged);\n settingsRef.current = merged;\n } else {\n setSettings(DEFAULT_SETTINGS);\n settingsRef.current = DEFAULT_SETTINGS;\n }\n\n setIsLoaded(true);\n\n const subscription = bucket.observe$<UserSettings>(STORAGE_KEY).subscribe({\n next: newSnapshot => {\n if (isUpdatingRef.current) {\n return;\n }\n\n const value = newSnapshot.value;\n if (value) {\n const merged = merge({}, DEFAULT_SETTINGS, value);\n setSettings(merged);\n settingsRef.current = merged;\n }\n },\n });\n\n return () => {\n subscription.unsubscribe();\n };\n }, [storageApi]);\n\n const updateSettings = useCallback(\n async (updates: Partial<UserSettings>) => {\n const bucket = storageApi.forBucket(BUCKET_KEY);\n const currentSettings = settingsRef.current;\n\n const newSettings = { ...currentSettings };\n Object.keys(updates).forEach(key => {\n const k = key as keyof UserSettings;\n const value = updates[k];\n if (value !== undefined) {\n if (k === 'viewType' || k === 'filterPanelExpanded') {\n newSettings[k] = value as any;\n } else if (\n value &&\n typeof value === 'object' &&\n !Array.isArray(value)\n ) {\n newSettings[k] = merge({}, currentSettings[k], value);\n } else {\n newSettings[k] = value as any;\n }\n }\n });\n\n settingsRef.current = newSettings;\n setSettings(newSettings);\n\n isUpdatingRef.current = true;\n try {\n await bucket.set(STORAGE_KEY, newSettings);\n } finally {\n setTimeout(() => {\n isUpdatingRef.current = false;\n }, 100);\n }\n },\n [storageApi],\n );\n\n const getSetting = useCallback(\n <K extends keyof UserSettings>(key: K): UserSettings[K] => {\n return settingsRef.current[key] ?? DEFAULT_SETTINGS[key];\n },\n [],\n );\n\n const setSetting = useCallback(\n async <K extends keyof UserSettings>(\n key: K,\n value: UserSettings[K],\n ): Promise<void> => {\n await updateSettings({ [key]: value } as Partial<UserSettings>);\n },\n [updateSettings],\n );\n\n const resetSettings = useCallback(async () => {\n const bucket = storageApi.forBucket('qeta');\n await bucket.set(STORAGE_KEY, DEFAULT_SETTINGS);\n }, [storageApi]);\n\n return {\n settings: settingsRef.current,\n updateSettings,\n getSetting,\n setSetting,\n resetSettings,\n isLoaded,\n };\n};\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -7,7 +7,7 @@
7
7
  "frontend",
8
8
  "backstage.io"
9
9
  ],
10
- "version": "3.55.1",
10
+ "version": "3.55.3",
11
11
  "main": "dist/index.esm.js",
12
12
  "types": "dist/index.d.ts",
13
13
  "prepublishOnly": "yarn tsc && yarn build",
@@ -57,7 +57,7 @@
57
57
  "@backstage/plugin-permission-common": "^0.9.3",
58
58
  "@backstage/plugin-permission-react": "^0.4.39",
59
59
  "@backstage/plugin-signals-react": "^0.0.18",
60
- "@drodil/backstage-plugin-qeta-common": "^3.55.1",
60
+ "@drodil/backstage-plugin-qeta-common": "^3.55.3",
61
61
  "@jsdevtools/rehype-toc": "^3.0.2",
62
62
  "@material-ui/core": "^4.12.2",
63
63
  "@material-ui/icons": "^4.11.3",