diff --git a/.gitignore b/.gitignore index de702288..2ff28e91 100644 --- a/.gitignore +++ b/.gitignore @@ -27,4 +27,6 @@ pnpm-debug.log* .interventionshash .newshash fetchNews.json -fetchPoi.json \ No newline at end of file +fetchPoi.json + +.astro \ No newline at end of file diff --git a/base.css b/base.css index 3b02ef72..c05d15dc 100644 --- a/base.css +++ b/base.css @@ -7,21 +7,28 @@ font-family: "Inter"; font-style: normal; font-weight: 400; - src: url("/fonts/inter-v12-latin_cyrillic-regular.woff2") format("woff2"); + src: url("/fonts/inter-v13-cyrillic_latin-regular.woff2") format("woff2"); } @font-face { font-family: "Inter"; font-style: normal; font-weight: 500; - src: url("/fonts/inter-v12-latin_cyrillic-500.woff2") format("woff2"); + src: url("/fonts/inter-v13-cyrillic_latin-500.woff2") format("woff2"); + } + + @font-face { + font-family: "Inter"; + font-style: normal; + font-weight: 600; + src: url("/fonts/inter-v13-cyrillic_latin-600.woff2") format("woff2"); } @font-face { font-family: "Inter"; font-style: normal; font-weight: 700; - src: url("/fonts/inter-v12-latin_cyrillic-700.woff2") format("woff2"); + src: url("/fonts/inter-v13-cyrillic_latin-700.woff2") format("woff2"); } @font-face { @@ -80,6 +87,11 @@ @apply font-bold text-3xl text-neutral-800 my-4; } + .custom-prose h3 { + @apply font-semibold text-2xl text-neutral-800 my-4; + } + + .container-width { @apply max-w-[1440px] w-full lg:w-[84.4%] px-[4%] lg:px-8 mx-auto; } @@ -96,6 +108,12 @@ mask-image: linear-gradient(to bottom, transparent 40%, black 70%); } + .mask-illustration-4 { + mask-image: url('/tolocar_illustration_4_wide.svg'); + mask-position: 25px -150px; + mask-size: 100%; + } + .icon { @apply hidden ml-2 bg-link w-6 h-6 bg-contain bg-no-repeat; } diff --git a/public/bulb-cog-dark.svg b/public/bulb-cog-dark.svg new file mode 100644 index 00000000..00ee3124 --- /dev/null +++ b/public/bulb-cog-dark.svg @@ -0,0 +1,3 @@ + + + diff --git a/public/bulb-cog.svg b/public/bulb-cog.svg new file mode 100644 index 00000000..6899a486 --- /dev/null +++ b/public/bulb-cog.svg @@ -0,0 +1,3 @@ + + + diff --git a/public/fonts/inter-v12-latin_cyrillic-500.woff2 b/public/fonts/inter-v12-latin_cyrillic-500.woff2 deleted file mode 100644 index 75384259..00000000 Binary files a/public/fonts/inter-v12-latin_cyrillic-500.woff2 and /dev/null differ diff --git a/public/fonts/inter-v12-latin_cyrillic-700.woff2 b/public/fonts/inter-v12-latin_cyrillic-700.woff2 deleted file mode 100644 index 60f00949..00000000 Binary files a/public/fonts/inter-v12-latin_cyrillic-700.woff2 and /dev/null differ diff --git a/public/fonts/inter-v12-latin_cyrillic-regular.woff2 b/public/fonts/inter-v12-latin_cyrillic-regular.woff2 deleted file mode 100644 index daf5b021..00000000 Binary files a/public/fonts/inter-v12-latin_cyrillic-regular.woff2 and /dev/null differ diff --git a/public/fonts/inter-v13-cyrillic_latin-500.woff2 b/public/fonts/inter-v13-cyrillic_latin-500.woff2 new file mode 100644 index 00000000..3b2507a0 Binary files /dev/null and b/public/fonts/inter-v13-cyrillic_latin-500.woff2 differ diff --git a/public/fonts/inter-v13-cyrillic_latin-600.woff2 b/public/fonts/inter-v13-cyrillic_latin-600.woff2 new file mode 100644 index 00000000..6664455d Binary files /dev/null and b/public/fonts/inter-v13-cyrillic_latin-600.woff2 differ diff --git a/public/fonts/inter-v13-cyrillic_latin-700.woff2 b/public/fonts/inter-v13-cyrillic_latin-700.woff2 new file mode 100644 index 00000000..934017df Binary files /dev/null and b/public/fonts/inter-v13-cyrillic_latin-700.woff2 differ diff --git a/public/fonts/inter-v13-cyrillic_latin-regular.woff2 b/public/fonts/inter-v13-cyrillic_latin-regular.woff2 new file mode 100644 index 00000000..f7a761d9 Binary files /dev/null and b/public/fonts/inter-v13-cyrillic_latin-regular.woff2 differ diff --git a/public/makers-innovation-award-logo.svg b/public/makers-innovation-award-logo.svg new file mode 100644 index 00000000..942039dc --- /dev/null +++ b/public/makers-innovation-award-logo.svg @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/award/award-timeline-ua.svg b/src/assets/award/award-timeline-ua.svg new file mode 100644 index 00000000..77cde94d --- /dev/null +++ b/src/assets/award/award-timeline-ua.svg @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/award/award-timeline.svg b/src/assets/award/award-timeline.svg new file mode 100644 index 00000000..eb0624ce --- /dev/null +++ b/src/assets/award/award-timeline.svg @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/award/submit-ideas-ua.svg b/src/assets/award/submit-ideas-ua.svg new file mode 100644 index 00000000..0540e99a --- /dev/null +++ b/src/assets/award/submit-ideas-ua.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/assets/award/submit-ideas.svg b/src/assets/award/submit-ideas.svg new file mode 100644 index 00000000..99d61c86 --- /dev/null +++ b/src/assets/award/submit-ideas.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/assets/book-open.svg b/src/assets/icons/book-open.svg similarity index 100% rename from src/assets/book-open.svg rename to src/assets/icons/book-open.svg diff --git a/src/assets/icons/bullseye-arrow.svg b/src/assets/icons/bullseye-arrow.svg new file mode 100644 index 00000000..3c920936 --- /dev/null +++ b/src/assets/icons/bullseye-arrow.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/bullseye.svg b/src/assets/icons/bullseye.svg similarity index 100% rename from src/assets/bullseye.svg rename to src/assets/icons/bullseye.svg diff --git a/src/assets/chart-network.svg b/src/assets/icons/chart-network.svg similarity index 100% rename from src/assets/chart-network.svg rename to src/assets/icons/chart-network.svg diff --git a/src/assets/icons/feather.svg b/src/assets/icons/feather.svg new file mode 100644 index 00000000..159edbe1 --- /dev/null +++ b/src/assets/icons/feather.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/hand-fist.svg b/src/assets/icons/hand-fist.svg similarity index 100% rename from src/assets/hand-fist.svg rename to src/assets/icons/hand-fist.svg diff --git a/src/assets/icons/leaf.svg b/src/assets/icons/leaf.svg new file mode 100644 index 00000000..4b8f9817 --- /dev/null +++ b/src/assets/icons/leaf.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/icons/lightbulb-on.svg b/src/assets/icons/lightbulb-on.svg new file mode 100644 index 00000000..7e4129af --- /dev/null +++ b/src/assets/icons/lightbulb-on.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/icons/maximize.svg b/src/assets/icons/maximize.svg new file mode 100644 index 00000000..0b0dcbc9 --- /dev/null +++ b/src/assets/icons/maximize.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/microchip.svg b/src/assets/icons/microchip.svg similarity index 100% rename from src/assets/microchip.svg rename to src/assets/icons/microchip.svg diff --git a/src/assets/parachute.svg b/src/assets/icons/parachute.svg similarity index 100% rename from src/assets/parachute.svg rename to src/assets/icons/parachute.svg diff --git a/src/assets/icons/users.svg b/src/assets/icons/users.svg new file mode 100644 index 00000000..101c2f6b --- /dev/null +++ b/src/assets/icons/users.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/tolocar_underline_10.svg b/src/assets/tolocar_underline_10.svg new file mode 100644 index 00000000..628a2fc8 --- /dev/null +++ b/src/assets/tolocar_underline_10.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/components/ButtonLink.tsx b/src/components/ButtonLink.tsx index bae2a191..5de3a4f2 100644 --- a/src/components/ButtonLink.tsx +++ b/src/components/ButtonLink.tsx @@ -21,6 +21,7 @@ const ButtonLink: React.FC = ({ light: "bg-white z-10 text-tolo-green flex gap-2 justify-center items-center px-3 py-2 rounded-full font-semibold text-lg lg:mt-4 h-10 w-44", dark: "bg-neutral-700 z-10 text-white flex gap-2.5 justify-center items-center px-6 rounded-full font-semibold lg:text-lg lg:leading-6 text-base leading-[22px] h-10 w-fit", + green: "bg-tolo-green z-10 text-white flex gap-2.5 justify-center items-center px-6 rounded-full font-semibold lg:text-lg lg:leading-6 text-base leading-[22px] h-10 w-fit", search: "bg-black z-10 inline-flex items-center bg-opacity-20 opacity-90 rounded-full py-4 px-5 mt-8", github: diff --git a/src/components/HeadlineUnderlined.tsx b/src/components/HeadlineUnderlined.tsx index 9523675d..e2e9c9dd 100644 --- a/src/components/HeadlineUnderlined.tsx +++ b/src/components/HeadlineUnderlined.tsx @@ -8,6 +8,7 @@ import Underline6Svg from "@assets/tolocar_underline_6.svg"; import Underline7Svg from "@assets/tolocar_underline_7.svg"; import Underline8Svg from "@assets/tolocar_underline_8.svg"; import Underline9Svg from "@assets/tolocar_underline_9.svg"; +import Underline10Svg from "@assets/tolocar_underline_10.svg"; import CircularUnderlineSvg from "@assets/tolocar_circular_underline.svg"; interface Props { @@ -34,6 +35,7 @@ const underlineSvgAndClassesMapping = [ "top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 scale-x-125 scale-y-105 lg:scale-100", }, { component: Underline9Svg, classes: "bottom-0" }, + { component: Underline10Svg, classes: "top-6 w-full" }, ]; const HeadlineUnderlined: React.FC = ({ diff --git a/src/components/ImpactListItem.tsx b/src/components/ImpactListItem.tsx index f112c789..67a6d5b2 100644 --- a/src/components/ImpactListItem.tsx +++ b/src/components/ImpactListItem.tsx @@ -1,10 +1,10 @@ import React from "react"; -import { ReactComponent as BullseyeIcon } from "@assets/bullseye.svg"; -import { ReactComponent as MicrochipIcon } from "@assets/microchip.svg"; -import { ReactComponent as HandFistIcon } from "@assets/hand-fist.svg"; -import { ReactComponent as ParachuteIcon } from "@assets/parachute.svg"; -import { ReactComponent as BookOpenIcon } from "@assets/book-open.svg"; -import { ReactComponent as ChartNetworkIcon } from "@assets/chart-network.svg"; +import { ReactComponent as BullseyeIcon } from "@assets/icons/bullseye.svg"; +import { ReactComponent as MicrochipIcon } from "@assets/icons/microchip.svg"; +import { ReactComponent as HandFistIcon } from "@assets/icons/hand-fist.svg"; +import { ReactComponent as ParachuteIcon } from "@assets/icons/parachute.svg"; +import { ReactComponent as BookOpenIcon } from "@assets/icons/book-open.svg"; +import { ReactComponent as ChartNetworkIcon } from "@assets/icons/chart-network.svg"; interface Props { className?: string; diff --git a/src/components/InfoItem.tsx b/src/components/InfoItem.tsx new file mode 100644 index 00000000..9cb5613e --- /dev/null +++ b/src/components/InfoItem.tsx @@ -0,0 +1,58 @@ +import React from "react"; +import { ReactComponent as BullseyeArrowIcon } from "@assets/icons/bullseye-arrow.svg"; +import { ReactComponent as FeatherIcon } from "@assets/icons/feather.svg"; +import { ReactComponent as LeafIcon } from "@assets/icons/leaf.svg"; +import { ReactComponent as LightbulbOnIcon } from "@assets/icons/lightbulb-on.svg"; +import { ReactComponent as MaximizeIcon } from "@assets/icons/maximize.svg"; +import { ReactComponent as UsersIcon } from "@assets/icons/users.svg"; + +type Icons = + | "bullseye_arrow" + | "feather" + | "leaf" + | "lightbulb" + | "maximize" + | "users"; + +interface Props { + className?: string; + icon: Icons; + title: string; + description: string; +} + +const InfoItem: React.FC = ({ + className, + icon, + title, + description, +}: Props) => { + const renderIcon = (icon: Icons) => { + const iconMapping: Record = { + bullseye_arrow: BullseyeArrowIcon, + feather: FeatherIcon, + leaf: LeafIcon, + lightbulb: LightbulbOnIcon, + maximize: MaximizeIcon, + users: UsersIcon, + }; + + const IconComponent = iconMapping[icon as Icons] || (() => <>); + + return ; + }; + + return ( +
+
+ {icon && renderIcon(icon)} +
+
+

{title}

+

{description}

+
+
+ ); +}; + +export default InfoItem; diff --git a/src/components/NewsItem.tsx b/src/components/NewsItem.tsx index af7b001f..b48860ff 100644 --- a/src/components/NewsItem.tsx +++ b/src/components/NewsItem.tsx @@ -3,40 +3,66 @@ import { ReactComponent as ArrowIcon } from "@assets/arrow.svg"; import { ReactComponent as InstagramIcon } from "@assets/instagram.svg"; interface Props { - children: React.ReactNode; href: string; - image: string; + image?: string; isInstagram?: boolean; + green?: boolean; + title?: string; + description?: string; } -const NewsItem: React.FC = ({ children, href, image, isInstagram }) => ( +const NewsItem: React.FC = ({ + href, + image, + isInstagram, + green, + title, + description, +}) => ( ); diff --git a/src/components/NewsSlider.tsx b/src/components/NewsSlider.tsx index f8cc7731..42ba824f 100644 --- a/src/components/NewsSlider.tsx +++ b/src/components/NewsSlider.tsx @@ -80,9 +80,10 @@ const NewsSlider: React.FC = ({ news, headline, ...props }) => { image={item.image} href={item.target} isInstagram={item.instagram} - > - {item.title} - + green={item.green} + description={item.description} + title={item.title} + /> ))} diff --git a/src/components/NewsSliderDataWrapper.astro b/src/components/NewsSliderDataWrapper.astro index ee15896f..c4bef2ce 100644 --- a/src/components/NewsSliderDataWrapper.astro +++ b/src/components/NewsSliderDataWrapper.astro @@ -2,11 +2,23 @@ import { NewsSliderComponent } from "@components"; import { getNewsItems } from "@util/Airtable"; import CommonUtils from "@util/CommonUtils"; +import { getCollection } from "astro:content"; const { headline, id, ...rest } = Astro.props; const baseUrl = CommonUtils.getBaseUrl(false); const news = await getNewsItems(30, baseUrl); +const stickyNews = (await getCollection("news")).map((item) => ({ + ...item.data, + id: item.id, + target: baseUrl + item.data.target +})); --- - + diff --git a/src/components/WideCard.tsx b/src/components/WideCard.tsx index 944665fd..82bb5560 100644 --- a/src/components/WideCard.tsx +++ b/src/components/WideCard.tsx @@ -11,6 +11,8 @@ interface Props { bg?: number; newTab?: boolean; buttonClasses?: string; + centerImage?: string; + children?: React.ReactNode; } const WideCard: React.FC = ({ @@ -20,13 +22,17 @@ const WideCard: React.FC = ({ target, caption, linkButtonVariant, - bg, + bg = 1, newTab, buttonClasses, + centerImage, + children, }) => { const bgMapping = [ - "bg-illustration-4-wide mask-illustration-vertical md:mask-illustration-horizontal bg-no-repeat bg-[position:right_-80px_top_-40px]", - "bg-community-messages bg-no-repeat md:bg-[position:right_-60px_top_0px] bg-[position:left_-25px_bottom_-50px] scale-110 md:scale-100", + "bg-illustration-4-wide mask-illustration-vertical md:mask-illustration-horizontal bg-no-repeat bg-[position:right_-80px_top_-40px] mt-24 md:mt-0", + "bg-community-messages bg-no-repeat md:bg-[position:right_-60px_top_0px] bg-[position:left_-25px_bottom_-50px] scale-110 md:scale-100 mt-24 md:mt-0", + "bg-white/50 mask-illustration-4 mt-0", + "", ]; return ( @@ -36,29 +42,43 @@ const WideCard: React.FC = ({ }`} >
-
- {title && ( -

- {title} -

- )} - {text && ( -

{text}

- )} - {target && ( - - )} -
-
+ {(centerImage || title || text) && ( +
+ {centerImage && } + {title && ( +

+ {title} +

+ )} + {text && ( +

+ {text} +

+ )} + {target && ( + + )} +
+ )} + {children} + {bg !== 4 && ( +
+ )}
); diff --git a/src/components/index.tsx b/src/components/index.tsx index 81a5ed6e..8ae223e7 100644 --- a/src/components/index.tsx +++ b/src/components/index.tsx @@ -34,3 +34,4 @@ export { default as InterventionsMap } from "@components/InterventionsMap"; export { default as LanguageSwitcher } from "@components/LanguageSwitcher"; export { default as ConditionalWrapper } from "@components/ConditionalWrapper"; export { default as TolocarMarker } from "@components/TolocarMarker"; +export { default as InfoItem } from "@components/InfoItem"; diff --git a/src/content/config.ts b/src/content/config.ts new file mode 100644 index 00000000..8dc63bd1 --- /dev/null +++ b/src/content/config.ts @@ -0,0 +1,15 @@ +import { z, defineCollection } from "astro:content"; + +const newsCollection = defineCollection({ + type: "data", + schema: z.object({ + target: z.string(), + title: z.string(), + description: z.string(), + green: z.boolean(), + }), +}); + +export const collections = { + news: newsCollection, +}; diff --git a/src/content/news/makers-innovation-awards.yaml b/src/content/news/makers-innovation-awards.yaml new file mode 100644 index 00000000..b9b2fd86 --- /dev/null +++ b/src/content/news/makers-innovation-awards.yaml @@ -0,0 +1,4 @@ +title: "Makers Innovation Award" +description: "Where Networking Meets Funding, Mentoring Sparks Ideas, and Innovation Comes to Life!" +target: /en/makersinnovationaward +green: true \ No newline at end of file diff --git a/src/env.d.ts b/src/env.d.ts index cf028e28..d8ea9679 100644 --- a/src/env.d.ts +++ b/src/env.d.ts @@ -1,2 +1,3 @@ +/// /// /// \ No newline at end of file diff --git a/src/interfaces/INews.ts b/src/interfaces/INews.ts index a1618f6f..028a6a86 100644 --- a/src/interfaces/INews.ts +++ b/src/interfaces/INews.ts @@ -1,9 +1,11 @@ export interface INewsItem { id?: string; - image: string; + image?: string; imageFilename?: string; target: string; instagram?: boolean; - title: string; + title?: string; + description: string; order?: number; + green?: boolean; } diff --git a/src/layouts/AwardsLayout.astro b/src/layouts/AwardsLayout.astro new file mode 100644 index 00000000..75efdb4f --- /dev/null +++ b/src/layouts/AwardsLayout.astro @@ -0,0 +1,8 @@ +--- +import BaseLayout from "./BaseLayout.astro"; +const { frontmatter } = Astro.props; +--- + + + + diff --git a/src/pages/en/jobs.mdx b/src/pages/en/jobs.mdx index 910fecde..80cb2a62 100644 --- a/src/pages/en/jobs.mdx +++ b/src/pages/en/jobs.mdx @@ -1,6 +1,6 @@ --- layout: "@layouts/BaseLayout.astro" -title: Jobs – Tolocar Project +title: Jobs footerGrey: true darkNavigation: true --- diff --git a/src/pages/en/legal.mdx b/src/pages/en/legal.mdx index 1b874770..02f390c0 100644 --- a/src/pages/en/legal.mdx +++ b/src/pages/en/legal.mdx @@ -1,6 +1,6 @@ --- layout: "@layouts/BaseLayout.astro" -title: Legal Notice – Tolocar Project +title: Legal Notice footerGrey: true darkNavigation: true --- diff --git a/src/pages/en/makersinnovationaward.mdx b/src/pages/en/makersinnovationaward.mdx new file mode 100644 index 00000000..c473ba67 --- /dev/null +++ b/src/pages/en/makersinnovationaward.mdx @@ -0,0 +1,129 @@ +--- +layout: "@layouts/AwardsLayout.astro" +title: Makers Innovation Award +footerGrey: false +--- + +import WideCard from "@components/WideCard"; +import { + HeadlineUnderlined, + TextBlock, + ButtonLink, + InfoItem, +} from "@components"; +import { ReactComponent as Timeline } from "@assets/award/award-timeline.svg"; +import { ReactComponent as SubmitImage } from "@assets/award/submit-ideas.svg"; + + +
+
+ + Empowering Ukrainian Maker Community: Where Networking Meets Funding, Mentoring Sparks Ideas, and Innovation Comes to Life! + + + **The Innovation Ecosystem of Ukraine is greatly affected by the war**, which has a massive negative effect on the Ukrainian society and its social cohesion. The determined maker movement, a vital part of Ukrainian society, strives to help the nation heal and grow. + + By fostering collaborations among people who team up for social impact this initiative promotes innovative solutions, emphasizing quality, impact, and coexistence over mere competition. + + **We invite makers:** tech enthusiasts, engineers, crafters, designers, inventors, committed individuals or organizations to join hands in shaping a brighter future for Ukraine. + +
+
+ +
+ +
+ +
+
+

+ Idea Cultivation Workshop (Mid January) +

+
+ + Idea Cultivation Workshop (January 19): We are delighted to invite you to our Workshop in Kyiv, an exciting initiative aimed at bringing together like-minded people, facilitating the exchange of ideas and knowledge, and presenting the Innovation Makers Award. + + Share your innovative ideas, find partners, and plan your contribution to social cohesion and the country's recovery. + +
+ + This is your opportunity to present your projects, regardless of their current stage of development. Take the chance to lay the foundation for potential funding that can turn your vision into reality. + + **Please fill out a form to participate in the Workshop and receive your invitation for the event!** The number of participants is limited to 50. + + +
+
+ +
+
+
+
+

Final project Application will be open from January 9th until February 9th.

+ Please find the selection criteria below:

+
+
+ + + + + + +
+
+
+ +
+
+ + ### Virtual training sessions + While working on your application, attend two virtual training sessions focused on improving your application, proposal writing and effective pitching. You will work together with trained coaches to develop, refine and redesign your idea, solution or approach. + + + ### Pitching event: Selection of fundable ideas + The jury selection event is a pivotal stage in our program where the preselected participants pitch their projects to a panel of experienced judges. Based on the selection criteria, the jury will choose the winners who will receive **EUR 50,000** in funding for project implementation and further support through 3 mentoring sessions. + + + ### Mentoring & Support + In the following three mentoring sessions, experienced mentors will support the selected individuals/organizations according to their specific needs. The mentors will align their areas of expertise with the knowledge gaps of the participants. + +
+
+ +

Join us in shaping a brighter future for Ukraine through your inventive solutions!

diff --git a/src/pages/en/privacy.mdx b/src/pages/en/privacy.mdx index badbdbe4..fecbf371 100644 --- a/src/pages/en/privacy.mdx +++ b/src/pages/en/privacy.mdx @@ -1,6 +1,6 @@ --- layout: "@layouts/BaseLayout.astro" -title: Privacy Notice – Tolocar Project +title: Privacy Notice footerGrey: true darkNavigation: true --- diff --git a/src/pages/ua/legal.mdx b/src/pages/ua/legal.mdx index 1b874770..02f390c0 100644 --- a/src/pages/ua/legal.mdx +++ b/src/pages/ua/legal.mdx @@ -1,6 +1,6 @@ --- layout: "@layouts/BaseLayout.astro" -title: Legal Notice – Tolocar Project +title: Legal Notice footerGrey: true darkNavigation: true --- diff --git a/src/pages/ua/makersinnovationaward.mdx b/src/pages/ua/makersinnovationaward.mdx new file mode 100644 index 00000000..7de921b3 --- /dev/null +++ b/src/pages/ua/makersinnovationaward.mdx @@ -0,0 +1,125 @@ +--- +layout: "@layouts/AwardsLayout.astro" +title: Нагорода “Інновації Мейкерів” +footerGrey: false +--- + +import WideCard from "@components/WideCard"; +import { + HeadlineUnderlined, + TextBlock, + ButtonLink, + InfoItem, +} from "@components"; +import { ReactComponent as TimelineUa } from "@assets/award/award-timeline-ua.svg"; +import { ReactComponent as SubmitImageUa } from "@assets/award/submit-ideas-ua.svg"; + + +
+
+ + Сприяння розвитку можливостей української спільноти мейкерів: тут нетворкінг зустрічається з фінансуванням, менторство запалює ідеї, а інновації втілюються в життя! + + + Війна сильно впливає на інноваційну екосистему України, що має значний негативний вплив на українське суспільство та його соціальну згуртованість. Рух рішучих мейкерів, життєво важливої частини українського суспільства, прагне допомогти країні зцілюватися та розвиватися. + + Сприяючи співпраці між людьми, які об'єднуються заради позитивного соціального перетворення, ця ініціатива покликана просувати інноваційні рішення, наголошуючи на якості, впливі та співіснуванні понад конкуренцією. Запрошуємо мeйкерів: технологічних ентузіастів, інженерів, ремісників, дизайнерів, винахідників, відданих своїй справі людей чи організації, об'єднати зусилля в створенні сталого майбутнього для України. + +
+
+ +
+ +
+ +
+
+

+ Майстерня ідей +

+
+ + Ми щиро запрошуємо вас на нашу майстерню, яка відбудеться у Києві 19 січня 2024 року, спрямовану на об'єднання однодумців, сприяння обміну ідеями, знаннями та презентацію проекту фінансування Нагороди “Інновації Мейкерів”. + + Поділіться своїми інноваційними ідеями, знайдіть однодумців-партнерів та сплануйте свій внесок у соціальну згуртованість та відновлення країни. + +
+ + Це ваша можливість представити свої проекти, незалежно від того, на якій стадії розвитку вони зараз знаходяться. Скористайтеся шансом закласти фундамент для потенційного фінансування, яке може перетворити ваше бачення на реальність. + + +
+
+ +
+
+
+
+

Прийом заявок на участь у фінальному відборі буде відкрито з 09 січня до 09 лютого 2024 року.

+ Будь ласка, ознайомтеся з критеріями відбору нижче:

+
+
+ + + + + + +
+
+
+ +
+
+ + ### Віртуальні тренінгові сесії + Під час роботи над своїм проектом запрошуємо взяти участь у двох віртуальних тренінгах, присвячених удосконаленню вашої заявки, написанню проектної пропозиції та ефективному пітчингу. Разом з кваліфікованими тренерами ви будете працювати над розробкою, оптимізацією та редизайном вашої ідеї, рішення або підходу. + + + ### Пітчинг-івент: Відбір ідей на отримання фінансування + Відбір журі є ключовим етапом нашої програми, де попередньо відібрані учасники презентують свої проекти перед групою досвідчених суддів. На основі критеріїв конкурсу журі обере переможців, які отримають **50 000 євро** на реалізацію проекту та подальшу підтримку у вигляді 3 менторських сесій. + + + ### Менторство та підтримка + Досвідчені ментори надаватимуть підтримку відібраним організаціям відповідно до їхніх конкретних потреб під час трьох менторських сесій. + +
+
+ +

Приєднуйтесь до нас у формуванні світлого майбутнього для України через ваші винахідницькі рішення!

diff --git a/src/util/Airtable.ts b/src/util/Airtable.ts index 26d31b47..0d3cce68 100644 --- a/src/util/Airtable.ts +++ b/src/util/Airtable.ts @@ -198,7 +198,7 @@ export const getNewsItems = async (count?: number, baseUrl?: string) => { .map((record) => { return { id: record.id, - title: record.fields.Name, + description: record.fields.Name, target: record.fields?.["Instagram URL"], instagram: true, imageFilename: diff --git a/tailwind.config.cjs b/tailwind.config.cjs index c7ad441c..07243ac8 100644 --- a/tailwind.config.cjs +++ b/tailwind.config.cjs @@ -44,6 +44,8 @@ module.exports = { black: "#000000", "tolo-black": "#111111", "tolo-green": "#009664", + "tolo-dark-green": "#047C54", + "tolo-darker-green": "#056746", neutral: { 50: "#F5F5F5", 100: "#EEEEEE",