import { IMeta } from "@snort/system"; import classNames from "classnames"; import React, { CSSProperties, useEffect, useMemo, useRef } from "react"; import { useInView } from "react-intersection-observer"; import { ProxyImg } from "@/Components/ProxyImg"; import useImgProxy from "@/Hooks/useImgProxy"; interface MediaElementProps { mime: string; url: string; meta?: IMeta; onMediaClick?: (e: React.MouseEvent) => void; } interface AudioElementProps { url: string; } interface VideoElementProps { url: string; meta?: IMeta; } interface ImageElementProps { url: string; meta?: IMeta; onMediaClick?: (e: React.MouseEvent) => void; } const AudioElement = ({ url }: AudioElementProps) => { return