diff --git a/.vscode/settings.json b/.vscode/settings.json
index 688e5862..1d6fe9de 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -7,7 +7,7 @@
}
],
"editor.codeActionsOnSave": {
- "source.fixAll.eslint": true
+ "source.fixAll.eslint": "explicit"
},
"editor.formatOnSave": true,
"editor.formatOnPaste": false,
diff --git a/public/cli-background.svg b/public/cli-background.svg
new file mode 100644
index 00000000..afb5a124
--- /dev/null
+++ b/public/cli-background.svg
@@ -0,0 +1,29 @@
+
\ No newline at end of file
diff --git a/public/earth.svg b/public/earth.svg
new file mode 100644
index 00000000..2d1c9360
--- /dev/null
+++ b/public/earth.svg
@@ -0,0 +1,552 @@
+
\ No newline at end of file
diff --git a/public/footer-background.svg b/public/footer-background.svg
new file mode 100644
index 00000000..682ad673
--- /dev/null
+++ b/public/footer-background.svg
@@ -0,0 +1,9 @@
+
diff --git a/src/assets/icons/CLabs.svg b/src/assets/icons/CLabs.svg
new file mode 100644
index 00000000..edaedc47
--- /dev/null
+++ b/src/assets/icons/CLabs.svg
@@ -0,0 +1,7 @@
+
diff --git a/src/assets/icons/CLabsText.svg b/src/assets/icons/CLabsText.svg
new file mode 100644
index 00000000..42710043
--- /dev/null
+++ b/src/assets/icons/CLabsText.svg
@@ -0,0 +1,25 @@
+
diff --git a/src/assets/icons/arweave.svg b/src/assets/icons/arweave.svg
new file mode 100644
index 00000000..82c0dec9
--- /dev/null
+++ b/src/assets/icons/arweave.svg
@@ -0,0 +1,6 @@
+
diff --git a/src/assets/icons/cloud-check.svg b/src/assets/icons/cloud-check.svg
new file mode 100644
index 00000000..00f26ab9
--- /dev/null
+++ b/src/assets/icons/cloud-check.svg
@@ -0,0 +1,5 @@
+
diff --git a/src/assets/icons/folder-code.svg b/src/assets/icons/folder-code.svg
new file mode 100644
index 00000000..7528a76c
--- /dev/null
+++ b/src/assets/icons/folder-code.svg
@@ -0,0 +1,5 @@
+
diff --git a/src/assets/icons/git-fork.svg b/src/assets/icons/git-fork.svg
new file mode 100644
index 00000000..172bc51a
--- /dev/null
+++ b/src/assets/icons/git-fork.svg
@@ -0,0 +1,5 @@
+
diff --git a/src/assets/icons/git-issue.svg b/src/assets/icons/git-issue.svg
new file mode 100644
index 00000000..ccd8d400
--- /dev/null
+++ b/src/assets/icons/git-issue.svg
@@ -0,0 +1,5 @@
+
diff --git a/src/assets/icons/git-pull-request.svg b/src/assets/icons/git-pull-request.svg
new file mode 100644
index 00000000..acfe9574
--- /dev/null
+++ b/src/assets/icons/git-pull-request.svg
@@ -0,0 +1,5 @@
+
diff --git a/src/assets/icons/graph-bar.svg b/src/assets/icons/graph-bar.svg
new file mode 100644
index 00000000..56672364
--- /dev/null
+++ b/src/assets/icons/graph-bar.svg
@@ -0,0 +1,5 @@
+
diff --git a/src/assets/icons/spiral-arrow.svg b/src/assets/icons/spiral-arrow.svg
new file mode 100644
index 00000000..45428166
--- /dev/null
+++ b/src/assets/icons/spiral-arrow.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/assets/icons/user.svg b/src/assets/icons/user.svg
new file mode 100644
index 00000000..d2471d52
--- /dev/null
+++ b/src/assets/icons/user.svg
@@ -0,0 +1,5 @@
+
diff --git a/src/assets/images/Repo.svg b/src/assets/images/Repo.svg
new file mode 100644
index 00000000..e12e141d
--- /dev/null
+++ b/src/assets/images/Repo.svg
@@ -0,0 +1,279 @@
+
diff --git a/src/assets/images/add-bounty.png b/src/assets/images/add-bounty.png
new file mode 100644
index 00000000..d57fdb81
Binary files /dev/null and b/src/assets/images/add-bounty.png differ
diff --git a/src/assets/images/developer1.png b/src/assets/images/developer1.png
new file mode 100644
index 00000000..1663fdc2
Binary files /dev/null and b/src/assets/images/developer1.png differ
diff --git a/src/assets/images/developer2.png b/src/assets/images/developer2.png
new file mode 100644
index 00000000..f3216d4d
Binary files /dev/null and b/src/assets/images/developer2.png differ
diff --git a/src/assets/images/developer3.png b/src/assets/images/developer3.png
new file mode 100644
index 00000000..882228c6
Binary files /dev/null and b/src/assets/images/developer3.png differ
diff --git a/src/assets/images/developer4.png b/src/assets/images/developer4.png
new file mode 100644
index 00000000..90607f2e
Binary files /dev/null and b/src/assets/images/developer4.png differ
diff --git a/src/assets/images/earth.svg b/src/assets/images/earth.svg
new file mode 100644
index 00000000..2d1c9360
--- /dev/null
+++ b/src/assets/images/earth.svg
@@ -0,0 +1,552 @@
+
\ No newline at end of file
diff --git a/src/assets/images/line.svg b/src/assets/images/line.svg
new file mode 100644
index 00000000..02d23908
--- /dev/null
+++ b/src/assets/images/line.svg
@@ -0,0 +1,48 @@
+
\ No newline at end of file
diff --git a/src/assets/images/p-logo.svg b/src/assets/images/p-logo.svg
new file mode 100644
index 00000000..4f38cf98
--- /dev/null
+++ b/src/assets/images/p-logo.svg
@@ -0,0 +1,10 @@
+
diff --git a/src/assets/images/pl-discord.png b/src/assets/images/pl-discord.png
new file mode 100644
index 00000000..2a917a86
Binary files /dev/null and b/src/assets/images/pl-discord.png differ
diff --git a/src/assets/images/pl-repo.png b/src/assets/images/pl-repo.png
new file mode 100644
index 00000000..2431014a
Binary files /dev/null and b/src/assets/images/pl-repo.png differ
diff --git a/src/assets/images/pl-viewblock.png b/src/assets/images/pl-viewblock.png
new file mode 100644
index 00000000..b1b32b89
Binary files /dev/null and b/src/assets/images/pl-viewblock.png differ
diff --git a/src/assets/images/profile-page.png b/src/assets/images/profile-page.png
new file mode 100644
index 00000000..c12b388f
Binary files /dev/null and b/src/assets/images/profile-page.png differ
diff --git a/src/assets/images/repo-create.gif b/src/assets/images/repo-create.gif
new file mode 100644
index 00000000..de3bdd0c
Binary files /dev/null and b/src/assets/images/repo-create.gif differ
diff --git a/src/assets/images/reward-completed.png b/src/assets/images/reward-completed.png
new file mode 100644
index 00000000..2b697dc2
Binary files /dev/null and b/src/assets/images/reward-completed.png differ
diff --git a/src/assets/images/reward.png b/src/assets/images/reward.png
new file mode 100644
index 00000000..9a64b327
Binary files /dev/null and b/src/assets/images/reward.png differ
diff --git a/src/components/Landing/BackedByArweave.tsx b/src/components/Landing/BackedByArweave.tsx
new file mode 100644
index 00000000..866dcc7f
--- /dev/null
+++ b/src/components/Landing/BackedByArweave.tsx
@@ -0,0 +1,112 @@
+import SVG from 'react-inlinesvg'
+
+import ArweaveIcon from '@/assets/icons/arweave.svg'
+import CloudCheckIcon from '@/assets/icons/cloud-check.svg'
+import FolderCodeIcon from '@/assets/icons/folder-code.svg'
+import GraphBarIcon from '@/assets/icons/graph-bar.svg'
+import Line from '@/assets/images/line.svg'
+
+const features = [
+ {
+ title: 'Simple back-up',
+ description: 'Back-up existing code, on a platform backed by permanent storage',
+ icon: FolderCodeIcon
+ },
+ {
+ title: 'Full ownership',
+ description: 'You code is fully owned by you, from creation to shipping',
+ icon: CloudCheckIcon
+ },
+ {
+ title: 'Transparent metrics',
+ description: 'Immutable Contribution Graphs that cannot be altered',
+ icon: GraphBarIcon
+ }
+]
+
+export default function BackedByArweave() {
+ return (
+
+
+
Own
+
+ All stored permanently on
+ Arweave
+ , owned by you
+
+
+ Complete transparency on how your code repos are being stored
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {features.map((feature, index) => (
+
+
+
+
+
+
+
{feature.title}
+
+
+ {feature.description}
+
+
+ {index < features.length - 1 && (
+
+
+
+ )}
+
+ ))}
+
+
+
+
+
Explore Arweave
+
+
+ )
+}
diff --git a/src/components/Landing/Bounties.tsx b/src/components/Landing/Bounties.tsx
new file mode 100644
index 00000000..a0e32103
--- /dev/null
+++ b/src/components/Landing/Bounties.tsx
@@ -0,0 +1,64 @@
+import AddBounty from '@/assets/images/add-bounty.png'
+import Reward from '@/assets/images/reward.png'
+import RewardCompleted from '@/assets/images/reward-completed.png'
+
+const items = [
+ {
+ title: 'Create repos and bounties, all in one place',
+ image: AddBounty
+ },
+ {
+ title: 'Earn manage bounty submissions',
+ image: Reward
+ },
+ {
+ title: 'Get paid the instant your PR is accepted',
+ image: RewardCompleted
+ }
+]
+export default function Bounties() {
+ return (
+
+
+
Bounties
+
+ Earn
+ from your work
+
+
+ Your contributions don’t just shape the future, they’re rewarded in real time. Whether it’s open source
+ projects, repository maintenance, or code reviews
+
+
+
+ {items.map((item, idx) => (
+
+
+ {item.title}
+
+
+
+
+
+
+ ))}
+
+
+
+
+ Explore projects
+
+
+
+
Learn more
+
+
+
+ )
+}
diff --git a/src/components/Landing/Builders.tsx b/src/components/Landing/Builders.tsx
new file mode 100644
index 00000000..88221f50
--- /dev/null
+++ b/src/components/Landing/Builders.tsx
@@ -0,0 +1,76 @@
+import SVG from 'react-inlinesvg'
+
+import RepoCreate from '@/assets/images/repo-create.gif'
+
+const features = [
+ {
+ title: 'Seamless Repository/Project Creation',
+ description: 'Create a repo with one click and dive in without the hassle',
+ className: 'border-l-4 border-0 border-sky-300'
+ },
+ {
+ title: 'Transparent collaboration',
+ description: 'Intuitive Issue Tracker & Pull Request System to make merges easy',
+ className: ''
+ },
+ {
+ title: 'Straightforward design',
+ description: 'From a simple onboarding to cross-project collaboration',
+ className: ''
+ }
+]
+
+export default function Builders() {
+ return (
+
+
+
+
Build
+
+
+
+
+ Built
+ for builders
+
+
+ Protocol.land is the go-to decentralized infrastructure whether you&aposre a solo developer, a startup
+ team, or a thriving community
+