|
|
|
|
@@ -111,7 +111,7 @@ export default function SettingsRoute() {
|
|
|
|
|
{/* Gradient overlay for left side - only visible on mobile when scrolled */}
|
|
|
|
|
<div
|
|
|
|
|
className={cx(
|
|
|
|
|
"pointer-events-none absolute inset-y-0 left-0 z-10 w-8 bg-gradient-to-r from-white to-transparent transition-opacity duration-300 ease-in-out md:hidden dark:from-slate-900",
|
|
|
|
|
"pointer-events-none absolute inset-y-0 left-0 z-10 w-8 bg-linear-to-r from-white to-transparent transition-opacity duration-300 ease-in-out md:hidden dark:from-slate-900",
|
|
|
|
|
{
|
|
|
|
|
"opacity-0": !showLeftGradient,
|
|
|
|
|
"opacity-100": showLeftGradient,
|
|
|
|
|
@@ -121,7 +121,7 @@ export default function SettingsRoute() {
|
|
|
|
|
{/* Gradient overlay for right side - only visible on mobile when there's more content */}
|
|
|
|
|
<div
|
|
|
|
|
className={cx(
|
|
|
|
|
"pointer-events-none absolute inset-y-0 right-0 z-10 w-8 bg-gradient-to-l from-white to-transparent transition duration-300 ease-in-out md:hidden dark:from-slate-900",
|
|
|
|
|
"pointer-events-none absolute inset-y-0 right-0 z-10 w-8 bg-linear-to-l from-white to-transparent transition duration-300 ease-in-out md:hidden dark:from-slate-900",
|
|
|
|
|
{
|
|
|
|
|
"opacity-0": !showRightGradient,
|
|
|
|
|
"opacity-100": showRightGradient,
|
|
|
|
|
@@ -137,7 +137,7 @@ export default function SettingsRoute() {
|
|
|
|
|
to="general"
|
|
|
|
|
className={({ isActive }) => (isActive ? "active" : "")}
|
|
|
|
|
>
|
|
|
|
|
<div className="flex items-center gap-x-2 rounded-md px-2.5 py-2.5 text-sm transition-colors hover:bg-slate-100 dark:hover:bg-slate-700 [.active_&]:bg-blue-50 [.active_&]:!text-blue-700 md:[.active_&]:bg-transparent dark:[.active_&]:bg-blue-900 dark:[.active_&]:!text-blue-200 dark:md:[.active_&]:bg-transparent">
|
|
|
|
|
<div className="flex items-center gap-x-2 rounded-md px-2.5 py-2.5 text-sm transition-colors hover:bg-slate-100 dark:hover:bg-slate-700 in-[.active]:bg-blue-50 in-[.active]:text-blue-700! md:in-[.active]:bg-transparent dark:in-[.active]:bg-blue-900 dark:in-[.active]:text-blue-200! dark:md:in-[.active]:bg-transparent">
|
|
|
|
|
<LuSettings className="h-4 w-4 shrink-0" />
|
|
|
|
|
<h1>General</h1>
|
|
|
|
|
</div>
|
|
|
|
|
@@ -148,7 +148,7 @@ export default function SettingsRoute() {
|
|
|
|
|
to="mouse"
|
|
|
|
|
className={({ isActive }) => (isActive ? "active" : "")}
|
|
|
|
|
>
|
|
|
|
|
<div className="flex items-center gap-x-2 rounded-md px-2.5 py-2.5 text-sm transition-colors hover:bg-slate-100 dark:hover:bg-slate-700 [.active_&]:bg-blue-50 [.active_&]:!text-blue-700 md:[.active_&]:bg-transparent dark:[.active_&]:bg-blue-900 dark:[.active_&]:!text-blue-200 dark:md:[.active_&]:bg-transparent">
|
|
|
|
|
<div className="flex items-center gap-x-2 rounded-md px-2.5 py-2.5 text-sm transition-colors hover:bg-slate-100 dark:hover:bg-slate-700 in-[.active]:bg-blue-50 in-[.active]:text-blue-700! md:in-[.active]:bg-transparent dark:in-[.active]:bg-blue-900 dark:in-[.active]:text-blue-200! dark:md:in-[.active]:bg-transparent">
|
|
|
|
|
<LuKeyboard className="h-4 w-4 shrink-0" />
|
|
|
|
|
<h1>Mouse</h1>
|
|
|
|
|
</div>
|
|
|
|
|
@@ -159,7 +159,7 @@ export default function SettingsRoute() {
|
|
|
|
|
to="video"
|
|
|
|
|
className={({ isActive }) => (isActive ? "active" : "")}
|
|
|
|
|
>
|
|
|
|
|
<div className="flex items-center gap-x-2 rounded-md px-2.5 py-2.5 text-sm transition-colors hover:bg-slate-100 dark:hover:bg-slate-700 [.active_&]:bg-blue-50 [.active_&]:!text-blue-700 md:[.active_&]:bg-transparent dark:[.active_&]:bg-blue-900 dark:[.active_&]:!text-blue-200 dark:md:[.active_&]:bg-transparent">
|
|
|
|
|
<div className="flex items-center gap-x-2 rounded-md px-2.5 py-2.5 text-sm transition-colors hover:bg-slate-100 dark:hover:bg-slate-700 in-[.active]:bg-blue-50 in-[.active]:text-blue-700! md:in-[.active]:bg-transparent dark:in-[.active]:bg-blue-900 dark:in-[.active]:text-blue-200! dark:md:in-[.active]:bg-transparent">
|
|
|
|
|
<LuVideo className="h-4 w-4 shrink-0" />
|
|
|
|
|
<h1>Video</h1>
|
|
|
|
|
</div>
|
|
|
|
|
@@ -170,7 +170,7 @@ export default function SettingsRoute() {
|
|
|
|
|
to="hardware"
|
|
|
|
|
className={({ isActive }) => (isActive ? "active" : "")}
|
|
|
|
|
>
|
|
|
|
|
<div className="flex items-center gap-x-2 rounded-md px-2.5 py-2.5 text-sm transition-colors hover:bg-slate-100 dark:hover:bg-slate-700 [.active_&]:bg-blue-50 [.active_&]:!text-blue-700 md:[.active_&]:bg-transparent dark:[.active_&]:bg-blue-900 dark:[.active_&]:!text-blue-200 dark:md:[.active_&]:bg-transparent">
|
|
|
|
|
<div className="flex items-center gap-x-2 rounded-md px-2.5 py-2.5 text-sm transition-colors hover:bg-slate-100 dark:hover:bg-slate-700 in-[.active]:bg-blue-50 in-[.active]:text-blue-700! md:in-[.active]:bg-transparent dark:in-[.active]:bg-blue-900 dark:in-[.active]:text-blue-200! dark:md:in-[.active]:bg-transparent">
|
|
|
|
|
<LuCpu className="h-4 w-4 shrink-0" />
|
|
|
|
|
<h1>Hardware</h1>
|
|
|
|
|
</div>
|
|
|
|
|
@@ -181,7 +181,7 @@ export default function SettingsRoute() {
|
|
|
|
|
to="access"
|
|
|
|
|
className={({ isActive }) => (isActive ? "active" : "")}
|
|
|
|
|
>
|
|
|
|
|
<div className="flex items-center gap-x-2 rounded-md px-2.5 py-2.5 text-sm transition-colors hover:bg-slate-100 dark:hover:bg-slate-700 [.active_&]:bg-blue-50 [.active_&]:!text-blue-700 md:[.active_&]:bg-transparent dark:[.active_&]:bg-blue-900 dark:[.active_&]:!text-blue-200 dark:md:[.active_&]:bg-transparent">
|
|
|
|
|
<div className="flex items-center gap-x-2 rounded-md px-2.5 py-2.5 text-sm transition-colors hover:bg-slate-100 dark:hover:bg-slate-700 in-[.active]:bg-blue-50 in-[.active]:text-blue-700! md:in-[.active]:bg-transparent dark:in-[.active]:bg-blue-900 dark:in-[.active]:text-blue-200! dark:md:in-[.active]:bg-transparent">
|
|
|
|
|
<LuShieldCheck className="h-4 w-4 shrink-0" />
|
|
|
|
|
<h1>Access</h1>
|
|
|
|
|
</div>
|
|
|
|
|
@@ -192,7 +192,7 @@ export default function SettingsRoute() {
|
|
|
|
|
to="appearance"
|
|
|
|
|
className={({ isActive }) => (isActive ? "active" : "")}
|
|
|
|
|
>
|
|
|
|
|
<div className="flex items-center gap-x-2 rounded-md px-2.5 py-2.5 text-sm transition-colors hover:bg-slate-100 dark:hover:bg-slate-700 [.active_&]:bg-blue-50 [.active_&]:!text-blue-700 md:[.active_&]:bg-transparent dark:[.active_&]:bg-blue-900 dark:[.active_&]:!text-blue-200 dark:md:[.active_&]:bg-transparent">
|
|
|
|
|
<div className="flex items-center gap-x-2 rounded-md px-2.5 py-2.5 text-sm transition-colors hover:bg-slate-100 dark:hover:bg-slate-700 in-[.active]:bg-blue-50 in-[.active]:text-blue-700! md:in-[.active]:bg-transparent dark:in-[.active]:bg-blue-900 dark:in-[.active]:text-blue-200! dark:md:in-[.active]:bg-transparent">
|
|
|
|
|
<LuPalette className="h-4 w-4 shrink-0" />
|
|
|
|
|
<h1>Appearance</h1>
|
|
|
|
|
</div>
|
|
|
|
|
@@ -203,7 +203,7 @@ export default function SettingsRoute() {
|
|
|
|
|
to="macros"
|
|
|
|
|
className={({ isActive }) => (isActive ? "active" : "")}
|
|
|
|
|
>
|
|
|
|
|
<div className="flex items-center gap-x-2 rounded-md px-2.5 py-2.5 text-sm transition-colors hover:bg-slate-100 dark:hover:bg-slate-700 [.active_&]:bg-blue-50 [.active_&]:!text-blue-700 md:[.active_&]:bg-transparent dark:[.active_&]:bg-blue-900 dark:[.active_&]:!text-blue-200 dark:md:[.active_&]:bg-transparent">
|
|
|
|
|
<div className="flex items-center gap-x-2 rounded-md px-2.5 py-2.5 text-sm transition-colors hover:bg-slate-100 dark:hover:bg-slate-700 in-[.active]:bg-blue-50 in-[.active]:text-blue-700! md:in-[.active]:bg-transparent dark:in-[.active]:bg-blue-900 dark:in-[.active]:text-blue-200! dark:md:in-[.active]:bg-transparent">
|
|
|
|
|
<LuCommand className="h-4 w-4 shrink-0" />
|
|
|
|
|
<h1>Keyboard Macros</h1>
|
|
|
|
|
</div>
|
|
|
|
|
@@ -214,7 +214,7 @@ export default function SettingsRoute() {
|
|
|
|
|
to="network"
|
|
|
|
|
className={({ isActive }) => (isActive ? "active" : "")}
|
|
|
|
|
>
|
|
|
|
|
<div className="flex items-center gap-x-2 rounded-md px-2.5 py-2.5 text-sm transition-colors hover:bg-slate-100 dark:hover:bg-slate-700 [.active_&]:bg-blue-50 [.active_&]:!text-blue-700 md:[.active_&]:bg-transparent dark:[.active_&]:bg-blue-900 dark:[.active_&]:!text-blue-200 dark:md:[.active_&]:bg-transparent">
|
|
|
|
|
<div className="flex items-center gap-x-2 rounded-md px-2.5 py-2.5 text-sm transition-colors hover:bg-slate-100 dark:hover:bg-slate-700 in-[.active]:bg-blue-50 in-[.active]:text-blue-700! md:in-[.active]:bg-transparent dark:in-[.active]:bg-blue-900 dark:in-[.active]:text-blue-200! dark:md:in-[.active]:bg-transparent">
|
|
|
|
|
<LuNetwork className="h-4 w-4 shrink-0" />
|
|
|
|
|
<h1>Network</h1>
|
|
|
|
|
</div>
|
|
|
|
|
@@ -225,7 +225,7 @@ export default function SettingsRoute() {
|
|
|
|
|
to="advanced"
|
|
|
|
|
className={({ isActive }) => (isActive ? "active" : "")}
|
|
|
|
|
>
|
|
|
|
|
<div className="flex items-center gap-x-2 rounded-md px-2.5 py-2.5 text-sm transition-colors hover:bg-slate-100 dark:hover:bg-slate-700 [.active_&]:bg-blue-50 [.active_&]:!text-blue-700 md:[.active_&]:bg-transparent dark:[.active_&]:bg-blue-900 dark:[.active_&]:!text-blue-200 dark:md:[.active_&]:bg-transparent">
|
|
|
|
|
<div className="flex items-center gap-x-2 rounded-md px-2.5 py-2.5 text-sm transition-colors hover:bg-slate-100 dark:hover:bg-slate-700 in-[.active]:bg-blue-50 in-[.active]:text-blue-700! md:in-[.active]:bg-transparent dark:in-[.active]:bg-blue-900 dark:in-[.active]:text-blue-200! dark:md:in-[.active]:bg-transparent">
|
|
|
|
|
<LuWrench className="h-4 w-4 shrink-0" />
|
|
|
|
|
<h1>Advanced</h1>
|
|
|
|
|
</div>
|
|
|
|
|
|