{ "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "glassmorphism-portfolio-block-shadcnui", "type": "registry:block", "title": "Glassmorphism Portfolio", "description": "Personal portfolio spotlight with profile portrait, narrative highlights, and animated social links", "registryDependencies": [ "button" ], "dependencies": [ "framer-motion", "react" ], "files": [ { "path": "@uitripled/react-shadcn/src/components/sections/glassmorphism-portfolio-block.tsx", "content": "\"use client\";\n\nimport { Badge } from \"@/components/ui/badge\";\nimport { Button } from \"@/components/ui/button\";\nimport { motion, Variants } from \"framer-motion\";\nimport type { LucideIcon } from \"lucide-react\";\nimport {\n ArrowUpRight,\n Dribbble,\n Github,\n Linkedin,\n Twitter,\n} from \"lucide-react\";\n\ntype Highlight = {\n title: string;\n description: string;\n};\n\ntype SocialLink = {\n label: string;\n handle: string;\n href: string;\n icon: LucideIcon;\n};\n\nconst highlights: Highlight[] = [\n {\n title: \"Collaborations\",\n description:\n \"Linear, Framer, Gamma, Clearbit, and early-stage founders crafting premium launches.\",\n },\n {\n title: \"Latest drop\",\n description:\n \"Aurora OS motion system · 47 reusable blueprints, adaptive tokens, and launch storyboard.\",\n },\n {\n title: \"Availability\",\n description:\n \"2 advisory spots for Q1 · Remote friendly across EU & US time zones.\",\n },\n];\n\nconst socialLinks: SocialLink[] = [\n {\n label: \"Twitter\",\n handle: \"@caspermotions\",\n href: \"https://x.com/caspermotions\",\n icon: Twitter,\n },\n {\n label: \"LinkedIn\",\n handle: \"Casper Lightman\",\n href: \"https://linkedin.com/in/casperlightman\",\n icon: Linkedin,\n },\n {\n label: \"Dribbble\",\n handle: \"caspermotion\",\n href: \"https://dribbble.com/caspermotion\",\n icon: Dribbble,\n },\n {\n label: \"GitHub\",\n handle: \"casper-studio\",\n href: \"https://github.com/casper-studio\",\n icon: Github,\n },\n];\n\nconst listVariants: Variants = {\n hidden: { opacity: 0, y: 16 },\n visible: {\n opacity: 1,\n y: 0,\n transition: {\n duration: 0.4,\n staggerChildren: 0.08,\n },\n },\n};\n\nconst itemVariants: Variants = {\n hidden: { opacity: 0, y: 12 },\n visible: {\n opacity: 1,\n y: 0,\n transition: {\n duration: 0.35,\n },\n },\n};\n\nexport function GlassmorphismPortfolioBlock() {\n return (\n
\n
\n \n {/* Glass gradient overlay */}\n
\n\n
\n {/* Left column - Main content */}\n
\n \n Portfolio Insight\n \n\n
\n \n Casper Lightman, Product Designer & Motion Director\n \n \n Principal product designer pairing narrative motion with\n premium SaaS brands. Casper leads founders and product teams\n through expressive design systems that convert curiosity into\n momentum.\n \n
\n\n {/* Highlights grid */}\n
\n {highlights.map((item, index) => (\n \n
\n
\n

\n {item.title}\n

\n

\n {item.description}\n

\n
\n \n ))}\n
\n\n {/* CTA Buttons */}\n \n \n window.open(\"https://casper.studio/case-studies\", \"_blank\")\n }\n className=\"h-12 w-full gap-2 rounded-full px-8 text-sm uppercase tracking-[0.25em] transition-all hover:shadow-lg sm:w-auto\"\n >\n View case studies\n \n \n \n
\n\n {/* Right column - Profile card */}\n
\n
\n
\n
\n {/* Avatar with glow */}\n \n
\n \n \n\n \n

\n Casper Lightman\n

\n

\n Product Designer · Motion Director\n

\n \n\n \n Partnering with future-facing teams to choreograph\n interfaces that feel cinematic yet effortless.\n \n
\n\n {/* Social links */}\n \n {socialLinks.map((social) => {\n const Icon = social.icon;\n return (\n \n
\n \n \n \n
\n

\n {social.label}\n

\n

\n {social.handle}\n

\n
\n
\n \n \n );\n })}\n \n
\n
\n
\n \n
\n
\n );\n}\n", "type": "registry:block", "target": "components/uitripled/glassmorphism-portfolio-block-shadcnui.tsx" } ] }