aboutsummaryrefslogtreecommitdiff
path: root/src/app/main.css
diff options
context:
space:
mode:
author0neGal <mail@0negal.com>2022-10-23 03:26:54 +0200
committer0neGal <mail@0negal.com>2022-10-23 03:29:23 +0200
commit0862c82996f11822fa851eeebc247d12f88dcd7d (patch)
tree2084b900a35eeccce2d0a027df3b49dc8d1e29d1 /src/app/main.css
parentefb5761268d1ced56cc633347a5143343aa957c6 (diff)
parent096c54e746def93eb6ee1b2a8d91e1e62555d610 (diff)
downloadViper-0862c82996f11822fa851eeebc247d12f88dcd7d.tar.gz
Viper-0862c82996f11822fa851eeebc247d12f88dcd7d.zip
Merge branch 'main' into linux-launch
Diffstat (limited to 'src/app/main.css')
-rw-r--r--src/app/main.css742
1 files changed, 20 insertions, 722 deletions
diff --git a/src/app/main.css b/src/app/main.css
index 87d89e0..f39c5a1 100644
--- a/src/app/main.css
+++ b/src/app/main.css
@@ -1,52 +1,14 @@
-:root {
- --red: 199, 119, 127;
- --blue: 129, 161, 193;
- --orange: 213, 151, 131;
-
- --padding: 25px;
-
- --bg: rgba(0, 0, 0, 0.5);
- --selbg: rgba(80, 80, 80, 0.5);
- --redbg: linear-gradient(45deg, rgb(var(--red)), #FA4343);
- --bluebg: linear-gradient(45deg, rgb(var(--blue)), #7380ED);
-}
-
-.popup, #modsdiv {
- outline: 1px solid #444444;
- border: 3px solid var(--bg);
-}
-
-::-webkit-scrollbar {
- width: 8px;
-}
-
-::-webkit-scrollbar-track {
- border-radius: 10px;
- background: transparent;
-}
-
-::-webkit-scrollbar-thumb {
- border-radius: 10px;
- background: rgb(var(--red));
-}
-
-::selection {
- color: black;
- background: rgb(var(--red));
-}
+@import "css/dragui.css";
+@import "css/toasts.css";
+@import "css/popups.css";
+@import "css/theming.css";
+@import "css/launcher.css";
body {
margin: 0;
overflow: hidden;
}
-body, button, input {font-family: "Roboto", sans-serif}
-
-body, button, img, a {
- -webkit-user-drag: none;
- user-select: none;
-}
-
button {outline: none}
b, strong {font-weight: 700}
body, input, button {font-weight: 500}
@@ -62,281 +24,19 @@ button {
transition: 0.2s ease-in-out;
}
-.playBtn, .gamesContainer button, #winbtns div {
- cursor: pointer;
-}
-
-.popup {
- --spacing: var(--padding);
-
- z-index: 2;
- opacity: 0.0;
- position: fixed;
- overflow-y: scroll;
- top: var(--spacing);
- pointer-events: none;
- left: var(--spacing);
- background: var(--bg);
- right: var(--spacing);
- bottom: var(--spacing);
- transform: scale(0.98);
- backdrop-filter: blur(15px);
- border-radius: calc(var(--padding) / 3);
- transition: opacity 0.15s ease-in-out, transform 0.15s ease-in-out;
-}
-
-.popup.shown {
- opacity: 1.0;
- pointer-events: all;
- transform: scale(1.0);
-}
-
-#overlay {
- top: 0;
- left: 0;
- right: 0;
- bottom: 0;
- z-index: 1;
- opacity: 0.0;
- position: fixed;
- background: var(--bg);
- pointer-events: none;
- transition: opacity 0.15s ease-in-out;
-}
-
-#overlay.shown {
- opacity: 0.8;
- pointer-events: all;
-}
-
-@keyframes fadein {
- 0% {opacity: 0.0}
- 100% {opacity: 1.0}
-}
-
-.popup .el, .popup .misc, .popup .loading {
- --spacing: calc(var(--padding) / 2);
- --height: calc(var(--padding) * 3);
- --mischeight: calc(var(--padding) * 1.5);
-
- animation-duration: 0.15s;
- animation-iteration-count: 1;
- animation-name: fadein;
- animation-fill-mode: forwards;
- animation-timing-function: ease-in-out;
-
- opacity: 0.0;
- transition: 0.15s ease-in-out;
-}
-
-.popup .el, .popup #search, .option .actions select, .option .actions input, .popup #close, .popup .misc button {
- color: white;
- display: flex;
- align-items: center;
- height: var(--height);
- margin: var(--spacing);
- padding: var(--spacing);
- background: var(--selbg);
- border-radius: var(--spacing);
- width: calc(100% - var(--spacing) * 4);
-}
-
-.popup .misc, .popup #search, .option .actions input {
- --height: var(--mischeight);
-}
-
-.popup .misc {
- display: flex;
-}
-
-.popup #search, .option .actions input, .option .actions select {
- border: none;
- outline: none;
- transition: filter 0.15s ease-in-out;
- width: calc(100% - var(--spacing) * 2);
-}
-
-.popup #search:focus, .option .actions input:focus, .option .actions button:active {
- filter: brightness(1.5);
-}
-
-.popup .misc button {
- --height: calc(var(--padding) * 1.5);
-
- padding: 0px;
- margin-left: 0px;
- padding: 0px !important;
- width: var(--height) !important;
-}
-
-.popup .misc button img {
- opacity: 0.6;
- width: var(--height);
- transform: scale(0.6);
- height: var(--height) !important;
-}
-
-#options.popup .misc button {
- margin-left: 0px;
- width: auto !important;
- padding-right: calc(var(--padding) / 2) !important;
-}
-
-.popup .loading {
- width: 100%;
- color: white;
- display: flex;
- text-align: center;
- align-items: center;
- justify-content: center;
- height: calc(100% - var(--mischeight) - var(--height));
-}
-
-.popup .message {
- color: white;
- text-align: center;
- margin: var(--padding);
- width: calc(100% - var(--padding));
-}
-
-.popup .el .image, .popup .el .image img {
- width: var(--height);
- height: var(--height);
- margin-right: var(--spacing);
- border-radius: var(--spacing);
-}
-
-.popup .el .text {
- overflow: hidden;
-}
-
-.popup .el .title, .popup .el .description {
- height: 1.2em;
- overflow: hidden;
- white-space: nowrap;
- text-overflow: ellipsis;
-}
-
-.popup .el .title {font-size: 1.2em}
-.popup .el .description {font-size: 0.8em}
-.popup .el button {
- background: rgb(var(--blue));
- margin-top: var(--spacing);
-}
-
-.popup .options {
- color: white;
- margin: calc(var(--padding) / 2);
-}
-
-.popup .options .option {
- width: 100%;
- display: flex;
- margin-bottom: var(--padding);
- justify-content: space-between;
-}
-
-.popup .overlay {
- z-index: 1;
- color: white;
- opacity: 0.0;
- position: fixed;
- pointer-events: none;
- transform: scale(0.9);
- background: var(--selbg);
- backdrop-filter: blur(15px);
- transition: 0.15s ease-in-out;
- padding: calc(var(--spacing) / 2);
- border-radius: calc(var(--spacing) / 2);
-}
-
-.popup .overlay.shown {
- opacity: 1.0;
- pointer-events: all;
- transform: scale(1.0);
-}
+button:hover {filter: brightness(110%)}
+button:active {filter: brightness(90%)}
-.checks {
+.popup, #modsdiv {
+ outline: 1px solid #444444;
+ border: 3px solid var(--bg);
}
-.check {
- display:flex;
+.playBtn, .gamesContainer button, #winbtns div {
cursor: pointer;
}
-.check::before {
- width: 1em;
- height: 1em;
- content: " ";
- background-size: 75%;
- filter: brightness(1.3);
- background-position: center;
- background-repeat: no-repeat;
- transition: 0.15s ease-in-out;
- background-color: var(--selbg);
- margin-right: calc(var(--spacing) / 3);
- border-radius: calc(var(--spacing) / 4);
-}
-
-.check.checked::before {
- background-color: rgb(var(--red));
- background-image: url(icons/check.png);
-}
-
-.option .text {font-weight: 600}
-.option .text .desc {
- opacity: 0.8;
- font-weight: 500;
- font-size: 0.9em;
- max-width: 400px;
- margin-top: calc(var(--padding) / 3);
-}
-
-.option .actions input, .option .actions select {
- width: 100%;
- margin: 0px;
- --spacing: calc(var(--padding) / 3);
-}
-
-.option[type=array] .actions input {
- word-spacing: 15px;
- margin-right: 15vw;
-}
-
-.option .actions button {
- background: var(--selbg);
-}
-
-.switch {
- width: 50px;
- height: 25px;
- border-radius: 50px;
-}
-
-.switch.on {
- background: rgba(var(--red), 0.2) !important;
-}
-
-.switch::after {
- left: -5px;
- width: 15px;
- height: 15px;
- content: " ";
- display: block;
- background: red;
- position: relative;
- border-radius: 50px;
- background: var(--bg);
- transition: 0.2s ease-in-out;
-}
-
-.switch.on::after {
- left: 15px;
- width: 20px;
- opacity: 0.5;
- background: rgb(var(--red));
-}
-
+/* window buttons { */
#winbtns {
z-index: 2;
display: flex;
@@ -359,11 +59,13 @@ button {
#winbtns #minimize {background-image: url("icons/minimize.png")}
#winbtns #settings {background-image: url("icons/settings.png")}
+#winbtns #settings:hover {
+ transform: rotate(90deg);
+}
+
#winbtns div:hover {opacity: 1.0}
#winbtns div:active {transform: scale(0.95)}
-
-button:hover {filter: brightness(110%)}
-button:active {filter: brightness(90%)}
+/* } */
img {pointer-events: none}
@@ -377,7 +79,7 @@ img {pointer-events: none}
background-size: cover;
background-position: center;
background-repeat: no-repeat;
- transition: background-image 0.5s ease-in-out;
+ transition: background-image 0.1s ease-in-out;
filter: brightness(0.4) blur(2px) grayscale(0.6);
}
@@ -385,412 +87,7 @@ img {pointer-events: none}
#bgHolder[bg="1"] {background-image: url("../assets/bg/northstar.jpg")}
#bgHolder[bg="2"] {background-image: url("../assets/bg/tf2.jpg")}
-.gamesContainer {
- width: 10%;
- height: 100%;
- min-width: 95px;
- max-width: 120px;
-
- float: left;
- display: flex;
- flex-wrap: wrap;
- align-content: center;
-}
-
-.mainContainer {
- height: 100%;
- flex-grow: 1;
- display: flex;
- position: relative;
-}
-
-
-/* nav bar buttons */
-.gamesContainer button {
- background-size: 90%;
- background-position: center;
- background-repeat: no-repeat;
-
- border: none;
- transition: 0.3s ease-in-out;
- background-color: transparent;
-
-
- margin: 20px;
- position: relative;
- box-sizing: border-box;
- flex-basis: calc(100% - 10px);
-}
-
-.gamesContainer button.inactive {
- opacity: 0.5;
- transform: scale(0.9);
-}
-
-.gamesContainer button::before {
- content: "";
- display: block;
- padding-top: 100%;
-}
-
-.gamesContainer button .content {
- width: 100%;
- height: 100%;
- top: 0; left: 0;
- position: absolute;
-}
-
-#vpBtn {background-image: url("icons/viper.png")}
-#nsBtn {background-image: url("icons/northstar.png")}
-#tfBtn {
- background-image: url("icons/titanfall2.png");
- background-size: 69%; /* nice */
-}
-
-.contentContainer {
- width: 85%;
- color: white;
- flex-grow: 1;
- opacity: 1.0;
- margin-left: 5%;
- position: absolute;
- transition: 0.15s ease-in-out;
-}
-
-.contentContainer.hidden {
- opacity: 0.0;
- pointer-events: none;
-}
-
-.contentMenu {
- padding: 0;
- flex-grow: 1;
- display: flex;
- font-size: 20px;
- list-style: none;
- margin-bottom: 0;
- align-items: center;
- justify-content: center;
- margin-top: var(--padding);
-}
-
-/* some sections do not need space between them and menu */
-#nsMain, #nsRelease, #vpReleaseNotes, .playBtnContainer {
- margin-top: 0 !important;
-}
-
-.contentMenu li {
- opacity: 0.6;
- margin: 0 26px;
- cursor: pointer;
- font-weight: 700;
- text-align: center;
- height: fit-content;
- transition: opacity 0.3s ease-in-out;
-}
-
-.contentMenu li:last-child {margin-right: 0px}
-.contentMenu li:first-child {margin-left: 0px}
-
-.contentMenu li:hover {opacity: 0.7}
-
-.contentMenu li[active] {
- opacity: 1.0;
- pointer-events: none;
-}
-
-.contentMenu li::after {
- top: 10px;
- width: 30px;
- height: 5px;
- opacity: 0.0;
- content: " ";
- display: block;
- text-align: center;
- position: relative;
- border-radius: 50px;
- background: rgb(var(--red));
- left: calc(50% - 15px);
- transition: 0.2s ease-in-out;
-}
-
-.contentMenu li[active]::after {
- top: 5px;
- opacity: 1.0;
-}
-
-.section {
- opacity: 1.0;
- position: fixed;
- right: calc(var(--padding) * 2);
- left: calc(100px + var(--padding));
- transition: opacity 0.15s ease-in-out;
-}
-
-.section.hidden {
- opacity: 0.0;
- pointer-events: none;
-}
-
-.contentBody img {max-width: 100%}
-.contentBody .img {text-align: center}
-
-.contentBody .section > :first-child:not(.img) {
- margin-top: 35px;
-}
-
-.contentContainer .playBtnContainer {
- text-align: center;
-}
-
-.contentContainer .playBtn {
- width: 27%;
- height: 11%;
- border: none;
- color: white;
- padding: 20px;
- font-size: 24px;
- font-weight: bold;
- margin-top: 100px;
- margin-bottom: 10px;
- border-radius: 10px;
- background: var(--redbg);
- transition: 0.3s ease-in-out;
- filter: drop-shadow(0px 8px 5px rgba(0, 0, 0, 0.1));
-}
-
-.contentContainer .playBtn:hover {
- transform: scale(1.05);
- filter: drop-shadow(0px 5px 15px rgba(0, 0, 0, 0.3)) brightness(110%);
-}
-
-.contentContainer .playBtn:active {
- opacity: 0.7;transform: scale(0.98);
- filter: drop-shadow(0px 5px 10px rgba(0, 0, 0, 0.4));
-}
-
-.contentContainer #nsMain .playBtn {
- background: var(--bluebg);
-}
-
-a {
- color: rgb(var(--red));
- text-decoration: none;
- transition: filter 0.2s ease-in;
-}
-
-a:hover {
- filter: brightness(80%);
-}
-
-#nsContent .contentMenu {
- margin-bottom: 0;
-}
-
-.contentBody .img img {
- transform: scale(0.85);
-}
-
-.contentBody .img {
- width: 100%;
- text-align: center;
-}
-
-#nsRelease, #vpReleaseNotes {
- height: 80vh;
- overflow-y: scroll;
- flex-direction: column;
- margin-top: 10px !important;
-}
-
-.inline * {
- display: inline-block;
-}
-
-#vpMain {
- margin-top: 140px;
- text-align: center;
-}
-
-#vpMain img {
- width: 20%;
-}
-
-#vpVersion {
- font-size: 16px;
-}
-
-.simplebar-scrollbar:before {
- background: rgb(var(--red)) !important;
-}
-
-#installmod {background: rgb(var(--blue))}
-#togglemod, #toggleall {background: rgb(var(--orange))}
-#removeall, #removemod {background: rgb(var(--red))}
-button:disabled {
- opacity: 0.5;
- pointer-events: none;
-}
-
-button.visual {
- opacity: 1.0;
- pointer-events: none;
- background: transparent !important;
-}
-
-code {
- font-size: 16px;
- padding: 2px 5px;
- border-radius: 3px;
- background-color: #00000070;
-}
-
-#nsMods .line {
- display: flex;
- align-items: center;
- margin-top: calc(var(--padding) / 2);
-}
-
-#modsdiv {
- height: 50vh;
- overflow-y: scroll;
- border-radius: 5px;
- background: var(--bg);
- backdrop-filter: blur(15px);
- padding: calc(var(--padding) / 4);
-}
-
-#modsdiv .mod {
- display: flex;
- border-radius: 5px;
- transition: 0.1s ease-in-out;
- margin: calc(var(--padding) / 3);
- padding: calc(var(--padding) / 3);
-}
-
-#modsdiv .mod.selected {
- background: var(--selbg);
-}
-
-#modsdiv .mod .disabled, .modbtns {
- margin-left: auto;
-}
-
-.modbtns button {
- margin-left: var(--spacing);
- --spacing: calc(var(--padding) / 3);
- margin-top: calc(var(--spacing) / 2);
- margin-bottom: calc(var(--spacing) / 2);
-}
-
-#toasts {
- position: fixed;
- z-index: 100000;
- right: calc(var(--padding) * 1.5);
- bottom: calc(var(--padding) * 1.5);
-}
-
-@keyframes bodyfadeaway {
- 0% {opacity: 0.0; transform: scale(0.95)}
- 100% {opacity: 1.0; transform: scale(1.0)}
-}
-
-#toasts .toast {
- width: 300px;
- opacity: 0.0;
- cursor: pointer;
- overflow: hidden;
- max-height: 100vh;
- background: #FFFFFF;
- transform: scale(0.95);
- transition: 0.2s ease-in-out;
- padding: calc(var(--padding) / 2);
- margin-top: calc(var(--padding) / 2);
- border-radius: calc(var(--padding) / 2.5);
- box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.2);
-
- animation-duration: 0.2s;
- animation-iteration-count: 1;
- animation-name: bodyfadeaway;
- animation-fill-mode: forwards;
- animation-timing-function: ease-in-out;
-}
-
-#toasts .toast.hidden {
- margin-top: 0px;
- max-height: 0px;
- padding-top: 0px;
- padding-bottom: 0px;
- filter: opacity(0.0);
- transform: scale(0.95);
-}
-
-#toasts .toast:not(.hidden):hover {filter: opacity(0.9)}
-#toasts .toast:not(.hidden):active {filter: opacity(0.8)}
-
-.toast .title {
-}
-
-.toast .description {
- opacity: 0.8;
- font-size: 0.8em;
- font-weight: 600;
-}
-
-#dragUI {
- top: 0;
- left: 0;
- right: 0;
- bottom: 0;
- color: white;
- opacity: 0.0;
- position: fixed;
- z-index: 1000000;
- pointer-events: none;
- background: var(--bg);
- backdrop-filter: blur(15px);
- transition: 0.1s ease-in-out;
-}
-
-#dragUI.shown {
- opacity: 1.0;
- pointer-events: all;
-}
-
-#dragUI #dragitems {
- --size: 25vw;
- top: 50%;
- left: 50%;
- opacity: 0.6;
- position: absolute;
- text-align: center;
- width: var(--size);
- height: var(--size);
- margin-top: calc(var(--size) / 2 * -1);
- margin-left: calc(var(--size) / 2 * -1);
-}
-
-#dragUI #dragitems #icon {
- width: 100%;
- height: 100%;
- filter: invert(1);
- transform: scale(0.45);
- background-size: cover;
- background-image: url("icons/download.png");
- transition: 0.1s ease-in-out;
-}
-
-#dragUI.shown #dragitems #icon {
- transform: scale(0.5);
-}
-
-#dragUI #dragitems #text {
- top: -5vw;
- position: relative;
-}
-
/* drag control */
-
#bgHolder,
.contentContainer,
.gamesContainer {
@@ -804,6 +101,7 @@ code {
-webkit-app-region: no-drag;
}
-a, button, #close, #nsRelease, #vpReleaseNotes, .mod, #overlay, #modsdiv, #winbtns, .contentMenu {
+a, button, #close, #nsRelease, #vpReleaseNotes,
+.mod, #overlay, #modsdiv, #winbtns, .contentMenu {
-webkit-app-region: no-drag;
}