Hugging Face
Models
Datasets
Spaces
Community
Docs
Enterprise
Pricing
Log In
Sign Up
Spaces:
capn1derfl
/
zeropointid
like
0
Running
App
Files
Files
Community
main
zeropointid
Ctrl+K
Ctrl+K
1 contributor
History:
4 commits
capn1derfl
undefined - Follow Up Deployment
1092a25
verified
about 1 month ago
.gitattributes
Safe
1.52 kB
initial commit
about 1 month ago
README.md
Safe
210 Bytes
zeropoint-id/ βββ public/ β βββ images/ β β βββ gossip-labs-logo.png β β βββ mintmark-diagram.png β βββ audio/ β βββ manifesto-voiceover.mp3 β βββ components/ β βββ ui/ β β βββ button.jsx β βββ AudioPlayer.jsx β βββ pages/ β βββ index.jsx β βββ tailwind.config.js βββ postcss.config.js βββ package.json βββ README.mdimport { motion } from "framer-motion"; import { useState } from "react"; import { Button } from "@/components/ui/button"; import AudioPlayer from "@/components/AudioPlayer"; export default function LandingPage() { const [revealed, setRevealed] = useState(false); return ( <div className="min-h-screen bg-gradient-to-br from-[#15002b] to-[#001f3f] text-white p-6 font-sans relative overflow-hidden"> <div className="absolute inset-0 z-0 opacity-10 animate-pulse bg-[url('/images/hashgrid.svg')] bg-cover"></div> <div className="max-w-5xl mx-auto text-center pt-20 relative z-10"> <motion.img src="/images/gossip-labs-logo.png" alt="Gossip Labs Logo" initial={{ opacity: 0, y: -20 }} animate={{ opacity: 1, y: 0 }} transition={{ duration: 1 }} className="mx-auto mb-8 w-32" /> <motion.h1 initial={{ opacity: 0, y: -40 }} animate={{ opacity: 1, y: 0 }} transition={{ duration: 1 }} className="text-5xl font-bold text-transparent bg-clip-text bg-gradient-to-r from-purple-400 to-blue-500" > You Already Are. </motion.h1> {!revealed ? ( <motion.div initial={{ opacity: 0 }} animate={{ opacity: 1 }} transition={{ delay: 1.2, duration: 1 }} className="mt-10 space-y-6 text-lg text-gray-300" > <p>For all of history, we were taught to seek permission...</p> <Button onClick={() => setRevealed(true)} className="mt-6 bg-purple-700 hover:bg-purple-800" > Read Manifesto β </Button> </motion.div> ) : ( <motion.div initial={{ opacity: 0, y: 40 }} animate={{ opacity: 1, y: 0 }} transition={{ duration: 1 }} className="mt-12 text-left max-w-3xl mx-auto space-y-6 text-gray-300" > <AudioPlayer src="/audio/manifesto-voiceover.mp3" /> <p><strong>The End of Permission-Based Identity</strong></p> <p>Identity is no longer granted. It is owned. Immutable. Self-authenticating.</p> <p>Your <span className="text-purple-400">β MintMarkβ’</span> becomes a trustless fingerprint.</p> <img src="/images/mintmark-diagram.png" alt="MintMark Flow" className="mx-auto my-10 max-w-full border border-purple-800 rounded-xl shadow-lg" /> <Button className="mt-8 text-white bg-blue-600 hover:bg-blue-700"> π₯ Forge Your ZPID β </Button> </motion.div> )} </div> <footer className="mt-24 text-center text-sm text-gray-500 relative z-10"> Β© {new Date().getFullYear()} Gossip Labsβ’ Technology β A Zero Knowledge Corporation division. </footer> </div> ); } export function Button({ className, children, ...props }) { return ( <button {...props} className={`px-4 py-2 rounded-xl font-semibold transition ${Class name}`} > {children} </button> ); } import { useEffect, useRef } from "react"; export default function AudioPlayer({ src }) { const ref = useRef(); useEffect(() => { ref.current?.play(); }, []); return ( <div className="my-4"> <audio ref={ref} controls src={src} className="w-full" /> </div> ); }module.exports = { content: ["./pages/**/*.{js,jsx}", "./components/**/*.{js,jsx}"], theme: { extend: {}, }, plugins: [], };module.exports = { plugins: { tailwindcss: {}, autoprefixer: {}, }, };{ "name": "zeropoint-id", "version": "1.0.0", "dependencies": { "framer-motion": "^11.0.0", "next": "latest", "react": "latest", "react-dom": "latest" }, "scripts": { "dev": "next dev", "build": "next build", "start": "next start" } }Perfect. Here's the full π§ ZeroPoint.ID landing page project layout β built for Replit, fully mobile-usable. --- ποΈ FILE/FOLDER STRUCTURE zeropoint-id/ βββ public/ β βββ images/ β β βββ gossip-labs-logo.png β β βββ mintmark-diagram.png β βββ audio/ β βββ manifesto-voiceover.mp3 β βββ components/ β βββ ui/ β β βββ button.jsx β βββ AudioPlayer.jsx β βββ pages/ β βββ index.jsx β βββ tailwind.config.js βββ postcss.config.js βββ package.json βββ README.md --- 1οΈβ£ pages/index.jsx (Your Landing Page) Paste this into pages/index.jsx: import { motion } from "framer-motion"; import { useState } from "react"; import { Button } from "@/components/ui/button"; import AudioPlayer from "@/components/AudioPlayer"; export default function LandingPage() { const [revealed, setRevealed] = useState(false); return ( <div className="min-h-screen bg-gradient-to-br from-[#15002b] to-[#001f3f] text-white p-6 font-sans relative overflow-hidden"> <div className="absolute inset-0 z-0 opacity-10 animate-pulse bg-[url('/images/hashgrid.svg')] bg-cover"></div> <div className="max-w-5xl mx-auto text-center pt-20 relative z-10"> <motion.img src="/images/gossip-labs-logo.png" alt="Gossip Labs Logo" initial={{ opacity: 0, y: -20 }} animate={{ opacity: 1, y: 0 }} transition={{ duration: 1 }} className="mx-auto mb-8 w-32" /> <motion.h1 initial={{ opacity: 0, y: -40 }} animate={{ opacity: 1, y: 0 }} transition={{ duration: 1 }} className="text-5xl font-bold text-transparent bg-clip-text bg-gradient-to-r from-purple-400 to-blue-500" > You Already Are. </motion.h1> {!revealed ? ( <motion.div initial={{ opacity: 0 }} animate={{ opacity: 1 }} transition={{ delay: 1.2, duration: 1 }} className="mt-10 space-y-6 text-lg text-gray-300" > <p>For all of history, we were taught to seek permission...</p> <Button onClick={() => setRevealed(true)} className="mt-6 bg-purple-700 hover:bg-purple-800" > Read Manifesto β </Button> </motion.div> ) : ( <motion.div initial={{ opacity: 0, y: 40 }} animate={{ opacity: 1, y: 0 }} transition={{ duration: 1 }} className="mt-12 text-left max-w-3xl mx-auto space-y-6 text-gray-300" > <AudioPlayer src="/audio/manifesto-voiceover.mp3" /> <p><strong>The End of Permission-Based Identity</strong></p> <p>Identity is no longer granted. It is owned. Immutable. Self-authenticating.</p> <p>Your <span className="text-purple-400">β MintMarkβ’</span> becomes a trustless fingerprint.</p> <img src="/images/mintmark-diagram.png" alt="MintMark Flow" className="mx-auto my-10 max-w-full border border-purple-800 rounded-xl shadow-lg" /> <Button className="mt-8 text-white bg-blue-600 hover:bg-blue-700"> π₯ Forge Your ZPID β </Button> </motion.div> )} </div> <footer className="mt-24 text-center text-sm text-gray-500 relative z-10"> Β© {new Date().getFullYear()} Gossip Labsβ’ Technology β A Zero Knowledge Corporation division. </footer> </div> ); } --- 2οΈβ£ components/ui/button.jsx export function Button({ className, children, ...props }) { return ( <button {...props} className={`px-4 py-2 rounded-xl font-semibold transition ${className}`} > {children} </button> ); } --- 3οΈβ£ components/AudioPlayer.jsx import { useEffect, useRef } from "react"; export default function AudioPlayer({ src }) { const ref = useRef(); useEffect(() => { ref.current?.play(); }, []); return ( <div className="my-4"> <audio ref={ref} controls src={src} className="w-full" /> </div> ); } --- 4οΈβ£ tailwind.config.js module.exports = { content: ["./pages/**/*.{js,jsx}", "./components/**/*.{js,jsx}"], theme: { extend: {}, }, plugins: [], }; --- 5οΈβ£ postcss.config.js module.exports = { plugins: { tailwindcss: {}, autoprefixer: {}, }, }; --- 6οΈβ£ package.json (Replit auto-generates this, but you can edit if needed) { "name": "zeropoint-id", "version": "1.0.0", "dependencies": { "framer-motion": "^11.0.0", "next": "latest", "react": "latest", "react-dom": "latest" }, "scripts": { "dev": "next dev", "build": "next build", "start": "next start" } } --- 7οΈβ£ public/images/ & public/audio/ Upload these via Replit's "Files" tab: public/images/gossip-labs-logo.png public/images/mintmark-diagram.png public/audio/manifesto-voiceover.mp3 If you want I can give you temporary sample files to test. --- π Deploy Instructions (Replit) 1. Go to https://replit.com 2. Tap βCreate Replβ β Choose βNext.jsβ 3. Create folders /pages, /components/ui, /public/images, etc. 4. Paste each file content into the right file 5. Tap βRunβ β open the live link --- Ready for: π§ Sample audio/logo files? π§ Adding wallet connect + ZK minting wizard? Let me know and weβll go next level. - Initial Deployment
about 1 month ago
index.html
Safe
23.2 kB
zeropoint-id/ βββ public/ β βββ images/ β β βββ gossip-labs-logo.png β β βββ mintmark-diagram.png β βββ audio/ β βββ manifesto-voiceover.mp3 β βββ components/ β βββ ui/ β β βββ button.jsx β βββ AudioPlayer.jsx β βββ pages/ β βββ index.jsx β βββ tailwind.config.js βββ postcss.config.js βββ package.json βββ README.mdimport { motion } from "framer-motion"; import { useState } from "react"; import { Button } from "@/components/ui/button"; import AudioPlayer from "@/components/AudioPlayer"; export default function LandingPage() { const [revealed, setRevealed] = useState(false); return ( <div className="min-h-screen bg-gradient-to-br from-[#15002b] to-[#001f3f] text-white p-6 font-sans relative overflow-hidden"> <div className="absolute inset-0 z-0 opacity-10 animate-pulse bg-[url('/images/hashgrid.svg')] bg-cover"></div> <div className="max-w-5xl mx-auto text-center pt-20 relative z-10"> <motion.img src="/images/gossip-labs-logo.png" alt="Gossip Labs Logo" initial={{ opacity: 0, y: -20 }} animate={{ opacity: 1, y: 0 }} transition={{ duration: 1 }} className="mx-auto mb-8 w-32" /> <motion.h1 initial={{ opacity: 0, y: -40 }} animate={{ opacity: 1, y: 0 }} transition={{ duration: 1 }} className="text-5xl font-bold text-transparent bg-clip-text bg-gradient-to-r from-purple-400 to-blue-500" > You Already Are. </motion.h1> {!revealed ? ( <motion.div initial={{ opacity: 0 }} animate={{ opacity: 1 }} transition={{ delay: 1.2, duration: 1 }} className="mt-10 space-y-6 text-lg text-gray-300" > <p>For all of history, we were taught to seek permission...</p> <Button onClick={() => setRevealed(true)} className="mt-6 bg-purple-700 hover:bg-purple-800" > Read Manifesto β </Button> </motion.div> ) : ( <motion.div initial={{ opacity: 0, y: 40 }} animate={{ opacity: 1, y: 0 }} transition={{ duration: 1 }} className="mt-12 text-left max-w-3xl mx-auto space-y-6 text-gray-300" > <AudioPlayer src="/audio/manifesto-voiceover.mp3" /> <p><strong>The End of Permission-Based Identity</strong></p> <p>Identity is no longer granted. It is owned. Immutable. Self-authenticating.</p> <p>Your <span className="text-purple-400">β MintMarkβ’</span> becomes a trustless fingerprint.</p> <img src="/images/mintmark-diagram.png" alt="MintMark Flow" className="mx-auto my-10 max-w-full border border-purple-800 rounded-xl shadow-lg" /> <Button className="mt-8 text-white bg-blue-600 hover:bg-blue-700"> π₯ Forge Your ZPID β </Button> </motion.div> )} </div> <footer className="mt-24 text-center text-sm text-gray-500 relative z-10"> Β© {new Date().getFullYear()} Gossip Labsβ’ Technology β A Zero Knowledge Corporation division. </footer> </div> ); } export function Button({ className, children, ...props }) { return ( <button {...props} className={`px-4 py-2 rounded-xl font-semibold transition ${Class name}`} > {children} </button> ); } import { useEffect, useRef } from "react"; export default function AudioPlayer({ src }) { const ref = useRef(); useEffect(() => { ref.current?.play(); }, []); return ( <div className="my-4"> <audio ref={ref} controls src={src} className="w-full" /> </div> ); }module.exports = { content: ["./pages/**/*.{js,jsx}", "./components/**/*.{js,jsx}"], theme: { extend: {}, }, plugins: [], };module.exports = { plugins: { tailwindcss: {}, autoprefixer: {}, }, };{ "name": "zeropoint-id", "version": "1.0.0", "dependencies": { "framer-motion": "^11.0.0", "next": "latest", "react": "latest", "react-dom": "latest" }, "scripts": { "dev": "next dev", "build": "next build", "start": "next start" } }Perfect. Here's the full π§ ZeroPoint.ID landing page project layout β built for Replit, fully mobile-usable. --- ποΈ FILE/FOLDER STRUCTURE zeropoint-id/ βββ public/ β βββ images/ β β βββ gossip-labs-logo.png β β βββ mintmark-diagram.png β βββ audio/ β βββ manifesto-voiceover.mp3 β βββ components/ β βββ ui/ β β βββ button.jsx β βββ AudioPlayer.jsx β βββ pages/ β βββ index.jsx β βββ tailwind.config.js βββ postcss.config.js βββ package.json βββ README.md --- 1οΈβ£ pages/index.jsx (Your Landing Page) Paste this into pages/index.jsx: import { motion } from "framer-motion"; import { useState } from "react"; import { Button } from "@/components/ui/button"; import AudioPlayer from "@/components/AudioPlayer"; export default function LandingPage() { const [revealed, setRevealed] = useState(false); return ( <div className="min-h-screen bg-gradient-to-br from-[#15002b] to-[#001f3f] text-white p-6 font-sans relative overflow-hidden"> <div className="absolute inset-0 z-0 opacity-10 animate-pulse bg-[url('/images/hashgrid.svg')] bg-cover"></div> <div className="max-w-5xl mx-auto text-center pt-20 relative z-10"> <motion.img src="/images/gossip-labs-logo.png" alt="Gossip Labs Logo" initial={{ opacity: 0, y: -20 }} animate={{ opacity: 1, y: 0 }} transition={{ duration: 1 }} className="mx-auto mb-8 w-32" /> <motion.h1 initial={{ opacity: 0, y: -40 }} animate={{ opacity: 1, y: 0 }} transition={{ duration: 1 }} className="text-5xl font-bold text-transparent bg-clip-text bg-gradient-to-r from-purple-400 to-blue-500" > You Already Are. </motion.h1> {!revealed ? ( <motion.div initial={{ opacity: 0 }} animate={{ opacity: 1 }} transition={{ delay: 1.2, duration: 1 }} className="mt-10 space-y-6 text-lg text-gray-300" > <p>For all of history, we were taught to seek permission...</p> <Button onClick={() => setRevealed(true)} className="mt-6 bg-purple-700 hover:bg-purple-800" > Read Manifesto β </Button> </motion.div> ) : ( <motion.div initial={{ opacity: 0, y: 40 }} animate={{ opacity: 1, y: 0 }} transition={{ duration: 1 }} className="mt-12 text-left max-w-3xl mx-auto space-y-6 text-gray-300" > <AudioPlayer src="/audio/manifesto-voiceover.mp3" /> <p><strong>The End of Permission-Based Identity</strong></p> <p>Identity is no longer granted. It is owned. Immutable. Self-authenticating.</p> <p>Your <span className="text-purple-400">β MintMarkβ’</span> becomes a trustless fingerprint.</p> <img src="/images/mintmark-diagram.png" alt="MintMark Flow" className="mx-auto my-10 max-w-full border border-purple-800 rounded-xl shadow-lg" /> <Button className="mt-8 text-white bg-blue-600 hover:bg-blue-700"> π₯ Forge Your ZPID β </Button> </motion.div> )} </div> <footer className="mt-24 text-center text-sm text-gray-500 relative z-10"> Β© {new Date().getFullYear()} Gossip Labsβ’ Technology β A Zero Knowledge Corporation division. </footer> </div> ); } --- 2οΈβ£ components/ui/button.jsx export function Button({ className, children, ...props }) { return ( <button {...props} className={`px-4 py-2 rounded-xl font-semibold transition ${className}`} > {children} </button> ); } --- 3οΈβ£ components/AudioPlayer.jsx import { useEffect, useRef } from "react"; export default function AudioPlayer({ src }) { const ref = useRef(); useEffect(() => { ref.current?.play(); }, []); return ( <div className="my-4"> <audio ref={ref} controls src={src} className="w-full" /> </div> ); } --- 4οΈβ£ tailwind.config.js module.exports = { content: ["./pages/**/*.{js,jsx}", "./components/**/*.{js,jsx}"], theme: { extend: {}, }, plugins: [], }; --- 5οΈβ£ postcss.config.js module.exports = { plugins: { tailwindcss: {}, autoprefixer: {}, }, }; --- 6οΈβ£ package.json (Replit auto-generates this, but you can edit if needed) { "name": "zeropoint-id", "version": "1.0.0", "dependencies": { "framer-motion": "^11.0.0", "next": "latest", "react": "latest", "react-dom": "latest" }, "scripts": { "dev": "next dev", "build": "next build", "start": "next start" } } --- 7οΈβ£ public/images/ & public/audio/ Upload these via Replit's "Files" tab: public/images/gossip-labs-logo.png public/images/mintmark-diagram.png public/audio/manifesto-voiceover.mp3 If you want I can give you temporary sample files to test. --- π Deploy Instructions (Replit) 1. Go to https://replit.com 2. Tap βCreate Replβ β Choose βNext.jsβ 3. Create folders /pages, /components/ui, /public/images, etc. 4. Paste each file content into the right file 5. Tap βRunβ β open the live link --- Ready for: π§ Sample audio/logo files? π§ Adding wallet connect + ZK minting wizard? Let me know and weβll go next level. - Initial Deployment
about 1 month ago
style.css
Safe
388 Bytes
initial commit
about 1 month ago