@stoker-platform/web-app 0.5.190 → 0.5.192

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/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @stoker-platform/web-app
2
2
 
3
+ ## 0.5.192
4
+
5
+ ### Patch Changes
6
+
7
+ - feat: remove image field images from image carousel
8
+
9
+ ## 0.5.191
10
+
11
+ ### Patch Changes
12
+
13
+ - fix: fix image field upload spinner
14
+
3
15
  ## 0.5.190
4
16
 
5
17
  ### Patch Changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stoker-platform/web-app",
3
- "version": "0.5.190",
3
+ "version": "0.5.192",
4
4
  "type": "module",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "scripts": {
package/src/Form.tsx CHANGED
@@ -2714,7 +2714,7 @@ function RecordForm({
2714
2714
  async (
2715
2715
  selectedPermissions: FilePermissions,
2716
2716
  contextOverride?: "files" | "image-create" | "image-update",
2717
- imageUpdateOverrides?: { pendingImage: { fieldName: string; file: File }; resolver: () => void },
2717
+ imageUpdateOverrides?: { pendingImage: { fieldName: string; file: File }; resolver?: () => void },
2718
2718
  ) => {
2719
2719
  const context = contextOverride ?? permissionsContext
2720
2720
  if (context === "files") {
@@ -2840,6 +2840,10 @@ function RecordForm({
2840
2840
  description: `Failed to upload ${filename}`,
2841
2841
  variant: "destructive",
2842
2842
  })
2843
+ resolve()
2844
+ if (effectiveResolver) {
2845
+ effectiveResolver()
2846
+ }
2843
2847
  },
2844
2848
  async () => {
2845
2849
  try {
@@ -2912,20 +2916,21 @@ function RecordForm({
2912
2916
 
2913
2917
  const uploadImageForUpdate = useCallback(
2914
2918
  async (fieldName: string, file: File) => {
2915
- return await new Promise<void>((resolve) => {
2916
- setPermissionsContext("image-update")
2917
- setPendingImageForUpdate({ fieldName, file })
2918
- setEditingFilename(file.name)
2919
- setIsMultipleFileUpload(false)
2919
+ setPermissionsContext("image-update")
2920
+ setPendingImageForUpdate({ fieldName, file })
2921
+ setEditingFilename(file.name)
2922
+ setIsMultipleFileUpload(false)
2923
+
2924
+ if (shouldSkipPermissionsDialog()) {
2925
+ await handlePermissionsConfirm(getDefaultPermissions(), "image-update", {
2926
+ pendingImage: { fieldName, file },
2927
+ })
2928
+ return
2929
+ }
2930
+
2931
+ await new Promise<void>((resolve) => {
2920
2932
  setImageUpdateResolver(() => resolve)
2921
- if (shouldSkipPermissionsDialog()) {
2922
- handlePermissionsConfirm(getDefaultPermissions(), "image-update", {
2923
- pendingImage: { fieldName, file },
2924
- resolver: resolve,
2925
- })
2926
- } else {
2927
- setShowPermissionsDialog(true)
2928
- }
2933
+ setShowPermissionsDialog(true)
2929
2934
  })
2930
2935
  },
2931
2936
  [shouldSkipPermissionsDialog, getDefaultPermissions, handlePermissionsConfirm],
@@ -3708,6 +3713,15 @@ function RecordForm({
3708
3713
  useEffect(() => {
3709
3714
  const loadImages = async () => {
3710
3715
  if (!formImagesEnabled || operation !== "update" || !record || isOffline) return
3716
+ const imageFieldUrls = fields
3717
+ .filter((field) => {
3718
+ if (field.type !== "String") return false
3719
+ const fieldCustomization = getFieldCustomization(field, customization)
3720
+ return tryFunction(fieldCustomization.admin?.image)
3721
+ })
3722
+ .map((field) => {
3723
+ return record?.[field.name]
3724
+ })
3711
3725
  try {
3712
3726
  const items = await getFiles("", record)
3713
3727
  const imageItems = items.filter((item) => {
@@ -3719,7 +3733,7 @@ function RecordForm({
3719
3733
  return url
3720
3734
  }),
3721
3735
  )
3722
- setCarouselImages(urls)
3736
+ setCarouselImages(urls.filter((url) => !imageFieldUrls.includes(url)))
3723
3737
  } finally {
3724
3738
  setCarouselLoading(false)
3725
3739
  }