mirror of
https://github.com/modrinth/code.git
synced 2026-08-30 19:46:33 +00:00
* feat: implement access tab with dummy data * fix: spacing * feat: qa * feat: implement backend * qa: qa pass * feat: fix user "search" * fix: lint * feat: change to bitfield * feat: fix fields * fix: lint * fix: lint * feat: hook up api * feat: fix permissions * feat: audit log table event start * feat: better mobile mode for audit log table * feat: i18n * feat: qa * feat: enforce permissions * feat: email template start * feat: qa * fix: tooltip bug * feat: qa * impl: sse support in api-client * feat: sse impl * fix: desync path * feat: time frame picker from analytics * feat: QA * fix: spacing * fix: permisison audit log entries * fix: hosting manage page shared server detection * fix: lint * feat: qa + lint * feat: audit log table sort by time * feat: finish frontend panel stuff * fix: lint * fix: backend alignment * fix: lint * fix: supress friend errors * feat: qa * fix: qa * fix: lint * fix: utils barrel * fix: safari cookies in dev * fix: pin nuxt * feat: fixes + notif fix * fix: notifications * feat: qa * fix: notification sync not happening immediately * fix: qa * fix: qa * feat: qa * blog + prepr * feat: toast shit * blog images * thumbnail update one last time * prepr * feat: use reinvite route * update images * fix: reinvite stuff * fix: lint * fix: alignment of save bar * fix: notif sizing * fix: split up access * fix: lint * fix: lint * fix: link --------- Co-authored-by: Prospector <6166773+Prospector@users.noreply.github.com>
98 lines
2.5 KiB
TypeScript
98 lines
2.5 KiB
TypeScript
import type { Archon, UploadState } from '@modrinth/api-client'
|
|
import type { Meta, StoryObj } from '@storybook/vue3-vite'
|
|
import { computed, ref } from 'vue'
|
|
|
|
import EditServerIcon from '../../components/servers/edit-server-icon/EditServerIcon.vue'
|
|
import { provideModrinthServerContext } from '../../providers'
|
|
import type {
|
|
CancelUploadHandler,
|
|
ModrinthServerContext,
|
|
ServerStats,
|
|
} from '../../providers/server-context'
|
|
|
|
const meta = {
|
|
title: 'Servers/EditServerIcon',
|
|
component: EditServerIcon,
|
|
parameters: {
|
|
layout: 'padded',
|
|
},
|
|
decorators: [
|
|
(story) => ({
|
|
components: { story },
|
|
setup() {
|
|
const server = ref({
|
|
server_id: 'story-server-id',
|
|
upstream: null,
|
|
} as Archon.Servers.v0.Server)
|
|
|
|
const stats = ref<ServerStats>({
|
|
current: {
|
|
cpu_percent: 0,
|
|
ram_usage_bytes: 0,
|
|
ram_total_bytes: 1,
|
|
storage_usage_bytes: 0,
|
|
storage_total_bytes: 0,
|
|
},
|
|
past: {
|
|
cpu_percent: 0,
|
|
ram_usage_bytes: 0,
|
|
ram_total_bytes: 1,
|
|
storage_usage_bytes: 0,
|
|
storage_total_bytes: 0,
|
|
},
|
|
graph: {
|
|
cpu: [],
|
|
ram: [],
|
|
},
|
|
})
|
|
|
|
const uploadState = ref<UploadState>({
|
|
isUploading: false,
|
|
currentFileName: null,
|
|
currentFileProgress: 0,
|
|
uploadedBytes: 0,
|
|
totalBytes: 0,
|
|
completedFiles: 0,
|
|
totalFiles: 0,
|
|
})
|
|
|
|
const serverContext: ModrinthServerContext = {
|
|
get serverId() {
|
|
return 'story-server-id'
|
|
},
|
|
worldId: ref(null),
|
|
server,
|
|
serverFull: computed(() => null),
|
|
currentUserPermissions: computed(() => 0),
|
|
isConnected: ref(true),
|
|
isWsAuthIncorrect: ref(false),
|
|
powerState: ref('running'),
|
|
powerStateDetails: ref(undefined),
|
|
isServerRunning: computed(() => true),
|
|
stats,
|
|
uptimeSeconds: ref(0),
|
|
isSyncingContent: ref(false),
|
|
busyReasons: computed(() => []),
|
|
fsAuth: ref(null),
|
|
fsOps: ref<Archon.Websocket.v0.FilesystemOperation[]>([]),
|
|
fsQueuedOps: ref<Archon.Websocket.v0.QueuedFilesystemOp[]>([]),
|
|
refreshFsAuth: async () => {},
|
|
uploadState,
|
|
cancelUpload: ref<CancelUploadHandler | null>(null),
|
|
activeOperations: computed(() => []),
|
|
dismissOperation: async () => {},
|
|
}
|
|
|
|
provideModrinthServerContext(serverContext)
|
|
},
|
|
template: '<div style="max-width: 320px;"><story /></div>',
|
|
}),
|
|
],
|
|
} satisfies Meta<typeof EditServerIcon>
|
|
|
|
export default meta
|
|
|
|
type Story = StoryObj<typeof meta>
|
|
|
|
export const Default: Story = {}
|