dsh-plugin 2.3.0 → 2.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/client/client.js CHANGED
@@ -424,6 +424,8 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
424
424
  installEntryLine: "安装入口:{c}。",
425
425
  reportIssue: "去插件仓库提交 Issue",
426
426
  detail: "打开详情",
427
+ installDetail: "安装详情",
428
+ author: "作者",
427
429
  noResult: "没有找到匹配的插件",
428
430
  noResultDesc: "换个关键词试试,或前往网站浏览全部插件。",
429
431
  today: "今天更新",
@@ -873,6 +875,8 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
873
875
  installEntryLine: "Install entry: {c}.",
874
876
  reportIssue: "Report an Issue to the plugin repo",
875
877
  detail: "Open details",
878
+ installDetail: "Install details",
879
+ author: "Author",
876
880
  noResult: "No plugins match your search",
877
881
  noResultDesc: "Try another keyword, or browse all plugins on the website.",
878
882
  today: "updated today",
@@ -928,42 +932,42 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
928
932
  css: css$11
929
933
  });
930
934
  var Header_module_css_default = {
931
- "copyIcon": "qikqja_copyIcon",
932
- "adBanner": "qikqja_adBanner",
933
- "adBadge": "qikqja_adBadge",
934
- "taglineLink": "qikqja_taglineLink",
935
- "tab": "qikqja_tab",
936
- "tabActive": "qikqja_tabActive",
935
+ "langBtn": "qikqja_langBtn",
936
+ "tabs": "qikqja_tabs",
937
937
  "tabsRow": "qikqja_tabsRow",
938
938
  "tagline": "qikqja_tagline",
939
- "githubIcon": "qikqja_githubIcon",
940
- "header": "qikqja_header",
941
- "searchRow": "qikqja_searchRow",
939
+ "tabActive": "qikqja_tabActive",
942
940
  "headerRight": "qikqja_headerRight",
943
- "segBtnActive": "qikqja_segBtnActive",
944
- "tabs": "qikqja_tabs",
945
- "headerTitleRow": "qikqja_headerTitleRow",
941
+ "aboutBtn": "qikqja_aboutBtn",
946
942
  "segBtn": "qikqja_segBtn",
947
- "logoIcon": "qikqja_logoIcon",
948
- "githubLink": "qikqja_githubLink",
949
- "version": "qikqja_version",
950
- "title": "qikqja_title",
951
- "segLabel": "qikqja_segLabel",
952
- "adArrow": "qikqja_adArrow",
953
943
  "versionBtn": "qikqja_versionBtn",
944
+ "brandTitle": "qikqja_brandTitle",
945
+ "title": "qikqja_title",
946
+ "version": "qikqja_version",
947
+ "header": "qikqja_header",
948
+ "copyIcon": "qikqja_copyIcon",
954
949
  "segGroup": "qikqja_segGroup",
955
- "root": "qikqja_root",
956
- "sortGroup": "qikqja_sortGroup",
957
- "search": "qikqja_search",
950
+ "resultSeg": "qikqja_resultSeg",
951
+ "adArrow": "qikqja_adArrow",
958
952
  "adText": "qikqja_adText",
959
- "hubUpdateBadge": "qikqja_hubUpdateBadge",
960
- "langBtn": "qikqja_langBtn",
961
- "brandTitle": "qikqja_brandTitle",
962
- "aboutBtn": "qikqja_aboutBtn",
963
- "resultCount": "qikqja_resultCount",
953
+ "adBanner": "qikqja_adBanner",
964
954
  "tabCount": "qikqja_tabCount",
955
+ "taglineLink": "qikqja_taglineLink",
956
+ "root": "qikqja_root",
957
+ "logoIcon": "qikqja_logoIcon",
958
+ "hubUpdateBadge": "qikqja_hubUpdateBadge",
959
+ "headerTitleRow": "qikqja_headerTitleRow",
965
960
  "controls": "qikqja_controls",
966
- "resultSeg": "qikqja_resultSeg"
961
+ "segLabel": "qikqja_segLabel",
962
+ "resultCount": "qikqja_resultCount",
963
+ "segBtnActive": "qikqja_segBtnActive",
964
+ "adBadge": "qikqja_adBadge",
965
+ "search": "qikqja_search",
966
+ "githubIcon": "qikqja_githubIcon",
967
+ "githubLink": "qikqja_githubLink",
968
+ "sortGroup": "qikqja_sortGroup",
969
+ "tab": "qikqja_tab",
970
+ "searchRow": "qikqja_searchRow"
967
971
  };
968
972
  //#endregion
969
973
  //#region \0dsh-css:src/client/styles/Modal.module.css.mjs
@@ -982,147 +986,147 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
982
986
  css: css$10
983
987
  });
