-
{{
- formatDateTime(backup.created_at)
- }}
+
+
+
+
-
-
-
-
option.id === 'download' && emit('download')"
- >
-
-
-
- {{ formatMessage(commonMessages.copyIdButton) }}
-
-
- {{ formatMessage(commonMessages.downloadButton) }}
-
-
- {{ formatMessage(messages.rename) }}
-
-
- {{ formatMessage(commonMessages.deleteLabel) }}
-
-
+
+
+
+ {{ backup.name }}
+
+
+ {{ formatMessage(messages.auto) }}
+
+
+
+ {{ formatDateTime(backup.created_at) }}
+
-
-
{{
- backup
- }}
-
-
diff --git a/packages/ui/src/components/servers/backups/BackupPreviewList.vue b/packages/ui/src/components/servers/backups/BackupPreviewList.vue
new file mode 100644
index 00000000000..1ff45edaccd
--- /dev/null
+++ b/packages/ui/src/components/servers/backups/BackupPreviewList.vue
@@ -0,0 +1,58 @@
+
+
+
+
+
diff --git a/packages/ui/src/components/servers/backups/BackupRestoreModal.vue b/packages/ui/src/components/servers/backups/BackupRestoreModal.vue
index 016dccbe370..663b255c9a5 100644
--- a/packages/ui/src/components/servers/backups/BackupRestoreModal.vue
+++ b/packages/ui/src/components/servers/backups/BackupRestoreModal.vue
@@ -11,7 +11,7 @@
Backup
-
+
diff --git a/packages/ui/src/components/servers/backups/BackupRotationModal.vue b/packages/ui/src/components/servers/backups/BackupRotationModal.vue
new file mode 100644
index 00000000000..9fa1268449d
--- /dev/null
+++ b/packages/ui/src/components/servers/backups/BackupRotationModal.vue
@@ -0,0 +1,89 @@
+
+
+
+
+
+
+ {{ formatMessage(messages.admonitionBody, { count }) }}
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/packages/ui/src/components/servers/backups/index.ts b/packages/ui/src/components/servers/backups/index.ts
index f63786bed2c..afdd5d234fd 100644
--- a/packages/ui/src/components/servers/backups/index.ts
+++ b/packages/ui/src/components/servers/backups/index.ts
@@ -1,6 +1,8 @@
export { default as BackupCreateModal } from './BackupCreateModal.vue'
export { default as BackupDeleteModal } from './BackupDeleteModal.vue'
export { default as BackupItem } from './BackupItem.vue'
+export { default as BackupPreviewList } from './BackupPreviewList.vue'
export { default as BackupRenameModal } from './BackupRenameModal.vue'
export { default as BackupRestoreModal } from './BackupRestoreModal.vue'
+export { default as BackupRotationModal } from './BackupRotationModal.vue'
export { default as BackupWarning } from './BackupWarning.vue'
diff --git a/packages/ui/src/components/servers/index.ts b/packages/ui/src/components/servers/index.ts
index 2b3dd1cd54d..0d608f1830d 100644
--- a/packages/ui/src/components/servers/index.ts
+++ b/packages/ui/src/components/servers/index.ts
@@ -15,3 +15,4 @@ export { type PendingChange, default as ServerListing } from './ServerListing.vu
export { default as ServerSettingsModal } from './ServerSettingsModal.vue'
export { default as ServerSetupModal } from './ServerSetupModal.vue'
export { default as ServersPromo } from './ServersPromo.vue'
+export { default as ServerStatCard } from './ServerStatCard.vue'
diff --git a/packages/ui/src/composables/hosting/backup-interval.ts b/packages/ui/src/composables/hosting/backup-interval.ts
new file mode 100644
index 00000000000..5590e75d38a
--- /dev/null
+++ b/packages/ui/src/composables/hosting/backup-interval.ts
@@ -0,0 +1,53 @@
+import { defineMessages, useVIntl } from '#ui/composables/i18n'
+
+const HOURS_PER_DAY = 24
+const HOURS_PER_WEEK = HOURS_PER_DAY * 7
+
+export const BACKUP_INTERVAL_PRESETS = [6, 12, 24, 48, HOURS_PER_WEEK]
+
+const messages = defineMessages({
+ hours: {
+ id: 'servers.backups.interval.hours',
+ defaultMessage: '{hours}h',
+ },
+ days: {
+ id: 'servers.backups.interval.days',
+ defaultMessage: '{days, plural, one {# day} other {# days}}',
+ },
+ weekly: {
+ id: 'servers.backups.interval.weekly',
+ defaultMessage: 'Weekly',
+ },
+ everyHours: {
+ id: 'servers.backups.interval.every-hours',
+ defaultMessage: 'Every {hours}h',
+ },
+ everyDays: {
+ id: 'servers.backups.interval.every-days',
+ defaultMessage: 'Every {days, plural, one {day} other {# days}}',
+ },
+})
+
+export function useBackupIntervalFormat() {
+ const { formatMessage } = useVIntl()
+
+ function isWholeDays(hours: number) {
+ return hours > HOURS_PER_DAY && hours % HOURS_PER_DAY === 0
+ }
+
+ function formatInterval(hours: number) {
+ if (hours === HOURS_PER_WEEK) return formatMessage(messages.weekly)
+ if (isWholeDays(hours)) return formatMessage(messages.days, { days: hours / HOURS_PER_DAY })
+ return formatMessage(messages.hours, { hours })
+ }
+
+ function formatFrequency(hours: number) {
+ if (hours === HOURS_PER_WEEK) return formatMessage(messages.weekly)
+ if (isWholeDays(hours)) {
+ return formatMessage(messages.everyDays, { days: hours / HOURS_PER_DAY })
+ }
+ return formatMessage(messages.everyHours, { hours })
+ }
+
+ return { formatInterval, formatFrequency }
+}
diff --git a/packages/ui/src/composables/hosting/backups-selection.ts b/packages/ui/src/composables/hosting/backups-selection.ts
deleted file mode 100644
index fd8e65331d8..00000000000
--- a/packages/ui/src/composables/hosting/backups-selection.ts
+++ /dev/null
@@ -1,74 +0,0 @@
-import type { Archon } from '@modrinth/api-client'
-import type { ComputedRef, Ref } from 'vue'
-import { computed, ref, watch } from 'vue'
-
-type BackupQueueBackup = Archon.BackupsQueue.v1.BackupQueueBackup
-
-export function useBackupsSelection(
- visibleBackups: Ref,
- displayOrderedBackups: ComputedRef,
-) {
- const selectedIds = ref>(new Set())
-
- watch(visibleBackups, () => {
- const ids = new Set(visibleBackups.value.map((b) => b.id))
- const next = new Set()
- for (const id of selectedIds.value) {
- if (ids.has(id)) next.add(id)
- }
- if (next.size !== selectedIds.value.size) {
- selectedIds.value = next
- }
- })
-
- function toggleSelection(id: string) {
- const next = new Set(selectedIds.value)
- if (next.has(id)) next.delete(id)
- else next.add(id)
- selectedIds.value = next
- }
-
- function selectAll() {
- selectedIds.value = new Set(visibleBackups.value.map((b) => b.id))
- }
-
- function deselectAll() {
- selectedIds.value = new Set()
- }
-
- function toggleSelectAll() {
- if (allSelected.value) deselectAll()
- else selectAll()
- }
-
- const allSelected = computed(
- () =>
- visibleBackups.value.length > 0 &&
- visibleBackups.value.every((b) => selectedIds.value.has(b.id)),
- )
-
- const someSelected = computed(() => {
- const vis = visibleBackups.value
- if (vis.length === 0) return false
- let n = 0
- for (const b of vis) {
- if (selectedIds.value.has(b.id)) n++
- }
- return n > 0 && n < vis.length
- })
-
- const selectedBackups = computed(() =>
- displayOrderedBackups.value.filter((b) => selectedIds.value.has(b.id)),
- )
-
- return {
- selectedIds,
- toggleSelection,
- selectAll,
- deselectAll,
- toggleSelectAll,
- allSelected,
- someSelected,
- selectedBackups,
- }
-}
diff --git a/packages/ui/src/composables/server-backups-queue.ts b/packages/ui/src/composables/server-backups-queue.ts
index e05a7166268..f121dfe34cd 100644
--- a/packages/ui/src/composables/server-backups-queue.ts
+++ b/packages/ui/src/composables/server-backups-queue.ts
@@ -1,4 +1,4 @@
-import type { Archon } from '@modrinth/api-client'
+import type { AbstractModrinthClient, Archon } from '@modrinth/api-client'
import { useQuery, useQueryClient } from '@tanstack/vue-query'
import { computed, reactive, type Ref } from 'vue'
@@ -8,6 +8,17 @@ import { defineMessage } from './i18n'
type ProgressKey = `${string}:${'create' | 'restore'}`
+export function serverBackupsQueueQueryOptions(
+ client: AbstractModrinthClient,
+ serverId: string,
+ worldId: string,
+) {
+ return {
+ queryKey: ['backups', 'queue', serverId] as const,
+ queryFn: () => client.archon.backups_queue_v1.listWithOptions(serverId, worldId),
+ }
+}
+
export function useServerBackupsQueue(serverId: Ref, worldId: Ref) {
const client = injectModrinthClient()
const queryClient = useQueryClient()
@@ -19,15 +30,19 @@ export function useServerBackupsQueue(serverId: Ref, worldId: Ref client.archon.backups_queue_v1.list(serverId.value, worldId.value!),
+ queryFn: () => client.archon.backups_queue_v1.listWithOptions(serverId.value, worldId.value!),
enabled: computed(() => !!worldId.value),
refetchInterval: (q) => {
- const data = q.state.data as Archon.BackupsQueue.v1.BackupsQueueResponse | undefined
+ const data = q.state.data as
+ | Archon.BackupsQueue.v1.BackupsQueueWithOptionsResponse
+ | undefined
return data?.active_operations?.length ? 30_000 : false
},
})
const data = computed(() => query.data.value)
+ const options = computed(() => data.value?.options ?? null)
+ const nextAutoBackupAt = computed(() => data.value?.next_auto_backup_at ?? null)
const activeOperations = computed(() => data.value?.active_operations ?? [])
const backups = computed(() =>
[...(data.value?.backups ?? [])].sort(
@@ -118,6 +133,8 @@ export function useServerBackupsQueue(serverId: Ref, worldId: Ref
+
+
+
+
+
+
+
+
+
+
+
+ {{ formatMessage(messages.autoTitle) }}
+
+
+ {{ formatMessage(messages.autoDescription) }}
+
+
+
+
+
+
+
+
+
+
+ {{ formatMessage(messages.intervalTitle) }}
+
+
+
+
+
+
+ {{ formatMessage(messages.manualSlotsTitle) }}
+
+
+
+ {{ formatMessage(messages.manualSlotsDescription, { limit: slotLimit }) }}
+
+
+
+
+
+
+
+
+
+
diff --git a/packages/ui/src/layouts/shared/server-settings/pages/index.ts b/packages/ui/src/layouts/shared/server-settings/pages/index.ts
index 1577c34b3d1..feea577932a 100644
--- a/packages/ui/src/layouts/shared/server-settings/pages/index.ts
+++ b/packages/ui/src/layouts/shared/server-settings/pages/index.ts
@@ -1,4 +1,5 @@
export { default as ServerSettingsAdvancedPage } from './advanced.vue'
+export { default as ServerSettingsBackupsPage } from './backups.vue'
export { default as ServerSettingsGeneralPage } from './general.vue'
export { default as ServerSettingsInstallationPage } from './installation.vue'
export { default as ServerSettingsNetworkPage } from './network.vue'
diff --git a/packages/ui/src/layouts/shared/server-settings/tabs.ts b/packages/ui/src/layouts/shared/server-settings/tabs.ts
index 518ceb40d6c..c1c8ade5266 100644
--- a/packages/ui/src/layouts/shared/server-settings/tabs.ts
+++ b/packages/ui/src/layouts/shared/server-settings/tabs.ts
@@ -1,6 +1,7 @@
import type { Archon } from '@modrinth/api-client'
import {
CardIcon,
+ DatabaseBackupIcon,
ListIcon,
ModrinthIcon,
SettingsIcon,
@@ -15,6 +16,7 @@ export type ServerSettingsTabId =
| 'general'
| 'installation'
| 'network'
+ | 'backups'
| 'properties'
| 'advanced'
| 'support'
@@ -54,6 +56,11 @@ export const serverSettingsTabDefinitions: ServerSettingsTabDefinition[] = [
label: 'Network',
icon: VersionIcon,
},
+ {
+ id: 'backups',
+ label: 'Backups',
+ icon: DatabaseBackupIcon,
+ },
{
id: 'properties',
label: 'Properties',
diff --git a/packages/ui/src/layouts/wrapped/hosting/manage/backups.vue b/packages/ui/src/layouts/wrapped/hosting/manage/backups.vue
deleted file mode 100644
index 8baa6978917..00000000000
--- a/packages/ui/src/layouts/wrapped/hosting/manage/backups.vue
+++ /dev/null
@@ -1,859 +0,0 @@
-
-
-
-
-
-
-
-
-
-
Failed to load backups
-
-
- We couldn't load your server's backups. Here's what went wrong:
-
-
- {{ error.message }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ formatMessage(commonMessages.allProjectType) }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
{{ group.label }}
-
-
-
-
-
-
triggerDownloadAnimation()"
- @rename="() => showRenameBackupModal(backup)"
- @restore="() => showRestoreBackupModal(backup)"
- @delete="
- (skipConfirmation?: boolean) =>
- skipConfirmation ? deleteBackup(backup) : showDeleteBackupModal(backup)
- "
- />
-
-
-
-
-
-
-
-
-
- {{
- formatMessage(messages.selectedCount, {
- count: isBulkOperating ? bulkTotal : selectedIds.size,
- })
- }}
-
-
-
-
-
-
-
-
-
-
-
- {{ formatMessage(messages.bulkDeleting, { total: bulkTotal }) }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/packages/ui/src/layouts/wrapped/hosting/manage/backups/history-table.vue b/packages/ui/src/layouts/wrapped/hosting/manage/backups/history-table.vue
new file mode 100644
index 00000000000..38d02bce1f4
--- /dev/null
+++ b/packages/ui/src/layouts/wrapped/hosting/manage/backups/history-table.vue
@@ -0,0 +1,400 @@
+
+
+
+
+
+ {{ backup.name }}
+
+
+
+
+
+ {{ formatRelativeTime(backup.created_at) }}
+
+
+
+
+
+
+
+ {{ backup.creator.name }}
+
+
+
+ {{ formatMessage(messages.autoBadge) }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ backup }}
+
+
+
+
+ {{ formatMessage(messages.noResults) }}
+
+
+
+
+
+
+
+
toggleSelected(backup.id, value)"
+ />
+
+
+ {{ backup.name }}
+
+
+
+
+
+ {{ backup.creator.name }}
+
+
+
+ {{ formatMessage(messages.autoBadge) }}
+
+
+
+ {{ formatRelativeTime(backup.created_at) }}
+
+
+
+
+
+
+
+
+
+
+
+
+
{{
+ backup
+ }}
+
+
+
+ {{ formatMessage(messages.noResults) }}
+
+
+
+
+
+
+
diff --git a/packages/ui/src/layouts/wrapped/hosting/manage/backups/index.vue b/packages/ui/src/layouts/wrapped/hosting/manage/backups/index.vue
new file mode 100644
index 00000000000..c5fc30f5cf0
--- /dev/null
+++ b/packages/ui/src/layouts/wrapped/hosting/manage/backups/index.vue
@@ -0,0 +1,490 @@
+
+
+
+
+
+
+
+
+
+
+ {{ formatFrequency(options.interval) }}
+
+ {{ nextAutoBackupLabel }}
+
+ {{ formatMessage(messages.autoOffDescription) }}
+
+
+ {{ formatMessage(messages.manualDescription) }}
+
+
+
+
+
+ {{ formatMessage(messages.historyTitle) }}
+
+
+
+
+
+
+
+
+ {{ formatMessage(messages.createBackup) }}
+
+
+ {{ formatMessage(commonMessages.downloadFilesButton) }}
+
+
+
+
+
+
+ restoreModal?.show(backup)"
+ @rename="(backup) => renameModal?.show(backup)"
+ @delete="(backup) => deleteModal?.show(backup)"
+ />
+
+
+
+
+
+ {{ formatMessage(messages.selectedCount, { count: selectedBackups.length }) }}
+
+
+
+
+
+
+
+
+
+ backup && deleteBackups([backup])"
+ @bulk-delete="deleteBackups"
+ />
+
+
+
+
diff --git a/packages/ui/src/layouts/wrapped/hosting/manage/backups/slot-card.vue b/packages/ui/src/layouts/wrapped/hosting/manage/backups/slot-card.vue
new file mode 100644
index 00000000000..f3b53281360
--- /dev/null
+++ b/packages/ui/src/layouts/wrapped/hosting/manage/backups/slot-card.vue
@@ -0,0 +1,61 @@
+
+
+
+ {{ offLabel }}
+
+ {{ used }}
+
+ {{ formatMessage(messages.slotLimit, { limit }) }}
+
+
+
+
+
+
+
+
+
diff --git a/packages/ui/src/layouts/wrapped/hosting/manage/backups/use-focused-backup.ts b/packages/ui/src/layouts/wrapped/hosting/manage/backups/use-focused-backup.ts
new file mode 100644
index 00000000000..390d2fb118a
--- /dev/null
+++ b/packages/ui/src/layouts/wrapped/hosting/manage/backups/use-focused-backup.ts
@@ -0,0 +1,49 @@
+import { computed, nextTick, onBeforeUnmount, type Ref, ref, watch } from 'vue'
+import { useRoute } from 'vue-router'
+
+const HIGHLIGHT_DURATION_MS = 5_000
+
+export function useFocusedBackup(backupIds: Ref
) {
+ const route = useRoute()
+ const focusedBackupId = computed(() =>
+ typeof route.query.backup === 'string' ? route.query.backup : null,
+ )
+
+ const highlightedBackupId = ref(null)
+ let handledBackupId: string | null = null
+ let highlightTimeout: ReturnType | undefined
+
+ function clearHighlight() {
+ highlightedBackupId.value = null
+ clearTimeout(highlightTimeout)
+ }
+
+ watch(
+ [focusedBackupId, backupIds],
+ async ([backupId, ids]) => {
+ if (!backupId) {
+ handledBackupId = null
+ clearHighlight()
+ return
+ }
+ if (backupId === handledBackupId || !ids.includes(backupId)) return
+
+ handledBackupId = backupId
+ highlightedBackupId.value = backupId
+ clearTimeout(highlightTimeout)
+ highlightTimeout = setTimeout(clearHighlight, HIGHLIGHT_DURATION_MS)
+
+ if (typeof document === 'undefined') return
+ await nextTick()
+ const target = [
+ ...document.querySelectorAll(`[data-backup-id="${CSS.escape(backupId)}"]`),
+ ].find((element) => element.getClientRects().length > 0)
+ target?.scrollIntoView({ block: 'center', behavior: 'smooth' })
+ },
+ { immediate: true },
+ )
+
+ onBeforeUnmount(() => clearTimeout(highlightTimeout))
+
+ return { highlightedBackupId }
+}
diff --git a/packages/ui/src/layouts/wrapped/index.ts b/packages/ui/src/layouts/wrapped/index.ts
index 59ba8d71097..cd9d3a6076e 100644
--- a/packages/ui/src/layouts/wrapped/index.ts
+++ b/packages/ui/src/layouts/wrapped/index.ts
@@ -1,6 +1,6 @@
export { default as ServersManageAccessPage } from './hosting/manage/[id]/access/access.vue'
export { default as ServerOnboardingPanelPage } from './hosting/manage/[id]/onboarding.vue'
-export { default as ServersManageBackupsPage } from './hosting/manage/backups.vue'
+export { default as ServersManageBackupsPage } from './hosting/manage/backups/index.vue'
export { default as ServersManageContentPage } from './hosting/manage/content.vue'
export { default as ServersManageFilesPage } from './hosting/manage/files.vue'
export { default as ServersManagePageIndex } from './hosting/manage/index.vue'
diff --git a/packages/ui/src/locales/cs-CZ/index.json b/packages/ui/src/locales/cs-CZ/index.json
index b0e4c623850..5b905088222 100644
--- a/packages/ui/src/locales/cs-CZ/index.json
+++ b/packages/ui/src/locales/cs-CZ/index.json
@@ -4310,42 +4310,12 @@
"servers.backups.delete-modal.header": {
"defaultMessage": "Smazat {count, plural, one {zálohu} other {zálohy}}"
},
- "servers.backups.filtered-empty.clear-filters": {
- "defaultMessage": "Vymazat filtry"
- },
"servers.backups.item.auto": {
"defaultMessage": "Automaticky"
},
- "servers.backups.item.backup-schedule": {
- "defaultMessage": "Plán zálohování"
- },
- "servers.backups.item.creator-avatar-alt": {
- "defaultMessage": "Avatar uživatele {username}"
- },
- "servers.backups.item.creator.support": {
- "defaultMessage": "Podpora"
- },
- "servers.backups.item.manual-backup": {
- "defaultMessage": "Ruční zálohování"
- },
- "servers.backups.item.rename": {
- "defaultMessage": "Přejmenovat"
- },
- "servers.backups.item.restore": {
- "defaultMessage": "Obnovit"
- },
"servers.backups.toolbar.create-backup": {
"defaultMessage": "Vytvořit zálohu"
},
- "servers.backups.toolbar.filter-auto": {
- "defaultMessage": "Automatický"
- },
- "servers.backups.toolbar.filter-manual": {
- "defaultMessage": "Manuální"
- },
- "servers.backups.toolbar.select-all": {
- "defaultMessage": "Vybrat vše"
- },
"servers.grant-access-modal.already-member-tooltip": {
"defaultMessage": "Uživatel je již pozván"
},
@@ -5190,4 +5160,3 @@
"defaultMessage": "Typ"
}
}
-
diff --git a/packages/ui/src/locales/da-DK/index.json b/packages/ui/src/locales/da-DK/index.json
index 9a0ffc109a2..2bb168a5b64 100644
--- a/packages/ui/src/locales/da-DK/index.json
+++ b/packages/ui/src/locales/da-DK/index.json
@@ -1928,18 +1928,6 @@
"servers.backups.item.auto": {
"defaultMessage": "Automatisk"
},
- "servers.backups.item.backup-schedule": {
- "defaultMessage": "Sikkerhedskopiering plan"
- },
- "servers.backups.item.manual-backup": {
- "defaultMessage": "Manuel sikkerhedskopiering"
- },
- "servers.backups.item.rename": {
- "defaultMessage": "Ændre navn"
- },
- "servers.backups.item.restore": {
- "defaultMessage": "Genopret"
- },
"servers.grant-access-modal.header": {
"defaultMessage": "Tilføj bruger"
},
@@ -2220,4 +2208,3 @@
"defaultMessage": "Du har ændringer, der ikke er gemt"
}
}
-
diff --git a/packages/ui/src/locales/de-CH/index.json b/packages/ui/src/locales/de-CH/index.json
index 774034f023b..c126cc91ea9 100644
--- a/packages/ui/src/locales/de-CH/index.json
+++ b/packages/ui/src/locales/de-CH/index.json
@@ -5240,12 +5240,6 @@
"servers.backups.admonition.restoring-backup.title": {
"defaultMessage": "Wiederherstellung aus Sicherung"
},
- "servers.backups.bulk-bar.aria-label": {
- "defaultMessage": "Massenactionen für {count, plural, one {ein ausgewähltes Backup} other {# ausgewählte Backups}}"
- },
- "servers.backups.bulk-bar.deleting": {
- "defaultMessage": "Lösche {total, plural, one {eine Sicherung} other {# Sicherungen}}..."
- },
"servers.backups.bulk-bar.selected-count": {
"defaultMessage": "{count, plural, one {# Sicherung ausgewählt} other {# Sicherungen ausgewählt}}"
},
@@ -5270,51 +5264,12 @@
"servers.backups.empty.heading": {
"defaultMessage": "Noch keine Sicherungen"
},
- "servers.backups.filtered-empty.clear-filters": {
- "defaultMessage": "Filter entfernen"
- },
- "servers.backups.filtered-empty.description": {
- "defaultMessage": "Versuche es mit einem anderen Filter oder entferne alle Filter, um alle Sicherungen anzuzeigen."
- },
- "servers.backups.filtered-empty.heading": {
- "defaultMessage": "Keine übereinstimmenden Sicherungen"
- },
"servers.backups.item.auto": {
"defaultMessage": "Auto"
},
- "servers.backups.item.backup-schedule": {
- "defaultMessage": "Sicherungszeitplan"
- },
- "servers.backups.item.creator-avatar-alt": {
- "defaultMessage": "Avatar von {username}"
- },
- "servers.backups.item.creator.support": {
- "defaultMessage": "Support"
- },
- "servers.backups.item.manual-backup": {
- "defaultMessage": "Manuelle Sicherung"
- },
- "servers.backups.item.rename": {
- "defaultMessage": "Umbenennen"
- },
- "servers.backups.item.restore": {
- "defaultMessage": "Wiederherstellen"
- },
- "servers.backups.select-backup-aria": {
- "defaultMessage": "Sicherung {name} auswählen"
- },
"servers.backups.toolbar.create-backup": {
"defaultMessage": "Sicherung erstellen"
},
- "servers.backups.toolbar.filter-auto": {
- "defaultMessage": "Automatisch"
- },
- "servers.backups.toolbar.filter-manual": {
- "defaultMessage": "Manuell"
- },
- "servers.backups.toolbar.select-all": {
- "defaultMessage": "Alle auswählen"
- },
"servers.busy.backup-creating": {
"defaultMessage": "Backup-Erstellung im gange"
},
@@ -7275,4 +7230,3 @@
"defaultMessage": "Typ"
}
}
-
diff --git a/packages/ui/src/locales/de-DE/index.json b/packages/ui/src/locales/de-DE/index.json
index 4a2bd95729d..c0b2aeee7d0 100644
--- a/packages/ui/src/locales/de-DE/index.json
+++ b/packages/ui/src/locales/de-DE/index.json
@@ -5240,12 +5240,6 @@
"servers.backups.admonition.restoring-backup.title": {
"defaultMessage": "Wiederherstellung aus Sicherung"
},
- "servers.backups.bulk-bar.aria-label": {
- "defaultMessage": "{count, plural, one {Massenaktionen für ein ausgewähltes Backup} other {Massenaktionen für # ausgewählte Backups}}"
- },
- "servers.backups.bulk-bar.deleting": {
- "defaultMessage": "{total, plural, one {# Sicherung wird} other {# Sicherungen werden}} gelöscht..."
- },
"servers.backups.bulk-bar.selected-count": {
"defaultMessage": "{count, plural, one {# Sicherung ausgewählt} other {# Sicherungen ausgewählt}}"
},
@@ -5270,51 +5264,12 @@
"servers.backups.empty.heading": {
"defaultMessage": "Noch keine Sicherungen"
},
- "servers.backups.filtered-empty.clear-filters": {
- "defaultMessage": "Filter entfernen"
- },
- "servers.backups.filtered-empty.description": {
- "defaultMessage": "Versuche es mit einem anderen Filter oder entferne alle Filter, um alle Sicherungen anzuzeigen."
- },
- "servers.backups.filtered-empty.heading": {
- "defaultMessage": "Keine übereinstimmenden Sicherungen"
- },
"servers.backups.item.auto": {
"defaultMessage": "Auto"
},
- "servers.backups.item.backup-schedule": {
- "defaultMessage": "Sicherungszeitplan"
- },
- "servers.backups.item.creator-avatar-alt": {
- "defaultMessage": "Avatar von {username}"
- },
- "servers.backups.item.creator.support": {
- "defaultMessage": "Support"
- },
- "servers.backups.item.manual-backup": {
- "defaultMessage": "Manuelle Sicherung"
- },
- "servers.backups.item.rename": {
- "defaultMessage": "Umbenennen"
- },
- "servers.backups.item.restore": {
- "defaultMessage": "Wiederherstellen"
- },
- "servers.backups.select-backup-aria": {
- "defaultMessage": "Sicherung {name} auswählen"
- },
"servers.backups.toolbar.create-backup": {
"defaultMessage": "Sicherung erstellen"
},
- "servers.backups.toolbar.filter-auto": {
- "defaultMessage": "Automatisch"
- },
- "servers.backups.toolbar.filter-manual": {
- "defaultMessage": "Manuell"
- },
- "servers.backups.toolbar.select-all": {
- "defaultMessage": "Alle auswählen"
- },
"servers.busy.backup-creating": {
"defaultMessage": "Sicherung wird erstellt"
},
@@ -7275,4 +7230,3 @@
"defaultMessage": "Typ"
}
}
-
diff --git a/packages/ui/src/locales/en-US/index.json b/packages/ui/src/locales/en-US/index.json
index 7d568aa0289..47a132aae8a 100644
--- a/packages/ui/src/locales/en-US/index.json
+++ b/packages/ui/src/locales/en-US/index.json
@@ -2069,6 +2069,9 @@
"hosting.save-banner.resolve-errors": {
"defaultMessage": "Please resolve the errors in your changes before saving."
},
+ "hosting.save-banner.saved": {
+ "defaultMessage": "Saved"
+ },
"hosting.settings.properties.motd-profanity": {
"defaultMessage": "Due to Minecraft Usage Guidelines, your server's MOTD cannot contain profanity. Detected: “{value}”."
},
@@ -5315,15 +5318,15 @@
"servers.backups.admonition.restoring-backup.title": {
"defaultMessage": "Restoring from backup"
},
- "servers.backups.bulk-bar.aria-label": {
- "defaultMessage": "{count, plural, one {Bulk actions for one selected backup} other {Bulk actions for # selected backups}}"
- },
- "servers.backups.bulk-bar.deleting": {
- "defaultMessage": "Deleting {total, plural, one {# backup} other {# backups}}..."
- },
"servers.backups.bulk-bar.selected-count": {
"defaultMessage": "{count, plural, one {# backup selected} other {# backups selected}}"
},
+ "servers.backups.create.in-progress": {
+ "defaultMessage": "A backup is already queued or in progress"
+ },
+ "servers.backups.create.slots-full": {
+ "defaultMessage": "All {limit, plural, one {# manual backup slot is} other {# manual backup slots are}} in use"
+ },
"servers.backups.delete-modal.admonition-body": {
"defaultMessage": "Once deleted, {count, plural, one {this backup cannot} other {these backups cannot}} be recovered. Deletion is permanent."
},
@@ -5339,56 +5342,128 @@
"servers.backups.delete-modal.header": {
"defaultMessage": "Delete {count, plural, one {backup} other {backups}}"
},
+ "servers.backups.delete.error": {
+ "defaultMessage": "Failed to delete {count, plural, one {backup} other {# backups}}"
+ },
"servers.backups.empty.description": {
"defaultMessage": "Create your first backup"
},
"servers.backups.empty.heading": {
"defaultMessage": "No backups yet"
},
- "servers.backups.filtered-empty.clear-filters": {
- "defaultMessage": "Clear filters"
- },
- "servers.backups.filtered-empty.description": {
- "defaultMessage": "Try a different filter or clear filters to see all backups."
+ "servers.backups.history.auto-badge": {
+ "defaultMessage": "Auto"
},
- "servers.backups.filtered-empty.heading": {
- "defaultMessage": "No backups match"
+ "servers.backups.history.column.created": {
+ "defaultMessage": "Created"
},
- "servers.backups.item.auto": {
- "defaultMessage": "Auto"
+ "servers.backups.history.column.created-by": {
+ "defaultMessage": "Created by"
},
- "servers.backups.item.backup-schedule": {
- "defaultMessage": "Backup schedule"
+ "servers.backups.history.column.name": {
+ "defaultMessage": "Name"
},
- "servers.backups.item.creator-avatar-alt": {
+ "servers.backups.history.creator-avatar-alt": {
"defaultMessage": "{username}'s avatar"
},
- "servers.backups.item.creator.support": {
+ "servers.backups.history.creator.support": {
"defaultMessage": "Support"
},
- "servers.backups.item.manual-backup": {
- "defaultMessage": "Manual backup"
+ "servers.backups.history.more-options": {
+ "defaultMessage": "More options for {name}"
+ },
+ "servers.backups.history.no-results": {
+ "defaultMessage": "No backups match your search."
},
- "servers.backups.item.rename": {
+ "servers.backups.history.rename": {
"defaultMessage": "Rename"
},
- "servers.backups.item.restore": {
+ "servers.backups.history.restore": {
"defaultMessage": "Restore"
},
- "servers.backups.select-backup-aria": {
- "defaultMessage": "Select backup {name}"
+ "servers.backups.history.search-label": {
+ "defaultMessage": "Search backups"
},
- "servers.backups.toolbar.create-backup": {
- "defaultMessage": "Create backup"
+ "servers.backups.history.search-placeholder": {
+ "defaultMessage": "Search {count, plural, one {# backup} other {# backups}}..."
+ },
+ "servers.backups.history.title": {
+ "defaultMessage": "Backup history"
+ },
+ "servers.backups.interval.days": {
+ "defaultMessage": "{days, plural, one {# day} other {# days}}"
+ },
+ "servers.backups.interval.every-days": {
+ "defaultMessage": "Every {days, plural, one {day} other {# days}}"
},
- "servers.backups.toolbar.filter-auto": {
+ "servers.backups.interval.every-hours": {
+ "defaultMessage": "Every {hours}h"
+ },
+ "servers.backups.interval.hours": {
+ "defaultMessage": "{hours}h"
+ },
+ "servers.backups.interval.weekly": {
+ "defaultMessage": "Weekly"
+ },
+ "servers.backups.item.auto": {
"defaultMessage": "Auto"
},
- "servers.backups.toolbar.filter-manual": {
- "defaultMessage": "Manual"
+ "servers.backups.load-error.description": {
+ "defaultMessage": "We couldn't load your server's backups."
},
- "servers.backups.toolbar.select-all": {
- "defaultMessage": "Select all"
+ "servers.backups.load-error.title": {
+ "defaultMessage": "Failed to load backups"
+ },
+ "servers.backups.restore.operation-in-progress": {
+ "defaultMessage": "A backup operation is already queued or in progress"
+ },
+ "servers.backups.restore.server-running": {
+ "defaultMessage": "Stop your server before restoring a backup"
+ },
+ "servers.backups.rotation-modal.admonition-body": {
+ "defaultMessage": "Fewer auto backup slots means {count, plural, one {your oldest auto backup} other {your # oldest auto backups}} will be permanently deleted. This cannot be undone."
+ },
+ "servers.backups.rotation-modal.admonition-header": {
+ "defaultMessage": "Deletion warning"
+ },
+ "servers.backups.rotation-modal.backups-label": {
+ "defaultMessage": "{count, plural, one {Backup} other {Backups ({count})}}"
+ },
+ "servers.backups.rotation-modal.confirm": {
+ "defaultMessage": "Save and delete"
+ },
+ "servers.backups.rotation-modal.header": {
+ "defaultMessage": "Remove auto backups?"
+ },
+ "servers.backups.slots.auto.next": {
+ "defaultMessage": "Next {time}"
+ },
+ "servers.backups.slots.auto.next-soon": {
+ "defaultMessage": "Next backup starting soon"
+ },
+ "servers.backups.slots.auto.off": {
+ "defaultMessage": "Off"
+ },
+ "servers.backups.slots.auto.off-description": {
+ "defaultMessage": "Turn on auto backups in settings"
+ },
+ "servers.backups.slots.auto.title": {
+ "defaultMessage": "Auto backups"
+ },
+ "servers.backups.slots.limit": {
+ "defaultMessage": "/ {limit, plural, one {# slot} other {# slots}}"
+ },
+ "servers.backups.slots.manual.description": {
+ "defaultMessage": "Manually created"
+ },
+ "servers.backups.slots.manual.title": {
+ "defaultMessage": "Manual backups"
+ },
+ "servers.backups.toolbar.create-backup": {
+ "defaultMessage": "Create backup"
+ },
+ "servers.backups.toolbar.more-create-options": {
+ "defaultMessage": "More backup options"
},
"servers.busy.backup-creating": {
"defaultMessage": "Backup creation in progress"
@@ -6026,6 +6101,24 @@
"servers.settings.advanced.sftp.roll-credentials-success-title": {
"defaultMessage": "SFTP credentials rotated"
},
+ "servers.settings.backups.auto.description": {
+ "defaultMessage": "Automatically back up your server at regular intervals."
+ },
+ "servers.settings.backups.auto.title": {
+ "defaultMessage": "Auto backups"
+ },
+ "servers.settings.backups.interval.title": {
+ "defaultMessage": "Backup interval"
+ },
+ "servers.settings.backups.manual-slots.description": {
+ "defaultMessage": "Choose how many of your {limit} backup slots to use for manual and automatic backups."
+ },
+ "servers.settings.backups.manual-slots.title": {
+ "defaultMessage": "Manual backup slots"
+ },
+ "servers.settings.backups.save.error-title": {
+ "defaultMessage": "Failed to update backup settings"
+ },
"servers.settings.support.action-log-title": {
"defaultMessage": "Action log"
},
diff --git a/packages/ui/src/locales/es-419/index.json b/packages/ui/src/locales/es-419/index.json
index ce8ada6bc58..8fbab07c29c 100644
--- a/packages/ui/src/locales/es-419/index.json
+++ b/packages/ui/src/locales/es-419/index.json
@@ -5225,12 +5225,6 @@
"servers.backups.admonition.restoring-backup.title": {
"defaultMessage": "Restaurando desde respaldo"
},
- "servers.backups.bulk-bar.aria-label": {
- "defaultMessage": "{count, plural, one {Acciones masivas para un respaldo seleccionado} other {Acciones masivas para # respaldos seleccionados}}"
- },
- "servers.backups.bulk-bar.deleting": {
- "defaultMessage": "Eliminando {total, plural, one {# respaldo} other {# respaldos}}..."
- },
"servers.backups.bulk-bar.selected-count": {
"defaultMessage": "{count, plural, one {# respaldo seleccionado} other {# respaldos seleccionados}}"
},
@@ -5255,51 +5249,12 @@
"servers.backups.empty.heading": {
"defaultMessage": "Aún no hay respaldos"
},
- "servers.backups.filtered-empty.clear-filters": {
- "defaultMessage": "Limpiar filtros"
- },
- "servers.backups.filtered-empty.description": {
- "defaultMessage": "Prueba con otro filtro o desactiva los filtros para ver todos los respaldos."
- },
- "servers.backups.filtered-empty.heading": {
- "defaultMessage": "Ningún respaldo coincide"
- },
"servers.backups.item.auto": {
"defaultMessage": "Auto"
},
- "servers.backups.item.backup-schedule": {
- "defaultMessage": "Respaldo programado"
- },
- "servers.backups.item.creator-avatar-alt": {
- "defaultMessage": "Avatar de {username}"
- },
- "servers.backups.item.creator.support": {
- "defaultMessage": "Soporte"
- },
- "servers.backups.item.manual-backup": {
- "defaultMessage": "Respaldo manual"
- },
- "servers.backups.item.rename": {
- "defaultMessage": "Renombrar"
- },
- "servers.backups.item.restore": {
- "defaultMessage": "Restaurar"
- },
- "servers.backups.select-backup-aria": {
- "defaultMessage": "Selecciona el respaldo {name}"
- },
"servers.backups.toolbar.create-backup": {
"defaultMessage": "Crear respaldo"
},
- "servers.backups.toolbar.filter-auto": {
- "defaultMessage": "Automático"
- },
- "servers.backups.toolbar.filter-manual": {
- "defaultMessage": "Manual"
- },
- "servers.backups.toolbar.select-all": {
- "defaultMessage": "Seleccionar todo"
- },
"servers.busy.backup-creating": {
"defaultMessage": "Creación de respaldo en curso"
},
@@ -7236,4 +7191,3 @@
"defaultMessage": "Tipo"
}
}
-
diff --git a/packages/ui/src/locales/es-ES/index.json b/packages/ui/src/locales/es-ES/index.json
index 0a4176cead2..29c2fb1e5b0 100644
--- a/packages/ui/src/locales/es-ES/index.json
+++ b/packages/ui/src/locales/es-ES/index.json
@@ -5117,12 +5117,6 @@
"servers.backups.admonition.restoring-backup.title": {
"defaultMessage": "Restaurando desde una copia de seguridad"
},
- "servers.backups.bulk-bar.aria-label": {
- "defaultMessage": "{count, plural,one {Acciones masivas seleccionado para un respaldo} other {Acciones masivas seleccionados para # respaldos}}"
- },
- "servers.backups.bulk-bar.deleting": {
- "defaultMessage": "Borrando {total, plural, one {# respaldo} other {# respaldos}}..."
- },
"servers.backups.bulk-bar.selected-count": {
"defaultMessage": "{count, plural, one {# respaldo seleccionado} other {# respaldos seleccionados}}"
},
@@ -5147,51 +5141,12 @@
"servers.backups.empty.heading": {
"defaultMessage": "Ningún respaldo todavía"
},
- "servers.backups.filtered-empty.clear-filters": {
- "defaultMessage": "Limpiar filtros"
- },
- "servers.backups.filtered-empty.description": {
- "defaultMessage": "Intenta un filtro diferente o borre los filtros para ver todos los respaldos."
- },
- "servers.backups.filtered-empty.heading": {
- "defaultMessage": "Ningún respaldo coincide"
- },
"servers.backups.item.auto": {
"defaultMessage": "Auto"
},
- "servers.backups.item.backup-schedule": {
- "defaultMessage": "Programa de respaldo"
- },
- "servers.backups.item.creator-avatar-alt": {
- "defaultMessage": "Avatar de {username}"
- },
- "servers.backups.item.creator.support": {
- "defaultMessage": "Soporte"
- },
- "servers.backups.item.manual-backup": {
- "defaultMessage": "Copia de seguridad manual"
- },
- "servers.backups.item.rename": {
- "defaultMessage": "Renombrar"
- },
- "servers.backups.item.restore": {
- "defaultMessage": "Restaurar"
- },
- "servers.backups.select-backup-aria": {
- "defaultMessage": "Selecciona respaldo {name}"
- },
"servers.backups.toolbar.create-backup": {
"defaultMessage": "Crear respaldo"
},
- "servers.backups.toolbar.filter-auto": {
- "defaultMessage": "Auto"
- },
- "servers.backups.toolbar.filter-manual": {
- "defaultMessage": "Manual"
- },
- "servers.backups.toolbar.select-all": {
- "defaultMessage": "Seleccionar todo"
- },
"servers.busy.backup-creating": {
"defaultMessage": "Creación de copia de seguridad en curso"
},
diff --git a/packages/ui/src/locales/fil-PH/index.json b/packages/ui/src/locales/fil-PH/index.json
index d87864a80b7..bd75291aa5c 100644
--- a/packages/ui/src/locales/fil-PH/index.json
+++ b/packages/ui/src/locales/fil-PH/index.json
@@ -2030,21 +2030,6 @@
"servers.backups.item.auto": {
"defaultMessage": "Auto"
},
- "servers.backups.item.backup-schedule": {
- "defaultMessage": "Backup schedule"
- },
- "servers.backups.item.manual-backup": {
- "defaultMessage": "Manual backup"
- },
- "servers.backups.item.rename": {
- "defaultMessage": "I-rename"
- },
- "servers.backups.item.restore": {
- "defaultMessage": "I-restore"
- },
- "servers.backups.toolbar.filter-auto": {
- "defaultMessage": "Kusa"
- },
"servers.list-empty.already-have-server-label": {
"defaultMessage": "Mayroon ka nang server?"
},
@@ -2736,4 +2721,3 @@
"defaultMessage": "Uri"
}
}
-
diff --git a/packages/ui/src/locales/fr-FR/index.json b/packages/ui/src/locales/fr-FR/index.json
index f7d260cf59a..40c015aa594 100644
--- a/packages/ui/src/locales/fr-FR/index.json
+++ b/packages/ui/src/locales/fr-FR/index.json
@@ -5126,12 +5126,6 @@
"servers.backups.admonition.restoring-backup.title": {
"defaultMessage": "Restauration de la sauvegarde"
},
- "servers.backups.bulk-bar.aria-label": {
- "defaultMessage": "Actions groupées pour {count, plural, one {une sauvegarde sélectionnée} other {# sauvegardes sélectionnées}}"
- },
- "servers.backups.bulk-bar.deleting": {
- "defaultMessage": "Suppression de {total, plural, one {# sauvegarde} other {# sauvegardes}}..."
- },
"servers.backups.bulk-bar.selected-count": {
"defaultMessage": "{count, plural, one {# sauvegarde sélectionnée} other {# sauvegardes sélectionnées}}"
},
@@ -5156,51 +5150,12 @@
"servers.backups.empty.heading": {
"defaultMessage": "Aucune sauvegarde"
},
- "servers.backups.filtered-empty.clear-filters": {
- "defaultMessage": "Effacer les filtres"
- },
- "servers.backups.filtered-empty.description": {
- "defaultMessage": "Essayez un filtre différent ou effacez les filtres pour voir toutes les sauvegardes."
- },
- "servers.backups.filtered-empty.heading": {
- "defaultMessage": "Aucune sauvegarde ne correspond aux filtres sélectionnés"
- },
"servers.backups.item.auto": {
"defaultMessage": "Auto"
},
- "servers.backups.item.backup-schedule": {
- "defaultMessage": "Planification de sauvegarde"
- },
- "servers.backups.item.creator-avatar-alt": {
- "defaultMessage": "Avatar de {username}"
- },
- "servers.backups.item.creator.support": {
- "defaultMessage": "Support"
- },
- "servers.backups.item.manual-backup": {
- "defaultMessage": "Sauvegarde manuelle"
- },
- "servers.backups.item.rename": {
- "defaultMessage": "Renommer"
- },
- "servers.backups.item.restore": {
- "defaultMessage": "Restaurer"
- },
- "servers.backups.select-backup-aria": {
- "defaultMessage": "Sélectionner une sauvegarde {name}"
- },
"servers.backups.toolbar.create-backup": {
"defaultMessage": "Sauvegarder"
},
- "servers.backups.toolbar.filter-auto": {
- "defaultMessage": "Auto"
- },
- "servers.backups.toolbar.filter-manual": {
- "defaultMessage": "Manuelle"
- },
- "servers.backups.toolbar.select-all": {
- "defaultMessage": "Tout sélectionner"
- },
"servers.busy.backup-creating": {
"defaultMessage": "Création d'une sauvegarde en cours"
},
diff --git a/packages/ui/src/locales/hu-HU/index.json b/packages/ui/src/locales/hu-HU/index.json
index 9fb8f6b3cf1..570503c8b6a 100644
--- a/packages/ui/src/locales/hu-HU/index.json
+++ b/packages/ui/src/locales/hu-HU/index.json
@@ -5207,12 +5207,6 @@
"servers.backups.admonition.restoring-backup.title": {
"defaultMessage": "Visszaállítás biztonsági mentésből"
},
- "servers.backups.bulk-bar.aria-label": {
- "defaultMessage": "{count, plural, one {Tömeges műveletek 1 kiválasztott biztonsági mentéshez} other {Tömeges műveletek # kiválasztott biztonsági mentéshez}}"
- },
- "servers.backups.bulk-bar.deleting": {
- "defaultMessage": "{total} biztonsági mentés törlése..."
- },
"servers.backups.bulk-bar.selected-count": {
"defaultMessage": "{count} biztonsági mentés kiválasztva"
},
@@ -5237,51 +5231,12 @@
"servers.backups.empty.heading": {
"defaultMessage": "Még nincsenek biztonsági mentések"
},
- "servers.backups.filtered-empty.clear-filters": {
- "defaultMessage": "Szűrők törlése"
- },
- "servers.backups.filtered-empty.description": {
- "defaultMessage": "Próbálj ki egy másik szűrőt, vagy töröld a szűrőket, hogy az összes biztonsági mentést megtekinthesd."
- },
- "servers.backups.filtered-empty.heading": {
- "defaultMessage": "Nincs találat"
- },
"servers.backups.item.auto": {
"defaultMessage": "Automatikus"
},
- "servers.backups.item.backup-schedule": {
- "defaultMessage": "Biztonsági mentés ütemezés"
- },
- "servers.backups.item.creator-avatar-alt": {
- "defaultMessage": "{username} avatárja"
- },
- "servers.backups.item.creator.support": {
- "defaultMessage": "Támogatás"
- },
- "servers.backups.item.manual-backup": {
- "defaultMessage": "Manuális biztonsági mentés"
- },
- "servers.backups.item.rename": {
- "defaultMessage": "Átnevezés"
- },
- "servers.backups.item.restore": {
- "defaultMessage": "Visszaállítás"
- },
- "servers.backups.select-backup-aria": {
- "defaultMessage": "{name} biztonsági mentés kiválasztása"
- },
"servers.backups.toolbar.create-backup": {
"defaultMessage": "Biztonsági mentés létrehozása"
},
- "servers.backups.toolbar.filter-auto": {
- "defaultMessage": "Automatikus"
- },
- "servers.backups.toolbar.filter-manual": {
- "defaultMessage": "Kézi"
- },
- "servers.backups.toolbar.select-all": {
- "defaultMessage": "Összes kijelölése"
- },
"servers.busy.backup-creating": {
"defaultMessage": "Biztonsági mentés létrehozás folyamatban van"
},
diff --git a/packages/ui/src/locales/id-ID/index.json b/packages/ui/src/locales/id-ID/index.json
index 2fe2a5130eb..3f16efa2b7a 100644
--- a/packages/ui/src/locales/id-ID/index.json
+++ b/packages/ui/src/locales/id-ID/index.json
@@ -2348,18 +2348,6 @@
"servers.backups.item.auto": {
"defaultMessage": "Otomatis"
},
- "servers.backups.item.backup-schedule": {
- "defaultMessage": "Jadwal pencadangan"
- },
- "servers.backups.item.manual-backup": {
- "defaultMessage": "Pencadangan manual"
- },
- "servers.backups.item.rename": {
- "defaultMessage": "Ganti nama"
- },
- "servers.backups.item.restore": {
- "defaultMessage": "Pulihkan"
- },
"servers.listing.owner-tooltip": {
"defaultMessage": "Dimiliki oleh {username}"
},
@@ -2952,4 +2940,3 @@
"defaultMessage": "Anda memiliki perubahan yang belum tersimpan."
}
}
-
diff --git a/packages/ui/src/locales/it-IT/index.json b/packages/ui/src/locales/it-IT/index.json
index 0e421a02252..cf56a60bb05 100644
--- a/packages/ui/src/locales/it-IT/index.json
+++ b/packages/ui/src/locales/it-IT/index.json
@@ -5240,12 +5240,6 @@
"servers.backups.admonition.restoring-backup.title": {
"defaultMessage": "Ripristinando dal backup..."
},
- "servers.backups.bulk-bar.aria-label": {
- "defaultMessage": "{count, plural, one {Operazioni su un backup selezionato} other {Operazioni su # backup selezionati}}"
- },
- "servers.backups.bulk-bar.deleting": {
- "defaultMessage": "Eliminazione di {total} backup..."
- },
"servers.backups.bulk-bar.selected-count": {
"defaultMessage": "{count, plural, one {# backup selezionato} other {# backup selezionati}}"
},
@@ -5270,51 +5264,12 @@
"servers.backups.empty.heading": {
"defaultMessage": "Ancora nessun backup"
},
- "servers.backups.filtered-empty.clear-filters": {
- "defaultMessage": "Rimuovi filtri"
- },
- "servers.backups.filtered-empty.description": {
- "defaultMessage": "Cambia o rimuovi i filtri per mostrare i backup."
- },
- "servers.backups.filtered-empty.heading": {
- "defaultMessage": "Nessun backup trovato"
- },
"servers.backups.item.auto": {
"defaultMessage": "Automatico"
},
- "servers.backups.item.backup-schedule": {
- "defaultMessage": "Pianificazione del backup"
- },
- "servers.backups.item.creator-avatar-alt": {
- "defaultMessage": "Foto profilo di {username}"
- },
- "servers.backups.item.creator.support": {
- "defaultMessage": "Assistenza"
- },
- "servers.backups.item.manual-backup": {
- "defaultMessage": "Backup manuale"
- },
- "servers.backups.item.rename": {
- "defaultMessage": "Rinomina"
- },
- "servers.backups.item.restore": {
- "defaultMessage": "Ripristina"
- },
- "servers.backups.select-backup-aria": {
- "defaultMessage": "Seleziona il backup {name}"
- },
"servers.backups.toolbar.create-backup": {
"defaultMessage": "Crea backup"
},
- "servers.backups.toolbar.filter-auto": {
- "defaultMessage": "Automatico"
- },
- "servers.backups.toolbar.filter-manual": {
- "defaultMessage": "Manuale"
- },
- "servers.backups.toolbar.select-all": {
- "defaultMessage": "Seleziona tutto"
- },
"servers.busy.backup-creating": {
"defaultMessage": "Creazione del backup in corso"
},
@@ -7275,4 +7230,3 @@
"defaultMessage": "Tipo"
}
}
-
diff --git a/packages/ui/src/locales/ja-JP/index.json b/packages/ui/src/locales/ja-JP/index.json
index 0fae7c2a6ee..4418a08b844 100644
--- a/packages/ui/src/locales/ja-JP/index.json
+++ b/packages/ui/src/locales/ja-JP/index.json
@@ -4958,9 +4958,6 @@
"servers.backups.admonition.restoring-backup.title": {
"defaultMessage": "バックアップから復元しています"
},
- "servers.backups.bulk-bar.aria-label": {
- "defaultMessage": "{count, plural, one {選択したバックアップ1件に対する一括操作} other {選択したバックアップ#件に対する一括操作}}"
- },
"servers.backups.bulk-bar.selected-count": {
"defaultMessage": "{count, plural,one {# バックアップが選択されました} other {# バックアップが選択されました}}"
},
@@ -4985,51 +4982,12 @@
"servers.backups.empty.heading": {
"defaultMessage": "バックアップパックはありません"
},
- "servers.backups.filtered-empty.clear-filters": {
- "defaultMessage": "フィルターを除く"
- },
- "servers.backups.filtered-empty.description": {
- "defaultMessage": "すべてのバックアップを閲覧するには違ったフィルターまたはフィルターを除いてください。"
- },
- "servers.backups.filtered-empty.heading": {
- "defaultMessage": "一致するバックアップがありません"
- },
"servers.backups.item.auto": {
"defaultMessage": "自動"
},
- "servers.backups.item.backup-schedule": {
- "defaultMessage": "バックアップスケジュール"
- },
- "servers.backups.item.creator-avatar-alt": {
- "defaultMessage": "{username}のアバター"
- },
- "servers.backups.item.creator.support": {
- "defaultMessage": "サポート"
- },
- "servers.backups.item.manual-backup": {
- "defaultMessage": "手動バックアップ"
- },
- "servers.backups.item.rename": {
- "defaultMessage": "リネーム"
- },
- "servers.backups.item.restore": {
- "defaultMessage": "修復"
- },
- "servers.backups.select-backup-aria": {
- "defaultMessage": "{name}というバックアップを選択する"
- },
"servers.backups.toolbar.create-backup": {
"defaultMessage": "バックアップを作成"
},
- "servers.backups.toolbar.filter-auto": {
- "defaultMessage": "自動"
- },
- "servers.backups.toolbar.filter-manual": {
- "defaultMessage": "手動"
- },
- "servers.backups.toolbar.select-all": {
- "defaultMessage": "すべて選択"
- },
"servers.busy.backup-creating": {
"defaultMessage": "バックアップ作成中"
},
diff --git a/packages/ui/src/locales/ko-KR/index.json b/packages/ui/src/locales/ko-KR/index.json
index fcd700c1d0b..fc65671f50c 100644
--- a/packages/ui/src/locales/ko-KR/index.json
+++ b/packages/ui/src/locales/ko-KR/index.json
@@ -4865,12 +4865,6 @@
"servers.backups.admonition.restoring-backup.title": {
"defaultMessage": "백업으로부터 복원하는 중"
},
- "servers.backups.bulk-bar.aria-label": {
- "defaultMessage": "백업 {count, plural, other {#}}개 선택됨"
- },
- "servers.backups.bulk-bar.deleting": {
- "defaultMessage": "백업 {total, plural, other {#}}개 삭제 중..."
- },
"servers.backups.bulk-bar.selected-count": {
"defaultMessage": "백업 {count, plural, other {#}}개 선택됨"
},
@@ -4895,51 +4889,12 @@
"servers.backups.empty.heading": {
"defaultMessage": "백업이 없습니다"
},
- "servers.backups.filtered-empty.clear-filters": {
- "defaultMessage": "필터 초기화"
- },
- "servers.backups.filtered-empty.description": {
- "defaultMessage": "다른 필터를 적용하거나 필터를 모두 해제하여 모든 백업을 확인해 보세요."
- },
- "servers.backups.filtered-empty.heading": {
- "defaultMessage": "일치하는 백업 없음"
- },
"servers.backups.item.auto": {
"defaultMessage": "자동"
},
- "servers.backups.item.backup-schedule": {
- "defaultMessage": "백업 스케쥴"
- },
- "servers.backups.item.creator-avatar-alt": {
- "defaultMessage": "{username}의 아바타"
- },
- "servers.backups.item.creator.support": {
- "defaultMessage": "지원자"
- },
- "servers.backups.item.manual-backup": {
- "defaultMessage": "백업 메뉴얼"
- },
- "servers.backups.item.rename": {
- "defaultMessage": "이름 변경"
- },
- "servers.backups.item.restore": {
- "defaultMessage": "복원"
- },
- "servers.backups.select-backup-aria": {
- "defaultMessage": "{name} 백업 선택"
- },
"servers.backups.toolbar.create-backup": {
"defaultMessage": "백업 생성"
},
- "servers.backups.toolbar.filter-auto": {
- "defaultMessage": "자동"
- },
- "servers.backups.toolbar.filter-manual": {
- "defaultMessage": "수동"
- },
- "servers.backups.toolbar.select-all": {
- "defaultMessage": "모두 선택"
- },
"servers.busy.backup-creating": {
"defaultMessage": "백업 생성 진행 중"
},
diff --git a/packages/ui/src/locales/ms-MY/index.json b/packages/ui/src/locales/ms-MY/index.json
index 2de9b975920..1fd837e0a74 100644
--- a/packages/ui/src/locales/ms-MY/index.json
+++ b/packages/ui/src/locales/ms-MY/index.json
@@ -3773,12 +3773,6 @@
"servers.backups.admonition.restoring-backup.title": {
"defaultMessage": "Memulihkan daripada sandaran"
},
- "servers.backups.bulk-bar.aria-label": {
- "defaultMessage": "{count, plural, other {Tindakan pukal untuk # sandaran yang dipilih}}"
- },
- "servers.backups.bulk-bar.deleting": {
- "defaultMessage": "Sedang memadamkan {total, plural, other {# sandaran}}..."
- },
"servers.backups.bulk-bar.selected-count": {
"defaultMessage": "{count, plural, other {# sandaran dipilih}}"
},
@@ -3794,48 +3788,12 @@
"servers.backups.empty.heading": {
"defaultMessage": "Belum ada sandaran"
},
- "servers.backups.filtered-empty.clear-filters": {
- "defaultMessage": "Kosongkan tapisan"
- },
- "servers.backups.filtered-empty.heading": {
- "defaultMessage": "Tiada sandaran yang sepadan"
- },
"servers.backups.item.auto": {
"defaultMessage": "Auto"
},
- "servers.backups.item.backup-schedule": {
- "defaultMessage": "Jadual penyandaran"
- },
- "servers.backups.item.creator-avatar-alt": {
- "defaultMessage": "Avatar {username}"
- },
- "servers.backups.item.creator.support": {
- "defaultMessage": "Sokongan"
- },
- "servers.backups.item.manual-backup": {
- "defaultMessage": "Penyandaran manual"
- },
- "servers.backups.item.rename": {
- "defaultMessage": "Namakan semula"
- },
- "servers.backups.item.restore": {
- "defaultMessage": "Pulihkan"
- },
- "servers.backups.select-backup-aria": {
- "defaultMessage": "Pilih sandaran {name}"
- },
"servers.backups.toolbar.create-backup": {
"defaultMessage": "Cipta sandaran"
},
- "servers.backups.toolbar.filter-auto": {
- "defaultMessage": "Auto"
- },
- "servers.backups.toolbar.filter-manual": {
- "defaultMessage": "Manual"
- },
- "servers.backups.toolbar.select-all": {
- "defaultMessage": "Pilih semua"
- },
"servers.busy.backup-creating": {
"defaultMessage": "Penciptaan sandaran sedang dijalankan"
},
@@ -4959,4 +4917,3 @@
"defaultMessage": "Jenis"
}
}
-
diff --git a/packages/ui/src/locales/nl-NL/index.json b/packages/ui/src/locales/nl-NL/index.json
index 3b377ea5b36..43253afe203 100644
--- a/packages/ui/src/locales/nl-NL/index.json
+++ b/packages/ui/src/locales/nl-NL/index.json
@@ -5096,12 +5096,6 @@
"servers.backups.admonition.restoring-backup.title": {
"defaultMessage": "Terugzetten vanuit een back-up"
},
- "servers.backups.bulk-bar.aria-label": {
- "defaultMessage": "{count, plural, one {Bulkacties voor één geselecteerde back-up} other {Bulkacties voor # geselecteerde back-ups}}"
- },
- "servers.backups.bulk-bar.deleting": {
- "defaultMessage": "{total, plural, one {# back-up} other {# back-ups}} verwijderen..."
- },
"servers.backups.bulk-bar.selected-count": {
"defaultMessage": "{count, plural, one {# back-up geselecteerd} other {# back-ups geselecteerd}}"
},
@@ -5126,51 +5120,12 @@
"servers.backups.empty.heading": {
"defaultMessage": "Nog geen back-ups"
},
- "servers.backups.filtered-empty.clear-filters": {
- "defaultMessage": "Filters verwijderen"
- },
- "servers.backups.filtered-empty.description": {
- "defaultMessage": "Probeer een ander filter of verwijder de filters om alle back-ups te bekijken."
- },
- "servers.backups.filtered-empty.heading": {
- "defaultMessage": "Geen back-ups gevonden"
- },
"servers.backups.item.auto": {
"defaultMessage": "Automatisch"
},
- "servers.backups.item.backup-schedule": {
- "defaultMessage": "Back-upschema"
- },
- "servers.backups.item.creator-avatar-alt": {
- "defaultMessage": "Avatar van {username}"
- },
- "servers.backups.item.creator.support": {
- "defaultMessage": "Ondersteuning"
- },
- "servers.backups.item.manual-backup": {
- "defaultMessage": "Handmatige back-up"
- },
- "servers.backups.item.rename": {
- "defaultMessage": "Hernoemen"
- },
- "servers.backups.item.restore": {
- "defaultMessage": "Herstel"
- },
- "servers.backups.select-backup-aria": {
- "defaultMessage": "Selecteer back-up {name}"
- },
"servers.backups.toolbar.create-backup": {
"defaultMessage": "Back-up maken"
},
- "servers.backups.toolbar.filter-auto": {
- "defaultMessage": "Automatisch"
- },
- "servers.backups.toolbar.filter-manual": {
- "defaultMessage": "Handmatig"
- },
- "servers.backups.toolbar.select-all": {
- "defaultMessage": "Alles selecteren"
- },
"servers.busy.backup-creating": {
"defaultMessage": "Back-up wordt gemaakt"
},
diff --git a/packages/ui/src/locales/no-NO/index.json b/packages/ui/src/locales/no-NO/index.json
index bbff4874381..2cb17389851 100644
--- a/packages/ui/src/locales/no-NO/index.json
+++ b/packages/ui/src/locales/no-NO/index.json
@@ -2237,18 +2237,6 @@
"servers.backups.item.auto": {
"defaultMessage": "Automatisk"
},
- "servers.backups.item.backup-schedule": {
- "defaultMessage": "Sikkerhetskopiplan"
- },
- "servers.backups.item.manual-backup": {
- "defaultMessage": "Manuell sikkerhetskopiering"
- },
- "servers.backups.item.rename": {
- "defaultMessage": "Endre navn"
- },
- "servers.backups.item.restore": {
- "defaultMessage": "Gjenopprett"
- },
"servers.list-empty.new-server-button": {
"defaultMessage": "Ny server"
},
@@ -2775,4 +2763,3 @@
"defaultMessage": "Du har ulagrede endringer."
}
}
-
diff --git a/packages/ui/src/locales/pl-PL/index.json b/packages/ui/src/locales/pl-PL/index.json
index 5fd9e080976..e61f269bbb4 100644
--- a/packages/ui/src/locales/pl-PL/index.json
+++ b/packages/ui/src/locales/pl-PL/index.json
@@ -5222,12 +5222,6 @@
"servers.backups.admonition.restoring-backup.title": {
"defaultMessage": "Przywracanie z kopii zapasowej"
},
- "servers.backups.bulk-bar.aria-label": {
- "defaultMessage": "Masowe akcje dla {count, plural, one {jednej wybranej kopii zapasowej} other {# wybranych kopii zapasowych}}"
- },
- "servers.backups.bulk-bar.deleting": {
- "defaultMessage": "Usuwanie {total, plural, one {# kopii zapasowej} other {# kopii zapasowych}}..."
- },
"servers.backups.bulk-bar.selected-count": {
"defaultMessage": "Wybrano {count, plural, one {# kopię zapasową} few {# kopie zapasowe} other {# kopii zapasowych}}"
},
@@ -5252,51 +5246,12 @@
"servers.backups.empty.heading": {
"defaultMessage": "Nie masz jeszcze żadnych kopii zapasowych"
},
- "servers.backups.filtered-empty.clear-filters": {
- "defaultMessage": "Wyczyść filtry"
- },
- "servers.backups.filtered-empty.description": {
- "defaultMessage": "Spróbuj użyć innego filtru lub wyczyść filtry, by zobaczyć wszystkie kopie zapasowe."
- },
- "servers.backups.filtered-empty.heading": {
- "defaultMessage": "Nie znaleziono pasujących kopii zapasowych"
- },
"servers.backups.item.auto": {
"defaultMessage": "Automatyczne"
},
- "servers.backups.item.backup-schedule": {
- "defaultMessage": "Harmonogram kopii zapasowych"
- },
- "servers.backups.item.creator-avatar-alt": {
- "defaultMessage": "Awatar użytkownika {username}"
- },
- "servers.backups.item.creator.support": {
- "defaultMessage": "Obsługa Modrinth"
- },
- "servers.backups.item.manual-backup": {
- "defaultMessage": "Ręczne kopie zapasowe"
- },
- "servers.backups.item.rename": {
- "defaultMessage": "Zmień nazwę"
- },
- "servers.backups.item.restore": {
- "defaultMessage": "Przywróć"
- },
- "servers.backups.select-backup-aria": {
- "defaultMessage": "Wybierz kopię zapasową {name}"
- },
"servers.backups.toolbar.create-backup": {
"defaultMessage": "Utwórz kopię zapasową"
},
- "servers.backups.toolbar.filter-auto": {
- "defaultMessage": "Automatyczne"
- },
- "servers.backups.toolbar.filter-manual": {
- "defaultMessage": "Ręczne"
- },
- "servers.backups.toolbar.select-all": {
- "defaultMessage": "Wybierz wszystkie"
- },
"servers.busy.backup-creating": {
"defaultMessage": "Trwa tworzenie kopii zapasowej"
},
diff --git a/packages/ui/src/locales/pt-BR/index.json b/packages/ui/src/locales/pt-BR/index.json
index 2c3bcd71f7c..8935ce9ab31 100644
--- a/packages/ui/src/locales/pt-BR/index.json
+++ b/packages/ui/src/locales/pt-BR/index.json
@@ -5240,12 +5240,6 @@
"servers.backups.admonition.restoring-backup.title": {
"defaultMessage": "Restaurando da cópia de segurança"
},
- "servers.backups.bulk-bar.aria-label": {
- "defaultMessage": "Ações em massa para {count, plural, one {uma cópia de segurança selecionada} other {# cópias de segurança selecionadas}}"
- },
- "servers.backups.bulk-bar.deleting": {
- "defaultMessage": "Excluindo {total, plural, one {# cópia de segurança} other {# cópias de segurança}}..."
- },
"servers.backups.bulk-bar.selected-count": {
"defaultMessage": "{count, plural, one {# cópia de segurança selecionada} other {# cópias de segurança selecionadas}}"
},
@@ -5270,51 +5264,12 @@
"servers.backups.empty.heading": {
"defaultMessage": "Ainda não há cópias de segurança"
},
- "servers.backups.filtered-empty.clear-filters": {
- "defaultMessage": "Limpar filtros"
- },
- "servers.backups.filtered-empty.description": {
- "defaultMessage": "Tente um filtro diferente ou limpe os filtros para ver todas as cópias de segurança."
- },
- "servers.backups.filtered-empty.heading": {
- "defaultMessage": "Nenhuma cópia de segurança corresponde"
- },
"servers.backups.item.auto": {
"defaultMessage": "Automático"
},
- "servers.backups.item.backup-schedule": {
- "defaultMessage": "Agendamento de cópia de segurança"
- },
- "servers.backups.item.creator-avatar-alt": {
- "defaultMessage": "Avatar de {username}"
- },
- "servers.backups.item.creator.support": {
- "defaultMessage": "Suporte"
- },
- "servers.backups.item.manual-backup": {
- "defaultMessage": "Cópia de segurança manual"
- },
- "servers.backups.item.rename": {
- "defaultMessage": "Renomear"
- },
- "servers.backups.item.restore": {
- "defaultMessage": "Restaurar"
- },
- "servers.backups.select-backup-aria": {
- "defaultMessage": "Selecionar cópia de segurança {name}"
- },
"servers.backups.toolbar.create-backup": {
"defaultMessage": "Criar cópia de segurança"
},
- "servers.backups.toolbar.filter-auto": {
- "defaultMessage": "Automático"
- },
- "servers.backups.toolbar.filter-manual": {
- "defaultMessage": "Manual"
- },
- "servers.backups.toolbar.select-all": {
- "defaultMessage": "Selecionar tudo"
- },
"servers.busy.backup-creating": {
"defaultMessage": "Criação de cópia de segurança em andamento"
},
@@ -7275,4 +7230,3 @@
"defaultMessage": "Tipo"
}
}
-
diff --git a/packages/ui/src/locales/pt-PT/index.json b/packages/ui/src/locales/pt-PT/index.json
index 6c868d17a98..0dede5fc5f0 100644
--- a/packages/ui/src/locales/pt-PT/index.json
+++ b/packages/ui/src/locales/pt-PT/index.json
@@ -2309,21 +2309,6 @@
"servers.backups.item.auto": {
"defaultMessage": "Automático"
},
- "servers.backups.item.backup-schedule": {
- "defaultMessage": "Horário de Backup"
- },
- "servers.backups.item.manual-backup": {
- "defaultMessage": "Fazer backup manual"
- },
- "servers.backups.item.rename": {
- "defaultMessage": "Renomear"
- },
- "servers.backups.item.restore": {
- "defaultMessage": "Restaurar"
- },
- "servers.backups.toolbar.filter-auto": {
- "defaultMessage": "Automático"
- },
"servers.listing.new-label": {
"defaultMessage": "Novo"
},
@@ -3045,4 +3030,3 @@
"defaultMessage": "Tipo"
}
}
-
diff --git a/packages/ui/src/locales/ro-RO/index.json b/packages/ui/src/locales/ro-RO/index.json
index f9a7a14c019..af6eab2f55e 100644
--- a/packages/ui/src/locales/ro-RO/index.json
+++ b/packages/ui/src/locales/ro-RO/index.json
@@ -3083,18 +3083,6 @@
"servers.backups.item.auto": {
"defaultMessage": "Auto"
},
- "servers.backups.item.backup-schedule": {
- "defaultMessage": "Programul de backup"
- },
- "servers.backups.item.manual-backup": {
- "defaultMessage": "Copiere de rezervă manuală"
- },
- "servers.backups.item.rename": {
- "defaultMessage": "Redenumește"
- },
- "servers.backups.item.restore": {
- "defaultMessage": "Restaurează"
- },
"servers.notice.dismiss": {
"defaultMessage": "Ignoră"
},
diff --git a/packages/ui/src/locales/ru-RU/index.json b/packages/ui/src/locales/ru-RU/index.json
index eec162a49bc..2d5835ac5a4 100644
--- a/packages/ui/src/locales/ru-RU/index.json
+++ b/packages/ui/src/locales/ru-RU/index.json
@@ -5153,12 +5153,6 @@
"servers.backups.admonition.restoring-backup.title": {
"defaultMessage": "Восстановление из резервной копии"
},
- "servers.backups.bulk-bar.aria-label": {
- "defaultMessage": "Действия с выбранными резервными копиями"
- },
- "servers.backups.bulk-bar.deleting": {
- "defaultMessage": "Удаление {total, plural, one {# резервной копии} other {# резервных копий}}..."
- },
"servers.backups.bulk-bar.selected-count": {
"defaultMessage": "{count, plural,one {# резервная копия выбрана} other {резервная копия выбрана}}"
},
@@ -5183,51 +5177,12 @@
"servers.backups.empty.heading": {
"defaultMessage": "Резервных копий ещё нет"
},
- "servers.backups.filtered-empty.clear-filters": {
- "defaultMessage": "Очистить фильтры"
- },
- "servers.backups.filtered-empty.description": {
- "defaultMessage": "Попробуйте изменить или сбросить фильтры, чтобы увидеть все резервные копии."
- },
- "servers.backups.filtered-empty.heading": {
- "defaultMessage": "Резервных копий не найдено"
- },
"servers.backups.item.auto": {
"defaultMessage": "Авто"
},
- "servers.backups.item.backup-schedule": {
- "defaultMessage": "Автоматическая резервная копия"
- },
- "servers.backups.item.creator-avatar-alt": {
- "defaultMessage": "Аватар {username}"
- },
- "servers.backups.item.creator.support": {
- "defaultMessage": "Поддержка"
- },
- "servers.backups.item.manual-backup": {
- "defaultMessage": "Ручная резервная копия"
- },
- "servers.backups.item.rename": {
- "defaultMessage": "Переименовать"
- },
- "servers.backups.item.restore": {
- "defaultMessage": "Восстановить"
- },
- "servers.backups.select-backup-aria": {
- "defaultMessage": "Выбрать резервную копию {name}"
- },
"servers.backups.toolbar.create-backup": {
"defaultMessage": "Создать резервную копию"
},
- "servers.backups.toolbar.filter-auto": {
- "defaultMessage": "Автоматические"
- },
- "servers.backups.toolbar.filter-manual": {
- "defaultMessage": "Ручные"
- },
- "servers.backups.toolbar.select-all": {
- "defaultMessage": "Выбрать всё"
- },
"servers.busy.backup-creating": {
"defaultMessage": "Выполняется создание резервной копии"
},
diff --git a/packages/ui/src/locales/sr-CS/index.json b/packages/ui/src/locales/sr-CS/index.json
index ec17a17ffe1..a72ed9753cb 100644
--- a/packages/ui/src/locales/sr-CS/index.json
+++ b/packages/ui/src/locales/sr-CS/index.json
@@ -4988,12 +4988,6 @@
"servers.backups.admonition.restoring-backup.title": {
"defaultMessage": "Vraćanje iz backupa"
},
- "servers.backups.bulk-bar.aria-label": {
- "defaultMessage": "{count, plural, one {Grupne radnje za jedan izabran backup} other {Grupna radnja za # izabranih backupa}}"
- },
- "servers.backups.bulk-bar.deleting": {
- "defaultMessage": "Brisanje {total, plural, one {# backupa} other {# backupa}}..."
- },
"servers.backups.bulk-bar.selected-count": {
"defaultMessage": "{count, plural, one {# backup izabran} few {# backupa izabrana} other {# backupa izabranih}}"
},
@@ -5018,51 +5012,12 @@
"servers.backups.empty.heading": {
"defaultMessage": "Nema još backupa"
},
- "servers.backups.filtered-empty.clear-filters": {
- "defaultMessage": "Očisti filtere"
- },
- "servers.backups.filtered-empty.description": {
- "defaultMessage": "Isprobaj drugi filter ili ukloni filtere da bi vidio sve backupe."
- },
- "servers.backups.filtered-empty.heading": {
- "defaultMessage": "Nema podudaranja backupa"
- },
"servers.backups.item.auto": {
"defaultMessage": "Automatski"
},
- "servers.backups.item.backup-schedule": {
- "defaultMessage": "Zakazan backup"
- },
- "servers.backups.item.creator-avatar-alt": {
- "defaultMessage": "Avatar od {username}"
- },
- "servers.backups.item.creator.support": {
- "defaultMessage": "Podrška"
- },
- "servers.backups.item.manual-backup": {
- "defaultMessage": "Manualni backup"
- },
- "servers.backups.item.rename": {
- "defaultMessage": "Preimenuj"
- },
- "servers.backups.item.restore": {
- "defaultMessage": "Vrati"
- },
- "servers.backups.select-backup-aria": {
- "defaultMessage": "Izaberi backup {name}"
- },
"servers.backups.toolbar.create-backup": {
"defaultMessage": "Napravi backup"
},
- "servers.backups.toolbar.filter-auto": {
- "defaultMessage": "Automatski"
- },
- "servers.backups.toolbar.filter-manual": {
- "defaultMessage": "Manualno"
- },
- "servers.backups.toolbar.select-all": {
- "defaultMessage": "Izaberi sve"
- },
"servers.busy.backup-creating": {
"defaultMessage": "Kreacija backupa u toku"
},
@@ -6429,4 +6384,3 @@
"defaultMessage": "Tip"
}
}
-
diff --git a/packages/ui/src/locales/sv-SE/index.json b/packages/ui/src/locales/sv-SE/index.json
index 2728dd01927..eb10615f392 100644
--- a/packages/ui/src/locales/sv-SE/index.json
+++ b/packages/ui/src/locales/sv-SE/index.json
@@ -4952,9 +4952,6 @@
"servers.backups.admonition.restoring-backup.title": {
"defaultMessage": "Återställer från säkerhetskopia"
},
- "servers.backups.bulk-bar.deleting": {
- "defaultMessage": "Raderar {total, plural, one {# säkerhetskopia} other {# säkerhetskopior}}..."
- },
"servers.backups.bulk-bar.selected-count": {
"defaultMessage": "{count, plural, one {# säkerhetskopia markerad} other {# säkerhetskopior markerade}}"
},
@@ -4979,51 +4976,12 @@
"servers.backups.empty.heading": {
"defaultMessage": "Inga säkerhetskopior än"
},
- "servers.backups.filtered-empty.clear-filters": {
- "defaultMessage": "Rensa filter"
- },
- "servers.backups.filtered-empty.description": {
- "defaultMessage": "Prova ett annat filer eller rensa filtren för att se alla säkerhetskopior."
- },
- "servers.backups.filtered-empty.heading": {
- "defaultMessage": "Inga säkerhetskopior matchar"
- },
"servers.backups.item.auto": {
"defaultMessage": "Auto"
},
- "servers.backups.item.backup-schedule": {
- "defaultMessage": "Säkerhetskopieringschema"
- },
- "servers.backups.item.creator-avatar-alt": {
- "defaultMessage": "{username}s avatar"
- },
- "servers.backups.item.creator.support": {
- "defaultMessage": "Support"
- },
- "servers.backups.item.manual-backup": {
- "defaultMessage": "Manuell säkerhetskopiering"
- },
- "servers.backups.item.rename": {
- "defaultMessage": "Byt namn"
- },
- "servers.backups.item.restore": {
- "defaultMessage": "Återställ"
- },
- "servers.backups.select-backup-aria": {
- "defaultMessage": "Markera säkerhetskopia {name}"
- },
"servers.backups.toolbar.create-backup": {
"defaultMessage": "Skapa säkerhetskopia"
},
- "servers.backups.toolbar.filter-auto": {
- "defaultMessage": "Auto"
- },
- "servers.backups.toolbar.filter-manual": {
- "defaultMessage": "Manuellt"
- },
- "servers.backups.toolbar.select-all": {
- "defaultMessage": "Markera alla"
- },
"servers.busy.backup-creating": {
"defaultMessage": "Säkerhetskopiering pågår"
},
diff --git a/packages/ui/src/locales/tr-TR/index.json b/packages/ui/src/locales/tr-TR/index.json
index 884212845a4..f7b7a02f97e 100644
--- a/packages/ui/src/locales/tr-TR/index.json
+++ b/packages/ui/src/locales/tr-TR/index.json
@@ -5159,9 +5159,6 @@
"servers.backups.admonition.restoring-backup.title": {
"defaultMessage": "Yedekten geri yükleniyor"
},
- "servers.backups.bulk-bar.deleting": {
- "defaultMessage": "{total, plural, one {# yedek} other {# yedek}} siliniyor..."
- },
"servers.backups.bulk-bar.selected-count": {
"defaultMessage": "{count, plural, one {# yedek seçildi} other {# yedek seçildi}}"
},
@@ -5183,51 +5180,12 @@
"servers.backups.empty.heading": {
"defaultMessage": "Henüz yedekleme yok"
},
- "servers.backups.filtered-empty.clear-filters": {
- "defaultMessage": "Filtreleri temizle"
- },
- "servers.backups.filtered-empty.description": {
- "defaultMessage": "Tüm yedekleri görmek için farklı bir filtre deneyin veya filtreleri temizleyin."
- },
- "servers.backups.filtered-empty.heading": {
- "defaultMessage": "Yedekler eşleşmiyor"
- },
"servers.backups.item.auto": {
"defaultMessage": "Otomatik"
},
- "servers.backups.item.backup-schedule": {
- "defaultMessage": "Yedekleme zamanları"
- },
- "servers.backups.item.creator-avatar-alt": {
- "defaultMessage": "{username} nın avatarı"
- },
- "servers.backups.item.creator.support": {
- "defaultMessage": "Destek"
- },
- "servers.backups.item.manual-backup": {
- "defaultMessage": "Manuel yedekleme"
- },
- "servers.backups.item.rename": {
- "defaultMessage": "Yeniden adlandır"
- },
- "servers.backups.item.restore": {
- "defaultMessage": "Geri yükle"
- },
- "servers.backups.select-backup-aria": {
- "defaultMessage": "{name} yedek dosyasını seçin"
- },
"servers.backups.toolbar.create-backup": {
"defaultMessage": "Yedek oluştur"
},
- "servers.backups.toolbar.filter-auto": {
- "defaultMessage": "Otomatik"
- },
- "servers.backups.toolbar.filter-manual": {
- "defaultMessage": "Manüel"
- },
- "servers.backups.toolbar.select-all": {
- "defaultMessage": "Hepsini seç"
- },
"servers.busy.backup-creating": {
"defaultMessage": "Yedek oluşturma sürüyor"
},
diff --git a/packages/ui/src/locales/uk-UA/index.json b/packages/ui/src/locales/uk-UA/index.json
index 09867163063..a7ac031b121 100644
--- a/packages/ui/src/locales/uk-UA/index.json
+++ b/packages/ui/src/locales/uk-UA/index.json
@@ -5192,12 +5192,6 @@
"servers.backups.admonition.restoring-backup.title": {
"defaultMessage": "Відновлення з резервної копії"
},
- "servers.backups.bulk-bar.aria-label": {
- "defaultMessage": "{count, plural, one {Групові дії для однієї вибраної резервної копії} other {Групові дії для # вибраних резервних копій}}"
- },
- "servers.backups.bulk-bar.deleting": {
- "defaultMessage": "Видалення {total, plural, one {# резервоної копії} few {# резервних копій} many {# резервних копій} other {# резервних копій}}…"
- },
"servers.backups.bulk-bar.selected-count": {
"defaultMessage": "{count, plural, one {# резервну копію вибрано} few {# резевні копії вибрано} many {# резевних копій вибрано} other {# резевних копій вибрано}}"
},
@@ -5222,51 +5216,12 @@
"servers.backups.empty.heading": {
"defaultMessage": "Резервних копій ще немає"
},
- "servers.backups.filtered-empty.clear-filters": {
- "defaultMessage": "Очистити фільтр"
- },
- "servers.backups.filtered-empty.description": {
- "defaultMessage": "Спробуйте інший фільтр або очистіть фільтри, щоб переглянути всі резервні копії."
- },
- "servers.backups.filtered-empty.heading": {
- "defaultMessage": "Немає відповідних резервних копій"
- },
"servers.backups.item.auto": {
"defaultMessage": "Автоматично"
},
- "servers.backups.item.backup-schedule": {
- "defaultMessage": "Розклад резервного копіювання"
- },
- "servers.backups.item.creator-avatar-alt": {
- "defaultMessage": "Аватар {username}"
- },
- "servers.backups.item.creator.support": {
- "defaultMessage": "Підтримка"
- },
- "servers.backups.item.manual-backup": {
- "defaultMessage": "Ручне резервне копіювання"
- },
- "servers.backups.item.rename": {
- "defaultMessage": "Перейменувати"
- },
- "servers.backups.item.restore": {
- "defaultMessage": "Відновлення"
- },
- "servers.backups.select-backup-aria": {
- "defaultMessage": "Вибрати резервну копію {name}"
- },
"servers.backups.toolbar.create-backup": {
"defaultMessage": "Створити резервну копію"
},
- "servers.backups.toolbar.filter-auto": {
- "defaultMessage": "Авто"
- },
- "servers.backups.toolbar.filter-manual": {
- "defaultMessage": "Уручну"
- },
- "servers.backups.toolbar.select-all": {
- "defaultMessage": "Вибрати все"
- },
"servers.busy.backup-creating": {
"defaultMessage": "Триває створення резервної копії"
},
diff --git a/packages/ui/src/locales/vi-VN/index.json b/packages/ui/src/locales/vi-VN/index.json
index 7f0ea3dc295..4da33fe13eb 100644
--- a/packages/ui/src/locales/vi-VN/index.json
+++ b/packages/ui/src/locales/vi-VN/index.json
@@ -5240,12 +5240,6 @@
"servers.backups.admonition.restoring-backup.title": {
"defaultMessage": "Đang khôi phục từ bản sao lưu"
},
- "servers.backups.bulk-bar.aria-label": {
- "defaultMessage": "{count, plural, other {Hành động cho # bản sao lưu}}"
- },
- "servers.backups.bulk-bar.deleting": {
- "defaultMessage": "Đang xóa {total, plural, other {# bản sao lưu}}..."
- },
"servers.backups.bulk-bar.selected-count": {
"defaultMessage": "{count, plural, other {Đã chọn # bản sao lưu}}"
},
@@ -5270,51 +5264,12 @@
"servers.backups.empty.heading": {
"defaultMessage": "Không có bản sao lưu"
},
- "servers.backups.filtered-empty.clear-filters": {
- "defaultMessage": "Hủy lọc"
- },
- "servers.backups.filtered-empty.description": {
- "defaultMessage": "Thử loại lọc khác hoặc hủy lọc để xem tất cả các bản sao lưu."
- },
- "servers.backups.filtered-empty.heading": {
- "defaultMessage": "Không tìm được bản sao lưu"
- },
"servers.backups.item.auto": {
"defaultMessage": "Tự động"
},
- "servers.backups.item.backup-schedule": {
- "defaultMessage": "Lịch sao lưu"
- },
- "servers.backups.item.creator-avatar-alt": {
- "defaultMessage": "Ảnh đại diện của {username}"
- },
- "servers.backups.item.creator.support": {
- "defaultMessage": "Hỗ trợ"
- },
- "servers.backups.item.manual-backup": {
- "defaultMessage": "Sao lưu thủ công"
- },
- "servers.backups.item.rename": {
- "defaultMessage": "Đổi tên"
- },
- "servers.backups.item.restore": {
- "defaultMessage": "Khôi phục"
- },
- "servers.backups.select-backup-aria": {
- "defaultMessage": "Chọn bản sao lưu {name}"
- },
"servers.backups.toolbar.create-backup": {
"defaultMessage": "Tạo bản sao lưu"
},
- "servers.backups.toolbar.filter-auto": {
- "defaultMessage": "Tự động"
- },
- "servers.backups.toolbar.filter-manual": {
- "defaultMessage": "Thủ công"
- },
- "servers.backups.toolbar.select-all": {
- "defaultMessage": "Chọn tất cả"
- },
"servers.busy.backup-creating": {
"defaultMessage": "Đang tạo bản sao lưu"
},
@@ -7275,4 +7230,3 @@
"defaultMessage": "Loại"
}
}
-
diff --git a/packages/ui/src/locales/zh-CN/index.json b/packages/ui/src/locales/zh-CN/index.json
index 679de37a531..eb5ac10b59b 100644
--- a/packages/ui/src/locales/zh-CN/index.json
+++ b/packages/ui/src/locales/zh-CN/index.json
@@ -5240,12 +5240,6 @@
"servers.backups.admonition.restoring-backup.title": {
"defaultMessage": "从备份中恢复"
},
- "servers.backups.bulk-bar.aria-label": {
- "defaultMessage": "已选择 {count} 个备份的批量操作"
- },
- "servers.backups.bulk-bar.deleting": {
- "defaultMessage": "正在删除 {total, plural,one {#个备份}other {#个备份}}……"
- },
"servers.backups.bulk-bar.selected-count": {
"defaultMessage": "{count,plural,one {#个备份被选中} other {个备份被选中}}"
},
@@ -5270,51 +5264,12 @@
"servers.backups.empty.heading": {
"defaultMessage": "暂无备份"
},
- "servers.backups.filtered-empty.clear-filters": {
- "defaultMessage": "清空筛选"
- },
- "servers.backups.filtered-empty.description": {
- "defaultMessage": "尝试使用其他筛选条件或清除筛选条件以查看所有备份。"
- },
- "servers.backups.filtered-empty.heading": {
- "defaultMessage": "没有匹配的备份"
- },
"servers.backups.item.auto": {
"defaultMessage": "自动"
},
- "servers.backups.item.backup-schedule": {
- "defaultMessage": "备份计划"
- },
- "servers.backups.item.creator-avatar-alt": {
- "defaultMessage": "{username}的头像"
- },
- "servers.backups.item.creator.support": {
- "defaultMessage": "支持"
- },
- "servers.backups.item.manual-backup": {
- "defaultMessage": "手动备份"
- },
- "servers.backups.item.rename": {
- "defaultMessage": "重命名"
- },
- "servers.backups.item.restore": {
- "defaultMessage": "恢复"
- },
- "servers.backups.select-backup-aria": {
- "defaultMessage": "选择备份{name}"
- },
"servers.backups.toolbar.create-backup": {
"defaultMessage": "创建备份"
},
- "servers.backups.toolbar.filter-auto": {
- "defaultMessage": "自动"
- },
- "servers.backups.toolbar.filter-manual": {
- "defaultMessage": "手动"
- },
- "servers.backups.toolbar.select-all": {
- "defaultMessage": "选择全部"
- },
"servers.busy.backup-creating": {
"defaultMessage": "正在创建备份"
},
@@ -7275,4 +7230,3 @@
"defaultMessage": "类型"
}
}
-
diff --git a/packages/ui/src/locales/zh-TW/index.json b/packages/ui/src/locales/zh-TW/index.json
index cf8b474d282..6b5c7717912 100644
--- a/packages/ui/src/locales/zh-TW/index.json
+++ b/packages/ui/src/locales/zh-TW/index.json
@@ -5240,12 +5240,6 @@
"servers.backups.admonition.restoring-backup.title": {
"defaultMessage": "從備份還原"
},
- "servers.backups.bulk-bar.aria-label": {
- "defaultMessage": "{count, plural, other {對 # 個選取的備份執行批次動作}}"
- },
- "servers.backups.bulk-bar.deleting": {
- "defaultMessage": "正在刪除 {total, plural, other {# 個備份}}..."
- },
"servers.backups.bulk-bar.selected-count": {
"defaultMessage": "{count, plural, other {已選取 # 個備份}}"
},
@@ -5270,51 +5264,12 @@
"servers.backups.empty.heading": {
"defaultMessage": "尚無備份"
},
- "servers.backups.filtered-empty.clear-filters": {
- "defaultMessage": "清除篩選條件"
- },
- "servers.backups.filtered-empty.description": {
- "defaultMessage": "試試使用不同的篩選條件,或清除篩選條件以查看所有備份。"
- },
- "servers.backups.filtered-empty.heading": {
- "defaultMessage": "沒有相符的備份"
- },
"servers.backups.item.auto": {
"defaultMessage": "自動備份"
},
- "servers.backups.item.backup-schedule": {
- "defaultMessage": "備份排程"
- },
- "servers.backups.item.creator-avatar-alt": {
- "defaultMessage": "{username} 的顯示圖片"
- },
- "servers.backups.item.creator.support": {
- "defaultMessage": "客服"
- },
- "servers.backups.item.manual-backup": {
- "defaultMessage": "手動備份"
- },
- "servers.backups.item.rename": {
- "defaultMessage": "重新命名"
- },
- "servers.backups.item.restore": {
- "defaultMessage": "還原"
- },
- "servers.backups.select-backup-aria": {
- "defaultMessage": "選擇備份「{name}」"
- },
"servers.backups.toolbar.create-backup": {
"defaultMessage": "建立備份"
},
- "servers.backups.toolbar.filter-auto": {
- "defaultMessage": "自動備份"
- },
- "servers.backups.toolbar.filter-manual": {
- "defaultMessage": "手動備份"
- },
- "servers.backups.toolbar.select-all": {
- "defaultMessage": "全選"
- },
"servers.busy.backup-creating": {
"defaultMessage": "正在建立備份"
},
@@ -7275,4 +7230,3 @@
"defaultMessage": "類型"
}
}
-
diff --git a/packages/ui/src/providers/file-download.ts b/packages/ui/src/providers/file-download.ts
index 3e4d02d739a..e05b9cbaec5 100644
--- a/packages/ui/src/providers/file-download.ts
+++ b/packages/ui/src/providers/file-download.ts
@@ -1,15 +1,25 @@
import { createContext } from './create-context'
-export interface FileDownload {
- type: 'server-file'
+interface ServerDownloadBase {
filename: string
serverId: string
serverName: string
nodeUrlHost: string
worldId: string
+}
+
+export interface ServerFileDownload extends ServerDownloadBase {
+ type: 'server-file'
path: string
}
+export interface ServerBackupDownload extends ServerDownloadBase {
+ type: 'server-backup'
+ backupId: string
+}
+
+export type FileDownload = ServerFileDownload | ServerBackupDownload
+
export interface FileDownloadProvider {
download: (file: FileDownload) => Promise
}
diff --git a/packages/ui/src/stories/base/SegmentedControl.stories.ts b/packages/ui/src/stories/base/SegmentedControl.stories.ts
new file mode 100644
index 00000000000..7afe45b6495
--- /dev/null
+++ b/packages/ui/src/stories/base/SegmentedControl.stories.ts
@@ -0,0 +1,64 @@
+import type { Meta, StoryObj } from '@storybook/vue3-vite'
+import { ref } from 'vue'
+
+import SegmentedControl from '../../components/base/SegmentedControl.vue'
+
+const meta = {
+ title: 'Base/SegmentedControl',
+ // @ts-ignore - error comes from generically typed component
+ component: SegmentedControl,
+} satisfies Meta
+
+export default meta
+type Story = StoryObj
+
+export const Default: Story = {
+ args: {
+ items: ['6h', '12h', '24h', '2 days', 'Weekly'],
+ ariaLabel: 'Backup interval',
+ },
+ render: (args) => ({
+ components: { SegmentedControl },
+ setup() {
+ const selected = ref('24h')
+ return { args, selected }
+ },
+ template: '',
+ }),
+}
+
+export const FullWidth: Story = {
+ ...Default,
+ args: { ...Default.args, fullWidth: true },
+}
+
+export const EqualWidth: Story = {
+ ...Default,
+ args: {
+ ...Default.args,
+ items: ['1h', '6h', '12h', '24h', '2 days', 'Weekly'],
+ equalWidth: true,
+ },
+}
+
+export const NeutralItems: Story = {
+ args: {
+ items: [true, false],
+ ariaLabel: 'Fullscreen',
+ formatLabel: (value: unknown) => (value ? 'On' : 'Off'),
+ neutralItems: [false],
+ },
+ render: (args) => ({
+ components: { SegmentedControl },
+ setup() {
+ const selected = ref(false)
+ return { args, selected }
+ },
+ template: '',
+ }),
+}
+
+export const Disabled: Story = {
+ ...Default,
+ args: { ...Default.args, disabled: true },
+}
diff --git a/packages/ui/src/stories/servers/BackupItem.stories.ts b/packages/ui/src/stories/servers/BackupItem.stories.ts
index 279c9b8d531..07112565288 100644
--- a/packages/ui/src/stories/servers/BackupItem.stories.ts
+++ b/packages/ui/src/stories/servers/BackupItem.stories.ts
@@ -6,29 +6,11 @@ import BackupItem from '../../components/servers/backups/BackupItem.vue'
const meta = {
title: 'Servers/BackupItem',
component: BackupItem,
- args: {
- preview: false,
- showCopyIdAction: false,
- showDebugInfo: false,
- restoreDisabled: undefined,
- },
} satisfies Meta
export default meta
type Story = StoryObj
-const creator: Archon.BackupsQueue.v1.UserInfo = {
- id: 'traben',
- username: 'Traben',
- avatar_url: 'https://cdn.modrinth.com/user/6Qo4A5QT/9d81be1a9fb1afd163b7f2f05a791955e7693c90.png',
-}
-
-const supportCreator: Archon.BackupsQueue.v1.UserInfo = {
- id: 'support',
- username: 'Support',
- avatar_url: null,
-}
-
function makeBackup(
overrides: Partial = {},
): Archon.BackupsQueue.v1.BackupQueueBackup {
@@ -44,81 +26,24 @@ function makeBackup(
}
}
-export const Default: Story = {
- name: 'Default (manual)',
+export const Manual: Story = {
args: {
backup: makeBackup({ name: 'Base finished!!' }),
- creator,
},
}
export const Automated: Story = {
- name: 'Automated',
args: {
- backup: makeBackup({ automated: true, name: 'Backup #2' }),
+ backup: makeBackup({ automated: true, name: 'Automatic backup' }),
},
}
-export const SupportCreated: Story = {
- name: 'Support created',
+export const LongName: Story = {
args: {
- backup: makeBackup({ name: 'Support recovery point' }),
- creator: supportCreator,
+ backup: makeBackup({
+ automated: true,
+ name: 'Before restoring "A very long backup name that should truncate nicely"',
+ }),
},
-}
-
-export const Preview: Story = {
- name: 'Preview (compact, used in delete modal)',
- args: {
- backup: makeBackup({ name: 'Base finished!!' }),
- preview: true,
- },
-}
-
-export const RestoreDisabled: Story = {
- name: 'Restore disabled (server running)',
- args: {
- backup: makeBackup({ name: 'Backup #5', automated: true }),
- restoreDisabled: 'Cannot restore backup while server is running',
- },
-}
-
-export const CommonStates: Story = {
- render: () => ({
- components: { BackupItem },
- setup() {
- const now = new Date(Date.now() - 1000 * 60 * 10).toISOString()
-
- function makeBackup(
- overrides: Partial,
- ): Archon.BackupsQueue.v1.BackupQueueBackup {
- return {
- id: 'backup-001',
- name: 'Backup #5',
- created_at: now,
- automated: false,
- status: 'done',
- locked: false,
- history: [],
- ...overrides,
- }
- }
-
- return {
- manual: makeBackup({ name: 'Base finished!!' }),
- support: makeBackup({ id: 'backup-support', name: 'Support recovery point' }),
- automated: makeBackup({ automated: true, name: 'Backup #2' }),
- creator,
- supportCreator,
- }
- },
- template: /* html */ `
-
-
-
-
-
-
- `,
- }),
+ decorators: [() => ({ template: '
' })],
}
diff --git a/packages/ui/src/stories/servers/ServerStatCard.stories.ts b/packages/ui/src/stories/servers/ServerStatCard.stories.ts
new file mode 100644
index 00000000000..a5acb954739
--- /dev/null
+++ b/packages/ui/src/stories/servers/ServerStatCard.stories.ts
@@ -0,0 +1,47 @@
+import { CalendarClockIcon, CpuIcon, DatabaseIcon } from '@modrinth/assets'
+import type { Meta, StoryObj } from '@storybook/vue3-vite'
+
+import ServerStatCard from '../../components/servers/ServerStatCard.vue'
+
+const meta = {
+ title: 'Servers/ServerStatCard',
+ component: ServerStatCard,
+ decorators: [() => ({ template: '
' })],
+} satisfies Meta
+
+export default meta
+type Story = StoryObj
+
+export const Default: Story = {
+ args: {
+ title: 'CPU',
+ icon: CpuIcon,
+ value: '12.50%',
+ },
+}
+
+export const WithSecondary: Story = {
+ args: {
+ title: 'Memory',
+ icon: DatabaseIcon,
+ value: '1.2 GiB',
+ secondary: '/ 4 GiB',
+ },
+}
+
+export const CustomContent: Story = {
+ args: {
+ title: 'Auto backups',
+ icon: CalendarClockIcon,
+ },
+ render: (args) => ({
+ components: { ServerStatCard },
+ setup: () => ({ args }),
+ template: `
+
+ 8/ 10 slots
+ Every 24h
+
+ `,
+ }),
+}