From 5eddd62f01711a21f7cdbd3cb7cf91aaa31689a7 Mon Sep 17 00:00:00 2001 From: Riley1101 Date: Fri, 24 Nov 2023 15:24:50 -0500 Subject: [PATCH] v2 donation page --- .../components/common/DonationMethod.svelte | 37 +++++--- src/lib/studio/schema/common/donator.js | 32 +++---- .../studio/schema/pages/donate/document.js | 51 +++++----- .../schema/pages/donate/donate_roadmap.js | 27 ------ src/lib/studio/schema/pages/donate/index.js | 3 +- src/lib/types/donatePage.ts | 36 +++---- src/routes/+layout.svelte | 1 + src/routes/donate/+page.js | 16 ++-- src/routes/donate/+page.svelte | 94 ++++++++++++++----- tailwind.config.js | 34 ++++--- 10 files changed, 180 insertions(+), 151 deletions(-) delete mode 100644 src/lib/studio/schema/pages/donate/donate_roadmap.js diff --git a/src/lib/components/common/DonationMethod.svelte b/src/lib/components/common/DonationMethod.svelte index 96a8c72..826338d 100644 --- a/src/lib/components/common/DonationMethod.svelte +++ b/src/lib/components/common/DonationMethod.svelte @@ -1,25 +1,32 @@ -
+ + +
+ {data.number} +
+
+ + (open = true)} > -
- -
-
-

{data.name}

-

{data.number}

-
-
+ + diff --git a/src/lib/studio/schema/common/donator.js b/src/lib/studio/schema/common/donator.js index e9c9f4b..f5eb48f 100644 --- a/src/lib/studio/schema/common/donator.js +++ b/src/lib/studio/schema/common/donator.js @@ -1,19 +1,19 @@ import { FaPeopleCarry } from 'react-icons/fa'; export default { - icon: FaPeopleCarry, - title: 'Donor', - name: 'donator', - type: 'document', - fields: [ - { - title: 'Name', - name: 'name', - type: 'string' - }, - { - title: 'Amount in USD', - name: 'amount', - type: 'number' - } - ] + icon: FaPeopleCarry, + title: 'Donor', + name: 'donator', + type: 'document', + fields: [ + { + title: 'Name', + name: 'name', + type: 'string' + }, + { + title: 'Units', + name: 'amount', + type: 'number' + } + ] }; diff --git a/src/lib/studio/schema/pages/donate/document.js b/src/lib/studio/schema/pages/donate/document.js index 85a9152..9f82be2 100644 --- a/src/lib/studio/schema/pages/donate/document.js +++ b/src/lib/studio/schema/pages/donate/document.js @@ -1,31 +1,26 @@ import { FaDollarSign } from 'react-icons/fa'; export default { - icon: FaDollarSign, - id: 'donatePage', - title: 'Donate Page', - name: 'donatePage', - type: 'document', - fields: [ - { title: 'SEO', name: 'seo', type: 'seo' }, - { title: 'Title', name: 'title', type: 'string' }, - { title: 'CoverImage', name: 'coverImage', type: 'image' }, - { title: 'Content', name: 'content', type: 'blockContent' }, - { - title: 'Payment Methods Description', - name: 'payment_methods_description', - type: 'string' - }, - { - title: 'Payment Methods', - name: 'payment_methods', - type: 'array', - of: [{ type: 'payment_method' }] - }, - { - title: 'Donate Roadmap', - name: 'donate_roadmap', - type: 'donate_roadmap' - } - ], - preview: { select: { title: 'seo.title', media: 'seo.ogImage' } } + icon: FaDollarSign, + id: 'donatePage', + title: 'Donate Page', + name: 'donatePage', + type: 'document', + fields: [ + { title: 'SEO', name: 'seo', type: 'seo' }, + { title: 'Title', name: 'title', type: 'string' }, + { title: 'CoverImage', name: 'coverImage', type: 'image' }, + { title: 'Content', name: 'content', type: 'blockContent' }, + { + title: 'Payment Methods', + name: 'payment_methods', + type: 'array', + of: [{ type: 'payment_method' }] + }, + { + title: 'Goal', + type: 'number', + name: 'goal' + } + ], + preview: { select: { title: 'seo.title', media: 'seo.ogImage' } } }; diff --git a/src/lib/studio/schema/pages/donate/donate_roadmap.js b/src/lib/studio/schema/pages/donate/donate_roadmap.js deleted file mode 100644 index a20528c..0000000 --- a/src/lib/studio/schema/pages/donate/donate_roadmap.js +++ /dev/null @@ -1,27 +0,0 @@ -import { FaCrosshairs } from 'react-icons/fa'; - -export default { - icon: FaCrosshairs, - title: 'Donate Raadmap', - name: 'donate_roadmap', - type: 'object', - fields: [ - { - title: 'Title', - name: 'title', - type: 'string' - }, - { - title: 'Target %', - name: 'target', - type: 'number', - /* @ts-ignore */ - validation: (Rule) => Rule.required().min(0).max(100) - }, - { - title: 'Description', - name: 'description', - type: 'blockContent' - } - ] -}; diff --git a/src/lib/studio/schema/pages/donate/index.js b/src/lib/studio/schema/pages/donate/index.js index 54f1621..0847fe7 100644 --- a/src/lib/studio/schema/pages/donate/index.js +++ b/src/lib/studio/schema/pages/donate/index.js @@ -1,4 +1,3 @@ import document from './document'; -import donate_roadmap from './donate_roadmap'; -export default [document, donate_roadmap]; +export default [document]; diff --git a/src/lib/types/donatePage.ts b/src/lib/types/donatePage.ts index b303a24..6ea7cf0 100644 --- a/src/lib/types/donatePage.ts +++ b/src/lib/types/donatePage.ts @@ -1,27 +1,27 @@ export interface DonatePageData { - seo: BaseMetaData; - title: string; - description: string; - content: PortableText; - payment_methods: PaymentMethod[]; - payment_methods_description: string; - coverImage: SanityImage; - donors: Donator[]; - donate_roadmap: DonateRoadmap; + seo: BaseMetaData; + title: string; + description: string; + content: PortableText; + payment_methods: PaymentMethod[]; + payment_methods_description: string; + coverImage: SanityImage; + donors: Donator[]; + goal: number; } export interface Donator { - _id: string; - group: string; - amount: number; + _id: string; + group: string; + amount: number; } export interface PaymentMethod { - name: string; - number: string; - Image: SanityImage; + name: string; + number: string; + Image: SanityImage; } export interface DonateRoadmap { - title: string; - description: PortableText; - target: number; + title: string; + description: PortableText; + target: number; } diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index 9f1c03b..d1963de 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -1,6 +1,7 @@ -
- -
-
-
- -
-
- -
-
-
-

{data.data.payment_methods_description}

-
+
+
+

Donate us

+
+
+
+ +
+
+ + + + + +
{#each data.data.payment_methods as method} {/each}
+
+ + +