Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 5 additions & 21 deletions components/ThemeManager.vue
Original file line number Diff line number Diff line change
Expand Up @@ -74,9 +74,7 @@ const THEME_OPTIONS = [
</script>

<style scoped lang="scss">
// Performance variables - computed once, reused everywhere
$transition-standard: 0.3s ease;
$transition-bounce: 0.3s cubic-bezier(0.68, -0.55, 0.27, 1.55);
$trans: 0.3s ease;
$border-accent: 1px solid hsla(var(--accent-hsl) / 0.2);
$blur-backdrop: blur(1rem);

Expand All @@ -99,7 +97,7 @@ $blur-backdrop: blur(1rem);
background-image: var(--c-bg-gradient);
backdrop-filter: $blur-backdrop;
cursor: pointer;
transition: transform $transition-standard, background $transition-standard, color $transition-standard;
transition: transform $trans, background $trans, color $trans;
width: var(--roller-size);
height: var(--roller-size);

Expand Down Expand Up @@ -128,7 +126,7 @@ $blur-backdrop: blur(1rem);
opacity: 0;
pointer-events: none;
clip-path: polygon(0 0, 100% 0, 100% 0, 0% 0);
transition: opacity $transition-standard, clip-path $transition-standard;
transition: opacity $trans, clip-path $trans;

button {
position: relative;
Expand All @@ -141,7 +139,7 @@ $blur-backdrop: blur(1rem);
border-radius: 50vw;
cursor: pointer;
transform: scale(0);
transition: transform $transition-bounce, color $transition-standard;
transition: transform 0.3s $easeInOutBack, color $trans;

// Tooltip optimization
&::after {
Expand All @@ -159,7 +157,7 @@ $blur-backdrop: blur(1rem);
border-radius: 50vw;
opacity: 0;
transform: translate(-50%, 0%) scale(0);
transition: opacity $transition-standard, transform $transition-standard;
transition: opacity $trans, transform $trans;
z-index: 2;
pointer-events: none;
}
Expand Down Expand Up @@ -192,18 +190,4 @@ $blur-backdrop: blur(1rem);
}
}
}

// Transition component optimization
.slideX {
&-enter-active,
&-leave-active {
transition: transform $transition-standard, opacity $transition-standard;
}

&-enter-from,
&-leave-to {
transform: translateX(100%);
opacity: 0;
}
}
</style>
3 changes: 2 additions & 1 deletion entrypoints/content.js
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
// import '@/styles/index.scss'
import '../styles/index.scss'
import { createApp } from 'vue'

import ThemeManager from '@/components/ThemeManager.vue'
import { useThemeManager } from '@/composables/useThemeManager'