984
988
  var Modal_module_css_default = {
985
- "noticeBadgeOk": "BiQ1zG_noticeBadgeOk",
986
- "modalLink": "BiQ1zG_modalLink",
987
- "progressHead": "BiQ1zG_progressHead",
988
- "failNetworkTarget": "BiQ1zG_failNetworkTarget",
989
- "hubUpdateNotes": "BiQ1zG_hubUpdateNotes",
990
- "detailModal": "BiQ1zG_detailModal",
991
- "toastFail": "BiQ1zG_toastFail",
992
- "queuedHint": "BiQ1zG_queuedHint",
993
- "failBigIssue": "BiQ1zG_failBigIssue",
994
- "noticeRowOk": "BiQ1zG_noticeRowOk",
989
+ "hubVersionNumber": "BiQ1zG_hubVersionNumber",
990
+ "detailPathText": "BiQ1zG_detailPathText",
995
991
  "queueRowTarget": "BiQ1zG_queueRowTarget",
996
- "progressTrack": "BiQ1zG_progressTrack",
997
- "restartNowWarning": "BiQ1zG_restartNowWarning",
998
- "failRepo": "BiQ1zG_failRepo",
999
- "stripCancel": "BiQ1zG_stripCancel",
1000
- "resultRestarting": "BiQ1zG_resultRestarting",
1001
- "queueRowDesc": "BiQ1zG_queueRowDesc",
1002
- "failedCopyHint": "BiQ1zG_failedCopyHint",
992
+ "modalTitleQueued": "BiQ1zG_modalTitleQueued",
993
+ "queueRowHead": "BiQ1zG_queueRowHead",
1003
994
  "noticeMain": "BiQ1zG_noticeMain",
1004
- "modalLabel": "BiQ1zG_modalLabel",
1005
- "detailGrid": "BiQ1zG_detailGrid",
1006
- "resultCheck": "BiQ1zG_resultCheck",
1007
- "detailStatusPending": "BiQ1zG_detailStatusPending",
1008
- "noticeTextOk": "BiQ1zG_noticeTextOk",
1009
- "modalCmdText": "BiQ1zG_modalCmdText",
1010
- "noticeRowMain": "BiQ1zG_noticeRowMain",
1011
- "queueRowStatus": "BiQ1zG_queueRowStatus",
1012
- "errorModal": "BiQ1zG_errorModal",
1013
- "confirmIconDanger": "BiQ1zG_confirmIconDanger",
1014
- "noticeVersion": "BiQ1zG_noticeVersion",
1015
- "modalRow": "BiQ1zG_modalRow",
995
+ "dangerConfirm": "BiQ1zG_dangerConfirm",
996
+ "logModal": "BiQ1zG_logModal",
997
+ "modalIn": "BiQ1zG_modalIn",
1016
998
  "failClear": "BiQ1zG_failClear",
1017
- "errorTitle": "BiQ1zG_errorTitle",
1018
- "cliOnlyHint": "BiQ1zG_cliOnlyHint",
1019
- "toast": "BiQ1zG_toast",
1020
- "resultCheckIcon": "BiQ1zG_resultCheckIcon",
1021
- "resultDesc": "BiQ1zG_resultDesc",
999
+ "failReason": "BiQ1zG_failReason",
1022
1000
  "failEmpty": "BiQ1zG_failEmpty",
1001
+ "detailMono": "BiQ1zG_detailMono",
1002
+ "hubUpdateModal": "BiQ1zG_hubUpdateModal",
1003
+ "failList": "BiQ1zG_failList",
1004
+ "modalClose": "BiQ1zG_modalClose",
1005
+ "noticeList": "BiQ1zG_noticeList",
1006
+ "queuedHint": "BiQ1zG_queuedHint",
1007
+ "uninstallConfirm": "BiQ1zG_uninstallConfirm",
1023
1008
  "hubVersionBar": "BiQ1zG_hubVersionBar",
1024
- "detailRow": "BiQ1zG_detailRow",
1009
+ "failRepo": "BiQ1zG_failRepo",
1025
1010
  "queueRowBody": "BiQ1zG_queueRowBody",
1026
- "detailPathActions": "BiQ1zG_detailPathActions",
1027
- "noticeTime": "BiQ1zG_noticeTime",
1028
- "failCopy": "BiQ1zG_failCopy",
1029
- "hubVersionDate": "BiQ1zG_hubVersionDate",
1030
- "dangerConfirm": "BiQ1zG_dangerConfirm",
1031
- "toastIn": "BiQ1zG_toastIn",
1011
+ "failKindInstall": "BiQ1zG_failKindInstall",
1012
+ "modal": "BiQ1zG_modal",
1013
+ "confirmPrimary": "BiQ1zG_confirmPrimary",
1014
+ "noticeRemove": "BiQ1zG_noticeRemove",
1015
+ "queueRowPct": "BiQ1zG_queueRowPct",
1032
1016
  "failRepoLabel": "BiQ1zG_failRepoLabel",
1033
- "helpModal": "BiQ1zG_helpModal",
1034
- "failReason": "BiQ1zG_failReason",
1035
- "hubStateLatest": "BiQ1zG_hubStateLatest",
1036
- "progress": "BiQ1zG_progress",
1037
- "restartNow": "BiQ1zG_restartNow",
1038
- "detailLabel": "BiQ1zG_detailLabel",
1039
- "modalTitleBusy": "BiQ1zG_modalTitleBusy",
1040
- "noticeHead": "BiQ1zG_noticeHead",
1017
+ "failCopy": "BiQ1zG_failCopy",
1041
1018
  "hubStatePending": "BiQ1zG_hubStatePending",
1042
- "detailValue": "BiQ1zG_detailValue",
1043
- "modalCmd": "BiQ1zG_modalCmd",
1044
- "detailStatusRunning": "BiQ1zG_detailStatusRunning",
1045
- "overlayIn": "BiQ1zG_overlayIn",
1046
- "errorBox": "BiQ1zG_errorBox",
1019
+ "noticeRowOk": "BiQ1zG_noticeRowOk",
1020
+ "detailStatusText": "BiQ1zG_detailStatusText",
1021
+ "overlay": "BiQ1zG_overlay",
1022
+ "queueRow": "BiQ1zG_queueRow",
1023
+ "noticeTextOk": "BiQ1zG_noticeTextOk",
1024
+ "noticeVersion": "BiQ1zG_noticeVersion",
1025
+ "modalTitleBusy": "BiQ1zG_modalTitleBusy",
1026
+ "aboutMeta": "BiQ1zG_aboutMeta",
1027
+ "pendingRowActions": "BiQ1zG_pendingRowActions",
1028
+ "detailStars": "BiQ1zG_detailStars",
1029
+ "modalInstall": "BiQ1zG_modalInstall",
1030
+ "noticeRowMain": "BiQ1zG_noticeRowMain",
1031
+ "restartLater": "BiQ1zG_restartLater",
1032
+ "progressTrack": "BiQ1zG_progressTrack",
1047
1033
  "errorHint": "BiQ1zG_errorHint",
1048
- "modalTitleQueued": "BiQ1zG_modalTitleQueued",
1049
- "failMisjudgeLink": "BiQ1zG_failMisjudgeLink",
1050
- "hubStateChip": "BiQ1zG_hubStateChip",
1034
+ "queueSection": "BiQ1zG_queueSection",
1035
+ "helpModal": "BiQ1zG_helpModal",
1036
+ "stripCancel": "BiQ1zG_stripCancel",
1037
+ "restartNowWarning": "BiQ1zG_restartNowWarning",
1038
+ "failNetworkTarget": "BiQ1zG_failNetworkTarget",
1039
+ "modalActions": "BiQ1zG_modalActions",
1040
+ "modalRow": "BiQ1zG_modalRow",
1051
1041
  "failRepoUrl": "BiQ1zG_failRepoUrl",
1052
- "noticeRow": "BiQ1zG_noticeRow",
1053
- "modalInstall": "BiQ1zG_modalInstall",
1054
- "modalValue": "BiQ1zG_modalValue",
1055
- "linkIcon": "BiQ1zG_linkIcon",
1056
- "detailMono": "BiQ1zG_detailMono",
1057
- "detailStars": "BiQ1zG_detailStars",
1058
- "queueRowHead": "BiQ1zG_queueRowHead",
1059
- "hubUpdateModal": "BiQ1zG_hubUpdateModal",
1060
- "confirmIconWrap": "BiQ1zG_confirmIconWrap",
1061
- "noticeList": "BiQ1zG_noticeList",
1062
- "modalCopy": "BiQ1zG_modalCopy",
1063
- "trustHint": "BiQ1zG_trustHint",
1064
- "noticeIgnore": "BiQ1zG_noticeIgnore",
1065
- "confirmIcon": "BiQ1zG_confirmIcon",
1042
+ "bundleDeselectedHint": "BiQ1zG_bundleDeselectedHint",
1043
+ "detailStatusRunning": "BiQ1zG_detailStatusRunning",
1044
+ "detailLink": "BiQ1zG_detailLink",
1045
+ "queueRowStatus": "BiQ1zG_queueRowStatus",
1046
+ "aboutContent": "BiQ1zG_aboutContent",
1047
+ "overlayIn": "BiQ1zG_overlayIn",
1048
+ "resultDesc": "BiQ1zG_resultDesc",
1066
1049
  "noticeTextFail": "BiQ1zG_noticeTextFail",
1067
- "restartLater": "BiQ1zG_restartLater",
1068
- "noticeRemove": "BiQ1zG_noticeRemove",
1069
- "modalTitle": "BiQ1zG_modalTitle",
1070
- "detailArrow": "BiQ1zG_detailArrow",
1050
+ "errorModal": "BiQ1zG_errorModal",
1071
1051
  "aboutModal": "BiQ1zG_aboutModal",
1072
- "noticeBadgeIcon": "BiQ1zG_noticeBadgeIcon",
1073
- "noticeRowUpdate": "BiQ1zG_noticeRowUpdate",
1074
- "pendingRowStatus": "BiQ1zG_pendingRowStatus",
1075
- "progressText": "BiQ1zG_progressText",
1076
- "modalIn": "BiQ1zG_modalIn",
1077
- "failKindInstall": "BiQ1zG_failKindInstall",
1078
- "modalCloseIcon": "BiQ1zG_modalCloseIcon",
1079
- "pendingRowActions": "BiQ1zG_pendingRowActions",
1080
- "hubVersionNumber": "BiQ1zG_hubVersionNumber",
1081
- "resultTitle": "BiQ1zG_resultTitle",
1082
- "failKindUninstall": "BiQ1zG_failKindUninstall",
1083
- "detailPathText": "BiQ1zG_detailPathText",
1084
- "queueRow": "BiQ1zG_queueRow",
1085
- "failPrepareHint": "BiQ1zG_failPrepareHint",
1086
- "queueSectionTitle": "BiQ1zG_queueSectionTitle",
1087
1052
  "failKind": "BiQ1zG_failKind",
1088
- "detailPath": "BiQ1zG_detailPath",
1089
- "failList": "BiQ1zG_failList",
1090
- "failDiagBtn": "BiQ1zG_failDiagBtn",
1053
+ "modalCmdCopy": "BiQ1zG_modalCmdCopy",
1091
1054
  "modalHead": "BiQ1zG_modalHead",
1055
+ "hubStateLatest": "BiQ1zG_hubStateLatest",
1056
+ "confirmIcon": "BiQ1zG_confirmIcon",
1057
+ "hubVersionDate": "BiQ1zG_hubVersionDate",
1058
+ "linkIcon": "BiQ1zG_linkIcon",
1059
+ "detailPath": "BiQ1zG_detailPath",
1060
+ "resultRestarting": "BiQ1zG_resultRestarting",
1061
+ "queueRowDesc": "BiQ1zG_queueRowDesc",
1062
+ "result": "BiQ1zG_result",
1063
+ "modalCmd": "BiQ1zG_modalCmd",
1064
+ "resultCheck": "BiQ1zG_resultCheck",
1065
+ "progress": "BiQ1zG_progress",
1066
+ "hubStateChip": "BiQ1zG_hubStateChip",
1092
1067
  "modalCancel": "BiQ1zG_modalCancel",
1093
- "logModal": "BiQ1zG_logModal",
1068
+ "detailGrid": "BiQ1zG_detailGrid",
1069
+ "detailModal": "BiQ1zG_detailModal",
1070
+ "detailPathBtn": "BiQ1zG_detailPathBtn",
1071
+ "noticeTime": "BiQ1zG_noticeTime",
1072
+ "modalLabel": "BiQ1zG_modalLabel",
1073
+ "noticeIgnore": "BiQ1zG_noticeIgnore",
1074
+ "noticeRow": "BiQ1zG_noticeRow",
1094
1075
  "modalDesc": "BiQ1zG_modalDesc",
1095
- "uninstallConfirm": "BiQ1zG_uninstallConfirm",
1076
+ "progressFill": "BiQ1zG_progressFill",
1077
+ "hubStateAvailable": "BiQ1zG_hubStateAvailable",
1078
+ "failedCopyHint": "BiQ1zG_failedCopyHint",
1079
+ "failMisjudgeLink": "BiQ1zG_failMisjudgeLink",
1080
+ "modalCmdText": "BiQ1zG_modalCmdText",
1081
+ "modalCloseIcon": "BiQ1zG_modalCloseIcon",
1082
+ "toastIn": "BiQ1zG_toastIn",
1083
+ "detailPathActions": "BiQ1zG_detailPathActions",
1084
+ "modalTitle": "BiQ1zG_modalTitle",
1085
+ "failRow": "BiQ1zG_failRow",
1096
1086
  "failKindTitle": "BiQ1zG_failKindTitle",
1097
- "detailStatusText": "BiQ1zG_detailStatusText",
1098
- "noticeBadgeFail": "BiQ1zG_noticeBadgeFail",
1099
- "modalCmdCopy": "BiQ1zG_modalCmdCopy",
1087
+ "cliOnlyHint": "BiQ1zG_cliOnlyHint",
1100
1088
  "noticeFoot": "BiQ1zG_noticeFoot",
1101
- "detailPathBtn": "BiQ1zG_detailPathBtn",
1102
- "modalBody": "BiQ1zG_modalBody",
1103
- "modal": "BiQ1zG_modal",
1089
+ "progressHead": "BiQ1zG_progressHead",
1104
1090
  "errorCopySoft": "BiQ1zG_errorCopySoft",
1105
- "aboutMeta": "BiQ1zG_aboutMeta",
1106
- "failHead": "BiQ1zG_failHead",
1107
- "noticeUpdateGo": "BiQ1zG_noticeUpdateGo",
1108
- "modalClose": "BiQ1zG_modalClose",
1091
+ "queueSectionTitle": "BiQ1zG_queueSectionTitle",
1092
+ "trustHint": "BiQ1zG_trustHint",
1109
1093
  "progressFillFail": "BiQ1zG_progressFillFail",
1110
- "hubStateAvailable": "BiQ1zG_hubStateAvailable",
1111
- "aboutContent": "BiQ1zG_aboutContent",
1112
- "overlay": "BiQ1zG_overlay",
1113
- "modalWide": "BiQ1zG_modalWide",
1114
- "confirmPrimary": "BiQ1zG_confirmPrimary",
1115
- "failRow": "BiQ1zG_failRow",
1116
- "bundleDeselectedHint": "BiQ1zG_bundleDeselectedHint",
1117
- "progressFill": "BiQ1zG_progressFill",
1094
+ "detailLabel": "BiQ1zG_detailLabel",
1095
+ "confirmIconWrap": "BiQ1zG_confirmIconWrap",
1096
+ "detailValue": "BiQ1zG_detailValue",
1097
+ "detailStatusPending": "BiQ1zG_detailStatusPending",
1098
+ "queueRowTrack": "BiQ1zG_queueRowTrack",
1099
+ "noticeBadgeFail": "BiQ1zG_noticeBadgeFail",
1100
+ "modalValue": "BiQ1zG_modalValue",
1101
+ "modalLink": "BiQ1zG_modalLink",
1102
+ "errorBox": "BiQ1zG_errorBox",
1103
+ "noticeRowUpdate": "BiQ1zG_noticeRowUpdate",
1104
+ "modalBody": "BiQ1zG_modalBody",
1105
+ "resultTitle": "BiQ1zG_resultTitle",
1106
+ "detailArrow": "BiQ1zG_detailArrow",
1107
+ "errorTitle": "BiQ1zG_errorTitle",
1108
+ "noticeUpdateGo": "BiQ1zG_noticeUpdateGo",
1109
+ "failDiagBtn": "BiQ1zG_failDiagBtn",
1110
+ "confirmIconDanger": "BiQ1zG_confirmIconDanger",
1111
+ "progressText": "BiQ1zG_progressText",
1112
+ "modalCopy": "BiQ1zG_modalCopy",
1113
+ "failPrepareHint": "BiQ1zG_failPrepareHint",
1114
+ "resultCheckIcon": "BiQ1zG_resultCheckIcon",
1115
+ "noticeHead": "BiQ1zG_noticeHead",
1116
+ "restartNow": "BiQ1zG_restartNow",
1117
+ "toast": "BiQ1zG_toast",
1118
+ "toastFail": "BiQ1zG_toastFail",
1119
+ "noticeBadgeOk": "BiQ1zG_noticeBadgeOk",
1120
+ "noticeBadgeIcon": "BiQ1zG_noticeBadgeIcon",
1118
1121
  "detailDim": "BiQ1zG_detailDim",
1119
- "queueSection": "BiQ1zG_queueSection",
1120
- "queueRowPct": "BiQ1zG_queueRowPct",
1122
+ "failBigIssue": "BiQ1zG_failBigIssue",
1123
+ "detailRow": "BiQ1zG_detailRow",
1124
+ "modalWide": "BiQ1zG_modalWide",
1125
+ "failKindUninstall": "BiQ1zG_failKindUninstall",
1121
1126
  "detailUpdateHint": "BiQ1zG_detailUpdateHint",
1122
- "detailLink": "BiQ1zG_detailLink",
1123
- "queueRowTrack": "BiQ1zG_queueRowTrack",
1124
- "result": "BiQ1zG_result",
1125
- "modalActions": "BiQ1zG_modalActions"
1127
+ "pendingRowStatus": "BiQ1zG_pendingRowStatus",
1128
+ "hubUpdateNotes": "BiQ1zG_hubUpdateNotes",
1129
+ "failHead": "BiQ1zG_failHead"
1126
1130
  };
