diff options
| author | Khắc Tuấn <khtuankendy@gmail.com> | 2025-07-17 20:32:08 +0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-07-17 20:32:08 +0700 |
| commit | faf5a121ac271666a92218fc46be92e25c715ee3 (patch) | |
| tree | ffd3c183f38c1c063a786e815f9ac8a959ee34de /apps/web/src/components/ui/sponsor-button.tsx | |
| parent | 955f6331f258143daa62cb6e004c6df089c55c64 (diff) | |
| parent | 7d4cbca1190edc12ff9ae17029613b77b08436e0 (diff) | |
| download | opencut-faf5a121ac271666a92218fc46be92e25c715ee3.tar.gz | |
Merge branch 'main' into feature/optimize-timeline-ruler
Diffstat (limited to 'apps/web/src/components/ui/sponsor-button.tsx')
| -rw-r--r-- | apps/web/src/components/ui/sponsor-button.tsx | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/apps/web/src/components/ui/sponsor-button.tsx b/apps/web/src/components/ui/sponsor-button.tsx new file mode 100644 index 00000000..79c708a2 --- /dev/null +++ b/apps/web/src/components/ui/sponsor-button.tsx @@ -0,0 +1,40 @@ +import { motion } from "motion/react"; +import { ComponentType } from "react"; + +interface SponsorButtonProps { + href: string; + logo: ComponentType<{ className?: string }>; + companyName: string; + className?: string; +} + +export function SponsorButton({ + href, + logo: Logo, + companyName, + className = "", +}: SponsorButtonProps) { + + return ( + <motion.a + href={href} + target="_blank" + rel="noopener noreferrer" + className={`inline-flex items-center gap-2 px-3 py-2 rounded-full border border-white/10 bg-white/5 backdrop-blur-sm hover:bg-white/10 hover:border-white/20 transition-all duration-200 group shadow-lg ${className}`} + > + <span className="text-xs font-medium text-zinc-400 group-hover:text-zinc-300 transition-colors"> + Sponsored by + </span> + + <div className="flex items-center gap-1.5"> + <div className="text-zinc-100 group-hover:text-white transition-colors"> + <Logo className="w-4 h-4" /> + </div> + + <span className="text-xs font-medium text-zinc-100 group-hover:text-white transition-colors"> + {companyName} + </span> + </div> + </motion.a> + ); +} |
