"use client"; import type React from "react"; const IMAGE_ADJUST_NOISE_DATA_URI = `data:image/svg+xml;utf8,${encodeURIComponent( "" )}`; export interface ImageAdjustmentOverlayState { temperature: number; tint: number; grain: number; vignette: number; softLight: number; glow: number; } interface ImageNodeAdjustOverlaysProps { adjustments: ImageAdjustmentOverlayState; hasActiveAdjustments: boolean; style: React.CSSProperties; } export function ImageNodeAdjustOverlays({ adjustments, hasActiveAdjustments, style, }: ImageNodeAdjustOverlaysProps) { if (!hasActiveAdjustments) return null; const temperatureOpacity = Math.min( 0.38, Math.abs(adjustments.temperature) / 260 ); const tintOpacity = Math.min(0.28, Math.abs(adjustments.tint) / 300); const grainOpacity = Math.min(0.28, adjustments.grain / 340); const vignetteOpacity = Math.min(0.42, adjustments.vignette / 180); const softLightOpacity = Math.min(0.24, adjustments.softLight / 320); const glowOpacity = Math.min(0.22, adjustments.glow / 280); return ( <> {temperatureOpacity > 0 ? (
= 0 ? "linear-gradient(135deg, rgba(255,188,109,0.9), rgba(255,232,194,0.42))" : "linear-gradient(135deg, rgba(109,180,255,0.86), rgba(219,240,255,0.36))", mixBlendMode: "soft-light", opacity: temperatureOpacity, }} /> ) : null} {tintOpacity > 0 ? (
= 0 ? "linear-gradient(135deg, rgba(244,105,214,0.78), rgba(255,203,236,0.28))" : "linear-gradient(135deg, rgba(76,214,141,0.76), rgba(194,255,221,0.28))", mixBlendMode: "overlay", opacity: tintOpacity, }} /> ) : null} {softLightOpacity > 0 ? (
) : null} {glowOpacity > 0 ? (
) : null} {vignetteOpacity > 0 ? (
) : null} {grainOpacity > 0 ? (
) : null} ); }