1127
1131
  //#endregion
1128
1132
  //#region src/server/services/install/release-target.ts
@@ -1212,7 +1216,7 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
1212
1216
  * tsdown 构建时用 define 把 __PLUGIN_VERSION__ 替换成 package.json 的版本号;
1213
1217
  * node --test 直接 import 本模块时该标识符不存在,typeof 守卫兜底为空串。
1214
1218
  */
1215
- const PLUGIN_VERSION = "2.3.0";
1219
+ const PLUGIN_VERSION = "2.3.1";
1216
1220
  const CATEGORY_ORDER = [
1217
1221
  "interface",
1218
1222
  "session",
@@ -2133,7 +2137,7 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
2133
2137
  * registry 真实发布时间下发(同源),据此判断最准。门槛命中要单列成 `pending` 而不是
2134
2138
  * 落回「无更新」——回落会让弹窗在本机版本落后时谎称「已是最新」。
2135
2139
  */
2136
- const hubCurrentVersion = "2.3.0";
2140
+ const hubCurrentVersion = "2.3.1";
2137
2141
  const hubUpdateResult = hubUpdateInfo === null ? {
2138
2142
  state: "none",
2139
2143
  target: null
@@ -5190,7 +5194,7 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
5190
5194
  }
5191
5195
  //#endregion
5192
5196
  //#region \0dsh-css:src/client/styles/List.module.css.mjs
5193
- const css$9 = "._3XaZHa_body{flex-direction:column;flex:1;min-height:0;display:flex}._3XaZHa_list{flex-direction:column;flex:1;gap:6px;min-height:0;padding:2px 4px 4px 2px;display:flex;overflow-y:auto}._3XaZHa_moreSentinel{flex-shrink:0;height:1px}._3XaZHa_card{border:1px solid var(--hub-border-2);background:var(--hub-bg-1);border-radius:8px;justify-content:space-between;align-items:stretch;gap:12px;padding:9px 12px;transition:border-color .12s,background .12s;display:flex}._3XaZHa_card:hover{border-color:var(--hub-brand);background:var(--hub-bg-2)}._3XaZHa_cardMain{flex-direction:column;gap:4px;min-width:0;display:flex}._3XaZHa_cardHead{align-items:center;gap:6px;min-width:0;display:flex}._3XaZHa_cardTitle{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;line-height:18px;overflow:hidden}._3XaZHa_categoryBadge,._3XaZHa_verified,._3XaZHa_versionBadge,._3XaZHa_updateBadge{border:1px solid #0000;border-radius:4px;flex-shrink:0;padding:0 6px;font-size:10px;line-height:16px}._3XaZHa_categoryBadge{color:var(--hub-brand);border-color:var(--hub-border-ghost)}._3XaZHa_verified{color:var(--hub-success);border-color:var(--hub-success-border)}._3XaZHa_versionBadge{color:var(--hub-text-secondary);border-color:var(--hub-border-input)}._3XaZHa_updateBadge{color:var(--hub-warn);border-color:var(--hub-warn-border);background:var(--hub-warn-tint)}._3XaZHa_desc{color:var(--hub-text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:12px;line-height:18px;display:-webkit-box;overflow:hidden}._3XaZHa_topics{flex-wrap:wrap;align-items:center;gap:4px;min-width:0;display:flex}._3XaZHa_topic{color:var(--hub-text-tertiary);background:var(--hub-bg-3);white-space:nowrap;border-radius:4px;flex-shrink:0;padding:0 6px;font-size:10px;line-height:16px}._3XaZHa_cardSide{flex-direction:column;flex-shrink:0;justify-content:space-between;align-items:flex-end;gap:6px;display:flex}._3XaZHa_stats{flex-direction:column;align-items:flex-end;gap:1px;display:flex}._3XaZHa_star{color:var(--hub-warn);white-space:nowrap;font-size:11px;line-height:16px}._3XaZHa_fork{color:var(--hub-text-tertiary);white-space:nowrap;font-size:11px;line-height:16px}._3XaZHa_date{color:var(--hub-text-tertiary);white-space:nowrap;font-size:10px;line-height:14px}._3XaZHa_installBtn,._3XaZHa_installBtnCopied,._3XaZHa_installBtnInstalled,._3XaZHa_installBtnUpdate,._3XaZHa_uninstallBtn,._3XaZHa_detailBtn{cursor:pointer;border-radius:6px;padding:2px 10px;font-size:11px;line-height:18px;transition:color .12s,border-color .12s,background .12s}._3XaZHa_installBtnInstalled{color:var(--hub-success);background:var(--hub-success-tint);cursor:default;-webkit-user-select:none;user-select:none;border:none}._3XaZHa_installBtnUpdate{color:#fff;background:var(--hub-warn);-webkit-user-select:none;user-select:none;border:none;font-weight:500}._3XaZHa_installBtnUpdate:hover{background:var(--hub-warn-strong)}._3XaZHa_uninstallBtn{color:var(--hub-danger);background:var(--hub-danger-tint);-webkit-user-select:none;user-select:none;border:none}._3XaZHa_uninstallBtn:hover{color:#fff;background:var(--hub-danger-hover)}body[data-ds-dark-theme] ._3XaZHa_uninstallBtn{color:#fff;background:var(--hub-danger)}body[data-ds-dark-theme] ._3XaZHa_uninstallBtn:hover{background:var(--hub-danger-hover)}._3XaZHa_installBtn{color:var(--hub-text-on-fill);background:var(--hub-btn-fill);-webkit-user-select:none;user-select:none;border:none;font-weight:500}._3XaZHa_installBtn:hover{background:var(--hub-btn-hover)}._3XaZHa_detailBtn{color:var(--hub-text-secondary);-webkit-user-select:none;user-select:none;background:0 0;border:none;align-items:center;text-decoration:none;display:inline-flex}._3XaZHa_detailBtn:hover{color:var(--hub-text-primary);background:var(--hub-bg-hover)}._3XaZHa_actions{align-items:center;gap:6px;display:flex}._3XaZHa_installBtnCopied{color:var(--hub-success);background:var(--hub-success-tint);-webkit-user-select:none;user-select:none;border:none}._3XaZHa_state{text-align:center;min-height:160px;color:var(--hub-text-tertiary);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;padding:24px;font-size:12px;line-height:18px;display:flex}._3XaZHa_stateTitle{color:var(--hub-text-primary);font-size:13px;font-weight:600}._3XaZHa_stateDesc{max-width:420px}._3XaZHa_retryBtn{color:var(--hub-text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:none;border-radius:6px;padding:4px 12px;font-size:12px;line-height:18px}._3XaZHa_retryBtn:hover{color:var(--hub-text-primary);background:var(--hub-bg-hover)}._3XaZHa_stateActions{align-items:center;gap:8px;margin-top:4px;display:flex}._3XaZHa_diagBtn{color:#fff;background:var(--hub-brand);cursor:pointer;-webkit-user-select:none;user-select:none;border:none;border-radius:6px;padding:4px 12px;font-size:12px;line-height:18px}._3XaZHa_diagBtn:hover{background:var(--hub-brand-hover)}._3XaZHa_footer{border-top:1px solid var(--hub-border-1);flex-shrink:0;justify-content:flex-end;align-items:center;gap:8px;padding:6px 4px 0;display:flex}._3XaZHa_footLink{color:var(--hub-brand);white-space:nowrap;-webkit-user-select:none;user-select:none;font-size:11px;line-height:16px;text-decoration:none}._3XaZHa_footLink:hover{text-decoration:underline}";
5197
+ const css$9 = "._3XaZHa_body{flex-direction:column;flex:1;min-height:0;display:flex}._3XaZHa_list{flex-direction:column;flex:1;gap:6px;min-height:0;padding:2px 4px 4px 2px;display:flex;overflow-y:auto}._3XaZHa_moreSentinel{flex-shrink:0;height:1px}._3XaZHa_card{border:1px solid var(--hub-border-2);background:var(--hub-bg-1);border-radius:8px;justify-content:space-between;align-items:stretch;gap:12px;padding:9px 12px;transition:border-color .12s,background .12s;display:flex}._3XaZHa_card:hover{border-color:var(--hub-brand);background:var(--hub-bg-2)}._3XaZHa_cardMain{flex-direction:column;gap:4px;min-width:0;display:flex}._3XaZHa_cardTitleRow{align-items:center;gap:6px;min-width:0;display:flex}._3XaZHa_cardTitle{white-space:nowrap;text-overflow:ellipsis;min-width:0;color:inherit;flex:0 auto;font-size:13px;font-weight:600;line-height:18px;text-decoration:none;transition:color .12s;overflow:hidden}a._3XaZHa_cardTitle:hover{color:var(--hub-brand);text-decoration:underline}._3XaZHa_cardBadgeRow{flex-wrap:wrap;align-items:center;gap:6px;display:flex}._3XaZHa_categoryBadge,._3XaZHa_verified,._3XaZHa_authorBadge,._3XaZHa_versionBadge,._3XaZHa_updateBadge{border:1px solid #0000;border-radius:4px;flex-shrink:0;padding:0 5px;font-size:10px;line-height:14px}._3XaZHa_authorBadge{color:var(--hub-text-tertiary);border-color:var(--hub-border-ghost);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}._3XaZHa_categoryBadge{color:var(--hub-brand);border-color:var(--hub-border-ghost)}._3XaZHa_verified{color:var(--hub-success);border-color:var(--hub-success-border)}._3XaZHa_versionBadge{color:var(--hub-text-secondary);border-color:var(--hub-border-input)}._3XaZHa_updateBadge{color:var(--hub-warn);border-color:var(--hub-warn-border);background:var(--hub-warn-tint)}._3XaZHa_desc{color:var(--hub-text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:12px;line-height:18px;display:-webkit-box;overflow:hidden}._3XaZHa_topics{flex-wrap:wrap;align-items:center;gap:4px;min-width:0;display:flex}._3XaZHa_topic{color:var(--hub-text-tertiary);background:var(--hub-bg-3);white-space:nowrap;border-radius:4px;flex-shrink:0;padding:0 6px;font-size:10px;line-height:16px}._3XaZHa_cardSide{flex-direction:column;flex-shrink:0;justify-content:space-between;align-items:flex-end;gap:6px;display:flex}._3XaZHa_stats{flex-direction:column;align-items:flex-end;gap:1px;display:flex}._3XaZHa_star{color:var(--hub-warn);white-space:nowrap;font-size:11px;line-height:16px}._3XaZHa_fork{color:var(--hub-text-tertiary);white-space:nowrap;font-size:11px;line-height:16px}._3XaZHa_date{color:var(--hub-text-tertiary);white-space:nowrap;font-size:10px;line-height:14px}._3XaZHa_installBtn,._3XaZHa_installBtnCopied,._3XaZHa_installBtnInstalled,._3XaZHa_installBtnUpdate,._3XaZHa_uninstallBtn,._3XaZHa_detailBtn{cursor:pointer;border-radius:6px;padding:2px 10px;font-size:11px;line-height:18px;transition:color .12s,border-color .12s,background .12s}._3XaZHa_installBtnInstalled{color:var(--hub-success);background:var(--hub-success-tint);cursor:default;-webkit-user-select:none;user-select:none;border:none}._3XaZHa_installBtnUpdate{color:#fff;background:var(--hub-warn);-webkit-user-select:none;user-select:none;border:none;font-weight:500}._3XaZHa_installBtnUpdate:hover{background:var(--hub-warn-strong)}._3XaZHa_uninstallBtn{color:var(--hub-danger);background:var(--hub-danger-tint);-webkit-user-select:none;user-select:none;border:none}._3XaZHa_uninstallBtn:hover{color:#fff;background:var(--hub-danger-hover)}body[data-ds-dark-theme] ._3XaZHa_uninstallBtn{color:#fff;background:var(--hub-danger)}body[data-ds-dark-theme] ._3XaZHa_uninstallBtn:hover{background:var(--hub-danger-hover)}._3XaZHa_installBtn{color:var(--hub-text-on-fill);background:var(--hub-btn-fill);-webkit-user-select:none;user-select:none;border:none;font-weight:500}._3XaZHa_installBtn:hover{background:var(--hub-btn-hover)}._3XaZHa_detailBtn{color:var(--hub-text-secondary);-webkit-user-select:none;user-select:none;background:0 0;border:none;align-items:center;text-decoration:none;display:inline-flex}._3XaZHa_detailBtn:hover{color:var(--hub-text-primary);background:var(--hub-bg-hover)}._3XaZHa_actions{align-items:center;gap:6px;display:flex}._3XaZHa_installBtnCopied{color:var(--hub-success);background:var(--hub-success-tint);-webkit-user-select:none;user-select:none;border:none}._3XaZHa_state{text-align:center;min-height:160px;color:var(--hub-text-tertiary);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;padding:24px;font-size:12px;line-height:18px;display:flex}._3XaZHa_stateTitle{color:var(--hub-text-primary);font-size:13px;font-weight:600}._3XaZHa_stateDesc{max-width:420px}._3XaZHa_retryBtn{color:var(--hub-text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:none;border-radius:6px;padding:4px 12px;font-size:12px;line-height:18px}._3XaZHa_retryBtn:hover{color:var(--hub-text-primary);background:var(--hub-bg-hover)}._3XaZHa_stateActions{align-items:center;gap:8px;margin-top:4px;display:flex}._3XaZHa_diagBtn{color:#fff;background:var(--hub-brand);cursor:pointer;-webkit-user-select:none;user-select:none;border:none;border-radius:6px;padding:4px 12px;font-size:12px;line-height:18px}._3XaZHa_diagBtn:hover{background:var(--hub-brand-hover)}._3XaZHa_footer{border-top:1px solid var(--hub-border-1);flex-shrink:0;justify-content:flex-end;align-items:center;gap:8px;padding:6px 4px 0;display:flex}._3XaZHa_footLink{color:var(--hub-brand);white-space:nowrap;-webkit-user-select:none;user-select:none;font-size:11px;line-height:16px;text-decoration:none}._3XaZHa_footLink:hover{text-decoration:underline}";
5194
5198
  const tagId$9 = "dsh-plugin/List.module.css";
5195
5199
  if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$9) + "]") === null) {
5196
5200
  const tag = document.createElement("style");
@@ -5205,40 +5209,42 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
5205
5209
  css: css$9
5206
5210
  });
