mirror of
https://github.com/MrUnknownDE/VRCX.git
synced 2026-05-07 06:56:04 +02:00
improve: Add major issue indicator to VRC status
This commit is contained in:
@@ -116,7 +116,9 @@
|
|||||||
v-else
|
v-else
|
||||||
class="flex items-center gap-1 px-2 h-[22px] whitespace-nowrap border-r border-border cursor-pointer hover:bg-accent"
|
class="flex items-center gap-1 px-2 h-[22px] whitespace-nowrap border-r border-border cursor-pointer hover:bg-accent"
|
||||||
@click="vrcStatusStore.openStatusPage()">
|
@click="vrcStatusStore.openStatusPage()">
|
||||||
<span class="inline-block size-2 rounded-full shrink-0 bg-[#e6a23c]" />
|
<span
|
||||||
|
class="inline-block size-2 rounded-full shrink-0"
|
||||||
|
:class="vrcStatusStore.isMajor ? 'bg-destructive' : 'bg-status-askme'" />
|
||||||
<span class="text-foreground text-[11px]">{{ t('status_bar.servers') }}</span>
|
<span class="text-foreground text-[11px]">{{ t('status_bar.servers') }}</span>
|
||||||
</div>
|
</div>
|
||||||
</HoverCardTrigger>
|
</HoverCardTrigger>
|
||||||
@@ -127,7 +129,9 @@
|
|||||||
align="start"
|
align="start"
|
||||||
:side-offset="4">
|
:side-offset="4">
|
||||||
<div class="flex items-center gap-1.5 mb-1.5">
|
<div class="flex items-center gap-1.5 mb-1.5">
|
||||||
<span class="inline-block size-2 rounded-full shrink-0 bg-[#e6a23c]" />
|
<span
|
||||||
|
class="inline-block size-2 rounded-full shrink-0"
|
||||||
|
:class="vrcStatusStore.isMajor ? 'bg-destructive' : 'bg-status-askme'" />
|
||||||
<span class="font-semibold text-xs text-foreground">{{
|
<span class="font-semibold text-xs text-foreground">{{
|
||||||
t('status_bar.servers_issue')
|
t('status_bar.servers_issue')
|
||||||
}}</span>
|
}}</span>
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ export const useVrcStatusStore = defineStore('VrcStatus', () => {
|
|||||||
const vrcStatusApiUrl = 'https://status.vrchat.com/api/v2';
|
const vrcStatusApiUrl = 'https://status.vrchat.com/api/v2';
|
||||||
|
|
||||||
const lastStatus = ref('');
|
const lastStatus = ref('');
|
||||||
|
const lastStatusIndicator = ref('');
|
||||||
const lastStatusTime = ref(null);
|
const lastStatusTime = ref(null);
|
||||||
const lastStatusSummary = ref('');
|
const lastStatusSummary = ref('');
|
||||||
const lastTimeFetched = ref(0);
|
const lastTimeFetched = ref(0);
|
||||||
@@ -25,6 +26,8 @@ export const useVrcStatusStore = defineStore('VrcStatus', () => {
|
|||||||
|
|
||||||
const hasIssue = computed(() => !!lastStatus.value);
|
const hasIssue = computed(() => !!lastStatus.value);
|
||||||
|
|
||||||
|
const isMajor = computed(() => lastStatusIndicator.value === 'major');
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @returns {void}
|
* @returns {void}
|
||||||
*/
|
*/
|
||||||
@@ -54,10 +57,12 @@ export const useVrcStatusStore = defineStore('VrcStatus', () => {
|
|||||||
lastStatusTime.value = new Date(data.page.updated_at);
|
lastStatusTime.value = new Date(data.page.updated_at);
|
||||||
if (data.status.description === 'All Systems Operational') {
|
if (data.status.description === 'All Systems Operational') {
|
||||||
lastStatus.value = '';
|
lastStatus.value = '';
|
||||||
|
lastStatusIndicator.value = '';
|
||||||
pollingInterval.value = 15 * 60 * 1000; // 15 minutes
|
pollingInterval.value = 15 * 60 * 1000; // 15 minutes
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
lastStatus.value = data.status.description;
|
lastStatus.value = data.status.description;
|
||||||
|
lastStatusIndicator.value = data.status.indicator || '';
|
||||||
pollingInterval.value = 2 * 60 * 1000; // 2 minutes
|
pollingInterval.value = 2 * 60 * 1000; // 2 minutes
|
||||||
getVrcStatusSummary();
|
getVrcStatusSummary();
|
||||||
}
|
}
|
||||||
@@ -116,10 +121,12 @@ export const useVrcStatusStore = defineStore('VrcStatus', () => {
|
|||||||
|
|
||||||
return {
|
return {
|
||||||
lastStatus,
|
lastStatus,
|
||||||
|
lastStatusIndicator,
|
||||||
lastStatusTime,
|
lastStatusTime,
|
||||||
lastStatusSummary,
|
lastStatusSummary,
|
||||||
statusText,
|
statusText,
|
||||||
hasIssue,
|
hasIssue,
|
||||||
|
isMajor,
|
||||||
openStatusPage,
|
openStatusPage,
|
||||||
onBrowserFocus,
|
onBrowserFocus,
|
||||||
getVrcStatus
|
getVrcStatus
|
||||||
|
|||||||
Reference in New Issue
Block a user