liquid glass ui beta
This commit is contained in:
		
							parent
							
								
									9b0ad9607b
								
							
						
					
					
						commit
						a10cc77dfb
					
				@ -78,7 +78,6 @@ export class ApiKeyHeader extends LitElement {
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        .close-button {
 | 
			
		||||
            -webkit-app-region: no-drag;
 | 
			
		||||
            position: absolute;
 | 
			
		||||
            top: 10px;
 | 
			
		||||
            right: 10px;
 | 
			
		||||
@ -158,7 +157,6 @@ export class ApiKeyHeader extends LitElement {
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        .api-input {
 | 
			
		||||
            -webkit-app-region: no-drag;
 | 
			
		||||
            width: 100%;
 | 
			
		||||
            height: 34px;
 | 
			
		||||
            background: rgba(255, 255, 255, 0.1);
 | 
			
		||||
@ -186,7 +184,6 @@ export class ApiKeyHeader extends LitElement {
 | 
			
		||||
        .provider-column { flex: 1; display: flex; flex-direction: column; align-items: center; }
 | 
			
		||||
        .provider-label { color: rgba(255, 255, 255, 0.7); font-size: 11px; font-weight: 500; margin-bottom: 6px; }
 | 
			
		||||
        .api-input, .provider-select {
 | 
			
		||||
            -webkit-app-region: no-drag;
 | 
			
		||||
            width: 100%;
 | 
			
		||||
            height: 34px;
 | 
			
		||||
            text-align: center;
 | 
			
		||||
@ -213,7 +210,6 @@ export class ApiKeyHeader extends LitElement {
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        .action-button {
 | 
			
		||||
            -webkit-app-region: no-drag;
 | 
			
		||||
            width: 100%;
 | 
			
		||||
            height: 34px;
 | 
			
		||||
            background: rgba(255, 255, 255, 0.2);
 | 
			
		||||
@ -259,6 +255,29 @@ export class ApiKeyHeader extends LitElement {
 | 
			
		||||
            font-weight: 500; /* Medium */
 | 
			
		||||
            margin: 10px 0;
 | 
			
		||||
        }
 | 
			
		||||
        /* ────────────────[ GLASS BYPASS ]─────────────── */
 | 
			
		||||
        :host-context(body.has-glass) .container,
 | 
			
		||||
        :host-context(body.has-glass) .api-input,
 | 
			
		||||
        :host-context(body.has-glass) .provider-select,
 | 
			
		||||
        :host-context(body.has-glass) .action-button,
 | 
			
		||||
        :host-context(body.has-glass) .close-button {
 | 
			
		||||
            background: transparent !important;
 | 
			
		||||
            border: none !important;
 | 
			
		||||
            box-shadow: none !important;
 | 
			
		||||
            filter: none !important;
 | 
			
		||||
            backdrop-filter: none !important;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        :host-context(body.has-glass) .container::after,
 | 
			
		||||
        :host-context(body.has-glass) .action-button::after {
 | 
			
		||||
            display: none !important;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        :host-context(body.has-glass) .action-button:hover,
 | 
			
		||||
        :host-context(body.has-glass) .provider-select:hover,
 | 
			
		||||
        :host-context(body.has-glass) .close-button:hover {
 | 
			
		||||
            background: transparent !important;
 | 
			
		||||
        }
 | 
			
		||||
    `
 | 
			
		||||
 | 
			
		||||
  constructor() {
 | 
			
		||||
 | 
			
		||||
@ -82,7 +82,6 @@ export class MainHeader extends LitElement {
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        .listen-button {
 | 
			
		||||
            -webkit-app-region: no-drag;
 | 
			
		||||
            height: 26px;
 | 
			
		||||
            padding: 0 13px;
 | 
			
		||||
            background: transparent;
 | 
			
		||||
@ -190,7 +189,6 @@ export class MainHeader extends LitElement {
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        .header-actions {
 | 
			
		||||
            -webkit-app-region: no-drag;
 | 
			
		||||
            height: 26px;
 | 
			
		||||
            box-sizing: border-box;
 | 
			
		||||
            justify-content: flex-start;
 | 
			
		||||
@ -262,7 +260,6 @@ export class MainHeader extends LitElement {
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        .settings-button {
 | 
			
		||||
            -webkit-app-region: no-drag;
 | 
			
		||||
            padding: 5px;
 | 
			
		||||
            border-radius: 50%;
 | 
			
		||||
            background: transparent;
 | 
			
		||||
@ -290,6 +287,55 @@ export class MainHeader extends LitElement {
 | 
			
		||||
            width: 16px;
 | 
			
		||||
            height: 16px;
 | 
			
		||||
        }
 | 
			
		||||
        /* ────────────────[ GLASS BYPASS ]─────────────── */
 | 
			
		||||
        :host-context(body.has-glass) .header,
 | 
			
		||||
        :host-context(body.has-glass) .listen-button,
 | 
			
		||||
        :host-context(body.has-glass) .header-actions,
 | 
			
		||||
        :host-context(body.has-glass) .settings-button {
 | 
			
		||||
            background: transparent !important;
 | 
			
		||||
            filter: none !important;
 | 
			
		||||
            box-shadow: none !important;
 | 
			
		||||
            backdrop-filter: none !important;
 | 
			
		||||
        }
 | 
			
		||||
        :host-context(body.has-glass) .icon-box {
 | 
			
		||||
            background: transparent !important;
 | 
			
		||||
            border: none !important;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        :host-context(body.has-glass) .header::before,
 | 
			
		||||
        :host-context(body.has-glass) .header::after,
 | 
			
		||||
        :host-context(body.has-glass) .listen-button::before,
 | 
			
		||||
        :host-context(body.has-glass) .listen-button::after {
 | 
			
		||||
            display: none !important;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        :host-context(body.has-glass) .header-actions:hover,
 | 
			
		||||
        :host-context(body.has-glass) .settings-button:hover,
 | 
			
		||||
        :host-context(body.has-glass) .listen-button:hover::before {
 | 
			
		||||
            background: transparent !important;
 | 
			
		||||
        }
 | 
			
		||||
        :host-context(body.has-glass) * {
 | 
			
		||||
            animation: none !important;
 | 
			
		||||
            transition: none !important;
 | 
			
		||||
            transform: none !important;
 | 
			
		||||
            filter: none !important;
 | 
			
		||||
            backdrop-filter: none !important;
 | 
			
		||||
            box-shadow: none !important;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        :host-context(body.has-glass) .header,
 | 
			
		||||
        :host-context(body.has-glass) .listen-button,
 | 
			
		||||
        :host-context(body.has-glass) .header-actions,
 | 
			
		||||
        :host-context(body.has-glass) .settings-button,
 | 
			
		||||
        :host-context(body.has-glass) .icon-box {
 | 
			
		||||
            border-radius: 0 !important;
 | 
			
		||||
        }
 | 
			
		||||
        :host-context(body.has-glass) {
 | 
			
		||||
            animation: none !important;
 | 
			
		||||
            transition: none !important;
 | 
			
		||||
            transform: none !important;
 | 
			
		||||
            will-change: auto !important;
 | 
			
		||||
        }
 | 
			
		||||
        `;
 | 
			
		||||
 | 
			
		||||
    constructor() {
 | 
			
		||||
 | 
			
		||||
@ -56,7 +56,6 @@ export class PermissionHeader extends LitElement {
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        .close-button {
 | 
			
		||||
            -webkit-app-region: no-drag;
 | 
			
		||||
            position: absolute;
 | 
			
		||||
            top: 10px;
 | 
			
		||||
            right: 10px;
 | 
			
		||||
@ -147,7 +146,6 @@ export class PermissionHeader extends LitElement {
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        .action-button {
 | 
			
		||||
            -webkit-app-region: no-drag;
 | 
			
		||||
            width: 100%;
 | 
			
		||||
            height: 34px;
 | 
			
		||||
            background: rgba(255, 255, 255, 0.2);
 | 
			
		||||
@ -189,7 +187,6 @@ export class PermissionHeader extends LitElement {
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        .continue-button {
 | 
			
		||||
            -webkit-app-region: no-drag;
 | 
			
		||||
            width: 100%;
 | 
			
		||||
            height: 34px;
 | 
			
		||||
            background: rgba(34, 197, 94, 0.8);
 | 
			
		||||
@ -229,6 +226,30 @@ export class PermissionHeader extends LitElement {
 | 
			
		||||
            background: rgba(255, 255, 255, 0.2);
 | 
			
		||||
            cursor: not-allowed;
 | 
			
		||||
        }
 | 
			
		||||
        
 | 
			
		||||
        /* ────────────────[ GLASS BYPASS ]─────────────── */
 | 
			
		||||
        :host-context(body.has-glass) .container,
 | 
			
		||||
        :host-context(body.has-glass) .action-button,
 | 
			
		||||
        :host-context(body.has-glass) .continue-button,
 | 
			
		||||
        :host-context(body.has-glass) .close-button {
 | 
			
		||||
            background: transparent !important;
 | 
			
		||||
            border: none !important;
 | 
			
		||||
            box-shadow: none !important;
 | 
			
		||||
            filter: none !important;
 | 
			
		||||
            backdrop-filter: none !important;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        :host-context(body.has-glass) .container::after,
 | 
			
		||||
        :host-context(body.has-glass) .action-button::after,
 | 
			
		||||
        :host-context(body.has-glass) .continue-button::after {
 | 
			
		||||
            display: none !important;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        :host-context(body.has-glass) .action-button:hover,
 | 
			
		||||
        :host-context(body.has-glass) .continue-button:hover,
 | 
			
		||||
        :host-context(body.has-glass) .close-button:hover {
 | 
			
		||||
            background: transparent !important;
 | 
			
		||||
        }
 | 
			
		||||
    `;
 | 
			
		||||
 | 
			
		||||
    static properties = {
 | 
			
		||||
 | 
			
		||||
@ -304,11 +304,6 @@
 | 
			
		||||
            const params = new URLSearchParams(window.location.search);
 | 
			
		||||
            if (params.get('glass') === 'true') {
 | 
			
		||||
                document.body.classList.add('has-glass');
 | 
			
		||||
                // --- ADDED: Link to centralized glass-bypass styles ---
 | 
			
		||||
                const link = document.createElement('link');
 | 
			
		||||
                link.rel = 'stylesheet';
 | 
			
		||||
                link.href = '../common/styles/glass-bypass.css';
 | 
			
		||||
                document.head.appendChild(link);
 | 
			
		||||
            }
 | 
			
		||||
        </script>
 | 
			
		||||
    </body>
 | 
			
		||||
 | 
			
		||||
@ -22,11 +22,6 @@
 | 
			
		||||
            const params = new URLSearchParams(window.location.search);
 | 
			
		||||
            if (params.get('glass') === 'true') {
 | 
			
		||||
                document.body.classList.add('has-glass');
 | 
			
		||||
                // --- ADDED: Link to centralized glass-bypass styles ---
 | 
			
		||||
                const link = document.createElement('link');
 | 
			
		||||
                link.rel = 'stylesheet';
 | 
			
		||||
                link.href = '../common/styles/glass-bypass.css';
 | 
			
		||||
                document.head.appendChild(link);
 | 
			
		||||
            }
 | 
			
		||||
        </script>
 | 
			
		||||
    </body>
 | 
			
		||||
 | 
			
		||||
@ -37,7 +37,7 @@ const isLiquidGlassSupported = () => {
 | 
			
		||||
    }
 | 
			
		||||
    const majorVersion = parseInt(os.release().split('.')[0], 10);
 | 
			
		||||
    // return majorVersion >= 25; // macOS 26+ (Darwin 25+)
 | 
			
		||||
    return majorVersion >= 26; // See you soon!
 | 
			
		||||
    return majorVersion >= 25; // See you soon!
 | 
			
		||||
};
 | 
			
		||||
let shouldUseLiquidGlass = isLiquidGlassSupported();
 | 
			
		||||
if (shouldUseLiquidGlass) {
 | 
			
		||||
@ -116,13 +116,9 @@ function createFeatureWindows(header, namesToCreate) {
 | 
			
		||||
                    listenLoadOptions.query.glass = 'true';
 | 
			
		||||
                    listen.loadFile(path.join(__dirname, '../app/content.html'), listenLoadOptions);
 | 
			
		||||
                    listen.webContents.once('did-finish-load', () => {
 | 
			
		||||
                        const viewId = liquidGlass.addView(listen.getNativeWindowHandle(), {
 | 
			
		||||
                            cornerRadius: 12,
 | 
			
		||||
                            tintColor: '#FF00001A', // Red tint
 | 
			
		||||
                            opaque: false, 
 | 
			
		||||
                        });
 | 
			
		||||
                        const viewId = liquidGlass.addView(listen.getNativeWindowHandle());
 | 
			
		||||
                        if (viewId !== -1) {
 | 
			
		||||
                            liquidGlass.unstable_setVariant(viewId, 2);
 | 
			
		||||
                            liquidGlass.unstable_setVariant(viewId, liquidGlass.GlassMaterialVariant.bubbles);
 | 
			
		||||
                            // liquidGlass.unstable_setScrim(viewId, 1);
 | 
			
		||||
                            // liquidGlass.unstable_setSubdued(viewId, 1);
 | 
			
		||||
                        }
 | 
			
		||||
@ -148,13 +144,9 @@ function createFeatureWindows(header, namesToCreate) {
 | 
			
		||||
                    askLoadOptions.query.glass = 'true';
 | 
			
		||||
                    ask.loadFile(path.join(__dirname, '../app/content.html'), askLoadOptions);
 | 
			
		||||
                    ask.webContents.once('did-finish-load', () => {
 | 
			
		||||
                        const viewId = liquidGlass.addView(ask.getNativeWindowHandle(), {
 | 
			
		||||
                            cornerRadius: 12,
 | 
			
		||||
                            tintColor: '#FF00001A', // Red tint
 | 
			
		||||
                            opaque: false, 
 | 
			
		||||
                        });
 | 
			
		||||
                        const viewId = liquidGlass.addView(ask.getNativeWindowHandle());
 | 
			
		||||
                        if (viewId !== -1) {
 | 
			
		||||
                            liquidGlass.unstable_setVariant(viewId, 2);
 | 
			
		||||
                            liquidGlass.unstable_setVariant(viewId, liquidGlass.GlassMaterialVariant.bubbles);
 | 
			
		||||
                            // liquidGlass.unstable_setScrim(viewId, 1);
 | 
			
		||||
                            // liquidGlass.unstable_setSubdued(viewId, 1);
 | 
			
		||||
                        }
 | 
			
		||||
@ -189,13 +181,9 @@ function createFeatureWindows(header, namesToCreate) {
 | 
			
		||||
                    settings.loadFile(path.join(__dirname,'../app/content.html'), settingsLoadOptions)
 | 
			
		||||
                        .catch(console.error);
 | 
			
		||||
                    settings.webContents.once('did-finish-load', () => {
 | 
			
		||||
                        const viewId = liquidGlass.addView(settings.getNativeWindowHandle(), {
 | 
			
		||||
                            cornerRadius: 12,
 | 
			
		||||
                            tintColor: '#FF00001A', // Red tint
 | 
			
		||||
                            opaque: false, 
 | 
			
		||||
                        });
 | 
			
		||||
                        const viewId = liquidGlass.addView(settings.getNativeWindowHandle());
 | 
			
		||||
                        if (viewId !== -1) {
 | 
			
		||||
                            liquidGlass.unstable_setVariant(viewId, 2);
 | 
			
		||||
                            liquidGlass.unstable_setVariant(viewId, liquidGlass.GlassMaterialVariant.bubbles);
 | 
			
		||||
                            // liquidGlass.unstable_setScrim(viewId, 1);
 | 
			
		||||
                            // liquidGlass.unstable_setSubdued(viewId, 1);
 | 
			
		||||
                        }
 | 
			
		||||
@ -254,11 +242,9 @@ function createFeatureWindows(header, namesToCreate) {
 | 
			
		||||
                    loadOptions.query.glass = 'true';
 | 
			
		||||
                    shortcutEditor.loadFile(path.join(__dirname, '../app/content.html'), loadOptions);
 | 
			
		||||
                    shortcutEditor.webContents.once('did-finish-load', () => {
 | 
			
		||||
                        const viewId = liquidGlass.addView(shortcutEditor.getNativeWindowHandle(), {
 | 
			
		||||
                            cornerRadius: 12, tintColor: '#FF00001A', opaque: false, 
 | 
			
		||||
                        });
 | 
			
		||||
                        const viewId = liquidGlass.addView(shortcutEditor.getNativeWindowHandle());
 | 
			
		||||
                        if (viewId !== -1) {
 | 
			
		||||
                            liquidGlass.unstable_setVariant(viewId, 2);
 | 
			
		||||
                            liquidGlass.unstable_setVariant(viewId, liquidGlass.GlassMaterialVariant.bubbles);
 | 
			
		||||
                        }
 | 
			
		||||
                    });
 | 
			
		||||
                }
 | 
			
		||||
@ -408,13 +394,9 @@ function createWindows() {
 | 
			
		||||
        headerLoadOptions.query = { glass: 'true' };
 | 
			
		||||
        header.loadFile(path.join(__dirname, '../app/header.html'), headerLoadOptions);
 | 
			
		||||
        header.webContents.once('did-finish-load', () => {
 | 
			
		||||
            const viewId = liquidGlass.addView(header.getNativeWindowHandle(), {
 | 
			
		||||
                cornerRadius: 12,
 | 
			
		||||
                tintColor: '#FF00001A', // Red tint
 | 
			
		||||
                opaque: false, 
 | 
			
		||||
            });
 | 
			
		||||
            const viewId = liquidGlass.addView(header.getNativeWindowHandle());
 | 
			
		||||
            if (viewId !== -1) {
 | 
			
		||||
                liquidGlass.unstable_setVariant(viewId, 2); 
 | 
			
		||||
                liquidGlass.unstable_setVariant(viewId, liquidGlass.GlassMaterialVariant.bubbles);
 | 
			
		||||
                // liquidGlass.unstable_setScrim(viewId, 1); 
 | 
			
		||||
                // liquidGlass.unstable_setSubdued(viewId, 1);
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
@ -519,6 +519,42 @@ export class AskView extends LitElement {
 | 
			
		||||
            color: rgba(255, 255, 255, 0.5);
 | 
			
		||||
            font-size: 14px;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /* ────────────────[ GLASS BYPASS ]─────────────── */
 | 
			
		||||
        :host-context(body.has-glass) .ask-container,
 | 
			
		||||
        :host-context(body.has-glass) .response-header,
 | 
			
		||||
        :host-context(body.has-glass) .response-icon,
 | 
			
		||||
        :host-context(body.has-glass) .copy-button,
 | 
			
		||||
        :host-context(body.has-glass) .close-button,
 | 
			
		||||
        :host-context(body.has-glass) .line-copy-button,
 | 
			
		||||
        :host-context(body.has-glass) .text-input-container,
 | 
			
		||||
        :host-context(body.has-glass) .response-container pre,
 | 
			
		||||
        :host-context(body.has-glass) .response-container p code,
 | 
			
		||||
        :host-context(body.has-glass) .response-container pre code {
 | 
			
		||||
            background: transparent !important;
 | 
			
		||||
            border: none !important;
 | 
			
		||||
            outline: none !important;
 | 
			
		||||
            box-shadow: none !important;
 | 
			
		||||
            filter: none !important;
 | 
			
		||||
            backdrop-filter: none !important;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        :host-context(body.has-glass) .ask-container::before {
 | 
			
		||||
            display: none !important;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        :host-context(body.has-glass) .copy-button:hover,
 | 
			
		||||
        :host-context(body.has-glass) .close-button:hover,
 | 
			
		||||
        :host-context(body.has-glass) .line-copy-button,
 | 
			
		||||
        :host-context(body.has-glass) .line-copy-button:hover,
 | 
			
		||||
        :host-context(body.has-glass) .response-line:hover {
 | 
			
		||||
            background: transparent !important;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        :host-context(body.has-glass) .response-container::-webkit-scrollbar-track,
 | 
			
		||||
        :host-context(body.has-glass) .response-container::-webkit-scrollbar-thumb {
 | 
			
		||||
            background: transparent !important;
 | 
			
		||||
        }
 | 
			
		||||
    `;
 | 
			
		||||
 | 
			
		||||
    constructor() {
 | 
			
		||||
 | 
			
		||||
@ -288,6 +288,134 @@ export class AssistantView extends LitElement {
 | 
			
		||||
            font-size: 10px;
 | 
			
		||||
            color: rgba(255, 255, 255, 0.7);
 | 
			
		||||
        }
 | 
			
		||||
        
 | 
			
		||||
        /* ────────────────[ GLASS BYPASS ]─────────────── */
 | 
			
		||||
        :host-context(body.has-glass) .assistant-container,
 | 
			
		||||
        :host-context(body.has-glass) .top-bar,
 | 
			
		||||
        :host-context(body.has-glass) .toggle-button,
 | 
			
		||||
        :host-context(body.has-glass) .copy-button,
 | 
			
		||||
        :host-context(body.has-glass) .transcription-container,
 | 
			
		||||
        :host-context(body.has-glass) .insights-container,
 | 
			
		||||
        :host-context(body.has-glass) .stt-message,
 | 
			
		||||
        :host-context(body.has-glass) .outline-item,
 | 
			
		||||
        :host-context(body.has-glass) .request-item,
 | 
			
		||||
        :host-context(body.has-glass) .markdown-content,
 | 
			
		||||
        :host-context(body.has-glass) .insights-container pre,
 | 
			
		||||
        :host-context(body.has-glass) .insights-container p code,
 | 
			
		||||
        :host-context(body.has-glass) .insights-container pre code {
 | 
			
		||||
            background: transparent !important;
 | 
			
		||||
            border: none !important;
 | 
			
		||||
            outline: none !important;
 | 
			
		||||
            box-shadow: none !important;
 | 
			
		||||
            filter: none !important;
 | 
			
		||||
            backdrop-filter: none !important;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        :host-context(body.has-glass) .assistant-container::before,
 | 
			
		||||
        :host-context(body.has-glass) .assistant-container::after {
 | 
			
		||||
            display: none !important;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        :host-context(body.has-glass) .toggle-button:hover,
 | 
			
		||||
        :host-context(body.has-glass) .copy-button:hover,
 | 
			
		||||
        :host-context(body.has-glass) .outline-item:hover,
 | 
			
		||||
        :host-context(body.has-glass) .request-item.clickable:hover,
 | 
			
		||||
        :host-context(body.has-glass) .markdown-content:hover {
 | 
			
		||||
            background: transparent !important;
 | 
			
		||||
            transform: none !important;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        :host-context(body.has-glass) .transcription-container::-webkit-scrollbar-track,
 | 
			
		||||
        :host-context(body.has-glass) .transcription-container::-webkit-scrollbar-thumb,
 | 
			
		||||
        :host-context(body.has-glass) .insights-container::-webkit-scrollbar-track,
 | 
			
		||||
        :host-context(body.has-glass) .insights-container::-webkit-scrollbar-thumb {
 | 
			
		||||
            background: transparent !important;
 | 
			
		||||
        }
 | 
			
		||||
        :host-context(body.has-glass) * {
 | 
			
		||||
            animation: none !important;
 | 
			
		||||
            transition: none !important;
 | 
			
		||||
            transform: none !important;
 | 
			
		||||
            filter: none !important;
 | 
			
		||||
            backdrop-filter: none !important;
 | 
			
		||||
            box-shadow: none !important;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        :host-context(body.has-glass) .assistant-container,
 | 
			
		||||
        :host-context(body.has-glass) .stt-message,
 | 
			
		||||
        :host-context(body.has-glass) .toggle-button,
 | 
			
		||||
        :host-context(body.has-glass) .copy-button {
 | 
			
		||||
            border-radius: 0 !important;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        :host-context(body.has-glass) ::-webkit-scrollbar,
 | 
			
		||||
        :host-context(body.has-glass) ::-webkit-scrollbar-track,
 | 
			
		||||
        :host-context(body.has-glass) ::-webkit-scrollbar-thumb {
 | 
			
		||||
            background: transparent !important;
 | 
			
		||||
            width: 0 !important;      /* 스크롤바 자체 숨기기 */
 | 
			
		||||
        }
 | 
			
		||||
        :host-context(body.has-glass) .assistant-container,
 | 
			
		||||
        :host-context(body.has-glass) .top-bar,
 | 
			
		||||
        :host-context(body.has-glass) .toggle-button,
 | 
			
		||||
        :host-context(body.has-glass) .copy-button,
 | 
			
		||||
        :host-context(body.has-glass) .transcription-container,
 | 
			
		||||
        :host-context(body.has-glass) .insights-container,
 | 
			
		||||
        :host-context(body.has-glass) .stt-message,
 | 
			
		||||
        :host-context(body.has-glass) .outline-item,
 | 
			
		||||
        :host-context(body.has-glass) .request-item,
 | 
			
		||||
        :host-context(body.has-glass) .markdown-content,
 | 
			
		||||
        :host-context(body.has-glass) .insights-container pre,
 | 
			
		||||
        :host-context(body.has-glass) .insights-container p code,
 | 
			
		||||
        :host-context(body.has-glass) .insights-container pre code {
 | 
			
		||||
            background: transparent !important;
 | 
			
		||||
            border: none !important;
 | 
			
		||||
            outline: none !important;
 | 
			
		||||
            box-shadow: none !important;
 | 
			
		||||
            filter: none !important;
 | 
			
		||||
            backdrop-filter: none !important;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        :host-context(body.has-glass) .assistant-container::before,
 | 
			
		||||
        :host-context(body.has-glass) .assistant-container::after {
 | 
			
		||||
            display: none !important;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        :host-context(body.has-glass) .toggle-button:hover,
 | 
			
		||||
        :host-context(body.has-glass) .copy-button:hover,
 | 
			
		||||
        :host-context(body.has-glass) .outline-item:hover,
 | 
			
		||||
        :host-context(body.has-glass) .request-item.clickable:hover,
 | 
			
		||||
        :host-context(body.has-glass) .markdown-content:hover {
 | 
			
		||||
            background: transparent !important;
 | 
			
		||||
            transform: none !important;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        :host-context(body.has-glass) .transcription-container::-webkit-scrollbar-track,
 | 
			
		||||
        :host-context(body.has-glass) .transcription-container::-webkit-scrollbar-thumb,
 | 
			
		||||
        :host-context(body.has-glass) .insights-container::-webkit-scrollbar-track,
 | 
			
		||||
        :host-context(body.has-glass) .insights-container::-webkit-scrollbar-thumb {
 | 
			
		||||
            background: transparent !important;
 | 
			
		||||
        }
 | 
			
		||||
        :host-context(body.has-glass) * {
 | 
			
		||||
            animation: none !important;
 | 
			
		||||
            transition: none !important;
 | 
			
		||||
            transform: none !important;
 | 
			
		||||
            filter: none !important;
 | 
			
		||||
            backdrop-filter: none !important;
 | 
			
		||||
            box-shadow: none !important;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        :host-context(body.has-glass) .assistant-container,
 | 
			
		||||
        :host-context(body.has-glass) .stt-message,
 | 
			
		||||
        :host-context(body.has-glass) .toggle-button,
 | 
			
		||||
        :host-context(body.has-glass) .copy-button {
 | 
			
		||||
            border-radius: 0 !important;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        :host-context(body.has-glass) ::-webkit-scrollbar,
 | 
			
		||||
        :host-context(body.has-glass) ::-webkit-scrollbar-track,
 | 
			
		||||
        :host-context(body.has-glass) ::-webkit-scrollbar-thumb {
 | 
			
		||||
            background: transparent !important;
 | 
			
		||||
            width: 0 !important;
 | 
			
		||||
        }
 | 
			
		||||
    `;
 | 
			
		||||
 | 
			
		||||
    static properties = {
 | 
			
		||||
 | 
			
		||||
@ -66,7 +66,27 @@ export class ShortcutSettingsView extends LitElement {
 | 
			
		||||
        .settings-button.primary:hover{background:rgba(0,122,255,.35);}
 | 
			
		||||
        .settings-button.danger{background:rgba(255,59,48,.1);border-color:rgba(255,59,48,.3);
 | 
			
		||||
            color:rgba(255,59,48,.9);}
 | 
			
		||||
        .settings-button.danger:hover{background:rgba(255,59,48,.15);}
 | 
			
		||||
        .settings-button.danger:hover{background:rgba(255,59,48,.15);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /* ────────────────[ GLASS BYPASS ]─────────────── */
 | 
			
		||||
        :host-context(body.has-glass) {
 | 
			
		||||
          animation: none !important;
 | 
			
		||||
          transition: none !important;
 | 
			
		||||
          transform: none !important;
 | 
			
		||||
          will-change: auto !important;
 | 
			
		||||
        }
 | 
			
		||||
        :host-context(body.has-glass) * {
 | 
			
		||||
          background: transparent !important;   /* 요청한 투명 처리 */
 | 
			
		||||
          filter: none !important;
 | 
			
		||||
          backdrop-filter: none !important;
 | 
			
		||||
          box-shadow: none !important;
 | 
			
		||||
          outline: none !important;
 | 
			
		||||
          border: none !important;
 | 
			
		||||
          border-radius: 0 !important;
 | 
			
		||||
          transition: none !important;
 | 
			
		||||
          animation: none !important;
 | 
			
		||||
        }
 | 
			
		||||
    `;
 | 
			
		||||
 | 
			
		||||
    static properties = {
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user