157157 />
158158 <ElementsButton
159159 @click =" bannerInput?.click()"
160- :disabled ="
161- uploading || user?.id != data.extension.author.id
162- "
160+ :disabled =" uploading"
163161 >
164162 <div class =" flex items-center gap-1.5" >
165163 <Icon name =" pixelarticons:upload" />
@@ -388,6 +386,7 @@ const bannerInput = useTemplateRef('bannerInput')
388386const descriptionToolbar = useTemplateRef (' descriptionToolbar' )
389387const imagesModal = useTemplateRef (' imagesModal' )
390388
389+ const basePath = ref (` /api/user/extensions/${route .params .id } ` )
391390const loading = ref (false )
392391const submitting = ref (false )
393392const uploading = ref (false )
@@ -421,6 +420,10 @@ const adminRejectForm = ref<{
421420 deny_reason: ' ' ,
422421})
423422
423+ if (user .value ?.admin ) {
424+ basePath .value = ` /api/user/admin/extensions/${route .params .id } `
425+ }
426+
424427const handleFieldValidation = (field : string , isValid : boolean ) => {
425428 fieldValidation .value [field ] = isValid
426429}
@@ -432,12 +435,10 @@ definePageMeta({
432435
433436onMounted (async () => {
434437 try {
435- data .value = await $fetch (
436- user .value ?.admin
437- ? ` /api/user/admin/extensions/${route .params .id } `
438- : ` /api/user/extensions/${route .params .id } ` ,
439- { method: ' GET' , server: false }
440- )
438+ data .value = await $fetch (` ${basePath .value } ` , {
439+ method: ' GET' ,
440+ server: false ,
441+ })
441442 } catch (error ) {
442443 console .error (error )
443444 }
@@ -466,15 +467,10 @@ const handleSave = async () => {
466467 loading .value = true
467468
468469 try {
469- await $fetch (
470- user .value ?.admin
471- ? ` /api/user/admin/extensions/${route .params .id } `
472- : ` /api/user/extensions/${route .params .id } ` ,
473- {
474- method: ' PATCH' ,
475- body: form .value ,
476- }
477- )
470+ await $fetch (` ${basePath .value } ` , {
471+ method: ' PATCH' ,
472+ body: form .value ,
473+ })
478474 } catch (error ) {
479475 console .error (error )
480476 errors .value = true
@@ -488,7 +484,7 @@ const handleSubmit = async () => {
488484 submitting .value = true
489485
490486 try {
491- await $fetch (` /api/user/extensions/${ route . params . id }/ready` , {
487+ await $fetch (` ${ basePath . value }/ready` , {
492488 method: ' POST' ,
493489 })
494490 if (data .value ) data .value .extension .status = ' ready'
@@ -507,12 +503,12 @@ const handleBannerUpload = async (event: Event) => {
507503 uploading .value = true
508504
509505 try {
510- await $fetch (` /api/user/extensions/${ route . params . id }/banner` , {
506+ await $fetch (` ${ basePath . value }/banner` , {
511507 method: ' POST' ,
512508 body: file ,
513509 })
514510 const newData = await $fetch <{ extension: FullExtension }>(
515- ` /api/user/extensions/${ route . params . id }` ,
511+ ` ${ basePath . value }` ,
516512 {
517513 method: ' GET' ,
518514 }
@@ -536,7 +532,7 @@ const handleAdminApprove = async () => {
536532 errors .value = false
537533
538534 try {
539- await $fetch (` /api/user/admin/extensions/${ route . params . id }/ready` , {
535+ await $fetch (` ${ basePath . value }/ready` , {
540536 method: ' POST' ,
541537 })
542538 if (data .value ) data .value .extension .status = ' approved'
@@ -551,7 +547,7 @@ const handleAdminReject = async () => {
551547 loading .value = true
552548
553549 try {
554- await $fetch (` /api/user/admin/extensions/${ route . params . id }/deny` , {
550+ await $fetch (` ${ basePath . value }/deny` , {
555551 method: ' POST' ,
556552 body: adminRejectForm .value ,
557553 })
0 commit comments