diff --git a/components/creator/stickers/DataTable.vue b/components/creator/stickers/DataTable.vue
index ea8706d..44822a6 100644
--- a/components/creator/stickers/DataTable.vue
+++ b/components/creator/stickers/DataTable.vue
@@ -19,26 +19,32 @@
{{ item.id }} |
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+ {{ item.attachment.rid }}
+
+
|
{{ item.name }} |
{{ props.packPrefix + item.alias }} |
@@ -49,7 +55,47 @@
size="x-small"
color="warning"
icon="mdi-pencil"
+ class="ms-[-8px]"
+ :to="`/creator/stickers/${item.pack_id}/${item.id}/edit`"
/>
+
+
+
+
+
+
+
+
+
+ This action will delete this sticker, all content used it will no longer show your sticker.
+ But the attachment will still exists.
+
+
+
+
+
+
+
+ { deleteSticker(item); isActive.value = false }"
+ />
+
+
+
+
@@ -107,4 +153,30 @@ async function readStickers({ page, itemsPerPage }: { page?: number; itemsPerPag
}
onMounted(() => readStickers({}))
+
+const submitting = ref(false)
+
+async function deleteSticker(item: any) {
+ submitting.value = true
+
+ const res = await solarFetch(`/cgi/uc/stickers/${item.id}`, {
+ method: "DELETE",
+ })
+ if (res.status !== 200) {
+ error.value = await res.text()
+ } else {
+ await readStickers({})
+ }
+
+ submitting.value = false
+}
+
+
diff --git a/pages/creator/stickers/[id]/[sticker]/edit.vue b/pages/creator/stickers/[id]/[sticker]/edit.vue
new file mode 100644
index 0000000..1c52811
--- /dev/null
+++ b/pages/creator/stickers/[id]/[sticker]/edit.vue
@@ -0,0 +1,178 @@
+
+
+
+
+
Edit sticker: {{ data?.name ?? "Loading" }}
+
+
+
+
+
+
+
+
+
+ {{ t("errorOccurred", [error]) }}
+
+
+
+
+
+
+
+
+ {{ pack?.name ?? "Loading..." }}
+ {{ pack?.description ?? "Please stand by..." }}
+
+
+
+
+
+
+
+
+
+ {{ pack?.prefix }}
+
+
+
+
+
+
+
+ The texture / image of this sticker, you can upload one from
+ here
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/creator/stickers/edit/[id].vue b/pages/creator/stickers/[id]/edit.vue
similarity index 100%
rename from pages/creator/stickers/edit/[id].vue
rename to pages/creator/stickers/[id]/edit.vue
diff --git a/pages/creator/stickers/[id]/new.vue b/pages/creator/stickers/[id]/new.vue
new file mode 100644
index 0000000..6971fc8
--- /dev/null
+++ b/pages/creator/stickers/[id]/new.vue
@@ -0,0 +1,158 @@
+
+
+
+
+
Create a new sticker
+
+
+
+
+
+
+
+
+
+ {{ t("errorOccurred", [error]) }}
+
+
+
+
+
+
+
+
+ {{ data?.name ?? "Loading..." }}
+ {{ data?.description ?? "Please stand by..." }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The texture / image of this sticker, you can upload one from
+ here
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/creator/stickers/index.vue b/pages/creator/stickers/index.vue
index 147ef5e..1df9dc9 100644
--- a/pages/creator/stickers/index.vue
+++ b/pages/creator/stickers/index.vue
@@ -51,12 +51,19 @@
Actions
+
diff --git a/pages/dev/bots/index.vue b/pages/dev/bots/index.vue
index 9e7fc87..3b72bd8 100644
--- a/pages/dev/bots/index.vue
+++ b/pages/dev/bots/index.vue
@@ -45,6 +45,7 @@
size="x-small"
color="info"
icon="mdi-key"
+ class="ms-[-8px]"
/>
diff --git a/pages/gallery/new.vue b/pages/gallery/new.vue
index 9f816e5..5d74cc4 100644
--- a/pages/gallery/new.vue
+++ b/pages/gallery/new.vue
@@ -10,7 +10,7 @@
{
+ if (route.query.pool) {
+ pool.value = atob(decodeURIComponent(route.query.pool.toString()))
+ if (pool.value == "dedicated") {
+ pool.value = poolOptions[0].value
+ }
+ }
+})
const poolOptions = [
{ label: "Interactive", description: "Public indexable, no lifecycle.", value: "interactive" },
{ label: "Messaging", description: "Has lifecycle, will delete after 14 days.", value: "messaging" },
+ { label: "Sticker", description: "Public indexable, privilege required.", value: "sticker", disabled: true },
{ label: "Dedicated Pool", description: "Your own configuration, coming soon.", value: "dedicated", disabled: true },
]