5207
5211
  var List_module_css_default = {
5212
+ "categoryBadge": "_3XaZHa_categoryBadge",
5213
+ "cardTitleRow": "_3XaZHa_cardTitleRow",
5214
+ "topics": "_3XaZHa_topics",
5215
+ "actions": "_3XaZHa_actions",
5208
5216
  "moreSentinel": "_3XaZHa_moreSentinel",
5209
- "installBtnUpdate": "_3XaZHa_installBtnUpdate",
5210
- "verified": "_3XaZHa_verified",
5211
- "topic": "_3XaZHa_topic",
5212
- "cardSide": "_3XaZHa_cardSide",
5213
- "cardHead": "_3XaZHa_cardHead",
5214
- "fork": "_3XaZHa_fork",
5215
- "footer": "_3XaZHa_footer",
5216
- "date": "_3XaZHa_date",
5217
- "uninstallBtn": "_3XaZHa_uninstallBtn",
5218
- "card": "_3XaZHa_card",
5217
+ "authorBadge": "_3XaZHa_authorBadge",
5218
+ "installBtn": "_3XaZHa_installBtn",
5219
+ "state": "_3XaZHa_state",
5220
+ "stateDesc": "_3XaZHa_stateDesc",
5221
+ "installBtnCopied": "_3XaZHa_installBtnCopied",
5219
5222
  "footLink": "_3XaZHa_footLink",
5220
- "diagBtn": "_3XaZHa_diagBtn",
5221
- "topics": "_3XaZHa_topics",
5222
- "installBtnInstalled": "_3XaZHa_installBtnInstalled",
5223
- "stateTitle": "_3XaZHa_stateTitle",
5224
- "versionBadge": "_3XaZHa_versionBadge",
5225
5223
  "cardTitle": "_3XaZHa_cardTitle",
5226
- "stateDesc": "_3XaZHa_stateDesc",
5227
- "body": "_3XaZHa_body",
5228
- "categoryBadge": "_3XaZHa_categoryBadge",
5224
+ "date": "_3XaZHa_date",
5225
+ "cardBadgeRow": "_3XaZHa_cardBadgeRow",
5226
+ "cardMain": "_3XaZHa_cardMain",
5227
+ "versionBadge": "_3XaZHa_versionBadge",
5228
+ "retryBtn": "_3XaZHa_retryBtn",
5229
5229
  "stats": "_3XaZHa_stats",
5230
+ "topic": "_3XaZHa_topic",
5231
+ "cardSide": "_3XaZHa_cardSide",
5230
5232
  "updateBadge": "_3XaZHa_updateBadge",
5231
- "installBtn": "_3XaZHa_installBtn",
5232
- "detailBtn": "_3XaZHa_detailBtn",
5233
5233
  "star": "_3XaZHa_star",
5234
- "state": "_3XaZHa_state",
5235
- "retryBtn": "_3XaZHa_retryBtn",
5236
- "installBtnCopied": "_3XaZHa_installBtnCopied",
5237
- "cardMain": "_3XaZHa_cardMain",
5234
+ "fork": "_3XaZHa_fork",
5235
+ "footer": "_3XaZHa_footer",
5236
+ "installBtnInstalled": "_3XaZHa_installBtnInstalled",
5238
5237
  "desc": "_3XaZHa_desc",
5238
+ "detailBtn": "_3XaZHa_detailBtn",
5239
+ "diagBtn": "_3XaZHa_diagBtn",
5240
+ "verified": "_3XaZHa_verified",
5241
+ "stateTitle": "_3XaZHa_stateTitle",
5242
+ "card": "_3XaZHa_card",
5243
+ "stateActions": "_3XaZHa_stateActions",
5239
5244
  "list": "_3XaZHa_list",
5240
- "actions": "_3XaZHa_actions",
5241
- "stateActions": "_3XaZHa_stateActions"
5245
+ "uninstallBtn": "_3XaZHa_uninstallBtn",
5246
+ "body": "_3XaZHa_body",
5247
+ "installBtnUpdate": "_3XaZHa_installBtnUpdate"
5242
5248
  };
5243
5249
  //#endregion
5244
5250
  //#region src/client/hooks/useIncrementalList.ts
@@ -5293,7 +5299,14 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
5293
5299
  const update = hasUpdate(p);
5294
5300
  const pendingUntil = isInstalled && !update ? updatePendingUntil(p) : null;
5295
5301
  const versionShown = isInstalled ? installedVersion(p) : p.version;
