mirror of
https://github.com/AustinKelsay/plebdevs.git
synced 2025-04-19 19:01:19 +00:00
Copy fixes, ui fixes to email signin and message carousel on about
This commit is contained in:
parent
18b1271326
commit
fe32db3e64
@ -13,7 +13,7 @@ const promotions = [
|
||||
id: 1,
|
||||
category: "PLEBDEVS",
|
||||
title: "Content and Community platform",
|
||||
description: "A one of a kind Nostr / Lightning integrated Content and Community platform.",
|
||||
description: "Content, and community platform built on Nostr and fully Lightning integrated.",
|
||||
icon: "pi pi-code",
|
||||
video: "https://plebdevs-bucket.nyc3.cdn.digitaloceanspaces.com/plebdevs-montage.mp4",
|
||||
},
|
||||
@ -29,7 +29,7 @@ const promotions = [
|
||||
id: 3,
|
||||
category: "COMMUNITY",
|
||||
title: "Join Our Community of learners / hackers",
|
||||
description: "Learn and connect with other developers, share your projects, and level up together.",
|
||||
description: "Learn and connect with other devs, share your projects, and level up together.",
|
||||
icon: "pi pi-users",
|
||||
video: "https://plebdevs-bucket.nyc3.cdn.digitaloceanspaces.com/plebdevs-community-montage.mp4",
|
||||
},
|
||||
@ -37,7 +37,7 @@ const promotions = [
|
||||
id: 4,
|
||||
category: "LIGHTNING / NOSTR",
|
||||
title: "Lightning and Nostr integrated platform",
|
||||
description: "All content is published to and pulled from nostr relays and is fully interoperable with comments, zaps, and other nostr clients. Premium content is available for sale with lightning or by subscribing to plebdevs via a lightning subscription.",
|
||||
description: "All content is published to Nostr and actively pulled from Nostr relays. It is interoperable with comments, zaps, and other nostr clients. Premium content is available for sale with lightning or by subscribing to plebdevs via a lightning subscription.",
|
||||
icon: "pi pi-bolt",
|
||||
video: "https://plebdevs-bucket.nyc3.cdn.digitaloceanspaces.com/plebdevs-lightning-nostr-montage.mp4",
|
||||
},
|
||||
|
@ -9,6 +9,17 @@ const MessageCarousel = ({ copyToClipboard }) => {
|
||||
<div className="flex flex-col justify-between bg-gray-800 p-3 rounded-lg shadow-lg min-h-[182px]">
|
||||
<p className="text-[#f8f8ff] text-[18px] font-semibold">{title}</p>
|
||||
<p className="text-[#f8f8ff] mt-1">{description}</p>
|
||||
<div className='flex justify-center my-1 mt-2'>
|
||||
{showFeedback && (
|
||||
<GenericButton
|
||||
label="Feedback"
|
||||
size="small"
|
||||
className="py-2"
|
||||
outlined
|
||||
onClick={() => window.open('https://docs.google.com/forms/d/e/1FAIpQLSd8PDBQ8PksBzO8zsMA-Gy6tdZtKWk10Ixa0EXgeTBOyjohpA/viewform?usp=sf_link', '_blank')}
|
||||
/>
|
||||
)}
|
||||
</div>
|
||||
<div className="flex flex-wrap gap-4 justify-center mt-2">
|
||||
{showGithub && (
|
||||
<i
|
||||
@ -49,15 +60,6 @@ const MessageCarousel = ({ copyToClipboard }) => {
|
||||
title="Donate"
|
||||
/>
|
||||
)}
|
||||
{showFeedback && (
|
||||
<GenericButton
|
||||
label="Feedback"
|
||||
size="small"
|
||||
className="py-2"
|
||||
outlined
|
||||
onClick={() => window.open('https://docs.google.com/forms/d/e/1FAIpQLSd8PDBQ8PksBzO8zsMA-Gy6tdZtKWk10Ixa0EXgeTBOyjohpA/viewform?usp=sf_link', '_blank')}
|
||||
/>
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
@ -65,13 +67,13 @@ const MessageCarousel = ({ copyToClipboard }) => {
|
||||
const messages = [
|
||||
{
|
||||
title: "PlebDevs 🤝👨💻🤝👩💻🤝🧑💻🤝",
|
||||
description: "Plebdevs is open source software and is still in early development. If you have any questions drop an issue on the Github repo, or reach out to me in the Community feed.",
|
||||
description: "Plebdevs is open source software and is still in early development. If you have any questions or bugs, drop an issue on the Github repo, or leave feedback below.",
|
||||
showGithub: true,
|
||||
showX: true,
|
||||
showNostr: true,
|
||||
showYoutube: true,
|
||||
showDonate: true,
|
||||
showFeedback: false,
|
||||
showFeedback: true,
|
||||
},
|
||||
{
|
||||
title: "More content coming soon 📺",
|
||||
@ -81,7 +83,7 @@ const MessageCarousel = ({ copyToClipboard }) => {
|
||||
showNostr: true,
|
||||
showYoutube: true,
|
||||
showDonate: true,
|
||||
showFeedback: false,
|
||||
showFeedback: true,
|
||||
}
|
||||
// todo add donate message
|
||||
];
|
||||
|
@ -35,17 +35,17 @@ const AboutPage = () => {
|
||||
<div className={`${isTabView ? 'w-full' : 'w-[83vw]'} ${isMobile ? 'p-0' : 'p-4'} mx-auto`}>
|
||||
<InteractivePromotionalCarousel />
|
||||
<Card title="Key Features" className={`mb-4 ${isMobile ? 'm-2' : null}`}>
|
||||
<div className="flex flex-col gap-4 max-w-[80%]">
|
||||
<div className="flex flex-col gap-4 max-w-[80%] max-mob:max-w-full">
|
||||
<div className="flex flex-col items-start justify-center">
|
||||
<div className='flex items-start'>
|
||||
<i className="pi pi-cloud text-2xl text-primary mr-2 text-blue-400"></i>
|
||||
<div>
|
||||
<h3 className='text-lg font-semibold'>Content Distribution:</h3>
|
||||
<p className='text-lg'>All educational content is published to Nostr and actively pulled from Nostr relays, ensuring distributed and up-to-date information.</p>
|
||||
<p className='text-lg'>All content is published to Nostr and actively pulled from Nostr relays</p>
|
||||
<ul className="list-disc list-inside ml-2 mt-2 space-y-2">
|
||||
<li><span className="text-lg font-semibold">Nostr:</span> Content is published to Nostr and pulled from Nostr relays. A database is used for storing metadata about events but the actual content only exists on nostr relays.</li>
|
||||
<li><span className="text-lg font-semibold">Zaps:</span> Zaps are currently initated through Zapper - <a href="https://zapper.nostrapps.org" target="_blank" rel="noopener noreferrer" className="text-blue-400">https://zapper.nostrapps.org</a> <br /> <span className="pl-4">* Zaps are pulled from Nostr using our own NDK integration.</span></li>
|
||||
<li><span className="text-lg font-semibold">Comments:</span> For comments we are leveraging ZapThreads - <a href="https://zapthreads.dev/" target="_blank" rel="noopener noreferrer" className="text-blue-400">https://zapthreads.com</a> <br /> <span className="pl-4">* Comments are enabled on all content but for Community feeds they are only enabled on the nostr feed.</span></li>
|
||||
<li><span className="text-lg font-semibold">Nostr:</span> Content is stored on and read from Nostr relays however a database is used for storing metadata and filtering content.</li>
|
||||
<li><span className="text-lg font-semibold">Zaps:</span> Zaps are currently initated through Zapper - <a href="https://zapper.nostrapps.org" target="_blank" rel="noopener noreferrer" className="text-blue-400">https://zapper.nostrapps.org</a></li>
|
||||
<li><span className="text-lg font-semibold">Comments:</span> For comments we are leveraging ZapThreads - <a href="https://zapthreads.dev/" target="_blank" rel="noopener noreferrer" className="text-blue-400">https://zapthreads.com</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
@ -54,10 +54,10 @@ const AboutPage = () => {
|
||||
<i className="pi pi-file-edit text-2xl text-primary mr-2 text-green-400 mt-1"></i>
|
||||
<div>
|
||||
<h3 className="text-lg font-semibold">Content Types:</h3>
|
||||
<p className='text-lg'>high signal, Bitcoin, Lightning, Nostr educational content.</p>
|
||||
<p className='text-lg'>High signal, Bitcoin, Lightning, and Nostr educational content.</p>
|
||||
<ul className="list-disc list-inside ml-2 mt-2 space-y-2">
|
||||
<li><span className="text-lg font-semibold">Documents:</span> Markdown documents posted as NIP-23 long-form events on Nostr.</li>
|
||||
<li><span className="text-lg font-semibold">Videos:</span> Enhanced markdown files with rich media support, including embedded videos, also saved as NIP-23 events.</li>
|
||||
<li><span className="text-lg font-semibold">Videos:</span> Formatted markdown documents with rich media support, including embedded videos, also saved as NIP-23 events.</li>
|
||||
<li><span className="text-lg font-semibold">Courses:</span> Nostr lists (NIP-51) that combines multiple documents and videos into a structured learning path.</li>
|
||||
</ul>
|
||||
</div>
|
||||
@ -97,6 +97,40 @@ const AboutPage = () => {
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
{/* techstack */}
|
||||
<div className="flex items-start">
|
||||
<i className="pi pi-cog text-2xl text-primary mr-2 text-gray-400 mt-1"></i>
|
||||
<div>
|
||||
<h3 className="text-lg font-semibold">Tech Stack:</h3>
|
||||
<h4 className='text-lg font-semibold'>Frontend:</h4>
|
||||
<ul className="list-disc list-inside ml-2 mt-2 space-y-2">
|
||||
<li><span className="text-lg font-semibold">Next.js:</span> A React framework for building server-side rendered (SSR) web applications.</li>
|
||||
<li><span className="text-lg font-semibold">Tailwind CSS:</span> A utility-first CSS framework for rapidly building custom designs.</li>
|
||||
<li><span className="text-lg font-semibold">PrimeReact:</span> A React UI library for building modern, responsive web applications.</li>
|
||||
</ul>
|
||||
<h4 className='text-lg font-semibold'>Backend:</h4>
|
||||
<ul className="list-disc list-inside ml-2 mt-2 space-y-2">
|
||||
<li><span className="text-lg font-semibold">Prisma:</span> A database toolkit for Node.js and TypeScript.</li>
|
||||
<li><span className="text-lg font-semibold">PostgreSQL:</span> A powerful, open source object-relational database system.</li>
|
||||
<li><span className="text-lg font-semibold">Redis:</span> An in-memory data structure store, used as a database, cache, and message broker.</li>
|
||||
</ul>
|
||||
<h4 className='text-lg font-semibold'>Infrastructure:</h4>
|
||||
<ul className="list-disc list-inside ml-2 mt-2 space-y-2">
|
||||
<li><span className="text-lg font-semibold">Vercel:</span> A cloud platform for building modern web applications.</li>
|
||||
<li><span className="text-lg font-semibold">Docker:</span> A platform for building, shipping, and running distributed applications.</li>
|
||||
<li><span className="text-lg font-semibold">Digital Ocean (CDN):</span> A cloud platform for building modern web applications.</li>
|
||||
</ul>
|
||||
<h4 className='text-lg font-semibold'>Open Source Tools:</h4>
|
||||
<ul className="list-disc list-inside ml-2 mt-2 space-y-2">
|
||||
<li><span className="text-lg font-semibold">NDK:</span> Nostr Development Kit - <a href="https://github.com/nostr-dev-kit/ndk" target="_blank" rel="noopener noreferrer" className="text-blue-400">https://github.com/nostr-dev-kit/ndk</a></li>
|
||||
<li><span className="text-lg font-semibold">nostr-tools:</span> React framework for building Nostr applications - <a href="https://github.com/fiatjaf/nostr-tools" target="_blank" rel="noopener noreferrer" className="text-blue-400">https://github.com/fiatjaf/nostr-tools</a></li>
|
||||
<li><span className="text-lg font-semibold">Bitcoin Connect:</span> A simple open source tool for connecting to Lightning wallets and facilitating payments - <a href="https://github.com/getAlby/bitcoin-connect" target="_blank" rel="noopener noreferrer" className="text-blue-400">https://github.com/getAlby/bitcoin-connect</a></li>
|
||||
<li><span className="text-lg font-semibold">Alby JS SDK:</span> JavaScript SDK for the Alby OAuth2 Wallet API and the Nostr Wallet Connect API. - <a href="https://github.com/getAlby/js-sdk" target="_blank" rel="noopener noreferrer" className="text-blue-400">https://github.com/getAlby/js-sdk</a></li>
|
||||
<li><span className="text-lg font-semibold">Zapthreads:</span> A Nostr-based commenting system - <a href="https://github.com/franzaps/zapthreads" target="_blank" rel="noopener noreferrer" className="text-blue-400">https://github.com/franzaps/zapthreads</a></li>
|
||||
<li><span className="text-lg font-semibold">Zapper:</span> A Nostr-based tipping platform - <a href="https://github.com/nostrband/zapper" target="_blank" rel="noopener noreferrer" className="text-blue-400">https://github.com/nostrband/zapper</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</Card>
|
||||
|
||||
|
@ -83,13 +83,6 @@ export default function SignIn() {
|
||||
rounded
|
||||
onClick={() => setShowEmailInput(!showEmailInput)}
|
||||
/>
|
||||
<GenericButton
|
||||
label={"login anonymously"}
|
||||
icon="pi pi-eye-slash"
|
||||
className="text-[#f8f8ff] w-[250px] my-4 mx-auto"
|
||||
rounded
|
||||
onClick={handleAnonymousSignIn}
|
||||
/>
|
||||
{showEmailInput && (
|
||||
<form onSubmit={handleEmailSignIn} className="flex flex-col items-center bg-gray-700 w-fit mx-auto p-4 rounded-lg">
|
||||
<InputText
|
||||
@ -108,6 +101,13 @@ export default function SignIn() {
|
||||
/>
|
||||
</form>
|
||||
)}
|
||||
<GenericButton
|
||||
label={"login anonymously"}
|
||||
icon="pi pi-eye-slash"
|
||||
className="text-[#f8f8ff] w-[250px] my-4 mx-auto"
|
||||
rounded
|
||||
onClick={handleAnonymousSignIn}
|
||||
/>
|
||||
</div>
|
||||
)
|
||||
}
|
@ -260,11 +260,19 @@ const Subscribe = () => {
|
||||
)}
|
||||
|
||||
<Card title="Frequently Asked Questions" className="mb-6">
|
||||
<div className="flex flex-col gap-4 max-w-[80%]">
|
||||
<div className="flex flex-col gap-4 max-w-[80%] max-mob:max-w-full">
|
||||
<div>
|
||||
<h3 className="text-lg font-semibold">How does the subscription work?</h3>
|
||||
<p>Think of the subscriptions as a Patreon-type model. You pay a monthly fee and in return you get access to premium features and all of the paid content. You can cancel at any time.</p>
|
||||
</div>
|
||||
<div className='flex flex-col gap-2'>
|
||||
<h3 className="text-lg font-semibold">What are the benefits of a subscription?</h3>
|
||||
<p>The subscription gives you access to all of the premium features and all of the paid content. You can cancel at any time.</p>
|
||||
</div>
|
||||
<div className='flex flex-col gap-2'>
|
||||
<h3 className="text-lg font-semibold">How much does the subscription cost?</h3>
|
||||
<p>The subscription is 70,000 sats per month.</p>
|
||||
</div>
|
||||
<div>
|
||||
<h3 className="text-lg font-semibold">How do I Subscribe? (Pay as you go)</h3>
|
||||
<p>The pay as you go subscription is a one-time payment that gives you access to all of the premium features for one month. You will need to manually renew your subscription every month.</p>
|
||||
@ -281,6 +289,10 @@ const Subscribe = () => {
|
||||
<h3 className="text-lg font-semibold">What happens if I don't renew my subscription?</h3>
|
||||
<p>If you don't renew your subscription, your access to 1:1 calendar and paid content will be removed. However, you will still have access to your PlebDevs Lightning Address, NIP-05, and any content that you paid for.</p>
|
||||
</div>
|
||||
<div>
|
||||
<h3 className="text-lg font-semibold">What is Nostr Wallet Connect?</h3>
|
||||
<p>Nostr Wallet Connect is a Nostr-based authentication method that allows you to connect your Nostr wallet to the PlebDevs platform. This will allow you to subscribe to the platform in an auto recurring manner which still gives you full control over your wallet and the ability to cancel at any time from your wallet.</p>
|
||||
</div>
|
||||
</div>
|
||||
</Card>
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user