feat: user page & $dropFetch util

This commit is contained in:
DecDuck
2025-03-14 12:22:08 +11:00
parent 3225f536ce
commit bd1cb67cd0
39 changed files with 416 additions and 166 deletions

View File

@ -165,7 +165,7 @@
'relative cursor-default select-none py-2 pl-3 pr-9',
active
? 'bg-blue-600 text-white outline-none'
: 'text-gray-900',
: 'text-zinc-100',
]"
>
<span
@ -321,7 +321,7 @@
'relative cursor-default select-none py-2 pl-3 pr-9',
active
? 'bg-blue-600 text-white outline-none'
: 'text-gray-900',
: 'text-zinc-100',
]"
>
<span
@ -553,7 +553,7 @@ const router = useRouter();
const route = useRoute();
const headers = useRequestHeaders(["cookie"]);
const gameId = route.params.id.toString();
const versions = await $fetch(
const versions = await $dropFetch(
`/api/v1/admin/import/version?id=${encodeURIComponent(gameId)}`,
{
headers,
@ -561,7 +561,7 @@ const versions = await $fetch(
);
const currentlySelectedVersion = ref(-1);
const versionSettings = ref<{
platform: string;
platform: PlatformClient | undefined;
onlySetup: boolean;
launch: string;
@ -572,7 +572,7 @@ const versionSettings = ref<{
delta: boolean;
umuId: string;
}>({
platform: "",
platform: undefined,
launch: "",
launchArgs: "",
setup: "",
@ -582,7 +582,8 @@ const versionSettings = ref<{
umuId: "",
});
const versionGuesses = ref<Array<{ platform: string; filename: string }>>();
const versionGuesses =
ref<Array<{ platform: PlatformClient; filename: string }>>();
const launchProcessQuery = ref("");
const setupProcessQuery = ref("");
@ -637,17 +638,20 @@ async function updateCurrentlySelectedVersion(value: number) {
if (currentlySelectedVersion.value == value) return;
currentlySelectedVersion.value = value;
const version = versions[currentlySelectedVersion.value];
const results = await $fetch(
const results = await $dropFetch(
`/api/v1/admin/import/version/preload?id=${encodeURIComponent(
gameId
)}&version=${encodeURIComponent(version)}`
);
versionGuesses.value = results;
versionGuesses.value = results.map((e) => ({
...e,
platform: e.platform as PlatformClient,
}));
}
async function startImport() {
if (!versionSettings.value) return;
const taskId = await $fetch("/api/v1/admin/import/version", {
const taskId = await $dropFetch("/api/v1/admin/import/version", {
method: "POST",
body: {
id: gameId,

View File

@ -530,7 +530,7 @@ const mobileShowFinalDescription = ref(true);
const route = useRoute();
const gameId = route.params.id.toString();
const headers = useRequestHeaders(["cookie"]);
const { game: rawGame, unimportedVersions } = await $fetch(
const { game: rawGame, unimportedVersions } = await $dropFetch(
`/api/v1/admin/game?id=${encodeURIComponent(gameId)}`,
{
headers,
@ -579,7 +579,7 @@ async function coreMetadataUpdate() {
formData.append("name", coreMetadataName.value);
formData.append("description", coreMetadataDescription.value);
const result = await $fetch(`/api/v1/admin/game/metadata`, {
const result = await $dropFetch(`/api/v1/admin/game/metadata`, {
method: "POST",
body: formData,
});
@ -630,7 +630,7 @@ watch(descriptionHTML, (v) => {
savingTimeout = setTimeout(async () => {
try {
descriptionSaving.value = 2;
await $fetch("/api/v1/admin/game", {
await $dropFetch("/api/v1/admin/game", {
method: "PATCH",
body: {
id: gameId,
@ -672,7 +672,7 @@ function insertImageAtCursor(id: string) {
async function updateBannerImage(id: string) {
try {
if (game.value.mBannerId == id) return;
const { mBannerId } = await $fetch("/api/v1/admin/game", {
const { mBannerId } = await $dropFetch("/api/v1/admin/game", {
method: "PATCH",
body: {
id: gameId,
@ -698,7 +698,7 @@ async function updateBannerImage(id: string) {
async function updateCoverImage(id: string) {
try {
if (game.value.mCoverId == id) return;
const { mCoverId } = await $fetch("/api/v1/admin/game", {
const { mCoverId } = await $dropFetch("/api/v1/admin/game", {
method: "PATCH",
body: {
id: gameId,
@ -723,7 +723,7 @@ async function updateCoverImage(id: string) {
async function deleteImage(id: string) {
try {
const { mBannerId, mImageLibrary } = await $fetch(
const { mBannerId, mImageLibrary } = await $dropFetch(
"/api/v1/admin/game/image",
{
method: "DELETE",
@ -757,7 +757,7 @@ async function uploadAfterImageUpload(result: Game) {
async function deleteVersion(versionName: string) {
try {
await $fetch("/api/v1/admin/game/version", {
await $dropFetch("/api/v1/admin/game/version", {
method: "DELETE",
body: {
id: gameId,
@ -785,7 +785,7 @@ async function deleteVersion(versionName: string) {
async function updateVersionOrder() {
try {
const newVersions = await $fetch("/api/v1/admin/game/version", {
const newVersions = await $dropFetch("/api/v1/admin/game/version", {
method: "PATCH",
body: {
id: gameId,
@ -822,7 +822,7 @@ function removeImageFromCarousel(id: string) {
async function updateImageCarousel() {
try {
await $fetch("/api/v1/admin/game", {
await $dropFetch("/api/v1/admin/game", {
method: "PATCH",
body: {
id: gameId,