5296
- return (0, react.createElement)("div", { className: List_module_css_default.card }, (0, react.createElement)("div", { className: List_module_css_default.cardMain }, (0, react.createElement)("div", { className: List_module_css_default.cardHead }, (0, react.createElement)("div", {
5302
+ const author = p.ownerSlug ?? repo.split("/")[0]?.toLowerCase() ?? "";
5303
+ return (0, react.createElement)("div", { className: List_module_css_default.card }, (0, react.createElement)("div", { className: List_module_css_default.cardMain }, (0, react.createElement)("div", { className: List_module_css_default.cardTitleRow }, repo ? (0, react.createElement)("a", {
5304
+ className: List_module_css_default.cardTitle,
5305
+ href: pluginDetailUrl(p, langPath),
5306
+ target: "_blank",
5307
+ rel: "noopener noreferrer",
5308
+ title: p.description ?? ""
5309
+ }, p.displayName ?? p.slug) : (0, react.createElement)("div", {
5297
5310
  className: List_module_css_default.cardTitle,
5298
5311
  title: p.description ?? ""
5299
5312
  }, p.displayName ?? p.slug), versionShown ? (0, react.createElement)("span", {
@@ -5305,7 +5318,10 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
5305
5318
  }, t("updateAvailable")) : null, pendingUntil !== null ? (0, react.createElement)("span", {
5306
5319
  className: List_module_css_default.updateBadge,
5307
5320
  title: t("updatePendingHint")
5308
- }, t("updatePending", { time: clockTime(pendingUntil) })) : null, p.category ? (0, react.createElement)("span", { className: List_module_css_default.categoryBadge }, categoryLabel(CATEGORY_LABELS, p.category, langKey)) : null, p.compatibility?.status === "verified" ? (0, react.createElement)("span", { className: List_module_css_default.verified }, t("verified")) : null), p.description ? (0, react.createElement)("p", { className: List_module_css_default.desc }, p.description) : null, (p.topics?.length ?? 0) > 0 ? (0, react.createElement)("div", { className: List_module_css_default.topics }, p.topics.slice(0, 3).map((topic) => (0, react.createElement)("span", {
5321
+ }, t("updatePending", { time: clockTime(pendingUntil) })) : null), author || p.category || p.compatibility?.status === "verified" ? (0, react.createElement)("div", { className: List_module_css_default.cardBadgeRow }, author ? (0, react.createElement)("span", {
5322
+ className: List_module_css_default.authorBadge,
5323
+ title: t("author")
5324
+ }, `@${author}`) : null, p.category ? (0, react.createElement)("span", { className: List_module_css_default.categoryBadge }, categoryLabel(CATEGORY_LABELS, p.category, langKey)) : null, p.compatibility?.status === "verified" ? (0, react.createElement)("span", { className: List_module_css_default.verified }, t("verified")) : null) : null, p.description ? (0, react.createElement)("p", { className: List_module_css_default.desc }, p.description) : null, (p.topics?.length ?? 0) > 0 ? (0, react.createElement)("div", { className: List_module_css_default.topics }, p.topics.slice(0, 3).map((topic) => (0, react.createElement)("span", {
5309
5325
  key: topic,
5310
5326
  className: List_module_css_default.topic
5311
5327
  }, topic))) : null), (0, react.createElement)("div", { className: List_module_css_default.cardSide }, (0, react.createElement)("div", { className: List_module_css_default.stats }, (0, react.createElement)("span", { className: List_module_css_default.star }, "★ ", fmtStars(p.stats?.stargazers_count)), (0, react.createElement)("span", { className: List_module_css_default.fork }, t("fork"), " ", fmtStars(p.stats?.forks_count)), (0, react.createElement)("span", { className: List_module_css_default.date }, relTime(p.dates?.repoUpdatedAt, t))), repo ? (0, react.createElement)("div", { className: List_module_css_default.actions }, (0, react.createElement)("a", {
@@ -5448,17 +5464,17 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
5448
5464
  tagId: tagId$8,
5449
5465
  css: css$8
5450
5466
  });
5451
- var SectionTabs_module_css_default = {
5452
- "noticeIcon": "_7tvizq_noticeIcon",
5453
- "tabIcon": "_7tvizq_tabIcon",
5467
+ var SectionTabs_module_css_default = {
5454
5468
  "tabCount": "_7tvizq_tabCount",
5455
- "tab": "_7tvizq_tab",
5456
- "noticeBtn": "_7tvizq_noticeBtn",
5457
- "tabCountActive": "_7tvizq_tabCountActive",
5458
5469
  "noticeCount": "_7tvizq_noticeCount",
5459
- "root": "_7tvizq_root",
5460
5470
  "tabActive": "_7tvizq_tabActive",
5461
- "tabLabel": "_7tvizq_tabLabel"
5471
+ "noticeIcon": "_7tvizq_noticeIcon",
5472
+ "noticeBtn": "_7tvizq_noticeBtn",
5473
+ "tab": "_7tvizq_tab",
5474
+ "tabLabel": "_7tvizq_tabLabel",
5475
+ "tabIcon": "_7tvizq_tabIcon",
5476
+ "tabCountActive": "_7tvizq_tabCountActive",
5477
+ "root": "_7tvizq_root"
5462
5478
  };
5463
5479
  //#endregion
5464
5480
  //#region src/client/components/layout/SectionTabs.tsx
@@ -5519,7 +5535,7 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
5519
5535
  }
5520
5536
  //#endregion
5521
5537
  //#region \0dsh-css:src/client/styles/InstalledView.module.css.mjs
5522
- const css$7 = "._1nXeGW_root{flex-direction:column;gap:8px;min-width:0;display:flex}._1nXeGW_toolbar{border-bottom:1px solid var(--hub-border-1);flex-direction:column;flex-shrink:0;gap:8px;padding:0 2px 10px;display:flex}._1nXeGW_searchWrap{width:100%;min-width:0;height:28px}._1nXeGW_searchInput{width:100%;height:28px;color:var(--hub-text-primary);border:1px solid var(--hub-border-2);background:0 0;border-radius:6px;outline:none;padding:0 9px;font-size:12px;line-height:26px;transition:border-color .12s}._1nXeGW_searchInput::placeholder{color:var(--hub-text-tertiary)}._1nXeGW_searchInput:focus{border-color:var(--hub-brand)}._1nXeGW_segRow{align-items:center;gap:8px;min-width:0;display:flex}._1nXeGW_segLabel{color:var(--hub-text-tertiary);flex-shrink:0;font-size:11px;line-height:16px}._1nXeGW_segGroup{border:1px solid var(--hub-border-2);border-radius:6px;flex-shrink:0;align-items:center;display:inline-flex;overflow:hidden}._1nXeGW_segBtn{height:24px;color:var(--hub-text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;background:0 0;border:none;justify-content:center;align-items:center;gap:4px;padding:0 10px;font-family:inherit;font-size:12px;line-height:24px;transition:color .12s,background .12s;display:inline-flex}._1nXeGW_segBtn svg{flex-shrink:0;display:block}._1nXeGW_segBtn+._1nXeGW_segBtn{border-left:1px solid var(--hub-border-2)}._1nXeGW_segBtn:hover{color:var(--hub-text-primary);background:var(--hub-bg-hover)}._1nXeGW_segBtnActive,._1nXeGW_segBtnActive:hover{color:#fff;background:var(--hub-brand)}._1nXeGW_empty{color:var(--hub-text-tertiary);text-align:center;border:1px dashed var(--hub-border-2);border-radius:8px;flex-direction:column;align-items:center;gap:4px;padding:36px 12px;font-size:12px;line-height:18px;display:flex}._1nXeGW_emptyTitle{color:var(--hub-text-secondary);font-size:13px;font-weight:600}._1nXeGW_emptyDesc{color:var(--hub-text-tertiary)}._1nXeGW_list{border:1px solid var(--hub-border-1);border-radius:8px;flex-direction:column;margin:0;padding:0;list-style:none;display:flex;overflow:hidden}._1nXeGW_row{background:var(--hub-bg-1);cursor:pointer;-webkit-user-select:none;user-select:none;flex-direction:column;gap:4px;padding:8px 10px;transition:background .12s;display:flex}._1nXeGW_row+._1nXeGW_row{border-top:1px solid var(--hub-border-1)}._1nXeGW_row:hover{background:var(--hub-bg-2)}._1nXeGW_rowTitleLine{align-items:center;gap:8px;min-width:0;display:flex}._1nXeGW_rowDesc{color:var(--hub-text-tertiary);white-space:nowrap;text-overflow:ellipsis;min-width:0;padding-left:16px;font-size:11px;line-height:16px;overflow:hidden}._1nXeGW_statusDot{background:var(--hub-success);border-radius:50%;flex-shrink:0;width:8px;height:8px}._1nXeGW_statusDot._1nXeGW_statusPending{background:var(--hub-warning)}._1nXeGW_statusDot._1nXeGW_statusInactive{background:var(--hub-text-tertiary)}._1nXeGW_rowMain{flex:auto;align-items:baseline;gap:6px;min-width:0;display:flex}._1nXeGW_rowTitle{color:var(--hub-text-primary);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:12px;font-weight:600;line-height:18px;overflow:hidden}._1nXeGW_versionBadge{color:var(--hub-text-tertiary);background:var(--hub-bg-hover);border-radius:4px;flex-shrink:0;padding:0 5px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;line-height:16px}._1nXeGW_updateBadge{color:var(--hub-warn);background:var(--hub-warn-tint);border:1px solid var(--hub-warn-border);border-radius:4px;flex-shrink:0;padding:0 5px;font-size:11px;font-weight:500;line-height:16px}._1nXeGW_rowSourceTag{box-sizing:border-box;text-align:center;white-space:nowrap;text-overflow:ellipsis;border-radius:4px;flex-shrink:0;width:60px;padding:0 4px;font-size:11px;font-weight:500;line-height:16px;overflow:hidden}._1nXeGW_rowSourceTagHub{color:var(--hub-brand);background:var(--hub-brand-tint);border:1px solid var(--hub-brand-border-soft)}._1nXeGW_rowSourceTagManual{color:var(--hub-warning);background:var(--hub-warning-tint);border:1px solid var(--hub-warning-border)}._1nXeGW_exampleBadge{color:var(--hub-brand);background:var(--hub-brand-tint);border:1px solid var(--hub-brand-border-soft);border-radius:4px;flex-shrink:0;padding:0 5px;font-size:11px;font-weight:500;line-height:16px}._1nXeGW_exampleRow{align-items:center;min-width:0;padding-left:16px;display:flex}._1nXeGW_rowMeta{align-items:center;gap:8px;min-width:0;padding-left:16px;display:flex;overflow:hidden}._1nXeGW_rowRepo{color:var(--hub-text-tertiary);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;line-height:16px;overflow:hidden}._1nXeGW_rowCategory{color:var(--hub-text-tertiary);background:var(--hub-bg-hover);border-radius:4px;flex-shrink:0;padding:0 6px;font-size:11px;line-height:16px}._1nXeGW_rowActions{flex-shrink:0;align-items:center;gap:4px;display:flex}._1nXeGW_rowDetail{color:var(--hub-text-secondary);border:1px solid var(--hub-border-2);cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border-radius:6px;padding:2px 10px;font-family:inherit;font-size:12px;line-height:18px;transition:color .12s,background .12s,border-color .12s}._1nXeGW_rowDetail:hover{color:var(--hub-text-primary);border-color:var(--hub-border-ghost);background:var(--hub-bg-hover)}._1nXeGW_rowRestart{color:var(--hub-warning);background:var(--hub-warning-tint);border:1px solid var(--hub-warning-border);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:6px;padding:2px 10px;font-family:inherit;font-size:12px;font-weight:500;line-height:18px;transition:color .12s,background .12s,border-color .12s}._1nXeGW_rowRestart:hover{color:#fff;background:var(--hub-warning);border-color:var(--hub-warning)}._1nXeGW_rowUpdate{color:#fff;background:var(--hub-warn);cursor:pointer;-webkit-user-select:none;user-select:none;border:none;border-radius:6px;padding:3px 10px;font-family:inherit;font-size:12px;font-weight:500;line-height:18px;transition:background .12s}._1nXeGW_rowUpdate:hover{background:var(--hub-warn-strong)}._1nXeGW_rowUninstall{color:var(--hub-danger);border:1px solid var(--hub-danger-border-soft);cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border-radius:6px;padding:2px 10px;font-family:inherit;font-size:12px;line-height:18px;transition:color .12s,background .12s,border-color .12s}._1nXeGW_rowUninstall:hover,body[data-ds-dark-theme] ._1nXeGW_rowUninstall{color:#fff;background:var(--hub-danger);border-color:var(--hub-danger)}body[data-ds-dark-theme] ._1nXeGW_rowUninstall:hover{background:var(--hub-danger-hover);border-color:var(--hub-danger-hover)}";
5538
+ const css$7 = "._1nXeGW_root{flex-direction:column;gap:8px;min-width:0;display:flex}._1nXeGW_toolbar{border-bottom:1px solid var(--hub-border-1);flex-direction:column;flex-shrink:0;gap:8px;padding:0 2px 10px;display:flex}._1nXeGW_searchWrap{width:100%;min-width:0;height:28px}._1nXeGW_searchInput{width:100%;height:28px;color:var(--hub-text-primary);border:1px solid var(--hub-border-2);background:0 0;border-radius:6px;outline:none;padding:0 9px;font-size:12px;line-height:26px;transition:border-color .12s}._1nXeGW_searchInput::placeholder{color:var(--hub-text-tertiary)}._1nXeGW_searchInput:focus{border-color:var(--hub-brand)}._1nXeGW_segRow{align-items:center;gap:8px;min-width:0;display:flex}._1nXeGW_segLabel{color:var(--hub-text-tertiary);flex-shrink:0;font-size:11px;line-height:16px}._1nXeGW_segGroup{border:1px solid var(--hub-border-2);border-radius:6px;flex-shrink:0;align-items:center;display:inline-flex;overflow:hidden}._1nXeGW_segBtn{height:24px;color:var(--hub-text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;background:0 0;border:none;justify-content:center;align-items:center;gap:4px;padding:0 10px;font-family:inherit;font-size:12px;line-height:24px;transition:color .12s,background .12s;display:inline-flex}._1nXeGW_segBtn svg{flex-shrink:0;display:block}._1nXeGW_segBtn+._1nXeGW_segBtn{border-left:1px solid var(--hub-border-2)}._1nXeGW_segBtn:hover{color:var(--hub-text-primary);background:var(--hub-bg-hover)}._1nXeGW_segBtnActive,._1nXeGW_segBtnActive:hover{color:#fff;background:var(--hub-brand)}._1nXeGW_empty{color:var(--hub-text-tertiary);text-align:center;border:1px dashed var(--hub-border-2);border-radius:8px;flex-direction:column;align-items:center;gap:4px;padding:36px 12px;font-size:12px;line-height:18px;display:flex}._1nXeGW_emptyTitle{color:var(--hub-text-secondary);font-size:13px;font-weight:600}._1nXeGW_emptyDesc{color:var(--hub-text-tertiary)}._1nXeGW_list{border:1px solid var(--hub-border-1);border-radius:8px;flex-direction:column;margin:0;padding:0;list-style:none;display:flex;overflow:hidden}._1nXeGW_row{background:var(--hub-bg-1);cursor:pointer;-webkit-user-select:none;user-select:none;flex-direction:column;gap:4px;padding:8px 10px;transition:background .12s;display:flex}._1nXeGW_row+._1nXeGW_row{border-top:1px solid var(--hub-border-1)}._1nXeGW_row:hover{background:var(--hub-bg-2)}._1nXeGW_rowTitleLine{align-items:center;gap:8px;min-width:0;display:flex}._1nXeGW_rowDesc{color:var(--hub-text-tertiary);white-space:nowrap;text-overflow:ellipsis;min-width:0;padding-left:16px;font-size:11px;line-height:16px;overflow:hidden}._1nXeGW_statusDot{background:var(--hub-success);border-radius:50%;flex-shrink:0;width:8px;height:8px}._1nXeGW_statusDot._1nXeGW_statusPending{background:var(--hub-warning)}._1nXeGW_statusDot._1nXeGW_statusInactive{background:var(--hub-text-tertiary)}._1nXeGW_rowMain{flex:auto;align-items:baseline;gap:6px;min-width:0;display:flex}._1nXeGW_rowStats{white-space:nowrap;flex-shrink:0;align-items:center;gap:10px;margin-left:auto;display:flex}._1nXeGW_rowStar{color:var(--hub-warn);font-size:11px;line-height:16px}._1nXeGW_rowFork{color:var(--hub-text-tertiary);font-size:11px;line-height:16px}._1nXeGW_rowTitle{color:var(--hub-text-primary);white-space:nowrap;text-overflow:ellipsis;flex:0 auto;min-width:0;font-size:12px;font-weight:600;line-height:18px;text-decoration:none;overflow:hidden}a._1nXeGW_rowTitle:hover{color:var(--hub-brand);text-decoration:underline}._1nXeGW_versionBadge{color:var(--hub-text-tertiary);background:var(--hub-bg-hover);border:1px solid #0000;border-radius:4px;flex-shrink:0;padding:0 5px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:10px;line-height:14px}._1nXeGW_updateBadge{color:var(--hub-warn);background:var(--hub-warn-tint);border:1px solid var(--hub-warn-border);border-radius:4px;flex-shrink:0;padding:0 5px;font-size:10px;font-weight:500;line-height:14px}._1nXeGW_rowSourceTag{box-sizing:border-box;text-align:center;white-space:nowrap;text-overflow:ellipsis;border-radius:4px;flex-shrink:0;width:60px;padding:0 4px;font-size:10px;font-weight:500;line-height:14px;overflow:hidden}._1nXeGW_rowSourceTagHub{color:var(--hub-brand);background:var(--hub-brand-tint);border:1px solid var(--hub-brand-border-soft)}._1nXeGW_rowSourceTagManual{color:var(--hub-warning);background:var(--hub-warning-tint);border:1px solid var(--hub-warning-border)}._1nXeGW_exampleBadge{color:var(--hub-brand);background:var(--hub-brand-tint);border:1px solid var(--hub-brand-border-soft);border-radius:4px;flex-shrink:0;padding:0 5px;font-size:10px;font-weight:500;line-height:14px}._1nXeGW_exampleRow{align-items:center;min-width:0;padding-left:16px;display:flex}._1nXeGW_rowMeta{align-items:center;gap:8px;min-width:0;padding-left:16px;display:flex;overflow:hidden}._1nXeGW_rowRepo{color:var(--hub-text-tertiary);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;line-height:16px;text-decoration:none;overflow:hidden}a._1nXeGW_rowRepo:hover{color:var(--hub-brand);text-decoration:underline}._1nXeGW_rowCategory{color:var(--hub-text-tertiary);background:var(--hub-bg-hover);border:1px solid #0000;border-radius:4px;flex-shrink:0;padding:0 5px;font-size:10px;line-height:14px}._1nXeGW_rowActionLine{justify-content:flex-end;align-items:center;gap:8px;min-width:0;padding-left:16px;display:flex}._1nXeGW_rowActions{flex-shrink:0;align-items:center;gap:4px;display:flex}._1nXeGW_rowDetail{color:var(--hub-text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:1px solid #0000;border-radius:6px;padding:2px 10px;font-family:inherit;font-size:12px;font-weight:500;line-height:18px;transition:color .12s,background .12s,border-color .12s}._1nXeGW_rowDetail:hover{color:var(--hub-text-primary);border-color:var(--hub-border-2);background:var(--hub-bg-hover)}._1nXeGW_rowRestart{color:var(--hub-warning);background:var(--hub-warning-tint);border:1px solid var(--hub-warning-border);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:6px;padding:2px 10px;font-family:inherit;font-size:12px;font-weight:500;line-height:18px;transition:color .12s,background .12s,border-color .12s}._1nXeGW_rowRestart:hover{color:#fff;background:var(--hub-warning);border-color:var(--hub-warning)}._1nXeGW_rowUpdate{color:#fff;background:var(--hub-warn);border:1px solid var(--hub-warn);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:6px;padding:2px 10px;font-family:inherit;font-size:12px;font-weight:500;line-height:18px;transition:background .12s}._1nXeGW_rowUpdate:hover{background:var(--hub-warn-strong)}._1nXeGW_rowUninstall{color:var(--hub-danger);border:1px solid var(--hub-danger-border-soft);cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border-radius:6px;padding:2px 10px;font-family:inherit;font-size:12px;font-weight:500;line-height:18px;transition:color .12s,background .12s,border-color .12s}._1nXeGW_rowUninstall:hover,body[data-ds-dark-theme] ._1nXeGW_rowUninstall{color:#fff;background:var(--hub-danger);border-color:var(--hub-danger)}body[data-ds-dark-theme] ._1nXeGW_rowUninstall:hover{background:var(--hub-danger-hover);border-color:var(--hub-danger-hover)}";
5523
5539
  const tagId$7 = "dsh-plugin/InstalledView.module.css";
5524
5540
  if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$7) + "]") === null) {
5525
5541
  const tag = document.createElement("style");
@@ -5534,42 +5550,46 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
5534
5550
  css: css$7
5535
5551
  });
5536
5552
  var InstalledView_module_css_default = {
5537
- "searchInput": "_1nXeGW_searchInput",
5538
- "segLabel": "_1nXeGW_segLabel",
5539
- "segGroup": "_1nXeGW_segGroup",
5540
- "statusInactive": "_1nXeGW_statusInactive",
5541
- "emptyTitle": "_1nXeGW_emptyTitle",
5542
- "rowSourceTagManual": "_1nXeGW_rowSourceTagManual",
5543
- "segBtn": "_1nXeGW_segBtn",
5544
- "rowTitle": "_1nXeGW_rowTitle",
5545
- "rowSourceTag": "_1nXeGW_rowSourceTag",
5546
- "rowRestart": "_1nXeGW_rowRestart",
5547
- "rowMain": "_1nXeGW_rowMain",
5548
- "rowMeta": "_1nXeGW_rowMeta",
5549
- "rowRepo": "_1nXeGW_rowRepo",
5550
- "rowCategory": "_1nXeGW_rowCategory",
5553
+ "segBtnActive": "_1nXeGW_segBtnActive",
5554
+ "rowTitleLine": "_1nXeGW_rowTitleLine",
5555
+ "rowSourceTagHub": "_1nXeGW_rowSourceTagHub",
5551
5556
  "rowDetail": "_1nXeGW_rowDetail",
5552
- "exampleBadge": "_1nXeGW_exampleBadge",
5553
- "rowUninstall": "_1nXeGW_rowUninstall",
5557
+ "rowUpdate": "_1nXeGW_rowUpdate",
5554
5558
  "statusDot": "_1nXeGW_statusDot",
5555
- "segRow": "_1nXeGW_segRow",
5556
- "row": "_1nXeGW_row",
5557
- "searchWrap": "_1nXeGW_searchWrap",
5558
- "rowDesc": "_1nXeGW_rowDesc",
5559
- "exampleRow": "_1nXeGW_exampleRow",
5559
+ "statusInactive": "_1nXeGW_statusInactive",
5560
5560
  "list": "_1nXeGW_list",
5561
- "emptyDesc": "_1nXeGW_emptyDesc",
5562
- "rowSourceTagHub": "_1nXeGW_rowSourceTagHub",
5561
+ "rowActionLine": "_1nXeGW_rowActionLine",
5562
+ "rowActions": "_1nXeGW_rowActions",
5563
+ "updateBadge": "_1nXeGW_updateBadge",
5563
5564
  "toolbar": "_1nXeGW_toolbar",
5565
+ "rowSourceTag": "_1nXeGW_rowSourceTag",
5566
+ "rowTitle": "_1nXeGW_rowTitle",
5567
+ "searchWrap": "_1nXeGW_searchWrap",
5568
+ "rowSourceTagManual": "_1nXeGW_rowSourceTagManual",
5569
+ "rowRepo": "_1nXeGW_rowRepo",
5570
+ "rowUninstall": "_1nXeGW_rowUninstall",
5564
5571
  "versionBadge": "_1nXeGW_versionBadge",
5565
- "rowUpdate": "_1nXeGW_rowUpdate",
5572
+ "emptyDesc": "_1nXeGW_emptyDesc",
5573
+ "rowRestart": "_1nXeGW_rowRestart",
5574
+ "segBtn": "_1nXeGW_segBtn",
5575
+ "searchInput": "_1nXeGW_searchInput",
5576
+ "exampleBadge": "_1nXeGW_exampleBadge",
5577
+ "rowCategory": "_1nXeGW_rowCategory",
5578
+ "exampleRow": "_1nXeGW_exampleRow",
5579
+ "rowMeta": "_1nXeGW_rowMeta",
5580
+ "rowDesc": "_1nXeGW_rowDesc",
5581
+ "segLabel": "_1nXeGW_segLabel",
5582
+ "empty": "_1nXeGW_empty",
5583
+ "rowMain": "_1nXeGW_rowMain",
5566
5584
  "statusPending": "_1nXeGW_statusPending",
5567
- "segBtnActive": "_1nXeGW_segBtnActive",
5568
- "updateBadge": "_1nXeGW_updateBadge",
5585
+ "segRow": "_1nXeGW_segRow",
5586
+ "rowStar": "_1nXeGW_rowStar",
5587
+ "segGroup": "_1nXeGW_segGroup",
5588
+ "rowStats": "_1nXeGW_rowStats",
5589
+ "rowFork": "_1nXeGW_rowFork",
5590
+ "row": "_1nXeGW_row",
5569
5591
  "root": "_1nXeGW_root",
5570
- "empty": "_1nXeGW_empty",
5571
- "rowTitleLine": "_1nXeGW_rowTitleLine",
5572
- "rowActions": "_1nXeGW_rowActions"
5592
+ "emptyTitle": "_1nXeGW_emptyTitle"
5573
5593
  };
5574
5594
  //#endregion
5575
5595
  //#region src/client/components/views/InstalledView.tsx
@@ -5631,7 +5651,14 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
5631
5651
  className: item.loaded ? InstalledView_module_css_default.statusDot : item.dshCapable && pendingRestart ? `${InstalledView_module_css_default.statusDot} ${InstalledView_module_css_default.statusPending}` : `${InstalledView_module_css_default.statusDot} ${InstalledView_module_css_default.statusInactive}`,
5632
5652
  title: item.loaded ? t("statusRunning") : item.dshCapable && pendingRestart ? t("statusPending") : item.dshCapable ? t("statusInactive") : t("exampleHint"),
5633
5653
  "aria-label": item.loaded ? t("statusRunning") : item.dshCapable && pendingRestart ? t("statusPending") : item.dshCapable ? t("statusInactive") : t("exampleHint")
5634
- }), (0, react.createElement)("div", { className: InstalledView_module_css_default.rowMain }, (0, react.createElement)("span", { className: InstalledView_module_css_default.rowTitle }, name), item.installedVersion ? (0, react.createElement)("span", {
5654
+ }), (0, react.createElement)("div", { className: InstalledView_module_css_default.rowMain }, repo ? (0, react.createElement)("a", {
5655
+ className: InstalledView_module_css_default.rowTitle,
5656
+ href: pluginSiteUrl(repo),
5657
+ target: "_blank",
5658
+ rel: "noopener noreferrer",
5659
+ title: t("detail"),
5660
+ onClick: (e) => e.stopPropagation()
5661
+ }, name) : (0, react.createElement)("span", { className: InstalledView_module_css_default.rowTitle }, name), item.installedVersion ? (0, react.createElement)("span", {
5635
5662
  className: InstalledView_module_css_default.versionBadge,
5636
5663
  title: t("installedVersionLabel")
5637
5664
  }, item.installedVersion) : null, item.hasUpdate ? (0, react.createElement)("span", {
@@ -5640,10 +5667,23 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
5640
5667
  }, t("updateAvailable")) : item.pendingUntil != null ? (0, react.createElement)("span", {
5641
5668
  className: InstalledView_module_css_default.updateBadge,
5642
5669
  title: t("updatePendingHint")
5643
- }, t("updatePending", { time: clockTime(item.pendingUntil) })) : null), (0, react.createElement)("span", {
5670
+ }, t("updatePending", { time: clockTime(item.pendingUntil) })) : null), item.plugin ? (0, react.createElement)("div", { className: InstalledView_module_css_default.rowStats }, (0, react.createElement)("span", { className: InstalledView_module_css_default.rowStar }, "★ ", fmtStars(item.plugin.stats?.stargazers_count)), (0, react.createElement)("span", { className: InstalledView_module_css_default.rowFork }, t("fork"), " ", fmtStars(item.plugin.stats?.forks_count))) : null), !item.dshCapable ? (0, react.createElement)("div", { className: InstalledView_module_css_default.exampleRow }, (0, react.createElement)("span", {
5671
+ className: InstalledView_module_css_default.exampleBadge,
5672
+ title: t("exampleHint")
5673
+ }, t("exampleLabel"))) : null, (0, react.createElement)("div", { className: InstalledView_module_css_default.rowMeta }, item.repo ? (0, react.createElement)("a", {
5674
+ className: InstalledView_module_css_default.rowRepo,
5675
+ href: pluginSiteUrl(item.repo),
5676
+ target: "_blank",
5677
+ rel: "noopener noreferrer",
5678
+ title: t("detail"),
5679
+ onClick: (e) => e.stopPropagation()
5680
+ }, item.repo) : null, category ? (0, react.createElement)("span", { className: InstalledView_module_css_default.rowCategory }, categoryLabel(CATEGORY_LABELS, category, langKey)) : null, (0, react.createElement)("span", {
5644
5681
  className: isCustom ? `${InstalledView_module_css_default.rowSourceTag} ${InstalledView_module_css_default.rowSourceTagManual}` : `${InstalledView_module_css_default.rowSourceTag} ${InstalledView_module_css_default.rowSourceTagHub}`,
5645
5682
  title: isCustom ? t("manualInstallHint") : t("hubInstallHint")
5646
- }, isCustom ? t("manualInstall") : t("hubInstall")), (0, react.createElement)("div", { className: InstalledView_module_css_default.rowActions }, !item.loaded && item.dshCapable && pendingRestart ? (0, react.createElement)("button", {
5683
+ }, isCustom ? t("manualInstall") : t("hubInstall"))), desc ? (0, react.createElement)("div", {
5684
+ className: InstalledView_module_css_default.rowDesc,
5685
+ title: desc
5686
+ }, desc) : null, (0, react.createElement)("div", { className: InstalledView_module_css_default.rowActionLine }, (0, react.createElement)("div", { className: InstalledView_module_css_default.rowActions }, !item.loaded && item.dshCapable && pendingRestart ? (0, react.createElement)("button", {
5647
5687
  className: InstalledView_module_css_default.rowRestart,
5648
5688
  type: "button",
5649
5689
  title: t("restartPendingHint"),
@@ -5658,7 +5698,15 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
5658
5698
  e.stopPropagation();
5659
5699
  onReveal(item);
5660
5700
  }
5661
- }, revealLabel) : null, item.hasUpdate && item.plugin ? (0, react.createElement)("button", {
5701
+ }, revealLabel) : null, (0, react.createElement)("button", {
5702
+ className: InstalledView_module_css_default.rowDetail,
5703
+ type: "button",
5704
+ title: t("detail"),
5705
+ onClick: (e) => {
5706
+ e.stopPropagation();
5707
+ onOpenDetail(item);
5708
+ }
5709
+ }, t("installDetail")), item.hasUpdate && item.plugin ? (0, react.createElement)("button", {
5662
5710
  className: InstalledView_module_css_default.rowUpdate,
5663
5711
  type: "button",
5664
5712
  title: t("updateAvailableHint"),
@@ -5673,13 +5721,7 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
5673
5721
  e.stopPropagation();
5674
5722
  onUninstall(item);
5675
5723
  }
5676
- }, t("uninstall")))), !item.dshCapable ? (0, react.createElement)("div", { className: InstalledView_module_css_default.exampleRow }, (0, react.createElement)("span", {
5677
- className: InstalledView_module_css_default.exampleBadge,
5678
- title: t("exampleHint")
5679
- }, t("exampleLabel"))) : null, repo || category ? (0, react.createElement)("div", { className: InstalledView_module_css_default.rowMeta }, item.repo ? (0, react.createElement)("span", { className: InstalledView_module_css_default.rowRepo }, item.repo) : null, category ? (0, react.createElement)("span", { className: InstalledView_module_css_default.rowCategory }, categoryLabel(CATEGORY_LABELS, category, langKey)) : null) : null, desc ? (0, react.createElement)("div", {
5680
- className: InstalledView_module_css_default.rowDesc,
5681
- title: desc
5682
- }, desc) : null);
5724
+ }, t("uninstall")))));
5683
5725
  }
