diff options
| author | soryu <soryu@soryu.co> | 2025-11-15 18:00:09 +0000 |
|---|---|---|
| committer | soryu <soryu@soryu.co> | 2025-11-15 18:00:09 +0000 |
| commit | 3e7b2beca1136a42700a7e1aebfe4c0fb2861a00 (patch) | |
| tree | 6c896c31820681e360e50a73839fc2284c043dea /frontend/src/components/VNViewport.tsx | |
| download | soryu-3e7b2beca1136a42700a7e1aebfe4c0fb2861a00.tar.gz soryu-3e7b2beca1136a42700a7e1aebfe4c0fb2861a00.zip | |
Initial commit
Diffstat (limited to 'frontend/src/components/VNViewport.tsx')
| -rw-r--r-- | frontend/src/components/VNViewport.tsx | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/frontend/src/components/VNViewport.tsx b/frontend/src/components/VNViewport.tsx new file mode 100644 index 0000000..fe01264 --- /dev/null +++ b/frontend/src/components/VNViewport.tsx @@ -0,0 +1,22 @@ +import React from 'react' + +type Props = { + bgSrc?: string + children?: React.ReactNode +} + +export const VNViewport: React.FC<Props> = ({ bgSrc = '/bg.jpg', children }) => { + return ( + <div className="viewport"> + <div className="viewport-inner"> + <div className="bg"> + {bgSrc && <img src={bgSrc} alt="Background" />} + </div> + {children} + </div> + <div className="scanlines" aria-hidden="true" /> + <div className="crt-glow" aria-hidden="true" /> + <div className="dither-pattern" aria-hidden="true" /> + </div> + ) +} |
