dsh-life-pack 0.3.13 → 0.3.14
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/dist/client.js +74 -34
- package/dist/client.js.map +1 -1
- package/dist/config-panel-api.d.ts +5 -2
- package/dist/config-panel-api.d.ts.map +1 -1
- package/dist/config-panel-api.js +4 -2
- package/dist/config-panel-api.js.map +1 -1
- package/dist/config-panel-contract.d.ts +5 -2
- package/dist/config-panel-contract.d.ts.map +1 -1
- package/dist/config-panel-contract.js +5 -2
- package/dist/config-panel-contract.js.map +1 -1
- package/dist/config-panel-view.d.ts +63 -9
- package/dist/config-panel-view.d.ts.map +1 -1
- package/dist/config-panel-view.js +134 -24
- package/dist/config-panel-view.js.map +1 -1
- package/dist/directory-browser-parts.d.ts.map +1 -1
- package/dist/directory-browser-parts.js +1 -1
- package/dist/directory-browser-parts.js.map +1 -1
- package/dist/health-contract.d.ts +7 -0
- package/dist/health-contract.d.ts.map +1 -1
- package/dist/health-contract.js.map +1 -1
- package/dist/health-view.js +1 -1
- package/dist/health-view.js.map +1 -1
- package/dist/nav.js +1 -1
- package/dist/nav.js.map +1 -1
- package/package.json +1 -1
package/dist/client.js
CHANGED
|
@@ -100,7 +100,7 @@ window.__ModuleLoader__.load({
|
|
|
100
100
|
const PANEL_LINKS = [{
|
|
101
101
|
key: "star",
|
|
102
102
|
glyph: "⭐",
|
|
103
|
-
tip: "
|
|
103
|
+
tip: "你的🌟是我夜空中最亮的星。",
|
|
104
104
|
url: "https://github.com/FeatherHunter/ilife"
|
|
105
105
|
}, {
|
|
106
106
|
key: "feedback",
|
|
@@ -668,7 +668,7 @@ window.__ModuleLoader__.load({
|
|
|
668
668
|
marginBottom: 10
|
|
669
669
|
},
|
|
670
670
|
tab: {
|
|
671
|
-
border: "1px solid var(--dsw-alias-border, rgba(128,128,128,.35))",
|
|
671
|
+
border: "1px solid var(--dsw-alias-border-l1, rgba(128,128,128,.35))",
|
|
672
672
|
background: "transparent",
|
|
673
673
|
color: "var(--dsw-alias-label-primary, inherit)",
|
|
674
674
|
borderRadius: 999,
|
|
@@ -679,13 +679,13 @@ window.__ModuleLoader__.load({
|
|
|
679
679
|
tabActive: {
|
|
680
680
|
background: "var(--dsw-alias-brand-primary, #0a84ff)",
|
|
681
681
|
borderColor: "transparent",
|
|
682
|
-
color: "#
|
|
682
|
+
color: "var(--dsw-alias-label-primary-foreground, #0f1115)",
|
|
683
683
|
fontWeight: 700
|
|
684
684
|
},
|
|
685
685
|
reco: {
|
|
686
686
|
padding: "12px 14px",
|
|
687
687
|
borderRadius: 10,
|
|
688
|
-
border: "1px dashed var(--dsw-alias-border, rgba(128,128,128,.45))",
|
|
688
|
+
border: "1px dashed var(--dsw-alias-border-l1, rgba(128,128,128,.45))",
|
|
689
689
|
color: "var(--dsw-alias-label-secondary, #9a9a9a)",
|
|
690
690
|
fontSize: 13,
|
|
691
691
|
lineHeight: 1.7
|
|
@@ -702,7 +702,7 @@ window.__ModuleLoader__.load({
|
|
|
702
702
|
userSelect: "all"
|
|
703
703
|
},
|
|
704
704
|
btn: {
|
|
705
|
-
border: "1px solid var(--dsw-alias-border, rgba(128,128,128,.35))",
|
|
705
|
+
border: "1px solid var(--dsw-alias-border-l1, rgba(128,128,128,.35))",
|
|
706
706
|
background: "transparent",
|
|
707
707
|
color: "var(--dsw-alias-label-primary, inherit)",
|
|
708
708
|
borderRadius: 8,
|
|
@@ -714,7 +714,7 @@ window.__ModuleLoader__.load({
|
|
|
714
714
|
padding: "10px 12px",
|
|
715
715
|
marginBottom: 10,
|
|
716
716
|
borderRadius: 8,
|
|
717
|
-
border: "1px solid var(--dsw-alias-state-
|
|
717
|
+
border: "1px solid var(--dsw-alias-state-warn-primary, #d8a300)",
|
|
718
718
|
background: "var(--dsw-alias-bg-base, rgba(216,163,0,.12))",
|
|
719
719
|
color: "var(--dsw-alias-label-primary, inherit)",
|
|
720
720
|
fontSize: 13,
|
|
@@ -724,7 +724,7 @@ window.__ModuleLoader__.load({
|
|
|
724
724
|
padding: "10px 12px",
|
|
725
725
|
marginBottom: 8,
|
|
726
726
|
borderRadius: 10,
|
|
727
|
-
border: "1px solid var(--dsw-alias-border, rgba(128,128,128,.3))",
|
|
727
|
+
border: "1px solid var(--dsw-alias-border-l1, rgba(128,128,128,.3))",
|
|
728
728
|
borderLeftWidth: 3,
|
|
729
729
|
fontSize: 13,
|
|
730
730
|
lineHeight: 1.7
|
|
@@ -774,7 +774,7 @@ window.__ModuleLoader__.load({
|
|
|
774
774
|
btnPrimary: {
|
|
775
775
|
border: "1px solid transparent",
|
|
776
776
|
background: "var(--dsw-alias-brand-primary, #0a84ff)",
|
|
777
|
-
color: "#
|
|
777
|
+
color: "var(--dsw-alias-label-primary-foreground, #0f1115)",
|
|
778
778
|
borderRadius: 8,
|
|
779
779
|
padding: "5px 14px",
|
|
780
780
|
fontSize: 13,
|
|
@@ -807,8 +807,8 @@ window.__ModuleLoader__.load({
|
|
|
807
807
|
flexDirection: "column",
|
|
808
808
|
overflow: "hidden",
|
|
809
809
|
borderRadius: 12,
|
|
810
|
-
border: "1px solid var(--dsw-alias-border, rgba(128,128,128,.4))",
|
|
811
|
-
background: "var(--dsw-alias-bg-
|
|
810
|
+
border: "1px solid var(--dsw-alias-border-l1, rgba(128,128,128,.4))",
|
|
811
|
+
background: "var(--dsw-alias-bg-layer-2, var(--dsw-alias-bg-base, #222))",
|
|
812
812
|
color: "var(--dsw-alias-label-primary, inherit)",
|
|
813
813
|
boxShadow: "0 12px 32px rgba(0,0,0,.35)"
|
|
814
814
|
},
|
|
@@ -819,7 +819,7 @@ window.__ModuleLoader__.load({
|
|
|
819
819
|
gap: 8,
|
|
820
820
|
flex: "0 0 auto",
|
|
821
821
|
padding: "12px 14px",
|
|
822
|
-
borderBottom: "1px solid var(--dsw-alias-border, rgba(128,128,128,.3))"
|
|
822
|
+
borderBottom: "1px solid var(--dsw-alias-border-l1, rgba(128,128,128,.3))"
|
|
823
823
|
},
|
|
824
824
|
dialogTitle: {
|
|
825
825
|
fontSize: 14,
|
|
@@ -833,7 +833,7 @@ window.__ModuleLoader__.load({
|
|
|
833
833
|
padding: "12px 14px"
|
|
834
834
|
},
|
|
835
835
|
close: {
|
|
836
|
-
border: "1px solid var(--dsw-alias-border, rgba(128,128,128,.35))",
|
|
836
|
+
border: "1px solid var(--dsw-alias-border-l1, rgba(128,128,128,.35))",
|
|
837
837
|
background: "transparent",
|
|
838
838
|
color: "var(--dsw-alias-label-primary, inherit)",
|
|
839
839
|
borderRadius: 8,
|
|
@@ -857,7 +857,7 @@ window.__ModuleLoader__.load({
|
|
|
857
857
|
},
|
|
858
858
|
blocked: {
|
|
859
859
|
mark: "!",
|
|
860
|
-
color: "var(--dsw-alias-state-
|
|
860
|
+
color: "var(--dsw-alias-state-warn-primary, #d8a300)",
|
|
861
861
|
tint: "rgba(216,163,0,.10)"
|
|
862
862
|
},
|
|
863
863
|
failed: {
|
|
@@ -1556,7 +1556,7 @@ window.__ModuleLoader__.load({
|
|
|
1556
1556
|
/** 面板上的文字色与分隔线(与 `client.ts` 同一套别名)。 */
|
|
1557
1557
|
const INK = "var(--dsw-alias-label-primary, inherit)";
|
|
1558
1558
|
const INK_DIM = "var(--dsw-alias-label-secondary, #9a9a9a)";
|
|
1559
|
-
const BORDER = "var(--dsw-alias-border, rgba(128,128,128,.35))";
|
|
1559
|
+
const BORDER = "var(--dsw-alias-border-l1, rgba(128,128,128,.35))";
|
|
1560
1560
|
const HEALTH_STYLE = {
|
|
1561
1561
|
box: {
|
|
1562
1562
|
padding: "10px 12px",
|
|
@@ -2432,7 +2432,7 @@ window.__ModuleLoader__.load({
|
|
|
2432
2432
|
textOverflow: "ellipsis",
|
|
2433
2433
|
whiteSpace: "nowrap"
|
|
2434
2434
|
},
|
|
2435
|
-
error: { color: "var(--dsw-alias-
|
|
2435
|
+
error: { color: "var(--dsw-alias-state-error-primary, #e66)" }
|
|
2436
2436
|
};
|
|
2437
2437
|
/** 面包屑:从文件系统根到当前层,每一格都是跳转目标(`listing.crumbs` 由取数方给)。 */
|
|
2438
2438
|
function crumbRow(state, onEnter) {
|
|
@@ -2742,11 +2742,23 @@ window.__ModuleLoader__.load({
|
|
|
2742
2742
|
fontSize: 14,
|
|
2743
2743
|
lineHeight: 1
|
|
2744
2744
|
},
|
|
2745
|
-
|
|
2746
|
-
|
|
2747
|
-
|
|
2748
|
-
|
|
2749
|
-
|
|
2745
|
+
/** #933:页签格里「配置卡 + 体检卡」这一列的堆叠间距(唯一口径,别再给某一张卡加 margin)。 */
|
|
2746
|
+
tabStack: {
|
|
2747
|
+
display: "flex",
|
|
2748
|
+
flexDirection: "column",
|
|
2749
|
+
gap: 10
|
|
2750
|
+
},
|
|
2751
|
+
/** #937:标题行里那枚版本胶囊(形状照真源 v3.1 的 `.ic-ver`:10px 字、1px 描边、999 圆角)。 */
|
|
2752
|
+
versionCapsule: {
|
|
2753
|
+
fontSize: 10.5,
|
|
2754
|
+
lineHeight: 1.6,
|
|
2755
|
+
color: "var(--dsw-alias-label-tertiary, #adb2b8)",
|
|
2756
|
+
border: "1px solid var(--dsw-alias-border-l2, rgba(255,255,255,.12))",
|
|
2757
|
+
borderRadius: 999,
|
|
2758
|
+
padding: "0 7px",
|
|
2759
|
+
whiteSpace: "nowrap",
|
|
2760
|
+
flex: "0 0 auto",
|
|
2761
|
+
fontWeight: 400
|
|
2750
2762
|
},
|
|
2751
2763
|
tablist: {
|
|
2752
2764
|
display: "flex",
|
|
@@ -2755,7 +2767,7 @@ window.__ModuleLoader__.load({
|
|
|
2755
2767
|
marginBottom: 10
|
|
2756
2768
|
},
|
|
2757
2769
|
tab: {
|
|
2758
|
-
border: "1px solid var(--dsw-alias-border, rgba(128,128,128,.35))",
|
|
2770
|
+
border: "1px solid var(--dsw-alias-border-l1, rgba(128,128,128,.35))",
|
|
2759
2771
|
background: "transparent",
|
|
2760
2772
|
color: "var(--dsw-alias-label-primary, inherit)",
|
|
2761
2773
|
borderRadius: 999,
|
|
@@ -2766,13 +2778,13 @@ window.__ModuleLoader__.load({
|
|
|
2766
2778
|
tabActive: {
|
|
2767
2779
|
background: "var(--dsw-alias-brand-primary, #0a84ff)",
|
|
2768
2780
|
borderColor: "transparent",
|
|
2769
|
-
color: "#
|
|
2781
|
+
color: "var(--dsw-alias-label-primary-foreground, #0f1115)",
|
|
2770
2782
|
fontWeight: 700
|
|
2771
2783
|
},
|
|
2772
2784
|
reco: {
|
|
2773
2785
|
padding: "12px 14px",
|
|
2774
2786
|
borderRadius: 10,
|
|
2775
|
-
border: "1px dashed var(--dsw-alias-border, rgba(128,128,128,.45))",
|
|
2787
|
+
border: "1px dashed var(--dsw-alias-border-l1, rgba(128,128,128,.45))",
|
|
2776
2788
|
color: "var(--dsw-alias-label-secondary, #9a9a9a)",
|
|
2777
2789
|
fontSize: 13,
|
|
2778
2790
|
lineHeight: 1.7
|
|
@@ -2792,7 +2804,7 @@ window.__ModuleLoader__.load({
|
|
|
2792
2804
|
marginTop: 16,
|
|
2793
2805
|
padding: "10px 12px",
|
|
2794
2806
|
borderRadius: 10,
|
|
2795
|
-
border: "1px solid var(--dsw-alias-border, rgba(128,128,128,.35))"
|
|
2807
|
+
border: "1px solid var(--dsw-alias-border-l1, rgba(128,128,128,.35))"
|
|
2796
2808
|
},
|
|
2797
2809
|
moreTitle: {
|
|
2798
2810
|
fontSize: 13,
|
|
@@ -2884,22 +2896,47 @@ window.__ModuleLoader__.load({
|
|
|
2884
2896
|
style: S.moreRow
|
|
2885
2897
|
}, react.createElement("span", { style: S.morePkg }, row.pkg), react.createElement("span", { style: S.moreDesc }, row.desc), react.createElement("span", { style: S.moreIcon }, react.createElement(ExternalIcon, null)))));
|
|
2886
2898
|
}
|
|
2887
|
-
/** 总管自述版本(票 #737
|
|
2899
|
+
/** 总管自述版本(票 #737;#937 改口):**不手写**,问宿主——宿主读自己这份已安装包的 `package.json`。
|
|
2888
2900
|
*
|
|
2889
|
-
*
|
|
2901
|
+
* 三态(#937):`loading`(首帧就画胶囊占位 `…`)/`ready`(读到,画包名 · 版本)/`missing`(读不到,画「版本未知」)。
|
|
2902
|
+
* **失败要重试**:原先只取一次、一失败就永远停在未知(#937 查出来的真缺陷);这里按 1s/3s/8s 退避重试三次。
|
|
2890
2903
|
* 与卡路里 #130 同一条路:面板是浏览器产物、禁 node 内建,读盘只许在宿主半。 */
|
|
2904
|
+
/** 读中 / 读不到 两种胶囊文案(#937:占位符用 `…`,读不到给人话,不把 `unknown` 印给人看)。 */
|
|
2905
|
+
const VERSION_PENDING_TEXT = "…";
|
|
2906
|
+
const VERSION_MISSING_TEXT = "版本未知";
|
|
2907
|
+
/** 重试间隔(#937):三次退避,之后不再打扰宿主。 */
|
|
2908
|
+
const VERSION_RETRY_MS = [
|
|
2909
|
+
1e3,
|
|
2910
|
+
3e3,
|
|
2911
|
+
8e3
|
|
2912
|
+
];
|
|
2891
2913
|
function useManagerVersion(getCall) {
|
|
2892
|
-
const [
|
|
2914
|
+
const [state, setState] = react.useState({ kind: "loading" });
|
|
2893
2915
|
react.useEffect(() => {
|
|
2894
2916
|
let alive = true;
|
|
2895
|
-
|
|
2896
|
-
|
|
2897
|
-
|
|
2917
|
+
const timers = [];
|
|
2918
|
+
const attempt = (index) => {
|
|
2919
|
+
loadManagerVersion(getCall()).then((next) => {
|
|
2920
|
+
if (!alive) return;
|
|
2921
|
+
if (next !== "unknown") {
|
|
2922
|
+
setState({
|
|
2923
|
+
kind: "ready",
|
|
2924
|
+
version: next
|
|
2925
|
+
});
|
|
2926
|
+
return;
|
|
2927
|
+
}
|
|
2928
|
+
setState({ kind: "missing" });
|
|
2929
|
+
const wait = VERSION_RETRY_MS[index];
|
|
2930
|
+
if (wait !== void 0) timers.push(setTimeout(() => attempt(index + 1), wait));
|
|
2931
|
+
});
|
|
2932
|
+
};
|
|
2933
|
+
attempt(0);
|
|
2898
2934
|
return () => {
|
|
2899
2935
|
alive = false;
|
|
2936
|
+
for (const id of timers) clearTimeout(id);
|
|
2900
2937
|
};
|
|
2901
2938
|
}, [getCall]);
|
|
2902
|
-
return
|
|
2939
|
+
return state;
|
|
2903
2940
|
}
|
|
2904
2941
|
/** 爱生活面板:总设置区 + 检查更新(七家)+ 爱生活页签条(slot 驱动)+ 技能设置页投影/缺席卡。 */
|
|
2905
2942
|
function LifePackSection(props) {
|
|
@@ -2979,7 +3016,10 @@ window.__ModuleLoader__.load({
|
|
|
2979
3016
|
setActiveId(next.plugin);
|
|
2980
3017
|
tabRefs.current[nextIndex]?.focus();
|
|
2981
3018
|
}
|
|
2982
|
-
return react.createElement("div", null, react.createElement("div", { style: S.headRow }, react.createElement("div", { style: S.head }, "爱生活"), react.createElement("
|
|
3019
|
+
return react.createElement("div", null, react.createElement("div", { style: S.headRow }, react.createElement("div", { style: S.head }, "爱生活"), react.createElement("span", {
|
|
3020
|
+
style: S.versionCapsule,
|
|
3021
|
+
"data-ilife-version": "capsule"
|
|
3022
|
+
}, managerVersion.kind === "ready" ? "dsh-life-pack · " + managerVersion.version : managerVersion.kind === "missing" ? VERSION_MISSING_TEXT : VERSION_PENDING_TEXT), react.createElement("div", { style: S.headActions }, react.createElement(CheckUpdateButton, { face }), react.createElement(PanelActions, null))), react.createElement(UpdateResults, { face }), react.createElement(HealthSummaryLine, {
|
|
2983
3023
|
lights,
|
|
2984
3024
|
running: health.running,
|
|
2985
3025
|
error: summaryErrorOf(health),
|
|
@@ -3039,8 +3079,8 @@ window.__ModuleLoader__.load({
|
|
|
3039
3079
|
id: tabsId + "-panel-" + tab.plugin,
|
|
3040
3080
|
role: "tabpanel",
|
|
3041
3081
|
"aria-labelledby": tabsId + "-tab-" + tab.plugin,
|
|
3042
|
-
|
|
3043
|
-
}, present.has(tab.plugin) ? react.createElement("div",
|
|
3082
|
+
style: selected ? void 0 : { display: "none" }
|
|
3083
|
+
}, present.has(tab.plugin) ? react.createElement("div", { style: S.tabStack }, props.renderSlot(CONFIG_TAB_SLOT, {}, { only: tab.plugin }), react.createElement(HealthTable, {
|
|
3044
3084
|
title: labelFor(tab),
|
|
3045
3085
|
phase: health.rows[tab.plugin]?.phase ?? "idle",
|
|
3046
3086
|
report: health.rows[tab.plugin]?.report ?? null,
|