@speechos/client 0.2.9 → 0.2.11
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/config.d.ts +13 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/form-detector.d.ts.map +1 -1
- package/dist/index.cjs +354 -223
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.iife.js +355 -233
- package/dist/index.iife.js.map +1 -1
- package/dist/index.iife.min.js +399 -306
- package/dist/index.iife.min.js.map +1 -1
- package/dist/index.js +355 -225
- package/dist/index.js.map +1 -1
- package/dist/settings-sync.d.ts +1 -3
- package/dist/settings-sync.d.ts.map +1 -1
- package/dist/stores/language-settings.d.ts.map +1 -1
- package/dist/ui/audio-level-meter.d.ts.map +1 -1
- package/dist/ui/dictation-output-modal.d.ts.map +1 -1
- package/dist/ui/mic-button.d.ts.map +1 -1
- package/dist/ui/styles/modal-styles.d.ts.map +1 -1
- package/dist/ui/styles/popup-modal-styles.d.ts.map +1 -1
- package/dist/ui/tabs/about-tab.d.ts.map +1 -1
- package/dist/ui/tabs/history-tab.d.ts.map +1 -1
- package/dist/ui/tabs/settings-tab.d.ts.map +1 -1
- package/dist/ui/tabs/snippets-tab.d.ts.map +1 -1
- package/dist/ui/tabs/vocabulary-tab.d.ts.map +1 -1
- package/dist/ui/widget.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/index.iife.js
CHANGED
|
@@ -26912,7 +26912,6 @@
|
|
|
26912
26912
|
host: DEFAULT_HOST,
|
|
26913
26913
|
debug: false,
|
|
26914
26914
|
webSocketFactory: void 0,
|
|
26915
|
-
fetchHandler: void 0,
|
|
26916
26915
|
settingsToken: void 0
|
|
26917
26916
|
};
|
|
26918
26917
|
/**
|
|
@@ -26921,14 +26920,13 @@
|
|
|
26921
26920
|
* @returns Validated and merged configuration
|
|
26922
26921
|
*/
|
|
26923
26922
|
function validateConfig(userConfig) {
|
|
26924
|
-
if (!userConfig.apiKey) throw new Error("SpeechOS requires an apiKey. Get one from your team dashboard at /a
|
|
26923
|
+
if (!userConfig.apiKey) throw new Error("SpeechOS requires an apiKey. Get one from your team dashboard at /a/.");
|
|
26925
26924
|
return {
|
|
26926
26925
|
apiKey: userConfig.apiKey,
|
|
26927
26926
|
userId: userConfig.userId ?? defaultConfig.userId,
|
|
26928
26927
|
host: userConfig.host ?? defaultConfig.host,
|
|
26929
26928
|
debug: userConfig.debug ?? defaultConfig.debug,
|
|
26930
26929
|
webSocketFactory: userConfig.webSocketFactory ?? defaultConfig.webSocketFactory,
|
|
26931
|
-
fetchHandler: userConfig.fetchHandler ?? defaultConfig.fetchHandler,
|
|
26932
26930
|
settingsToken: userConfig.settingsToken ?? defaultConfig.settingsToken
|
|
26933
26931
|
};
|
|
26934
26932
|
}
|
|
@@ -26982,13 +26980,6 @@
|
|
|
26982
26980
|
};
|
|
26983
26981
|
}
|
|
26984
26982
|
/**
|
|
26985
|
-
* Get the fetch handler from the current configuration
|
|
26986
|
-
* @returns The fetch handler or undefined if not configured
|
|
26987
|
-
*/
|
|
26988
|
-
function getFetchHandler() {
|
|
26989
|
-
return currentConfig.fetchHandler;
|
|
26990
|
-
}
|
|
26991
|
-
/**
|
|
26992
26983
|
* LocalStorage key for anonymous ID persistence
|
|
26993
26984
|
*/
|
|
26994
26985
|
const ANONYMOUS_ID_KEY = "speechos_anonymous_id";
|
|
@@ -28805,6 +28796,7 @@
|
|
|
28805
28796
|
commands: [],
|
|
28806
28797
|
zIndex: 999999,
|
|
28807
28798
|
alwaysVisible: false,
|
|
28799
|
+
useExternalSettings: false,
|
|
28808
28800
|
};
|
|
28809
28801
|
/**
|
|
28810
28802
|
* Current client configuration singleton
|
|
@@ -28820,6 +28812,7 @@
|
|
|
28820
28812
|
commands: config.commands ?? defaultClientConfig.commands,
|
|
28821
28813
|
zIndex: config.zIndex ?? defaultClientConfig.zIndex,
|
|
28822
28814
|
alwaysVisible: config.alwaysVisible ?? defaultClientConfig.alwaysVisible,
|
|
28815
|
+
useExternalSettings: config.useExternalSettings ?? defaultClientConfig.useExternalSettings,
|
|
28823
28816
|
};
|
|
28824
28817
|
// Validate zIndex
|
|
28825
28818
|
if (typeof resolved.zIndex !== "number" || resolved.zIndex < 0) {
|
|
@@ -28871,6 +28864,12 @@
|
|
|
28871
28864
|
function isAlwaysVisible() {
|
|
28872
28865
|
return currentClientConfig.alwaysVisible;
|
|
28873
28866
|
}
|
|
28867
|
+
/**
|
|
28868
|
+
* Check if external settings page should be used
|
|
28869
|
+
*/
|
|
28870
|
+
function useExternalSettings() {
|
|
28871
|
+
return currentClientConfig.useExternalSettings;
|
|
28872
|
+
}
|
|
28874
28873
|
|
|
28875
28874
|
/**
|
|
28876
28875
|
* Form field focus detection for SpeechOS Client SDK
|
|
@@ -29041,6 +29040,17 @@
|
|
|
29041
29040
|
document.addEventListener("touchstart", this.touchHandler, true);
|
|
29042
29041
|
document.addEventListener("mousedown", this.mouseDownHandler, true);
|
|
29043
29042
|
this.isActive = true;
|
|
29043
|
+
// Check for already-focused form field (e.g., page loaded with autofocus)
|
|
29044
|
+
const activeElement = document.activeElement;
|
|
29045
|
+
if (isFormField(activeElement)) {
|
|
29046
|
+
console.log("[SpeechOS] FormDetector: found initially focused form field", {
|
|
29047
|
+
element: activeElement,
|
|
29048
|
+
tagName: activeElement?.tagName,
|
|
29049
|
+
});
|
|
29050
|
+
state.setFocusedElement(activeElement);
|
|
29051
|
+
state.show();
|
|
29052
|
+
events.emit("form:focus", { element: activeElement });
|
|
29053
|
+
}
|
|
29044
29054
|
}
|
|
29045
29055
|
/**
|
|
29046
29056
|
* Stop detecting form field focus events
|
|
@@ -29285,9 +29295,12 @@
|
|
|
29285
29295
|
* Sorted alphabetically by name for dropdown display
|
|
29286
29296
|
*/
|
|
29287
29297
|
const SUPPORTED_LANGUAGES = [
|
|
29298
|
+
{ name: "Belarusian", code: "be", variants: ["be"] },
|
|
29299
|
+
{ name: "Bengali", code: "bn", variants: ["bn"] },
|
|
29300
|
+
{ name: "Bosnian", code: "bs", variants: ["bs"] },
|
|
29288
29301
|
{ name: "Bulgarian", code: "bg", variants: ["bg"] },
|
|
29289
29302
|
{ name: "Catalan", code: "ca", variants: ["ca"] },
|
|
29290
|
-
{ name: "
|
|
29303
|
+
{ name: "Croatian", code: "hr", variants: ["hr"] },
|
|
29291
29304
|
{ name: "Czech", code: "cs", variants: ["cs"] },
|
|
29292
29305
|
{ name: "Danish", code: "da", variants: ["da", "da-DK"] },
|
|
29293
29306
|
{ name: "Dutch", code: "nl", variants: ["nl"] },
|
|
@@ -29308,18 +29321,26 @@
|
|
|
29308
29321
|
{ name: "Indonesian", code: "id", variants: ["id"] },
|
|
29309
29322
|
{ name: "Italian", code: "it", variants: ["it"] },
|
|
29310
29323
|
{ name: "Japanese", code: "ja", variants: ["ja"] },
|
|
29324
|
+
{ name: "Kannada", code: "kn", variants: ["kn"] },
|
|
29311
29325
|
{ name: "Korean", code: "ko", variants: ["ko", "ko-KR"] },
|
|
29312
29326
|
{ name: "Latvian", code: "lv", variants: ["lv"] },
|
|
29313
29327
|
{ name: "Lithuanian", code: "lt", variants: ["lt"] },
|
|
29328
|
+
{ name: "Macedonian", code: "mk", variants: ["mk"] },
|
|
29314
29329
|
{ name: "Malay", code: "ms", variants: ["ms"] },
|
|
29330
|
+
{ name: "Marathi", code: "mr", variants: ["mr"] },
|
|
29315
29331
|
{ name: "Norwegian", code: "no", variants: ["no"] },
|
|
29316
29332
|
{ name: "Polish", code: "pl", variants: ["pl"] },
|
|
29317
29333
|
{ name: "Portuguese", code: "pt", variants: ["pt", "pt-BR", "pt-PT"] },
|
|
29318
29334
|
{ name: "Romanian", code: "ro", variants: ["ro"] },
|
|
29319
29335
|
{ name: "Russian", code: "ru", variants: ["ru"] },
|
|
29336
|
+
{ name: "Serbian", code: "sr", variants: ["sr"] },
|
|
29320
29337
|
{ name: "Slovak", code: "sk", variants: ["sk"] },
|
|
29338
|
+
{ name: "Slovenian", code: "sl", variants: ["sl"] },
|
|
29321
29339
|
{ name: "Spanish", code: "es", variants: ["es", "es-419"] },
|
|
29322
29340
|
{ name: "Swedish", code: "sv", variants: ["sv", "sv-SE"] },
|
|
29341
|
+
{ name: "Tagalog", code: "tl", variants: ["tl"] },
|
|
29342
|
+
{ name: "Tamil", code: "ta", variants: ["ta"] },
|
|
29343
|
+
{ name: "Telugu", code: "te", variants: ["te"] },
|
|
29323
29344
|
{ name: "Turkish", code: "tr", variants: ["tr"] },
|
|
29324
29345
|
{ name: "Ukrainian", code: "uk", variants: ["uk"] },
|
|
29325
29346
|
{ name: "Vietnamese", code: "vi", variants: ["vi"] },
|
|
@@ -30112,25 +30133,14 @@
|
|
|
30112
30133
|
this.syncDisabled = false;
|
|
30113
30134
|
}
|
|
30114
30135
|
/**
|
|
30115
|
-
* Make a fetch request using
|
|
30116
|
-
* This allows the Chrome extension to route fetch traffic through the service worker
|
|
30117
|
-
* to bypass page CSP restrictions.
|
|
30136
|
+
* Make a fetch request using native fetch.
|
|
30118
30137
|
*/
|
|
30119
30138
|
async doFetch(url, options) {
|
|
30120
30139
|
const config = getConfig();
|
|
30121
|
-
const customHandler = getFetchHandler();
|
|
30122
|
-
if (customHandler) {
|
|
30123
|
-
if (config.debug) {
|
|
30124
|
-
console.log("[SpeechOS] Using custom fetch handler (extension proxy)", options.method, url);
|
|
30125
|
-
}
|
|
30126
|
-
return customHandler(url, options);
|
|
30127
|
-
}
|
|
30128
30140
|
if (config.debug) {
|
|
30129
30141
|
console.log("[SpeechOS] Using native fetch", options.method, url);
|
|
30130
30142
|
}
|
|
30131
|
-
|
|
30132
|
-
const response = await fetch(url, options);
|
|
30133
|
-
return response;
|
|
30143
|
+
return fetch(url, options);
|
|
30134
30144
|
}
|
|
30135
30145
|
/**
|
|
30136
30146
|
* Initialize the settings sync manager
|
|
@@ -30510,9 +30520,9 @@
|
|
|
30510
30520
|
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
|
|
30511
30521
|
|
|
30512
30522
|
/* Color tokens */
|
|
30513
|
-
--speechos-primary: #
|
|
30514
|
-
--speechos-primary-hover: #
|
|
30515
|
-
--speechos-primary-active: #
|
|
30523
|
+
--speechos-primary: #0d9488;
|
|
30524
|
+
--speechos-primary-hover: #0f766e;
|
|
30525
|
+
--speechos-primary-active: #115e59;
|
|
30516
30526
|
|
|
30517
30527
|
--speechos-bg: #ffffff;
|
|
30518
30528
|
--speechos-bg-hover: #f9fafb;
|
|
@@ -31077,45 +31087,51 @@
|
|
|
31077
31087
|
width: 56px;
|
|
31078
31088
|
height: 56px;
|
|
31079
31089
|
border-radius: var(--speechos-radius-full);
|
|
31080
|
-
background:
|
|
31090
|
+
background: #10b981;
|
|
31081
31091
|
border: none;
|
|
31082
31092
|
cursor: pointer;
|
|
31083
31093
|
display: flex;
|
|
31084
31094
|
align-items: center;
|
|
31085
31095
|
justify-content: center;
|
|
31086
31096
|
color: white;
|
|
31087
|
-
box-shadow: 0 4px
|
|
31088
|
-
transition: all 0.
|
|
31097
|
+
box-shadow: 0 4px 16px rgba(16, 185, 129, 0.35);
|
|
31098
|
+
transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
|
|
31089
31099
|
position: relative;
|
|
31090
31100
|
overflow: hidden;
|
|
31091
31101
|
}
|
|
31092
31102
|
|
|
31093
31103
|
.mic-button:hover {
|
|
31104
|
+
background: #059669;
|
|
31094
31105
|
transform: scale(1.05);
|
|
31095
|
-
box-shadow: 0 6px
|
|
31106
|
+
box-shadow: 0 6px 24px rgba(16, 185, 129, 0.45);
|
|
31096
31107
|
}
|
|
31097
31108
|
|
|
31098
31109
|
.mic-button:active {
|
|
31099
31110
|
transform: scale(0.98);
|
|
31100
31111
|
}
|
|
31101
31112
|
|
|
31113
|
+
.mic-button:focus {
|
|
31114
|
+
outline: none;
|
|
31115
|
+
box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.4), 0 4px 16px rgba(16, 185, 129, 0.35);
|
|
31116
|
+
}
|
|
31117
|
+
|
|
31102
31118
|
/* Expanded state - bubbles visible */
|
|
31103
31119
|
.mic-button.expanded {
|
|
31104
|
-
background:
|
|
31120
|
+
background: #059669;
|
|
31105
31121
|
}
|
|
31106
31122
|
|
|
31107
31123
|
/* Connecting state - Siri-style metallic spinner */
|
|
31108
31124
|
.mic-button.connecting {
|
|
31109
31125
|
background: radial-gradient(
|
|
31110
31126
|
circle at 30% 30%,
|
|
31111
|
-
#
|
|
31112
|
-
#
|
|
31113
|
-
#
|
|
31114
|
-
#
|
|
31127
|
+
#2dd4bf 0%,
|
|
31128
|
+
#14b8a6 40%,
|
|
31129
|
+
#0d9488 70%,
|
|
31130
|
+
#0f766e 100%
|
|
31115
31131
|
);
|
|
31116
31132
|
cursor: wait;
|
|
31117
|
-
box-shadow: 0 0 20px rgba(
|
|
31118
|
-
0 0 40px rgba(
|
|
31133
|
+
box-shadow: 0 0 20px rgba(13, 148, 136, 0.4),
|
|
31134
|
+
0 0 40px rgba(13, 148, 136, 0.2),
|
|
31119
31135
|
inset 0 0 20px rgba(255, 255, 255, 0.1);
|
|
31120
31136
|
}
|
|
31121
31137
|
|
|
@@ -31158,15 +31174,15 @@
|
|
|
31158
31174
|
background: conic-gradient(
|
|
31159
31175
|
from 0deg,
|
|
31160
31176
|
transparent 0deg,
|
|
31161
|
-
rgba(
|
|
31162
|
-
rgba(
|
|
31177
|
+
rgba(45, 212, 191, 0.1) 30deg,
|
|
31178
|
+
rgba(13, 148, 136, 0.8) 90deg,
|
|
31163
31179
|
rgba(255, 255, 255, 0.95) 120deg,
|
|
31164
|
-
rgba(
|
|
31165
|
-
rgba(
|
|
31166
|
-
rgba(
|
|
31180
|
+
rgba(45, 212, 191, 0.9) 150deg,
|
|
31181
|
+
rgba(13, 148, 136, 0.6) 180deg,
|
|
31182
|
+
rgba(15, 118, 110, 0.3) 210deg,
|
|
31167
31183
|
transparent 270deg,
|
|
31168
|
-
rgba(
|
|
31169
|
-
rgba(
|
|
31184
|
+
rgba(94, 234, 212, 0.2) 300deg,
|
|
31185
|
+
rgba(13, 148, 136, 0.5) 330deg,
|
|
31170
31186
|
transparent 360deg
|
|
31171
31187
|
);
|
|
31172
31188
|
-webkit-mask: linear-gradient(#fff 0 0) content-box,
|
|
@@ -31187,13 +31203,13 @@
|
|
|
31187
31203
|
background: conic-gradient(
|
|
31188
31204
|
from 180deg,
|
|
31189
31205
|
transparent 0deg,
|
|
31190
|
-
rgba(
|
|
31206
|
+
rgba(153, 246, 228, 0.3) 60deg,
|
|
31191
31207
|
rgba(255, 255, 255, 0.7) 90deg,
|
|
31192
|
-
rgba(
|
|
31208
|
+
rgba(94, 234, 212, 0.5) 120deg,
|
|
31193
31209
|
transparent 180deg,
|
|
31194
|
-
rgba(
|
|
31210
|
+
rgba(45, 212, 191, 0.2) 240deg,
|
|
31195
31211
|
rgba(255, 255, 255, 0.5) 270deg,
|
|
31196
|
-
rgba(
|
|
31212
|
+
rgba(13, 148, 136, 0.4) 300deg,
|
|
31197
31213
|
transparent 360deg
|
|
31198
31214
|
);
|
|
31199
31215
|
-webkit-mask: linear-gradient(#fff 0 0) content-box,
|
|
@@ -31234,8 +31250,8 @@
|
|
|
31234
31250
|
border-radius: 50%;
|
|
31235
31251
|
background: radial-gradient(
|
|
31236
31252
|
circle,
|
|
31237
|
-
rgba(
|
|
31238
|
-
rgba(
|
|
31253
|
+
rgba(13, 148, 136, 0.4) 0%,
|
|
31254
|
+
rgba(13, 148, 136, 0.15) 40%,
|
|
31239
31255
|
transparent 70%
|
|
31240
31256
|
);
|
|
31241
31257
|
animation: siri-glow-pulse 2s ease-in-out infinite;
|
|
@@ -32655,15 +32671,15 @@
|
|
|
32655
32671
|
}
|
|
32656
32672
|
|
|
32657
32673
|
.modal {
|
|
32658
|
-
background: #
|
|
32674
|
+
background: #f5f5f4;
|
|
32659
32675
|
border-radius: 16px;
|
|
32660
32676
|
width: 90%;
|
|
32661
32677
|
max-width: 580px;
|
|
32662
32678
|
height: min(560px, 85vh);
|
|
32663
32679
|
display: flex;
|
|
32664
32680
|
flex-direction: column;
|
|
32665
|
-
box-shadow: 0 24px 48px rgba(0, 0, 0, 0.
|
|
32666
|
-
0 0 0 1px rgba(
|
|
32681
|
+
box-shadow: 0 24px 48px rgba(0, 0, 0, 0.15),
|
|
32682
|
+
0 0 0 1px rgba(0, 0, 0, 0.05);
|
|
32667
32683
|
transform: scale(0.95) translateY(10px);
|
|
32668
32684
|
transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1);
|
|
32669
32685
|
pointer-events: auto;
|
|
@@ -32688,16 +32704,16 @@
|
|
|
32688
32704
|
align-items: center;
|
|
32689
32705
|
justify-content: space-between;
|
|
32690
32706
|
padding: 16px 20px;
|
|
32691
|
-
border-bottom: 1px solid
|
|
32692
|
-
background:
|
|
32707
|
+
border-bottom: 1px solid #e5e5e5;
|
|
32708
|
+
background: #ffffff;
|
|
32693
32709
|
}
|
|
32694
32710
|
|
|
32695
32711
|
.modal-title {
|
|
32696
32712
|
font-size: 17px;
|
|
32697
32713
|
font-weight: 600;
|
|
32698
|
-
color:
|
|
32714
|
+
color: #171717;
|
|
32699
32715
|
margin: 0;
|
|
32700
|
-
letter-spacing: -0.
|
|
32716
|
+
letter-spacing: -0.02em;
|
|
32701
32717
|
}
|
|
32702
32718
|
|
|
32703
32719
|
.modal-logo {
|
|
@@ -32710,7 +32726,7 @@
|
|
|
32710
32726
|
width: 28px;
|
|
32711
32727
|
height: 28px;
|
|
32712
32728
|
border-radius: 8px;
|
|
32713
|
-
background: linear-gradient(135deg, #
|
|
32729
|
+
background: linear-gradient(135deg, #14b8a6 0%, #2563eb 100%);
|
|
32714
32730
|
display: flex;
|
|
32715
32731
|
align-items: center;
|
|
32716
32732
|
justify-content: center;
|
|
@@ -32725,13 +32741,13 @@
|
|
|
32725
32741
|
.logo-text {
|
|
32726
32742
|
font-size: 17px;
|
|
32727
32743
|
font-weight: 500;
|
|
32728
|
-
color:
|
|
32744
|
+
color: #171717;
|
|
32729
32745
|
letter-spacing: -0.02em;
|
|
32730
32746
|
}
|
|
32731
32747
|
|
|
32732
32748
|
.logo-os {
|
|
32733
32749
|
font-weight: 700;
|
|
32734
|
-
background: linear-gradient(135deg, #
|
|
32750
|
+
background: linear-gradient(135deg, #14b8a6 0%, #2563eb 100%);
|
|
32735
32751
|
-webkit-background-clip: text;
|
|
32736
32752
|
-webkit-text-fill-color: transparent;
|
|
32737
32753
|
background-clip: text;
|
|
@@ -32747,13 +32763,22 @@
|
|
|
32747
32763
|
display: flex;
|
|
32748
32764
|
align-items: center;
|
|
32749
32765
|
justify-content: center;
|
|
32750
|
-
color:
|
|
32766
|
+
color: #737373;
|
|
32751
32767
|
transition: all 0.15s ease;
|
|
32752
32768
|
}
|
|
32753
32769
|
|
|
32754
32770
|
.close-button:hover {
|
|
32755
|
-
background:
|
|
32756
|
-
color:
|
|
32771
|
+
background: #f5f5f4;
|
|
32772
|
+
color: #171717;
|
|
32773
|
+
}
|
|
32774
|
+
|
|
32775
|
+
.close-button:focus {
|
|
32776
|
+
outline: none;
|
|
32777
|
+
box-shadow: 0 0 0 2px #0d9488, 0 0 0 4px rgba(13, 148, 136, 0.2);
|
|
32778
|
+
}
|
|
32779
|
+
|
|
32780
|
+
.close-button:active {
|
|
32781
|
+
transform: scale(0.95);
|
|
32757
32782
|
}
|
|
32758
32783
|
|
|
32759
32784
|
.modal-body {
|
|
@@ -32765,8 +32790,8 @@
|
|
|
32765
32790
|
.sidebar {
|
|
32766
32791
|
width: 110px;
|
|
32767
32792
|
flex-shrink: 0;
|
|
32768
|
-
background:
|
|
32769
|
-
border-right: 1px solid
|
|
32793
|
+
background: #fafaf9;
|
|
32794
|
+
border-right: 1px solid #e5e5e5;
|
|
32770
32795
|
padding: 12px 8px;
|
|
32771
32796
|
display: flex;
|
|
32772
32797
|
flex-direction: column;
|
|
@@ -32795,19 +32820,25 @@
|
|
|
32795
32820
|
border-radius: 10px;
|
|
32796
32821
|
background: transparent;
|
|
32797
32822
|
cursor: pointer;
|
|
32798
|
-
color:
|
|
32823
|
+
color: #525252;
|
|
32799
32824
|
transition: all 0.15s ease;
|
|
32800
32825
|
position: relative;
|
|
32801
32826
|
}
|
|
32802
32827
|
|
|
32803
32828
|
.sidebar-item:hover {
|
|
32804
|
-
background:
|
|
32805
|
-
color:
|
|
32829
|
+
background: #ffffff;
|
|
32830
|
+
color: #171717;
|
|
32831
|
+
}
|
|
32832
|
+
|
|
32833
|
+
.sidebar-item:focus {
|
|
32834
|
+
outline: none;
|
|
32835
|
+
box-shadow: inset 0 0 0 2px rgba(13, 148, 136, 0.4);
|
|
32806
32836
|
}
|
|
32807
32837
|
|
|
32808
32838
|
.sidebar-item.active {
|
|
32809
|
-
background: rgba(
|
|
32810
|
-
color: #
|
|
32839
|
+
background: rgba(15, 118, 110, 0.12);
|
|
32840
|
+
color: #0f766e;
|
|
32841
|
+
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
|
|
32811
32842
|
}
|
|
32812
32843
|
|
|
32813
32844
|
.sidebar-item.active::before {
|
|
@@ -32818,7 +32849,7 @@
|
|
|
32818
32849
|
transform: translateY(-50%);
|
|
32819
32850
|
width: 3px;
|
|
32820
32851
|
height: 24px;
|
|
32821
|
-
background: #
|
|
32852
|
+
background: #0f766e;
|
|
32822
32853
|
border-radius: 0 3px 3px 0;
|
|
32823
32854
|
}
|
|
32824
32855
|
|
|
@@ -32861,14 +32892,14 @@
|
|
|
32861
32892
|
.section-title {
|
|
32862
32893
|
font-size: 15px;
|
|
32863
32894
|
font-weight: 600;
|
|
32864
|
-
color:
|
|
32895
|
+
color: #171717;
|
|
32865
32896
|
margin: 0 0 6px 0;
|
|
32866
|
-
letter-spacing: -0.
|
|
32897
|
+
letter-spacing: -0.02em;
|
|
32867
32898
|
}
|
|
32868
32899
|
|
|
32869
32900
|
.section-description {
|
|
32870
32901
|
font-size: 13px;
|
|
32871
|
-
color:
|
|
32902
|
+
color: #525252;
|
|
32872
32903
|
line-height: 1.5;
|
|
32873
32904
|
margin: 0;
|
|
32874
32905
|
}
|
|
@@ -32876,7 +32907,7 @@
|
|
|
32876
32907
|
.empty-state {
|
|
32877
32908
|
text-align: center;
|
|
32878
32909
|
padding: 40px 20px;
|
|
32879
|
-
color:
|
|
32910
|
+
color: #737373;
|
|
32880
32911
|
}
|
|
32881
32912
|
|
|
32882
32913
|
.empty-state-icon {
|
|
@@ -32888,7 +32919,7 @@
|
|
|
32888
32919
|
font-size: 15px;
|
|
32889
32920
|
font-weight: 500;
|
|
32890
32921
|
margin-bottom: 8px;
|
|
32891
|
-
color:
|
|
32922
|
+
color: #525252;
|
|
32892
32923
|
}
|
|
32893
32924
|
|
|
32894
32925
|
.empty-state-text {
|
|
@@ -32906,7 +32937,7 @@
|
|
|
32906
32937
|
display: flex;
|
|
32907
32938
|
align-items: center;
|
|
32908
32939
|
justify-content: center;
|
|
32909
|
-
color:
|
|
32940
|
+
color: #737373;
|
|
32910
32941
|
transition: all 0.15s ease;
|
|
32911
32942
|
}
|
|
32912
32943
|
|
|
@@ -32944,20 +32975,30 @@
|
|
|
32944
32975
|
align-items: center;
|
|
32945
32976
|
gap: 6px;
|
|
32946
32977
|
padding: 10px 16px;
|
|
32947
|
-
background:
|
|
32978
|
+
background: #0d9488;
|
|
32948
32979
|
border: none;
|
|
32949
32980
|
border-radius: 8px;
|
|
32950
32981
|
color: white;
|
|
32951
32982
|
font-size: 13px;
|
|
32952
32983
|
font-weight: 600;
|
|
32984
|
+
letter-spacing: 0.01em;
|
|
32953
32985
|
cursor: pointer;
|
|
32954
|
-
transition: all 0.
|
|
32955
|
-
box-shadow: 0
|
|
32986
|
+
transition: all 0.15s ease;
|
|
32987
|
+
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
|
|
32956
32988
|
}
|
|
32957
32989
|
|
|
32958
32990
|
.add-button:hover:not(:disabled) {
|
|
32959
|
-
|
|
32960
|
-
box-shadow: 0 4px 12px rgba(
|
|
32991
|
+
background: #0f766e;
|
|
32992
|
+
box-shadow: 0 4px 12px rgba(13, 148, 136, 0.25);
|
|
32993
|
+
}
|
|
32994
|
+
|
|
32995
|
+
.add-button:focus:not(:disabled) {
|
|
32996
|
+
outline: none;
|
|
32997
|
+
box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #0d9488;
|
|
32998
|
+
}
|
|
32999
|
+
|
|
33000
|
+
.add-button:active:not(:disabled) {
|
|
33001
|
+
transform: scale(0.98);
|
|
32961
33002
|
}
|
|
32962
33003
|
|
|
32963
33004
|
.add-button:disabled {
|
|
@@ -32968,7 +33009,7 @@
|
|
|
32968
33009
|
|
|
32969
33010
|
.count-badge {
|
|
32970
33011
|
font-size: 12px;
|
|
32971
|
-
color:
|
|
33012
|
+
color: #737373;
|
|
32972
33013
|
font-weight: 500;
|
|
32973
33014
|
}
|
|
32974
33015
|
|
|
@@ -32980,11 +33021,12 @@
|
|
|
32980
33021
|
}
|
|
32981
33022
|
|
|
32982
33023
|
.add-form {
|
|
32983
|
-
background:
|
|
32984
|
-
border: 1px solid
|
|
33024
|
+
background: #ffffff;
|
|
33025
|
+
border: 1px solid #e5e5e5;
|
|
32985
33026
|
border-radius: 12px;
|
|
32986
33027
|
padding: 16px;
|
|
32987
33028
|
margin-bottom: 16px;
|
|
33029
|
+
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
|
|
32988
33030
|
}
|
|
32989
33031
|
|
|
32990
33032
|
.form-group {
|
|
@@ -32999,7 +33041,7 @@
|
|
|
32999
33041
|
display: block;
|
|
33000
33042
|
font-size: 12px;
|
|
33001
33043
|
font-weight: 600;
|
|
33002
|
-
color:
|
|
33044
|
+
color: #525252;
|
|
33003
33045
|
margin-bottom: 8px;
|
|
33004
33046
|
text-transform: uppercase;
|
|
33005
33047
|
letter-spacing: 0.04em;
|
|
@@ -33008,10 +33050,10 @@
|
|
|
33008
33050
|
.form-input {
|
|
33009
33051
|
width: 100%;
|
|
33010
33052
|
padding: 12px 14px;
|
|
33011
|
-
background:
|
|
33012
|
-
border: 1px solid
|
|
33053
|
+
background: #ffffff;
|
|
33054
|
+
border: 1px solid #d4d4d4;
|
|
33013
33055
|
border-radius: 8px;
|
|
33014
|
-
color:
|
|
33056
|
+
color: #171717;
|
|
33015
33057
|
font-size: 14px;
|
|
33016
33058
|
font-family: inherit;
|
|
33017
33059
|
transition: all 0.15s ease;
|
|
@@ -33020,12 +33062,12 @@
|
|
|
33020
33062
|
|
|
33021
33063
|
.form-input:focus {
|
|
33022
33064
|
outline: none;
|
|
33023
|
-
border-color: #
|
|
33024
|
-
box-shadow: 0 0 0 3px rgba(
|
|
33065
|
+
border-color: #0d9488;
|
|
33066
|
+
box-shadow: 0 0 0 3px rgba(13, 148, 136, 0.15);
|
|
33025
33067
|
}
|
|
33026
33068
|
|
|
33027
33069
|
.form-input::placeholder {
|
|
33028
|
-
color:
|
|
33070
|
+
color: #a3a3a3;
|
|
33029
33071
|
}
|
|
33030
33072
|
|
|
33031
33073
|
.form-input.error {
|
|
@@ -33049,7 +33091,7 @@
|
|
|
33049
33091
|
|
|
33050
33092
|
.char-count {
|
|
33051
33093
|
font-size: 11px;
|
|
33052
|
-
color:
|
|
33094
|
+
color: #737373;
|
|
33053
33095
|
font-variant-numeric: tabular-nums;
|
|
33054
33096
|
}
|
|
33055
33097
|
|
|
@@ -33083,26 +33125,35 @@
|
|
|
33083
33125
|
}
|
|
33084
33126
|
|
|
33085
33127
|
.form-btn.cancel {
|
|
33086
|
-
background:
|
|
33087
|
-
border: 1px solid
|
|
33088
|
-
color:
|
|
33128
|
+
background: #ffffff;
|
|
33129
|
+
border: 1px solid #d4d4d4;
|
|
33130
|
+
color: #525252;
|
|
33089
33131
|
}
|
|
33090
33132
|
|
|
33091
33133
|
.form-btn.cancel:hover {
|
|
33092
|
-
background:
|
|
33093
|
-
border-color:
|
|
33134
|
+
background: #fafaf9;
|
|
33135
|
+
border-color: #a3a3a3;
|
|
33094
33136
|
}
|
|
33095
33137
|
|
|
33096
33138
|
.form-btn.save {
|
|
33097
|
-
background:
|
|
33139
|
+
background: #0d9488;
|
|
33098
33140
|
border: none;
|
|
33099
33141
|
color: white;
|
|
33100
|
-
box-shadow: 0
|
|
33142
|
+
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
|
|
33101
33143
|
}
|
|
33102
33144
|
|
|
33103
33145
|
.form-btn.save:hover:not(:disabled) {
|
|
33104
|
-
|
|
33105
|
-
box-shadow: 0 4px 12px rgba(
|
|
33146
|
+
background: #0f766e;
|
|
33147
|
+
box-shadow: 0 4px 12px rgba(13, 148, 136, 0.25);
|
|
33148
|
+
}
|
|
33149
|
+
|
|
33150
|
+
.form-btn.save:focus:not(:disabled) {
|
|
33151
|
+
outline: none;
|
|
33152
|
+
box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #0d9488;
|
|
33153
|
+
}
|
|
33154
|
+
|
|
33155
|
+
.form-btn.save:active:not(:disabled) {
|
|
33156
|
+
transform: scale(0.98);
|
|
33106
33157
|
}
|
|
33107
33158
|
|
|
33108
33159
|
.form-btn.save:disabled {
|
|
@@ -33136,16 +33187,17 @@
|
|
|
33136
33187
|
}
|
|
33137
33188
|
|
|
33138
33189
|
.transcript-item {
|
|
33139
|
-
background:
|
|
33140
|
-
border: 1px solid
|
|
33190
|
+
background: #ffffff;
|
|
33191
|
+
border: 1px solid #e5e5e5;
|
|
33141
33192
|
border-radius: 10px;
|
|
33142
33193
|
padding: 12px 14px;
|
|
33143
33194
|
transition: all 0.15s ease;
|
|
33195
|
+
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
|
|
33144
33196
|
}
|
|
33145
33197
|
|
|
33146
33198
|
.transcript-item:hover {
|
|
33147
|
-
|
|
33148
|
-
|
|
33199
|
+
border-color: #d4d4d4;
|
|
33200
|
+
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
|
|
33149
33201
|
}
|
|
33150
33202
|
|
|
33151
33203
|
.transcript-header {
|
|
@@ -33168,28 +33220,28 @@
|
|
|
33168
33220
|
}
|
|
33169
33221
|
|
|
33170
33222
|
.transcript-badge.dictate {
|
|
33171
|
-
background: rgba(
|
|
33172
|
-
color: #
|
|
33223
|
+
background: rgba(13, 148, 136, 0.18);
|
|
33224
|
+
color: #0f766e;
|
|
33173
33225
|
}
|
|
33174
33226
|
|
|
33175
33227
|
.transcript-badge.edit {
|
|
33176
|
-
background: rgba(139, 92, 246, 0.
|
|
33177
|
-
color: #
|
|
33228
|
+
background: rgba(139, 92, 246, 0.18);
|
|
33229
|
+
color: #7c3aed;
|
|
33178
33230
|
}
|
|
33179
33231
|
|
|
33180
33232
|
.transcript-badge.command {
|
|
33181
|
-
background: rgba(245, 158, 11, 0.
|
|
33182
|
-
color: #
|
|
33233
|
+
background: rgba(245, 158, 11, 0.18);
|
|
33234
|
+
color: #b45309;
|
|
33183
33235
|
}
|
|
33184
33236
|
|
|
33185
33237
|
.transcript-time {
|
|
33186
33238
|
font-size: 12px;
|
|
33187
|
-
color:
|
|
33239
|
+
color: #737373;
|
|
33188
33240
|
}
|
|
33189
33241
|
|
|
33190
33242
|
.transcript-text {
|
|
33191
33243
|
font-size: 14px;
|
|
33192
|
-
color:
|
|
33244
|
+
color: #171717;
|
|
33193
33245
|
line-height: 1.5;
|
|
33194
33246
|
word-break: break-word;
|
|
33195
33247
|
display: -webkit-box;
|
|
@@ -33204,7 +33256,7 @@
|
|
|
33204
33256
|
gap: 8px;
|
|
33205
33257
|
margin-top: 10px;
|
|
33206
33258
|
padding-top: 10px;
|
|
33207
|
-
border-top: 1px solid
|
|
33259
|
+
border-top: 1px solid #e5e5e5;
|
|
33208
33260
|
}
|
|
33209
33261
|
|
|
33210
33262
|
.transcript-action-btn {
|
|
@@ -33213,23 +33265,23 @@
|
|
|
33213
33265
|
gap: 6px;
|
|
33214
33266
|
padding: 6px 10px;
|
|
33215
33267
|
border-radius: 6px;
|
|
33216
|
-
background: rgba(
|
|
33268
|
+
background: rgba(0, 0, 0, 0.08);
|
|
33217
33269
|
border: none;
|
|
33218
33270
|
cursor: pointer;
|
|
33219
33271
|
font-size: 12px;
|
|
33220
33272
|
font-weight: 500;
|
|
33221
|
-
color:
|
|
33273
|
+
color: #404040;
|
|
33222
33274
|
transition: all 0.15s ease;
|
|
33223
33275
|
}
|
|
33224
33276
|
|
|
33225
33277
|
.transcript-action-btn:hover {
|
|
33226
|
-
background: rgba(
|
|
33227
|
-
color:
|
|
33278
|
+
background: rgba(0, 0, 0, 0.12);
|
|
33279
|
+
color: #171717;
|
|
33228
33280
|
}
|
|
33229
33281
|
|
|
33230
33282
|
.transcript-action-btn.copied {
|
|
33231
|
-
background: rgba(
|
|
33232
|
-
color: #
|
|
33283
|
+
background: rgba(13, 148, 136, 0.2);
|
|
33284
|
+
color: #0d9488;
|
|
33233
33285
|
}
|
|
33234
33286
|
|
|
33235
33287
|
.transcript-action-btn.delete:hover {
|
|
@@ -33243,9 +33295,9 @@
|
|
|
33243
33295
|
margin-top: 16px;
|
|
33244
33296
|
padding: 10px;
|
|
33245
33297
|
background: rgba(239, 68, 68, 0.1);
|
|
33246
|
-
border: 1px solid rgba(239, 68, 68, 0.
|
|
33298
|
+
border: 1px solid rgba(239, 68, 68, 0.2);
|
|
33247
33299
|
border-radius: 8px;
|
|
33248
|
-
color: #
|
|
33300
|
+
color: #dc2626;
|
|
33249
33301
|
font-size: 13px;
|
|
33250
33302
|
font-weight: 500;
|
|
33251
33303
|
cursor: pointer;
|
|
@@ -33254,18 +33306,18 @@
|
|
|
33254
33306
|
|
|
33255
33307
|
.clear-all-button:hover {
|
|
33256
33308
|
background: rgba(239, 68, 68, 0.18);
|
|
33257
|
-
border-color: rgba(239, 68, 68, 0.
|
|
33309
|
+
border-color: rgba(239, 68, 68, 0.3);
|
|
33258
33310
|
}
|
|
33259
33311
|
|
|
33260
33312
|
.command-matched {
|
|
33261
33313
|
font-size: 12px;
|
|
33262
|
-
color:
|
|
33314
|
+
color: #525252;
|
|
33263
33315
|
margin-top: 6px;
|
|
33264
33316
|
}
|
|
33265
33317
|
|
|
33266
33318
|
.command-matched code {
|
|
33267
33319
|
background: rgba(245, 158, 11, 0.15);
|
|
33268
|
-
color: #
|
|
33320
|
+
color: #d97706;
|
|
33269
33321
|
padding: 2px 6px;
|
|
33270
33322
|
border-radius: 4px;
|
|
33271
33323
|
font-family: monospace;
|
|
@@ -33453,21 +33505,21 @@
|
|
|
33453
33505
|
gap: 8px;
|
|
33454
33506
|
font-size: 15px;
|
|
33455
33507
|
font-weight: 600;
|
|
33456
|
-
color:
|
|
33508
|
+
color: #171717;
|
|
33457
33509
|
margin-bottom: 10px;
|
|
33458
33510
|
}
|
|
33459
33511
|
|
|
33460
33512
|
.help-title.dictate {
|
|
33461
|
-
color: #
|
|
33513
|
+
color: #0f766e;
|
|
33462
33514
|
}
|
|
33463
33515
|
|
|
33464
33516
|
.help-title.edit {
|
|
33465
|
-
color: #
|
|
33517
|
+
color: #7c3aed;
|
|
33466
33518
|
}
|
|
33467
33519
|
|
|
33468
33520
|
.help-text {
|
|
33469
33521
|
font-size: 13px;
|
|
33470
|
-
color:
|
|
33522
|
+
color: #525252;
|
|
33471
33523
|
line-height: 1.6;
|
|
33472
33524
|
margin-bottom: 10px;
|
|
33473
33525
|
}
|
|
@@ -33484,17 +33536,17 @@
|
|
|
33484
33536
|
}
|
|
33485
33537
|
|
|
33486
33538
|
.help-example {
|
|
33487
|
-
background:
|
|
33488
|
-
border: 1px solid
|
|
33539
|
+
background: #ffffff;
|
|
33540
|
+
border: 1px solid #e5e5e5;
|
|
33489
33541
|
border-radius: 6px;
|
|
33490
33542
|
padding: 8px 12px;
|
|
33491
33543
|
font-size: 12px;
|
|
33492
|
-
color:
|
|
33544
|
+
color: #525252;
|
|
33493
33545
|
font-style: italic;
|
|
33494
33546
|
}
|
|
33495
33547
|
|
|
33496
33548
|
.help-title.languages {
|
|
33497
|
-
background: linear-gradient(135deg, #
|
|
33549
|
+
background: linear-gradient(135deg, #0f766e 0%, #1d4ed8 100%);
|
|
33498
33550
|
-webkit-background-clip: text;
|
|
33499
33551
|
-webkit-text-fill-color: transparent;
|
|
33500
33552
|
background-clip: text;
|
|
@@ -33572,7 +33624,7 @@
|
|
|
33572
33624
|
width: 36px;
|
|
33573
33625
|
height: 36px;
|
|
33574
33626
|
border-radius: 10px;
|
|
33575
|
-
background: linear-gradient(135deg, #
|
|
33627
|
+
background: linear-gradient(135deg, #14b8a6 0%, #2563eb 100%);
|
|
33576
33628
|
display: flex;
|
|
33577
33629
|
align-items: center;
|
|
33578
33630
|
justify-content: center;
|
|
@@ -33587,13 +33639,13 @@
|
|
|
33587
33639
|
.about-logo-text {
|
|
33588
33640
|
font-size: 22px;
|
|
33589
33641
|
font-weight: 500;
|
|
33590
|
-
color:
|
|
33642
|
+
color: #171717;
|
|
33591
33643
|
letter-spacing: -0.02em;
|
|
33592
33644
|
}
|
|
33593
33645
|
|
|
33594
33646
|
.logo-os {
|
|
33595
33647
|
font-weight: 700;
|
|
33596
|
-
background: linear-gradient(135deg, #
|
|
33648
|
+
background: linear-gradient(135deg, #14b8a6 0%, #2563eb 100%);
|
|
33597
33649
|
-webkit-background-clip: text;
|
|
33598
33650
|
-webkit-text-fill-color: transparent;
|
|
33599
33651
|
background-clip: text;
|
|
@@ -33601,7 +33653,7 @@
|
|
|
33601
33653
|
|
|
33602
33654
|
.about-description {
|
|
33603
33655
|
font-size: 14px;
|
|
33604
|
-
color:
|
|
33656
|
+
color: #525252;
|
|
33605
33657
|
line-height: 1.7;
|
|
33606
33658
|
margin-bottom: 24px;
|
|
33607
33659
|
}
|
|
@@ -33619,19 +33671,29 @@
|
|
|
33619
33671
|
align-items: center;
|
|
33620
33672
|
gap: 8px;
|
|
33621
33673
|
padding: 12px 18px;
|
|
33622
|
-
background:
|
|
33674
|
+
background: #0d9488;
|
|
33623
33675
|
border-radius: 10px;
|
|
33624
33676
|
color: white;
|
|
33625
33677
|
font-size: 14px;
|
|
33626
33678
|
font-weight: 600;
|
|
33679
|
+
letter-spacing: 0.01em;
|
|
33627
33680
|
text-decoration: none;
|
|
33628
|
-
transition: all 0.
|
|
33629
|
-
box-shadow: 0
|
|
33681
|
+
transition: all 0.15s ease;
|
|
33682
|
+
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
|
|
33630
33683
|
}
|
|
33631
33684
|
|
|
33632
33685
|
.about-link:hover {
|
|
33633
|
-
|
|
33634
|
-
box-shadow: 0
|
|
33686
|
+
background: #0f766e;
|
|
33687
|
+
box-shadow: 0 4px 12px rgba(13, 148, 136, 0.25);
|
|
33688
|
+
}
|
|
33689
|
+
|
|
33690
|
+
.about-link:focus {
|
|
33691
|
+
outline: none;
|
|
33692
|
+
box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #0d9488;
|
|
33693
|
+
}
|
|
33694
|
+
|
|
33695
|
+
.about-link:active {
|
|
33696
|
+
transform: scale(0.98);
|
|
33635
33697
|
}
|
|
33636
33698
|
`,
|
|
33637
33699
|
]; }
|
|
@@ -33711,20 +33773,21 @@
|
|
|
33711
33773
|
gap: 3px;
|
|
33712
33774
|
height: 32px;
|
|
33713
33775
|
padding: 8px 12px;
|
|
33714
|
-
background:
|
|
33776
|
+
background: #ffffff;
|
|
33777
|
+
border: 2px solid #e5e5e5;
|
|
33715
33778
|
border-radius: 8px;
|
|
33716
33779
|
}
|
|
33717
33780
|
|
|
33718
33781
|
.meter-bar {
|
|
33719
33782
|
width: 6px;
|
|
33720
33783
|
min-height: 4px;
|
|
33721
|
-
background:
|
|
33784
|
+
background: #d4d4d4;
|
|
33722
33785
|
border-radius: 2px;
|
|
33723
33786
|
transition: height 50ms ease-out, background 100ms ease;
|
|
33724
33787
|
}
|
|
33725
33788
|
|
|
33726
33789
|
.meter-bar.active {
|
|
33727
|
-
background:
|
|
33790
|
+
background: #10b981;
|
|
33728
33791
|
}
|
|
33729
33792
|
|
|
33730
33793
|
.meter-inactive {
|
|
@@ -33733,14 +33796,15 @@
|
|
|
33733
33796
|
justify-content: center;
|
|
33734
33797
|
height: 32px;
|
|
33735
33798
|
padding: 8px 12px;
|
|
33736
|
-
background:
|
|
33799
|
+
background: #ffffff;
|
|
33800
|
+
border: 2px solid #e5e5e5;
|
|
33737
33801
|
border-radius: 8px;
|
|
33738
|
-
color:
|
|
33802
|
+
color: #737373;
|
|
33739
33803
|
font-size: 13px;
|
|
33740
33804
|
}
|
|
33741
33805
|
|
|
33742
33806
|
.meter-error {
|
|
33743
|
-
color: #
|
|
33807
|
+
color: #dc2626;
|
|
33744
33808
|
}
|
|
33745
33809
|
`,
|
|
33746
33810
|
]; }
|
|
@@ -33937,18 +34001,18 @@
|
|
|
33937
34001
|
}
|
|
33938
34002
|
|
|
33939
34003
|
.settings-section-icon {
|
|
33940
|
-
color: #
|
|
34004
|
+
color: #0d9488;
|
|
33941
34005
|
}
|
|
33942
34006
|
|
|
33943
34007
|
.settings-section-title {
|
|
33944
34008
|
font-size: 14px;
|
|
33945
34009
|
font-weight: 600;
|
|
33946
|
-
color:
|
|
34010
|
+
color: #171717;
|
|
33947
34011
|
}
|
|
33948
34012
|
|
|
33949
34013
|
.settings-section-description {
|
|
33950
34014
|
font-size: 13px;
|
|
33951
|
-
color:
|
|
34015
|
+
color: #525252;
|
|
33952
34016
|
line-height: 1.5;
|
|
33953
34017
|
margin-bottom: 14px;
|
|
33954
34018
|
}
|
|
@@ -33977,10 +34041,10 @@
|
|
|
33977
34041
|
.settings-select {
|
|
33978
34042
|
width: 100%;
|
|
33979
34043
|
padding: 12px 40px 12px 14px;
|
|
33980
|
-
background:
|
|
33981
|
-
border: 1px solid
|
|
34044
|
+
background: #ffffff;
|
|
34045
|
+
border: 1px solid #d4d4d4;
|
|
33982
34046
|
border-radius: 10px;
|
|
33983
|
-
color:
|
|
34047
|
+
color: #171717;
|
|
33984
34048
|
font-size: 14px;
|
|
33985
34049
|
font-family: inherit;
|
|
33986
34050
|
cursor: pointer;
|
|
@@ -33990,34 +34054,44 @@
|
|
|
33990
34054
|
}
|
|
33991
34055
|
|
|
33992
34056
|
.settings-select:hover {
|
|
33993
|
-
border-color:
|
|
33994
|
-
background:
|
|
34057
|
+
border-color: #a3a3a3;
|
|
34058
|
+
background: #ffffff;
|
|
33995
34059
|
}
|
|
33996
34060
|
|
|
33997
34061
|
.settings-select:focus {
|
|
33998
34062
|
outline: none;
|
|
33999
|
-
border-color: #
|
|
34000
|
-
box-shadow: 0 0 0 3px rgba(
|
|
34063
|
+
border-color: #0d9488;
|
|
34064
|
+
box-shadow: 0 0 0 3px rgba(13, 148, 136, 0.15);
|
|
34001
34065
|
}
|
|
34002
34066
|
|
|
34003
34067
|
.settings-select option {
|
|
34004
|
-
background: #
|
|
34005
|
-
color:
|
|
34068
|
+
background: #ffffff;
|
|
34069
|
+
color: #171717;
|
|
34006
34070
|
padding: 8px;
|
|
34007
34071
|
}
|
|
34008
34072
|
|
|
34073
|
+
.settings-select:disabled {
|
|
34074
|
+
opacity: 0.4;
|
|
34075
|
+
cursor: not-allowed;
|
|
34076
|
+
}
|
|
34077
|
+
|
|
34078
|
+
.settings-select:disabled:hover {
|
|
34079
|
+
border-color: #d4d4d4;
|
|
34080
|
+
background: #ffffff;
|
|
34081
|
+
}
|
|
34082
|
+
|
|
34009
34083
|
.settings-select-arrow {
|
|
34010
34084
|
position: absolute;
|
|
34011
34085
|
right: 14px;
|
|
34012
34086
|
top: 50%;
|
|
34013
34087
|
transform: translateY(-50%);
|
|
34014
34088
|
pointer-events: none;
|
|
34015
|
-
color:
|
|
34089
|
+
color: #737373;
|
|
34016
34090
|
}
|
|
34017
34091
|
|
|
34018
34092
|
.settings-permission-note {
|
|
34019
34093
|
font-size: 12px;
|
|
34020
|
-
color:
|
|
34094
|
+
color: #737373;
|
|
34021
34095
|
margin-top: 10px;
|
|
34022
34096
|
font-style: italic;
|
|
34023
34097
|
}
|
|
@@ -34027,7 +34101,7 @@
|
|
|
34027
34101
|
align-items: center;
|
|
34028
34102
|
gap: 4px;
|
|
34029
34103
|
font-size: 11px;
|
|
34030
|
-
color: #
|
|
34104
|
+
color: #059669;
|
|
34031
34105
|
font-weight: 500;
|
|
34032
34106
|
opacity: 0;
|
|
34033
34107
|
transition: opacity 0.2s ease;
|
|
@@ -34043,28 +34117,34 @@
|
|
|
34043
34117
|
align-items: center;
|
|
34044
34118
|
justify-content: space-between;
|
|
34045
34119
|
padding: 12px 14px;
|
|
34046
|
-
background:
|
|
34047
|
-
border: 1px solid
|
|
34120
|
+
background: #ffffff;
|
|
34121
|
+
border: 1px solid #e5e5e5;
|
|
34048
34122
|
border-radius: 10px;
|
|
34123
|
+
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
|
|
34049
34124
|
}
|
|
34050
34125
|
|
|
34051
34126
|
.settings-toggle-label {
|
|
34052
34127
|
font-size: 14px;
|
|
34053
|
-
color:
|
|
34128
|
+
color: #171717;
|
|
34054
34129
|
}
|
|
34055
34130
|
|
|
34056
34131
|
.settings-toggle {
|
|
34057
34132
|
position: relative;
|
|
34058
34133
|
width: 44px;
|
|
34059
34134
|
height: 24px;
|
|
34060
|
-
background:
|
|
34135
|
+
background: #d4d4d4;
|
|
34061
34136
|
border-radius: 12px;
|
|
34062
34137
|
cursor: pointer;
|
|
34063
34138
|
transition: background 0.2s ease;
|
|
34064
34139
|
}
|
|
34065
34140
|
|
|
34066
34141
|
.settings-toggle.active {
|
|
34067
|
-
background: #
|
|
34142
|
+
background: #0d9488;
|
|
34143
|
+
}
|
|
34144
|
+
|
|
34145
|
+
.settings-toggle:focus {
|
|
34146
|
+
outline: none;
|
|
34147
|
+
box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #0d9488;
|
|
34068
34148
|
}
|
|
34069
34149
|
|
|
34070
34150
|
.settings-toggle-knob {
|
|
@@ -34187,13 +34267,14 @@
|
|
|
34187
34267
|
setSmartFormatEnabled(this.smartFormatEnabled);
|
|
34188
34268
|
this.showSaved();
|
|
34189
34269
|
}
|
|
34190
|
-
renderLanguageSelector(selectedCode, onChange) {
|
|
34270
|
+
renderLanguageSelector(selectedCode, onChange, disabled = false) {
|
|
34191
34271
|
return b `
|
|
34192
34272
|
<div class="settings-select-wrapper">
|
|
34193
34273
|
<select
|
|
34194
34274
|
class="settings-select"
|
|
34195
34275
|
.value="${selectedCode}"
|
|
34196
34276
|
@change="${onChange}"
|
|
34277
|
+
?disabled="${disabled}"
|
|
34197
34278
|
>
|
|
34198
34279
|
${SUPPORTED_LANGUAGES.map((lang) => b `
|
|
34199
34280
|
<option
|
|
@@ -34311,7 +34392,7 @@
|
|
|
34311
34392
|
<div class="settings-section-description">
|
|
34312
34393
|
AI automatically removes filler words, adds punctuation, and polishes
|
|
34313
34394
|
your text. Disable for raw transcription output. Note: disabling also
|
|
34314
|
-
turns off text snippets.
|
|
34395
|
+
turns off text snippets and output language translation.
|
|
34315
34396
|
</div>
|
|
34316
34397
|
<div class="settings-toggle-row">
|
|
34317
34398
|
<span class="settings-toggle-label">Enable AI formatting</span>
|
|
@@ -34352,9 +34433,13 @@
|
|
|
34352
34433
|
</div>
|
|
34353
34434
|
<div class="settings-section-description">
|
|
34354
34435
|
The language for your transcribed text. Usually the same as input, but
|
|
34355
|
-
can differ for translation.
|
|
34436
|
+
can differ for translation.${!this.smartFormatEnabled
|
|
34437
|
+
? " Requires Smart Format to be enabled."
|
|
34438
|
+
: ""}
|
|
34356
34439
|
</div>
|
|
34357
|
-
${this.renderLanguageSelector(this.
|
|
34440
|
+
${this.renderLanguageSelector(this.smartFormatEnabled
|
|
34441
|
+
? this.selectedOutputLanguageCode
|
|
34442
|
+
: this.selectedInputLanguageCode, this.handleOutputLanguageChange.bind(this), !this.smartFormatEnabled)}
|
|
34358
34443
|
</div>
|
|
34359
34444
|
`;
|
|
34360
34445
|
}
|
|
@@ -34417,17 +34502,18 @@
|
|
|
34417
34502
|
}
|
|
34418
34503
|
|
|
34419
34504
|
.snippet-item {
|
|
34420
|
-
background:
|
|
34421
|
-
border: 1px solid
|
|
34505
|
+
background: #ffffff;
|
|
34506
|
+
border: 1px solid #e5e5e5;
|
|
34422
34507
|
border-radius: 10px;
|
|
34423
34508
|
padding: 14px;
|
|
34424
34509
|
transition: all 0.15s ease;
|
|
34425
34510
|
position: relative;
|
|
34511
|
+
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
|
|
34426
34512
|
}
|
|
34427
34513
|
|
|
34428
34514
|
.snippet-item:hover {
|
|
34429
|
-
|
|
34430
|
-
|
|
34515
|
+
border-color: #d4d4d4;
|
|
34516
|
+
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
|
|
34431
34517
|
}
|
|
34432
34518
|
|
|
34433
34519
|
.snippet-trigger {
|
|
@@ -34440,7 +34526,7 @@
|
|
|
34440
34526
|
.snippet-trigger-text {
|
|
34441
34527
|
font-size: 14px;
|
|
34442
34528
|
font-weight: 600;
|
|
34443
|
-
color: #
|
|
34529
|
+
color: #0d9488;
|
|
34444
34530
|
}
|
|
34445
34531
|
|
|
34446
34532
|
.snippet-trigger-text::before {
|
|
@@ -34458,12 +34544,12 @@
|
|
|
34458
34544
|
align-items: flex-start;
|
|
34459
34545
|
gap: 8px;
|
|
34460
34546
|
font-size: 13px;
|
|
34461
|
-
color:
|
|
34547
|
+
color: #525252;
|
|
34462
34548
|
line-height: 1.5;
|
|
34463
34549
|
}
|
|
34464
34550
|
|
|
34465
34551
|
.snippet-expansion-arrow {
|
|
34466
|
-
color:
|
|
34552
|
+
color: #a3a3a3;
|
|
34467
34553
|
flex-shrink: 0;
|
|
34468
34554
|
margin-top: 2px;
|
|
34469
34555
|
}
|
|
@@ -34492,13 +34578,13 @@
|
|
|
34492
34578
|
display: flex;
|
|
34493
34579
|
align-items: center;
|
|
34494
34580
|
justify-content: center;
|
|
34495
|
-
color:
|
|
34581
|
+
color: #737373;
|
|
34496
34582
|
transition: all 0.15s ease;
|
|
34497
34583
|
}
|
|
34498
34584
|
|
|
34499
34585
|
.edit-btn:hover {
|
|
34500
|
-
background: rgba(
|
|
34501
|
-
color: #
|
|
34586
|
+
background: rgba(13, 148, 136, 0.1);
|
|
34587
|
+
color: #0d9488;
|
|
34502
34588
|
}
|
|
34503
34589
|
`,
|
|
34504
34590
|
]; }
|
|
@@ -34781,30 +34867,32 @@
|
|
|
34781
34867
|
gap: 8px;
|
|
34782
34868
|
padding: 8px 12px;
|
|
34783
34869
|
background: rgba(139, 92, 246, 0.1);
|
|
34784
|
-
border: 1px solid rgba(139, 92, 246, 0.
|
|
34870
|
+
border: 1px solid rgba(139, 92, 246, 0.25);
|
|
34785
34871
|
border-radius: 8px;
|
|
34786
34872
|
transition: all 0.15s ease;
|
|
34787
34873
|
}
|
|
34788
34874
|
|
|
34789
34875
|
.vocabulary-chip:hover {
|
|
34790
34876
|
background: rgba(139, 92, 246, 0.15);
|
|
34791
|
-
border-color: rgba(139, 92, 246, 0.
|
|
34877
|
+
border-color: rgba(139, 92, 246, 0.35);
|
|
34792
34878
|
}
|
|
34793
34879
|
|
|
34794
34880
|
.vocabulary-chip-text {
|
|
34795
34881
|
font-size: 13px;
|
|
34796
34882
|
font-weight: 500;
|
|
34797
|
-
color: #
|
|
34883
|
+
color: #7c3aed;
|
|
34798
34884
|
}
|
|
34799
34885
|
|
|
34800
34886
|
.vocabulary-chip .delete-btn {
|
|
34801
34887
|
width: 20px;
|
|
34802
34888
|
height: 20px;
|
|
34803
34889
|
margin: -4px -4px -4px 0;
|
|
34890
|
+
color: #737373;
|
|
34804
34891
|
}
|
|
34805
34892
|
|
|
34806
34893
|
.vocabulary-chip .delete-btn:hover {
|
|
34807
34894
|
background: rgba(239, 68, 68, 0.2);
|
|
34895
|
+
color: #f87171;
|
|
34808
34896
|
}
|
|
34809
34897
|
`,
|
|
34810
34898
|
]; }
|
|
@@ -35205,14 +35293,14 @@
|
|
|
35205
35293
|
}
|
|
35206
35294
|
|
|
35207
35295
|
.modal-card {
|
|
35208
|
-
background: #
|
|
35296
|
+
background: #f5f5f4;
|
|
35209
35297
|
border-radius: 16px;
|
|
35210
35298
|
width: 90%;
|
|
35211
35299
|
max-width: 400px;
|
|
35212
35300
|
display: flex;
|
|
35213
35301
|
flex-direction: column;
|
|
35214
|
-
box-shadow: 0 24px 48px rgba(0, 0, 0, 0.
|
|
35215
|
-
0 0 0 1px rgba(
|
|
35302
|
+
box-shadow: 0 24px 48px rgba(0, 0, 0, 0.15),
|
|
35303
|
+
0 0 0 1px rgba(0, 0, 0, 0.05);
|
|
35216
35304
|
transform: scale(0.95) translateY(10px);
|
|
35217
35305
|
transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1);
|
|
35218
35306
|
pointer-events: auto;
|
|
@@ -35228,14 +35316,14 @@
|
|
|
35228
35316
|
align-items: center;
|
|
35229
35317
|
justify-content: space-between;
|
|
35230
35318
|
padding: 16px 20px;
|
|
35231
|
-
border-bottom: 1px solid
|
|
35232
|
-
background:
|
|
35319
|
+
border-bottom: 1px solid #e5e5e5;
|
|
35320
|
+
background: #ffffff;
|
|
35233
35321
|
}
|
|
35234
35322
|
|
|
35235
35323
|
.modal-title {
|
|
35236
35324
|
font-size: 16px;
|
|
35237
35325
|
font-weight: 600;
|
|
35238
|
-
color:
|
|
35326
|
+
color: #171717;
|
|
35239
35327
|
margin: 0;
|
|
35240
35328
|
letter-spacing: -0.01em;
|
|
35241
35329
|
}
|
|
@@ -35250,13 +35338,22 @@
|
|
|
35250
35338
|
display: flex;
|
|
35251
35339
|
align-items: center;
|
|
35252
35340
|
justify-content: center;
|
|
35253
|
-
color:
|
|
35341
|
+
color: #737373;
|
|
35254
35342
|
transition: all 0.15s ease;
|
|
35255
35343
|
}
|
|
35256
35344
|
|
|
35257
35345
|
.close-button:hover {
|
|
35258
|
-
background:
|
|
35259
|
-
color:
|
|
35346
|
+
background: #f5f5f4;
|
|
35347
|
+
color: #171717;
|
|
35348
|
+
}
|
|
35349
|
+
|
|
35350
|
+
.close-button:focus {
|
|
35351
|
+
outline: none;
|
|
35352
|
+
box-shadow: 0 0 0 2px #0d9488, 0 0 0 4px rgba(13, 148, 136, 0.2);
|
|
35353
|
+
}
|
|
35354
|
+
|
|
35355
|
+
.close-button:active {
|
|
35356
|
+
transform: scale(0.95);
|
|
35260
35357
|
}
|
|
35261
35358
|
|
|
35262
35359
|
.modal-body {
|
|
@@ -35268,8 +35365,8 @@
|
|
|
35268
35365
|
justify-content: flex-end;
|
|
35269
35366
|
gap: 10px;
|
|
35270
35367
|
padding: 16px 20px;
|
|
35271
|
-
border-top: 1px solid
|
|
35272
|
-
background:
|
|
35368
|
+
border-top: 1px solid #e5e5e5;
|
|
35369
|
+
background: #ffffff;
|
|
35273
35370
|
}
|
|
35274
35371
|
|
|
35275
35372
|
.btn {
|
|
@@ -35286,42 +35383,47 @@
|
|
|
35286
35383
|
}
|
|
35287
35384
|
|
|
35288
35385
|
.btn-secondary {
|
|
35289
|
-
background: rgba(
|
|
35290
|
-
color:
|
|
35386
|
+
background: rgba(0, 0, 0, 0.08);
|
|
35387
|
+
color: #525252;
|
|
35291
35388
|
}
|
|
35292
35389
|
|
|
35293
35390
|
.btn-secondary:hover {
|
|
35294
|
-
background: rgba(
|
|
35295
|
-
color:
|
|
35391
|
+
background: rgba(0, 0, 0, 0.12);
|
|
35392
|
+
color: #171717;
|
|
35296
35393
|
}
|
|
35297
35394
|
|
|
35298
35395
|
.btn-primary {
|
|
35299
|
-
background:
|
|
35396
|
+
background: #0d9488;
|
|
35300
35397
|
color: white;
|
|
35301
|
-
box-shadow: 0
|
|
35398
|
+
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
|
|
35302
35399
|
}
|
|
35303
35400
|
|
|
35304
35401
|
.btn-primary:hover {
|
|
35305
|
-
|
|
35306
|
-
box-shadow: 0 4px 12px rgba(
|
|
35402
|
+
background: #0f766e;
|
|
35403
|
+
box-shadow: 0 4px 12px rgba(13, 148, 136, 0.25);
|
|
35404
|
+
}
|
|
35405
|
+
|
|
35406
|
+
.btn-primary:focus {
|
|
35407
|
+
outline: none;
|
|
35408
|
+
box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #0d9488;
|
|
35307
35409
|
}
|
|
35308
35410
|
|
|
35309
35411
|
.btn-primary:active {
|
|
35310
|
-
transform:
|
|
35412
|
+
transform: scale(0.98);
|
|
35311
35413
|
}
|
|
35312
35414
|
|
|
35313
35415
|
/* Success state for copy button */
|
|
35314
35416
|
.btn-success {
|
|
35315
|
-
background:
|
|
35417
|
+
background: #059669;
|
|
35316
35418
|
}
|
|
35317
35419
|
|
|
35318
35420
|
/* Text display area */
|
|
35319
35421
|
.text-display {
|
|
35320
|
-
background:
|
|
35321
|
-
border: 1px solid
|
|
35422
|
+
background: #ffffff;
|
|
35423
|
+
border: 1px solid #e5e5e5;
|
|
35322
35424
|
border-radius: 10px;
|
|
35323
35425
|
padding: 14px 16px;
|
|
35324
|
-
color:
|
|
35426
|
+
color: #171717;
|
|
35325
35427
|
font-size: 14px;
|
|
35326
35428
|
line-height: 1.5;
|
|
35327
35429
|
max-height: 200px;
|
|
@@ -35340,12 +35442,12 @@
|
|
|
35340
35442
|
}
|
|
35341
35443
|
|
|
35342
35444
|
.text-display::-webkit-scrollbar-thumb {
|
|
35343
|
-
background: rgba(
|
|
35445
|
+
background: rgba(0, 0, 0, 0.15);
|
|
35344
35446
|
border-radius: 3px;
|
|
35345
35447
|
}
|
|
35346
35448
|
|
|
35347
35449
|
.text-display::-webkit-scrollbar-thumb:hover {
|
|
35348
|
-
background: rgba(
|
|
35450
|
+
background: rgba(0, 0, 0, 0.25);
|
|
35349
35451
|
}
|
|
35350
35452
|
|
|
35351
35453
|
/* Instruction list styling */
|
|
@@ -35360,7 +35462,7 @@
|
|
|
35360
35462
|
align-items: flex-start;
|
|
35361
35463
|
gap: 12px;
|
|
35362
35464
|
padding: 12px 0;
|
|
35363
|
-
border-bottom: 1px solid
|
|
35465
|
+
border-bottom: 1px solid #e5e5e5;
|
|
35364
35466
|
}
|
|
35365
35467
|
|
|
35366
35468
|
.instruction-item:last-child {
|
|
@@ -35371,7 +35473,7 @@
|
|
|
35371
35473
|
width: 24px;
|
|
35372
35474
|
height: 24px;
|
|
35373
35475
|
border-radius: 50%;
|
|
35374
|
-
background:
|
|
35476
|
+
background: #0d9488;
|
|
35375
35477
|
color: white;
|
|
35376
35478
|
font-size: 12px;
|
|
35377
35479
|
font-weight: 700;
|
|
@@ -35383,7 +35485,7 @@
|
|
|
35383
35485
|
|
|
35384
35486
|
.instruction-text {
|
|
35385
35487
|
font-size: 14px;
|
|
35386
|
-
color:
|
|
35488
|
+
color: #171717;
|
|
35387
35489
|
line-height: 1.5;
|
|
35388
35490
|
padding-top: 2px;
|
|
35389
35491
|
}
|
|
@@ -35441,7 +35543,7 @@
|
|
|
35441
35543
|
width: 32px;
|
|
35442
35544
|
height: 32px;
|
|
35443
35545
|
border-radius: 8px;
|
|
35444
|
-
background: linear-gradient(135deg, #
|
|
35546
|
+
background: linear-gradient(135deg, #14b8a6 0%, #2563eb 100%);
|
|
35445
35547
|
display: flex;
|
|
35446
35548
|
align-items: center;
|
|
35447
35549
|
justify-content: center;
|
|
@@ -35455,31 +35557,35 @@
|
|
|
35455
35557
|
}
|
|
35456
35558
|
|
|
35457
35559
|
.modal-title {
|
|
35458
|
-
background: linear-gradient(135deg, #
|
|
35560
|
+
background: linear-gradient(135deg, #14b8a6 0%, #2563eb 100%);
|
|
35459
35561
|
-webkit-background-clip: text;
|
|
35460
35562
|
-webkit-text-fill-color: transparent;
|
|
35461
35563
|
background-clip: text;
|
|
35462
35564
|
}
|
|
35463
35565
|
|
|
35464
35566
|
.btn-primary {
|
|
35465
|
-
background:
|
|
35466
|
-
box-shadow: 0
|
|
35567
|
+
background: #0d9488;
|
|
35568
|
+
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
|
|
35467
35569
|
border-radius: 999px;
|
|
35468
35570
|
}
|
|
35469
35571
|
|
|
35470
35572
|
.btn-primary:hover {
|
|
35471
|
-
background:
|
|
35472
|
-
|
|
35473
|
-
|
|
35573
|
+
background: #0f766e;
|
|
35574
|
+
box-shadow: 0 4px 12px rgba(13, 148, 136, 0.25);
|
|
35575
|
+
}
|
|
35576
|
+
|
|
35577
|
+
.btn-primary:focus {
|
|
35578
|
+
outline: none;
|
|
35579
|
+
box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #0d9488;
|
|
35474
35580
|
}
|
|
35475
35581
|
|
|
35476
35582
|
.btn-primary:active {
|
|
35477
|
-
transform:
|
|
35583
|
+
transform: scale(0.98);
|
|
35478
35584
|
}
|
|
35479
35585
|
|
|
35480
35586
|
.btn-success {
|
|
35481
|
-
background:
|
|
35482
|
-
box-shadow: 0
|
|
35587
|
+
background: #059669;
|
|
35588
|
+
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
|
|
35483
35589
|
border-radius: 999px;
|
|
35484
35590
|
}
|
|
35485
35591
|
|
|
@@ -35493,14 +35599,15 @@
|
|
|
35493
35599
|
gap: 6px;
|
|
35494
35600
|
margin-top: 12px;
|
|
35495
35601
|
padding: 8px 12px;
|
|
35496
|
-
background:
|
|
35602
|
+
background: #ffffff;
|
|
35603
|
+
border: 1px solid #e5e5e5;
|
|
35497
35604
|
border-radius: 8px;
|
|
35498
35605
|
font-size: 12px;
|
|
35499
|
-
color:
|
|
35606
|
+
color: #525252;
|
|
35500
35607
|
}
|
|
35501
35608
|
|
|
35502
35609
|
.hint-icon {
|
|
35503
|
-
color: #
|
|
35610
|
+
color: #0d9488;
|
|
35504
35611
|
flex-shrink: 0;
|
|
35505
35612
|
}
|
|
35506
35613
|
|
|
@@ -36340,7 +36447,14 @@
|
|
|
36340
36447
|
state.hide();
|
|
36341
36448
|
}
|
|
36342
36449
|
handleSettingsClick() {
|
|
36343
|
-
|
|
36450
|
+
if (useExternalSettings()) {
|
|
36451
|
+
const host = getConfig().host;
|
|
36452
|
+
const fullUrl = `${host}/a/extension-settings`;
|
|
36453
|
+
window.open(fullUrl, '_blank', 'noopener,noreferrer');
|
|
36454
|
+
}
|
|
36455
|
+
else {
|
|
36456
|
+
this.settingsOpen = true;
|
|
36457
|
+
}
|
|
36344
36458
|
}
|
|
36345
36459
|
handleDragStart(e) {
|
|
36346
36460
|
if (e.button !== 0)
|
|
@@ -36881,10 +36995,17 @@
|
|
|
36881
36995
|
this.editSelectionStart = null;
|
|
36882
36996
|
this.editSelectionEnd = null;
|
|
36883
36997
|
this.editSelectedText = "";
|
|
36884
|
-
// Open settings modal
|
|
36885
|
-
|
|
36998
|
+
// Open settings - either external URL or modal
|
|
36999
|
+
if (useExternalSettings()) {
|
|
37000
|
+
const host = getConfig().host;
|
|
37001
|
+
const fullUrl = `${host}/a/extension-settings`;
|
|
37002
|
+
window.open(fullUrl, '_blank', 'noopener,noreferrer');
|
|
37003
|
+
}
|
|
37004
|
+
else {
|
|
37005
|
+
this.settingsOpen = true;
|
|
37006
|
+
}
|
|
36886
37007
|
if (getConfig().debug) {
|
|
36887
|
-
console.log("[SpeechOS] Settings
|
|
37008
|
+
console.log("[SpeechOS] Settings opened from no-audio warning", { useExternalSettings: useExternalSettings() });
|
|
36888
37009
|
}
|
|
36889
37010
|
await disconnectPromise;
|
|
36890
37011
|
}
|
|
@@ -37465,6 +37586,7 @@
|
|
|
37465
37586
|
exports.state = state;
|
|
37466
37587
|
exports.transcriptStore = transcriptStore;
|
|
37467
37588
|
exports.updateSnippet = updateSnippet;
|
|
37589
|
+
exports.useExternalSettings = useExternalSettings;
|
|
37468
37590
|
exports.vocabularyStore = vocabularyStore;
|
|
37469
37591
|
|
|
37470
37592
|
Object.defineProperty(exports, '__esModule', { value: true });
|