From d33d112d7eed59d92a95f498e7a5f4010fe7b4d7 Mon Sep 17 00:00:00 2001
From: mrfry <mrfry@airmail.cc>
Date: Sat, 26 Dec 2020 16:06:05 +0100
Subject: [PATCH] Snow!

---
 package-lock.json        |  5 +++++
 package.json             |  1 +
 src/components/layout.js | 18 ++++++++++++++++++
 src/constants.json       |  2 +-
 4 files changed, 25 insertions(+), 1 deletion(-)

diff --git a/package-lock.json b/package-lock.json
index 4ee91ba..3d602a3 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -5932,6 +5932,11 @@
       "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.8.6.tgz",
       "integrity": "sha512-aUk3bHfZ2bRSVFFbbeVS4i+lNPZr3/WM5jT2J5omUVV1zzcs1nAaf3l51ctA5FFvCRbhrH0bdAsRRQddFJZPtA=="
     },
+    "react-snowfall": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/react-snowfall/-/react-snowfall-1.0.2.tgz",
+      "integrity": "sha512-wmKa7Vhl26Ixo5hBp3lgM9z7o43itLv7LF7IuuD0vZPh3TclfM2wokujQb/gg5Ml2c6r6hyU7WXmvMg63TkhtA=="
+    },
     "read-pkg": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz",
diff --git a/package.json b/package.json
index acbe768..19bef03 100644
--- a/package.json
+++ b/package.json
@@ -17,6 +17,7 @@
     "next": "^9.2.2",
     "react": "^16.13.0",
     "react-dom": "^16.13.0",
+    "react-snowfall": "^1.0.2",
     "unfetch": "^4.1.0"
   }
 }
diff --git a/src/components/layout.js b/src/components/layout.js
index efa5a06..836b3cc 100644
--- a/src/components/layout.js
+++ b/src/components/layout.js
@@ -1,5 +1,8 @@
 import React, { useState, useEffect } from 'react'
 import Link from 'next/link'
+import dynamic from 'next/dynamic'
+
+const Snowfall = dynamic(() => import('react-snowfall'), { ssr: false })
 
 import tabs from '../data/tabs.json'
 import constants from '../constants.json'
@@ -9,6 +12,7 @@ import constants from '../constants.json'
 export default function Layout(props) {
   let href = props.route
   const [sidebarOpen, setSidebarOpen] = useState(true)
+  const [windowSize, setWindowSize] = useState([100, 200])
 
   if (href === '/' || href === '') {
     href = 'index'
@@ -24,10 +28,24 @@ export default function Layout(props) {
 
   useEffect(() => {
     closeSideBar()
+    setWindowSize([window.innerWidth, window.innerHeight])
+    window.addEventListener('resize', () => {
+      setWindowSize([window.innerWidth, window.innerHeight])
+    })
   }, [])
 
   return (
     <div>
+      <div
+        style={{
+          zIndex: 900,
+          position: 'fixed',
+          width: `${windowSize[0]}px`,
+          height: `${windowSize[1]}px`,
+        }}
+      >
+        <Snowfall snowflakeCount={300} />
+      </div>
       <div className="sidebar">
         <div className="headercontainer">
           <span
diff --git a/src/constants.json b/src/constants.json
index 8650745..dec44ec 100644
--- a/src/constants.json
+++ b/src/constants.json
@@ -1,6 +1,6 @@
 {
   "siteUrl": "https://qmining.frylabs.net/",
-  "apiUrl": "https://api.frylabs.net/",
+  "apiUrl": "http://localhost:8080/",
   "mobileWindowWidth": 700,
   "maxQuestionsToRender": 250
 }