Files
Shadowbroker/frontend/src/components/ExternalImage.tsx
T
anoracleofra-code 668ce16dc7 v0.9.6: InfoNet hashchain, Wormhole gate encryption, mesh reputation, 16 community contributors
Gate messages now propagate via the Infonet hashchain as encrypted blobs — every node syncs them
through normal chain sync while only Gate members with MLS keys can decrypt. Added mesh reputation
system, peer push workers, voluntary Wormhole opt-in for node participation, fork recovery,
killwormhole scripts, obfuscated terminology, and hardened the self-updater to protect encryption
keys and chain state during updates.

New features: Shodan search, train tracking, Sentinel Hub imagery, 8 new intelligence layers,
CCTV expansion to 11,000+ cameras across 6 countries, Mesh Terminal CLI, prediction markets,
desktop-shell scaffold, and comprehensive mesh test suite (215 frontend + backend tests passing).

Community contributors: @wa1id, @AlborzNazari, @adust09, @Xpirix, @imqdcr, @csysp, @suranyami,
@chr0n1x, @johan-martensson, @singularfailure, @smithbh, @OrfeoTerkuci, @deuza, @tm-const,
@Elhard1, @ttulttul
2026-03-26 05:58:04 -06:00

36 lines
699 B
TypeScript

'use client';
import Image, { type ImageLoaderProps, type ImageProps } from 'next/image';
const passthroughLoader = ({ src }: ImageLoaderProps) => src;
type ExternalImageProps = Omit<ImageProps, 'loader'> & {
unoptimized?: boolean;
};
export default function ExternalImage({
unoptimized = true,
alt = '',
fill,
width,
height,
...rest
}: ExternalImageProps) {
if (fill) {
return (
<Image loader={passthroughLoader} unoptimized={unoptimized} fill alt={alt} {...rest} />
);
}
return (
<Image
loader={passthroughLoader}
unoptimized={unoptimized}
width={width ?? 640}
height={height ?? 360}
alt={alt}
{...rest}
/>
);
}