|
4 | 4 | .background |
5 | 5 | .card-content(@mousedown="startJoin", @mouseup="endJoin") |
6 | 6 | p.title.has-text-primary-light {{ idToName[id] || id }} |
7 | | - p.subtitle |
8 | | - | {{ server.playerinfo.length > 0 ? |
9 | | - | |
10 | | - | server.playerinfo.length + (" player" + (server.playerinfo.length != 1 ? "s" : "")) : |
11 | | - | |
12 | | - | "Empty," |
13 | | - | }} on {{ server.serverinfo.map }} |
14 | | - br |
15 | | - | {{ ((server.time - server.started) / 60 / 60).toFixed(1) }} hours uptime |
| 7 | + .subtitle |
| 8 | + div(style="display: flex; align-items: center;") |
| 9 | + span {{ playerCount }} on |
| 10 | + span.small-code {{ server.serverinfo.map }} |
| 11 | + template(v-if="!server.serverinfo.gm.includes('sandbox')") |
| 12 | + span.small-code.gamemode(style="margin-left: 0.5em") {{ server.serverinfo.gm }} |
| 13 | + .subtitle |
| 14 | + | {{ ((server.time - server.started) / 60 / 60).toFixed(1) }} hours uptime |
16 | 15 | ul.playerlist(v-if="server.playerinfo.length > 0", @mousedown.stop, @mouseup.stop) |
17 | 16 | li.player(v-for="player in server.playerinfo", :class="{ 'is-admin': player.IsAdmin }") |
18 | 17 | a( |
|
52 | 51 | bottom: 0; |
53 | 52 | left: 0; |
54 | 53 | right: 0; |
55 | | - background: |
56 | | - linear-gradient(0deg, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), |
| 54 | + background: linear-gradient(0deg, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), |
57 | 55 | url("/img/gm_construct_m.jpg"); |
58 | 56 | background-size: cover; |
59 | 57 | background-position: center center; |
60 | 58 | filter: brightness(100%) blur(3px); |
61 | 59 | transform-origin: center; |
62 | | - transition: |
63 | | - margin 0.25s ease-out, |
64 | | - filter 0.25s ease-out; |
| 60 | + transition: margin 0.25s ease-out, filter 0.25s ease-out; |
65 | 61 | } |
66 | 62 | } |
67 | 63 |
|
|
133 | 129 | } |
134 | 130 | } |
135 | 131 |
|
| 132 | + .small-code { |
| 133 | + font-size: 11pt; |
| 134 | + font-family: monospace; |
| 135 | + font-weight: 400; |
| 136 | + } |
| 137 | +
|
| 138 | + .gamemode { |
| 139 | + --x-padding: 3px; |
| 140 | + --height: 24px; |
| 141 | + display: inline-flex; |
| 142 | + justify-content: center; |
| 143 | + align-items: center; |
| 144 | + height: var(--height); |
| 145 | + border-radius: calc(var(--height) + var(--x-padding)); |
| 146 | + padding: 3px 6px; |
| 147 | + background: linear-gradient(225deg, hsl(25, 88%, 40%) 0%, hsl(25, 88%, 30%) 100%); |
| 148 | + color: white; |
| 149 | + font-size: 9pt; |
| 150 | + opacity: 1; |
| 151 | + } |
| 152 | +
|
136 | 153 | .server-info-bottom { |
137 | 154 | display: flex; |
138 | 155 | justify-content: space-around; |
@@ -163,11 +180,20 @@ export default { |
163 | 180 | mY: null, |
164 | 181 | }; |
165 | 182 | }, |
| 183 | + computed: { |
| 184 | + playerCount() { |
| 185 | + return this.server.playerinfo.length > 0 |
| 186 | + ? this.server.playerinfo.length + |
| 187 | + (" player" + (this.server.playerinfo.length !== 1 ? "s" : "")) |
| 188 | + : "Empty,"; |
| 189 | + }, |
| 190 | + }, |
166 | 191 | methods: { |
167 | 192 | startJoin(ev) { |
168 | 193 | [this.mX, this.mY] = [ev.x, ev.y]; |
169 | 194 | }, |
170 | 195 | endJoin(ev) { |
| 196 | + if (ev.button !== 0) return; // Only handle left click |
171 | 197 | if (this.mX - ev.x === 0 && this.mY - ev.y === 0) |
172 | 198 | window.open( |
173 | 199 | `steam://connect/${this.server.serverinfo.address}:${this.server.serverinfo.port}`, |
|
0 commit comments