5684
5726
  /** 行列表:单个已安装列表(自定义安装与目录插件混排,靠徽标区分)。 */
5685
5727
  function RowList({ items, t, langKey, canReveal, revealLabel, pendingRestarts, onOpenDetail, onReveal, onUpdate, onUninstall, onRestart }) {
@@ -5816,27 +5858,27 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
5816
5858
  css: css$6
5817
5859
  });
5818
5860
  var CustomInstallView_module_css_default = {
5819
- "channelOffBtn": "zISxCG_channelOffBtn",
5820
- "installCardHead": "zISxCG_installCardHead",
5821
- "installError": "zISxCG_installError",
5822
- "channelOff": "zISxCG_channelOff",
5823
- "installRow": "zISxCG_installRow",
5824
- "helpNote": "zISxCG_helpNote",
5825
- "helpCmd": "zISxCG_helpCmd",
5826
- "helpLine": "zISxCG_helpLine",
5827
- "installLabel": "zISxCG_installLabel",
5828
- "installCardDisabled": "zISxCG_installCardDisabled",
5829
- "desc": "zISxCG_desc",
5830
- "installCard": "zISxCG_installCard",
5831
5861
  "helpBody": "zISxCG_helpBody",
5862
+ "installExample": "zISxCG_installExample",
5863
+ "installCardDisabled": "zISxCG_installCardDisabled",
5832
5864
  "installCards": "zISxCG_installCards",
5865
+ "installRow": "zISxCG_installRow",
5833
5866
  "installHelpBtn": "zISxCG_installHelpBtn",
5834
- "channelOffText": "zISxCG_channelOffText",
5867
+ "desc": "zISxCG_desc",
5868
+ "helpCmd": "zISxCG_helpCmd",
5869
+ "installError": "zISxCG_installError",
5870
+ "helpNote": "zISxCG_helpNote",
5835
5871
  "installInputError": "zISxCG_installInputError",
5836
- "installInput": "zISxCG_installInput",
5837
- "installBtn": "zISxCG_installBtn",
5872
+ "helpLine": "zISxCG_helpLine",
5873
+ "installCardHead": "zISxCG_installCardHead",
5874
+ "channelOffText": "zISxCG_channelOffText",
5875
+ "channelOff": "zISxCG_channelOff",
5876
+ "channelOffBtn": "zISxCG_channelOffBtn",
5877
+ "installCard": "zISxCG_installCard",
5838
5878
  "root": "zISxCG_root",
5839
- "installExample": "zISxCG_installExample"
5879
+ "installInput": "zISxCG_installInput",
5880
+ "installLabel": "zISxCG_installLabel",
5881
+ "installBtn": "zISxCG_installBtn"
5840
5882
  };
