feat: drag and drop skins to reorder

This commit is contained in:
Calum H. (IMB11)
2026-06-09 13:46:47 +01:00
parent 3258d7dbdf
commit 0f12b440c6
23 changed files with 700 additions and 194 deletions
+111 -108
View File
@@ -135,6 +135,7 @@ import _GitGraphIcon from './icons/git-graph.svg?component'
import _GlassesIcon from './icons/glasses.svg?component'
import _GlobeIcon from './icons/globe.svg?component'
import _GridIcon from './icons/grid.svg?component'
import _GripVerticalIcon from './icons/grip-vertical.svg?component'
import _HamburgerIcon from './icons/hamburger.svg?component'
import _HammerIcon from './icons/hammer.svg?component'
import _HandHelpingIcon from './icons/hand-helping.svg?component'
@@ -555,6 +556,7 @@ export const GitGraphIcon = _GitGraphIcon
export const GlassesIcon = _GlassesIcon
export const GlobeIcon = _GlobeIcon
export const GridIcon = _GridIcon
export const GripVerticalIcon = _GripVerticalIcon
export const HamburgerIcon = _HamburgerIcon
export const HammerIcon = _HammerIcon
export const HandHelpingIcon = _HandHelpingIcon
@@ -845,140 +847,141 @@ export const XCircleIcon = _XCircleIcon
export const ZoomInIcon = _ZoomInIcon
export const ZoomOutIcon = _ZoomOutIcon
export const categoryIconMap: Record<string, IconComponent> = {
adventure: TagCategoryAdventureIcon,
atmosphere: TagCategoryAtmosphereIcon,
audio: TagCategoryAudioIcon,
backpack: TagCategoryBackpackIcon,
badge: TagCategoryBadgeIcon,
'adventure': TagCategoryAdventureIcon,
'atmosphere': TagCategoryAtmosphereIcon,
'audio': TagCategoryAudioIcon,
'backpack': TagCategoryBackpackIcon,
'badge': TagCategoryBadgeIcon,
'badge-check': TagCategoryBadgeCheckIcon,
'bed-double': TagCategoryBedDoubleIcon,
blocks: TagCategoryBlocksIcon,
bloom: TagCategoryBloomIcon,
'blocks': TagCategoryBlocksIcon,
'bloom': TagCategoryBloomIcon,
'building-2': TagCategoryBuilding2Icon,
camera: TagCategoryCameraIcon,
cartoon: TagCategoryCartoonIcon,
castle: TagCategoryCastleIcon,
challenging: TagCategoryChallengingIcon,
clapperboard: TagCategoryClapperboardIcon,
cloud: TagCategoryCloudIcon,
'camera': TagCategoryCameraIcon,
'cartoon': TagCategoryCartoonIcon,
'castle': TagCategoryCastleIcon,
'challenging': TagCategoryChallengingIcon,
'clapperboard': TagCategoryClapperboardIcon,
'cloud': TagCategoryCloudIcon,
'colored-lighting': TagCategoryColoredLightingIcon,
combat: TagCategoryCombatIcon,
compass: TagCategoryCompassIcon,
'combat': TagCategoryCombatIcon,
'compass': TagCategoryCompassIcon,
'core-shaders': TagCategoryCoreShadersIcon,
crown: TagCategoryCrownIcon,
cursed: TagCategoryCursedIcon,
decoration: TagCategoryDecorationIcon,
dices: TagCategoryDicesIcon,
economy: TagCategoryEconomyIcon,
entities: TagCategoryEntitiesIcon,
environment: TagCategoryEnvironmentIcon,
equipment: TagCategoryEquipmentIcon,
fantasy: TagCategoryFantasyIcon,
film: TagCategoryFilmIcon,
flag: TagCategoryFlagIcon,
foliage: TagCategoryFoliageIcon,
fonts: TagCategoryFontsIcon,
food: TagCategoryFoodIcon,
footprints: TagCategoryFootprintsIcon,
'crown': TagCategoryCrownIcon,
'cursed': TagCategoryCursedIcon,
'decoration': TagCategoryDecorationIcon,
'dices': TagCategoryDicesIcon,
'economy': TagCategoryEconomyIcon,
'entities': TagCategoryEntitiesIcon,
'environment': TagCategoryEnvironmentIcon,
'equipment': TagCategoryEquipmentIcon,
'fantasy': TagCategoryFantasyIcon,
'film': TagCategoryFilmIcon,
'flag': TagCategoryFlagIcon,
'foliage': TagCategoryFoliageIcon,
'fonts': TagCategoryFontsIcon,
'food': TagCategoryFoodIcon,
'footprints': TagCategoryFootprintsIcon,
'game-mechanics': TagCategoryGameMechanicsIcon,
'gamepad-2': TagCategoryGamepad2Icon,
gauge: TagCategoryGaugeIcon,
globe: TagCategoryGlobeIcon,
'gauge': TagCategoryGaugeIcon,
'globe': TagCategoryGlobeIcon,
'grid-3x3': TagCategoryGrid3x3Icon,
gui: TagCategoryGuiIcon,
handshake: TagCategoryHandshakeIcon,
'gui': TagCategoryGuiIcon,
'handshake': TagCategoryHandshakeIcon,
'heart-crack': TagCategoryHeartCrackIcon,
'heart-pulse': TagCategoryHeartPulseIcon,
high: TagCategoryHighIcon,
house: TagCategoryHouseIcon,
items: TagCategoryItemsIcon,
'high': TagCategoryHighIcon,
'house': TagCategoryHouseIcon,
'items': TagCategoryItemsIcon,
'kitchen-sink': TagCategoryKitchenSinkIcon,
library: TagCategoryLibraryIcon,
lightweight: TagCategoryLightweightIcon,
locale: TagCategoryLocaleIcon,
lock: TagCategoryLockIcon,
low: TagCategoryLowIcon,
magic: TagCategoryMagicIcon,
management: TagCategoryManagementIcon,
'library': TagCategoryLibraryIcon,
'lightweight': TagCategoryLightweightIcon,
'locale': TagCategoryLocaleIcon,
'lock': TagCategoryLockIcon,
'low': TagCategoryLowIcon,
'magic': TagCategoryMagicIcon,
'management': TagCategoryManagementIcon,
'map-pinned': TagCategoryMapPinnedIcon,
medium: TagCategoryMediumIcon,
minigame: TagCategoryMinigameIcon,
mobs: TagCategoryMobsIcon,
modded: TagCategoryModdedIcon,
models: TagCategoryModelsIcon,
multiplayer: TagCategoryMultiplayerIcon,
network: TagCategoryNetworkIcon,
optimization: TagCategoryOptimizationIcon,
palette: TagCategoryPaletteIcon,
'medium': TagCategoryMediumIcon,
'minigame': TagCategoryMinigameIcon,
'mobs': TagCategoryMobsIcon,
'modded': TagCategoryModdedIcon,
'models': TagCategoryModelsIcon,
'multiplayer': TagCategoryMultiplayerIcon,
'network': TagCategoryNetworkIcon,
'optimization': TagCategoryOptimizationIcon,
'palette': TagCategoryPaletteIcon,
'path-tracing': TagCategoryPathTracingIcon,
'paw-print': TagCategoryPawPrintIcon,
pbr: TagCategoryPbrIcon,
pickaxe: TagCategoryPickaxeIcon,
potato: TagCategoryPotatoIcon,
quests: TagCategoryQuestsIcon,
realistic: TagCategoryRealisticIcon,
reflections: TagCategoryReflectionsIcon,
'pbr': TagCategoryPbrIcon,
'pickaxe': TagCategoryPickaxeIcon,
'potato': TagCategoryPotatoIcon,
'quests': TagCategoryQuestsIcon,
'realistic': TagCategoryRealisticIcon,
'reflections': TagCategoryReflectionsIcon,
'refresh-ccw': TagCategoryRefreshCcwIcon,
screenshot: TagCategoryScreenshotIcon,
'screenshot': TagCategoryScreenshotIcon,
'scroll-text': TagCategoryScrollTextIcon,
'semi-realistic': TagCategorySemiRealisticIcon,
shadows: TagCategoryShadowsIcon,
shield: TagCategoryShieldIcon,
simplistic: TagCategorySimplisticIcon,
skull: TagCategorySkullIcon,
social: TagCategorySocialIcon,
square: TagCategorySquareIcon,
storage: TagCategoryStorageIcon,
sword: TagCategorySwordIcon,
swords: TagCategorySwordsIcon,
target: TagCategoryTargetIcon,
technology: TagCategoryTechnologyIcon,
terminal: TagCategoryTerminalIcon,
theater: TagCategoryTheaterIcon,
themed: TagCategoryThemedIcon,
transportation: TagCategoryTransportationIcon,
'shadows': TagCategoryShadowsIcon,
'shield': TagCategoryShieldIcon,
'simplistic': TagCategorySimplisticIcon,
'skull': TagCategorySkullIcon,
'social': TagCategorySocialIcon,
'square': TagCategorySquareIcon,
'storage': TagCategoryStorageIcon,
'sword': TagCategorySwordIcon,
'swords': TagCategorySwordsIcon,
'target': TagCategoryTargetIcon,
'technology': TagCategoryTechnologyIcon,
'terminal': TagCategoryTerminalIcon,
'theater': TagCategoryTheaterIcon,
'themed': TagCategoryThemedIcon,
'transportation': TagCategoryTransportationIcon,
'tree-pine': TagCategoryTreePineIcon,
trophy: TagCategoryTrophyIcon,
tweaks: TagCategoryTweaksIcon,
users: TagCategoryUsersIcon,
utility: TagCategoryUtilityIcon,
'trophy': TagCategoryTrophyIcon,
'tweaks': TagCategoryTweaksIcon,
'users': TagCategoryUsersIcon,
'utility': TagCategoryUtilityIcon,
'vanilla-like': TagCategoryVanillaLikeIcon,
'wand-sparkles': TagCategoryWandSparklesIcon,
'wifi-off': TagCategoryWifiOffIcon,
worldgen: TagCategoryWorldgenIcon,
zap: TagCategoryZapIcon,
'worldgen': TagCategoryWorldgenIcon,
'zap': TagCategoryZapIcon,
}
export const loaderIconMap: Record<string, IconComponent> = {
babric: TagLoaderBabricIcon,
'babric': TagLoaderBabricIcon,
'bta-babric': TagLoaderBtaBabricIcon,
bukkit: TagLoaderBukkitIcon,
bungeecord: TagLoaderBungeecordIcon,
canvas: TagLoaderCanvasIcon,
datapack: TagLoaderDatapackIcon,
fabric: TagLoaderFabricIcon,
folia: TagLoaderFoliaIcon,
forge: TagLoaderForgeIcon,
geyser: TagLoaderGeyserIcon,
iris: TagLoaderIrisIcon,
'bukkit': TagLoaderBukkitIcon,
'bungeecord': TagLoaderBungeecordIcon,
'canvas': TagLoaderCanvasIcon,
'datapack': TagLoaderDatapackIcon,
'fabric': TagLoaderFabricIcon,
'folia': TagLoaderFoliaIcon,
'forge': TagLoaderForgeIcon,
'geyser': TagLoaderGeyserIcon,
'iris': TagLoaderIrisIcon,
'java-agent': TagLoaderJavaAgentIcon,
'legacy-fabric': TagLoaderLegacyFabricIcon,
liteloader: TagLoaderLiteloaderIcon,
minecraft: TagLoaderMinecraftIcon,
modloader: TagLoaderModloaderIcon,
mrpack: TagLoaderMrpackIcon,
neoforge: TagLoaderNeoforgeIcon,
nilloader: TagLoaderNilloaderIcon,
optifine: TagLoaderOptifineIcon,
ornithe: TagLoaderOrnitheIcon,
paper: TagLoaderPaperIcon,
purpur: TagLoaderPurpurIcon,
quilt: TagLoaderQuiltIcon,
rift: TagLoaderRiftIcon,
spigot: TagLoaderSpigotIcon,
sponge: TagLoaderSpongeIcon,
vanilla: TagLoaderVanillaIcon,
velocity: TagLoaderVelocityIcon,
waterfall: TagLoaderWaterfallIcon,
'liteloader': TagLoaderLiteloaderIcon,
'minecraft': TagLoaderMinecraftIcon,
'modloader': TagLoaderModloaderIcon,
'mrpack': TagLoaderMrpackIcon,
'neoforge': TagLoaderNeoforgeIcon,
'nilloader': TagLoaderNilloaderIcon,
'optifine': TagLoaderOptifineIcon,
'ornithe': TagLoaderOrnitheIcon,
'paper': TagLoaderPaperIcon,
'purpur': TagLoaderPurpurIcon,
'quilt': TagLoaderQuiltIcon,
'rift': TagLoaderRiftIcon,
'spigot': TagLoaderSpigotIcon,
'sponge': TagLoaderSpongeIcon,
'vanilla': TagLoaderVanillaIcon,
'velocity': TagLoaderVelocityIcon,
'waterfall': TagLoaderWaterfallIcon,
}
+20
View File
@@ -0,0 +1,20 @@
<!-- @license lucide-static v0.562.0 - ISC -->
<svg
class="lucide lucide-grip-vertical"
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<circle cx="9" cy="12" r="1" />
<circle cx="9" cy="5" r="1" />
<circle cx="9" cy="19" r="1" />
<circle cx="15" cy="12" r="1" />
<circle cx="15" cy="5" r="1" />
<circle cx="15" cy="19" r="1" />
</svg>

After

Width:  |  Height:  |  Size: 498 B