From 2909deab1d0a4ffeb5a34ac9f1bac6ff56b493f0 Mon Sep 17 00:00:00 2001 From: tdgao Date: Tue, 9 Jun 2026 17:35:33 -0700 Subject: [PATCH 1/3] feat: implement drag to reorder skins --- apps/app-frontend/package.json | 3 +- .../ui/skin/VirtualSkinSectionList.vue | 198 +++++++++++++----- apps/app-frontend/src/helpers/skins.ts | 6 + apps/app-frontend/src/pages/Skins.vue | 52 ++++- apps/app/build.rs | 1 + apps/app/src/api/minecraft_skins.rs | 9 + ...c5a396443ead9a9e295f6eea0986e40d65449.json | 20 ++ ...1055fe47287d7f99be41215c25c1019d439b9.json | 12 -- ...36d84eaefe6049e0455b4609ba5f95258aad1.json | 12 ++ ...e2cbc2e701584d8b3394a1aa686e3ff4d47f5.json | 20 ++ ...bd5b728ba93d9e3bb6f3db57ac1c83574d508.json | 12 ++ ...205d5d9fd63e23994c8c48f0721b49a79594.json} | 4 +- .../20260609120000_saved-skin-order.sql | 5 + packages/app-lib/src/api/minecraft_skins.rs | 50 ++++- .../app-lib/src/state/minecraft_skins/mod.rs | 58 ++++- packages/assets/generated-icons.ts | 6 +- packages/assets/icons/move.svg | 20 ++ pnpm-lock.yaml | 18 ++ 18 files changed, 434 insertions(+), 72 deletions(-) create mode 100644 packages/app-lib/.sqlx/query-18f04a0f6c262995b5f1eee10c2c5a396443ead9a9e295f6eea0986e40d65449.json delete mode 100644 packages/app-lib/.sqlx/query-4c8063f9ce2fd7deec9b69e0b2c1055fe47287d7f99be41215c25c1019d439b9.json create mode 100644 packages/app-lib/.sqlx/query-766c24900e5b90577a8a3a4e97636d84eaefe6049e0455b4609ba5f95258aad1.json create mode 100644 packages/app-lib/.sqlx/query-bab7f687a8397975747cfe194a0e2cbc2e701584d8b3394a1aa686e3ff4d47f5.json create mode 100644 packages/app-lib/.sqlx/query-d68c41fb2cb182aa8fc23422c55bd5b728ba93d9e3bb6f3db57ac1c83574d508.json rename packages/app-lib/.sqlx/{query-aae88809ada53e13441352e315f68169cfd8226b57bacd8c270d7777fc6883ac.json => query-e00fdeb5d19f4d836dd62d8ef400205d5d9fd63e23994c8c48f0721b49a79594.json} (78%) create mode 100644 packages/app-lib/migrations/20260609120000_saved-skin-order.sql create mode 100644 packages/assets/icons/move.svg diff --git a/apps/app-frontend/package.json b/apps/app-frontend/package.json index 9df74bb686..18ff367db0 100644 --- a/apps/app-frontend/package.json +++ b/apps/app-frontend/package.json @@ -44,7 +44,8 @@ "vue": "^3.5.13", "vue-i18n": "^10.0.0", "vue-router": "^4.6.0", - "vue-virtual-scroller": "v2.0.0-beta.8" + "vue-virtual-scroller": "v2.0.0-beta.8", + "vuedraggable": "^4.1.0" }, "devDependencies": { "@eslint/compat": "^1.1.1", diff --git a/apps/app-frontend/src/components/ui/skin/VirtualSkinSectionList.vue b/apps/app-frontend/src/components/ui/skin/VirtualSkinSectionList.vue index 958f491d28..450884db4a 100644 --- a/apps/app-frontend/src/components/ui/skin/VirtualSkinSectionList.vue +++ b/apps/app-frontend/src/components/ui/skin/VirtualSkinSectionList.vue @@ -1,5 +1,12 @@