You've already forked AstralRinth
forked from didirus/AstralRinth
* feat: api-client module for content v0 * feat: delete unused components + modules + setting * feat: xhr uploading * feat: fs module -> api-client * feat: migrate files.vue to use tanstack * fix: mem leak + other issues * fix: build * feat: switch to monaco * fix: go back to using ace, but improve preloading + theme * fix: styling + dead attrs * feat: match figma * fix: padding * feat: files-new for ui page structure * feat: finalize files.vue * fix: lint * fix: qa * fix: dep * fix: lint * fix: lockfile merge * feat: icons on navtab * fix: surface alternating on table * fix: hover surface color --------- Signed-off-by: Calum H. <contact@cal.engineer> Co-authored-by: Prospector <6166773+Prospector@users.noreply.github.com>
42 lines
956 B
Vue
42 lines
956 B
Vue
<template>
|
|
<div class="flex h-full w-full items-center justify-center gap-6 p-20">
|
|
<FileIcon class="size-28" />
|
|
<div class="flex flex-col gap-2">
|
|
<h3 class="m-0 text-2xl font-bold text-red">{{ title }}</h3>
|
|
<p class="m-0 text-sm text-secondary">
|
|
{{ message }}
|
|
</p>
|
|
<div class="flex gap-2">
|
|
<ButtonStyled>
|
|
<button size="sm" @click="$emit('refetch')">
|
|
<LoadingIcon class="h-5 w-5" />
|
|
Try again
|
|
</button>
|
|
</ButtonStyled>
|
|
<ButtonStyled>
|
|
<button size="sm" @click="$emit('home')">
|
|
<HomeIcon class="h-5 w-5" />
|
|
Go to home folder
|
|
</button>
|
|
</ButtonStyled>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
|
|
<script setup lang="ts">
|
|
import { FileIcon, HomeIcon } from '@modrinth/assets'
|
|
import { ButtonStyled } from '@modrinth/ui'
|
|
|
|
import LoadingIcon from './icons/LoadingIcon.vue'
|
|
|
|
defineProps<{
|
|
title: string
|
|
message: string
|
|
}>()
|
|
|
|
defineEmits<{
|
|
(e: 'refetch' | 'home'): void
|
|
}>()
|
|
</script>
|