mirror of
https://github.com/snapotter-hq/SnapOtter.git
synced 2026-08-03 07:46:42 +02:00
feat: premium gradient button with hover animation, redesign terminal with glow and macOS chrome
This commit is contained in:
@@ -139,9 +139,12 @@ export function Hero() {
|
|||||||
href="https://github.com/ashim-hq/ashim"
|
href="https://github.com/ashim-hq/ashim"
|
||||||
target="_blank"
|
target="_blank"
|
||||||
rel="noopener noreferrer"
|
rel="noopener noreferrer"
|
||||||
className="inline-flex items-center gap-2 rounded-xl bg-accent px-10 py-4 text-base font-semibold text-accent-foreground shadow-lg shadow-accent/20 transition-colors hover:bg-accent-hover"
|
className="group relative inline-flex items-center gap-2 overflow-hidden rounded-full bg-gradient-to-r from-amber-500 via-orange-500 to-amber-500 bg-[length:200%_100%] px-10 py-4 text-base font-semibold text-white shadow-[0_0_32px_-8px] shadow-amber-500/40 transition-all duration-500 hover:bg-[position:100%_0] hover:shadow-[0_0_40px_-4px] hover:shadow-amber-500/50"
|
||||||
>
|
>
|
||||||
Start Using It →
|
Get it for free
|
||||||
|
<span className="transition-transform duration-300 group-hover:translate-x-1">
|
||||||
|
→
|
||||||
|
</span>
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
</FadeIn>
|
</FadeIn>
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
"use client";
|
"use client";
|
||||||
|
|
||||||
import { Check, Copy } from "lucide-react";
|
import { Check, Copy, Terminal } from "lucide-react";
|
||||||
import { useState } from "react";
|
import { useState } from "react";
|
||||||
|
|
||||||
import { FadeIn } from "./fade-in";
|
import { FadeIn } from "./fade-in";
|
||||||
@@ -23,44 +23,62 @@ export function HowItWorks() {
|
|||||||
<FadeIn>
|
<FadeIn>
|
||||||
<p className="text-sm font-medium text-accent">Get started in seconds</p>
|
<p className="text-sm font-medium text-accent">Get started in seconds</p>
|
||||||
<h2 className="mt-2 text-2xl font-bold tracking-tight md:text-3xl">
|
<h2 className="mt-2 text-2xl font-bold tracking-tight md:text-3xl">
|
||||||
One command. That's it.
|
One command. That's it.
|
||||||
</h2>
|
</h2>
|
||||||
</FadeIn>
|
</FadeIn>
|
||||||
|
|
||||||
<FadeIn delay={0.1}>
|
<FadeIn delay={0.1}>
|
||||||
|
<div className="relative mx-auto mt-8 max-w-2xl">
|
||||||
|
<div className="absolute -inset-1 rounded-2xl bg-gradient-to-r from-amber-500/20 via-orange-500/10 to-amber-500/20 blur-lg" />
|
||||||
<button
|
<button
|
||||||
type="button"
|
type="button"
|
||||||
onClick={copyCommand}
|
onClick={copyCommand}
|
||||||
className="group relative mt-8 w-full cursor-pointer overflow-hidden rounded-xl border border-border bg-[#1e1e1e] text-left shadow-lg transition-all hover:border-accent/40"
|
className="group relative w-full cursor-pointer overflow-hidden rounded-2xl border border-white/10 bg-[#151515] text-left shadow-2xl transition-all hover:border-amber-500/30"
|
||||||
>
|
>
|
||||||
<div className="flex items-center gap-3 overflow-x-auto whitespace-nowrap px-5 py-4 font-mono text-xs md:text-sm">
|
<div className="flex items-center justify-between border-b border-white/[0.06] px-5 py-3">
|
||||||
<span className="text-green-400 shrink-0">$</span>
|
<div className="flex items-center gap-2">
|
||||||
<span className="text-white">{command}</span>
|
<div className="h-3 w-3 rounded-full bg-[#ff5f57]" />
|
||||||
<span className="ml-auto shrink-0 pl-4">
|
<div className="h-3 w-3 rounded-full bg-[#febc2e]" />
|
||||||
|
<div className="h-3 w-3 rounded-full bg-[#28c840]" />
|
||||||
|
</div>
|
||||||
|
<div className="flex items-center gap-2 text-white/30">
|
||||||
|
<Terminal size={13} />
|
||||||
|
<span className="text-xs">Quick Start</span>
|
||||||
|
</div>
|
||||||
|
<div className="w-[52px]" />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="flex items-center gap-3 overflow-x-auto px-6 py-5">
|
||||||
|
<span className="shrink-0 text-emerald-400 font-mono text-sm">$</span>
|
||||||
|
<code className="whitespace-nowrap font-mono text-[13px] text-white/90">
|
||||||
|
{command}
|
||||||
|
</code>
|
||||||
|
<span className="ml-auto shrink-0 pl-3">
|
||||||
{copied ? (
|
{copied ? (
|
||||||
<span className="flex items-center gap-1.5 text-green-400">
|
<span className="flex items-center gap-1.5 rounded-md bg-emerald-500/10 px-2.5 py-1 text-emerald-400">
|
||||||
<Check size={14} />
|
<Check size={13} />
|
||||||
<span className="text-xs">Copied!</span>
|
<span className="text-xs font-medium">Copied!</span>
|
||||||
</span>
|
</span>
|
||||||
) : (
|
) : (
|
||||||
<Copy
|
<span className="flex items-center gap-1.5 rounded-md px-2.5 py-1 text-white/25 transition-colors group-hover:bg-white/5 group-hover:text-white/60">
|
||||||
size={14}
|
<Copy size={13} />
|
||||||
className="text-white/30 transition-colors group-hover:text-white/70"
|
<span className="hidden text-xs md:inline">Copy</span>
|
||||||
/>
|
</span>
|
||||||
)}
|
)}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</button>
|
</button>
|
||||||
|
</div>
|
||||||
</FadeIn>
|
</FadeIn>
|
||||||
|
|
||||||
<FadeIn delay={0.15}>
|
<FadeIn delay={0.15}>
|
||||||
<p className="mt-6 text-sm text-muted">
|
<p className="mt-8 text-sm text-muted">
|
||||||
Linux, macOS, Windows. ARM and x86.{" "}
|
Works on Linux, macOS, and Windows. ARM and x86 supported.{" "}
|
||||||
<a
|
<a
|
||||||
href="https://docs.snapotter.com"
|
href="https://docs.snapotter.com"
|
||||||
className="font-medium text-accent hover:underline"
|
className="font-medium text-accent hover:underline"
|
||||||
>
|
>
|
||||||
Full docs
|
Read the docs
|
||||||
</a>
|
</a>
|
||||||
</p>
|
</p>
|
||||||
</FadeIn>
|
</FadeIn>
|
||||||
|
|||||||
Reference in New Issue
Block a user