rds_ssm_connect 1.8.1 → 1.8.2

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rds_ssm_connect",
3
- "version": "1.8.1",
3
+ "version": "1.8.2",
4
4
  "type": "module",
5
5
  "repository": {
6
6
  "type": "git",
package/src/App.svelte CHANGED
@@ -95,6 +95,16 @@ async function initApp() {
95
95
  loadingProjects = true
96
96
 
97
97
  try {
98
+ // Wait for Tauri IPC bridge before importing modules
99
+ await withTimeout(
100
+ new Promise((resolve) => {
101
+ if (window.__TAURI_INTERNALS__) return resolve()
102
+ const id = setInterval(() => {
103
+ if (window.__TAURI_INTERNALS__) { clearInterval(id); resolve() }
104
+ }, 50)
105
+ }),
106
+ 5000,
107
+ )
98
108
  const [core, event, windowModule] = await withTimeout(
99
109
  Promise.all([
100
110
  import('@tauri-apps/api/core'),
@@ -672,6 +682,37 @@ const isAlreadySaved = $derived(
672
682
  </main>
673
683
 
674
684
  <style>
685
+ :global(:root) {
686
+ --glass-bg: rgba(255, 255, 255, 0.04);
687
+ --glass-bg-hover: rgba(255, 255, 255, 0.07);
688
+ --glass-border: rgba(255, 255, 255, 0.08);
689
+ --glass-border-hover: rgba(255, 255, 255, 0.14);
690
+ --glass-blur: blur(16px) saturate(1.8);
691
+ --glass-blur-heavy: blur(32px) saturate(1.8);
692
+ --glass-inner-glow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
693
+ --glass-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
694
+ --press-scale: scale(0.97);
695
+ --transition-fast: 0.15s ease;
696
+ --transition-normal: 0.2s ease;
697
+ }
698
+
699
+ @media (prefers-reduced-transparency) {
700
+ :global(:root) {
701
+ --glass-bg: rgba(30, 30, 50, 0.95);
702
+ --glass-bg-hover: rgba(40, 40, 60, 0.95);
703
+ --glass-blur: none;
704
+ --glass-blur-heavy: none;
705
+ }
706
+ }
707
+
708
+ @media (prefers-reduced-motion) {
709
+ :global(:root) {
710
+ --press-scale: none;
711
+ --transition-fast: 0s;
712
+ --transition-normal: 0s;
713
+ }
714
+ }
715
+
675
716
  :global(*) {
676
717
  box-sizing: border-box;
677
718
  }
@@ -793,9 +834,12 @@ const isAlreadySaved = $derived(
793
834
  flex-direction: column;
794
835
  gap: 12px;
795
836
  padding: 16px;
796
- background: rgba(251, 191, 36, 0.1);
837
+ background: var(--glass-bg);
838
+ -webkit-backdrop-filter: var(--glass-blur);
839
+ backdrop-filter: var(--glass-blur);
797
840
  border: 1px solid rgba(251, 191, 36, 0.2);
798
841
  border-radius: 12px;
842
+ box-shadow: var(--glass-inner-glow);
799
843
  animation: fadeIn 0.3s ease-out;
800
844
  }
801
845
 
@@ -847,6 +891,10 @@ const isAlreadySaved = $derived(
847
891
  background: #fcd34d;
848
892
  }
849
893
 
894
+ .btn-save:active {
895
+ transform: var(--press-scale);
896
+ }
897
+
850
898
  .btn-dismiss-save {
851
899
  padding: 6px 14px;
852
900
  font-size: 0.8rem;
@@ -869,9 +917,12 @@ const isAlreadySaved = $derived(
869
917
  align-items: flex-start;
870
918
  gap: 12px;
871
919
  padding: 16px;
872
- background: rgba(239, 68, 68, 0.1);
920
+ background: var(--glass-bg);
921
+ -webkit-backdrop-filter: var(--glass-blur);
922
+ backdrop-filter: var(--glass-blur);
873
923
  border: 1px solid rgba(239, 68, 68, 0.2);
874
924
  border-radius: 16px;
925
+ box-shadow: var(--glass-inner-glow);
875
926
  animation: slideIn 0.3s ease-out;
876
927
  }
877
928
 
@@ -965,6 +1016,10 @@ const isAlreadySaved = $derived(
965
1016
  color: #a1a1aa;
966
1017
  }
967
1018
 
1019
+ .settings-btn:active {
1020
+ transform: var(--press-scale);
1021
+ }
1022
+
968
1023
  .check-updates-btn {
969
1024
  padding: 6px 12px;
970
1025
  font-size: 0.7rem;
@@ -983,6 +1038,10 @@ const isAlreadySaved = $derived(
983
1038
  color: #a1a1aa;
984
1039
  }
985
1040
 
1041
+ .check-updates-btn:active:not(:disabled) {
1042
+ transform: var(--press-scale);
1043
+ }
1044
+
986
1045
  .check-updates-btn:disabled {
987
1046
  opacity: 0.7;
988
1047
  cursor: wait;
@@ -135,10 +135,13 @@ function handleHeaderKeydown(e, connectionId) {
135
135
 
136
136
  <style>
137
137
  .active-connections-card {
138
- background: rgba(255, 255, 255, 0.03);
139
- border: 1px solid rgba(52, 211, 153, 0.2);
138
+ background: var(--glass-bg);
139
+ -webkit-backdrop-filter: var(--glass-blur);
140
+ backdrop-filter: var(--glass-blur);
141
+ border: 1px solid rgba(16, 185, 129, 0.3);
140
142
  border-radius: 20px;
141
143
  padding: 24px;
144
+ box-shadow: var(--glass-inner-glow);
142
145
  }
143
146
 
144
147
  .card-header {
@@ -195,6 +198,10 @@ function handleHeaderKeydown(e, connectionId) {
195
198
  border-color: rgba(239, 68, 68, 0.3);
196
199
  }
197
200
 
201
+ .btn-disconnect-all:active {
202
+ transform: var(--press-scale);
203
+ }
204
+
198
205
  .connections-list {
199
206
  display: flex;
200
207
  flex-direction: column;
@@ -57,12 +57,15 @@ function handleKeydown(e) {
57
57
  }
58
58
 
59
59
  .confirm-dialog {
60
- background: linear-gradient(145deg, #1a1a2e 0%, #16162a 100%);
61
- border: 1px solid rgba(255, 255, 255, 0.1);
60
+ background: rgba(26, 26, 46, 0.85);
61
+ -webkit-backdrop-filter: var(--glass-blur-heavy);
62
+ backdrop-filter: var(--glass-blur-heavy);
63
+ border: 1px solid var(--glass-border);
62
64
  border-radius: 16px;
63
65
  padding: 24px;
64
66
  max-width: 380px;
65
67
  width: 100%;
68
+ box-shadow: var(--glass-inner-glow), var(--glass-shadow);
66
69
  animation: slideUp 0.2s ease-out;
67
70
  }
68
71
 
@@ -108,6 +111,10 @@ function handleKeydown(e) {
108
111
  color: #a1a1aa;
109
112
  }
110
113
 
114
+ .btn-cancel:active {
115
+ transform: var(--press-scale);
116
+ }
117
+
111
118
  .btn-confirm {
112
119
  padding: 10px 18px;
113
120
  font-size: 0.875rem;
@@ -125,6 +132,10 @@ function handleKeydown(e) {
125
132
  box-shadow: 0 4px 12px rgba(99, 102, 241, 0.3);
126
133
  }
127
134
 
135
+ .btn-confirm:active {
136
+ transform: var(--press-scale);
137
+ }
138
+
128
139
  .btn-confirm.destructive {
129
140
  background: #ef4444;
130
141
  }
@@ -112,10 +112,13 @@ function handleConnectClick() {
112
112
 
113
113
  <style>
114
114
  .connection-card {
115
- background: rgba(255, 255, 255, 0.03);
116
- border: 1px solid rgba(255, 255, 255, 0.06);
115
+ background: var(--glass-bg);
116
+ -webkit-backdrop-filter: var(--glass-blur);
117
+ backdrop-filter: var(--glass-blur);
118
+ border: 1px solid var(--glass-border);
117
119
  border-radius: 20px;
118
120
  padding: 24px;
121
+ box-shadow: var(--glass-inner-glow);
119
122
  }
120
123
 
121
124
  .card-header {
@@ -247,7 +250,7 @@ function handleConnectClick() {
247
250
  }
248
251
 
249
252
  .btn-connect:active:not(:disabled) {
250
- transform: translateY(0);
253
+ transform: var(--press-scale);
251
254
  }
252
255
 
253
256
  .btn-connect:disabled {
@@ -81,12 +81,15 @@ function handleKeydown(e) {
81
81
  }
82
82
 
83
83
  .modal-content {
84
- background: linear-gradient(145deg, #1a1a2e 0%, #16162a 100%);
85
- border: 1px solid rgba(255, 255, 255, 0.1);
84
+ background: rgba(26, 26, 46, 0.85);
85
+ -webkit-backdrop-filter: var(--glass-blur-heavy);
86
+ backdrop-filter: var(--glass-blur-heavy);
87
+ border: 1px solid var(--glass-border);
86
88
  border-radius: 20px;
87
89
  padding: 28px;
88
90
  max-width: 440px;
89
91
  width: 100%;
92
+ box-shadow: var(--glass-inner-glow), var(--glass-shadow);
90
93
  animation: slideUp 0.3s ease-out;
91
94
  }
92
95
 
@@ -243,4 +246,8 @@ function handleKeydown(e) {
243
246
  background: rgba(255, 255, 255, 0.1);
244
247
  color: #e4e4e7;
245
248
  }
249
+
250
+ .btn-continue:active {
251
+ transform: var(--press-scale);
252
+ }
246
253
  </style>
@@ -211,10 +211,13 @@ function handleHeaderKeydown(e, activeConn, connectionId) {
211
211
 
212
212
  <style>
213
213
  .saved-connections-card {
214
- background: rgba(255, 255, 255, 0.03);
215
- border: 1px solid rgba(255, 255, 255, 0.06);
214
+ background: var(--glass-bg);
215
+ -webkit-backdrop-filter: var(--glass-blur);
216
+ backdrop-filter: var(--glass-blur);
217
+ border: 1px solid var(--glass-border);
216
218
  border-radius: 20px;
217
219
  padding: 24px;
220
+ box-shadow: var(--glass-inner-glow);
218
221
  }
219
222
 
220
223
  .card-header {
@@ -383,6 +386,10 @@ function handleHeaderKeydown(e, activeConn, connectionId) {
383
386
  border-color: rgba(52, 211, 153, 0.3);
384
387
  }
385
388
 
389
+ .btn-connect:active {
390
+ transform: var(--press-scale);
391
+ }
392
+
386
393
  .btn-delete {
387
394
  color: #71717a;
388
395
  }
@@ -60,8 +60,11 @@ const statusConfig = $derived(STATUS_CONFIGS[connectionStatus])
60
60
  justify-content: space-between;
61
61
  padding: 12px 16px;
62
62
  background: var(--status-bg);
63
+ -webkit-backdrop-filter: blur(12px) saturate(1.8);
64
+ backdrop-filter: blur(12px) saturate(1.8);
63
65
  border: 1px solid var(--status-border);
64
66
  border-radius: 12px;
67
+ box-shadow: var(--glass-inner-glow);
65
68
  transition: background-color 0.3s ease, border-color 0.3s ease;
66
69
  }
67
70
 
@@ -656,8 +656,10 @@ onDestroy(() => {
656
656
  }
657
657
 
658
658
  .modal-content {
659
- background: linear-gradient(145deg, #1a1a2e 0%, #16162a 100%);
660
- border: 1px solid rgba(255, 255, 255, 0.1);
659
+ background: rgba(26, 26, 46, 0.85);
660
+ -webkit-backdrop-filter: var(--glass-blur-heavy);
661
+ backdrop-filter: var(--glass-blur-heavy);
662
+ border: 1px solid var(--glass-border);
661
663
  border-radius: 20px;
662
664
  padding: 24px;
663
665
  max-width: 560px;
@@ -665,6 +667,7 @@ onDestroy(() => {
665
667
  max-height: 80vh;
666
668
  display: flex;
667
669
  flex-direction: column;
670
+ box-shadow: var(--glass-inner-glow), var(--glass-shadow);
668
671
  animation: slideUp 0.3s ease-out;
669
672
  }
670
673
 
@@ -726,6 +729,7 @@ onDestroy(() => {
726
729
 
727
730
  .tab:hover {
728
731
  color: #a1a1aa;
732
+ background: var(--glass-bg-hover);
729
733
  }
730
734
 
731
735
  .tab.active {
@@ -798,6 +802,10 @@ onDestroy(() => {
798
802
  background: rgba(99, 102, 241, 0.15);
799
803
  }
800
804
 
805
+ .btn-add:active {
806
+ transform: var(--press-scale);
807
+ }
808
+
801
809
  .empty-state {
802
810
  text-align: center;
803
811
  padding: 40px 20px;
@@ -820,8 +828,8 @@ onDestroy(() => {
820
828
  }
821
829
 
822
830
  .profile-card {
823
- background: rgba(255, 255, 255, 0.03);
824
- border: 1px solid rgba(255, 255, 255, 0.06);
831
+ background: var(--glass-bg);
832
+ border: 1px solid var(--glass-border);
825
833
  border-radius: 12px;
826
834
  padding: 14px;
827
835
  }
@@ -974,6 +982,10 @@ onDestroy(() => {
974
982
  box-shadow: 0 4px 12px rgba(99, 102, 241, 0.3);
975
983
  }
976
984
 
985
+ .btn-save:active:not(:disabled) {
986
+ transform: var(--press-scale);
987
+ }
988
+
977
989
  .btn-save:disabled {
978
990
  opacity: 0.5;
979
991
  cursor: not-allowed;
@@ -991,12 +1003,15 @@ onDestroy(() => {
991
1003
  }
992
1004
 
993
1005
  .edit-modal {
994
- background: #1e1e32;
995
- border: 1px solid rgba(255, 255, 255, 0.1);
1006
+ background: rgba(30, 30, 50, 0.9);
1007
+ -webkit-backdrop-filter: var(--glass-blur-heavy);
1008
+ backdrop-filter: var(--glass-blur-heavy);
1009
+ border: 1px solid var(--glass-border);
996
1010
  border-radius: 16px;
997
1011
  padding: 24px;
998
1012
  width: 400px;
999
1013
  max-width: 90%;
1014
+ box-shadow: var(--glass-inner-glow), var(--glass-shadow);
1000
1015
  }
1001
1016
 
1002
1017
  .edit-modal.project-modal {
@@ -1180,4 +1195,8 @@ onDestroy(() => {
1180
1195
  background: rgba(255, 255, 255, 0.05);
1181
1196
  color: #a1a1aa;
1182
1197
  }
1198
+
1199
+ .btn-cancel:active {
1200
+ transform: var(--press-scale);
1201
+ }
1183
1202
  </style>
@@ -53,9 +53,12 @@ function handleDismiss() {
53
53
  align-items: center;
54
54
  gap: 12px;
55
55
  padding: 12px 16px;
56
- background: linear-gradient(135deg, rgba(99, 102, 241, 0.15) 0%, rgba(139, 92, 246, 0.15) 100%);
56
+ background: var(--glass-bg);
57
+ -webkit-backdrop-filter: var(--glass-blur);
58
+ backdrop-filter: var(--glass-blur);
57
59
  border: 1px solid rgba(99, 102, 241, 0.3);
58
60
  border-radius: 14px;
61
+ box-shadow: var(--glass-inner-glow);
59
62
  animation: slideIn 0.3s ease-out;
60
63
  }
61
64
 
@@ -141,6 +144,10 @@ function handleDismiss() {
141
144
  box-shadow: 0 4px 12px rgba(99, 102, 241, 0.3);
142
145
  }
143
146
 
147
+ .btn-install:active {
148
+ transform: var(--press-scale);
149
+ }
150
+
144
151
  .btn-dismiss {
145
152
  width: 28px;
146
153
  height: 28px;