5841
5883
  //#endregion
5842
5884
  //#region src/client/components/views/CustomInstallView.tsx
@@ -5992,30 +6034,30 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
5992
6034
  css: css$5
5993
6035
  });
5994
6036
  var SettingsView_module_css_default = {
5995
- "proxyHintOk": "_506LLG_proxyHintOk",
5996
- "navItemActive": "_506LLG_navItemActive",
5997
- "settingLabel": "_506LLG_settingLabel",
5998
- "card": "_506LLG_card",
5999
- "proxyHint": "_506LLG_proxyHint",
6000
6037
  "controlDropdown": "_506LLG_controlDropdown",
6001
- "proxyHintFail": "_506LLG_proxyHintFail",
6002
- "content": "_506LLG_content",
6003
- "settingRowStack": "_506LLG_settingRowStack",
6004
6038
  "settingDesc": "_506LLG_settingDesc",
6005
- "settingTitle": "_506LLG_settingTitle",
6039
+ "proxyHintFail": "_506LLG_proxyHintFail",
6006
6040
  "navItem": "_506LLG_navItem",
6007
- "navIcon": "_506LLG_navIcon",
6008
- "sidebar": "_506LLG_sidebar",
6009
- "textInput": "_506LLG_textInput",
6010
6041
  "pageTitle": "_506LLG_pageTitle",
6011
- "settingRow": "_506LLG_settingRow",
6012
- "settingControlStack": "_506LLG_settingControlStack",
6042
+ "settingLabel": "_506LLG_settingLabel",
6043
+ "settingTitle": "_506LLG_settingTitle",
6013
6044
  "root": "_506LLG_root",
6014
- "resetBtn": "_506LLG_resetBtn",
6015
- "pageDesc": "_506LLG_pageDesc",
6016
6045
  "settingControl": "_506LLG_settingControl",
6017
6046
  "pageHeader": "_506LLG_pageHeader",
6018
- "proxyControl": "_506LLG_proxyControl"
6047
+ "pageDesc": "_506LLG_pageDesc",
6048
+ "settingRow": "_506LLG_settingRow",
6049
+ "navIcon": "_506LLG_navIcon",
6050
+ "card": "_506LLG_card",
6051
+ "proxyHint": "_506LLG_proxyHint",
6052
+ "settingControlStack": "_506LLG_settingControlStack",
6053
+ "settingRowStack": "_506LLG_settingRowStack",
6054
+ "textInput": "_506LLG_textInput",
6055
+ "sidebar": "_506LLG_sidebar",
6056
+ "content": "_506LLG_content",
6057
+ "proxyControl": "_506LLG_proxyControl",
6058
+ "resetBtn": "_506LLG_resetBtn",
6059
+ "proxyHintOk": "_506LLG_proxyHintOk",
6060
+ "navItemActive": "_506LLG_navItemActive"
6019
6061
  };
