edit footer

This commit is contained in:
sasha-astiadi 2024-06-19 19:29:11 +02:00
parent 95369a5a45
commit 10f107946c
6 changed files with 28 additions and 142 deletions

View File

@ -10,17 +10,19 @@ extra:
{% row(style="lean") %} {% row(style="lean") %}
##### Affiliate Projects ##### Partners
<br> <br>
<a onclick="window.open('https://threefold.io', '_blank')"><h6>ThreeFold</h6></a> <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> <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://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> <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> <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://threefoldfaq.crisp.help/en/', '_blank')"><h6>Support</h6></a>
<a onclick="window.open('https://github.com/ourworldfreezone', '_blank')"><h6>Github</h6></a>
{% end %} {% end %}

View File

@ -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

Binary file not shown.

View File

@ -1,36 +1,14 @@
<!-- <div class="relative isolate overflow-hidden bg-black text-white lg:py-24 py-16">
This example requires some changes to your config: <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>
// tailwind.config.js </div>
module.exports = {
// ...
plugins: [
// ...
require('@tailwindcss/forms'),
],
}
```
-->
<div class="relative isolate bg-gray-900">
<div class="mx-auto grid max-w-7xl grid-cols-1 lg:grid-cols-2"> <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="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="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"> <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"> <!-- Placeholder for decorative SVG or background -->
<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>
</div> </div>
<h2 class="text-3xl font-bold tracking-tight text-white">Get in touch</h2> <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>
@ -56,45 +34,16 @@
</dl> </dl>
</div> </div>
</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>
</div>
</form>
</div>
</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>
</div>
</div>
</div>
</div>

View File

@ -3,7 +3,7 @@
<div class="border-t border-gray-200"></div> <div class="border-t border-gray-200"></div>
<footer> <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="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"> <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" /> <img class="w-40 h-auto sm:w-15 mx-auto" src="images/ow_logo.png" alt="logo" />

View File

@ -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="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 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> </div>