about summary refs log tree commit diff
path: root/src/view/com/lightbox/ImageViewing/hooks/useImageDimensions.ts
diff options
context:
space:
mode:
authordan <dan.abramov@gmail.com>2023-10-05 23:28:56 +0100
committerGitHub <noreply@github.com>2023-10-05 15:28:56 -0700
commit260b03a05c22232373cbf8cb0d7dda41a3302343 (patch)
treef7ce8b72c80fbdc723245dc34d1db56288b7b176 /src/view/com/lightbox/ImageViewing/hooks/useImageDimensions.ts
parenteb7306b16512e317f477c7a28e1e3b0ce5c65ff8 (diff)
downloadvoidsky-260b03a05c22232373cbf8cb0d7dda41a3302343.tar.zst
Remove unused lightbox options (#1616)
* Inline lightbox helpers

* Delete unused useImagePrefetch

* Delete unused long press gesture

* Always enable double tap

* Always enable swipe to close

* Remove unused onImageIndexChange

* Inline custom Hooks into ImageViewing

* Declare LightboxFooter outside Lightbox

* Add more TODO comments

* Inline useDoubleTapToZoom

* Remove dead utils, move utils used only once
Diffstat (limited to 'src/view/com/lightbox/ImageViewing/hooks/useImageDimensions.ts')
-rw-r--r--src/view/com/lightbox/ImageViewing/hooks/useImageDimensions.ts22
1 files changed, 20 insertions, 2 deletions
diff --git a/src/view/com/lightbox/ImageViewing/hooks/useImageDimensions.ts b/src/view/com/lightbox/ImageViewing/hooks/useImageDimensions.ts
index a5b0b6bd4..7f0851af3 100644
--- a/src/view/com/lightbox/ImageViewing/hooks/useImageDimensions.ts
+++ b/src/view/com/lightbox/ImageViewing/hooks/useImageDimensions.ts
@@ -8,11 +8,29 @@
 
 import {useEffect, useState} from 'react'
 import {Image, ImageURISource} from 'react-native'
-
-import {createCache} from '../utils'
 import {Dimensions, ImageSource} from '../@types'
 
 const CACHE_SIZE = 50
+
+type CacheStorageItem = {key: string; value: any}
+
+const createCache = (cacheSize: number) => ({
+  _storage: [] as CacheStorageItem[],
+  get(key: string): any {
+    const {value} =
+      this._storage.find(({key: storageKey}) => storageKey === key) || {}
+
+    return value
+  },
+  set(key: string, value: any) {
+    if (this._storage.length >= cacheSize) {
+      this._storage.shift()
+    }
+
+    this._storage.push({key, value})
+  },
+})
+
 const imageDimensionsCache = createCache(CACHE_SIZE)
 
 const useImageDimensions = (image: ImageSource): Dimensions | null => {