6020
6062
  //#endregion
6021
6063
  //#region \0dsh-css:src/client/styles/Dropdown.module.css.mjs
@@ -6034,18 +6076,18 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
6034
6076
  css: css$4
6035
6077
  });
6036
6078
  var Dropdown_module_css_default = {
6079
+ "dropdownCountActive": "B_Gxsq_dropdownCountActive",
6037
6080
  "dropdownArrow": "B_Gxsq_dropdownArrow",
6038
6081
  "dropdownItemLabel": "B_Gxsq_dropdownItemLabel",
6039
- "dropdownPanel": "B_Gxsq_dropdownPanel",
6082
+ "dropdownItem": "B_Gxsq_dropdownItem",
6040
6083
  "dropdownCount": "B_Gxsq_dropdownCount",
6041
- "dropdown": "B_Gxsq_dropdown",
6042
6084
  "dropdownFill": "B_Gxsq_dropdownFill",
6043
- "dropdownLabel": "B_Gxsq_dropdownLabel",
6044
- "dropdownItem": "B_Gxsq_dropdownItem",
6045
- "dropdownCountActive": "B_Gxsq_dropdownCountActive",
6046
6085
  "dropdownBtn": "B_Gxsq_dropdownBtn",
6086
+ "dropdown": "B_Gxsq_dropdown",
6087
+ "dropdownArrowOpen": "B_Gxsq_dropdownArrowOpen",
6088
+ "dropdownPanel": "B_Gxsq_dropdownPanel",
6047
6089
  "dropdownItemActive": "B_Gxsq_dropdownItemActive",
6048
- "dropdownArrowOpen": "B_Gxsq_dropdownArrowOpen"
6090
+ "dropdownLabel": "B_Gxsq_dropdownLabel"
6049
6091
  };
6050
6092
  //#endregion
6051
6093
  //#region \0dsh-css:src/client/styles/Toggle.module.css.mjs
@@ -6064,9 +6106,9 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
6064
6106
  css: css$3
6065
6107
  });
6066
6108
  var Toggle_module_css_default = {
6109
+ "toggleOn": "k-cD4G_toggleOn",
6067
6110
  "knob": "k-cD4G_knob",
6068
- "toggle": "k-cD4G_toggle",
6069
- "toggleOn": "k-cD4G_toggleOn"
6111
+ "toggle": "k-cD4G_toggle"
6070
6112
  };
6071
6113
  //#endregion
6072
6114
  //#region src/client/components/ui/Toggle.tsx
@@ -6163,29 +6205,29 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
6163
6205
  css: css$2
6164
6206
  });
6165
6207
  var DiagnosticsView_module_css_default = {
6166
- "envTitle": "k9eRya_envTitle",
6167
- "envCopyBtn": "k9eRya_envCopyBtn",
6168
- "display": "k9eRya_display",
6208
+ "summaryOk": "k9eRya_summaryOk",
6209
+ "diagPulse": "k9eRya_diagPulse",
6210
+ "meta": "k9eRya_meta",
6169
6211
  "badge": "k9eRya_badge",
6212
+ "envCopyBtn": "k9eRya_envCopyBtn",
6170
6213
  "panel": "k9eRya_panel",
6214
+ "display": "k9eRya_display",
6215
+ "row": "k9eRya_row",
6171
6216
  "badgeRunning": "k9eRya_badgeRunning",
6172
- "summaryOk": "k9eRya_summaryOk",
6217
+ "runBtn": "k9eRya_runBtn",
6218
+ "name": "k9eRya_name",
6219
+ "summaryRunning": "k9eRya_summaryRunning",
6220
+ "head": "k9eRya_head",
6221
+ "summary": "k9eRya_summary",
6173
6222
  "summaryFail": "k9eRya_summaryFail",
6174
- "envLabel": "k9eRya_envLabel",
6223
+ "envTitle": "k9eRya_envTitle",
6175
6224
  "badgeOk": "k9eRya_badgeOk",
6225
+ "badgeFail": "k9eRya_badgeFail",
6176
6226
  "headHint": "k9eRya_headHint",
6177
- "name": "k9eRya_name",
6178
6227
  "badgeIdle": "k9eRya_badgeIdle",
6179
- "meta": "k9eRya_meta",
6180
- "runBtn": "k9eRya_runBtn",
6181
- "row": "k9eRya_row",
6228
+ "envDesc": "k9eRya_envDesc",
6182
6229
  "envRow": "k9eRya_envRow",
6183
- "badgeFail": "k9eRya_badgeFail",
6184
- "diagPulse": "k9eRya_diagPulse",
6185
- "summaryRunning": "k9eRya_summaryRunning",
6186
- "summary": "k9eRya_summary",
6187
- "head": "k9eRya_head",
6188
- "envDesc": "k9eRya_envDesc"
6230
+ "envLabel": "k9eRya_envLabel"
6189
6231
  };
6190
6232
  //#endregion
6191
6233
  //#region src/client/components/views/DiagnosticsView.tsx
@@ -6360,57 +6402,57 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
6360
6402
  css: css$1
6361
6403
  });
6362
6404
  var LogsView_module_css_default = {
6363
- "pathDialogReset": "_3j77BW_pathDialogReset",
6364
- "catUninstall": "_3j77BW_catUninstall",
6365
- "pathDialogFoot": "_3j77BW_pathDialogFoot",
6366
- "filterChip": "_3j77BW_filterChip",
6367
- "catUpdate": "_3j77BW_catUpdate",
6368
- "catSettings": "_3j77BW_catSettings",
6369
- "badgeSuccess": "_3j77BW_badgeSuccess",
6370
- "badgeInfo": "_3j77BW_badgeInfo",
6371
6405
  "btn": "_3j77BW_btn",
6372
- "badge": "_3j77BW_badge",
6373
- "entry": "_3j77BW_entry",
6374
- "catDiagnostics": "_3j77BW_catDiagnostics",
6375
- "panel": "_3j77BW_panel",
6376
- "headActions": "_3j77BW_headActions",
6377
- "moreEnd": "_3j77BW_moreEnd",
6378
- "footActions": "_3j77BW_footActions",
6379
- "pathDialog": "_3j77BW_pathDialog",
6380
- "empty": "_3j77BW_empty",
6381
- "head": "_3j77BW_head",
6382
- "catInstall": "_3j77BW_catInstall",
6383
6406
  "message": "_3j77BW_message",
6384
- "logList": "_3j77BW_logList",
6385
- "footPath": "_3j77BW_footPath",
6386
- "catBadge": "_3j77BW_catBadge",
6387
- "list": "_3j77BW_list",
6388
- "footFail": "_3j77BW_footFail",
6389
- "catSystem": "_3j77BW_catSystem",
6390
- "badgeDebug": "_3j77BW_badgeDebug",
6391
- "pathDialogHint": "_3j77BW_pathDialogHint",
6407
+ "more": "_3j77BW_more",
6392
6408
  "filterBar": "_3j77BW_filterBar",
6393
- "event": "_3j77BW_event",
6394
- "pathRow": "_3j77BW_pathRow",
6395
- "pathLabel": "_3j77BW_pathLabel",
6409
+ "head": "_3j77BW_head",
6396
6410
  "time": "_3j77BW_time",
6397
- "pathDraft": "_3j77BW_pathDraft",
6398
- "clearBtn": "_3j77BW_clearBtn",
6399
- "pathDialogRow": "_3j77BW_pathDialogRow",
6400
6411
  "previewRow": "_3j77BW_previewRow",
6401
- "filterChipActive": "_3j77BW_filterChipActive",
6412
+ "headHint": "_3j77BW_headHint",
6413
+ "badge": "_3j77BW_badge",
6414
+ "badgeDebug": "_3j77BW_badgeDebug",
6415
+ "event": "_3j77BW_event",
6416
+ "linkBtn": "_3j77BW_linkBtn",
6402
6417
  "search": "_3j77BW_search",
6403
- "searchInput": "_3j77BW_searchInput",
6418
+ "logList": "_3j77BW_logList",
6419
+ "pathLabel": "_3j77BW_pathLabel",
6420
+ "pathDialogHint": "_3j77BW_pathDialogHint",
6421
+ "badgeWarn": "_3j77BW_badgeWarn",
6422
+ "catUpdate": "_3j77BW_catUpdate",
6423
+ "catSystem": "_3j77BW_catSystem",
6424
+ "actions": "_3j77BW_actions",
6425
+ "filterChipActive": "_3j77BW_filterChipActive",
6426
+ "footFail": "_3j77BW_footFail",
6427
+ "footCount": "_3j77BW_footCount",
6428
+ "catSettings": "_3j77BW_catSettings",
6429
+ "catDiagnostics": "_3j77BW_catDiagnostics",
6430
+ "pathRow": "_3j77BW_pathRow",
6431
+ "entry": "_3j77BW_entry",
6432
+ "list": "_3j77BW_list",
6404
6433
  "pathText": "_3j77BW_pathText",
6405
- "more": "_3j77BW_more",
6434
+ "pathDialog": "_3j77BW_pathDialog",
6435
+ "pathDraft": "_3j77BW_pathDraft",
6436
+ "moreEnd": "_3j77BW_moreEnd",
6437
+ "pathDialogFoot": "_3j77BW_pathDialogFoot",
6438
+ "headActions": "_3j77BW_headActions",
6439
+ "footPath": "_3j77BW_footPath",
6440
+ "badgeError": "_3j77BW_badgeError",
6441
+ "empty": "_3j77BW_empty",
6442
+ "pathDialogRow": "_3j77BW_pathDialogRow",
6443
+ "pathDialogReset": "_3j77BW_pathDialogReset",
6406
6444
  "pathDialogDesc": "_3j77BW_pathDialogDesc",
6407
6445
  "foot": "_3j77BW_foot",
6408
- "footCount": "_3j77BW_footCount",
6409
- "badgeError": "_3j77BW_badgeError",
6410
- "badgeWarn": "_3j77BW_badgeWarn",
6411
- "actions": "_3j77BW_actions",
6412
- "linkBtn": "_3j77BW_linkBtn",
6413
- "headHint": "_3j77BW_headHint"
6446
+ "panel": "_3j77BW_panel",
6447
+ "badgeInfo": "_3j77BW_badgeInfo",
6448
+ "catInstall": "_3j77BW_catInstall",
6449
+ "footActions": "_3j77BW_footActions",
6450
+ "catUninstall": "_3j77BW_catUninstall",
6451
+ "searchInput": "_3j77BW_searchInput",
6452
+ "badgeSuccess": "_3j77BW_badgeSuccess",
6453
+ "filterChip": "_3j77BW_filterChip",
6454
+ "clearBtn": "_3j77BW_clearBtn",
6455
+ "catBadge": "_3j77BW_catBadge"
6414
6456
  };
6415
6457
  //#endregion
6416
6458
  //#region src/client/components/modals/LogsModal.tsx
@@ -7684,7 +7726,7 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
7684
7726
  openSection: settingsSection,
7685
7727
  onConsumedOpenSection: () => setSettingsSection(null)
7686
7728
  }), showHubUpdate && (0, react.createElement)(HubUpdateModal, {
7687
- info: catalog.hubUpdateTarget ?? catalog.hubUpdateInfo ?? { version: "2.3.0" },
7729
+ info: catalog.hubUpdateTarget ?? catalog.hubUpdateInfo ?? { version: "2.3.1" },
7688
7730
  state: catalog.hubUpdateState,
7689
7731
  currentVersion: catalog.hubCurrentVersion,
7690
7732
  lang,