Merge pull request #1759 from IvarK/omsi_sidebar

Fix sidebar issues
This commit is contained in:
Jane Doe 2021-08-17 07:54:59 -07:00 committed by GitHub
commit 67152a1c27
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
13 changed files with 122 additions and 57 deletions

View File

@ -449,7 +449,7 @@
<script type="text/javascript" src="javascripts/components/new-ui/time-dimensions-tab/new-time-dimension-row.js"></script> <script type="text/javascript" src="javascripts/components/new-ui/time-dimensions-tab/new-time-dimension-row.js"></script>
<script type="text/javascript" src="javascripts/components/new-ui/time-dimensions-tab/new-time-dimensions-tab.js"></script> <script type="text/javascript" src="javascripts/components/new-ui/time-dimensions-tab/new-time-dimensions-tab.js"></script>
<script type="text/javascript" src="javascripts/components/new-ui/dimensions-tab/new-galaxy-row.js"></script> <script type="text/javascript" src="javascripts/components/new-ui/dimensions-tab/new-galaxy-row.js"></script>
<script type="text/javascript" src="javascripts/components/new-ui/sidebar-resources/sidebar-rm.js"></script> <script type="text/javascript" src="javascripts/components/new-ui/sidebar-resources/sidebar-currency.js"></script>
<script type="text/javascript" src="javascripts/components/new-ui/new-ui.js"></script> <script type="text/javascript" src="javascripts/components/new-ui/new-ui.js"></script>
<script type="text/javascript" src="javascripts/components/common/news-ticker.js"></script> <script type="text/javascript" src="javascripts/components/common/news-ticker.js"></script>

View File

@ -33,5 +33,6 @@ Vue.component("game-ui", {
</div> </div>
<div id="notification-container" class="l-notification-container" /> <div id="notification-container" class="l-notification-container" />
<tt-shop v-if="view.subtab === 'studies'" class="l-time-studies-tab__tt-shop" /> <tt-shop v-if="view.subtab === 'studies'" class="l-time-studies-tab__tt-shop" />
<sidebar v-if="view.newUI" />
</div>` </div>`
}); });

View File