export default defineContentScript({
matches: ['*://chat.deepseek.com/*'],
css: ['src/styles/index.scss'], // 👈 Use the same index.scss for content scripts

async main(ctx) {
// Force theme initialization before the UI mounts.
Expand Down
42 changes: 24 additions & 18 deletions styles/shared/_anims.scss → styles/abstract/_anims.scss
Original file line number Diff line number Diff line change
Expand Up @@ -27,10 +27,10 @@ $animations: (
"to": (opacity: 1)),
fadeOut: ("from": (opacity: 1),
"to": (opacity: 0)),
slideInLeft: ("from": (transform: translateX(-100%)),
"to": (transform: translateX(0))),
slideInRight: ("from": (transform: translateX(100%)),
"to": (transform: translateX(0))),
/* slideInLeft: ("from": (transform: translateX(-100%)),
"to": (transform: translateX(0))),
slideInTop: ("from": (transform: translateY(-100%)),
"to": (transform: translateY(0))),
slideInBottom: ("from": (transform: translateY(100%)),
Expand Down Expand Up @@ -86,7 +86,7 @@ $animations: (
rollIn: ("from": (opacity: 0, transform: translate3d(-100%, 0, 0) rotate(-120deg)),
"to": (opacity: 1, transform: translate3d(0, 0, 0))),
rollOut: ("from": (opacity: 1),
"to": (opacity: 0, transform: translate3d(100%, 0, 0) rotate(120deg)))
"to": (opacity: 0, transform: translate3d(100%, 0, 0) rotate(120deg))) */
);

// Loop Through Animations and Generate Classes
Expand All @@ -109,23 +109,29 @@ $animations: (


/* VUE ANIMS */
.fade-enter-active,
.fade-leave-active {
transition: opacity 0.2s ease;
}
.fade {

.fade-enter-from,
.fade-leave-to {
opacity: 0;
}
&-enter-active,
&-leave-active {
transition: opacity 0.2s ease;
}

.slideX-enter-active,
.slideX-leave-active {
transition: translate 0.2s ease-in-out, opacity 0.2s ease;
&-enter-from,
&-leave-to {
opacity: 0;
}
}

.slideX-enter-from,
.slideX-leave-to {
translate: 5rem 0;
opacity: 0;
.slideX {

&-enter-active,
&-leave-active {
transition: transform 0.3s ease, opacity 0.3s ease;
}

&-enter-from,
&-leave-to {
transform: translateX(100%);
opacity: 0;
}
}
6 changes: 5 additions & 1 deletion styles/shared/_easing.scss → styles/abstract/_easing.scss
Original file line number Diff line number Diff line change
Expand Up @@ -36,4 +36,8 @@ $easeInOutCirc: cubic-bezier(0.785, 0.135, 0.15, 0.86);
/* Back */
$easeInBack: cubic-bezier(0.6, -0.28, 0.735, 0.045);
$easeOutBack: cubic-bezier(0.175, 0.885, 0.32, 1.275);
$easeInOutBack: cubic-bezier(0.68, -0.55, 0.265, 1.55);
$easeInOutBack: cubic-bezier(0.68, -0.55, 0.265, 1.55);


/* TRANSITIONS */
$trans: 0.25s ease;
64 changes: 63 additions & 1 deletion styles/abstract/_extends.scss
Original file line number Diff line number Diff line change
Expand Up @@ -49,4 +49,66 @@
line-height: 1 !important;
padding: 0.32rem 0.6rem !important;
backdrop-filter: blur(5px);
}
}

%link_default {
position: relative;
text-decoration: none;
color: var(--c-accent) !important;
// display: inline-block;
transition: opacity 0.3s ease;

/* Style for the ::after pseudo-element (initially hidden) */
&::after {
content: '';
position: absolute;
width: 100%;
height: 1.5px;
bottom: -4px;
left: 0;
// right: 0; /* Set right to cover the entire link */
background-color: currentColor;
border-radius: 20px;
transition: transform 0.3s $easeOutCubic;
}
}

%link_hover_underlined {
@extend %link_default;

/* Style for the ::after pseudo-element (initially hidden) */
&::after {
transform: scaleX(1);
transform-origin: bottom left;
}

&:hover::after {
transform: scaleX(0);
transform-origin: bottom right;
}
}

%link_hover_underless {
@extend %link_default;

&::after {
transform: scaleX(0);
transform-origin: bottom right;
}

&:hover::after {
transform: scaleX(1);
transform-origin: bottom left;
}
}

// %center_grid {
// display: grid;
// place-items: center;
// }

// %center_flex {
// display: flex;
// justify-content: center;
// align-items: center;
// }
9 changes: 9 additions & 0 deletions styles/abstract/_index.scss
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
@import 'abstract/_bp';
@import 'abstract/_ds';
@import 'abstract/_root';
@import 'abstract/_light';
@import 'abstract/_dark';
@import 'abstract/_easing';
@import 'abstract/_anims';
@import 'abstract/_extends';
@import 'abstract/_mixins';
27 changes: 10 additions & 17 deletions styles/index.scss
Original file line number Diff line number Diff line change
@@ -1,14 +1,12 @@
@import 'abstract/_bp';
@import 'abstract/_ds';
@import 'abstract/_root';
// @import 'abstract/_vars';
@import 'abstract/_light';
@import 'abstract/_dark';
@import 'shared/_easing';
@import 'shared/_anims';
@import 'shared/_extends';
@import 'abstract/_extends';
@import 'abstract/_mixins';
// @import 'abstract/_bp';
// @import 'abstract/_ds';
// @import 'abstract/_root';
// @import 'abstract/_light';
// @import 'abstract/_dark';
// @import 'abstract/_easing';
// @import 'abstract/_anims';
// @import 'abstract/_extends';
// @import 'abstract/_mixins';

// @import 'dev/_mixins';

Expand Down Expand Up @@ -36,9 +34,4 @@
@import 'elements/_right--sticky';
@import 'elements/_right--textarea';

@import 'deepstyled/index';

/* DS */
@import 'abstract/_light.scss';
@import 'abstract/_dark.scss';
@import 'abstract/_ds.scss';
@import 'deepstyled/index';
11 changes: 11 additions & 0 deletions styles/shared.scss
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
@import 'abstract/_bp';
@import 'abstract/_ds';
@import 'abstract/_root';
@import 'abstract/_light';
@import 'abstract/_dark';
@import 'abstract/_easing';
@import 'abstract/_anims';
@import 'abstract/_extends';
@import 'abstract/_mixins';

@import 'dev/_mixins';
61 changes: 0 additions & 61 deletions styles/shared/_extends.scss

This file was deleted.

2 changes: 1 addition & 1 deletion wxt.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ export default defineConfig({
api: 'modern-compiler',
quietDeps: true,
silenceDeprecations: ['import'],
additionalData: `@import "@/styles/index.scss";`, // 👈 Auto-import SCSS
additionalData: `@import "@/styles/shared.scss";`, // 👈 Auto-import SCSS
},
},
},
Expand Down