Refactor lightbox model to plain object (#5999)

* Refactor lightbox model to plain object

* Rename name to type
This commit is contained in:
dan
2024-10-29 20:58:38 +00:00
committed by GitHub
parent 1cfcffd79e
commit 339f45ccbb
6 changed files with 48 additions and 49 deletions
+11 -14
View File
@@ -1,29 +1,26 @@
import React from 'react'
import {AppBskyActorDefs} from '@atproto/api'
import {useNonReactiveCallback} from '#/lib/hooks/useNonReactiveCallback'
interface Lightbox {
name: string
type ProfileImageLightbox = {
type: 'profile-image'
profile: AppBskyActorDefs.ProfileViewDetailed
}
export class ProfileImageLightbox implements Lightbox {
name = 'profile-image'
constructor(public profile: AppBskyActorDefs.ProfileViewDetailed) {}
}
interface ImagesLightboxItem {
type ImagesLightboxItem = {
uri: string
alt?: string
}
export class ImagesLightbox implements Lightbox {
name = 'images'
constructor(public images: ImagesLightboxItem[], public index: number) {}
setIndex(index: number) {
this.index = index
}
type ImagesLightbox = {
type: 'images'
images: ImagesLightboxItem[]
index: number
}
type Lightbox = ProfileImageLightbox | ImagesLightbox
const LightboxContext = React.createContext<{
activeLightbox: Lightbox | null
}>({