mirror of
https://github.com/better-auth/better-auth.git
synced 2026-05-26 00:46:44 -05:00
chore: lint
This commit is contained in:
@@ -53,22 +53,22 @@ export function ChangelogContent({ messages }: { messages: ReleaseMessage[] }) {
|
||||
<Markdown
|
||||
rehypePlugins={[[rehypeHighlight]]}
|
||||
components={{
|
||||
h2: ({ children, ...props }) => (
|
||||
<h2
|
||||
className="text-base font-medium tracking-tight text-neutral-800 dark:text-neutral-200 mt-4 mb-2"
|
||||
{...props}
|
||||
>
|
||||
{children}
|
||||
</h2>
|
||||
),
|
||||
h3: ({ children, ...props }) => (
|
||||
<h3
|
||||
className="text-sm font-medium text-neutral-700 dark:text-neutral-300 mt-3 mb-1.5 pb-1 border-b border-dashed border-foreground/[0.06]"
|
||||
{...props}
|
||||
>
|
||||
{children}
|
||||
</h3>
|
||||
),
|
||||
h2: ({ children, ...props }) => (
|
||||
<h2
|
||||
className="text-base font-medium tracking-tight text-neutral-800 dark:text-neutral-200 mt-4 mb-2"
|
||||
{...props}
|
||||
>
|
||||
{children}
|
||||
</h2>
|
||||
),
|
||||
h3: ({ children, ...props }) => (
|
||||
<h3
|
||||
className="text-sm font-medium text-neutral-700 dark:text-neutral-300 mt-3 mb-1.5 pb-1 border-b border-dashed border-foreground/[0.06]"
|
||||
{...props}
|
||||
>
|
||||
{children}
|
||||
</h3>
|
||||
),
|
||||
p: (props) => (
|
||||
<p
|
||||
className="text-xs text-neutral-500 dark:text-neutral-400 leading-relaxed my-1"
|
||||
|
||||
@@ -53,10 +53,10 @@ function EnterpriseHero() {
|
||||
}}
|
||||
className="flex items-center gap-2 py-1.5 border-b border-dashed border-foreground/[0.06] last:border-0"
|
||||
>
|
||||
<span className="text-foreground/40 dark:text-foreground/35 font-mono text-[10px] leading-none select-none shrink-0">
|
||||
+
|
||||
</span>
|
||||
<span className="text-[11px] text-foreground/65 dark:text-foreground/55 font-mono tracking-wide">
|
||||
<span className="text-foreground/40 dark:text-foreground/35 font-mono text-[10px] leading-none select-none shrink-0">
|
||||
+
|
||||
</span>
|
||||
<span className="text-[11px] text-foreground/65 dark:text-foreground/55 font-mono tracking-wide">
|
||||
{item}
|
||||
</span>
|
||||
</motion.div>
|
||||
@@ -278,23 +278,23 @@ export function EnterprisePageClient() {
|
||||
</button>
|
||||
</form>
|
||||
|
||||
<p className="mt-4 text-foreground/40 dark:text-foreground/30 text-[10px] leading-relaxed">
|
||||
By submitting, you agree to our{" "}
|
||||
<Link
|
||||
href="/terms"
|
||||
className="underline hover:text-foreground/55"
|
||||
>
|
||||
Terms of Service
|
||||
</Link>{" "}
|
||||
and{" "}
|
||||
<Link
|
||||
href="/privacy"
|
||||
className="underline hover:text-foreground/55"
|
||||
>
|
||||
Privacy Policy
|
||||
</Link>
|
||||
.
|
||||
</p>
|
||||
<p className="mt-4 text-foreground/40 dark:text-foreground/30 text-[10px] leading-relaxed">
|
||||
By submitting, you agree to our{" "}
|
||||
<Link
|
||||
href="/terms"
|
||||
className="underline hover:text-foreground/55"
|
||||
>
|
||||
Terms of Service
|
||||
</Link>{" "}
|
||||
and{" "}
|
||||
<Link
|
||||
href="/privacy"
|
||||
className="underline hover:text-foreground/55"
|
||||
>
|
||||
Privacy Policy
|
||||
</Link>
|
||||
.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</motion.div>
|
||||
|
||||
@@ -2,10 +2,7 @@
|
||||
|
||||
import { motion } from "framer-motion";
|
||||
import { HalftoneBackground } from "@/components/landing/halftone-bg";
|
||||
import {
|
||||
FrameworkContent,
|
||||
FrameworkHero,
|
||||
} from "../products/products-client";
|
||||
import { FrameworkContent, FrameworkHero } from "../products/products-client";
|
||||
|
||||
export default function FrameworkPage() {
|
||||
return (
|
||||
|
||||
@@ -656,7 +656,11 @@ html:not([data-anchor-scrolling]) {
|
||||
|
||||
@media (min-width: 64rem) {
|
||||
.docs-layout {
|
||||
--fd-page-width: calc(100vw - var(--landing-left-pane-width) - var(--staggered-nav-cta-width));
|
||||
--fd-page-width: calc(
|
||||
100vw -
|
||||
var(--landing-left-pane-width) -
|
||||
var(--staggered-nav-cta-width)
|
||||
);
|
||||
}
|
||||
|
||||
.docs-layout #nd-page {
|
||||
|
||||
@@ -1194,17 +1194,17 @@ export function AiNativeSection() {
|
||||
<div className="mt-8">
|
||||
<div className="flex items-center gap-3 mb-3">
|
||||
<div className="flex-1 border-t border-foreground/[0.06]" />
|
||||
<span className="text-[10px] text-foreground/70 dark:text-foreground/55 font-mono tracking-wider uppercase shrink-0">
|
||||
AI Native
|
||||
</span>
|
||||
<span className="text-[10px] text-foreground/70 dark:text-foreground/55 font-mono tracking-wider uppercase shrink-0">
|
||||
AI Native
|
||||
</span>
|
||||
</div>
|
||||
<p className="text-[14px] text-foreground/80 dark:text-foreground/70 leading-[1.9] mb-5">
|
||||
Your auth lives in{" "}
|
||||
<span className="text-foreground/90 dark:text-foreground/80">
|
||||
your codebase
|
||||
</span>{" "}
|
||||
— so AI can configure it. Ships with{" "}
|
||||
<span className="inline-flex items-center gap-1 text-foreground/90 dark:text-foreground/80">
|
||||
<p className="text-[14px] text-foreground/80 dark:text-foreground/70 leading-[1.9] mb-5">
|
||||
Your auth lives in{" "}
|
||||
<span className="text-foreground/90 dark:text-foreground/80">
|
||||
your codebase
|
||||
</span>{" "}
|
||||
— so AI can configure it. Ships with{" "}
|
||||
<span className="inline-flex items-center gap-1 text-foreground/90 dark:text-foreground/80">
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="11"
|
||||
@@ -1227,10 +1227,10 @@ export function AiNativeSection() {
|
||||
<path d="M6 18a4 4 0 0 1-1.967-.516" />
|
||||
<path d="M19.967 17.484A4 4 0 0 1 18 18" />
|
||||
</svg>
|
||||
MCP server
|
||||
</span>
|
||||
,{" "}
|
||||
<span className="inline-flex items-center gap-1 text-foreground/90 dark:text-foreground/80">
|
||||
MCP server
|
||||
</span>
|
||||
,{" "}
|
||||
<span className="inline-flex items-center gap-1 text-foreground/90 dark:text-foreground/80">
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="11"
|
||||
@@ -1246,10 +1246,10 @@ export function AiNativeSection() {
|
||||
<polyline points="4 17 10 11 4 5" />
|
||||
<line x1="12" x2="20" y1="19" y2="19" />
|
||||
</svg>
|
||||
Claude Code skills
|
||||
</span>
|
||||
, and{" "}
|
||||
<span className="inline-flex items-center gap-1 text-foreground/90 dark:text-foreground/80">
|
||||
Claude Code skills
|
||||
</span>
|
||||
, and{" "}
|
||||
<span className="inline-flex items-center gap-1 text-foreground/90 dark:text-foreground/80">
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="11"
|
||||
@@ -1273,12 +1273,12 @@ export function AiNativeSection() {
|
||||
<div className="border border-dashed border-foreground/[0.08] overflow-hidden">
|
||||
{/* Prompt line */}
|
||||
<div className="flex items-center gap-2 px-3 py-2 border-b border-foreground/[0.06] bg-foreground/[0.015]">
|
||||
<span className="text-foreground/50 font-mono text-xs select-none">
|
||||
›
|
||||
</span>
|
||||
<span className="text-[11px] font-mono text-foreground/80 dark:text-foreground/70">
|
||||
Add Google login and 2FA to my app
|
||||
</span>
|
||||
<span className="text-foreground/50 font-mono text-xs select-none">
|
||||
›
|
||||
</span>
|
||||
<span className="text-[11px] font-mono text-foreground/80 dark:text-foreground/70">
|
||||
Add Google login and 2FA to my app
|
||||
</span>
|
||||
</div>
|
||||
|
||||
{/* Steps */}
|
||||
@@ -1288,12 +1288,12 @@ export function AiNativeSection() {
|
||||
key={step.text}
|
||||
className="flex items-center gap-2.5 px-3 py-1.5"
|
||||
>
|
||||
<span className="text-[8px] font-mono uppercase tracking-wider text-foreground/60 dark:text-foreground/50 w-8 shrink-0">
|
||||
{step.label}
|
||||
</span>
|
||||
<span className="text-[10px] font-mono text-foreground/75 dark:text-foreground/65 truncate">
|
||||
{step.text}
|
||||
</span>
|
||||
<span className="text-[8px] font-mono uppercase tracking-wider text-foreground/60 dark:text-foreground/50 w-8 shrink-0">
|
||||
{step.label}
|
||||
</span>
|
||||
<span className="text-[10px] font-mono text-foreground/75 dark:text-foreground/65 truncate">
|
||||
{step.text}
|
||||
</span>
|
||||
{"lines" in step && typeof step.lines === "number" && (
|
||||
<span className="text-[9px] font-mono text-emerald-600/80 dark:text-emerald-400/70 ml-auto shrink-0">
|
||||
+{step.lines}
|
||||
@@ -1323,12 +1323,12 @@ export function AiNativeSection() {
|
||||
<div className="flex divide-x divide-foreground/[0.06]">
|
||||
{mcpClients.map((mc) => (
|
||||
<div key={mc.name} className="flex-1 px-3 py-2">
|
||||
<p className="text-[8px] font-mono uppercase tracking-wider text-foreground/55 dark:text-foreground/45 mb-0.5">
|
||||
{mc.name}
|
||||
</p>
|
||||
<code className="text-[9px] font-mono text-foreground/70 dark:text-foreground/55 truncate block">
|
||||
{mc.cmd}
|
||||
</code>
|
||||
<p className="text-[8px] font-mono uppercase tracking-wider text-foreground/55 dark:text-foreground/45 mb-0.5">
|
||||
{mc.name}
|
||||
</p>
|
||||
<code className="text-[9px] font-mono text-foreground/70 dark:text-foreground/55 truncate block">
|
||||
{mc.cmd}
|
||||
</code>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
|
||||
@@ -196,7 +196,10 @@ export function HalftoneBackground() {
|
||||
className="absolute inset-0 overflow-hidden bg-background"
|
||||
aria-hidden="true"
|
||||
>
|
||||
<canvas ref={canvasRef} className="w-full h-full invert opacity-50 dark:invert-0 dark:opacity-100" />
|
||||
<canvas
|
||||
ref={canvasRef}
|
||||
className="w-full h-full invert opacity-50 dark:invert-0 dark:opacity-100"
|
||||
/>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -275,42 +275,42 @@ export function StaggeredNavFiles() {
|
||||
);
|
||||
})}
|
||||
|
||||
{/* Enterprise tab */}
|
||||
<motion.div
|
||||
initial={{ opacity: 0, y: -4 }}
|
||||
animate={{ opacity: 1, y: 0 }}
|
||||
transition={{
|
||||
duration: 0.2,
|
||||
delay: 0.155,
|
||||
ease: "easeOut",
|
||||
}}
|
||||
className="flex-1"
|
||||
>
|
||||
<Link
|
||||
href="/enterprise"
|
||||
className={`group/tab relative flex items-center justify-center gap-1.5 px-2 xl:px-4 py-3 h-full border-r ${tabDividerClass} transition-colors duration-150 ${
|
||||
isActive("/enterprise")
|
||||
? `bg-background border-b-2 ${activeTabBorderClass}`
|
||||
: "bg-transparent hover:bg-foreground/[0.03]"
|
||||
}`}
|
||||
{/* Enterprise tab */}
|
||||
<motion.div
|
||||
initial={{ opacity: 0, y: -4 }}
|
||||
animate={{ opacity: 1, y: 0 }}
|
||||
transition={{
|
||||
duration: 0.2,
|
||||
delay: 0.155,
|
||||
ease: "easeOut",
|
||||
}}
|
||||
className="flex-1"
|
||||
>
|
||||
<span
|
||||
className={`font-mono text-xs uppercase tracking-wider transition-colors duration-150 whitespace-nowrap ${
|
||||
<Link
|
||||
href="/enterprise"
|
||||
className={`group/tab relative flex items-center justify-center gap-1.5 px-2 xl:px-4 py-3 h-full border-r ${tabDividerClass} transition-colors duration-150 ${
|
||||
isActive("/enterprise")
|
||||
? "text-foreground"
|
||||
: "text-foreground/65 dark:text-foreground/50 group-hover/tab:text-foreground/75"
|
||||
? `bg-background border-b-2 ${activeTabBorderClass}`
|
||||
: "bg-transparent hover:bg-foreground/[0.03]"
|
||||
}`}
|
||||
>
|
||||
enterprise
|
||||
</span>
|
||||
</Link>
|
||||
</motion.div>
|
||||
<span
|
||||
className={`font-mono text-xs uppercase tracking-wider transition-colors duration-150 whitespace-nowrap ${
|
||||
isActive("/enterprise")
|
||||
? "text-foreground"
|
||||
: "text-foreground/65 dark:text-foreground/50 group-hover/tab:text-foreground/75"
|
||||
}`}
|
||||
>
|
||||
enterprise
|
||||
</span>
|
||||
</Link>
|
||||
</motion.div>
|
||||
|
||||
{/* Resources folder tab */}
|
||||
<motion.div
|
||||
initial={{ opacity: 0, y: -4 }}
|
||||
animate={{ opacity: 1, y: 0 }}
|
||||
transition={{ duration: 0.2, delay: 0.17, ease: "easeOut" }}
|
||||
{/* Resources folder tab */}
|
||||
<motion.div
|
||||
initial={{ opacity: 0, y: -4 }}
|
||||
animate={{ opacity: 1, y: 0 }}
|
||||
transition={{ duration: 0.2, delay: 0.17, ease: "easeOut" }}
|
||||
className="relative flex-1"
|
||||
onMouseEnter={openResources}
|
||||
onMouseLeave={closeResources}
|
||||
|
||||
Reference in New Issue
Block a user