dsh-ide-git 0.9.0 → 0.10.0
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/dsh.plugin.json +1 -1
- package/package.json +1 -1
- package/src/client.js +88 -7
package/dsh.plugin.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"id": "dsh-external/dsh-ide-git",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.10.0",
|
|
4
4
|
"main": "./src/index.js",
|
|
5
5
|
"description": "IDE 级 Git 操作面板:分支树 + 提交图谱 + 变更/暂存/提交 + 提交详情。装了 dsh-better-sidebar 时挂成它的原生 tab(右侧栏 + 底部工作台);没装时直接挂 DSH 原生右侧栏,单独安装即可用。JetBrains 风格 Git 工具窗口 for DeepSeek Harness.",
|
|
6
6
|
"engines": {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dsh-ide-git",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.10.0",
|
|
4
4
|
"description": "DSH plugin: an IDE-grade Git tool window as a native dsh-better-sidebar tab — branch tree, commit graph, changes, commit details, JetBrains-style actions, in the right sidebar and the bottom panel. | DSH 插件:IDE 级 Git 工具窗口,以 dsh-better-sidebar 原生 Tab 挂载——分支树 / 提交图谱 / 变更与提交详情 / JetBrains 风格操作,右侧栏与底部面板双布局自适应。",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"repository": {
|
package/src/client.js
CHANGED
|
@@ -159,6 +159,8 @@ window.__ModuleLoader__.load({
|
|
|
159
159
|
'rail.more': '更多操作',
|
|
160
160
|
'rail.settings': '动作条设置',
|
|
161
161
|
'rail.openSettings': '打开插件设置',
|
|
162
|
+
'settings.card.title': 'Git 工具窗口设置',
|
|
163
|
+
'settings.card.desc': '动作条按钮与 AI 提交信息',
|
|
162
164
|
'settings.rail.title': '动作条按钮',
|
|
163
165
|
'settings.rail.hint': '勾选要显示在动作条上的动作;顺序固定为默认顺序,取消勾选即隐藏。',
|
|
164
166
|
'settings.rail.unavailable': '当前宿主没有设置服务,请用面板内的「动作条设置」。',
|
|
@@ -342,6 +344,8 @@ window.__ModuleLoader__.load({
|
|
|
342
344
|
'rail.more': 'More actions',
|
|
343
345
|
'rail.settings': 'Action bar settings',
|
|
344
346
|
'rail.openSettings': 'Open plugin settings',
|
|
347
|
+
'settings.card.title': 'Git tool window settings',
|
|
348
|
+
'settings.card.desc': 'Action rail buttons and AI commit message',
|
|
345
349
|
'settings.rail.title': 'Action rail buttons',
|
|
346
350
|
'settings.rail.hint': 'Tick the actions shown on the rail. The order is fixed; unticking one hides it.',
|
|
347
351
|
'settings.rail.unavailable': 'This host has no settings service; use the in-panel “Action rail settings”.',
|
|
@@ -533,6 +537,8 @@ window.__ModuleLoader__.load({
|
|
|
533
537
|
'rail.more': '更多操作',
|
|
534
538
|
'rail.settings': '動作列設定',
|
|
535
539
|
'rail.openSettings': '開啟外掛設定',
|
|
540
|
+
'settings.card.title': 'Git 工具視窗設定',
|
|
541
|
+
'settings.card.desc': '動作列按鈕與 AI 提交訊息',
|
|
536
542
|
'settings.rail.title': '動作列按鈕',
|
|
537
543
|
'settings.rail.hint': '勾選要顯示在動作列上的動作;順序固定,取消勾選即隱藏。',
|
|
538
544
|
'settings.rail.unavailable': '目前宿主沒有設定服務,請用面板內的「動作條設定」。',
|
|
@@ -716,6 +722,8 @@ window.__ModuleLoader__.load({
|
|
|
716
722
|
'rail.more': '更多操作',
|
|
717
723
|
'rail.settings': '動作列設定',
|
|
718
724
|
'rail.openSettings': '開啟外掛設定',
|
|
725
|
+
'settings.card.title': 'Git 工具視窗設定',
|
|
726
|
+
'settings.card.desc': '動作列按鈕與 AI 提交訊息',
|
|
719
727
|
'settings.rail.title': '動作列按鈕',
|
|
720
728
|
'settings.rail.hint': '勾選要顯示在動作列上的動作;順序固定,取消勾選即隱藏。',
|
|
721
729
|
'settings.rail.unavailable': '目前宿主沒有設定服務,請用面板內的「動作條設定」。',
|
|
@@ -899,6 +907,8 @@ window.__ModuleLoader__.load({
|
|
|
899
907
|
'rail.more': '更多操作',
|
|
900
908
|
'rail.settings': '動作列設定',
|
|
901
909
|
'rail.openSettings': '開啟外掛設定',
|
|
910
|
+
'settings.card.title': 'Git 工具視窗設定',
|
|
911
|
+
'settings.card.desc': '動作列按鈕與 AI 提交訊息',
|
|
902
912
|
'settings.rail.title': '動作列按鈕',
|
|
903
913
|
'settings.rail.hint': '勾選要顯示在動作列上的動作;順序固定,取消勾選即隱藏。',
|
|
904
914
|
'settings.rail.unavailable': '目前宿主沒有設定服務,請用面板內的「動作條設定」。',
|
|
@@ -1082,6 +1092,8 @@ window.__ModuleLoader__.load({
|
|
|
1082
1092
|
'rail.more': 'その他の操作',
|
|
1083
1093
|
'rail.settings': 'アクションバーの設定',
|
|
1084
1094
|
'rail.openSettings': 'プラグイン設定を開く',
|
|
1095
|
+
'settings.card.title': 'Gitツールウィンドウの設定',
|
|
1096
|
+
'settings.card.desc': 'アクションレールのボタンと AI コミットメッセージ',
|
|
1085
1097
|
'settings.rail.title': 'アクションレールのボタン',
|
|
1086
1098
|
'settings.rail.hint': 'レールに表示する操作にチェックを入れてください。順序は固定で、チェックを外すと非表示になります。',
|
|
1087
1099
|
'settings.rail.unavailable': 'このホストには設定サービスがないため、パネル内の「アクションレール設定」を使ってください。',
|
|
@@ -1265,6 +1277,8 @@ window.__ModuleLoader__.load({
|
|
|
1265
1277
|
'rail.more': '추가 작업',
|
|
1266
1278
|
'rail.settings': '작업 표시줄 설정',
|
|
1267
1279
|
'rail.openSettings': '플러그인 설정 열기',
|
|
1280
|
+
'settings.card.title': 'Git 도구 창 설정',
|
|
1281
|
+
'settings.card.desc': '액션 레일 버튼 및 AI 커밋 메시지',
|
|
1268
1282
|
'settings.rail.title': '액션 레일 버튼',
|
|
1269
1283
|
'settings.rail.hint': '레일에 표시할 동작을 선택하세요. 순서는 고정이며 선택을 해제하면 숨겨집니다.',
|
|
1270
1284
|
'settings.rail.unavailable': '이 호스트에는 설정 서비스가 없으므로 패널의 "액션 레일 설정"을 사용하세요.',
|
|
@@ -1448,6 +1462,8 @@ window.__ModuleLoader__.load({
|
|
|
1448
1462
|
'rail.more': 'Weitere Aktionen',
|
|
1449
1463
|
'rail.settings': 'Einstellungen der Aktionsleiste',
|
|
1450
1464
|
'rail.openSettings': 'Plugin-Einstellungen öffnen',
|
|
1465
|
+
'settings.card.title': 'Git-Werkzeugfenster-Einstellungen',
|
|
1466
|
+
'settings.card.desc': 'Aktionsleisten-Schaltflächen und KI-Commit-Nachricht',
|
|
1451
1467
|
'settings.rail.title': 'Schaltflächen der Aktionsleiste',
|
|
1452
1468
|
'settings.rail.hint': 'Die auf der Leiste sichtbaren Aktionen ankreuzen. Die Reihenfolge ist fest; abwählen blendet eine aus.',
|
|
1453
1469
|
'settings.rail.unavailable': 'Dieser Host hat keinen Einstellungsdienst; nutze die „Aktionsleisten-Einstellungen“ im Panel.',
|
|
@@ -1631,6 +1647,8 @@ window.__ModuleLoader__.load({
|
|
|
1631
1647
|
'rail.more': 'Plus d\'actions',
|
|
1632
1648
|
'rail.settings': 'Réglages de la barre d\'actions',
|
|
1633
1649
|
'rail.openSettings': 'Ouvrir les réglages du plugin',
|
|
1650
|
+
'settings.card.title': 'Paramètres de la fenêtre d’outils Git',
|
|
1651
|
+
'settings.card.desc': 'Boutons de la barre d’actions et message de commit par IA',
|
|
1634
1652
|
'settings.rail.title': 'Boutons de la barre d’actions',
|
|
1635
1653
|
'settings.rail.hint': 'Cochez les actions affichées sur la barre. L’ordre est fixe ; décocher masque une action.',
|
|
1636
1654
|
'settings.rail.unavailable': 'Cet hôte n’a pas de service de réglages ; utilisez « Réglages de la barre d’actions » dans le panneau.',
|
|
@@ -1814,6 +1832,8 @@ window.__ModuleLoader__.load({
|
|
|
1814
1832
|
'rail.more': 'Другие действия',
|
|
1815
1833
|
'rail.settings': 'Настройки панели действий',
|
|
1816
1834
|
'rail.openSettings': 'Открыть настройки плагина',
|
|
1835
|
+
'settings.card.title': 'Настройки окна инструментов Git',
|
|
1836
|
+
'settings.card.desc': 'Кнопки панели действий и сообщение коммита от ИИ',
|
|
1817
1837
|
'settings.rail.title': 'Кнопки панели действий',
|
|
1818
1838
|
'settings.rail.hint': 'Отметьте действия, показываемые на панели. Порядок фиксирован; снятие флажка скрывает действие.',
|
|
1819
1839
|
'settings.rail.unavailable': 'На этом хосте нет службы настроек; используйте «Настройки панели действий» в панели.',
|
|
@@ -1997,6 +2017,8 @@ window.__ModuleLoader__.load({
|
|
|
1997
2017
|
'rail.more': 'Mais ações',
|
|
1998
2018
|
'rail.settings': 'Configurações da barra de ações',
|
|
1999
2019
|
'rail.openSettings': 'Abrir configurações do plugin',
|
|
2020
|
+
'settings.card.title': 'Configurações da janela de ferramentas Git',
|
|
2021
|
+
'settings.card.desc': 'Botões da barra de ações e mensagem de commit por IA',
|
|
2000
2022
|
'settings.rail.title': 'Botões da barra de ações',
|
|
2001
2023
|
'settings.rail.hint': 'Marque as ações exibidas na barra. A ordem é fixa; desmarcar oculta uma ação.',
|
|
2002
2024
|
'settings.rail.unavailable': 'Este host não tem serviço de configurações; use «Configurações da barra de ações» no painel.',
|
|
@@ -2180,6 +2202,8 @@ window.__ModuleLoader__.load({
|
|
|
2180
2202
|
'rail.more': 'Altre azioni',
|
|
2181
2203
|
'rail.settings': 'Impostazioni della barra delle azioni',
|
|
2182
2204
|
'rail.openSettings': 'Apri le impostazioni del plugin',
|
|
2205
|
+
'settings.card.title': 'Impostazioni della finestra strumenti Git',
|
|
2206
|
+
'settings.card.desc': 'Pulsanti della barra azioni e messaggio di commit con IA',
|
|
2183
2207
|
'settings.rail.title': 'Pulsanti della barra azioni',
|
|
2184
2208
|
'settings.rail.hint': 'Seleziona le azioni mostrate sulla barra. L’ordine è fisso; deselezionando se ne nasconde una.',
|
|
2185
2209
|
'settings.rail.unavailable': 'Questo host non ha un servizio di impostazioni; usa «Impostazioni barra azioni» nel pannello.',
|
|
@@ -2363,6 +2387,8 @@ window.__ModuleLoader__.load({
|
|
|
2363
2387
|
'rail.more': 'Meer acties',
|
|
2364
2388
|
'rail.settings': 'Instellingen van de actiebalk',
|
|
2365
2389
|
'rail.openSettings': 'Plugin-instellingen openen',
|
|
2390
|
+
'settings.card.title': 'Instellingen van het Git-werkvenster',
|
|
2391
|
+
'settings.card.desc': 'Knoppen van de actiebalk en AI-commitbericht',
|
|
2366
2392
|
'settings.rail.title': 'Knoppen van de actiebalk',
|
|
2367
2393
|
'settings.rail.hint': 'Vink de acties aan die op de balk verschijnen. De volgorde ligt vast; uitvinken verbergt er een.',
|
|
2368
2394
|
'settings.rail.unavailable': 'Deze host heeft geen instellingenservice; gebruik "Actiebalk-instellingen" in het paneel.',
|
|
@@ -2546,6 +2572,8 @@ window.__ModuleLoader__.load({
|
|
|
2546
2572
|
'rail.more': 'Więcej działań',
|
|
2547
2573
|
'rail.settings': 'Ustawienia paska działań',
|
|
2548
2574
|
'rail.openSettings': 'Otwórz ustawienia wtyczki',
|
|
2575
|
+
'settings.card.title': 'Ustawienia okna narzędzi Git',
|
|
2576
|
+
'settings.card.desc': 'Przyciski paska akcji i wiadomość commita od AI',
|
|
2549
2577
|
'settings.rail.title': 'Przyciski paska akcji',
|
|
2550
2578
|
'settings.rail.hint': 'Zaznacz akcje widoczne na pasku. Kolejność jest stała; odznaczenie ukrywa akcję.',
|
|
2551
2579
|
'settings.rail.unavailable': 'Ten host nie ma usługi ustawień; użyj „Ustawienia paska akcji” w panelu.',
|
|
@@ -2729,6 +2757,8 @@ window.__ModuleLoader__.load({
|
|
|
2729
2757
|
'rail.more': 'Fler åtgärder',
|
|
2730
2758
|
'rail.settings': 'Inställningar för åtgärdsfältet',
|
|
2731
2759
|
'rail.openSettings': 'Öppna plugininställningar',
|
|
2760
|
+
'settings.card.title': 'Inställningar för Git-verktygsfönstret',
|
|
2761
|
+
'settings.card.desc': 'Knappar i åtgärdsfältet och AI-commitmeddelande',
|
|
2732
2762
|
'settings.rail.title': 'Knappar i åtgärdsfältet',
|
|
2733
2763
|
'settings.rail.hint': 'Markera de åtgärder som visas i fältet. Ordningen är fast; avmarkering döljer en.',
|
|
2734
2764
|
'settings.rail.unavailable': 'Denna värd saknar inställningstjänst; använd ”Åtgärdsfältets inställningar” i panelen.',
|
|
@@ -2912,6 +2942,8 @@ window.__ModuleLoader__.load({
|
|
|
2912
2942
|
'rail.more': 'Diğer eylemler',
|
|
2913
2943
|
'rail.settings': 'Eylem çubuğu ayarları',
|
|
2914
2944
|
'rail.openSettings': 'Eklenti ayarlarını aç',
|
|
2945
|
+
'settings.card.title': 'Git araç penceresi ayarları',
|
|
2946
|
+
'settings.card.desc': 'Eylem çubuğu düğmeleri ve AI commit mesajı',
|
|
2915
2947
|
'settings.rail.title': 'Eylem çubuğu düğmeleri',
|
|
2916
2948
|
'settings.rail.hint': 'Çubukta gösterilecek eylemleri işaretleyin. Sıra sabittir; işareti kaldırmak eylemi gizler.',
|
|
2917
2949
|
'settings.rail.unavailable': 'Bu ana bilgisayarda ayar hizmeti yok; paneldeki "Eylem çubuğu ayarları"nı kullanın.',
|
|
@@ -3095,6 +3127,8 @@ window.__ModuleLoader__.load({
|
|
|
3095
3127
|
'rail.more': 'Tindakan lain',
|
|
3096
3128
|
'rail.settings': 'Pengaturan bilah tindakan',
|
|
3097
3129
|
'rail.openSettings': 'Buka pengaturan plugin',
|
|
3130
|
+
'settings.card.title': 'Pengaturan jendela alat Git',
|
|
3131
|
+
'settings.card.desc': 'Tombol bilah aksi dan pesan commit AI',
|
|
3098
3132
|
'settings.rail.title': 'Tombol bilah aksi',
|
|
3099
3133
|
'settings.rail.hint': 'Centang aksi yang ditampilkan di bilah. Urutannya tetap; menghapus centang menyembunyikannya.',
|
|
3100
3134
|
'settings.rail.unavailable': 'Host ini tidak punya layanan pengaturan; gunakan "Pengaturan bilah aksi" di panel.',
|
|
@@ -3278,6 +3312,8 @@ window.__ModuleLoader__.load({
|
|
|
3278
3312
|
'rail.more': 'Thao tác khác',
|
|
3279
3313
|
'rail.settings': 'Cài đặt thanh thao tác',
|
|
3280
3314
|
'rail.openSettings': 'Mở cài đặt plugin',
|
|
3315
|
+
'settings.card.title': 'Cài đặt cửa sổ công cụ Git',
|
|
3316
|
+
'settings.card.desc': 'Nút thanh tác vụ và thông điệp commit do AI viết',
|
|
3281
3317
|
'settings.rail.title': 'Nút thanh tác vụ',
|
|
3282
3318
|
'settings.rail.hint': 'Chọn các tác vụ hiển thị trên thanh. Thứ tự cố định; bỏ chọn sẽ ẩn tác vụ đó.',
|
|
3283
3319
|
'settings.rail.unavailable': 'Máy chủ này không có dịch vụ cài đặt; hãy dùng “Cài đặt thanh tác vụ” trong bảng điều khiển.',
|
|
@@ -3461,6 +3497,8 @@ window.__ModuleLoader__.load({
|
|
|
3461
3497
|
'rail.more': 'مزيد من الإجراءات',
|
|
3462
3498
|
'rail.settings': 'إعدادات شريط الإجراءات',
|
|
3463
3499
|
'rail.openSettings': 'فتح إعدادات الإضافة',
|
|
3500
|
+
'settings.card.title': 'إعدادات نافذة أدوات Git',
|
|
3501
|
+
'settings.card.desc': 'أزرار شريط الإجراءات ورسالة إيداع بالذكاء الاصطناعي',
|
|
3464
3502
|
'settings.rail.title': 'أزرار شريط الإجراءات',
|
|
3465
3503
|
'settings.rail.hint': 'حدّد الإجراءات المعروضة على الشريط. الترتيب ثابت، وإلغاء التحديد يخفي الإجراء.',
|
|
3466
3504
|
'settings.rail.unavailable': 'لا تتوفر خدمة إعدادات على هذا المضيف؛ استخدم «إعدادات شريط الإجراءات» في اللوحة.',
|
|
@@ -3644,6 +3682,8 @@ window.__ModuleLoader__.load({
|
|
|
3644
3682
|
'rail.more': 'अधिक क्रियाएँ',
|
|
3645
3683
|
'rail.settings': 'क्रिया पट्टी सेटिंग्स',
|
|
3646
3684
|
'rail.openSettings': 'प्लगइन सेटिंग खोलें',
|
|
3685
|
+
'settings.card.title': 'Git टूल विंडो सेटिंग्स',
|
|
3686
|
+
'settings.card.desc': 'एक्शन रेल बटन और AI कमिट संदेश',
|
|
3647
3687
|
'settings.rail.title': 'एक्शन रेल बटन',
|
|
3648
3688
|
'settings.rail.hint': 'रेल पर दिखने वाली क्रियाएँ चुनें। क्रम निश्चित है; चुनाव हटाने पर वह छिप जाती है।',
|
|
3649
3689
|
'settings.rail.unavailable': 'इस होस्ट में सेटिंग सेवा नहीं है; पैनल में «एक्शन रेल सेटिंग» का उपयोग करें।',
|
|
@@ -3827,6 +3867,8 @@ window.__ModuleLoader__.load({
|
|
|
3827
3867
|
'rail.more': 'การทำงานเพิ่มเติม',
|
|
3828
3868
|
'rail.settings': 'ตั้งค่าแถบการทำงาน',
|
|
3829
3869
|
'rail.openSettings': 'เปิดการตั้งค่าปลั๊กอิน',
|
|
3870
|
+
'settings.card.title': 'การตั้งค่าหน้าต่างเครื่องมือ Git',
|
|
3871
|
+
'settings.card.desc': 'ปุ่มแถบการทำงานและข้อความคอมมิตโดย AI',
|
|
3830
3872
|
'settings.rail.title': 'ปุ่มแถบการทำงาน',
|
|
3831
3873
|
'settings.rail.hint': 'ทำเครื่องหมายการทำงานที่จะแสดงบนแถบ ลำดับคงที่; ยกเลิกเครื่องหมายเพื่อซ่อน',
|
|
3832
3874
|
'settings.rail.unavailable': 'โฮสต์นี้ไม่มีบริการตั้งค่า ให้ใช้ «ตั้งค่าแถบการทำงาน» ในแผง',
|
|
@@ -4955,6 +4997,9 @@ window.__ModuleLoader__.load({
|
|
|
4955
4997
|
function RailSettingsCard(props) {
|
|
4956
4998
|
const t = props.t
|
|
4957
4999
|
const [tick, setTick] = useState(0)
|
|
5000
|
+
/* Collapse state of the card shell (the li card on the Settings → Plugins
|
|
5001
|
+
seat). The plugin-page seat (props.view === 'page') renders flat. */
|
|
5002
|
+
const [openCard, setOpenCard] = useState(false)
|
|
4958
5003
|
const [pending, setPending] = useState({})
|
|
4959
5004
|
const [note, setNote] = useState('')
|
|
4960
5005
|
/* The three AI-commit settings are free text, so they are drafted locally
|
|
@@ -5100,9 +5145,29 @@ window.__ModuleLoader__.load({
|
|
|
5100
5145
|
}
|
|
5101
5146
|
}, [])
|
|
5102
5147
|
void tick
|
|
5103
|
-
|
|
5104
|
-
|
|
5105
|
-
|
|
5148
|
+
/* Card shell, shared by both seats — a visual twin of the pc-card /
|
|
5149
|
+
dl-card / gb-card pattern in dsh-ptc-cordis-preset, dsh-agent-lang and
|
|
5150
|
+
dsh-gitbash-shell: a collapsible li card on the Settings → Plugins
|
|
5151
|
+
seat, a flat page card on the plugin-page seat. Title + description
|
|
5152
|
+
come from the settings.card.* dictionary keys (every locale). */
|
|
5153
|
+
const pageView = props.view === 'page'
|
|
5154
|
+
const cardHead = E('span', { className: 'dig-card-head-text' },
|
|
5155
|
+
E('span', { className: 'dig-card-name' }, t('settings.card.title')),
|
|
5156
|
+
E('span', { className: 'dig-card-desc' }, t('settings.card.desc')))
|
|
5157
|
+
const wrapCard = (body) => {
|
|
5158
|
+
if (pageView) return E('div', { className: 'dig-card dig-card-page' },
|
|
5159
|
+
E('div', { className: 'dig-card-header dig-card-header-flat' }, cardHead), body)
|
|
5160
|
+
return E('li', { className: 'dig-card' + (openCard ? ' dig-card-open' : '') },
|
|
5161
|
+
E('button', {
|
|
5162
|
+
type: 'button',
|
|
5163
|
+
className: 'dig-card-header',
|
|
5164
|
+
'aria-expanded': openCard,
|
|
5165
|
+
onClick: () => setOpenCard(!openCard),
|
|
5166
|
+
}, cardHead,
|
|
5167
|
+
E('span', { className: 'dig-card-chevron' + (openCard ? ' dig-card-chevron-open' : '') },
|
|
5168
|
+
E(Icon, { name: 'chevron', size: 12 }))),
|
|
5169
|
+
openCard ? body : null)
|
|
5170
|
+
}
|
|
5106
5171
|
let snapshot = null
|
|
5107
5172
|
try { snapshot = scope === null || scope === undefined ? null : scope.getSnapshot() } catch (error) { void error }
|
|
5108
5173
|
const status = snapshot === null || snapshot === undefined || typeof snapshot.status !== 'string' ? 'absent' : snapshot.status
|
|
@@ -5130,8 +5195,8 @@ window.__ModuleLoader__.load({
|
|
|
5130
5195
|
// Switches exist only where they can actually write: a host that does not
|
|
5131
5196
|
// serve this entry's settings gets a sentence instead of dead controls.
|
|
5132
5197
|
if (status !== 'ready' || values === null) {
|
|
5133
|
-
return E('div', { className: 'dig-settings', 'data-settings-status': status },
|
|
5134
|
-
E('div', { className: 'dig-settings-note' }, t('settings.rail.unavailable')))
|
|
5198
|
+
return wrapCard(E('div', { className: 'dig-settings dig-card-body', 'data-settings-status': status },
|
|
5199
|
+
E('div', { className: 'dig-settings-note' }, t('settings.rail.unavailable'))))
|
|
5135
5200
|
}
|
|
5136
5201
|
const config = railConfigOfValues(values)
|
|
5137
5202
|
/* A toggle is a host round trip, so the switch would snap back to the old
|
|
@@ -5145,7 +5210,8 @@ window.__ModuleLoader__.load({
|
|
|
5145
5210
|
/* A host that serves the document but refuses writes gets disabled switches
|
|
5146
5211
|
and a sentence, not controls that silently do nothing. */
|
|
5147
5212
|
const readOnly = snapshot.writable !== true
|
|
5148
|
-
return E('div', { className: 'dig-settings', 'data-settings-status': status, 'data-settings-readonly': readOnly === true ? 'true' : 'false' },
|
|
5213
|
+
return wrapCard(E('div', { className: 'dig-settings dig-card-body', 'data-settings-status': status, 'data-settings-readonly': readOnly === true ? 'true' : 'false' },
|
|
5214
|
+
E('div', { className: 'dig-settings-hint' }, t('settings.rail.hint')),
|
|
5149
5215
|
E('div', { className: readOnly === true ? 'dig-settings-note' : 'dig-settings-note dig-settings-note-hidden', 'data-settings-readonly-note': '' }, t('settings.rail.readonly')),
|
|
5150
5216
|
note === '' ? null : E('div', { className: 'dig-settings-error', 'data-settings-error': '' }, note),
|
|
5151
5217
|
E('div', { className: 'dig-settings-list' }, RAIL_SPECS.map((spec) => {
|
|
@@ -5199,7 +5265,7 @@ window.__ModuleLoader__.load({
|
|
|
5199
5265
|
E('div', { className: 'dig-settings-sub' }, t('settings.commit.title')),
|
|
5200
5266
|
textRow('commitModel', 'settings.commit.model', 'settings.commit.modelHint', 120, false),
|
|
5201
5267
|
textRow('commitReasoning', 'settings.commit.reasoning', 'settings.commit.reasoningHint', 60, false),
|
|
5202
|
-
textRow('commitPrompt', 'settings.commit.prompt', 'settings.commit.promptHint', 2000, true))
|
|
5268
|
+
textRow('commitPrompt', 'settings.commit.prompt', 'settings.commit.promptHint', 2000, true)))
|
|
5203
5269
|
}
|
|
5204
5270
|
|
|
5205
5271
|
function RailSettings(props) {
|
|
@@ -7219,6 +7285,21 @@ window.__ModuleLoader__.load({
|
|
|
7219
7285
|
// their own width, and their text wraps inside that box instead of clipping.
|
|
7220
7286
|
// The settings card (the host's plugin page renders it inside its own
|
|
7221
7287
|
// section): one row per rail action, themed entirely by tokens.
|
|
7288
|
+
// The card shell below is the visual twin of the pc-card / dl-card /
|
|
7289
|
+
// gb-card pattern the sibling plugins draw.
|
|
7290
|
+
'.dig-card{list-style:none;border:1px solid var(--dsw-alias-border-l2);border-radius:var(--dsw-radius-md,12px);background:var(--dsw-alias-bg-layer-3);transition:border-color .16s,background .16s}',
|
|
7291
|
+
'.dig-card:hover{border-color:var(--dsw-alias-label-dimmed)}',
|
|
7292
|
+
'.dig-card.dig-card-open{background:var(--dsw-alias-bg-layer-2);border-color:var(--dsw-alias-label-dimmed)}',
|
|
7293
|
+
'.dig-card-header{width:100%;appearance:none;border:0;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer;display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:var(--dsw-radius-md,12px)}',
|
|
7294
|
+
'.dig-card-header:focus-visible{outline:2px solid var(--dsw-alias-brand-primary);outline-offset:-2px}',
|
|
7295
|
+
'.dig-card-header-flat{cursor:default}',
|
|
7296
|
+
'.dig-card-head-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}',
|
|
7297
|
+
'.dig-card-name{font-size:15px;font-weight:600;line-height:1.4;color:var(--dsw-alias-label-primary)}',
|
|
7298
|
+
'.dig-card-desc{font-size:13px;line-height:1.5;color:var(--dsw-alias-label-tertiary)}',
|
|
7299
|
+
'.dig-card-chevron{flex:none;display:inline-flex;color:var(--dsw-alias-label-tertiary);transition:transform .16s}',
|
|
7300
|
+
'.dig-card-chevron.dig-card-chevron-open{transform:rotate(180deg)}',
|
|
7301
|
+
'.dig-card-body{padding:8px 16px 16px}',
|
|
7302
|
+
'.dig-card-page{max-width:640px}',
|
|
7222
7303
|
'.dig-settings{display:flex;flex-direction:column;gap:8px;min-width:0}',
|
|
7223
7304
|
'.dig-settings-head{display:flex;flex-direction:column;gap:2px}',
|
|
7224
7305
|
'.dig-settings-title{font-weight:600;color:var(--dsw-alias-label-primary)}',
|