@ -96,7 +96,6 @@ Vue.component("new-ui", {
template: ` template: `
<div id="page"> <div id="page">
<link rel="stylesheet" type="text/css" href="stylesheets/new-ui-styles.css"> <link rel="stylesheet" type="text/css" href="stylesheets/new-ui-styles.css">
<sidebar />
<div class="game-container" :style="topMargin"> <div class="game-container" :style="topMargin">
<news-ticker v-if="news" /> <news-ticker v-if="news" />
<div v-if="bigCrunch" class="l-new-ui-big-crunch__container"> <div v-if="bigCrunch" class="l-new-ui-big-crunch__container">

View File

@ -0,0 +1,71 @@
"use strict";
Vue.component("sidebar-currency", {
data() {
return {
AM: new Decimal(0),
IP: new Decimal(0),
EP: new Decimal(0),
RM: new Decimal(0),
IM: 0,
showIP: false,
showEP: false,
showRM: false,
};
},
methods: {
update() {
this.AM.copyFrom(Currency.antimatter.value);
this.IP.copyFrom(Currency.infinityPoints.value);
this.EP.copyFrom(Currency.eternityPoints.value);
this.RM.copyFrom(Currency.realityMachines);
this.IM = Currency.imaginaryMachines.value;
this.showIP = PlayerProgress.infinityUnlocked();
this.showEP = PlayerProgress.eternityUnlocked();
this.showRM = PlayerProgress.realityUnlocked();
}
},
template: `
<div class="resource">
<template v-if="showRM">
<template v-if="IM === 0">
<h2 class="o-sidebar-currency--reality">{{ format(RM, 2) }}</h2>
<div class="resource-information">
<span class="resource-name">Reality {{ "Machine" | pluralize(RM) }}</span>
</div>
</template>
<template v-else>
<h3 class="o-sidebar-currency--reality">
{{ format(RM, 2) }}<br> + {{ format(IM, 2) }}i
</h3>
<div class="resource-information">
<span class="resource-name">Machines</span>
</div>
</template>
</template>
<template v-else-if="showEP">
<h2 class="o-sidebar-currency--eternity">
{{ format(EP, 2) }}
</h2>
<div class="resource-information">
<span class="resource-name">Eternity {{ "Point" | pluralize(EP) }}</span>
</div>
</template>
<template v-else-if="showIP">
<h2 class="o-sidebar-currency--infinity">
{{ format(IP, 2) }}
</h2>
<div class="resource-information">
<span class="resource-name">Infinity {{ "Point" | pluralize(IP) }}</span>
</div>
</template>
<template v-else>
<h2 class="o-sidebar-currency--antimatter">
{{ format(AM, 2, 1) }}
</h2>
<div class="resource-information">
<span class="resource-name">Antimatter</span>
</div>
</template>
</div>`
});

View File

@ -1,33 +0,0 @@
"use strict";
Vue.component("sidebar-rm", {
data() {
return {
rm: new Decimal(0),
im: 0,
};
},
methods: {
update() {
this.rm.copyFrom(Currency.realityMachines);
this.im = Currency.imaginaryMachines.value;
}
},
template: `
<div class="resource">
<div v-if="im === 0">
<h2 class="o-sidebar-reality-button">{{ format(rm, 2) }}</h2>
<div class="resource-information">
<span class="resource-name">Reality {{ "Machine" | pluralize(rm) }}</span>
</div>
</div>
<div v-else>
<h3 class="o-sidebar-reality-button">
{{ format(rm, 2) }}<br> + {{ format(im, 2) }}i
</h3>
<div class="resource-information">
<span class="resource-name">Machines</span>
</div>
</div>
</div>`
});

View File

@ -3,13 +3,11 @@
Vue.component("sidebar", { Vue.component("sidebar", {
data() { data() {
return { return {
RMVisible: false,
newsEnabled: false newsEnabled: false
}; };
}, },
methods: { methods: {
update() { update() {
this.RMVisible = PlayerProgress.realityUnlocked();
this.newsEnabled = player.options.news.enabled; this.newsEnabled = player.options.news.enabled;
} }
}, },
@ -29,7 +27,7 @@ Vue.component("sidebar", {
}, },
template: ` template: `
<div class="sidebar"> <div class="sidebar">
<sidebar-rm v-if="RMVisible" /> <sidebar-currency />
<tab-button <tab-button
v-for="tab in tabs" v-for="tab in tabs"
:key="tab.name" :key="tab.name"

View File

@ -31,15 +31,13 @@ Vue.component("tab-button", {
} }
}, },
template: ` template: `
<div v-if="!isHidden" :class="[classObject, tab.config.UIClass]"> <div v-if="!isHidden && isAvailable" :class="[classObject, tab.config.UIClass]">
<div <div
v-if="isAvailable"
class="l-tab-btn-inner" class="l-tab-btn-inner"
@click="tab.show(true)" @click="tab.show(true)"
> >
{{ tab.name }} <i v-if="hasNotification" class="fas fa-exclamation"></i> {{ tab.name }} <i v-if="hasNotification" class="fas fa-exclamation"></i>
</div> </div>
<div v-else class="l-tab-btn-inner">???</div>
<div class="subtabs" v-if="showSubtabs"> <div class="subtabs" v-if="showSubtabs">
<div <div
v-for="(subtab, index) in tab.subtabs" v-for="(subtab, index) in tab.subtabs"

View File

@ -46,8 +46,8 @@ body.t-s9 {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
width: 12rem; width: 12rem;
margin-top: 3.9rem;
position: fixed; position: fixed;
left: 0;
z-index: 5; z-index: 5;
} }
@ -63,6 +63,8 @@ body.t-s9 {
width: 12rem; width: 12rem;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
justify-content: center;
align-items: center;
background-color: var(--color-base); background-color: var(--color-base);
border-right: 0.1rem solid var(--color-accent); border-right: 0.1rem solid var(--color-accent);
border-bottom: 0.1rem solid var(--color-accent); border-bottom: 0.1rem solid var(--color-accent);
@ -71,10 +73,8 @@ body.t-s9 {
.resource h2 { .resource h2 {
margin: 0; margin: 0;
color: var(--color-accent);
font-size: 1.7em; font-size: 1.7em;
z-index: 1; z-index: 1;
text-align: left;
} }
.t-dark .resource h2, .t-dark .resource h2,
@ -100,10 +100,34 @@ body.t-s9 {
font-size: 0.8em; font-size: 0.8em;
} }
.t-dark #antimatter {animation: a-game-header__antimatter--glow 25s infinite;} .o-sidebar-currency--antimatter {
.o-sidebar-infinity-button { color: var(--color-infinity) } color: black;
.o-sidebar-eternity-button { color: var(--color-eternity) } }
.resource .o-sidebar-reality-button { color: var(--color-reality) }
.t-normal .o-sidebar-currency--antimatter {
color: var(--color-accent);
}
.t-dark .o-sidebar-currency--antimatter,
.t-s6 .o-sidebar-currency--antimatter {
animation: a-game-header__antimatter--glow 25s infinite;
}
.t-dark-metro .o-sidebar-currency--antimatter {
color: #e0e0e0;
}
.o-sidebar-currency--infinity {
color: var(--color-infinity)
}
.o-sidebar-currency--eternity {
color: var(--color-eternity)
}
.o-sidebar-currency--reality {
color: var(--color-reality)
}
.resource-infinity-canreset, .resource-infinity-canreset,
.resource-eternity-canreset { .resource-eternity-canreset {
@ -133,6 +157,10 @@ body.t-s9 {
transition-delay: 0.2s; transition-delay: 0.2s;
} }
.o-tab-btn:hover {
z-index: 1;
}
.sidebar > .o-tab-btn { .sidebar > .o-tab-btn {
border-left: none; border-left: none;
} }
@ -156,8 +184,8 @@ body.t-s9 {
.o-tab-btn::after { .o-tab-btn::after {
content: ''; content: '';
position: absolute; position: absolute;
left: 100%; left: calc(100% + 0.1rem);
top: -2%; top: calc(0% + -0.1rem);
width: 0; width: 0;
height: 0; height: 0;
border-bottom: 2.3rem solid transparent; border-bottom: 2.3rem solid transparent;
@ -169,7 +197,7 @@ body.t-s9 {
} }
.o-tab-btn--subtabs:hover::after { .o-tab-btn--subtabs:hover::after {
border-left-width: 2.3rem; border-left-width: 2.2rem;
} }
.o-tab-btn--infinity::after { .o-tab-btn--infinity::after {
@ -232,11 +260,10 @@ body.t-s9 {
} }
.c-news-ticker { .c-news-ticker {
width: calc(100% + 12rem); width: 100%;
border-bottom: 0.1rem solid var(--color-accent); border-bottom: 0.1rem solid var(--color-accent);
padding: 0.8rem 0; padding: 0.8rem 0;
height: 3.9rem; height: 3.9rem;
margin-left: -12rem;
} }
.c-news-line { .c-news-line {
@ -251,8 +278,7 @@ body.t-s9 {
top: -0.6rem; top: -0.6rem;
left: 12rem; left: 12rem;
z-index: 4; z-index: 4;
transition-duration: 0.15s; transition: pointer-events 0s linear 0s, all 0.15s linear 0.2s;
transition-delay: 0.2s;
padding: 0.5rem; padding: 0.5rem;
padding-left: 0; padding-left: 0;
} }
@ -829,7 +855,7 @@ body.t-s9 {
color: var(--color-eternity); color: var(--color-eternity);
} }
.c-game-header__antimatter { .t-normal .c-game-header__antimatter {
color: var(--color-accent); color: var(--color-accent);
} }

View File

@ -7,6 +7,7 @@ body.t-inverted-metro {
.t-inverted-metro .l-notification-container, .t-inverted-metro .l-notification-container,
.t-inverted-metro .c-modal, .t-inverted-metro .c-modal,
.t-inverted-metro #TTbuttons, .t-inverted-metro #TTbuttons,
.t-inverted-metro .sidebar,
.t-inverted-metro .c-glyph-tooltip { .t-inverted-metro .c-glyph-tooltip {
filter: invert(100%); filter: invert(100%);
} }

View File

@ -7,6 +7,7 @@ body.t-inverted {
.t-inverted .l-notification-container, .t-inverted .l-notification-container,
.t-inverted .c-modal, .t-inverted .c-modal,
.t-inverted #TTbuttons, .t-inverted #TTbuttons,
.t-inverted .sidebar,
.t-inverted .c-glyph-tooltip { .t-inverted .c-glyph-tooltip {
filter: invert(100%); filter: invert(100%);
} }

View File

@ -18,6 +18,7 @@ body {
.t-s2 .l-notification-container, .t-s2 .l-notification-container,
.t-s2 .c-modal, .t-s2 .c-modal,
.t-s2 #TTbuttons, .t-s2 #TTbuttons,
.t-s2 .sidebar,
.t-s2 .c-glyph-tooltip { .t-s2 .c-glyph-tooltip {
filter: sepia(100%) hue-rotate(180deg) saturate(250%); filter: sepia(100%) hue-rotate(180deg) saturate(250%);
} }

View File

@ -7,6 +7,7 @@ body {
.t-s3 .l-notification-container, .t-s3 .l-notification-container,
.t-s3 .c-modal, .t-s3 .c-modal,
.t-s3 #TTbuttons, .t-s3 #TTbuttons,
.t-s3 .sidebar,
.t-s3 .c-glyph-tooltip { .t-s3 .c-glyph-tooltip {
animation: glasses 7s infinite; animation: glasses 7s infinite;
} }

View File

@ -15,6 +15,7 @@ body.t-s5 {
.t-s5 #page, .t-s5 #page,
.t-s5 .l-notification-container, .t-s5 .l-notification-container,
.t-s5 .c-modal, .t-s5 .c-modal,
.t-s5 #TTbuttons { .t-s5 #TTbuttons,
.t-s5 .sidebar {
filter: sepia(100%) hue-rotate(0deg) saturate(100%); filter: sepia(100%) hue-rotate(0deg) saturate(100%);
} }