diff --git a/.prettierignore b/.prettierignore index 5a5b9f53..952fdb18 100644 --- a/.prettierignore +++ b/.prettierignore @@ -3,7 +3,6 @@ node_modules .umi-production public/static/*.js public/static/*.css -src/components/icon-font/iconfont/iconfont.js -src/components/icon-font/iconfont/*.css +src/components/iconfont/ diff --git a/.stylelintrc.js b/.stylelintrc.js index 472edcce..fcb60728 100644 --- a/.stylelintrc.js +++ b/.stylelintrc.js @@ -3,5 +3,5 @@ module.exports = { rules: { 'selector-class-pattern': null }, - ignoreFiles: ['public/static/*.css'] + ignoreFiles: ['public/static/*.css', 'src/components/iconfont/iconfont.css'] }; diff --git a/eslint.config.js b/eslint.config.js index 4171cf52..425a20e1 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -14,7 +14,8 @@ export default defineConfig([ 'dist', 'src/.umi/', 'src/.umi-production/', - 'src/.umi-test/' + 'src/.umi-test/', + 'src/components/iconfont/' ]), { files: ['**/*.{ts,tsx,js,jsx}'], diff --git a/src/components/iconfont/iconfont.css b/src/components/iconfont/iconfont.css new file mode 100644 index 00000000..7beb996f --- /dev/null +++ b/src/components/iconfont/iconfont.css @@ -0,0 +1,1111 @@ +@font-face { + font-family: "iconfont"; /* Project id 4613488 */ + src: url('iconfont.woff2?t=1780035199453') format('woff2'), + url('iconfont.woff?t=1780035199453') format('woff'), + url('iconfont.ttf?t=1780035199453') format('truetype'); +} + +.iconfont { + font-family: "iconfont" !important; + font-size: 16px; + font-style: normal; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.icon-database-outlined:before { + content: "\e70a"; +} + +.icon-database-filled:before { + content: "\e70b"; +} + +.icon-arrow-out:before { + content: "\e709"; +} + +.icon-linked:before { + content: "\e708"; +} + +.icon-person02:before { + content: "\e706"; +} + +.icon-self:before { + content: "\e707"; +} + +.icon-pytorch-logo:before { + content: "\e704"; +} + +.icon-pytorch-logo1:before { + content: "\e705"; +} + +.icon-company:before { + content: "\e703"; +} + +.icon-yin:before { + content: "\e61f"; +} + +.icon-Cloudy:before { + content: "\eded"; +} + +.icon-license-outlined:before { + content: "\e701"; +} + +.icon-license-filled:before { + content: "\e702"; +} + +.icon-connection:before { + content: "\e700"; +} + +.icon-copy-02:before { + content: "\e6fd"; +} + +.icon-cloud-copy:before { + content: "\e6fe"; +} + +.icon-copy-file:before { + content: "\e6ff"; +} + +.icon-login:before { + content: "\e6fc"; +} + +.icon-check-large:before { + content: "\e6fa"; +} + +.icon-check-small:before { + content: "\e6fb"; +} + +.icon-person-group-filled:before { + content: "\e6f6"; +} + +.icon-person-group-outlined:before { + content: "\e6f7"; +} + +.icon-person-outlined:before { + content: "\e6f8"; +} + +.icon-person-filled:before { + content: "\e6f9"; +} + +.icon-sliced:before { + content: "\e6f5"; +} + +.icon-ram-02:before { + content: "\e6f4"; +} + +.icon-cpu:before { + content: "\e6f3"; +} + +.icon-org-outlined:before { + content: "\e6f1"; +} + +.icon-org-filled:before { + content: "\e6f2"; +} + +.icon-ssh-outlined:before { + content: "\e6ef"; +} + +.icon-ssh-filled:before { + content: "\e6f0"; +} + +.icon-cloud-outlined:before { + content: "\e6ed"; +} + +.icon-cloud-filled:before { + content: "\e6ee"; +} + +.icon-safe-ip:before { + content: "\e6eb"; +} + +.icon-instance-template-filled:before { + content: "\e6ea"; +} + +.icon-instances-filled:before { + content: "\e6e5"; +} + +.icon-instances-outlined:before { + content: "\e6e6"; +} + +.icon-instance-template-outlined:before { + content: "\e6e7"; +} + +.icon-storage-outlined:before { + content: "\e6e8"; +} + +.icon-storage-filled:before { + content: "\e6e9"; +} + +.icon-chart-01:before { + content: "\e6e3"; +} + +.icon-table:before { + content: "\e6e4"; +} + +.icon-usage-outlined:before { + content: "\e6e1"; +} + +.icon-usage-filled:before { + content: "\e6e2"; +} + +.icon-preferences:before { + content: "\e6e0"; +} + +.icon-filter-list:before { + content: "\e6df"; +} + +.icon-upgrade:before { + content: "\e6dd"; +} + +.icon-instance-outline:before { + content: "\e6db"; +} + +.icon-instance-filled:before { + content: "\e6dc"; +} + +.icon-grafana:before { + content: "\e61e"; +} + +.icon-chart:before { + content: "\e6da"; +} + +.icon-monitor-02:before { + content: "\e6d9"; +} + +.icon-monitor:before { + content: "\e6d8"; +} + +.icon-metrics:before { + content: "\e6d6"; +} + +.icon-export:before { + content: "\e6d7"; +} + +.icon-license:before { + content: "\e6d5"; +} + +.icon-community:before { + content: "\e6d3"; +} + +.icon-person:before { + content: "\e6d4"; +} + +.icon-public:before { + content: "\e6d2"; +} + +.icon-charger:before { + content: "\e6d0"; +} + +.icon-disabled:before { + content: "\e6d1"; +} + +.icon-source:before { + content: "\e6cf"; +} + +.icon-Serviceprovider:before { + content: "\e630"; +} + +.icon-database:before { + content: "\e6ce"; +} + +.icon-filters:before { + content: "\e6cc"; +} + +.icon-speed-filled:before { + content: "\e6cb"; +} + +.icon-shield:before { + content: "\e6c9"; +} + +.icon-shield-filled:before { + content: "\e6ca"; +} + +.icon-openai:before { + content: "\e61d"; +} + +.icon-anthropic:before { + content: "\e74d"; +} + +.icon-doubao:before { + content: "\e618"; +} + +.icon-qwen:before { + content: "\e8b2"; +} + +.icon-deepseek:before { + content: "\e61c"; +} + +.icon-extension-outline:before { + content: "\e6c7"; +} + +.icon-extension-filled:before { + content: "\e6c8"; +} + +.icon-thead:before { + content: "\e617"; +} + +.icon-video-filled02:before { + content: "\e6c5"; +} + +.icon-video-outline:before { + content: "\e6c6"; +} + +.icon-video:before { + content: "\e6c3"; +} + +.icon-video-filled:before { + content: "\e6c4"; +} + +.icon-refresh:before { + content: "\e6c2"; +} + +.icon-settings-02:before { + content: "\e6bf"; +} + +.icon-arrow_forward:before { + content: "\e6c0"; +} + +.icon-logout:before { + content: "\e6c1"; +} + +.icon-amd-logo:before { + content: "\e6be"; +} + +.icon-cloud:before { + content: "\e6bc"; +} + +.icon-server02:before { + content: "\e6bd"; +} + +.icon-drag_handle:before { + content: "\e6b9"; +} + +.icon-basic:before { + content: "\e6bb"; +} + +.icon-settings:before { + content: "\e6b8"; +} + +.icon-speed:before { + content: "\e6ba"; +} + +.icon-permission:before { + content: "\e6b6"; +} + +.icon-captive_portal:before { + content: "\e6b7"; +} + +.icon-lock_open_right:before { + content: "\e6b3"; +} + +.icon-lock_person:before { + content: "\e6b4"; +} + +.icon-lock_open:before { + content: "\e6b5"; +} + +.icon-question:before { + content: "\e6b2"; +} + +.icon-aws:before { + content: "\e616"; +} + +.icon-aws1:before { + content: "\e62f"; +} + +.icon-manage_user:before { + content: "\e6b1"; +} + +.icon-private:before { + content: "\e6b0"; +} + +.icon-stop3:before { + content: "\e6af"; +} + +.icon-version:before { + content: "\e6ae"; +} + +.icon-edit-content:before { + content: "\e6ab"; +} + +.icon-code_block:before { + content: "\e6ac"; +} + +.icon-parameters:before { + content: "\e6ad"; +} + +.icon-backend-filled:before { + content: "\e6a9"; +} + +.icon-backend:before { + content: "\e6aa"; +} + +.icon-down2:before { + content: "\e6a7"; +} + +.icon-nvidia2:before { + content: "\e60d"; +} + +.icon-centos:before { + content: "\e6cd"; +} + +.icon-redhat:before { + content: "\ec7b"; +} + +.icon-ubuntu:before { + content: "\edd3"; +} + +.icon-debian:before { + content: "\eb74"; +} + +.icon-alma-linux:before { + content: "\e6a8"; +} + +.icon-fedora:before { + content: "\e61a"; +} + +.icon-rocky-linux:before { + content: "\e620"; +} + +.icon-nvidia1:before { + content: "\e980"; +} + +.icon-nvidia:before { + content: "\e60c"; +} + +.icon-amd:before { + content: "\e6a6"; +} + +.icon-huawei:before { + content: "\e615"; +} + +.icon-metax:before { + content: "\e6a4"; +} + +.icon-ascend:before { + content: "\e6a3"; +} + +.icon-huaweicloud:before { + content: "\e614"; +} + +.icon-alicloud:before { + content: "\e784"; +} + +.icon-tencentcloud:before { + content: "\e609"; +} + +.icon-cluster2-outline:before { + content: "\e6a1"; +} + +.icon-cluster2-filled:before { + content: "\e6a2"; +} + +.icon-cluster-filled:before { + content: "\e69f"; +} + +.icon-cluster-outline:before { + content: "\e6a0"; +} + +.icon-admin-user:before { + content: "\e69d"; +} + +.icon-user:before { + content: "\e69e"; +} + +.icon-detail-info:before { + content: "\e69b"; +} + +.icon-docker:before { + content: "\e69c"; +} + +.icon-digitalocean:before { + content: "\eb79"; +} + +.icon-rocket-launch1:before { + content: "\e699"; +} + +.icon-rocket-launch-fill:before { + content: "\e69a"; +} + +.icon-credential-filled:before { + content: "\e697"; +} + +.icon-credential-outline:before { + content: "\e698"; +} + +.icon-k8s-filled:before { + content: "\e63e"; +} + +.icon-k8s-outline:before { + content: "\e64b"; +} + +.icon-huggingface1:before { + content: "\e605"; +} + +.icon-modelscope_light:before { + content: "\e696"; +} + +.icon-catalog1:before { + content: "\e691"; +} + +.icon-chat-filled:before { + content: "\e692"; +} + +.icon-chat:before { + content: "\e693"; +} + +.icon-files-filled:before { + content: "\e694"; +} + +.icon-files:before { + content: "\e695"; +} + +.icon-models-filled:before { + content: "\e682"; +} + +.icon-image-filled:before { + content: "\e683"; +} + +.icon-audio1:before { + content: "\e684"; +} + +.icon-image1:before { + content: "\e685"; +} + +.icon-audio-filled:before { + content: "\e686"; +} + +.icon-reranker-filled:before { + content: "\e687"; +} + +.icon-embedding-filled:before { + content: "\e68a"; +} + +.icon-models:before { + content: "\e68b"; +} + +.icon-reranker:before { + content: "\e68c"; +} + +.icon-embedding:before { + content: "\e68d"; +} + +.icon-gpu-filled:before { + content: "\e68e"; +} + +.icon-catalog-filled:before { + content: "\e68f"; +} + +.icon-gpu1:before { + content: "\e690"; +} + +.icon-language:before { + content: "\e679"; +} + +.icon-help:before { + content: "\e67a"; +} + +.icon-key-filled:before { + content: "\e67b"; +} + +.icon-key:before { + content: "\e67d"; +} + +.icon-resources:before { + content: "\e67e"; +} + +.icon-users:before { + content: "\e67f"; +} + +.icon-resources-filled:before { + content: "\e680"; +} + +.icon-users-filled:before { + content: "\e681"; +} + +.icon-model:before { + content: "\e676"; +} + +.icon-model-filled:before { + content: "\e678"; +} + +.icon-layers-filled:before { + content: "\e671"; +} + +.icon-layers:before { + content: "\e673"; +} + +.icon-experiment:before { + content: "\e674"; +} + +.icon-experiment-filled:before { + content: "\e675"; +} + +.icon-dashboard:before { + content: "\e66d"; +} + +.icon-dashboard-filled:before { + content: "\e66e"; +} + +.icon-expand-left:before { + content: "\ea48"; +} + +.icon-expand-right:before { + content: "\ea49"; +} + +.icon-users-fill:before { + content: "\e677"; +} + +.icon-layers-fill:before { + content: "\e89d"; +} + +.icon-key-fill:before { + content: "\e80e"; +} + +.icon-server-fill:before { + content: "\e7a3"; +} + +.icon-model-fill:before { + content: "\e7b7"; +} + +.icon-left_panel_close:before { + content: "\e668"; +} + +.icon-left_panel_open:before { + content: "\e669"; +} + +.icon-playcircle-fill:before { + content: "\e665"; +} + +.icon-stopcircle-fill:before { + content: "\e666"; +} + +.icon-play-speed:before { + content: "\e856"; +} + +.icon-more:before { + content: "\e62e"; +} + +.icon-play:before { + content: "\e9f9"; +} + +.icon-pause:before { + content: "\e713"; +} + +.icon-dark_theme:before { + content: "\e646"; +} + +.icon-theme-auto-1:before { + content: "\e660"; +} + +.icon-theme-auto:before { + content: "\e663"; +} + +.icon-auto-theme-1:before { + content: "\e664"; +} + +.icon-auto-theme:before { + content: "\e662"; +} + +.icon-cols_3:before { + content: "\e65c"; +} + +.icon-cols_6:before { + content: "\e65d"; +} + +.icon-cols_2:before { + content: "\e65e"; +} + +.icon-cols_4:before { + content: "\e65f"; +} + +.icon-a-save1:before { + content: "\e65b"; +} + +.icon-uncollapse_all:before { + content: "\e657"; +} + +.icon-collapse:before { + content: "\e656"; +} + +.icon-rocket-launch:before { + content: "\e689"; +} + +.icon-user-filled:before { + content: "\e625"; +} + +.icon-assistant:before { + content: "\e62d"; +} + +.icon-assistant-filled:before { + content: "\e847"; +} + +.icon-save3:before { + content: "\e655"; +} + +.icon-fankuifaqs:before { + content: "\e7bf"; +} + +.icon-issues:before { + content: "\e816"; +} + +.icon-neicun:before { + content: "\e688"; +} + +.icon-collapse_all:before { + content: "\e66f"; +} + +.icon-down:before { + content: "\e654"; +} + +.icon-fenxiang:before { + content: "\e604"; +} + +.icon-mosaic-2:before { + content: "\e64f"; +} + +.icon-stars:before { + content: "\e8a8"; +} + +.icon-mosaic:before { + content: "\e636"; +} + +.icon-outline-play:before { + content: "\e653"; +} + +.icon-SelectionInverse:before { + content: "\eace"; +} + +.icon-justice1:before { + content: "\e652"; +} + +.icon-New_img:before { + content: "\e733"; +} + +.icon-new_release_outlined:before { + content: "\e66c"; +} + +.icon-new-releases:before { + content: "\e60f"; +} + +.icon-catalog:before { + content: "\e62b"; +} + +.icon-save2:before { + content: "\e635"; +} + +.icon-left-template:before { + content: "\e62a"; +} + +.icon-logs:before { + content: "\e6ec"; +} + +.icon-gpu:before { + content: "\e71e"; +} + +.icon-filled-gpu:before { + content: "\e6de"; +} + +.icon-outline-gpu:before { + content: "\e641"; +} + +.icon-ts-tubiao_webserver:before { + content: "\e716"; +} + +.icon-server:before { + content: "\e66a"; +} + +.icon-host:before { + content: "\e7c6"; +} + +.icon-playcircle:before { + content: "\e80f"; +} + +.icon-recreate:before { + content: "\e6a5"; +} + +.icon-save1:before { + content: "\e647"; +} + +.icon-save:before { + content: "\e67c"; +} + +.icon-upload_image:before { + content: "\e613"; +} + +.icon-sound-wave:before { + content: "\e619"; +} + +.icon-rank1:before { + content: "\e7cb"; +} + +.icon-cube:before { + content: "\e769"; +} + +.icon-speaker-slash:before { + content: "\ebb6"; +} + +.icon-random:before { + content: "\e603"; +} + +.icon-suijisenlin:before { + content: "\e60e"; +} + +.icon-stop2:before { + content: "\e8db"; +} + +.icon-stop:before { + content: "\e60b"; +} + +.icon-image:before { + content: "\e62c"; +} + +.icon-SpeakerSlash:before { + content: "\e661"; +} + +.icon-SpeakerHigh:before { + content: "\e670"; +} + +.icon-user_voice:before { + content: "\e667"; +} + +.icon-audio:before { + content: "\e985"; +} + +.icon-hard-disk:before { + content: "\eb1d"; +} + +.icon-new:before { + content: "\e612"; +} + +.icon-tu2:before { + content: "\e607"; +} + +.icon-robot:before { + content: "\e634"; +} + +.icon-robot1:before { + content: "\e602"; +} + +.icon-aizhineng:before { + content: "\e672"; +} + +.icon-copy:before { + content: "\e720"; +} + +.icon-AIzhineng:before { + content: "\e608"; +} + +.icon-clear:before { + content: "\e60a"; +} + +.icon-keyboard:before { + content: "\e61b"; +} + +.icon-networkerror:before { + content: "\e624"; +} + +.icon-external-link:before { + content: "\e66b"; +} + +.icon-huggingface:before { + content: "\e7d1"; +} + +.icon-ollama:before { + content: "\e601"; +} + +.icon-a-layout6-line:before { + content: "\e9ef"; +} + +.icon-a-Layout5:before { + content: "\e610"; +} + +.icon-English:before { + content: "\e8b3"; +} + +.icon-chinese:before { + content: "\e611"; +} + +.icon-yingguo:before { + content: "\e606"; +} + +.icon-code:before { + content: "\e84f"; +} + +.icon-stop1:before { + content: "\e783"; +} + +.icon-command:before { + content: "\e600"; +} + diff --git a/src/components/iconfont/iconfont.js b/src/components/iconfont/iconfont.js new file mode 100644 index 00000000..843579c4 --- /dev/null +++ b/src/components/iconfont/iconfont.js @@ -0,0 +1 @@ +window._iconfont_svg_string_4613488='',(a=>{var l=(h=(h=document.getElementsByTagName("script"))[h.length-1]).getAttribute("data-injectcss"),h=h.getAttribute("data-disable-injectsvg");if(!h){var v,t,z,q,c,m=function(l,h){h.parentNode.insertBefore(l,h)};if(l&&!a.__iconfont__svg__cssinject__){a.__iconfont__svg__cssinject__=!0;try{document.write("")}catch(l){console&&console.log(l)}}v=function(){var l,h=document.createElement("div");h.innerHTML=a._iconfont_svg_string_4613488,(h=h.getElementsByTagName("svg")[0])&&(h.setAttribute("aria-hidden","true"),h.style.position="absolute",h.style.width=0,h.style.height=0,h.style.overflow="hidden",h=h,(l=document.body).firstChild?m(h,l.firstChild):l.appendChild(h))},document.addEventListener?~["complete","loaded","interactive"].indexOf(document.readyState)?setTimeout(v,0):(t=function(){document.removeEventListener("DOMContentLoaded",t,!1),v()},document.addEventListener("DOMContentLoaded",t,!1)):document.attachEvent&&(z=v,q=a.document,c=!1,i(),q.onreadystatechange=function(){"complete"==q.readyState&&(q.onreadystatechange=null,o())})}function o(){c||(c=!0,z())}function i(){try{q.documentElement.doScroll("left")}catch(l){return void setTimeout(i,50)}o()}})(window); \ No newline at end of file diff --git a/src/components/iconfont/iconfont.json b/src/components/iconfont/iconfont.json new file mode 100644 index 00000000..82bb53ef --- /dev/null +++ b/src/components/iconfont/iconfont.json @@ -0,0 +1,1927 @@ +{ + "id": "4613488", + "name": "gpustack", + "font_family": "iconfont", + "css_prefix_text": "icon-", + "description": "", + "glyphs": [ + { + "icon_id": "47654402", + "name": "database_24dp_1F1F1F_FILL0_wght300_GRAD0_opsz24 (1", + "font_class": "database-outlined", + "unicode": "e70a", + "unicode_decimal": 59146 + }, + { + "icon_id": "47654401", + "name": "database_24dp_1F1F1F_FILL1_wght300_GRAD0_opsz24", + "font_class": "database-filled", + "unicode": "e70b", + "unicode_decimal": 59147 + }, + { + "icon_id": "47644851", + "name": "arrow_outward_24dp_1F1F1F_FILL0_wght300_GRAD0_opsz", + "font_class": "arrow-out", + "unicode": "e709", + "unicode_decimal": 59145 + }, + { + "icon_id": "47640838", + "name": "linked_services_24dp_1F1F1F_FILL0_wght300_GRAD0_op", + "font_class": "linked", + "unicode": "e708", + "unicode_decimal": 59144 + }, + { + "icon_id": "47640752", + "name": "person_pin_circle_24dp_1F1F1F_FILL0_wght300_GRAD0_", + "font_class": "person02", + "unicode": "e706", + "unicode_decimal": 59142 + }, + { + "icon_id": "47640751", + "name": "for_you_24dp_1F1F1F_FILL0_wght300_GRAD0_opsz24", + "font_class": "self", + "unicode": "e707", + "unicode_decimal": 59143 + }, + { + "icon_id": "47627672", + "name": "pytorch-logo", + "font_class": "pytorch-logo", + "unicode": "e704", + "unicode_decimal": 59140 + }, + { + "icon_id": "47627671", + "name": "pytorch-logo", + "font_class": "pytorch-logo1", + "unicode": "e705", + "unicode_decimal": 59141 + }, + { + "icon_id": "47627029", + "name": "home_work_24dp_1F1F1F_FILL0_wght300_GRAD0_opsz24", + "font_class": "company", + "unicode": "e703", + "unicode_decimal": 59139 + }, + { + "icon_id": "1089792", + "name": "cloudy", + "font_class": "yin", + "unicode": "e61f", + "unicode_decimal": 58911 + }, + { + "icon_id": "6808564", + "name": "Cloudy", + "font_class": "Cloudy", + "unicode": "eded", + "unicode_decimal": 60909 + }, + { + "icon_id": "47618167", + "name": "license_24dp_1F1F1F_FILL0_wght300_GRAD0_opsz24", + "font_class": "license-outlined", + "unicode": "e701", + "unicode_decimal": 59137 + }, + { + "icon_id": "47618166", + "name": "license_24dp_1F1F1F_FILL1_wght300_GRAD0_opsz24", + "font_class": "license-filled", + "unicode": "e702", + "unicode_decimal": 59138 + }, + { + "icon_id": "47565367", + "name": "network_node_24dp_1F1F1F_FILL0_wght300_GRAD0_opsz2", + "font_class": "connection", + "unicode": "e700", + "unicode_decimal": 59136 + }, + { + "icon_id": "47563600", + "name": "content_copy_24dp_1F1F1F_FILL0_wght300_GRAD0_opsz2", + "font_class": "copy-02", + "unicode": "e6fd", + "unicode_decimal": 59133 + }, + { + "icon_id": "47563599", + "name": "smb_share_24dp_1F1F1F_FILL0_wght300_GRAD0_opsz24", + "font_class": "cloud-copy", + "unicode": "e6fe", + "unicode_decimal": 59134 + }, + { + "icon_id": "47563598", + "name": "file_copy_24dp_1F1F1F_FILL0_wght300_GRAD0_opsz24", + "font_class": "copy-file", + "unicode": "e6ff", + "unicode_decimal": 59135 + }, + { + "icon_id": "47560861", + "name": "login", + "font_class": "login", + "unicode": "e6fc", + "unicode_decimal": 59132 + }, + { + "icon_id": "47558939", + "name": "check_24dp_1F1F1F_FILL0_wght300_GRAD0_opsz24", + "font_class": "check-large", + "unicode": "e6fa", + "unicode_decimal": 59130 + }, + { + "icon_id": "47558940", + "name": "check_small_24dp_1F1F1F_FILL0_wght300_GRAD0_opsz24", + "font_class": "check-small", + "unicode": "e6fb", + "unicode_decimal": 59131 + }, + { + "icon_id": "47554625", + "name": "location_away_24dp_1F1F1F_FILL1_wght300_GRAD0_opsz", + "font_class": "person-group-filled", + "unicode": "e6f6", + "unicode_decimal": 59126 + }, + { + "icon_id": "47554624", + "name": "location_away_24dp_1F1F1F_FILL0_wght300_GRAD0_opsz", + "font_class": "person-group-outlined", + "unicode": "e6f7", + "unicode_decimal": 59127 + }, + { + "icon_id": "47554623", + "name": "person_24dp_1F1F1F_FILL0_wght300_GRAD0_opsz24 (1)", + "font_class": "person-outlined", + "unicode": "e6f8", + "unicode_decimal": 59128 + }, + { + "icon_id": "47554622", + "name": "person_24dp_1F1F1F_FILL1_wght300_GRAD0_opsz24 (2)", + "font_class": "person-filled", + "unicode": "e6f9", + "unicode_decimal": 59129 + }, + { + "icon_id": "47537373", + "name": "local_pizza_24dp_1F1F1F_FILL0_wght300_GRAD0_opsz24", + "font_class": "sliced", + "unicode": "e6f5", + "unicode_decimal": 59125 + }, + { + "icon_id": "47534984", + "name": "sim_card_24dp_1F1F1F_FILL0_wght300_GRAD0_opsz24", + "font_class": "ram-02", + "unicode": "e6f4", + "unicode_decimal": 59124 + }, + { + "icon_id": "47530349", + "name": "developer_board_24dp_1F1F1F_FILL0_wght300_GRAD0_op", + "font_class": "cpu", + "unicode": "e6f3", + "unicode_decimal": 59123 + }, + { + "icon_id": "47518141", + "name": "flowchart_24dp_1F1F1F_FILL0_wght300_GRAD0_opsz24", + "font_class": "org-outlined", + "unicode": "e6f1", + "unicode_decimal": 59121 + }, + { + "icon_id": "47518140", + "name": "flowchart_24dp_1F1F1F_FILL1_wght300_GRAD0_opsz24", + "font_class": "org-filled", + "unicode": "e6f2", + "unicode_decimal": 59122 + }, + { + "icon_id": "47505854", + "name": "lock_24dp_1F1F1F_FILL0_wght300_GRAD0_opsz24", + "font_class": "ssh-outlined", + "unicode": "e6ef", + "unicode_decimal": 59119 + }, + { + "icon_id": "47505853", + "name": "lock_24dp_1F1F1F_FILL1_wght300_GRAD0_opsz24", + "font_class": "ssh-filled", + "unicode": "e6f0", + "unicode_decimal": 59120 + }, + { + "icon_id": "47503887", + "name": "cloud_24dp_1F1F1F_FILL0_wght300_GRAD0_opsz24 (1)", + "font_class": "cloud-outlined", + "unicode": "e6ed", + "unicode_decimal": 59117 + }, + { + "icon_id": "47503888", + "name": "cloud_24dp_1F1F1F_FILL1_wght300_GRAD0_opsz24", + "font_class": "cloud-filled", + "unicode": "e6ee", + "unicode_decimal": 59118 + }, + { + "icon_id": "47478437", + "name": "vpn_lock_2_24dp_1F1F1F_FILL0_wght300_GRAD0_opsz24", + "font_class": "safe-ip", + "unicode": "e6eb", + "unicode_decimal": 59115 + }, + { + "icon_id": "47447129", + "name": "stack_24dp_1F1F1F_FILL1_wght300_GRAD0_opsz24", + "font_class": "instance-template-filled", + "unicode": "e6ea", + "unicode_decimal": 59114 + }, + { + "icon_id": "47447134", + "name": "desktop_cloud_24dp_1F1F1F_FILL1_wght300_GRAD0_opsz", + "font_class": "instances-filled", + "unicode": "e6e5", + "unicode_decimal": 59109 + }, + { + "icon_id": "47447133", + "name": "desktop_cloud_24dp_1F1F1F_FILL0_wght300_GRAD0_opsz", + "font_class": "instances-outlined", + "unicode": "e6e6", + "unicode_decimal": 59110 + }, + { + "icon_id": "47447132", + "name": "stack_24dp_1F1F1F_FILL0_wght300_GRAD0_opsz24", + "font_class": "instance-template-outlined", + "unicode": "e6e7", + "unicode_decimal": 59111 + }, + { + "icon_id": "47447130", + "name": "hard_drive_24dp_1F1F1F_FILL0_wght300_GRAD0_opsz24", + "font_class": "storage-outlined", + "unicode": "e6e8", + "unicode_decimal": 59112 + }, + { + "icon_id": "47447131", + "name": "hard_drive_24dp_1F1F1F_FILL1_wght300_GRAD0_opsz24", + "font_class": "storage-filled", + "unicode": "e6e9", + "unicode_decimal": 59113 + }, + { + "icon_id": "47361724", + "name": "insert_chart_24dp_1F1F1F_FILL0_wght300_GRAD0_opsz2", + "font_class": "chart-01", + "unicode": "e6e3", + "unicode_decimal": 59107 + }, + { + "icon_id": "47361725", + "name": "table_24dp_1F1F1F_FILL0_wght300_GRAD0_opsz24", + "font_class": "table", + "unicode": "e6e4", + "unicode_decimal": 59108 + }, + { + "icon_id": "47349418", + "name": "usage", + "font_class": "usage-outlined", + "unicode": "e6e1", + "unicode_decimal": 59105 + }, + { + "icon_id": "47349417", + "name": "leaderboard_24dp_1F1F1F_FILL1_wght300_GRAD0_opsz24", + "font_class": "usage-filled", + "unicode": "e6e2", + "unicode_decimal": 59106 + }, + { + "icon_id": "47275548", + "name": "preferences", + "font_class": "preferences", + "unicode": "e6e0", + "unicode_decimal": 59104 + }, + { + "icon_id": "47255529", + "name": "filter-list", + "font_class": "filter-list", + "unicode": "e6df", + "unicode_decimal": 59103 + }, + { + "icon_id": "47235202", + "name": "upgrade", + "font_class": "upgrade", + "unicode": "e6dd", + "unicode_decimal": 59101 + }, + { + "icon_id": "47127234", + "name": "instance-outline", + "font_class": "instance-outline", + "unicode": "e6db", + "unicode_decimal": 59099 + }, + { + "icon_id": "47127235", + "name": "instance-filled", + "font_class": "instance-filled", + "unicode": "e6dc", + "unicode_decimal": 59100 + }, + { + "icon_id": "31689363", + "name": "grafana (2)", + "font_class": "grafana", + "unicode": "e61e", + "unicode_decimal": 58910 + }, + { + "icon_id": "46845894", + "name": "chart", + "font_class": "chart", + "unicode": "e6da", + "unicode_decimal": 59098 + }, + { + "icon_id": "46844385", + "name": "monitor", + "font_class": "monitor-02", + "unicode": "e6d9", + "unicode_decimal": 59097 + }, + { + "icon_id": "46842822", + "name": "monitor", + "font_class": "monitor", + "unicode": "e6d8", + "unicode_decimal": 59096 + }, + { + "icon_id": "46821022", + "name": "metrics", + "font_class": "metrics", + "unicode": "e6d6", + "unicode_decimal": 59094 + }, + { + "icon_id": "46812763", + "name": "export", + "font_class": "export", + "unicode": "e6d7", + "unicode_decimal": 59095 + }, + { + "icon_id": "46802651", + "name": "license", + "font_class": "license", + "unicode": "e6d5", + "unicode_decimal": 59093 + }, + { + "icon_id": "46790594", + "name": "crowdsource_24dp_1F1F1F_FILL0_wght300_GRAD0_opsz24", + "font_class": "community", + "unicode": "e6d3", + "unicode_decimal": 59091 + }, + { + "icon_id": "46790593", + "name": "person_celebrate_24dp_1F1F1F_FILL0_wght300_GRAD0_o", + "font_class": "person", + "unicode": "e6d4", + "unicode_decimal": 59092 + }, + { + "icon_id": "46790615", + "name": "public_24dp_1F1F1F_FILL0_wght300_GRAD0_opsz24", + "font_class": "public", + "unicode": "e6d2", + "unicode_decimal": 59090 + }, + { + "icon_id": "46783187", + "name": "charger", + "font_class": "charger", + "unicode": "e6d0", + "unicode_decimal": 59088 + }, + { + "icon_id": "46783186", + "name": "disabled", + "font_class": "disabled", + "unicode": "e6d1", + "unicode_decimal": 59089 + }, + { + "icon_id": "46775558", + "name": "source", + "font_class": "source", + "unicode": "e6cf", + "unicode_decimal": 59087 + }, + { + "icon_id": "2735079", + "name": "Service provider", + "font_class": "Serviceprovider", + "unicode": "e630", + "unicode_decimal": 58928 + }, + { + "icon_id": "46719213", + "name": "database_24dp_1F1F1F_FILL0_wght300_GRAD0_opsz24", + "font_class": "database", + "unicode": "e6ce", + "unicode_decimal": 59086 + }, + { + "icon_id": "46714731", + "name": "manage_search_24dp_1F1F1F_FILL1_wght300_GRAD0_opsz", + "font_class": "filters", + "unicode": "e6cc", + "unicode_decimal": 59084 + }, + { + "icon_id": "46703055", + "name": "speed_24dp_1F1F1F_FILL1_wght300_GRAD0_opsz24", + "font_class": "speed-filled", + "unicode": "e6cb", + "unicode_decimal": 59083 + }, + { + "icon_id": "46702137", + "name": "shield_24dp_1F1F1F_FILL0_wght300_GRAD0_opsz24", + "font_class": "shield", + "unicode": "e6c9", + "unicode_decimal": 59081 + }, + { + "icon_id": "46702136", + "name": "shield_24dp_1F1F1F_FILL1_wght300_GRAD0_opsz24", + "font_class": "shield-filled", + "unicode": "e6ca", + "unicode_decimal": 59082 + }, + { + "icon_id": "42735715", + "name": "openai", + "font_class": "openai", + "unicode": "e61d", + "unicode_decimal": 58909 + }, + { + "icon_id": "39934600", + "name": "anthropic", + "font_class": "anthropic", + "unicode": "e74d", + "unicode_decimal": 59213 + }, + { + "icon_id": "40532962", + "name": "doubao", + "font_class": "doubao", + "unicode": "e618", + "unicode_decimal": 58904 + }, + { + "icon_id": "43558740", + "name": "QWen", + "font_class": "qwen", + "unicode": "e8b2", + "unicode_decimal": 59570 + }, + { + "icon_id": "43616544", + "name": "deepseek-copy", + "font_class": "deepseek", + "unicode": "e61c", + "unicode_decimal": 58908 + }, + { + "icon_id": "46650646", + "name": "extension_24dp_1F1F1F_FILL0_wght300_GRAD0_opsz24", + "font_class": "extension-outline", + "unicode": "e6c7", + "unicode_decimal": 59079 + }, + { + "icon_id": "46650645", + "name": "extension_24dp_1F1F1F_FILL1_wght300_GRAD0_opsz24", + "font_class": "extension-filled", + "unicode": "e6c8", + "unicode_decimal": 59080 + }, + { + "icon_id": "43960229", + "name": "thead", + "font_class": "thead", + "unicode": "e617", + "unicode_decimal": 58903 + }, + { + "icon_id": "46626616", + "name": "video-filled02", + "font_class": "video-filled02", + "unicode": "e6c5", + "unicode_decimal": 59077 + }, + { + "icon_id": "46626615", + "name": "video-outline", + "font_class": "video-outline", + "unicode": "e6c6", + "unicode_decimal": 59078 + }, + { + "icon_id": "46616487", + "name": "video", + "font_class": "video", + "unicode": "e6c3", + "unicode_decimal": 59075 + }, + { + "icon_id": "46616486", + "name": "video-filled", + "font_class": "video-filled", + "unicode": "e6c4", + "unicode_decimal": 59076 + }, + { + "icon_id": "46569108", + "name": "refresh", + "font_class": "refresh", + "unicode": "e6c2", + "unicode_decimal": 59074 + }, + { + "icon_id": "46569091", + "name": "settings", + "font_class": "settings-02", + "unicode": "e6bf", + "unicode_decimal": 59071 + }, + { + "icon_id": "46569092", + "name": "arrow_forward", + "font_class": "arrow_forward", + "unicode": "e6c0", + "unicode_decimal": 59072 + }, + { + "icon_id": "46569093", + "name": "logout", + "font_class": "logout", + "unicode": "e6c1", + "unicode_decimal": 59073 + }, + { + "icon_id": "46548884", + "name": "amd-logo", + "font_class": "amd-logo", + "unicode": "e6be", + "unicode_decimal": 59070 + }, + { + "icon_id": "46296038", + "name": "cloud", + "font_class": "cloud", + "unicode": "e6bc", + "unicode_decimal": 59068 + }, + { + "icon_id": "46296037", + "name": "server", + "font_class": "server02", + "unicode": "e6bd", + "unicode_decimal": 59069 + }, + { + "icon_id": "46272083", + "name": "drag_handle", + "font_class": "drag_handle", + "unicode": "e6b9", + "unicode_decimal": 59065 + }, + { + "icon_id": "46055620", + "name": "basic", + "font_class": "basic", + "unicode": "e6bb", + "unicode_decimal": 59067 + }, + { + "icon_id": "46055265", + "name": "settings", + "font_class": "settings", + "unicode": "e6b8", + "unicode_decimal": 59064 + }, + { + "icon_id": "46055263", + "name": "speed", + "font_class": "speed", + "unicode": "e6ba", + "unicode_decimal": 59066 + }, + { + "icon_id": "46039838", + "name": "permission", + "font_class": "permission", + "unicode": "e6b6", + "unicode_decimal": 59062 + }, + { + "icon_id": "46039837", + "name": "captive_portal", + "font_class": "captive_portal", + "unicode": "e6b7", + "unicode_decimal": 59063 + }, + { + "icon_id": "46001737", + "name": "lock_open_right", + "font_class": "lock_open_right", + "unicode": "e6b3", + "unicode_decimal": 59059 + }, + { + "icon_id": "46001736", + "name": "lock_person", + "font_class": "lock_person", + "unicode": "e6b4", + "unicode_decimal": 59060 + }, + { + "icon_id": "46001735", + "name": "lock_open", + "font_class": "lock_open", + "unicode": "e6b5", + "unicode_decimal": 59061 + }, + { + "icon_id": "45937227", + "name": "question_mark_24dp_1F1F1F_FILL0_wght300_GRAD0_opsz", + "font_class": "question", + "unicode": "e6b2", + "unicode_decimal": 59058 + }, + { + "icon_id": "10786885", + "name": "aws", + "font_class": "aws", + "unicode": "e616", + "unicode_decimal": 58902 + }, + { + "icon_id": "12014352", + "name": "aws", + "font_class": "aws1", + "unicode": "e62f", + "unicode_decimal": 58927 + }, + { + "icon_id": "45704693", + "name": "manage_accounts_24dp_1F1F1F_FILL1_wght300_GRAD0_op", + "font_class": "manage_user", + "unicode": "e6b1", + "unicode_decimal": 59057 + }, + { + "icon_id": "45702717", + "name": "private", + "font_class": "private", + "unicode": "e6b0", + "unicode_decimal": 59056 + }, + { + "icon_id": "45702697", + "name": "stop", + "font_class": "stop3", + "unicode": "e6af", + "unicode_decimal": 59055 + }, + { + "icon_id": "45688107", + "name": "version", + "font_class": "version", + "unicode": "e6ae", + "unicode_decimal": 59054 + }, + { + "icon_id": "45631011", + "name": "contract_edit_24dp_1F1F1F_FILL0_wght300_GRAD0_opsz", + "font_class": "edit-content", + "unicode": "e6ab", + "unicode_decimal": 59051 + }, + { + "icon_id": "45631010", + "name": "code_blocks_24dp_1F1F1F_FILL0_wght300_GRAD0_opsz24", + "font_class": "code_block", + "unicode": "e6ac", + "unicode_decimal": 59052 + }, + { + "icon_id": "45631009", + "name": "settings_applications_24dp_1F1F1F_FILL0_wght300_GR", + "font_class": "parameters", + "unicode": "e6ad", + "unicode_decimal": 59053 + }, + { + "icon_id": "45623375", + "name": "bolt_24dp_1F1F1F_FILL1_wght300_GRAD0_opsz24", + "font_class": "backend-filled", + "unicode": "e6a9", + "unicode_decimal": 59049 + }, + { + "icon_id": "45623374", + "name": "bolt_24dp_1F1F1F_FILL0_wght300_GRAD0_opsz24", + "font_class": "backend", + "unicode": "e6aa", + "unicode_decimal": 59050 + }, + { + "icon_id": "45554217", + "name": "arrow_down", + "font_class": "down2", + "unicode": "e6a7", + "unicode_decimal": 59047 + }, + { + "icon_id": "11155543", + "name": "nvidia", + "font_class": "nvidia2", + "unicode": "e60d", + "unicode_decimal": 58893 + }, + { + "icon_id": "11425971", + "name": "centos", + "font_class": "centos", + "unicode": "e6cd", + "unicode_decimal": 59085 + }, + { + "icon_id": "15378743", + "name": "redhat", + "font_class": "redhat", + "unicode": "ec7b", + "unicode_decimal": 60539 + }, + { + "icon_id": "6808499", + "name": "Ubuntu", + "font_class": "ubuntu", + "unicode": "edd3", + "unicode_decimal": 60883 + }, + { + "icon_id": "15378275", + "name": "debian", + "font_class": "debian", + "unicode": "eb74", + "unicode_decimal": 60276 + }, + { + "icon_id": "38395859", + "name": "almalinux", + "font_class": "alma-linux", + "unicode": "e6a8", + "unicode_decimal": 59048 + }, + { + "icon_id": "43280042", + "name": "linux-fedora", + "font_class": "fedora", + "unicode": "e61a", + "unicode_decimal": 58906 + }, + { + "icon_id": "43280143", + "name": "linux-rocky_linux", + "font_class": "rocky-linux", + "unicode": "e620", + "unicode_decimal": 58912 + }, + { + "icon_id": "36227448", + "name": "nvidia", + "font_class": "nvidia1", + "unicode": "e980", + "unicode_decimal": 59776 + }, + { + "icon_id": "40723469", + "name": "nvidia", + "font_class": "nvidia", + "unicode": "e60c", + "unicode_decimal": 58892 + }, + { + "icon_id": "45463937", + "name": "amd", + "font_class": "amd", + "unicode": "e6a6", + "unicode_decimal": 59046 + }, + { + "icon_id": "24164616", + "name": "华为", + "font_class": "huawei", + "unicode": "e615", + "unicode_decimal": 58901 + }, + { + "icon_id": "45461362", + "name": "metax", + "font_class": "metax", + "unicode": "e6a4", + "unicode_decimal": 59044 + }, + { + "icon_id": "45459906", + "name": "ascend", + "font_class": "ascend", + "unicode": "e6a3", + "unicode_decimal": 59043 + }, + { + "icon_id": "8152996", + "name": "HUAWEI", + "font_class": "huaweicloud", + "unicode": "e614", + "unicode_decimal": 58900 + }, + { + "icon_id": "34290284", + "name": "alicloud", + "font_class": "alicloud", + "unicode": "e784", + "unicode_decimal": 59268 + }, + { + "icon_id": "36654764", + "name": "tencent", + "font_class": "tencentcloud", + "unicode": "e609", + "unicode_decimal": 58889 + }, + { + "icon_id": "45310241", + "name": "cluster2-outline", + "font_class": "cluster2-outline", + "unicode": "e6a1", + "unicode_decimal": 59041 + }, + { + "icon_id": "45310242", + "name": "cluster2-filled", + "font_class": "cluster2-filled", + "unicode": "e6a2", + "unicode_decimal": 59042 + }, + { + "icon_id": "45310070", + "name": "cluster-filled", + "font_class": "cluster-filled", + "unicode": "e69f", + "unicode_decimal": 59039 + }, + { + "icon_id": "45310069", + "name": "cluster-outline", + "font_class": "cluster-outline", + "unicode": "e6a0", + "unicode_decimal": 59040 + }, + { + "icon_id": "45240470", + "name": "admin-user", + "font_class": "admin-user", + "unicode": "e69d", + "unicode_decimal": 59037 + }, + { + "icon_id": "45240469", + "name": "user", + "font_class": "user", + "unicode": "e69e", + "unicode_decimal": 59038 + }, + { + "icon_id": "45221182", + "name": "detail-info", + "font_class": "detail-info", + "unicode": "e69b", + "unicode_decimal": 59035 + }, + { + "icon_id": "45102077", + "name": "Docker", + "font_class": "docker", + "unicode": "e69c", + "unicode_decimal": 59036 + }, + { + "icon_id": "15378290", + "name": "digitalocean", + "font_class": "digitalocean", + "unicode": "eb79", + "unicode_decimal": 60281 + }, + { + "icon_id": "45040302", + "name": "rocket-launch", + "font_class": "rocket-launch1", + "unicode": "e699", + "unicode_decimal": 59033 + }, + { + "icon_id": "45040301", + "name": "rocket-launch-fill", + "font_class": "rocket-launch-fill", + "unicode": "e69a", + "unicode_decimal": 59034 + }, + { + "icon_id": "45028316", + "name": "credential", + "font_class": "credential-filled", + "unicode": "e697", + "unicode_decimal": 59031 + }, + { + "icon_id": "45028315", + "name": "credential", + "font_class": "credential-outline", + "unicode": "e698", + "unicode_decimal": 59032 + }, + { + "icon_id": "37601405", + "name": "k8s", + "font_class": "k8s-filled", + "unicode": "e63e", + "unicode_decimal": 58942 + }, + { + "icon_id": "41673174", + "name": "k8s", + "font_class": "k8s-outline", + "unicode": "e64b", + "unicode_decimal": 58955 + }, + { + "icon_id": "40865292", + "name": "huggingface", + "font_class": "huggingface1", + "unicode": "e605", + "unicode_decimal": 58885 + }, + { + "icon_id": "43616582", + "name": "modelscope_light", + "font_class": "modelscope_light", + "unicode": "e696", + "unicode_decimal": 59030 + }, + { + "icon_id": "44776845", + "name": "catalog", + "font_class": "catalog1", + "unicode": "e691", + "unicode_decimal": 59025 + }, + { + "icon_id": "44776848", + "name": "chat-filled", + "font_class": "chat-filled", + "unicode": "e692", + "unicode_decimal": 59026 + }, + { + "icon_id": "44776846", + "name": "chat", + "font_class": "chat", + "unicode": "e693", + "unicode_decimal": 59027 + }, + { + "icon_id": "44776841", + "name": "files-filled", + "font_class": "files-filled", + "unicode": "e694", + "unicode_decimal": 59028 + }, + { + "icon_id": "44776840", + "name": "files", + "font_class": "files", + "unicode": "e695", + "unicode_decimal": 59029 + }, + { + "icon_id": "44776851", + "name": "models-filled", + "font_class": "models-filled", + "unicode": "e682", + "unicode_decimal": 59010 + }, + { + "icon_id": "44776857", + "name": "image-filled", + "font_class": "image-filled", + "unicode": "e683", + "unicode_decimal": 59011 + }, + { + "icon_id": "44776856", + "name": "audio", + "font_class": "audio1", + "unicode": "e684", + "unicode_decimal": 59012 + }, + { + "icon_id": "44776855", + "name": "image", + "font_class": "image1", + "unicode": "e685", + "unicode_decimal": 59013 + }, + { + "icon_id": "44776850", + "name": "audio-filled", + "font_class": "audio-filled", + "unicode": "e686", + "unicode_decimal": 59014 + }, + { + "icon_id": "44776849", + "name": "reranker-filled", + "font_class": "reranker-filled", + "unicode": "e687", + "unicode_decimal": 59015 + }, + { + "icon_id": "44776852", + "name": "embedding-filled", + "font_class": "embedding-filled", + "unicode": "e68a", + "unicode_decimal": 59018 + }, + { + "icon_id": "44776853", + "name": "models", + "font_class": "models", + "unicode": "e68b", + "unicode_decimal": 59019 + }, + { + "icon_id": "44776844", + "name": "reranker", + "font_class": "reranker", + "unicode": "e68c", + "unicode_decimal": 59020 + }, + { + "icon_id": "44776854", + "name": "embedding", + "font_class": "embedding", + "unicode": "e68d", + "unicode_decimal": 59021 + }, + { + "icon_id": "44776843", + "name": "gpu-filled", + "font_class": "gpu-filled", + "unicode": "e68e", + "unicode_decimal": 59022 + }, + { + "icon_id": "44776847", + "name": "catalog-filled", + "font_class": "catalog-filled", + "unicode": "e68f", + "unicode_decimal": 59023 + }, + { + "icon_id": "44776842", + "name": "gpu", + "font_class": "gpu1", + "unicode": "e690", + "unicode_decimal": 59024 + }, + { + "icon_id": "44685190", + "name": "language", + "font_class": "language", + "unicode": "e679", + "unicode_decimal": 59001 + }, + { + "icon_id": "44685189", + "name": "help", + "font_class": "help", + "unicode": "e67a", + "unicode_decimal": 59002 + }, + { + "icon_id": "44684306", + "name": "key-filled", + "font_class": "key-filled", + "unicode": "e67b", + "unicode_decimal": 59003 + }, + { + "icon_id": "44684302", + "name": "key", + "font_class": "key", + "unicode": "e67d", + "unicode_decimal": 59005 + }, + { + "icon_id": "44684304", + "name": "resources", + "font_class": "resources", + "unicode": "e67e", + "unicode_decimal": 59006 + }, + { + "icon_id": "44684305", + "name": "users", + "font_class": "users", + "unicode": "e67f", + "unicode_decimal": 59007 + }, + { + "icon_id": "44684303", + "name": "resources-filled", + "font_class": "resources-filled", + "unicode": "e680", + "unicode_decimal": 59008 + }, + { + "icon_id": "44684301", + "name": "users-filled", + "font_class": "users-filled", + "unicode": "e681", + "unicode_decimal": 59009 + }, + { + "icon_id": "44684150", + "name": "model", + "font_class": "model", + "unicode": "e676", + "unicode_decimal": 58998 + }, + { + "icon_id": "44684149", + "name": "model-filled", + "font_class": "model-filled", + "unicode": "e678", + "unicode_decimal": 59000 + }, + { + "icon_id": "44684090", + "name": "layers-filled", + "font_class": "layers-filled", + "unicode": "e671", + "unicode_decimal": 58993 + }, + { + "icon_id": "44684091", + "name": "layers", + "font_class": "layers", + "unicode": "e673", + "unicode_decimal": 58995 + }, + { + "icon_id": "44684086", + "name": "experiment", + "font_class": "experiment", + "unicode": "e674", + "unicode_decimal": 58996 + }, + { + "icon_id": "44684085", + "name": "experiment", + "font_class": "experiment-filled", + "unicode": "e675", + "unicode_decimal": 58997 + }, + { + "icon_id": "44684021", + "name": "dashboard", + "font_class": "dashboard", + "unicode": "e66d", + "unicode_decimal": 58989 + }, + { + "icon_id": "44684020", + "name": "dashboard-filled", + "font_class": "dashboard-filled", + "unicode": "e66e", + "unicode_decimal": 58990 + }, + { + "icon_id": "40068272", + "name": "expand-left", + "font_class": "expand-left", + "unicode": "ea48", + "unicode_decimal": 59976 + }, + { + "icon_id": "40068278", + "name": "expand-right", + "font_class": "expand-right", + "unicode": "ea49", + "unicode_decimal": 59977 + }, + { + "icon_id": "1350497", + "name": "sq-users", + "font_class": "users-fill", + "unicode": "e677", + "unicode_decimal": 58999 + }, + { + "icon_id": "13691715", + "name": "layers", + "font_class": "layers-fill", + "unicode": "e89d", + "unicode_decimal": 59549 + }, + { + "icon_id": "14267903", + "name": "key-skeleton-alt", + "font_class": "key-fill", + "unicode": "e80e", + "unicode_decimal": 59406 + }, + { + "icon_id": "14341823", + "name": "cloud-server-solid", + "font_class": "server-fill", + "unicode": "e7a3", + "unicode_decimal": 59299 + }, + { + "icon_id": "40764011", + "name": "icon-model-selected", + "font_class": "model-fill", + "unicode": "e7b7", + "unicode_decimal": 59319 + }, + { + "icon_id": "44668359", + "name": "left_panel_close_36dp_1F1F1F_FILL0_wght400_GRAD0_o", + "font_class": "left_panel_close", + "unicode": "e668", + "unicode_decimal": 58984 + }, + { + "icon_id": "44668360", + "name": "left_panel_open_36dp_1F1F1F_FILL0_wght400_GRAD0_op", + "font_class": "left_panel_open", + "unicode": "e669", + "unicode_decimal": 58985 + }, + { + "icon_id": "44650419", + "name": "play circle-fill", + "font_class": "playcircle-fill", + "unicode": "e665", + "unicode_decimal": 58981 + }, + { + "icon_id": "44650418", + "name": "stop circle-fill", + "font_class": "stopcircle-fill", + "unicode": "e666", + "unicode_decimal": 58982 + }, + { + "icon_id": "8592899", + "name": "play-speed", + "font_class": "play-speed", + "unicode": "e856", + "unicode_decimal": 59478 + }, + { + "icon_id": "10941162", + "name": "more", + "font_class": "more", + "unicode": "e62e", + "unicode_decimal": 58926 + }, + { + "icon_id": "703373", + "name": "play", + "font_class": "play", + "unicode": "e9f9", + "unicode_decimal": 59897 + }, + { + "icon_id": "736882", + "name": "pause", + "font_class": "pause", + "unicode": "e713", + "unicode_decimal": 59155 + }, + { + "icon_id": "44028047", + "name": "dark_theme", + "font_class": "dark_theme", + "unicode": "e646", + "unicode_decimal": 58950 + }, + { + "icon_id": "44094552", + "name": "theme-auto-1", + "font_class": "theme-auto-1", + "unicode": "e660", + "unicode_decimal": 58976 + }, + { + "icon_id": "44094551", + "name": "theme-auto", + "font_class": "theme-auto", + "unicode": "e663", + "unicode_decimal": 58979 + }, + { + "icon_id": "44094550", + "name": "theme", + "font_class": "auto-theme-1", + "unicode": "e664", + "unicode_decimal": 58980 + }, + { + "icon_id": "44092227", + "name": "routine_36dp_1F1F1F_FILL0_wght400_GRAD0_opsz24", + "font_class": "auto-theme", + "unicode": "e662", + "unicode_decimal": 58978 + }, + { + "icon_id": "44086334", + "name": "cols_3", + "font_class": "cols_3", + "unicode": "e65c", + "unicode_decimal": 58972 + }, + { + "icon_id": "44086333", + "name": "cols_6", + "font_class": "cols_6", + "unicode": "e65d", + "unicode_decimal": 58973 + }, + { + "icon_id": "44086332", + "name": "cols_2", + "font_class": "cols_2", + "unicode": "e65e", + "unicode_decimal": 58974 + }, + { + "icon_id": "44086331", + "name": "cols_4", + "font_class": "cols_4", + "unicode": "e65f", + "unicode_decimal": 58975 + }, + { + "icon_id": "44065884", + "name": "save", + "font_class": "a-save1", + "unicode": "e65b", + "unicode_decimal": 58971 + }, + { + "icon_id": "43808249", + "name": "uncollapse_all", + "font_class": "uncollapse_all", + "unicode": "e657", + "unicode_decimal": 58967 + }, + { + "icon_id": "43807590", + "name": "collapse", + "font_class": "collapse", + "unicode": "e656", + "unicode_decimal": 58966 + }, + { + "icon_id": "22575690", + "name": "rocket-launch", + "font_class": "rocket-launch", + "unicode": "e689", + "unicode_decimal": 59017 + }, + { + "icon_id": "6050653", + "name": "user", + "font_class": "user-filled", + "unicode": "e625", + "unicode_decimal": 58917 + }, + { + "icon_id": "37486588", + "name": "assistant", + "font_class": "assistant", + "unicode": "e62d", + "unicode_decimal": 58925 + }, + { + "icon_id": "43220044", + "name": "AIAssistant", + "font_class": "assistant-filled", + "unicode": "e847", + "unicode_decimal": 59463 + }, + { + "icon_id": "43626126", + "name": "save", + "font_class": "save3", + "unicode": "e655", + "unicode_decimal": 58965 + }, + { + "icon_id": "20186129", + "name": "反馈faqs", + "font_class": "fankuifaqs", + "unicode": "e7bf", + "unicode_decimal": 59327 + }, + { + "icon_id": "42800361", + "name": "issues", + "font_class": "issues", + "unicode": "e816", + "unicode_decimal": 59414 + }, + { + "icon_id": "8211955", + "name": "ram", + "font_class": "neicun", + "unicode": "e688", + "unicode_decimal": 59016 + }, + { + "icon_id": "37125227", + "name": "collapse_all", + "font_class": "collapse_all", + "unicode": "e66f", + "unicode_decimal": 58991 + }, + { + "icon_id": "43363249", + "name": "down", + "font_class": "down", + "unicode": "e654", + "unicode_decimal": 58964 + }, + { + "icon_id": "159932", + "name": "search", + "font_class": "fenxiang", + "unicode": "e604", + "unicode_decimal": 58884 + }, + { + "icon_id": "40678285", + "name": "mosaic", + "font_class": "mosaic-2", + "unicode": "e64f", + "unicode_decimal": 58959 + }, + { + "icon_id": "22859935", + "name": "stars", + "font_class": "stars", + "unicode": "e8a8", + "unicode_decimal": 59560 + }, + { + "icon_id": "39566959", + "name": "mosaic", + "font_class": "mosaic", + "unicode": "e636", + "unicode_decimal": 58934 + }, + { + "icon_id": "43256197", + "name": "play circle", + "font_class": "outline-play", + "unicode": "e653", + "unicode_decimal": 58963 + }, + { + "icon_id": "27116743", + "name": "SelectionInverse", + "font_class": "SelectionInverse", + "unicode": "eace", + "unicode_decimal": 60110 + }, + { + "icon_id": "43035036", + "name": "justice", + "font_class": "justice1", + "unicode": "e652", + "unicode_decimal": 58962 + }, + { + "icon_id": "1740853", + "name": "New_img", + "font_class": "New_img", + "unicode": "e733", + "unicode_decimal": 59187 + }, + { + "icon_id": "9745732", + "name": "new_release_outlined", + "font_class": "new_release_outlined", + "unicode": "e66c", + "unicode_decimal": 58988 + }, + { + "icon_id": "40667024", + "name": "new-releases", + "font_class": "new-releases", + "unicode": "e60f", + "unicode_decimal": 58895 + }, + { + "icon_id": "41920256", + "name": "catalog", + "font_class": "catalog", + "unicode": "e62b", + "unicode_decimal": 58923 + }, + { + "icon_id": "13851416", + "name": "save", + "font_class": "save2", + "unicode": "e635", + "unicode_decimal": 58933 + }, + { + "icon_id": "3238366", + "name": "模板", + "font_class": "left-template", + "unicode": "e62a", + "unicode_decimal": 58922 + }, + { + "icon_id": "26746089", + "name": "logs", + "font_class": "logs", + "unicode": "e6ec", + "unicode_decimal": 59116 + }, + { + "icon_id": "1132892", + "name": "gpu", + "font_class": "gpu", + "unicode": "e71e", + "unicode_decimal": 59166 + }, + { + "icon_id": "38418656", + "name": "GPUxCPU", + "font_class": "filled-gpu", + "unicode": "e6de", + "unicode_decimal": 59102 + }, + { + "icon_id": "7556336", + "name": "gpu", + "font_class": "outline-gpu", + "unicode": "e641", + "unicode_decimal": 58945 + }, + { + "icon_id": "8040181", + "name": "webserver", + "font_class": "ts-tubiao_webserver", + "unicode": "e716", + "unicode_decimal": 59158 + }, + { + "icon_id": "6587064", + "name": "server", + "font_class": "server", + "unicode": "e66a", + "unicode_decimal": 58986 + }, + { + "icon_id": "40493325", + "name": "host", + "font_class": "host", + "unicode": "e7c6", + "unicode_decimal": 59334 + }, + { + "icon_id": "6151262", + "name": "play circle", + "font_class": "playcircle", + "unicode": "e80f", + "unicode_decimal": 59407 + }, + { + "icon_id": "25197526", + "name": "recreate", + "font_class": "recreate", + "unicode": "e6a5", + "unicode_decimal": 59045 + }, + { + "icon_id": "12689724", + "name": "save", + "font_class": "save1", + "unicode": "e647", + "unicode_decimal": 58951 + }, + { + "icon_id": "15838524", + "name": "save", + "font_class": "save", + "unicode": "e67c", + "unicode_decimal": 59004 + }, + { + "icon_id": "8782480", + "name": "upload_image", + "font_class": "upload_image", + "unicode": "e613", + "unicode_decimal": 58899 + }, + { + "icon_id": "14464883", + "name": "sound-wave", + "font_class": "sound-wave", + "unicode": "e619", + "unicode_decimal": 58905 + }, + { + "icon_id": "37200543", + "name": "rank", + "font_class": "rank1", + "unicode": "e7cb", + "unicode_decimal": 59339 + }, + { + "icon_id": "5127275", + "name": "cube", + "font_class": "cube", + "unicode": "e769", + "unicode_decimal": 59241 + }, + { + "icon_id": "28326047", + "name": "speaker-slash", + "font_class": "speaker-slash", + "unicode": "ebb6", + "unicode_decimal": 60342 + }, + { + "icon_id": "13059398", + "name": "随机", + "font_class": "random", + "unicode": "e603", + "unicode_decimal": 58883 + }, + { + "icon_id": "5978743", + "name": "random-forest", + "font_class": "suijisenlin", + "unicode": "e60e", + "unicode_decimal": 58894 + }, + { + "icon_id": "15617444", + "name": "stop", + "font_class": "stop2", + "unicode": "e8db", + "unicode_decimal": 59611 + }, + { + "icon_id": "8327181", + "name": "stop", + "font_class": "stop", + "unicode": "e60b", + "unicode_decimal": 58891 + }, + { + "icon_id": "714031", + "name": "image", + "font_class": "image", + "unicode": "e62c", + "unicode_decimal": 58924 + }, + { + "icon_id": "23563264", + "name": "SpeakerSlash", + "font_class": "SpeakerSlash", + "unicode": "e661", + "unicode_decimal": 58977 + }, + { + "icon_id": "23563318", + "name": "SpeakerHigh", + "font_class": "SpeakerHigh", + "unicode": "e670", + "unicode_decimal": 58992 + }, + { + "icon_id": "41955357", + "name": " user_voice", + "font_class": "user_voice", + "unicode": "e667", + "unicode_decimal": 58983 + }, + { + "icon_id": "29174196", + "name": "audio", + "font_class": "audio", + "unicode": "e985", + "unicode_decimal": 59781 + }, + { + "icon_id": "40073465", + "name": "hard-disk", + "font_class": "hard-disk", + "unicode": "eb1d", + "unicode_decimal": 60189 + }, + { + "icon_id": "12717507", + "name": "new", + "font_class": "new", + "unicode": "e612", + "unicode_decimal": 58898 + }, + { + "icon_id": "36135335", + "name": "mdp-template-modelscope", + "font_class": "tu2", + "unicode": "e607", + "unicode_decimal": 58887 + }, + { + "icon_id": "10710692", + "name": "robot", + "font_class": "robot", + "unicode": "e634", + "unicode_decimal": 58932 + }, + { + "icon_id": "12070718", + "name": "robot", + "font_class": "robot1", + "unicode": "e602", + "unicode_decimal": 58882 + }, + { + "icon_id": "10791813", + "name": "ai智能", + "font_class": "aizhineng", + "unicode": "e672", + "unicode_decimal": 58994 + }, + { + "icon_id": "19418384", + "name": "copy", + "font_class": "copy", + "unicode": "e720", + "unicode_decimal": 59168 + }, + { + "icon_id": "40757798", + "name": "AI智能", + "font_class": "AIzhineng", + "unicode": "e608", + "unicode_decimal": 58888 + }, + { + "icon_id": "36263088", + "name": "clear", + "font_class": "clear", + "unicode": "e60a", + "unicode_decimal": 58890 + }, + { + "icon_id": "5297059", + "name": "keyboard", + "font_class": "keyboard", + "unicode": "e61b", + "unicode_decimal": 58907 + }, + { + "icon_id": "11539157", + "name": "network error", + "font_class": "networkerror", + "unicode": "e624", + "unicode_decimal": 58916 + }, + { + "icon_id": "14465073", + "name": "external-link", + "font_class": "external-link", + "unicode": "e66b", + "unicode_decimal": 58987 + }, + { + "icon_id": "38465464", + "name": "huggingface", + "font_class": "huggingface", + "unicode": "e7d1", + "unicode_decimal": 59345 + }, + { + "icon_id": "40568411", + "name": "ollama", + "font_class": "ollama", + "unicode": "e601", + "unicode_decimal": 58881 + }, + { + "icon_id": "24341846", + "name": "layout 6-line", + "font_class": "a-layout6-line", + "unicode": "e9ef", + "unicode_decimal": 59887 + }, + { + "icon_id": "31345353", + "name": "a-Layout5", + "font_class": "a-Layout5", + "unicode": "e610", + "unicode_decimal": 58896 + }, + { + "icon_id": "10031665", + "name": "English", + "font_class": "English", + "unicode": "e8b3", + "unicode_decimal": 59571 + }, + { + "icon_id": "9134244", + "name": "chinese", + "font_class": "chinese", + "unicode": "e611", + "unicode_decimal": 58897 + }, + { + "icon_id": "12176725", + "name": "english", + "font_class": "yingguo", + "unicode": "e606", + "unicode_decimal": 58886 + }, + { + "icon_id": "34453176", + "name": "code", + "font_class": "code", + "unicode": "e84f", + "unicode_decimal": 59471 + }, + { + "icon_id": "12579515", + "name": "stop", + "font_class": "stop1", + "unicode": "e783", + "unicode_decimal": 59267 + }, + { + "icon_id": "1842082", + "name": "command", + "font_class": "command", + "unicode": "e600", + "unicode_decimal": 58880 + } + ] +} diff --git a/src/components/iconfont/iconfont.ttf b/src/components/iconfont/iconfont.ttf new file mode 100644 index 00000000..af0e421c Binary files /dev/null and b/src/components/iconfont/iconfont.ttf differ diff --git a/src/components/iconfont/iconfont.woff b/src/components/iconfont/iconfont.woff new file mode 100644 index 00000000..d7b0417d Binary files /dev/null and b/src/components/iconfont/iconfont.woff differ diff --git a/src/components/iconfont/iconfont.woff2 b/src/components/iconfont/iconfont.woff2 new file mode 100644 index 00000000..36e8e2b5 Binary files /dev/null and b/src/components/iconfont/iconfont.woff2 differ diff --git a/src/layouts/index.tsx b/src/layouts/index.tsx index 3c075fe2..2839c2b5 100644 --- a/src/layouts/index.tsx +++ b/src/layouts/index.tsx @@ -1,6 +1,7 @@ import { routeCacheAtom, setRouteCache } from '@/atoms/route-cache'; import { userAtom } from '@/atoms/user'; import DarkMask from '@/components/dark-mask'; +import '@/components/iconfont/iconfont.js'; import PluginExtraFields from '@/components/plugin-extra-fields'; import routeCachekey from '@/config/route-cachekey'; import { DEFAULT_ENTER_PAGE, GPUSTACK_API_BASE_URL } from '@/config/settings'; @@ -356,7 +357,7 @@ export default (props: any) => { config={{ apiBaseUrl: GPUSTACK_API_BASE_URL, theme: userSettings.theme, - iconUrl: '//at.alicdn.com/t/c/font_4613488_jmdepcs90im.js', + iconUrl: '', isDarkTheme: userSettings.isDarkTheme, defaultColorPrimary: COLOR_PRIMARY }} diff --git a/src/pages/llmodels/config/form-context.ts b/src/pages/llmodels/config/form-context.ts index 6e8cbb32..6ce07c9c 100644 --- a/src/pages/llmodels/config/form-context.ts +++ b/src/pages/llmodels/config/form-context.ts @@ -30,6 +30,7 @@ interface FormContextProps { flatBackendOptions: BackendOption[]; initialValues?: FormData; // for editing model modelContextData?: Record; + submitAttempted?: boolean; clearCacheFormValues?: () => void; onValuesChange?: (changedValues: any, allValues: any) => void; onBackendChange: (backend: string, option: any) => void; diff --git a/src/pages/llmodels/forms/index.tsx b/src/pages/llmodels/forms/index.tsx index 732a76f7..3d222209 100644 --- a/src/pages/llmodels/forms/index.tsx +++ b/src/pages/llmodels/forms/index.tsx @@ -101,6 +101,7 @@ const DataForm: React.FC = forwardRef((props, ref) => { const [form] = Form.useForm(); const intl = useIntl(); const [activeKey, setActiveKey] = React.useState([]); + const [submitAttempted, setSubmitAttempted] = React.useState(false); const { modelContextData, fetchContextLength } = useQueryContextLength(); const localPath = Form.useWatch('local_path', form); const modelScopeModelId = Form.useWatch('model_scope_model_id', form); @@ -229,6 +230,7 @@ const DataForm: React.FC = forwardRef((props, ref) => { ..._.omit(data, ['scheduleType']), ...gpuSelector }; + console.log('submit form data:', allValues); onOk(allValues); }; @@ -282,6 +284,8 @@ const DataForm: React.FC = forwardRef((props, ref) => { }; const handleOnFinishFailed = (errorInfo: any) => { + setSubmitAttempted(true); + console.log('Failed:', errorInfo); const { errorFields } = errorInfo; if (errorFields && errorFields.length > 0) { const collapseKeys: string[] = []; @@ -398,6 +402,7 @@ const DataForm: React.FC = forwardRef((props, ref) => { workerLabelOptions: workerLabelOptions, initialValues: initialValues, modelContextData: modelContextData, + submitAttempted: submitAttempted, clearCacheFormValues: clearCacheFormValues, onValuesChange: onValuesChange, onBackendChange: handleBackendChange diff --git a/src/pages/llmodels/forms/model-lora-list.tsx b/src/pages/llmodels/forms/model-lora-list.tsx index 1fe617e2..06e83d86 100644 --- a/src/pages/llmodels/forms/model-lora-list.tsx +++ b/src/pages/llmodels/forms/model-lora-list.tsx @@ -2,6 +2,7 @@ import { MetadataList } from '@gpustack/core-ui'; import { useIntl } from '@umijs/max'; import { Form } from 'antd'; import { useEffect, useMemo, useRef, useState } from 'react'; +import { useFormContext } from '../config/form-context'; import { FormData, LoraListItem } from '../config/types'; import useQueryModelLoraList from '../services/use-query-lora-list'; import LoraItem from './lora-list-item'; @@ -20,9 +21,10 @@ const ModelLoraList = () => { console.log('fetching lora list with base', base, form.getFieldsValue()); const { dataList: defaultDataList, fetchData } = useQueryModelLoraList(); + const { submitAttempted } = useFormContext(); + const validated = !!submitAttempted; const [itemList, setItemList] = useState([]); - const [validated, setValidated] = useState(false); const initializedRef = useRef(false); const prevBaseRef = useRef(''); @@ -150,9 +152,6 @@ const ModelLoraList = () => { rules={[ { validator: async (_, value: LoraListItem[]) => { - if (!validated) { - setValidated(true); - } if (!value || value.length === 0) return; for (const it of value) { diff --git a/src/pages/login/index.tsx b/src/pages/login/index.tsx index 56e48900..6d3496d9 100644 --- a/src/pages/login/index.tsx +++ b/src/pages/login/index.tsx @@ -206,7 +206,7 @@ const Login = () => { config={{ apiBaseUrl: GPUSTACK_API_BASE_URL, theme: userSettings.theme, - iconUrl: '//at.alicdn.com/t/c/font_4613488_vy4szhexci.js', + iconUrl: '', isDarkTheme: userSettings.isDarkTheme, defaultColorPrimary: COLOR_PRIMARY }}