diff --git a/resources/index.html b/resources/index.html
index 35e6146..dc2e221 100644
--- a/resources/index.html
+++ b/resources/index.html
@@ -23,19 +23,19 @@
-
+
@@ -162,7 +167,7 @@
-
+
diff --git a/resources/js/index.js b/resources/js/index.js
index 8aaf05d..4f27c7d 100644
--- a/resources/js/index.js
+++ b/resources/js/index.js
@@ -284,6 +284,24 @@ async function closeSettings() {
}
}
+async function openLogin() {
+ const login = document.querySelector('#loginPanel')
+ const ip = document.querySelector('#ip')
+ const ipDisplay = document.querySelector('#loginPopupServer')
+
+ ipDisplay.innerText = ip.value
+
+ if (login.style.display === 'none') {
+ login.style.removeProperty('display')
+ }
+}
+
+async function closeLogin() {
+ const login = document.querySelector('#loginPanel')
+
+ login.style.display = 'none'
+}
+
async function closeFirstTimePopup() {
const firstTimePopup = document.querySelector('#firstTimeNotice')
firstTimePopup.style.display = 'none'
diff --git a/resources/style/index.css b/resources/style/index.css
index 048435a..fb81ac7 100644
--- a/resources/style/index.css
+++ b/resources/style/index.css
@@ -44,6 +44,45 @@ body {
font-weight: bold;
}
+#loginPopupContentBody {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ flex-direction: column;
+}
+
+#loginPopupContentBody div {
+ margin: 6px;
+}
+
+#loginPopupContentBody input {
+ height: 20px;
+ background: white;
+ border: none;
+ border-bottom: 2px solid #4d4d4d;
+
+ /* border bottom anim */
+ transition: border-bottom 0.1s ease-in-out;
+}
+
+#loginPopupContentBody input:focus {
+ outline: none;
+ border-bottom: 2px solid #ffc61e;
+}
+
+#loginPopupTitle img {
+ height: 20px;
+}
+
+#loginPopupTitle img:hover {
+ filter: invert(85%) sepia(31%) saturate(560%) hue-rotate(329deg) brightness(100%) contrast(92%);
+ cursor: pointer;
+}
+
+#loginPopupServer {
+ font-weight: bold;
+}
+
#firstTimeNotice,
#loginPanel,
#settingsPanel {