From 3e7b2beca1136a42700a7e1aebfe4c0fb2861a00 Mon Sep 17 00:00:00 2001
From: soryu <soryu@soryu.co>
Date: Sat, 15 Nov 2025 18:00:09 +0000
Subject: Initial commit

---
 frontend/src/components/VNViewport.tsx | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)
 create mode 100644 frontend/src/components/VNViewport.tsx

(limited to 'frontend/src/components/VNViewport.tsx')

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>
+  )
+}
-- 
cgit v1.2.3

