@pheem49/mint 1.7.1 → 1.8.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/.github/workflows/release.yml +1 -1
- package/Cargo.lock +34 -3
- package/Cargo.toml +2 -2
- package/README.md +40 -0
- package/Release_Note.md +95 -0
- package/assets/Mint_CLI.png +0 -0
- package/crates/mint-cli/Cargo.toml +1 -0
- package/crates/mint-cli/src/agent.rs +142 -48
- package/crates/mint-cli/src/main.rs +231 -22
- package/crates/mint-core/src/api_server.rs +71 -4
- package/crates/mint-core/src/browser.rs +401 -0
- package/crates/mint-core/src/chat.rs +79 -0
- package/crates/mint-core/src/config.rs +69 -1
- package/crates/mint-core/src/lib.rs +6 -1
- package/crates/mint-core/src/orchestration.rs +137 -1
- package/crates/mint-core/src/skills.rs +113 -4
- package/crates/mint-core/src/workflows.rs +9 -22
- package/package.json +2 -1
- package/src/renderer/src/App.tsx +1 -1
- package/src/renderer/src/components/ChatPanel.tsx +197 -47
- package/src/renderer/src/components/DashboardSidebar.tsx +71 -12
- package/src/renderer/src/components/ImageStudioPanel.tsx +18 -4
- package/src/renderer/src/components/MintDashboard.tsx +239 -7
- package/src/renderer/src/components/PicturesLibrary.tsx +1 -3
- package/src/renderer/src/components/Settings/AudioTab.tsx +97 -0
- package/src/renderer/src/components/Settings/AutomationTab.tsx +195 -0
- package/src/renderer/src/components/Settings/GeneralTab.tsx +950 -0
- package/src/renderer/src/components/Settings/MemoryTab.tsx +60 -0
- package/src/renderer/src/components/Settings/PluginsTab.tsx +632 -0
- package/src/renderer/src/components/Settings/ShortcutsTab.tsx +30 -0
- package/src/renderer/src/components/Settings/ThemeTab.tsx +129 -0
- package/src/renderer/src/components/SettingsWindow.tsx +175 -970
- package/src/renderer/src/components/WorkflowBuilderPanel.tsx +536 -0
- package/src/renderer/src/components/WorkflowsWindow.tsx +46 -0
- package/src/renderer/src/components/WorkspacePanel.tsx +66 -9
- package/src/renderer/src/css/image-studio.css +15 -4
- package/src/renderer/src/css/settings.css +75 -6
- package/src/renderer/src/css/styles.css +419 -49
- package/src/renderer/src/css/workflows.css +542 -0
- package/src/renderer/src/env.d.ts +2 -0
- package/src/renderer/src/index.css +13 -1
- package/src/renderer/src/tauri.ts +140 -2
- package/src/renderer/src-web/components/ChatPanel.tsx +190 -46
- package/src/renderer/src-web/components/DashboardSidebar.tsx +17 -1
- package/src/renderer/src-web/components/ImageStudioPanel.tsx +18 -4
- package/src/renderer/src-web/components/MintDashboard.tsx +197 -3
- package/src/renderer/src-web/components/PicturesLibrary.tsx +1 -3
- package/src/renderer/src-web/components/Settings/AudioTab.tsx +97 -0
- package/src/renderer/src-web/components/Settings/AutomationTab.tsx +196 -0
- package/src/renderer/src-web/components/Settings/GeneralTab.tsx +948 -0
- package/src/renderer/src-web/components/Settings/MemoryTab.tsx +60 -0
- package/src/renderer/src-web/components/Settings/PluginsTab.tsx +632 -0
- package/src/renderer/src-web/components/Settings/ShortcutsTab.tsx +30 -0
- package/src/renderer/src-web/components/Settings/ThemeTab.tsx +129 -0
- package/src/renderer/src-web/components/SettingsWindow.tsx +187 -976
- package/src/renderer/src-web/css/image-studio.css +15 -4
- package/src/renderer/src-web/css/settings.css +75 -6
- package/src/renderer/src-web/css/styles.css +394 -50
- package/src/renderer/src-web/env.d.ts +2 -0
- package/src/renderer/src-web/index.css +12 -1
- package/src/renderer/src-web/tauri.ts +60 -2
- package/src-tauri/src/browser.rs +1 -141
- package/src-tauri/src/headless.rs +3 -2
- package/src-tauri/src/lib.rs +195 -111
- package/src-tauri/src/workflows.rs +56 -4
- package/src-tauri/tauri.conf.json +1 -1
|
@@ -409,24 +409,24 @@ h1 {
|
|
|
409
409
|
}
|
|
410
410
|
|
|
411
411
|
.picture-refresh-btn {
|
|
412
|
-
height:
|
|
413
|
-
|
|
414
|
-
padding: 0
|
|
412
|
+
height: 36px;
|
|
413
|
+
width: 36px;
|
|
414
|
+
padding: 0;
|
|
415
415
|
display: inline-flex;
|
|
416
416
|
align-items: center;
|
|
417
417
|
justify-content: center;
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
border: 1px solid transparent;
|
|
418
|
+
border-radius: 8px;
|
|
419
|
+
background: rgba(255, 255, 255, 0.04);
|
|
420
|
+
color: var(--text-soft);
|
|
421
|
+
border: 1px solid var(--border);
|
|
423
422
|
cursor: pointer;
|
|
423
|
+
transition: background 0.15s, color 0.15s, border-color 0.15s;
|
|
424
424
|
}
|
|
425
425
|
|
|
426
426
|
.picture-refresh-btn:hover {
|
|
427
|
-
background:
|
|
428
|
-
border-color:
|
|
429
|
-
color: var(--
|
|
427
|
+
background: rgba(255, 255, 255, 0.08);
|
|
428
|
+
border-color: rgba(255, 255, 255, 0.15);
|
|
429
|
+
color: var(--text-main);
|
|
430
430
|
}
|
|
431
431
|
|
|
432
432
|
.maximize-btn:hover {
|
|
@@ -916,7 +916,7 @@ h1 {
|
|
|
916
916
|
|
|
917
917
|
.assistant-workspace.model-hidden .conversation-panel {
|
|
918
918
|
flex: 1;
|
|
919
|
-
max-width:
|
|
919
|
+
max-width: 1100px;
|
|
920
920
|
margin: 0 auto;
|
|
921
921
|
}
|
|
922
922
|
|
|
@@ -1486,7 +1486,7 @@ h1 {
|
|
|
1486
1486
|
gap: 8px;
|
|
1487
1487
|
margin-bottom: 8px;
|
|
1488
1488
|
margin-top: 0;
|
|
1489
|
-
max-width:
|
|
1489
|
+
max-width: 100%;
|
|
1490
1490
|
}
|
|
1491
1491
|
|
|
1492
1492
|
.agent-activity-toggle {
|
|
@@ -1521,7 +1521,7 @@ h1 {
|
|
|
1521
1521
|
border: 0;
|
|
1522
1522
|
border-radius: 0;
|
|
1523
1523
|
color: var(--text-main);
|
|
1524
|
-
width:
|
|
1524
|
+
width: 100%;
|
|
1525
1525
|
max-width: 100%;
|
|
1526
1526
|
padding: 4px 0;
|
|
1527
1527
|
box-shadow: none;
|
|
@@ -2150,7 +2150,7 @@ input:checked + .slider:before {
|
|
|
2150
2150
|
-webkit-backdrop-filter: var(--glass-blur);
|
|
2151
2151
|
border-right: 1px solid var(--border);
|
|
2152
2152
|
color: var(--text-muted);
|
|
2153
|
-
overflow:
|
|
2153
|
+
overflow: visible;
|
|
2154
2154
|
transition: width 0.22s ease, padding 0.22s ease, opacity 0.18s ease, transform 0.22s ease;
|
|
2155
2155
|
}
|
|
2156
2156
|
|
|
@@ -2661,7 +2661,8 @@ input:checked + .slider:before {
|
|
|
2661
2661
|
transition: opacity 0.24s ease, transform 0.24s ease;
|
|
2662
2662
|
}
|
|
2663
2663
|
|
|
2664
|
-
.app-body.pictures-open .pictures-library
|
|
2664
|
+
.app-body.pictures-open .pictures-library,
|
|
2665
|
+
.pictures-library.is-visible {
|
|
2665
2666
|
opacity: 1;
|
|
2666
2667
|
pointer-events: auto;
|
|
2667
2668
|
transform: translateY(0);
|
|
@@ -2700,19 +2701,34 @@ input:checked + .slider:before {
|
|
|
2700
2701
|
}
|
|
2701
2702
|
|
|
2702
2703
|
.pictures-header-actions {
|
|
2703
|
-
display:
|
|
2704
|
-
|
|
2705
|
-
|
|
2704
|
+
display: flex;
|
|
2705
|
+
align-items: center;
|
|
2706
|
+
gap: 10px;
|
|
2707
|
+
}
|
|
2708
|
+
|
|
2709
|
+
.pictures-header-actions .picture-folder-btn {
|
|
2710
|
+
display: none !important;
|
|
2706
2711
|
}
|
|
2707
2712
|
|
|
2708
2713
|
.pictures-close-btn {
|
|
2709
|
-
height:
|
|
2710
|
-
padding: 0
|
|
2714
|
+
height: 36px;
|
|
2715
|
+
padding: 0 16px;
|
|
2711
2716
|
border: 1px solid var(--border);
|
|
2712
2717
|
border-radius: 8px;
|
|
2713
|
-
background:
|
|
2718
|
+
background: rgba(255, 255, 255, 0.04);
|
|
2714
2719
|
color: var(--text-main);
|
|
2720
|
+
font-size: 0.82rem;
|
|
2721
|
+
font-weight: 500;
|
|
2715
2722
|
cursor: pointer;
|
|
2723
|
+
display: inline-flex;
|
|
2724
|
+
align-items: center;
|
|
2725
|
+
justify-content: center;
|
|
2726
|
+
transition: background 0.15s ease, border-color 0.15s ease;
|
|
2727
|
+
}
|
|
2728
|
+
|
|
2729
|
+
.pictures-close-btn:hover {
|
|
2730
|
+
background: rgba(255, 255, 255, 0.08);
|
|
2731
|
+
border-color: rgba(255, 255, 255, 0.15);
|
|
2716
2732
|
}
|
|
2717
2733
|
|
|
2718
2734
|
.pictures-grid {
|
|
@@ -2765,20 +2781,24 @@ input:checked + .slider:before {
|
|
|
2765
2781
|
}
|
|
2766
2782
|
|
|
2767
2783
|
.picture-folder-btn {
|
|
2768
|
-
|
|
2769
|
-
|
|
2784
|
+
height: 36px;
|
|
2785
|
+
padding: 0 16px;
|
|
2770
2786
|
border: 1px solid var(--border);
|
|
2771
2787
|
border-radius: 8px;
|
|
2772
|
-
background:
|
|
2773
|
-
color: var(--text);
|
|
2774
|
-
font-size: 0.
|
|
2775
|
-
font-weight:
|
|
2788
|
+
background: rgba(255, 255, 255, 0.04);
|
|
2789
|
+
color: var(--text-main);
|
|
2790
|
+
font-size: 0.82rem;
|
|
2791
|
+
font-weight: 500;
|
|
2776
2792
|
cursor: pointer;
|
|
2793
|
+
display: inline-flex;
|
|
2794
|
+
align-items: center;
|
|
2795
|
+
justify-content: center;
|
|
2796
|
+
transition: background 0.15s ease, border-color 0.15s ease;
|
|
2777
2797
|
}
|
|
2778
2798
|
|
|
2779
2799
|
.picture-folder-btn:hover {
|
|
2780
|
-
|
|
2781
|
-
|
|
2800
|
+
background: rgba(255, 255, 255, 0.08);
|
|
2801
|
+
border-color: rgba(255, 255, 255, 0.15);
|
|
2782
2802
|
}
|
|
2783
2803
|
|
|
2784
2804
|
.picture-folder-btn:disabled {
|
|
@@ -3027,12 +3047,12 @@ input:checked + .slider:before {
|
|
|
3027
3047
|
.assistant-workspace.model-hidden .conversation-panel {
|
|
3028
3048
|
position: relative;
|
|
3029
3049
|
display: grid;
|
|
3030
|
-
grid-template-rows: minmax(0, 1fr) auto;
|
|
3031
|
-
width: min(
|
|
3050
|
+
grid-template-rows: auto minmax(0, 1fr) auto auto;
|
|
3051
|
+
width: min(1100px, calc(100% - 64px));
|
|
3032
3052
|
height: 100%;
|
|
3033
3053
|
max-width: none;
|
|
3034
3054
|
margin: 0 auto;
|
|
3035
|
-
padding:
|
|
3055
|
+
padding: 32px 0 8px;
|
|
3036
3056
|
grid-column: 1 / -1;
|
|
3037
3057
|
z-index: 1;
|
|
3038
3058
|
}
|
|
@@ -3055,13 +3075,13 @@ input:checked + .slider:before {
|
|
|
3055
3075
|
}
|
|
3056
3076
|
|
|
3057
3077
|
.assistant-workspace.model-hidden .conversation-panel.is-empty {
|
|
3058
|
-
grid-template-rows: auto minmax(0, 1fr);
|
|
3059
|
-
align-content:
|
|
3078
|
+
grid-template-rows: auto minmax(0, 1fr) auto auto;
|
|
3079
|
+
align-content: stretch;
|
|
3060
3080
|
justify-content: stretch;
|
|
3061
3081
|
width: min(840px, calc(100% - 64px));
|
|
3062
3082
|
margin: 0 auto;
|
|
3063
|
-
padding-top:
|
|
3064
|
-
padding-bottom:
|
|
3083
|
+
padding-top: 0;
|
|
3084
|
+
padding-bottom: 8px;
|
|
3065
3085
|
}
|
|
3066
3086
|
|
|
3067
3087
|
.conversation-panel.is-empty .chat-container {
|
|
@@ -3238,23 +3258,20 @@ input:checked + .slider:before {
|
|
|
3238
3258
|
|
|
3239
3259
|
.mint-image-attachment {
|
|
3240
3260
|
position: relative;
|
|
3241
|
-
display:
|
|
3242
|
-
width:
|
|
3243
|
-
height:
|
|
3244
|
-
max-width: min(360px, 72vw);
|
|
3245
|
-
max-height: 196px;
|
|
3261
|
+
display: block;
|
|
3262
|
+
width: 80px;
|
|
3263
|
+
height: 80px;
|
|
3246
3264
|
overflow: hidden;
|
|
3247
3265
|
border: 1px solid var(--border);
|
|
3248
3266
|
border-radius: 8px;
|
|
3249
3267
|
background: color-mix(in srgb, var(--surface-strong) 78%, rgba(0, 0, 0, 0.22));
|
|
3250
3268
|
}
|
|
3251
3269
|
|
|
3252
|
-
.mint-image-preview {
|
|
3253
|
-
width:
|
|
3254
|
-
height:
|
|
3255
|
-
|
|
3256
|
-
|
|
3257
|
-
display: block;
|
|
3270
|
+
.mint-image-attachment img.mint-image-preview {
|
|
3271
|
+
width: 100% !important;
|
|
3272
|
+
height: 100% !important;
|
|
3273
|
+
object-fit: cover !important;
|
|
3274
|
+
display: block !important;
|
|
3258
3275
|
}
|
|
3259
3276
|
|
|
3260
3277
|
.mint-attachment-remove {
|
|
@@ -3626,9 +3643,14 @@ input:checked + .slider:before {
|
|
|
3626
3643
|
|
|
3627
3644
|
.assistant-workspace {
|
|
3628
3645
|
display: flex;
|
|
3646
|
+
flex-direction: column;
|
|
3629
3647
|
margin-left: 0;
|
|
3630
|
-
padding:
|
|
3631
|
-
gap:
|
|
3648
|
+
padding: 0;
|
|
3649
|
+
gap: 0;
|
|
3650
|
+
flex: 1;
|
|
3651
|
+
min-height: 0;
|
|
3652
|
+
height: 100%;
|
|
3653
|
+
overflow: hidden;
|
|
3632
3654
|
}
|
|
3633
3655
|
|
|
3634
3656
|
.assistant-workspace.layout-chat {
|
|
@@ -3637,6 +3659,10 @@ input:checked + .slider:before {
|
|
|
3637
3659
|
|
|
3638
3660
|
.app-body {
|
|
3639
3661
|
grid-template-columns: 1fr;
|
|
3662
|
+
display: flex;
|
|
3663
|
+
flex-direction: column;
|
|
3664
|
+
min-height: 0;
|
|
3665
|
+
flex: 1;
|
|
3640
3666
|
}
|
|
3641
3667
|
|
|
3642
3668
|
.sidebar-toggle {
|
|
@@ -3684,15 +3710,28 @@ input:checked + .slider:before {
|
|
|
3684
3710
|
.conversation-panel {
|
|
3685
3711
|
position: static;
|
|
3686
3712
|
width: 100%;
|
|
3713
|
+
height: 100%;
|
|
3687
3714
|
max-height: none;
|
|
3688
3715
|
transform: none;
|
|
3689
3716
|
flex: 1;
|
|
3690
3717
|
min-width: 0;
|
|
3718
|
+
min-height: 0;
|
|
3719
|
+
border-radius: 0;
|
|
3720
|
+
overflow: hidden;
|
|
3691
3721
|
}
|
|
3692
3722
|
|
|
3693
3723
|
.chat-container {
|
|
3694
3724
|
max-height: none;
|
|
3695
3725
|
}
|
|
3726
|
+
|
|
3727
|
+
.input-area {
|
|
3728
|
+
padding: 10px;
|
|
3729
|
+
}
|
|
3730
|
+
|
|
3731
|
+
#chat-form {
|
|
3732
|
+
min-height: auto;
|
|
3733
|
+
padding: 6px;
|
|
3734
|
+
}
|
|
3696
3735
|
}
|
|
3697
3736
|
|
|
3698
3737
|
/* Chat Bold Highlight styling */
|
|
@@ -3709,6 +3748,19 @@ input:checked + .slider:before {
|
|
|
3709
3748
|
color: #38bdf8; /* Sky-400 for midnight theme */
|
|
3710
3749
|
}
|
|
3711
3750
|
|
|
3751
|
+
/* Input Disclaimer Footer */
|
|
3752
|
+
.input-disclaimer {
|
|
3753
|
+
text-align: center;
|
|
3754
|
+
font-size: 0.7rem;
|
|
3755
|
+
color: var(--text-muted);
|
|
3756
|
+
opacity: 0.55;
|
|
3757
|
+
padding: 6px 20px 10px;
|
|
3758
|
+
margin: 0;
|
|
3759
|
+
flex-shrink: 0;
|
|
3760
|
+
line-height: 1.5;
|
|
3761
|
+
user-select: none;
|
|
3762
|
+
}
|
|
3763
|
+
|
|
3712
3764
|
/* Web-Native Chat Header */
|
|
3713
3765
|
.chat-header {
|
|
3714
3766
|
display: flex;
|
|
@@ -3822,4 +3874,296 @@ input:checked + .slider:before {
|
|
|
3822
3874
|
.mobile-menu-btn {
|
|
3823
3875
|
display: flex;
|
|
3824
3876
|
}
|
|
3877
|
+
|
|
3878
|
+
/* Override desktop grid layout so chat-header (hamburger) is visible on mobile */
|
|
3879
|
+
.assistant-workspace.model-hidden .conversation-panel,
|
|
3880
|
+
.assistant-workspace.model-hidden .conversation-panel.is-empty {
|
|
3881
|
+
display: flex;
|
|
3882
|
+
flex-direction: column;
|
|
3883
|
+
width: 100%;
|
|
3884
|
+
height: 100%;
|
|
3885
|
+
padding: 0;
|
|
3886
|
+
margin: 0;
|
|
3887
|
+
grid-template-rows: none;
|
|
3888
|
+
grid-column: auto;
|
|
3889
|
+
}
|
|
3890
|
+
|
|
3891
|
+
/* Solid header fixed to top with background and blur */
|
|
3892
|
+
.chat-header {
|
|
3893
|
+
position: fixed;
|
|
3894
|
+
top: 0;
|
|
3895
|
+
left: 0;
|
|
3896
|
+
right: 0;
|
|
3897
|
+
z-index: 200;
|
|
3898
|
+
background: var(--chrome-bg);
|
|
3899
|
+
backdrop-filter: var(--glass-blur);
|
|
3900
|
+
-webkit-backdrop-filter: var(--glass-blur);
|
|
3901
|
+
border-bottom: 1px solid var(--border);
|
|
3902
|
+
height: 52px;
|
|
3903
|
+
padding: 10px 16px;
|
|
3904
|
+
}
|
|
3905
|
+
|
|
3906
|
+
.assistant-workspace.model-hidden .chat-header {
|
|
3907
|
+
display: flex;
|
|
3908
|
+
flex-shrink: 0;
|
|
3909
|
+
}
|
|
3910
|
+
|
|
3911
|
+
/* Push chat content below fixed header */
|
|
3912
|
+
.assistant-workspace.model-hidden .chat-container {
|
|
3913
|
+
flex: 1;
|
|
3914
|
+
overflow-y: auto;
|
|
3915
|
+
padding: 64px 12px 8px;
|
|
3916
|
+
}
|
|
3917
|
+
|
|
3918
|
+
.assistant-workspace.model-hidden .input-area {
|
|
3919
|
+
width: 100%;
|
|
3920
|
+
flex-shrink: 0;
|
|
3921
|
+
}
|
|
3922
|
+
}
|
|
3923
|
+
|
|
3924
|
+
/* System Event Divider with Pill */
|
|
3925
|
+
.system-event-divider {
|
|
3926
|
+
display: flex;
|
|
3927
|
+
align-items: center;
|
|
3928
|
+
justify-content: center;
|
|
3929
|
+
width: 100%;
|
|
3930
|
+
margin: 20px 0;
|
|
3931
|
+
flex-shrink: 0;
|
|
3932
|
+
}
|
|
3933
|
+
|
|
3934
|
+
.system-event-line {
|
|
3935
|
+
flex: 1;
|
|
3936
|
+
height: 1px;
|
|
3937
|
+
border-bottom: 1px dashed rgba(255, 255, 255, 0.1);
|
|
3938
|
+
}
|
|
3939
|
+
|
|
3940
|
+
[data-theme="light"] .system-event-line {
|
|
3941
|
+
border-bottom: 1px dashed rgba(0, 0, 0, 0.1);
|
|
3942
|
+
}
|
|
3943
|
+
|
|
3944
|
+
.system-event-pill {
|
|
3945
|
+
display: flex;
|
|
3946
|
+
align-items: center;
|
|
3947
|
+
gap: 6px;
|
|
3948
|
+
padding: 4px 14px;
|
|
3949
|
+
background: var(--panel-raised, rgba(30, 41, 59, 0.6));
|
|
3950
|
+
border: 1px solid rgba(255, 255, 255, 0.08);
|
|
3951
|
+
border-radius: 9999px;
|
|
3952
|
+
color: var(--text-soft, #94a3b8);
|
|
3953
|
+
font-size: 0.78rem;
|
|
3954
|
+
font-weight: 500;
|
|
3955
|
+
margin: 0 12px;
|
|
3956
|
+
white-space: nowrap;
|
|
3957
|
+
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
|
|
3958
|
+
}
|
|
3959
|
+
|
|
3960
|
+
[data-theme="light"] .system-event-pill {
|
|
3961
|
+
background: #f1f5f9;
|
|
3962
|
+
border-color: rgba(0, 0, 0, 0.06);
|
|
3963
|
+
color: #475569;
|
|
3964
|
+
}
|
|
3965
|
+
|
|
3966
|
+
.system-event-pill svg {
|
|
3967
|
+
color: var(--accent, #38bdf8);
|
|
3968
|
+
}
|
|
3969
|
+
|
|
3970
|
+
/* Sidebar Search Chats Button */
|
|
3971
|
+
.sidebar-search-btn {
|
|
3972
|
+
margin-top: 4px;
|
|
3825
3973
|
}
|
|
3974
|
+
|
|
3975
|
+
/* Sidebar Search Modal Backdrop */
|
|
3976
|
+
.sidebar-search-modal-backdrop {
|
|
3977
|
+
position: fixed;
|
|
3978
|
+
inset: 0;
|
|
3979
|
+
z-index: 10000;
|
|
3980
|
+
background: rgba(0, 0, 0, 0.6);
|
|
3981
|
+
backdrop-filter: blur(8px);
|
|
3982
|
+
-webkit-backdrop-filter: blur(8px);
|
|
3983
|
+
display: flex;
|
|
3984
|
+
align-items: flex-start;
|
|
3985
|
+
justify-content: center;
|
|
3986
|
+
padding-top: 12vh;
|
|
3987
|
+
}
|
|
3988
|
+
|
|
3989
|
+
/* Sidebar Search Modal Box */
|
|
3990
|
+
.sidebar-search-modal {
|
|
3991
|
+
width: 100%;
|
|
3992
|
+
max-width: 520px;
|
|
3993
|
+
background: var(--surface-strong, #1e293b);
|
|
3994
|
+
border: 1px solid var(--border, rgba(255, 255, 255, 0.08));
|
|
3995
|
+
border-radius: 12px;
|
|
3996
|
+
box-shadow: 0 20px 40px rgba(0, 0, 0, 0.5);
|
|
3997
|
+
display: flex;
|
|
3998
|
+
flex-direction: column;
|
|
3999
|
+
overflow: hidden;
|
|
4000
|
+
animation: modalFadeIn 0.2s cubic-bezier(0.16, 1, 0.3, 1);
|
|
4001
|
+
}
|
|
4002
|
+
|
|
4003
|
+
@keyframes modalFadeIn {
|
|
4004
|
+
from {
|
|
4005
|
+
opacity: 0;
|
|
4006
|
+
transform: translateY(-20px) scale(0.96);
|
|
4007
|
+
}
|
|
4008
|
+
to {
|
|
4009
|
+
opacity: 1;
|
|
4010
|
+
transform: translateY(0) scale(1);
|
|
4011
|
+
}
|
|
4012
|
+
}
|
|
4013
|
+
|
|
4014
|
+
/* Header */
|
|
4015
|
+
.search-modal-header {
|
|
4016
|
+
display: flex;
|
|
4017
|
+
align-items: center;
|
|
4018
|
+
gap: 12px;
|
|
4019
|
+
padding: 14px 16px;
|
|
4020
|
+
border-bottom: 1px solid var(--border, rgba(255, 255, 255, 0.08));
|
|
4021
|
+
position: relative;
|
|
4022
|
+
}
|
|
4023
|
+
|
|
4024
|
+
.search-icon-wrapper {
|
|
4025
|
+
color: var(--text-soft, #94a3b8);
|
|
4026
|
+
display: inline-flex;
|
|
4027
|
+
align-items: center;
|
|
4028
|
+
}
|
|
4029
|
+
|
|
4030
|
+
.search-modal-header input {
|
|
4031
|
+
flex: 1;
|
|
4032
|
+
background: transparent;
|
|
4033
|
+
border: 0;
|
|
4034
|
+
color: var(--text-main, #f8fafc);
|
|
4035
|
+
font: inherit;
|
|
4036
|
+
font-size: 0.95rem;
|
|
4037
|
+
outline: none;
|
|
4038
|
+
}
|
|
4039
|
+
|
|
4040
|
+
.search-modal-header input::placeholder {
|
|
4041
|
+
color: var(--text-muted, #64748b);
|
|
4042
|
+
}
|
|
4043
|
+
|
|
4044
|
+
.search-modal-close {
|
|
4045
|
+
background: transparent;
|
|
4046
|
+
border: 0;
|
|
4047
|
+
color: var(--text-muted, #64748b);
|
|
4048
|
+
cursor: pointer;
|
|
4049
|
+
display: inline-flex;
|
|
4050
|
+
align-items: center;
|
|
4051
|
+
justify-content: center;
|
|
4052
|
+
padding: 4px;
|
|
4053
|
+
border-radius: 4px;
|
|
4054
|
+
transition: color 0.15s ease, background 0.15s ease;
|
|
4055
|
+
}
|
|
4056
|
+
|
|
4057
|
+
.search-modal-close:hover {
|
|
4058
|
+
color: var(--text-main, #f8fafc);
|
|
4059
|
+
background: rgba(255, 255, 255, 0.05);
|
|
4060
|
+
}
|
|
4061
|
+
|
|
4062
|
+
/* Body */
|
|
4063
|
+
.search-modal-body {
|
|
4064
|
+
max-height: 480px;
|
|
4065
|
+
overflow-y: auto;
|
|
4066
|
+
padding: 12px;
|
|
4067
|
+
display: flex;
|
|
4068
|
+
flex-direction: column;
|
|
4069
|
+
gap: 14px;
|
|
4070
|
+
}
|
|
4071
|
+
|
|
4072
|
+
.search-new-chat-btn {
|
|
4073
|
+
display: flex;
|
|
4074
|
+
align-items: center;
|
|
4075
|
+
gap: 10px;
|
|
4076
|
+
background: rgba(255, 255, 255, 0.03);
|
|
4077
|
+
border: 1px solid var(--border, rgba(255, 255, 255, 0.08));
|
|
4078
|
+
border-radius: 8px;
|
|
4079
|
+
color: var(--text-main, #f8fafc);
|
|
4080
|
+
padding: 10px 14px;
|
|
4081
|
+
cursor: pointer;
|
|
4082
|
+
text-align: left;
|
|
4083
|
+
font: inherit;
|
|
4084
|
+
font-size: 0.9rem;
|
|
4085
|
+
transition: background 0.15s ease;
|
|
4086
|
+
}
|
|
4087
|
+
|
|
4088
|
+
.search-new-chat-btn:hover {
|
|
4089
|
+
background: rgba(255, 255, 255, 0.08);
|
|
4090
|
+
}
|
|
4091
|
+
|
|
4092
|
+
.search-modal-results {
|
|
4093
|
+
display: flex;
|
|
4094
|
+
flex-direction: column;
|
|
4095
|
+
gap: 14px;
|
|
4096
|
+
}
|
|
4097
|
+
|
|
4098
|
+
.search-results-group {
|
|
4099
|
+
display: flex;
|
|
4100
|
+
flex-direction: column;
|
|
4101
|
+
gap: 4px;
|
|
4102
|
+
}
|
|
4103
|
+
|
|
4104
|
+
.search-group-title {
|
|
4105
|
+
color: var(--accent, #10b981);
|
|
4106
|
+
font-size: 0.72rem;
|
|
4107
|
+
font-weight: 600;
|
|
4108
|
+
text-transform: uppercase;
|
|
4109
|
+
letter-spacing: 0.05em;
|
|
4110
|
+
padding: 4px 10px;
|
|
4111
|
+
}
|
|
4112
|
+
|
|
4113
|
+
.search-result-item {
|
|
4114
|
+
display: flex;
|
|
4115
|
+
align-items: center;
|
|
4116
|
+
gap: 10px;
|
|
4117
|
+
background: transparent;
|
|
4118
|
+
border: 0;
|
|
4119
|
+
border-radius: 6px;
|
|
4120
|
+
color: var(--text-soft, #94a3b8);
|
|
4121
|
+
padding: 8px 12px;
|
|
4122
|
+
cursor: pointer;
|
|
4123
|
+
text-align: left;
|
|
4124
|
+
font: inherit;
|
|
4125
|
+
font-size: 0.88rem;
|
|
4126
|
+
transition: background 0.15s ease, color 0.15s ease;
|
|
4127
|
+
white-space: nowrap;
|
|
4128
|
+
overflow: hidden;
|
|
4129
|
+
text-overflow: ellipsis;
|
|
4130
|
+
width: 100%;
|
|
4131
|
+
}
|
|
4132
|
+
|
|
4133
|
+
.search-result-item svg {
|
|
4134
|
+
color: var(--text-muted, #64748b);
|
|
4135
|
+
flex-shrink: 0;
|
|
4136
|
+
}
|
|
4137
|
+
|
|
4138
|
+
.search-result-item:hover,
|
|
4139
|
+
.search-result-item.active {
|
|
4140
|
+
background: rgba(255, 255, 255, 0.05);
|
|
4141
|
+
color: var(--text-main, #f8fafc);
|
|
4142
|
+
}
|
|
4143
|
+
|
|
4144
|
+
.search-result-item:hover svg,
|
|
4145
|
+
.search-result-item.active svg {
|
|
4146
|
+
color: var(--text-main, #f8fafc);
|
|
4147
|
+
}
|
|
4148
|
+
|
|
4149
|
+
.search-result-title {
|
|
4150
|
+
overflow: hidden;
|
|
4151
|
+
text-overflow: ellipsis;
|
|
4152
|
+
white-space: nowrap;
|
|
4153
|
+
}
|
|
4154
|
+
|
|
4155
|
+
.search-no-results {
|
|
4156
|
+
color: var(--text-muted, #64748b);
|
|
4157
|
+
text-align: center;
|
|
4158
|
+
padding: 30px 0;
|
|
4159
|
+
font-size: 0.9rem;
|
|
4160
|
+
}
|
|
4161
|
+
|
|
4162
|
+
/* Allow global text selection everywhere */
|
|
4163
|
+
* {
|
|
4164
|
+
user-select: text !important;
|
|
4165
|
+
-webkit-user-select: text !important;
|
|
4166
|
+
-moz-user-select: text !important;
|
|
4167
|
+
-ms-user-select: text !important;
|
|
4168
|
+
}
|
|
4169
|
+
|
|
@@ -11,6 +11,7 @@ interface Window {
|
|
|
11
11
|
getChatHistory: () => Promise<any>;
|
|
12
12
|
listSavedPictures: () => Promise<any>;
|
|
13
13
|
openSettings: () => Promise<any>;
|
|
14
|
+
openWorkflows: () => Promise<any>;
|
|
14
15
|
readClipboard: () => Promise<string>;
|
|
15
16
|
writeClipboard: (text: string) => Promise<void>;
|
|
16
17
|
getSystemInfo: () => Promise<any>;
|
|
@@ -46,6 +47,7 @@ interface Window {
|
|
|
46
47
|
openFolder: (path: string) => Promise<void>;
|
|
47
48
|
openCustomWorkflows: () => Promise<any>;
|
|
48
49
|
reloadCustomWorkflows: () => Promise<any>;
|
|
50
|
+
saveCustomWorkflows: (workflows: any[]) => Promise<any>;
|
|
49
51
|
};
|
|
50
52
|
spotlightAPI: {
|
|
51
53
|
submit: (query: string) => void;
|
|
@@ -379,7 +379,6 @@ button {
|
|
|
379
379
|
}
|
|
380
380
|
}
|
|
381
381
|
|
|
382
|
-
/* Premium Markdown Styles for Chat Messages */
|
|
383
382
|
.chat-inline-code {
|
|
384
383
|
background: rgba(16, 185, 129, 0.15);
|
|
385
384
|
border: 1px solid rgba(16, 185, 129, 0.25);
|
|
@@ -390,6 +389,18 @@ button {
|
|
|
390
389
|
font-size: 0.88em;
|
|
391
390
|
}
|
|
392
391
|
|
|
392
|
+
.chat-mention {
|
|
393
|
+
background: color-mix(in srgb, var(--accent, #10b981) 12%, transparent);
|
|
394
|
+
border: 1px solid color-mix(in srgb, var(--accent, #10b981) 25%, transparent);
|
|
395
|
+
color: var(--accent, #34d399);
|
|
396
|
+
padding: 2px 6px;
|
|
397
|
+
border-radius: 6px;
|
|
398
|
+
font-weight: 500;
|
|
399
|
+
font-size: 0.9em;
|
|
400
|
+
display: inline-block;
|
|
401
|
+
margin: 0 2px;
|
|
402
|
+
}
|
|
403
|
+
|
|
393
404
|
.chat-code-block-container {
|
|
394
405
|
display: flex;
|
|
395
406
|
flex-direction: column;
|