Add new hero banner

This commit is contained in:
DanieII 2024-09-16 01:00:59 +03:00
parent d668093240
commit 0f2e1373c2
8 changed files with 34 additions and 30 deletions

View File

@ -7,11 +7,10 @@
"contact": "Контакти" "contact": "Контакти"
}, },
"main": { "main": {
"date": "2 3", "date": "2 - 3 ноември 2024",
"monthYear": "Ноември 2024", "titleLocation": "София Тех Парк",
"titleLocation": "Иновативен форум \"Джон Атанасов\" София Тех Парк",
"countdownTimer": { "countdownTimer": {
"title": "До OpenFest остават:", "title": "До OpenFest остават",
"days": "Дни", "days": "Дни",
"hours": "Часа", "hours": "Часа",
"minutes": "Минути" "minutes": "Минути"
@ -21,7 +20,7 @@
"text": "OpenFest е най-голямата българска конференция, посветена на свободната култура, свободното споделяне на знание, свободния и отворен софтуер. Събитието се организира от доброволци и е безплатно за посещение. OpenFest се провежда годишно в София, България." "text": "OpenFest е най-голямата българска конференция, посветена на свободната култура, свободното споделяне на знание, свободния и отворен софтуер. Събитието се организира от доброволци и е безплатно за посещение. OpenFest се провежда годишно в София, България."
}, },
"cfp": { "cfp": {
"title": "Как можете да участвате в OpenFest 2024", "title": "Как можете да участвате в OpenFest 2024?",
"lecture": "Участвайте с лекция, работилница или щанд", "lecture": "Участвайте с лекция, работилница или щанд",
"volunteers": "Присъединете се като доброволец", "volunteers": "Присъединете се като доброволец",
"partners": "Подкрепете събитието като партньор" "partners": "Подкрепете събитието като партньор"

View File

@ -7,11 +7,10 @@
"contact": "Contact" "contact": "Contact"
}, },
"main": { "main": {
"date": "2 - 3", "date": "2 - 3 november 2024",
"monthYear": "November, 2024", "titleLocation": "Sofia Tech Park",
"titleLocation": "Innovation forum \"John Atanasoff\" Sofia Tech Park",
"countdownTimer": { "countdownTimer": {
"title": "OpenFest starts in:", "title": "OpenFest starts in",
"days": "Days", "days": "Days",
"hours": "Hours", "hours": "Hours",
"minutes": "Minutes" "minutes": "Minutes"

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

View File

@ -10,19 +10,21 @@ export default async function Home({ params }) {
return ( return (
<> <>
<section className='h-[65vh] bg-home-bg bg-cover sm:h-[75vh]'> <section className='h-[65vh] bg-home-bg bg-cover bg-bottom sm:h-[75vh]'>
<div className='container flex h-full flex-col justify-center gap-10 text-black sm:gap-16'> <div className='container flex h-full flex-col justify-center gap-10 text-black sm:gap-16'>
<div className='text-center'> <div className='text-center'>
<p className='text-xl sm:text-3xl'>{dictionary.main.monthYear}</p> <p className='font-semibold uppercase tracking-[0.2em] text-white sm:text-xl'>
<h1 className='text-8xl font-semibold leading-none sm:text-[9rem]'>
{dictionary.main.date} {dictionary.main.date}
</p>
<h1 className='text-6xl font-bold text-white sm:text-7xl'>
OpenFest <br /> 2024
</h1> </h1>
</div> </div>
<div className='text-center'> <div className='text-center'>
<p className='pb-2 text-2xl font-semibold sm:pb-4 sm:text-5xl'> <p className='pb-2 text-2xl font-semibold text-white sm:pb-4 sm:text-5xl'>
Lets share the freedom! Lets share the freedom!
</p> </p>
<p className='text-xl sm:text-3xl'> <p className='text-xl text-white sm:text-3xl'>
{dictionary.main.titleLocation} {dictionary.main.titleLocation}
</p> </p>
</div> </div>
@ -55,7 +57,7 @@ export default async function Home({ params }) {
</h2> </h2>
<div className='flex flex-col gap-4 sm:flex-row sm:gap-8'> <div className='flex flex-col gap-4 sm:flex-row sm:gap-8'>
<div className='flex basis-1/3 flex-col items-center justify-center gap-3 rounded-xl bg-blue-2 p-6 sm:gap-6'> <div className='flex basis-1/3 flex-col items-center justify-center gap-3 rounded-xl bg-blue-2 p-6 sm:gap-6'>
<div className='flex h-20 w-20 items-center justify-center rounded-full bg-blue-8 text-4xl text-blue-2 sm:h-24 sm:w-24 sm:text-5xl'> <div className='flex h-20 w-20 items-center justify-center rounded-full bg-blue-8 text-4xl text-blue-2 shadow-md shadow-black sm:h-24 sm:w-24 sm:text-5xl'>
<i className='fa-solid fa-lightbulb'></i> <i className='fa-solid fa-lightbulb'></i>
</div> </div>
<p className='text-center text-white'> <p className='text-center text-white'>
@ -63,7 +65,7 @@ export default async function Home({ params }) {
</p> </p>
</div> </div>
<div className='flex basis-1/3 flex-col items-center justify-center gap-3 rounded-xl bg-blue-2 p-6 sm:gap-6'> <div className='flex basis-1/3 flex-col items-center justify-center gap-3 rounded-xl bg-blue-2 p-6 sm:gap-6'>
<div className='flex h-20 w-20 items-center justify-center rounded-full bg-blue-8 text-4xl text-blue-2 sm:h-24 sm:w-24 sm:text-5xl'> <div className='flex h-20 w-20 items-center justify-center rounded-full bg-blue-8 text-4xl text-blue-2 shadow-md shadow-black sm:h-24 sm:w-24 sm:text-5xl'>
<i className='fa-solid fa-helmet-safety'></i> <i className='fa-solid fa-helmet-safety'></i>
</div> </div>
<p className='text-center text-white'> <p className='text-center text-white'>
@ -71,7 +73,7 @@ export default async function Home({ params }) {
</p> </p>
</div> </div>
<div className='flex basis-1/3 flex-col items-center justify-center gap-3 rounded-xl bg-blue-2 p-6 sm:gap-6'> <div className='flex basis-1/3 flex-col items-center justify-center gap-3 rounded-xl bg-blue-2 p-6 sm:gap-6'>
<div className='flex h-20 w-20 items-center justify-center rounded-full bg-blue-8 text-4xl text-blue-2 sm:h-24 sm:w-24 sm:text-5xl'> <div className='flex h-20 w-20 items-center justify-center rounded-full bg-blue-8 text-4xl text-blue-2 shadow-md shadow-black sm:h-24 sm:w-24 sm:text-5xl'>
<i className='fa-solid fa-handshake-angle'></i> <i className='fa-solid fa-handshake-angle'></i>
</div> </div>
<p className='text-center text-white'> <p className='text-center text-white'>

View File

@ -41,44 +41,48 @@ const CountDownTimer = ({ props }) => {
{props.title} {props.title}
</h2> </h2>
<div className='flex flex-col items-center justify-evenly gap-8 lg:flex-row'> <div className='flex flex-col items-center justify-evenly gap-8 lg:flex-row'>
<div className='relative h-40 w-40 lg:h-64 lg:w-64'> <div className='relative h-48 w-48 lg:h-64 lg:w-64'>
<div className='absolute inset-0 rotate-[-45deg] overflow-hidden rounded-full bg-[#A9CDF7]'> <div className='absolute inset-0 rotate-[-45deg] overflow-hidden rounded-full bg-[#A9CDF7]'>
<div className='absolute left-0 top-0 h-full w-1/2'></div> <div className='absolute left-0 top-0 h-full w-1/2'></div>
<div className='absolute left-0 top-0 h-full w-1/2 bg-[#C8E0FC]'></div> <div className='absolute left-0 top-0 h-full w-1/2 bg-[#C8E0FC]'></div>
</div> </div>
<div className='absolute inset-0 flex items-center justify-center'> <div className='absolute inset-0 flex items-center justify-center'>
<span className='text-center font-bold text-gray-800'> <span className='text-center font-bold'>
<p className='pb-1 pt-2 text-5xl lg:pb-3 lg:pt-4 lg:text-8xl'> <p className='pb-1 pt-2 text-6xl text-white lg:pb-3 lg:pt-4 lg:text-8xl'>
{days} {days}
</p> </p>
<p className='text-xl font-light lg:text-5xl'> {props.days}</p> <p className='text-2xl font-light text-white lg:text-5xl'>
{props.days}
</p>
</span> </span>
</div> </div>
</div> </div>
<div className='relative h-40 w-40 lg:h-64 lg:w-64'> <div className='relative h-48 w-48 lg:h-64 lg:w-64'>
<div className='absolute inset-0 rotate-[-45deg] overflow-hidden rounded-full bg-[#A9CDF7]'> <div className='absolute inset-0 rotate-[-45deg] overflow-hidden rounded-full bg-[#A9CDF7]'>
<div className='absolute left-0 top-0 h-full w-full'></div> <div className='absolute left-0 top-0 h-full w-full'></div>
</div> </div>
<div className='absolute inset-0 flex items-center justify-center'> <div className='absolute inset-0 flex items-center justify-center'>
<span className='text-center font-bold text-gray-800'> <span className='text-center font-bold text-gray-800'>
<p className='pb-1 pt-2 text-5xl lg:pb-3 lg:pt-4 lg:text-8xl'> <p className='pb-1 pt-2 text-6xl text-white lg:pb-3 lg:pt-4 lg:text-8xl'>
{hours} {hours}
</p> </p>
<p className='text-xl font-light lg:text-5xl'> {props.hours}</p> <p className='text-2xl font-light text-white lg:text-5xl'>
{props.hours}
</p>
</span> </span>
</div> </div>
</div> </div>
<div className='relative h-40 w-40 lg:h-64 lg:w-64'> <div className='relative h-48 w-48 lg:h-64 lg:w-64'>
<div className='absolute inset-0 rotate-[-45deg] overflow-hidden rounded-full bg-[#A9CDF7]'> <div className='absolute inset-0 rotate-[-45deg] overflow-hidden rounded-full bg-[#A9CDF7]'>
<div className='absolute left-0 top-0 h-full w-1/2'></div> <div className='absolute left-0 top-0 h-full w-1/2'></div>
<div className='absolute right-0 top-0 h-full w-1/2 bg-[#C8E0FC]'></div> <div className='absolute right-0 top-0 h-full w-1/2 bg-[#C8E0FC]'></div>
</div> </div>
<div className='absolute inset-0 flex items-center justify-center'> <div className='absolute inset-0 flex items-center justify-center'>
<span className='text-center font-bold text-gray-800'> <span className='text-center font-bold text-gray-800'>
<p className='pb-1 pt-2 text-5xl lg:pb-3 lg:pt-4 lg:text-8xl'> <p className='pb-1 pt-2 text-6xl text-white lg:pb-3 lg:pt-4 lg:text-8xl'>
{minutes} {minutes}
</p> </p>
<p className='text-xl font-light lg:text-5xl'> <p className='text-2xl font-light text-white lg:text-5xl'>
{props.minutes} {props.minutes}
</p> </p>
</span> </span>

View File

@ -17,7 +17,7 @@ const NewsFeed = async ({ lang }) => {
return ( return (
<div <div
key={post.title} key={post.title}
className='flex basis-1/3 flex-col overflow-hidden rounded-xl shadow-xl' className='flex basis-1/3 flex-col overflow-hidden rounded-xl drop-shadow-2xl'
> >
<div> <div>
<Image src={post.imageUrl} width='400' height='190'></Image> <Image src={post.imageUrl} width='400' height='190'></Image>

View File

@ -18,7 +18,7 @@ const Partners = async ({ lang }) => {
return ( return (
<section> <section>
<div className='container flex flex-col gap-8 sm:gap-12'> <div className='container flex flex-col gap-10 !py-16 sm:gap-16'>
<div> <div>
<h2 className='pb-4 text-center text-2xl text-blue-2 sm:pb-8 sm:text-4xl'> <h2 className='pb-4 text-center text-2xl text-blue-2 sm:pb-8 sm:text-4xl'>
{dictionary.main.partners.sponsors} {dictionary.main.partners.sponsors}

View File

@ -11,7 +11,7 @@ const config: Config = {
'gradient-radial': 'radial-gradient(var(--tw-gradient-stops))', 'gradient-radial': 'radial-gradient(var(--tw-gradient-stops))',
'gradient-conic': 'gradient-conic':
'conic-gradient(from 180deg at 50% 50%, var(--tw-gradient-stops))', 'conic-gradient(from 180deg at 50% 50%, var(--tw-gradient-stops))',
'home-bg': "url('/images/openfest-1.webp')", 'home-bg': "url('/images/openfest-1.png')",
}, },
colors: { colors: {
'blue-2': '#004394', 'blue-2': '#004394',