edit footer
This commit is contained in:
parent
95369a5a45
commit
10f107946c
@ -10,17 +10,19 @@ extra:
|
||||
|
||||
{% row(style="lean") %}
|
||||
|
||||
##### Affiliate Projects
|
||||
##### Partners
|
||||
|
||||
<br>
|
||||
|
||||
<a onclick="window.open('https://threefold.io', '_blank')"><h6>ThreeFold</h6></a>
|
||||
|
||||
###### [Incubaid](https://manual.grid.tf/threefold_token/buy_sell_tft/buy_sell_tft.html)
|
||||
###### [Incubaid](https://incubaid.com/)
|
||||
|
||||
###### [Mazraa](https://dashboard.grid.tf/)
|
||||
###### [Mazraa](https://maazra.io/)
|
||||
|
||||
###### [Freeflow Nation](https://manual.grid.tf/farmers/farmers.html)
|
||||
###### [Sikana](https://sikana.tv/)
|
||||
|
||||
###### [VVerse](https://vverse.co/)
|
||||
|
||||
|||
|
||||
|
||||
@ -30,13 +32,11 @@ extra:
|
||||
|
||||
<a onclick="window.open('https://ourworld.tf', '_blank')"><h6>OurWorld</h6></a>
|
||||
|
||||
###### [Freezone](/)
|
||||
|
||||
<a onclick="window.open('https://ourphone.ourworld.tf/', '_blank')"><h6>OurPhone</h6></a>
|
||||
|
||||
<a onclick="window.open('https://ourparadise.ourworld.tf/', '_blank')"><h6>OurParadise</h6></a>
|
||||
|
||||
<a onclick="window.open('https://ourworld.vindo.ai/slider/95', '_blank')"><h6>ODEZ</h6></a>
|
||||
|
||||
<a onclick="window.open('https://habari.ourworld.tf', '_blank')"><h6>Habari</h6></a>
|
||||
|
||||
|
||||
|||
|
||||
@ -45,8 +45,6 @@ extra:
|
||||
|
||||
<br>
|
||||
|
||||
<a onclick="window.open('https://ourworldfreezone.github.io/info_freezone/', '_blank')"><h6>Manual</h6></a>
|
||||
|
||||
|
||||
<a onclick="window.open('https://t.me/threefoldnews', '_blank')"><h6>Telegram</h6></a>
|
||||
|
||||
@ -54,8 +52,6 @@ extra:
|
||||
<a onclick="window.open('https://threefoldfaq.crisp.help/en/', '_blank')"><h6>Support</h6></a>
|
||||
|
||||
|
||||
<a onclick="window.open('https://github.com/ourworldfreezone', '_blank')"><h6>Github</h6></a>
|
||||
|
||||
{% end %}
|
||||
|
||||
|
||||
|
59
server.js
59
server.js
@ -1,59 +0,0 @@
|
||||
// server.js
|
||||
|
||||
// Load environment variables from .env file
|
||||
require('dotenv').config();
|
||||
|
||||
const express = require('express');
|
||||
const nodemailer = require('nodemailer');
|
||||
const bodyParser = require('body-parser');
|
||||
|
||||
const app = express();
|
||||
const PORT = process.env.PORT || 3000;
|
||||
|
||||
// Middleware to parse JSON and urlencoded form data
|
||||
app.use(bodyParser.json());
|
||||
app.use(bodyParser.urlencoded({ extended: true }));
|
||||
|
||||
// POST endpoint to handle form submissions
|
||||
app.post('/api/contact', async (req, res) => {
|
||||
try {
|
||||
// Get form data from request body
|
||||
const { firstName, lastName, email, phoneNumber, message } = req.body;
|
||||
|
||||
// Create transporter for sending emails (replace with your email service details)
|
||||
const transporter = nodemailer.createTransport({
|
||||
service: 'Gmail',
|
||||
auth: {
|
||||
user: process.env.EMAIL_USER, // Using environment variable for email user
|
||||
pass: process.env.EMAIL_PASS // Using environment variable for email password
|
||||
}
|
||||
});
|
||||
|
||||
// Email content
|
||||
const mailOptions = {
|
||||
from: process.env.EMAIL_USER, // Replace with your email address
|
||||
to: 'recipient@example.com', // Replace with recipient email address
|
||||
subject: 'New Message from Contact Form',
|
||||
html: `
|
||||
<p><strong>Name:</strong> ${firstName} ${lastName}</p>
|
||||
<p><strong>Email:</strong> ${email}</p>
|
||||
<p><strong>Phone Number:</strong> ${phoneNumber}</p>
|
||||
<p><strong>Message:</strong><br>${message}</p>
|
||||
`
|
||||
};
|
||||
|
||||
// Send email
|
||||
await transporter.sendMail(mailOptions);
|
||||
|
||||
// Response back to client
|
||||
res.status(200).send('Message sent successfully!');
|
||||
} catch (error) {
|
||||
console.error('Error sending email:', error);
|
||||
res.status(500).send('Error sending message. Please try again later.');
|
||||
}
|
||||
});
|
||||
|
||||
// Start server
|
||||
app.listen(PORT, () => {
|
||||
console.log(`Server is running on http://localhost:${PORT}`);
|
||||
});
|
BIN
static/videos/ow.mp4
Normal file
BIN
static/videos/ow.mp4
Normal file
Binary file not shown.
@ -1,39 +1,17 @@
|
||||
<!--
|
||||
This example requires some changes to your config:
|
||||
|
||||
```
|
||||
// tailwind.config.js
|
||||
module.exports = {
|
||||
// ...
|
||||
plugins: [
|
||||
// ...
|
||||
require('@tailwindcss/forms'),
|
||||
],
|
||||
}
|
||||
```
|
||||
-->
|
||||
<div class="relative isolate bg-gray-900">
|
||||
<div class="relative isolate overflow-hidden bg-black text-white lg:py-24 py-16">
|
||||
<div class="mx-auto max-w-7xl px-6">
|
||||
<div class="absolute inset-x-0 -top-40 -z-10 transform-gpu overflow-hidden blur-3xl sm:-top-80" aria-hidden="true">
|
||||
<div class="relative left-[calc(50%-11rem)] aspect-[1155/678] w-[36.125rem] -translate-x-1/2 rotate-[30deg] bg-gradient-to-tr from-[#ff80b5] to-[#9089fc] opacity-20 sm:left-[calc(50%-30rem)] sm:w-[72.1875rem]" style="clip-path: polygon(74.1% 44.1%, 100% 61.6%, 97.5% 26.9%, 85.5% 0.1%, 80.7% 2%, 72.5% 32.5%, 60.2% 62.4%, 52.4% 68.1%, 47.5% 58.3%, 45.2% 34.5%, 27.5% 76.7%, 0.1% 64.9%, 17.9% 100%, 27.6% 76.8%, 76.1% 97.7%, 74.1% 44.1%)"></div>
|
||||
</div>
|
||||
<div class="mx-auto grid max-w-7xl grid-cols-1 lg:grid-cols-2">
|
||||
<!-- Left Column: Text Content and Form -->
|
||||
<div class="relative px-6 pb-20 pt-24 sm:pt-32 lg:static lg:px-8">
|
||||
<div class="mx-auto max-w-xl lg:mx-0 lg:max-w-lg">
|
||||
<div class="absolute inset-y-0 left-0 -z-10 w-full overflow-hidden ring-1 ring-white/5 lg:w-1/2">
|
||||
<svg class="absolute inset-0 h-full w-full stroke-gray-700 [mask-image:radial-gradient(100%_100%_at_top_right,white,transparent)]" aria-hidden="true">
|
||||
<defs>
|
||||
<pattern id="54f88622-e7f8-4f1d-aaf9-c2f5e46dd1f2" width="200" height="200" x="100%" y="-1" patternUnits="userSpaceOnUse">
|
||||
<path d="M130 200V.5M.5 .5H200" fill="none" />
|
||||
</pattern>
|
||||
</defs>
|
||||
<svg x="100%" y="-1" class="overflow-visible fill-gray-800/20">
|
||||
<path d="M-470.5 0h201v201h-201Z" stroke-width="0" />
|
||||
</svg>
|
||||
<rect width="100%" height="100%" stroke-width="0" fill="url(#54f88622-e7f8-4f1d-aaf9-c2f5e46dd1f2)" />
|
||||
</svg>
|
||||
<div class="absolute -left-56 top-[calc(100%-13rem)] transform-gpu blur-3xl lg:left-[max(-14rem,calc(100%-59rem))] lg:top-[calc(50%-7rem)]" aria-hidden="true">
|
||||
<div class="aspect-[1155/678] w-[72.1875rem] bg-gradient-to-br from-[#80caff] to-[#4f46e5] opacity-20" style="clip-path: polygon(74.1% 56.1%, 100% 38.6%, 97.5% 73.3%, 85.5% 100%, 80.7% 98.2%, 72.5% 67.7%, 60.2% 37.8%, 52.4% 32.2%, 47.5% 41.9%, 45.2% 65.8%, 27.5% 23.5%, 0.1% 35.4%, 17.9% 0.1%, 27.6% 23.5%, 76.1% 2.6%, 74.1% 56.1%)"></div>
|
||||
</div>
|
||||
<!-- Placeholder for decorative SVG or background -->
|
||||
</div>
|
||||
<h2 class="text-3xl font-bold tracking-tight text-white">Get in touch</h2>
|
||||
<p class="mt-6 text-lg leading-8 text-gray-300">At OurWorld, we value your feedback and inquiries. Whether you're interested in our ventures, have questions about our technologies, or want to collaborate, we're here to connect. Reach out to us today and let's build a better digital future together.</p>
|
||||
<p class="mt-6 text-lg leading-8 text-gray-300">At OurWorld, we value your feedback and inquiries. Whether you're interested in our ventures, have questions about our technologies, or want to collaborate, we're here to connect. Reach out to us today and let's build a better digital future together.</p>
|
||||
<dl class="mt-10 space-y-4 text-base leading-7 text-gray-300">
|
||||
<div class="flex gap-x-4">
|
||||
<dt class="flex-none">
|
||||
@ -56,45 +34,16 @@
|
||||
</dl>
|
||||
</div>
|
||||
</div>
|
||||
<form action="#" method="POST" class="px-6 pb-24 pt-20 sm:pb-32 lg:px-8 lg:py-48">
|
||||
<div class="mx-auto max-w-xl lg:mr-0 lg:max-w-lg">
|
||||
<div class="grid grid-cols-1 gap-x-8 gap-y-6 sm:grid-cols-2">
|
||||
<div>
|
||||
<label for="first-name" class="block text-sm font-semibold leading-6 text-white">First name</label>
|
||||
<div class="mt-2.5">
|
||||
<input type="text" name="first-name" id="first-name" autocomplete="given-name" class="block w-full rounded-md border-0 bg-white/5 px-3.5 py-2 text-white shadow-sm ring-1 ring-inset ring-white/10 focus:ring-2 focus:ring-inset focus:ring-indigo-500 sm:text-sm sm:leading-6">
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<label for="last-name" class="block text-sm font-semibold leading-6 text-white">Last name</label>
|
||||
<div class="mt-2.5">
|
||||
<input type="text" name="last-name" id="last-name" autocomplete="family-name" class="block w-full rounded-md border-0 bg-white/5 px-3.5 py-2 text-white shadow-sm ring-1 ring-inset ring-white/10 focus:ring-2 focus:ring-inset focus:ring-indigo-500 sm:text-sm sm:leading-6">
|
||||
</div>
|
||||
</div>
|
||||
<div class="sm:col-span-2">
|
||||
<label for="email" class="block text-sm font-semibold leading-6 text-white">Email</label>
|
||||
<div class="mt-2.5">
|
||||
<input type="email" name="email" id="email" autocomplete="email" class="block w-full rounded-md border-0 bg-white/5 px-3.5 py-2 text-white shadow-sm ring-1 ring-inset ring-white/10 focus:ring-2 focus:ring-inset focus:ring-indigo-500 sm:text-sm sm:leading-6">
|
||||
</div>
|
||||
</div>
|
||||
<div class="sm:col-span-2">
|
||||
<label for="phone-number" class="block text-sm font-semibold leading-6 text-white">Phone number</label>
|
||||
<div class="mt-2.5">
|
||||
<input type="tel" name="phone-number" id="phone-number" autocomplete="tel" class="block w-full rounded-md border-0 bg-white/5 px-3.5 py-2 text-white shadow-sm ring-1 ring-inset ring-white/10 focus:ring-2 focus:ring-inset focus:ring-indigo-500 sm:text-sm sm:leading-6">
|
||||
</div>
|
||||
</div>
|
||||
<div class="sm:col-span-2">
|
||||
<label for="message" class="block text-sm font-semibold leading-6 text-white">Message</label>
|
||||
<div class="mt-2.5">
|
||||
<textarea name="message" id="message" rows="4" class="block w-full rounded-md border-0 bg-white/5 px-3.5 py-2 text-white shadow-sm ring-1 ring-inset ring-white/10 focus:ring-2 focus:ring-inset focus:ring-indigo-500 sm:text-sm sm:leading-6"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mt-8 flex justify-end">
|
||||
<button type="submit" class="rounded-md bg-indigo-500 px-3.5 py-2.5 text-center text-sm font-semibold text-white shadow-sm hover:bg-indigo-400 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-500">Send message</button>
|
||||
</div>
|
||||
|
||||
<!-- Right Column: Video -->
|
||||
<div class="relative lg:h-screen">
|
||||
<div class="absolute inset-0 overflow-hidden">
|
||||
<video autoplay muted loop class="h-full w-full object-cover lg:object-fill">
|
||||
<source src="videos/ourworld.mp4" type="video/mp4">
|
||||
Your browser does not support the video tag.
|
||||
</video>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
@ -3,7 +3,7 @@
|
||||
|
||||
<div class="border-t border-gray-200"></div>
|
||||
<footer>
|
||||
<div class="max-w-screen-2xl mx-auto lg:py-8 py-4 sm:px-6 lg:px-8">
|
||||
<div class="max-w-screen-2xl mx-auto lg:py-4 py-4 sm:px-6 lg:px-8">
|
||||
<div class="flex flex-col xl:flex-row xl:gap-4 items-center">
|
||||
<div class="space-y-8 lg:max-w-sm xl:max-w-sm lg:mr-8 mb-4 xl:col-span-1 text-center xl:text-left">
|
||||
<img class="w-40 h-auto sm:w-15 mx-auto" src="images/ow_logo.png" alt="logo" />
|
||||
|
@ -1,4 +1,4 @@
|
||||
<div class="max-w-screen-xl px-4 mx-auto text-center lg:py-24 lg:px-6 relative">
|
||||
<div class="max-w-screen-xl px-4 mx-auto text-center lg:py-24 py-24 lg:px-6 relative">
|
||||
<div class="absolute inset-x-0 top-1/2 -z-10 -translate-y-1/3 transform-gpu overflow-hidden opacity-20 blur-3xl" aria-hidden="true">
|
||||
<div class="ml-[max(50%,38rem)] aspect-[1313/771] w-[82.0625rem] bg-gradient-to-tr from-[#ff80b5] to-[#9089fc]" style="clip-path: polygon(74.1% 44.1%, 100% 61.6%, 97.5% 26.9%, 85.5% 0.1%, 80.7% 2%, 72.5% 32.5%, 60.2% 62.4%, 52.4% 68.1%, 47.5% 58.3%, 45.2% 34.5%, 27.5% 76.7%, 0.1% 64.9%, 17.9% 100%, 27.6% 76.8%, 76.1% 97.7%, 74.1% 44.1%)"></div>
|
||||
</div>
|
||||
|
Loading…
Reference in New Issue
Block a user