diff --git a/.gitignore b/.gitignore index ec2b36c..e4d4d73 100644 --- a/.gitignore +++ b/.gitignore @@ -78,3 +78,6 @@ fabric.properties .idea/caches/build_file_checksums.ser /Secure/ +/Hidden/ +/AccountCentre/AccountActions/ +/AccountCentre/AccountActions/ diff --git a/Account.php b/Account.php index 26f99d8..08e2c5f 100644 --- a/Account.php +++ b/Account.php @@ -1,3 +1,6 @@ + diff --git a/AccountApps/AccountManager.html b/AccountApps/AccountManager.html index 50f38c6..fc652d7 100644 --- a/AccountApps/AccountManager.html +++ b/AccountApps/AccountManager.html @@ -9,7 +9,7 @@ NewAppLoaded.onreadystatechange = function () { if (NewAppLoaded.readyState !== 4) return; if (NewAppLoaded.status !== 200) return; - document.getElementById("AppContainer").insertAdjacentHTML("beforeend", NewAppLoaded.responseText); + document.getElementById("AccountManagerBody").insertAdjacentHTML("beforeend", NewAppLoaded.responseText); }; NewAppLoaded.send(); } else { @@ -18,7 +18,7 @@ NewAppLoaded.onreadystatechange = function () { if (NewAppLoaded.readyState !== 4) return; if (NewAppLoaded.status !== 200) return; - document.getElementById("AppContainer").insertAdjacentHTML("beforeend", NewAppLoaded.responseText); + document.getElementById("AccountManagerBody").insertAdjacentHTML("beforeend", NewAppLoaded.responseText); }; NewAppLoaded.send(); } diff --git a/AccountCentre/AccountCentre.css b/AccountCentre/AccountCentre.css new file mode 100644 index 0000000..0dbd6f5 --- /dev/null +++ b/AccountCentre/AccountCentre.css @@ -0,0 +1,217 @@ +body{ + background-image: linear-gradient(to bottom,#245a80 10vh,transparent 90vh ), linear-gradient(to bottom right, #063657,#031d2e ); + background-size: cover; + background-repeat: no-repeat; + margin: 0; + padding: 0; + height: 100vh; +} +.HotbarWrapper{ + overflow-x: clip; + transition: 0.5s; + width: 100vw; + height: 9vh; + display: flex; + justify-content: space-between; + align-items: center; + align-content: center; + box-shadow: #121e29 0 0 5vh; + background-image: linear-gradient(to bottom,rgba(52, 184, 254,0.3) ,rgba(52, 184, 254,0.5),rgba(22, 144, 254,0.25),rgba(12, 64, 124,0.5)); + border-bottom: #8cefff 0.3vh solid; +} +.Logo{ + margin-left:1vh; + transition: 0.25s; + padding-right:1vh; + background-image: url("Logo.png"); + background-repeat: no-repeat; + background-size: contain; + width: 8vh; + height:8vh; + } +.ErrorMessageWrapper{ + display: flex; + position: absolute; + justify-content: center; + align-items: center; + align-content: center; + flex-direction: column; + width: 50vw; + height: 50vh; + top: 50vh; + left:50vw; + transform: translate(-50%,-50%); +} +.ErrorMessageImage{ + background-image: url("../GeneralAssets/mascotchibi/chibilost.png"); + background-repeat: no-repeat; + background-size: 15vh; + transition: 0.25s; + min-width: 15vh !important; + min-height: 16.875vh !important; + image-rendering: pixelated; + +} +.ErrorMessage:hover{ + .ErrorMessageImage{ + transform: scale(1); + max-width: 12.86vh !important; + min-height: 17.875vh !important; + background-position-y: 105%; + background-image: url("../GeneralAssets/mascotchibi/chibiquestion.png"); + } +} +.ErrorMessage{ + padding: 2vh; + filter: drop-shadow(0 0.5vh 3vh #8cefff); + border-top: #8cefff 0.3vh solid; + border-left: #8cefff 0.3vh solid; + border-right: rgba(32,120,155,1) 0.3vh solid; + border-bottom: rgba(32,120,155,1) 0.3vh solid; + text-shadow: #223342 0 0 2vh; + background-image:linear-gradient(to bottom right,rgba(100, 124, 254,0.0),rgba(100, 124, 254,0.3) ,rgba(100, 124, 254,0.0),rgba(100, 124, 254,0.0),rgba(100, 124, 254,0.25)), linear-gradient(to bottom,rgba(52, 184, 254,0.4),rgba(52, 184, 254,0.0) ,rgba(52, 184, 254,0.3),rgba(22, 144, 254,0.15),rgba(12, 64, 124,0.25)); + border-radius: 5vh; + display: flex; + align-content: center; + justify-content: center; + align-items: center; + transition: 0.25s; + user-select: none; + font-family: "Arial", serif; + font-weight: bolder; + color:white; + font-size: 4vh; + text-align: center; +} +.LogInButtonWrapper{ + transform: scale(1.5); + margin-top: 5vh; + display: flex; + justify-content: center; + align-items: center; + align-content: center; + flex-direction: row; +} +.HotbarWrapper:hover{ + .Logo{ + height:9vh; + width: 9vh; + } + .Title{ + font-size: 4.5vh; + } + .HotbarButton{ + height: 7vh; + } + .AccountIcon{ + margin-left:1vh; + transition: 0.25s; + margin-right:1vh; + width: 9vh; + height:9vh; + } + height: 12vh; +} +.AccountIcon:hover{ + transform: scale(1.2) translateY(0); + filter: drop-shadow(0 0 2vh #8cefff); + } +.AccountIcon{ + border-style: inset; + border-top: #8cefff 0.5vh solid; + border-left: #8cefff 0.5vh solid; + border-bottom: none; + border-right: none; + filter: drop-shadow(-1vh -1vh 1vh #8cefff); + margin-left:1vh; + transition: 0.25s; + margin-right:1vh; + border-radius: 4vh; + background-image: linear-gradient(to bottom, rgba(100,200,255,0.5), rgba(100,200,255,0.25), rgba(100,200,255,0.15), rgba(100,200,255,0.35)); + width: 8vh; + height:8vh; +} +.Logo:hover{ + transform: scale(1.2) translateY(0); + filter: drop-shadow(0 0 2vh #8cefff); +} +.HotbarButton:hover{ + cursor: pointer; + margin-right: 2vh; + width:22.5vh; + height: 7vh; + filter: drop-shadow(0 0 2vh #8cefff); + transform: scale(1.1) translateY(1%); + border-top: #8cefff 0.3vh solid; + border-left: #8cefff 0.3vh solid; + border-bottom: none; + border-right: none; +} +.HotbarButton{ + border: none; + user-select: none; + transition: 0.25s; + margin-right: 1vh; + margin-left: 1vh; + display: flex; + justify-content: center; + flex-direction: row; + align-content: center; + align-items: center; + font-family: "Arial", serif; + font-weight: bolder; + font-size: 4vh; + width: 20vh; + height: 6vh; + border-radius: 5vh; + color:white; + text-shadow: #8cefff 0vh 0vh 0vh; + background-image: linear-gradient(to bottom, rgba(100,200,255,0.5), rgba(100,200,255,0.25), rgba(100,200,255,0.15), rgba(100,200,255,0.35)); + border-bottom: #8cefff 0.3vh solid; + border-right: #8cefff 0.3vh solid; +} +.HotbarSection{ + display: flex; + justify-content: center; + flex-direction: row; + height: 8vh; + align-content: center; + align-items: center; +} +.Title:hover{ + text-shadow: #8cefff 0vh 0vh 2vh; +} +.FormWindowContainer{ + background: transparent; + width: 100vw; + height: 100vh; + position: absolute; + top: 0; + left: 0; + padding: 0; + margin: 0; + overflow: hidden; + pointer-events: none; +} +.Title{ + transition: 0.25s; + text-shadow: #8cefff 0vh 0vh 0vh; + user-select: none; + font-family: "Arial", serif; + font-weight: bolder; + color:white; + font-size: 4vh; +} +.Copyright{ + border-radius: 5vh; + position: fixed; + left: 0; + bottom: 0; + z-index: 100; + user-select: none; + transition: ease-in-out .3s; + font-family: "Arial", serif; + font-size: 2vh; + text-align: center; + color: white; +} \ No newline at end of file diff --git a/AccountCentre/AccountCentre.php b/AccountCentre/AccountCentre.php new file mode 100644 index 0000000..83c1e8b --- /dev/null +++ b/AccountCentre/AccountCentre.php @@ -0,0 +1 @@ + Halbear.Net setTimeout(()=>{signInForm();},500);"); } $LoggedIn = (isset($_SESSION["logged_in"])) ? $_SESSION["logged_in"] : false; $Page = "AccountCentre"; require_once("../Hidden/Security/PasswordObfsucation.php"); require_once("AccountCentreHotbar.php"); if(!$LoggedIn){ echo("
Uh Oh! looks like you aren't logged in, please log in or sign up to manage your account!
"); } else{ echo("
DisplayName: ".$_SESSION["display_name"]."
UserName: ".$_SESSION["username"]."
"); } ?>
\ No newline at end of file diff --git a/AccountCentre/AccountCentreHotbar.php b/AccountCentre/AccountCentreHotbar.php new file mode 100644 index 0000000..56c0bc0 --- /dev/null +++ b/AccountCentre/AccountCentreHotbar.php @@ -0,0 +1,45 @@ + +
+
+ +
Halbear.Net Account Centre
+
+
+ + + Log Out'; + echo ''; + } else{ + echo ''; + } + ?> +
+
diff --git a/AccountCentre/AccountOverview.php b/AccountCentre/AccountOverview.php new file mode 100644 index 0000000..4eb738e --- /dev/null +++ b/AccountCentre/AccountOverview.php @@ -0,0 +1,3 @@ +
+ +
diff --git a/AccountCentre/AccountWindow.css b/AccountCentre/AccountWindow.css new file mode 100644 index 0000000..f3b4600 --- /dev/null +++ b/AccountCentre/AccountWindow.css @@ -0,0 +1,222 @@ +.windowIcon{ + user-select: none; + z-index: 55 !important; + position: absolute; + transition: 0.0s !important; + width: 9.5vh; + height: 9.5vh; + display: flex; + justify-content: center; + flex-wrap: nowrap; + align-items: center; + flex-direction: column; + border-radius: 5%; +} +Button{ + background: transparent; + border: none; +} +.PopUpWrapper{ + pointer-events: all; + z-index: 100 !important; + display: flex; + justify-content: center; + align-items: center; + align-content: center; + flex-direction: column; + width: 50vw; + height: 85vh; + left: 50vw; + top: 50vh; + position: absolute; + transform: translate(-50%,-50%); +} +.DraggableWrapper{ + pointer-events: all; + z-index: 50; /*!important;*/ + padding: 0; + Position:Absolute; + left: 0; + top: 0; +} +.WindowTitleBar{ + backdrop-filter: blur(2px); + padding-top: 0; + padding-bottom: 0; + padding-left: 2vh; + padding-right: 2vh; + display: flex; + margin: 0; + box-sizing: border-box; + width: 100%; + height: 5vh; + /*z-index: 10;*/ + user-select: none; + justify-content: space-between; + align-items: center; + text-align: center; + cursor:grab; + flex-wrap: nowrap; + background-image: linear-gradient(to bottom, rgba(200,200,255,0.3),rgba(200,200,255,0.1),rgba(200,200,255,0.0),rgba(200,200,255,0.2)); + border: 0.5vh white solid; + border-radius: 2vh; + box-shadow: 0 1vh 1vh #1d4746; +} +.WindowTitleBar:active{ + cursor: grabbing; +} +.ExitButton{ + transition: 0.25s; + background-image: url("../GeneralAssets/ExitButton.png"); +} +.ExitButton:hover{ + transform: scale(1.2); + background-image: url("../GeneralAssets/ExitButtonHover.png"); +} +.MinimiseButton{ + background-image: url("../GeneralAssets/MinimiseButton.png"); + margin-right: 0.25vh; +} +.MinimiseButton:hover{ + background-image: url("../GeneralAssets/MinimiseButtonHover.png"); +} +.appTitleButton{ + background-size: contain; + background-repeat: no-repeat; + height: 3.5vh; + width: 3.5vh; +} +.appTitleButton:hover{ + cursor: pointer; +} +.appTitleButton:active{ + cursor: grabbing; +} +.WindowThumbnail{ + background-size: contain; + background-repeat: no-repeat; + height: 3vh; + width: 3vh; + +} +.WindowTitleBarContainer{ + padding: 0; + margin: 0; + display: flex; + justify-content: left; + align-items: center; + text-align: center; + flex-wrap: nowrap; + height: 100%; +} +.WindowBody{ + justify-content: center; + align-content: start; + align-items: center; + font-family: "Arial", serif; + /*z-index: 5;*/ + box-sizing: border-box; + height: 100%; + width: 100%; + filter: drop-shadow(1vh 1vh 1vh #121e29); + backdrop-filter:brightness(0.9) blur(5px); + text-shadow: #223342 0 0 2vh; + background-image: linear-gradient(to bottom,rgba(22, 184, 224,0.1) ,rgba(22, 184, 224,0.25),rgba(22, 184, 224,0.15),rgba(42, 184, 224,0.05)),linear-gradient(to bottom, rgba(200,200,255,0.5),rgba(200,200,255,0.1),rgba(200,200,255,0.0),rgba(200,200,255,0.2)); + border-radius: 5vh; + display: flex; + flex-wrap: wrap; + box-shadow: 1vh 1vh 1vh #121e29; + padding:1vh; + transition: 0.6s; + margin-bottom: 3vh; +} +.WindowBody.Dragging{ + box-shadow: 2vh 3vh 3vh #121e29; +} +.WindowTitle{ + font-family: "Arial", serif; + font-size: 2.35vh; + color: white; + text-shadow: #0e4044 0.15vh 0.35vh 1vh; + margin-left:0.25vh; +} +.IconText{ + font-family: "Arial", serif; + font-size: 1.35vh !important; + user-select: none; +} +.whiteText{ + text-shadow: #0e4044 0.15vh 0.35vh 1vh; + font-family: "Arial", serif; + color: white; + font-size: 3.35vh; +} +.FormBoxWrapper{ + margin: 3vh; + min-width: 90%; +} +.LoginField{ + min-width: 90%; + min-height:5vh; + padding: 1vh 5vh; + backdrop-filter: blur(15px); + border-radius: 2.5vh; + margin-bottom: 1vh; + display: flex; + justify-content: left; + align-items: center; + align-content: center; +} +.minimised{ + top: 200vh !important; + transition: 0.5s !important; +} +.animationTransition{ + transition: 0.5s !important; +} +.hyperlink:hover{ + transform: scale(1.2); + cursor: pointer; + color: white !important; +} +.hyperlink{ + transition: 0.25s; + color: #8cefff !important; + font-family: "Arial", serif; +} +.ButtonArea{ + align-items: flex-start !important; + margin-top: 5vh; + flex-direction: column; +} +.LogInButton:hover{ + width: 17vw; + transform: scale(1.3) translateY(1vh)!important; +} +input:hover{ + height:5vh; + min-width: 5vh; +} +input{ + transition: 0.25s; + box-shadow: 0 0 1vh #8cefff; + margin-right: 5vh; + transform: scale(1.2); + border: none; + height:3vh; + min-width: 3vh; + border-radius: 1.5vh; + border-bottom: #8cefff 0.5vh solid; + background: transparent !important; + background-image: linear-gradient(to bottom, rgba(25,50,75,0.5), rgba(50,100,155,0.25), rgba(50,100,155,0.15), rgba(50,100,155,0.15)) !important; +} +.showpassword{ + backdrop-filter: none !important; +} +.LogInButton{ + border-radius: 2vh !important; + width: 15vw; + transform: scale(1.2) translateY(1vh); + background: transparent !important; + background-image: linear-gradient(to bottom, rgba(100,200,255,0.5), rgba(100,200,255,0.25), rgba(100,200,255,0.15), rgba(100,200,255,0.35)) !important; +} \ No newline at end of file diff --git a/AccountCentre/DragAccountWindows.js b/AccountCentre/DragAccountWindows.js new file mode 100644 index 0000000..47da947 --- /dev/null +++ b/AccountCentre/DragAccountWindows.js @@ -0,0 +1,71 @@ +function DragWindow(Window) { + var Touchscreen = false; + var CalculatedLeft = 0, CalculatedTop = 0, OldLeft = 0, OldTop = 0; + Window.children[0].addEventListener('mousedown', mouseDown); + Window.children[0].addEventListener('touchstart', mouseDown); + + function mouseDown(mouse) { + Touchscreen = mouse.type === "touchstart"; + mouse.preventDefault(); + if (!Window.classList.contains('DraggingActive')) { + Window.style.zIndex = "" + 55; + if (Touchscreen) { + document.addEventListener('touchmove', mouseMove); + document.addEventListener('touchend', mouseUp); + } else { + document.addEventListener('mousemove', mouseMove); + document.addEventListener('mouseup', mouseUp); + } + Window.classList.add('DraggingActive'); + Window.children[1].classList.add("Dragging"); + OldLeft = mouse.clientX; + OldTop = mouse.clientY; + Window.children[1].style.transition = '0.5s'; + setTimeout(function () { + Window.children[1].style.transition = '0.0s'; + }, 500); + } + } + + function mouseMove(mouse) { + mouse.preventDefault(); + if (!Touchscreen) { + CalculatedLeft = OldLeft - mouse.clientX; + CalculatedTop = OldTop - mouse.clientY; + OldLeft = mouse.clientX; + OldTop = mouse.clientY; + Window.style.top = ((Window.offsetTop - CalculatedTop) / innerHeight) * 100 + 'vh';//clamp(((Window.offsetTop - CalculatedTop) / innerHeight) * 100, 0, (((innerHeight - Window.offsetHeight) / innerHeight) * 100) - 5) + 'vh'; + Window.style.left = ((Window.offsetLeft - CalculatedLeft) / innerWidth) * 100 + 'vw'; //clamp(((Window.offsetLeft - CalculatedLeft) / innerWidth) * 100, 0, (((innerWidth - Window.offsetWidth) / innerWidth) * 100) - 0.5) + 'vw'; + } else { + Window.style.top = (mouse.changedTouches[0].clientY / innerHeight) * 100 + 'vh';//clamp((mouse.changedTouches[0].clientY / innerHeight) * 100, 0, (((innerHeight - Window.offsetHeight) / innerHeight) * 100) - 5) + 'vh'; + Window.style.left = (mouse.changedTouches[0].clientX / innerWidth) * 100 + 'vw';//clamp((mouse.changedTouches[0].clientX / innerWidth) * 100, 0, (((innerWidth - Window.offsetWidth) / innerWidth) * 100) - 0.5) + 'vw'; + } + } + + function mouseUp(mouse) { + Window.children[1].classList.remove('Dragging'); + Window.classList.remove('DraggingActive'); + if (Touchscreen) { + document.removeEventListener('touchmove', mouseMove); + document.removeEventListener('touchend', mouseUp); + Touchscreen = false; + } else { + document.removeEventListener('mousemove', mouseMove); + document.removeEventListener('mouseup', mouseUp); + } + Window.children[1].style.transition = '0.5s'; + Window.style.zIndex = "" + 50; + setTimeout(function () { + Window.children[1].style.transition = '0.0s'; + }, 500); + } +} +function clamp(number, lower, upper) { + if (number > upper) { + return upper; + } + if (number < lower) { + return lower; + } + return number; +} \ No newline at end of file diff --git a/AccountCentre/LogInForm.php b/AccountCentre/LogInForm.php new file mode 100644 index 0000000..da3a1d2 --- /dev/null +++ b/AccountCentre/LogInForm.php @@ -0,0 +1,46 @@ +
+
+
+
+
log In
+
+
+ +
+
+
+
+
+

Log Into Existing Account

+
+ + +
+
+ + +
+ + + +
+ +
+
+
+ +

Don't have a halbear.net account? Create One

+
+
+
+
+
diff --git a/AccountCentre/Logo.png b/AccountCentre/Logo.png new file mode 100644 index 0000000..a06d8f0 Binary files /dev/null and b/AccountCentre/Logo.png differ diff --git a/AccountCentre/SignUpForm.php b/AccountCentre/SignUpForm.php new file mode 100644 index 0000000..6a26886 --- /dev/null +++ b/AccountCentre/SignUpForm.php @@ -0,0 +1,47 @@ +
+
+
+
+
Sign Up
+
+
+ +
+
+
+
+
+

Create New Account

+
+ + +
+
+ + +
+
+ + +
+
+ + +
+ + +
+ +

Have a halbear.net account? Log In

+
+
+
+
+
\ No newline at end of file diff --git a/AppAssets/App.html b/AppAssets/App.html index 0f0395d..8a60853 100644 --- a/AppAssets/App.html +++ b/AppAssets/App.html @@ -1,12 +1,12 @@ -
+
Application
-
-
+ +
diff --git a/AppAssets/AppFullscreen.html b/AppAssets/AppFullscreen.html new file mode 100644 index 0000000..3c21ca1 --- /dev/null +++ b/AppAssets/AppFullscreen.html @@ -0,0 +1,16 @@ +
+
+
+
+
Application
+
+
+ + + +
+
+
+{body} +
+
\ No newline at end of file diff --git a/Artwork.php b/Artwork.php index 5fe5e35..1e8521b 100644 --- a/Artwork.php +++ b/Artwork.php @@ -1,3 +1,6 @@ + diff --git a/ArtworkApps/MelonaArameIcon.html b/ArtworkApps/MelonaArameIcon.html index ff8723b..70569f3 100644 --- a/ArtworkApps/MelonaArameIcon.html +++ b/ArtworkApps/MelonaArameIcon.html @@ -1,3 +1,3 @@ -