From 5b5db0f8f542dd9b1561c327435383b3531eb1fd Mon Sep 17 00:00:00 2001 From: unknown Date: Sun, 6 Sep 2026 12:59:30 +0800 Subject: [PATCH] feat(admin): back the SPA icon picker with the server catalog FaIconPicker drops its duplicated hard-coded FA subset and loads GET /aksrt/v1/icons/catalog: full solid/regular/brands sets, the built-in zibsvg sprite tab and an inline custom SVG tab. Props/emit surface is unchanged; the system-notice title icon schema drift (input vs icon) is fixed on the JS side. --- assets/admin/src/api/modules/icons.js | 8 + assets/admin/src/api/modules/index.js | 2 + .../src/components/form/FaIconPicker.vue | 233 +++++++++++------- .../schema/sections/global/system-notice.js | 2 +- assets/admin/src/utils/icons.js | 62 +++++ 5 files changed, 211 insertions(+), 96 deletions(-) create mode 100644 assets/admin/src/api/modules/icons.js create mode 100644 assets/admin/src/utils/icons.js diff --git a/assets/admin/src/api/modules/icons.js b/assets/admin/src/api/modules/icons.js new file mode 100644 index 00000000..2111f7a6 --- /dev/null +++ b/assets/admin/src/api/modules/icons.js @@ -0,0 +1,8 @@ +/** + * Icon catalog API — serves the universal icon picker (FA5 + sprite + custom). + */ +export const iconsApiMethods = { + getIconCatalog() { + return this.request('/icons/catalog') + }, +} diff --git a/assets/admin/src/api/modules/index.js b/assets/admin/src/api/modules/index.js index 0c07bee0..9aeb8de0 100644 --- a/assets/admin/src/api/modules/index.js +++ b/assets/admin/src/api/modules/index.js @@ -6,6 +6,7 @@ import { paymentApiMethods } from './payment.js' import { extensionsApiMethods } from './extensions.js' import { toolsApiMethods } from './tools.js' import { schemaApiMethods } from './schema.js' +import { iconsApiMethods } from './icons.js' export const apiMethods = { ...globalApiMethods, @@ -16,4 +17,5 @@ export const apiMethods = { ...extensionsApiMethods, ...toolsApiMethods, ...schemaApiMethods, + ...iconsApiMethods, } diff --git a/assets/admin/src/components/form/FaIconPicker.vue b/assets/admin/src/components/form/FaIconPicker.vue index 1a45f5c5..436d01ff 100644 --- a/assets/admin/src/components/form/FaIconPicker.vue +++ b/assets/admin/src/components/form/FaIconPicker.vue @@ -1,6 +1,6 @@