UI Refresh
@@ -1166,13 +1166,13 @@
|
||||
<img
|
||||
v-if="device[1] !== 'connected'"
|
||||
class="tracker-device"
|
||||
src="./images/headset_quest_status_off.png"
|
||||
src="/images/vr/headset_quest_status_off.png"
|
||||
:class="trackingResultToClass(device[4])" />
|
||||
<img
|
||||
v-else-if="device[2] === 'charging'"
|
||||
src="./images/headset_quest_status_ready_charging.png" />
|
||||
<img v-else-if="device[3] < 20" src="./images/headset_quest_status_ready_low.png" />
|
||||
<img v-else src="./images/headset_quest_status_ready.png" />
|
||||
src="/images/vr/headset_quest_status_ready_charging.png" />
|
||||
<img v-else-if="device[3] < 20" src="/images/vr/headset_quest_status_ready_low.png" />
|
||||
<img v-else src="/images/vr/headset_quest_status_ready.png" />
|
||||
<span>{{ device[3] }}%</span>
|
||||
</div>
|
||||
<div
|
||||
@@ -1182,57 +1182,57 @@
|
||||
<img
|
||||
v-if="device[1] !== 'connected'"
|
||||
class="tracker-device"
|
||||
src="./images/left_controller_status_off.png"
|
||||
src="/images/vr/left_controller_status_off.png"
|
||||
:class="trackingResultToClass(device[4])" />
|
||||
<img
|
||||
v-else-if="device[2] === 'charging'"
|
||||
src="./images/left_controller_status_ready_charging.png" />
|
||||
<img v-else-if="device[3] < 20" src="./images/left_controller_status_ready_low.png" />
|
||||
<img v-else src="./images/left_controller_status_ready.png" />
|
||||
src="/images/vr/left_controller_status_ready_charging.png" />
|
||||
<img v-else-if="device[3] < 20" src="/images/vr/left_controller_status_ready_low.png" />
|
||||
<img v-else src="/images/vr/left_controller_status_ready.png" />
|
||||
<span>{{ device[3] }}%</span>
|
||||
</div>
|
||||
<div
|
||||
v-else-if="device[0] === 'rightController'"
|
||||
class="tracker-device"
|
||||
:class="trackingResultToClass(device[4])">
|
||||
<img v-if="device[1] !== 'connected'" src="./images/right_controller_status_off.png" />
|
||||
<img v-if="device[1] !== 'connected'" src="/images/vr/right_controller_status_off.png" />
|
||||
<img
|
||||
v-else-if="device[2] === 'charging'"
|
||||
src="./images/right_controller_status_ready_charging.png" />
|
||||
<img v-else-if="device[3] < 20" src="./images/right_controller_status_ready_low.png" />
|
||||
<img v-else src="./images/right_controller_status_ready.png" />
|
||||
src="/images/vr/right_controller_status_ready_charging.png" />
|
||||
<img v-else-if="device[3] < 20" src="/images/vr/right_controller_status_ready_low.png" />
|
||||
<img v-else src="/images/vr/right_controller_status_ready.png" />
|
||||
<span>{{ device[3] }}%</span>
|
||||
</div>
|
||||
<div
|
||||
v-else-if="device[0] === 'controller'"
|
||||
class="tracker-device"
|
||||
:class="trackingResultToClass(device[4])">
|
||||
<img v-if="device[1] !== 'connected'" src="./images/controller_status_off.png" />
|
||||
<img v-if="device[1] !== 'connected'" src="/images/vr/controller_status_off.png" />
|
||||
<img
|
||||
v-else-if="device[2] === 'charging'"
|
||||
src="./images/controller_status_ready_charging.png" />
|
||||
<img v-else-if="device[3] < 20" src="./images/controller_status_ready_low.png" />
|
||||
<img v-else src="./images/controller_status_ready.png" />
|
||||
src="/images/vr/controller_status_ready_charging.png" />
|
||||
<img v-else-if="device[3] < 20" src="/images/vr/controller_status_ready_low.png" />
|
||||
<img v-else src="/images/vr/controller_status_ready.png" />
|
||||
<span>{{ device[3] }}%</span>
|
||||
</div>
|
||||
<div
|
||||
v-else-if="device[0] === 'tracker'"
|
||||
class="tracker-device"
|
||||
:class="trackingResultToClass(device[4])">
|
||||
<img v-if="device[1] !== 'connected'" src="./images/tracker_status_off.png" />
|
||||
<img v-if="device[1] !== 'connected'" src="/images/vr/tracker_status_off.png" />
|
||||
<img
|
||||
v-else-if="device[2] === 'charging'"
|
||||
src="./images/tracker_status_ready_charging.png" />
|
||||
<img v-else-if="device[3] < 20" src="./images/tracker_status_ready_low.png" />
|
||||
<img v-else src="./images/tracker_status_ready.png" />
|
||||
src="/images/vr/tracker_status_ready_charging.png" />
|
||||
<img v-else-if="device[3] < 20" src="/images/vr/tracker_status_ready_low.png" />
|
||||
<img v-else src="/images/vr/tracker_status_ready.png" />
|
||||
<span>{{ device[3] }}%</span>
|
||||
</div>
|
||||
<div
|
||||
v-else-if="device[0] === 'base'"
|
||||
class="tracker-device"
|
||||
:class="trackingResultToClass(device[4])">
|
||||
<img v-if="device[1] !== 'connected'" src="./images/base_status_off.png" />
|
||||
<img v-else src="./images/base_status_ready.png" />
|
||||
<img v-if="device[1] !== 'connected'" src="/images/vr/base_status_off.png" />
|
||||
<img v-else src="/images/vr/base_status_ready.png" />
|
||||
<span v-if="device[3] !== 100">{{ device[3] }}x</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
Before Width: | Height: | Size: 557 B |
|
Before Width: | Height: | Size: 903 B |
|
Before Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 3.2 KiB |
|
Before Width: | Height: | Size: 2.0 KiB |
|
Before Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 1.8 KiB |
|
Before Width: | Height: | Size: 3.3 KiB |
|
Before Width: | Height: | Size: 2.1 KiB |
|
Before Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 1.8 KiB |
|
Before Width: | Height: | Size: 3.1 KiB |
|
Before Width: | Height: | Size: 2.3 KiB |
|
Before Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 1.8 KiB |
|
Before Width: | Height: | Size: 3.3 KiB |
|
Before Width: | Height: | Size: 2.1 KiB |
|
Before Width: | Height: | Size: 823 B |
|
Before Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 2.9 KiB |
|
Before Width: | Height: | Size: 1.7 KiB |
@@ -1,9 +1,9 @@
|
||||
/*
|
||||
Copyright(c) 2019-2025 pypy and individual contributors.
|
||||
All rights reserved.
|
||||
|
||||
This work is licensed under the terms of the MIT license.
|
||||
For a copy, see <https://opensource.org/licenses/MIT>.
|
||||
/* Copyright(c) 2019-2025 pypy and individual contributors.
|
||||
/* All rights reserved.
|
||||
/*
|
||||
/* This work is licensed under the terms of the MIT license.
|
||||
/* For a copy, see <https://opensource.org/licenses/MIT>.
|
||||
*/
|
||||
|
||||
@import 'tailwindcss';
|
||||
@@ -37,23 +37,28 @@ body {
|
||||
--font-symbol: 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';
|
||||
--font-fallback-cjk: sans-serif;
|
||||
--font-primary-cjk:
|
||||
'Noto Sans JP Variable', 'Noto Sans SC Variable', 'Noto Sans KR Variable', 'Noto Sans TC Variable';
|
||||
'Noto Sans JP Variable', 'Noto Sans SC Variable',
|
||||
'Noto Sans KR Variable', 'Noto Sans TC Variable';
|
||||
}
|
||||
:root[lang='zh-CN'] {
|
||||
--font-primary-cjk:
|
||||
'Noto Sans SC Variable', 'Noto Sans JP Variable', 'Noto Sans KR Variable', 'Noto Sans TC Variable';
|
||||
'Noto Sans SC Variable', 'Noto Sans JP Variable',
|
||||
'Noto Sans KR Variable', 'Noto Sans TC Variable';
|
||||
}
|
||||
:root[lang='ja'] {
|
||||
--font-primary-cjk:
|
||||
'Noto Sans JP Variable', 'Noto Sans KR Variable', 'Noto Sans TC Variable', 'Noto Sans SC Variable';
|
||||
'Noto Sans JP Variable', 'Noto Sans KR Variable',
|
||||
'Noto Sans TC Variable', 'Noto Sans SC Variable';
|
||||
}
|
||||
:root[lang='ko'] {
|
||||
--font-primary-cjk:
|
||||
'Noto Sans KR Variable', 'Noto Sans JP Variable', 'Noto Sans TC Variable', 'Noto Sans SC Variable';
|
||||
'Noto Sans KR Variable', 'Noto Sans JP Variable',
|
||||
'Noto Sans TC Variable', 'Noto Sans SC Variable';
|
||||
}
|
||||
:root[lang='zh-TW'] {
|
||||
--font-primary-cjk:
|
||||
'Noto Sans TC Variable', 'Noto Sans JP Variable', 'Noto Sans KR Variable', 'Noto Sans SC Variable';
|
||||
'Noto Sans TC Variable', 'Noto Sans JP Variable',
|
||||
'Noto Sans KR Variable', 'Noto Sans SC Variable';
|
||||
}
|
||||
body {
|
||||
font-family:
|
||||
@@ -212,20 +217,15 @@ body {
|
||||
border-radius: 16px;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'ellipsis-font';
|
||||
src: local('Times New Roman');
|
||||
unicode-range: U+2026;
|
||||
}
|
||||
|
||||
body,
|
||||
input,
|
||||
textarea,
|
||||
select,
|
||||
button {
|
||||
font-family:
|
||||
'ellipsis-font', 'Noto Sans JP Variable', 'Noto Sans KR Variable', 'Noto Sans TC Variable',
|
||||
'Noto Sans SC Variable', 'Meiryo UI', 'Malgun Gothic', 'Segoe UI', sans-serif;
|
||||
'ellipsis-font', 'Noto Sans JP Variable', 'Noto Sans KR Variable',
|
||||
'Noto Sans TC Variable', 'Noto Sans SC Variable', 'Meiryo UI',
|
||||
'Malgun Gothic', 'Segoe UI', sans-serif;
|
||||
line-height: normal;
|
||||
text-shadow:
|
||||
#000 0px 0px 3px,
|
||||
@@ -384,17 +384,17 @@ i.x-user-status.online {
|
||||
|
||||
i.x-user-status.joinme {
|
||||
background: #409eff;
|
||||
mask-image: url(../assets/images/masks/joinme.svg);
|
||||
mask-image: url(/images/masks/joinme.svg);
|
||||
}
|
||||
|
||||
i.x-user-status.askme {
|
||||
background: #ff9500;
|
||||
mask-image: url(../assets/images/masks/askme.svg);
|
||||
mask-image: url(/images/masks/askme.svg);
|
||||
}
|
||||
|
||||
i.x-user-status.busy {
|
||||
background: #ff2c2c;
|
||||
mask-image: url(../assets/images/masks/busy.svg);
|
||||
mask-image: url(/images/masks/busy.svg);
|
||||
}
|
||||
|
||||
.spin {
|
||||
|
||||