Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
52 changes: 34 additions & 18 deletions cmd/lotus-fountain/site/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -5,28 +5,44 @@
<meta name="description" content="Get free tFIL and DataCap in the Lotus Fountain Faucet. Quickly request test tokens to your wallet, and start building or experimenting on the Filecoin testnet with ease.">
<meta charset="UTF-8">
<link rel="stylesheet" type="text/css" href="main.css">
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap" rel="stylesheet">
</head>
<body>
<div class="Index">
<div class="Index-nodes">
<div class="Index-node">
LOTUS DEVNET FAUCET
<div class="page-wrapper">
<header>
<h1>Filecoin Lotus Calibration Faucet</h1>
<p>Welcome to the official Filecoin Lotus Calibration testnet faucet. This service provides both testnet FIL and DataCap for developers and testers working within the Filecoin ecosystem.</p>
</header>

<main class="cards">
<div class="card">
<div class="card-content">
<h2>FILECOIN CALIBRATION FAUCET</h2>
<p>Request testnet FIL tokens to experiment with storage deals, smart contracts, and blockchain interactions. These tokens have no real-world value, making them perfect for risk-free development and testing.</p>
<p class="learn-more">Learn more about <a href="https://docs.filecoin.io/basics/what-is-filecoin" target="_blank">Filecoin basics</a> and <a href="https://docs.filecoin.io/networks/calibration" target="_blank">Calibration testnet</a>.</p>
Comment thread
rjan90 marked this conversation as resolved.
</div>
<div class="button-container">
<a href="funds.html" class="button">Send funds</a>
</div>
</div>
<div class="Index-node">
<a href="funds.html">Send Funds</a>

<div class="card">
<div class="card-content">
<h2>FILECOIN CALIBRATION FAUCET GRANT DATACAP</h2>
<p>Test Filecoin Plus (Fil+) workflows with DataCap allocations. Understand verified deals, practice client onboarding, and simulate storage provider interactions in a safe environment.</p>
<p>Explore more about <a href="https://docs.filecoin.io/basics/filecoin-plus" target="_blank">Filecoin Plus</a> and <a href="https://docs.filecoin.io/storage-provider/filecoin-deals" target="_blank">storage deals</a>.</p>
</div>
<div class="button-container">
<a href="datacap.html" class="button">Grant DataCap</a>
</div>
</div>
<div class="Index-node">
LOTUS DEVNET GRANT DATACAP
</div>
<div class="Index-node">
<a href="datacap.html">Grant DataCap</a>
</div>
</div>
<div class="Index-footer">
<div>
<span style="float: right">Not dispensing real Filecoin tokens</span>
</div>
</div>
</main>

<div class="divider"></div>

<footer>
<p>Need help? Visit the <a href="https://filecoin.io/slack" target="_blank">Filecoin Slack</a> or <a href="https://docs.filecoin.io" target="_blank">documentation</a>.</p>
Comment thread
rjan90 marked this conversation as resolved.
</footer>
</div>
</body>
</html>
176 changes: 123 additions & 53 deletions cmd/lotus-fountain/site/main.css
Original file line number Diff line number Diff line change
@@ -1,82 +1,152 @@
:root {
--color-primary: #3f51b5;
--color-primary-dark: #283593;
--color-primary-darker: #1a237e;
--color-text: #64748b;
--color-background: #f8fafc;
--color-border: #e2e8f0;
--color-white: white;
}

/* Base styles */
body {
font-family: 'Helvetica Neue', sans-serif;
background-color: #f0f0f0;
font-family: 'Inter', system-ui, -apple-system, sans-serif;
background-color: var(--color-background);
padding: 0;
margin: 0;
line-height: 1.6;
}

.Index {
width: 100vw;
height: 100vh;
background-color: #f0f0f0;
color: #333;
font-family: 'Helvetica Neue', sans-serif;
*, *::before, *::after {
box-sizing: border-box;
margin: 0;
padding: 0;
}

display: grid;
grid-template-columns: auto 40vw auto;
grid-template-rows: auto auto auto 3em;
grid-template-areas:
". . . ."
". main main ."
". . . ."
"footer footer footer footer";
p {
color: var(--color-text);
}

.Index-footer {
background-color: #333;
grid-area: footer;
a {
color: var(--color-primary);
text-decoration: none;
transition: color 0.2s;
}

.Index-footer > div {
padding-left: 0.7em;
padding-top: 0.7em;
a:hover {
color: var(--color-primary-dark);
}

.Index-nodes {
grid-area: main;
/* Layout */
.page-wrapper {
container-type: inline-size;
max-width: 900px;
margin: 0 auto;
padding: 40px 20px;
display: flex;
flex-direction: column;
gap: 4rem;
}

.Index-node {
margin: 5px;
padding: 15px;
background-color: #fff;
box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
/* Header */
header {
text-align: center;
display: flex;
flex-direction: column;
gap: 1.5rem;
}

span {
display: block;
margin-bottom: 5px;
header h1 {
color: var(--color-primary-darker);
font-size: 2.5rem;
}

input[type="text"] {
width: 100%;
padding: 10px;
border-radius: 5px;
border: 1px solid #ccc;
margin-bottom: 10px;
header p {
max-width: 600px;
margin: 0 auto;
}

button {
background-color: #4c9aff;
color: #fff;
border: none;
border-radius: 5px;
padding: 10px 20px;
font-size: 1.2em;
/* Cards */
.cards {
display: flex;
flex-direction: column;
gap: 24px;
}

button:hover {
background-color: #4c7eff;
.card {
background-color: var(--color-white);
border-radius: 16px;
padding: 40px;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.06);;
display: grid;
grid-template-columns: 2fr 1fr;
gap: 32px;
align-items: center;
}

a:link {
color: #333;
.card-content {
order: 1;
display: flex;
flex-direction: column;
gap: 1.5rem;
}

a:visited {
color: #333;
.card h2 {
color: var(--color-primary-darker);
font-size: 1.75rem;
text-align: left;
}

a:hover {
color: #555;

/* Buttons */
.button-container {
order: 2;
text-align: center;
display: flex;
justify-content: center;
}

.button {
background-color: var(--color-primary);
color: var(--color-white);
text-decoration: none;
padding: 16px 32px;
border-radius: 12px;
font-weight: 600;
transition: all 0.2s ease;
max-width: 200px;
width: 80%;
flex-grow: 1;
}

.button:hover {
background-color: var(--color-primary-dark);
color: var(--color-white);
}

.divider {
height: 1px;
background-color: var(--color-border);
}

/* Footer */
footer {
text-align: center;
}

/* Responsive styles */
@container (max-width: 700px) {
.card {
grid-template-columns: 1fr;
}

.card h2 {
font-size: 1.5rem;
text-align: center;
}

.button {
width: 100%;
}
}