All files / composables useThemedImage.ts

100% Statements 15/15
100% Branches 9/9
100% Functions 2/2
100% Lines 15/15

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19    1x 6x 6x 2x 2x 2x 2x 3x 3x   1x 1x 1x 1x 3x 1x  
import type {ImageAsset} from '~/types/shop'
 
export function resolveImageVariant(image: ImageAsset | null | undefined, dark: boolean) {
    if (!image) return null;
    if (dark && image.darkVariant) return {
        ...image.darkVariant,
        width: image.width,
        height: image.height
    };
    return image
}
 
export function useThemedImage() {
    const dark = useState<boolean>(
        'theme', () => false);
    return (image: ImageAsset | null | undefined) =>
        resolveImageVariant(image, dark.value)
}