Files
claudemesh/apps/web/src/modules/common/themed-image.tsx
Alejandro Gutiérrez d3163a5bff feat(db): mesh data model — meshes, members, invites, audit log
- pgSchema "mesh" with 4 tables isolating the peer mesh domain
- Enums: visibility, transport, tier, role
- audit_log is metadata-only (E2E encryption enforced at broker/client)
- Cascade on mesh delete, soft-delete via archivedAt/revokedAt

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 21:19:32 +01:00

24 lines
510 B
TypeScript

"use client";
import Image from "next/image";
import { useTheme } from "next-themes";
import { preload } from "react-dom";
import type { ComponentProps } from "react";
export const ThemedImage = ({
light,
dark,
...props
}: Omit<ComponentProps<typeof Image>, "src"> & {
light: string;
dark: string;
}) => {
preload(light, { as: "image" });
preload(dark, { as: "image" });
const { resolvedTheme } = useTheme();
return <Image src={resolvedTheme === "dark" ? dark : light} {...props} />;
};