Merge pull request 'fix: website now is responsive and has the new design' (#1) from ditorodev/fix-website into master
Reviewed-on: #1
|
@ -19,6 +19,7 @@
|
||||||
"autoprefixer": "^10.4.14",
|
"autoprefixer": "^10.4.14",
|
||||||
"qrcode": "^1.5.3",
|
"qrcode": "^1.5.3",
|
||||||
"react": "^18.2.0",
|
"react": "^18.2.0",
|
||||||
|
"react-dom": "^18.2.0",
|
||||||
"sass": "^1.62.1",
|
"sass": "^1.62.1",
|
||||||
"tailwindcss": "^3.3.2",
|
"tailwindcss": "^3.3.2",
|
||||||
"typewriter-effect": "^2.19.0"
|
"typewriter-effect": "^2.19.0"
|
||||||
|
|
After Width: | Height: | Size: 406 KiB |
Before Width: | Height: | Size: 472 KiB After Width: | Height: | Size: 106 KiB |
After Width: | Height: | Size: 268 KiB |
Before Width: | Height: | Size: 110 KiB After Width: | Height: | Size: 99 KiB |
After Width: | Height: | Size: 225 KiB |
Before Width: | Height: | Size: 130 KiB After Width: | Height: | Size: 168 KiB |
After Width: | Height: | Size: 468 KiB |
Before Width: | Height: | Size: 254 KiB After Width: | Height: | Size: 247 KiB |
After Width: | Height: | Size: 460 KiB |
Before Width: | Height: | Size: 273 KiB After Width: | Height: | Size: 246 KiB |
|
@ -1,21 +1,33 @@
|
||||||
---
|
---
|
||||||
import './CTO.scss';
|
import avatar from "/src/assets/cto-avatar.png";
|
||||||
import avatar from '/src/assets/cto-avatar.png';
|
import abstractBg from "/src/assets/single-brand-bg-1.png";
|
||||||
---
|
---
|
||||||
|
|
||||||
<section id="cto">
|
<section id="cto" class="w-full my-24 flex flex-row">
|
||||||
<div class="feature-group">
|
<div class="flex flex-col mx-10 sm:mx-20 xl:mx-40 lg:max-w-xl gap-y-10">
|
||||||
<h2>Community-Powered</h2>
|
<h2
|
||||||
<h3>Building the open, user-owned web you deserve</h3>
|
class="font-display text-primary font-bold text-xl md:text-2xl uppercase"
|
||||||
<p>
|
>
|
||||||
Right now, Lume has only one full-time developer, a few freelancers, and limited helper staff! We need help from developers, fundraisers, funders, and contributors to bring the new internet to the masses.
|
Community-Powered
|
||||||
|
</h2>
|
||||||
|
<h3 class="font-display text-4xl md:text-6xl font-bold">
|
||||||
|
Building a new world for your data
|
||||||
|
</h3>
|
||||||
|
<p class="font-body text-xl md:text-3xl text-body">
|
||||||
|
Right now, Lume has only one full-time developer and limited helper staff!
|
||||||
|
We need help from developers, fundraisers, funders, and contributors to
|
||||||
|
bring the new internet to the masses.
|
||||||
</p>
|
</p>
|
||||||
<div class="bio">
|
<div class="flex flex-row items-center gap-6">
|
||||||
<img src={avatar.src} />
|
<img src={avatar.src} class="w-20 h-20" />
|
||||||
<div>
|
<div class="flex flex-col font-body">
|
||||||
<strong>Derrick Hammer</strong><br />
|
<h6 class="text-xl">Derrick Hammer</h6>
|
||||||
CTO
|
<p class="text-lg text-body">CTO</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<img
|
||||||
|
src={abstractBg.src}
|
||||||
|
class="float-right -z-10 absolute right-0 w-[800px]"
|
||||||
|
/>
|
||||||
</section>
|
</section>
|
||||||
|
|
|
@ -1,90 +1,38 @@
|
||||||
---
|
---
|
||||||
import './Meme.scss';
|
import mulletMeme from "/src/assets/centralized-mullet-meme.png";
|
||||||
import meme1 from '/src/assets/meme-1.png';
|
|
||||||
import meme2 from '/src/assets/meme-2.png';
|
|
||||||
import meme3 from '/src/assets/meme-3.png';
|
|
||||||
import meme4 from '/src/assets/meme-4.png';
|
|
||||||
import mulletMeme from '/src/assets/mullet-meme.jpg';
|
|
||||||
---
|
---
|
||||||
|
|
||||||
<section id="meme" class="tilted-bg">
|
<section id="meme" class="tilted-bg">
|
||||||
<div class="feature-group">
|
<div class="flex flex-col-reverse lg:flex-row gap-10 mx-10 sm:mx-20 xl:mx-40">
|
||||||
<h2>
|
<div class="space-y-10">
|
||||||
Busting the Decentralized Web3 Myth
|
<h2
|
||||||
</h2>
|
class="font-display text-primary font-bold text-xl md:text-2xl uppercase"
|
||||||
<h3>
|
>
|
||||||
The Decentralized Mullet
|
BUSTING THE DECENTERALIZED WEB3 MYTH
|
||||||
</h3>
|
</h2>
|
||||||
<img src={mulletMeme.src} alt="Web 1" style="padding-bottom: 3em"/>
|
<h3 class="font-display text-4xl md:text-6xl font-bold">
|
||||||
<p>
|
The Centralized Mullet
|
||||||
Right now, despite many claims, a majority, <b>if not all</b>, the services that build the legos of Web3 are
|
</h3>
|
||||||
actually centralized, both with what you can <b>see</b> and what you <b>can't.</b></p>
|
<p class="font-body text-xl md:text-3xl text-body">
|
||||||
<p>While some <b>blockchains</b> may be more <b>decentralized</b> than others, access to nearly every blockchain is also
|
Right now, despite many claims, a majority, if not all, the services
|
||||||
<b>centralized</b>
|
that build the legos of Web3 are actually centralized, both with what
|
||||||
</p>
|
you can see and what you can't.
|
||||||
<p>
|
</p>
|
||||||
So consider this a call to action for our community to go back to ethos and make Web3 <i>real</i>
|
|
||||||
</p>
|
<p class="font-body text-xl md:text-3xl text-body">
|
||||||
</div>
|
While some blockchains may be more decentralized than others, access to
|
||||||
<div class="meme-items">
|
nearly every blockchain is also entralized.
|
||||||
<div class="meme-item">
|
</p>
|
||||||
<div>
|
<p class="font-body text-xl md:text-3xl text-body">
|
||||||
<img src={meme1.src} alt="Web 1"/>
|
So consider this a call to action for our community to go back to ethos
|
||||||
<h2>Web1</h2>
|
and make Web3 real.
|
||||||
</div>
|
</p>
|
||||||
<p>
|
|
||||||
Web1 is probably best remembered by geeks as chat rooms and IRC (which still exist to this day, but only to power users).
|
|
||||||
To normal users it was the age of AOL dial-up and similar networks where you got web, email, shopping, and chat all in one place.
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
<div class="meme-item">
|
|
||||||
<div>
|
|
||||||
<img src={meme2.src}/>
|
|
||||||
<h2>Web2</h2>
|
|
||||||
</div>
|
|
||||||
<p>
|
|
||||||
Web2 since evolved with the web browser and we got better gaming, online apps, video streaming and calling and much, much more. However, it also got quickly captured by Silicon Valley and what some refer to as the "tech bros".
|
|
||||||
<br /><br />
|
|
||||||
So <i>despite</i> the innovation that occurred, it has turned into a top-down system where only a few geeks/CEO's and their investors control your entire web.
|
|
||||||
<br /><br />
|
|
||||||
This also excludes the wider internet infrastructure of domains and ISP's (internet providers and hosting), who also play a part in controlling your web, be it for your "safety", or other reasons.
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
<div class="meme-item">
|
|
||||||
<div>
|
|
||||||
<img src={meme3.src}/>
|
|
||||||
<h2>Crypto & Defi</h2>
|
|
||||||
</div>
|
|
||||||
<p>
|
|
||||||
We get the birth of Bitcoin and all of the innovation that followed. While BTC and a handful of other chains have remained decentralized both in operation, and access, the innovation over time has caused things to re-centralize.
|
|
||||||
<br /><br />
|
|
||||||
|
|
||||||
This is due to several factors including big money coming in, pushing greed, hype, and "FOMO". The invention of several new logos's causing this to only get worse, creating a classic "boom" and "bust". Human nature tends to be greedy, so over time, money overrode principles.
|
|
||||||
|
|
||||||
<br /><br />
|
|
||||||
|
|
||||||
Many development teams prioritized inventing new ideas and "shipping" them to users, while selling them "tokens" to exit at their expense, all while knowing none of what they created was <i>truly decentralized</i>.
|
|
||||||
<br /><br />
|
|
||||||
|
|
||||||
It became one large crypto casino.
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
<div class="meme-item">
|
|
||||||
<div>
|
|
||||||
<img src={meme4.src}/>
|
|
||||||
<h2>Web3</h2>
|
|
||||||
</div>
|
|
||||||
<p>
|
|
||||||
What to say about Web3? Honestly... upfront it appeared to get used as a new buzz word to replace "DeFi". Terms like "Web3" and "Metaverse" have many different meanings to many people. It is intended to include more than just money and trading, and yet every blockchain-based system that can be labeled "web3" still builds onto of the same centralized crypto/defi infrastructure.
|
|
||||||
|
|
||||||
<br /><br />
|
|
||||||
|
|
||||||
The end result is an ecosystem that promotes and <b><i>wants</i></b> to be decentralized, but where money overrules ideology, ethos, and principles. This is in part due to who's bankrolling it all, and thus the incentives to build make it more about the money then about freedom.
|
|
||||||
|
|
||||||
<br /><br />
|
|
||||||
|
|
||||||
There needs to be a balance here between free markets/money and public goods/infra, and so far things are way out of wack and need to be fixed.
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
<img
|
||||||
|
src={mulletMeme.src}
|
||||||
|
class="w-[500px] xl:w-[550px] max-h-[650px] self-center"
|
||||||
|
alt="Web 1"
|
||||||
|
style="padding-bottom: 3em"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
|
@ -1,10 +1,21 @@
|
||||||
---
|
---
|
||||||
import './Typewriter.scss';
|
import TypewriterContent from "./TypewriterContent.jsx";
|
||||||
import TypewriterContent from './TypewriterContent.jsx';
|
|
||||||
---
|
---
|
||||||
|
|
||||||
<section id="typewriter">
|
<div class="absolute -z-10 -right-[250px] top-[250px] w-[1250px]">
|
||||||
<h1>
|
<img
|
||||||
|
class="object-contain w-[1250px]"
|
||||||
|
src="/src/assets/video-placeholder.webp"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<section
|
||||||
|
id="typewriter"
|
||||||
|
class="w-full overflow-hidden flex flex-row items-center justify-center"
|
||||||
|
>
|
||||||
|
<h1
|
||||||
|
class="text-7xl md:text-9xl mt-10 mb-10 min-h-[375px] max-w-full px-10 text-center"
|
||||||
|
>
|
||||||
<TypewriterContent client:load />
|
<TypewriterContent client:load />
|
||||||
</h1>
|
</h1>
|
||||||
</section>
|
</section>
|
||||||
|
|
|
@ -1,24 +0,0 @@
|
||||||
@import "/src/styles/mixins.scss";
|
|
||||||
@import "/src/styles/vars.scss";
|
|
||||||
|
|
||||||
#typewriter {
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: center;
|
|
||||||
padding: 0 7.5%;
|
|
||||||
|
|
||||||
h1 {
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
min-height: 2.2em;
|
|
||||||
margin: max(1.1em, 5rem) 0 max(0.9em, 7rem);
|
|
||||||
@include fluid-font-size-xs(6.25rem);
|
|
||||||
line-height: 110%;
|
|
||||||
letter-spacing: -0.06em;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
.highlight {
|
|
||||||
color: $color-aquamarine;
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -12,14 +12,14 @@ const HeaderContent = () => {
|
||||||
words = randomString.split(' ');
|
words = randomString.split(' ');
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Typewriter options={{ cursor: '<span class="highlight">_</span>' }} onInit={ (typewriter) => {
|
<Typewriter options={{ cursor: '<span class="text-primary">_</span>' }} onInit={(typewriter) => {
|
||||||
typewriter
|
typewriter
|
||||||
.changeDelay(50)
|
.changeDelay(50)
|
||||||
.typeString(randomString.substring(0, randomString.lastIndexOf(' ')) + ' ')
|
.typeString(randomString.substring(0, randomString.lastIndexOf(' ')) + ' ')
|
||||||
.start();
|
.start();
|
||||||
typewriter
|
typewriter
|
||||||
.typeString('<span class="highlight">' + words[words.length - 1] + '</span>')
|
.typeString('<span class="text-primary">' + words[words.length - 1] + '</span>')
|
||||||
} }/>
|
}} />
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1,15 +1,23 @@
|
||||||
---
|
<section
|
||||||
import './Vision.scss';
|
id="vision"
|
||||||
---
|
class="bg-black/40 p-5 lg:bg-transparent lg:p-0 space-y-10 mx-10 sm:mx-20 xl:mx-40"
|
||||||
|
>
|
||||||
<section id="vision">
|
<h2 class="font-display text-primary font-bold text-xl md:text-2xl uppercase">
|
||||||
<div class="feature-group">
|
Our Vision
|
||||||
<h2>Our Vision</h2>
|
</h2>
|
||||||
<h3>Enable an open, censorship-resistant web</h3>
|
<h3 class="font-display text-4xl md:text-6xl font-bold">
|
||||||
<p>Web3 is the next evolution of the internet that combines many legos from past decades.</p>
|
Make Web3 easy for everyone
|
||||||
<p>Benefits include internet <b>freedom</b>, <b>privacy</b>, and <b>ownership</b> over your personal web.</p>
|
</h3>
|
||||||
<div>
|
<p class="font-body text-xl md:text-3xl text-body">
|
||||||
<a href="#" class="btn-main">Download Extension</a>
|
Web3 offers freedom of speech, data sovereignty, and privacy. We simplify
|
||||||
</div>
|
Web3 by bridging the gap between the two webs, enabling easy usage without
|
||||||
</div>
|
censorship or backdoors.over your personal web.
|
||||||
|
</p>
|
||||||
|
<div class="pt-10 w-full">
|
||||||
|
<a
|
||||||
|
href="#"
|
||||||
|
class="text-2xl w-full block text-center sm:w-auto rounded-md bg-primary py-3 px-10 text-[black] font-body"
|
||||||
|
>Download Extension</a
|
||||||
|
>
|
||||||
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
|
@ -1,40 +0,0 @@
|
||||||
@import "/src/styles/vars.scss";
|
|
||||||
|
|
||||||
#vision {
|
|
||||||
position: relative;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
justify-content: center;
|
|
||||||
min-height: 56.8em;
|
|
||||||
margin: 0 7.5%;
|
|
||||||
|
|
||||||
&::before {
|
|
||||||
content: "";
|
|
||||||
position: absolute;
|
|
||||||
inset: 0;
|
|
||||||
min-width: 68em;
|
|
||||||
margin-left: min(0em, calc((100% - 68em) / 2));
|
|
||||||
background-image: url("/src/assets/video-placeholder.webp");
|
|
||||||
background-position: right top;
|
|
||||||
background-repeat: no-repeat;
|
|
||||||
background-size: contain;
|
|
||||||
z-index: -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
.feature-group {
|
|
||||||
max-width: 64em;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media screen and (max-width: 80rem) {
|
|
||||||
p {
|
|
||||||
background: rgba($color-blue-charcoal-2, 0.75);
|
|
||||||
border-radius: 0.5em;
|
|
||||||
padding: 0.3em 0.5em;
|
|
||||||
margin: -0.3em -0.5em;
|
|
||||||
}
|
|
||||||
|
|
||||||
p + p {
|
|
||||||
margin-top: 0.48em;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,25 +1,30 @@
|
||||||
---
|
<section
|
||||||
import './Web3.scss';
|
id="web3"
|
||||||
---
|
class="flex flex-col lg:flex-row lg:bg-transparent lg:p-0 gap-10 mx-10 sm:mx-20 xl:mx-40"
|
||||||
|
>
|
||||||
<section id="web3" class="tilted-bg">
|
<div class="flex-1 -ml-10 -mr-20 lg:-ml-40 lg:mr-0">
|
||||||
<div class="feature-group">
|
<img src="/src/assets/home-gfx-left.png" class="w-full" />
|
||||||
<h2>
|
</div>
|
||||||
What is the Web?
|
<div class="flex-1 -mt-40 space-y-10 flex flex-col justify-center">
|
||||||
</h2>
|
<h2
|
||||||
<h3>
|
class="font-display text-primary font-bold text-xl md:text-2xl uppercase"
|
||||||
Why Web3 matters
|
>
|
||||||
</h3>
|
What is the Web?
|
||||||
<p>
|
</h2>
|
||||||
Web3 often gets mixed up with other terms/buzz words such as "crypto" or "defi". However, the current web
|
<h3 class="font-display text-4xl md:text-6xl font-bold">
|
||||||
you use now is often referred to insiders as "web2".
|
Why Web3 matters
|
||||||
</p>
|
</h3>
|
||||||
<p>
|
<p class="font-body text-xl md:text-3xl text-body">
|
||||||
While Web3 can include many decentralized services, it symbolizes the multiverse, or the entirety of all
|
Web3 gives people control over their data, privacy, and ownership. Lume's
|
||||||
decentralized & P2P networks. Some may refer to this as the "metaverse", or even "dweb", but we can agree to disagree 😉.
|
affordable Web3 tech aims to speed up the transition from Web2 to Web3,
|
||||||
</p>
|
which matters for privacy and security.
|
||||||
<div>
|
</p>
|
||||||
<a href="/what-is-web3" class="btn-main">Learn More</a>
|
<div class="pt-10 w-full">
|
||||||
</div>
|
<a
|
||||||
|
href="#"
|
||||||
|
class="text-2xl w-full block text-center sm:w-auto rounded-md bg-primary py-3 px-10 text-[black] font-body"
|
||||||
|
>Learn More</a
|
||||||
|
>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
|
@ -1,49 +0,0 @@
|
||||||
@import "/src/styles/mixins.scss";
|
|
||||||
@import "/src/styles/vars.scss";
|
|
||||||
|
|
||||||
#web3 {
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
justify-content: center;
|
|
||||||
height: 70em;
|
|
||||||
margin-top: 6em;
|
|
||||||
|
|
||||||
&::after {
|
|
||||||
content: "";
|
|
||||||
position: absolute;
|
|
||||||
left: 0;
|
|
||||||
top: 50%;
|
|
||||||
width: 100%;
|
|
||||||
height: 81.7em;
|
|
||||||
max-width: 63.7em;
|
|
||||||
margin: -40em 0 0;
|
|
||||||
background-image: url("/src/assets/home-gfx-left.png");
|
|
||||||
background-position: left;
|
|
||||||
background-repeat: no-repeat;
|
|
||||||
background-size: contain;
|
|
||||||
pointer-events: none;
|
|
||||||
z-index: -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
.feature-group {
|
|
||||||
@include fluid-position-left(58.4em, 58em);
|
|
||||||
max-width: 64em;
|
|
||||||
|
|
||||||
h2 {
|
|
||||||
margin-top: 1em;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media screen and (max-width: 80rem) {
|
|
||||||
p {
|
|
||||||
background: rgba($color-blue-charcoal, 0.75);
|
|
||||||
border-radius: 0.5em;
|
|
||||||
padding: 0.3em 0.5em;
|
|
||||||
margin: -0.3em -0.5em;
|
|
||||||
}
|
|
||||||
|
|
||||||
p + p {
|
|
||||||
margin-top: 0.48em;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -0,0 +1,135 @@
|
||||||
|
---
|
||||||
|
import meme1 from "/src/assets/meme-1.png";
|
||||||
|
import meme2 from "/src/assets/meme-2.png";
|
||||||
|
import meme3 from "/src/assets/meme-3.png";
|
||||||
|
import meme4 from "/src/assets/meme-4.png";
|
||||||
|
import meme1Small from "/src/assets/meme-1-small.png";
|
||||||
|
import meme2Small from "/src/assets/meme-2-small.png";
|
||||||
|
import meme3Small from "/src/assets/meme-3-small.png";
|
||||||
|
import meme4Small from "/src/assets/meme-4-small.png";
|
||||||
|
---
|
||||||
|
|
||||||
|
<section
|
||||||
|
class="flex flex-col w-full border-y border-dark-aquamarine divide-y divide-dark-aquamarine lg:h-[1200px]"
|
||||||
|
>
|
||||||
|
<!-- MEME GRID BIG -->
|
||||||
|
<div
|
||||||
|
class="hidden lg:flex flex-1 flex-row w-full divide-x divide-dark-aquamarine"
|
||||||
|
>
|
||||||
|
<div class="relative flex-1 w-1/2 h-full max-w-full overflow-hidden">
|
||||||
|
<img
|
||||||
|
src={meme1.src}
|
||||||
|
alt=""
|
||||||
|
class="absolute bottom-0 -left-[100px] object-contain xl:-left-5 float-left"
|
||||||
|
/>
|
||||||
|
<span class="float-right mt-16 w-[300px] space-y-10 mr-5">
|
||||||
|
<h3 class="font-display text-6xl">Web1</h3>
|
||||||
|
<p class="font-body text-2xl text-body">
|
||||||
|
Nostalgically recalled for chat rooms and IRC by tech enthusiasts,
|
||||||
|
signifies the era of integrated services like AOL dial-up, providing
|
||||||
|
web access, email, shopping, and chat for mainstream users.
|
||||||
|
</p>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
<div class="relative flex-1 max-w-full overflow-hidden">
|
||||||
|
<img
|
||||||
|
src={meme2.src}
|
||||||
|
alt=""
|
||||||
|
class="absolute bottom-0 -left-[110px] object-contain xl:-left-5 float-left"
|
||||||
|
/>
|
||||||
|
<span class="float-right mt-16 w-[300px] space-y-10 mr-5">
|
||||||
|
<h3 class="font-display text-6xl">Web2</h3>
|
||||||
|
<p class="font-body text-2xl text-body">
|
||||||
|
Featuring improved gaming, online apps, and video streaming, was
|
||||||
|
swiftly monopolized by Silicon Valley, creating a top-down system
|
||||||
|
controlled by a few tech elites. Despite innovations, this system,
|
||||||
|
including the broader internet infrastructure like ISPs and domains,
|
||||||
|
regulates your web experience, often citing "safety".
|
||||||
|
</p>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div
|
||||||
|
class="hidden lg:flex flex-1 flex-row w-full divide-x divide-dark-aquamarine"
|
||||||
|
>
|
||||||
|
<div class="relative flex-1">
|
||||||
|
<img
|
||||||
|
src={meme3.src}
|
||||||
|
alt=""
|
||||||
|
class="absolute bottom-0 -left-[110px] xl:-left-5 float-left"
|
||||||
|
/>
|
||||||
|
<span class="float-right mt-16 w-[300px] space-y-10 mr-1 xl:mr-5">
|
||||||
|
<h3 class="font-display text-6xl">Crypto/<br />DeFi</h3>
|
||||||
|
<p class="font-body text-2xl text-body">
|
||||||
|
The advent of Bitcoin sparked innovation, but over time,
|
||||||
|
centralization increased. Factors such as the influx of big money,
|
||||||
|
greed, hype, and FOMO contributed to this trend. The introduction of
|
||||||
|
many money legos worsened the situation, leading to boom and bust
|
||||||
|
cycles.
|
||||||
|
</p>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
<div class="relative flex-1 max-w-full overflow-hidden">
|
||||||
|
<img
|
||||||
|
src={meme4.src}
|
||||||
|
alt=""
|
||||||
|
class="absolute bottom-0 -left-[110px] object-contain xl:-left-5 float-left"
|
||||||
|
/>
|
||||||
|
<span class="float-right mt-16 w-[300px] space-y-10 mr-1 xl:mr-5">
|
||||||
|
<h3 class="font-display text-6xl">Web3</h3>
|
||||||
|
<p class="font-body text-2xl text-body">
|
||||||
|
Web3 emerged as a buzzword to replace DeFi, but its meaning varies.
|
||||||
|
Despite aiming for decentralization, Web3 relies on centralized
|
||||||
|
crypto/DeFi infrastructure. Money dominates over ideology, driven by
|
||||||
|
funders. A balance is necessary between free markets and public goods
|
||||||
|
to address the current imbalance.
|
||||||
|
</p>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- MEME GRID BIG -->
|
||||||
|
|
||||||
|
<!-- MEME GRID SMALL -->
|
||||||
|
<div class="lg:hidden flex flex-col gap-8 py-10 px-8">
|
||||||
|
<h3 class="font-display text-3xl">Web1</h3>
|
||||||
|
<p class="font-body text-body text-xl">
|
||||||
|
Nostalgically recalled for chat rooms and IRC by tech enthusiasts,
|
||||||
|
signifies the era of integrated services like AOL dial-up, providing web
|
||||||
|
access, email, shopping, and chat for mainstream users.
|
||||||
|
</p>
|
||||||
|
<img src={meme1Small.src} class="-mb-10 w-60 self-center" />
|
||||||
|
</div>
|
||||||
|
<div class="lg:hidden flex flex-col gap-8 py-10 px-8">
|
||||||
|
<h3 class="font-display text-3xl">Web2</h3>
|
||||||
|
<p class="font-body text-body text-xl">
|
||||||
|
Featuring improved gaming, online apps, and video streaming, was swiftly
|
||||||
|
monopolized by Silicon Valley, creating a top-down system controlled by a
|
||||||
|
few tech elites. Despite innovations, this system, including the broader
|
||||||
|
internet infrastructure like ISPs and domains, regulates your web
|
||||||
|
experience, often citing "safety".
|
||||||
|
</p>
|
||||||
|
<img src={meme2Small.src} class="-mb-10 w-60 self-center" />
|
||||||
|
</div>
|
||||||
|
<div class="lg:hidden flex flex-col gap-8 py-10 px-8">
|
||||||
|
<h3 class="font-display text-3xl">Crypto/DeFi</h3>
|
||||||
|
<p class="font-body text-body text-xl">
|
||||||
|
The advent of Bitcoin sparked innovation, but over time, centralization
|
||||||
|
increased. Factors such as the influx of big money, greed, hype, and FOMO
|
||||||
|
contributed to this trend. The introduction of many money legos worsened
|
||||||
|
the situation, leading to boom and bust cycles.
|
||||||
|
</p>
|
||||||
|
<img src={meme3Small.src} class="-mb-10 w-60 self-center" />
|
||||||
|
</div>
|
||||||
|
<div class="lg:hidden flex flex-col gap-8 py-10 px-8">
|
||||||
|
<h3 class="font-display text-3xl">Web3</h3>
|
||||||
|
<p class="font-body text-body text-xl">
|
||||||
|
Web3 emerged as a buzzword to replace DeFi, but its meaning varies.
|
||||||
|
Despite aiming for decentralization, Web3 relies on centralized
|
||||||
|
crypto/DeFi infrastructure. Money dominates over ideology, driven by
|
||||||
|
funders. A balance is necessary between free markets and public goods to
|
||||||
|
address the current imbalance.
|
||||||
|
</p>
|
||||||
|
<img src={meme4Small.src} class="-mb-10 w-60 self-center" />
|
||||||
|
</div>
|
||||||
|
<!-- MEME GRID SMALL -->
|
||||||
|
</section>
|
|
@ -0,0 +1,71 @@
|
||||||
|
---
|
||||||
|
const { view } = Astro.props;
|
||||||
|
|
||||||
|
function getActiveClass(linkView) {
|
||||||
|
return view === linkView ? "border-b border-white" : "";
|
||||||
|
}
|
||||||
|
---
|
||||||
|
|
||||||
|
<nav class="flex flex-row px-[25px] justify-between items-center py-8 md:p-14">
|
||||||
|
<div class="logo">
|
||||||
|
<!-- TODO: Hide this logo and show simplified when 320 > width -->
|
||||||
|
<a href="/">
|
||||||
|
<img class="w-44" src="/src/assets/lume-logo.png" alt="Lume Logo" />
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<menu
|
||||||
|
class="hidden flex-col items-center gap-14 z-20 max-sm:absolute max-sm:right-0 max-sm:top-0 max-sm:bottom-0 max-sm:z-20 max-sm:py-20 max-sm:px-10 max-sm:bg-black lg:flex-row lg:flex"
|
||||||
|
>
|
||||||
|
<li>
|
||||||
|
<a href="/" class={getActiveClass("home")}>Home</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="/vision" class={getActiveClass("vision")}>Vision</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="/what-is-web3" class={getActiveClass("what")}>What is Web3</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="/donate" class={getActiveClass("donate")}>Donate</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a
|
||||||
|
href="#"
|
||||||
|
class="text-md rounded-md bg-primary py-3 px-10 mt-14 text-[black] font-body"
|
||||||
|
>Download Extension</a
|
||||||
|
>
|
||||||
|
</li>
|
||||||
|
</menu>
|
||||||
|
<div
|
||||||
|
id="navbar-overlay"
|
||||||
|
class="hidden lg:hidden bg-black/40 w-screen h-screen fixed z-10 top-0 botton-0 right-0 left-0"
|
||||||
|
>
|
||||||
|
</div>
|
||||||
|
<button id="hamburger" class="z-30 text-4xl lg:hidden">☰</button>
|
||||||
|
<script>
|
||||||
|
const navbarOverlayEl = document.getElementById("navbar-overlay");
|
||||||
|
const hamburgerEl = document.getElementById("hamburger");
|
||||||
|
const menuEl = document.querySelector("menu");
|
||||||
|
|
||||||
|
function handleMenuClick() {
|
||||||
|
// Toggle menu open/closed
|
||||||
|
["hidden", "flex"].forEach((className) => {
|
||||||
|
menuEl.classList.toggle(className);
|
||||||
|
});
|
||||||
|
|
||||||
|
navbarOverlayEl.classList.toggle("hidden");
|
||||||
|
}
|
||||||
|
|
||||||
|
function handleOverlayClick() {
|
||||||
|
// Close menu on overlay click
|
||||||
|
["hidden", "flex"].forEach((className) => {
|
||||||
|
menuEl.classList.toggle(className);
|
||||||
|
});
|
||||||
|
|
||||||
|
navbarOverlayEl.classList.toggle("hidden");
|
||||||
|
}
|
||||||
|
|
||||||
|
hamburgerEl.addEventListener("click", handleMenuClick);
|
||||||
|
navbarOverlayEl.addEventListener("click", handleOverlayClick);
|
||||||
|
</script>
|
||||||
|
</nav>
|
|
@ -1,74 +0,0 @@
|
||||||
import React, { useState, useEffect } from 'react';
|
|
||||||
import './Navbar.scss';
|
|
||||||
import logo from '/src/assets/lume-logo.png';
|
|
||||||
|
|
||||||
function Navbar({ view }) {
|
|
||||||
const [nav, setNav] = useState(false);
|
|
||||||
|
|
||||||
const toggleNav = () => {
|
|
||||||
if(nav) {
|
|
||||||
document.body.classList.remove("scroll-lock");
|
|
||||||
setNav(false);
|
|
||||||
} else {
|
|
||||||
document.body.classList.add("scroll-lock");
|
|
||||||
setNav(true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
const onMenuClick = function(event) {
|
|
||||||
if(!nav) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(event.pageX < event.target.offsetLeft) {
|
|
||||||
// click outside of menu
|
|
||||||
toggleNav();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
useEffect(() => {
|
|
||||||
let resizeTimeout;
|
|
||||||
const onResize = () => {
|
|
||||||
clearTimeout(resizeTimeout);
|
|
||||||
resizeTimeout = setTimeout(() => {
|
|
||||||
if(nav && window.innerWidth >= 900) {
|
|
||||||
toggleNav();
|
|
||||||
}
|
|
||||||
}, 25);
|
|
||||||
};
|
|
||||||
|
|
||||||
window.addEventListener('resize', onResize);
|
|
||||||
|
|
||||||
return () => window.removeEventListener('resize', onResize);
|
|
||||||
}, [nav]);
|
|
||||||
|
|
||||||
return (
|
|
||||||
<nav>
|
|
||||||
<div className="logo">
|
|
||||||
<a href="/">
|
|
||||||
<img src={logo.src} alt="Lume" />
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
<menu className={nav ? 'active' : undefined} onClick={onMenuClick}>
|
|
||||||
<li>
|
|
||||||
<a href="/" className={view === 'home' ? 'current' : undefined} aria-current={view === 'home' ? 'page' : undefined}>Home</a>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a href="/vision" className={view === 'vision' ? 'current' : undefined} aria-current={view === 'vision' ? 'page' : undefined}>Vision</a>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a href="/what-is-web3" className={view === 'what' ? 'current' : undefined} aria-current={view === 'what' ? 'page' : undefined}>What is Web3</a>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a href="/donate" className={view === 'donate' ? 'current' : undefined} aria-current={view === 'donate' ? 'page' : undefined}>Donate</a>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a className="btn-main download-btn" href="#">Download Extension</a>
|
|
||||||
</li>
|
|
||||||
</menu>
|
|
||||||
<button className="hamburger" onClick={toggleNav}>☰</button>
|
|
||||||
</nav>
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
export default Navbar
|
|
|
@ -1,115 +0,0 @@
|
||||||
@import "/src/styles/mixins.scss";
|
|
||||||
@import "/src/styles/vars.scss";
|
|
||||||
|
|
||||||
nav {
|
|
||||||
display: flex;
|
|
||||||
justify-content: space-between;
|
|
||||||
align-items: center;
|
|
||||||
padding: 2em 3.75%;
|
|
||||||
@include fluid-font-size(1.25rem);
|
|
||||||
white-space: nowrap;
|
|
||||||
|
|
||||||
.logo {
|
|
||||||
flex-shrink: 0;
|
|
||||||
|
|
||||||
img {
|
|
||||||
@include fluid-width-height(13.125rem, 4.375rem);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
menu {
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
|
|
||||||
li > a {
|
|
||||||
display: block;
|
|
||||||
padding: 0.55em 0.9em;
|
|
||||||
@include fluid-font-size(1.25rem);
|
|
||||||
text-decoration: underline;
|
|
||||||
text-decoration-color: transparent;
|
|
||||||
transition: text-decoration-color $transition-duration;
|
|
||||||
|
|
||||||
&.current, &:hover, &:active {
|
|
||||||
text-decoration-color: inherit;
|
|
||||||
}
|
|
||||||
|
|
||||||
&.current {
|
|
||||||
font-weight: 700;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.download-btn {
|
|
||||||
margin-left: 0.9em;
|
|
||||||
@include fluid-font-size(1.25rem);
|
|
||||||
text-decoration: none;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.hamburger {
|
|
||||||
display: none;
|
|
||||||
font-size: 2rem;
|
|
||||||
cursor: pointer;
|
|
||||||
z-index: 1;
|
|
||||||
margin: 0 3.75% 0 2rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media screen and (max-width: 56rem) {
|
|
||||||
nav {
|
|
||||||
position: sticky;
|
|
||||||
top: 0;
|
|
||||||
background: rgba($color-blue-charcoal-2, 0.8);
|
|
||||||
z-index: 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
menu {
|
|
||||||
display: flex;
|
|
||||||
align-items: flex-start;
|
|
||||||
flex-direction: column;
|
|
||||||
position: fixed;
|
|
||||||
top: 0;
|
|
||||||
right: min(-20rem, -100vw);
|
|
||||||
bottom: 0;
|
|
||||||
padding: 7.5em 7.5% 1em;
|
|
||||||
background: rgba($color-blue-charcoal-2, 0.8);
|
|
||||||
transition: right $transition-duration;
|
|
||||||
overflow-y: auto;
|
|
||||||
|
|
||||||
&.active {
|
|
||||||
right: 0;
|
|
||||||
|
|
||||||
&::before {
|
|
||||||
content: "";
|
|
||||||
position: fixed;
|
|
||||||
inset: 0;
|
|
||||||
background: $color-black;
|
|
||||||
animation: $transition-duration bg-opacity forwards;
|
|
||||||
z-index: -1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
li > a {
|
|
||||||
font-size: 1.25rem;
|
|
||||||
padding-left: 0.8em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.download-btn {
|
|
||||||
font-size: 1.25rem;
|
|
||||||
margin: 1.1em 0 0 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.hamburger {
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes bg-opacity {
|
|
||||||
0% {
|
|
||||||
opacity: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
100% {
|
|
||||||
opacity: 0.8;
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,8 +1,8 @@
|
||||||
---
|
---
|
||||||
import '../styles/global.scss';
|
import "../styles/global.scss";
|
||||||
import Navbar from '../components/Layout/Navbar/Navbar.jsx';
|
import Navbar from "../components/Layout/Navbar/Navbar.astro";
|
||||||
import Footer from '../components/Layout/Footer/Footer.astro';
|
import Footer from "../components/Layout/Footer/Footer.astro";
|
||||||
import JoinCommunity from '../components/Layout/JoinCommunity/JoinCommunity.astro';
|
import JoinCommunity from "../components/Layout/JoinCommunity/JoinCommunity.astro";
|
||||||
|
|
||||||
export interface Props {
|
export interface Props {
|
||||||
view: string;
|
view: string;
|
||||||
|
@ -17,16 +17,22 @@ const { view, title } = Astro.props;
|
||||||
<head>
|
<head>
|
||||||
<title>{title}</title>
|
<title>{title}</title>
|
||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0" />
|
<meta
|
||||||
<meta name="description" content="Lume Web - Web3 for the masses | Install the Lume Web3 Extension and have a 1-click gateway into the Web3 internet on Opera, Vivaldi, Edge and Firefox." />
|
name="viewport"
|
||||||
|
content="width=device-width, initial-scale=1.0, minimum-scale=1.0"
|
||||||
|
/>
|
||||||
|
<meta
|
||||||
|
name="description"
|
||||||
|
content="Lume Web - Web3 for the masses | Install the Lume Web3 Extension and have a 1-click gateway into the Web3 internet on Opera, Vivaldi, Edge and Firefox."
|
||||||
|
/>
|
||||||
<meta name="keywords" content="Web3 Extension, Lume Web, Web3" />
|
<meta name="keywords" content="Web3 Extension, Lume Web, Web3" />
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<Navbar view={view} client:load />
|
<Navbar view={view} />
|
||||||
<main class={view}>
|
<main class={view + " space-y-40"}>
|
||||||
<slot />
|
<slot />
|
||||||
</main>
|
</main>
|
||||||
{view !== 'home' && <JoinCommunity />}
|
{view !== "home" && <JoinCommunity />}
|
||||||
<Footer />
|
<Footer />
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
|
@ -1,14 +1,14 @@
|
||||||
---
|
---
|
||||||
import Layout from '../layouts/Layout.astro';
|
import Layout from "../layouts/Layout.astro";
|
||||||
import Typewriter from '../components/Home/Typewriter/Typewriter.astro';
|
import Typewriter from "../components/Home/Typewriter/Typewriter.astro";
|
||||||
import Vision from '../components/Home/Vision/Vision.astro';
|
import Vision from "../components/Home/Vision/Vision.astro";
|
||||||
import Web3 from '../components/Home/Web3/Web3.astro';
|
import Web3 from "../components/Home/Web3/Web3.astro";
|
||||||
import PoweredBy from '../components/Home/PoweredBy/PoweredBy.astro';
|
import PoweredBy from "../components/Home/PoweredBy/PoweredBy.astro";
|
||||||
import Meme from '../components/Home/Meme/Meme.astro';
|
import Meme from "../components/Home/Meme/Meme.astro";
|
||||||
import Grid from '../components/Home/Grid/Grid.astro';
|
import WebComparison from "../components/Home/WebComparison/WebComparison.astro";
|
||||||
import Socials from '../components/Home/Socials/Socials.astro';
|
import Socials from "../components/Home/Socials/Socials.astro";
|
||||||
import CTO from '../components/Home/CTO/CTO.astro';
|
import CTO from "../components/Home/CTO/CTO.astro";
|
||||||
import Message from '../components/Home/Message/Message.astro';
|
import Message from "../components/Home/Message/Message.astro";
|
||||||
---
|
---
|
||||||
|
|
||||||
<Layout view="home" title="Lume Web - Web3 for the masses">
|
<Layout view="home" title="Lume Web - Web3 for the masses">
|
||||||
|
@ -17,6 +17,7 @@ import Message from '../components/Home/Message/Message.astro';
|
||||||
<Web3 />
|
<Web3 />
|
||||||
<PoweredBy />
|
<PoweredBy />
|
||||||
<Meme />
|
<Meme />
|
||||||
|
<WebComparison />
|
||||||
<Socials />
|
<Socials />
|
||||||
<CTO />
|
<CTO />
|
||||||
<Message />
|
<Message />
|
||||||
|
|
|
@ -37,6 +37,12 @@
|
||||||
@tailwind components;
|
@tailwind components;
|
||||||
@tailwind utilities;
|
@tailwind utilities;
|
||||||
|
|
||||||
|
:root {
|
||||||
|
--color-aquamarine: #7afcbb;
|
||||||
|
--color-dark-aquamarine: #1F4A3D;
|
||||||
|
--color-gray: #C7C7C7;
|
||||||
|
}
|
||||||
|
|
||||||
html {
|
html {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
|
|
|
@ -1,5 +1,17 @@
|
||||||
/** @type {import('tailwindcss').Config} */
|
/** @type {import('tailwindcss').Config} */
|
||||||
module.exports = {
|
module.exports = {
|
||||||
content: ['./src/**/*.{astro,html,js,jsx,md,mdx,svelte,ts,tsx,vue}'],
|
content: ['./src/**/*.{astro,html,js,jsx,md,mdx,svelte,ts,tsx,vue}'],
|
||||||
theme: { }
|
theme: {
|
||||||
|
extend: {
|
||||||
|
colors: {
|
||||||
|
primary: 'var(--color-aquamarine)',
|
||||||
|
"dark-aquamarine": 'var(--color-dark-aquamarine)',
|
||||||
|
body: 'var(--color-gray)',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
fontFamily: {
|
||||||
|
'body': '"Jaldi", sans-serif',
|
||||||
|
'display': '"JetBrains Mono", monospace',
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|