From 9887337ff7e92a7465b2502a418cda838e55eec9 Mon Sep 17 00:00:00 2001 From: Alex Hoyau Date: Sat, 31 Aug 2024 17:18:33 +0200 Subject: [PATCH 1/3] add libre firends page --- src/app/_components/header.tsx | 3 +- src/app/libre-friends.css | 11 ++++ src/app/libre-friends/page.tsx | 99 ++++++++++++++++++++++++++++++++++ 3 files changed, 112 insertions(+), 1 deletion(-) create mode 100644 src/app/libre-friends.css create mode 100644 src/app/libre-friends/page.tsx diff --git a/src/app/_components/header.tsx b/src/app/_components/header.tsx index 5e2e13d..2846998 100644 --- a/src/app/_components/header.tsx +++ b/src/app/_components/header.tsx @@ -25,7 +25,8 @@ const Header: React.FC = ({isHome, className, transparent, ...rest if (isHome) { navLinks.unshift( { content: 'Support', href: '#support' }, - { content: 'Features', href: '#features' } + { content: 'Features', href: '#features' }, + { content: 'Libre Friends', href: '/libre-friends/' } ) } diff --git a/src/app/libre-friends.css b/src/app/libre-friends.css new file mode 100644 index 0000000..e42c1f5 --- /dev/null +++ b/src/app/libre-friends.css @@ -0,0 +1,11 @@ +.text-primary { + color: #9e5381; /* Your primary color */ +} + +.text-primary-dark { + color: #6f2943; /* A darker shade for hover */ +} + +.transition-colors { + transition: color 0.3s ease; +} diff --git a/src/app/libre-friends/page.tsx b/src/app/libre-friends/page.tsx new file mode 100644 index 0000000..51c911f --- /dev/null +++ b/src/app/libre-friends/page.tsx @@ -0,0 +1,99 @@ +import Footer from "../_components/footer"; +import Header from "../_components/header"; +import "../home.css"; + +// Define the type for the project data +interface Project { + name: string; + description: string; + url: string; + source: string; + docs?: string; + tags: string[]; + logo: string; + screenshots?: string[]; +} + +const clsSectionTitle = "primary-title text-center mb-20 text-4xl md:text-5xl"; + +export default async function LibreFriendsPage() { + // Base URL for assets + const baseUrl = 'https://libre-friends.silexlabs.org'; + + // Fetch the projects at build time + let projects: Project[] = []; + + try { + const response = await fetch(`${baseUrl}/api/projects.json`); + projects = await response.json(); + } catch (error) { + console.error('Error fetching projects:', error); + } + + return ( +
+
+
+ +
+

+ Projects Like GrapesJS - Libre Friends Directory +

+ +

+ As part of the Libre Friends directory, GrapesJS is proud to be featured alongside a diverse collection of free/libre software projects. These projects range from developer tools to business solutions, all sharing a commitment to the principles of software freedom. Below, you'll find a curated list of these like-minded projects, each offering valuable resources and tools for both individuals and businesses. We invite you to explore these solutions, contribute to their development, and support the free/libre software community. +

+
+
+ +
+
+

Libre Friends Projects

+ +
+ {projects.map((project) => ( +
+
+ {`${project.name} +

{project.name}

+

{project.description}

+ +
+
+ ))} +
+
+
+ +
+
+ ); +} From 2e9cebed38a1e4dc1c7d16d751f6a9cffa3bcbb8 Mon Sep 17 00:00:00 2001 From: Alex Hoyau Date: Sat, 31 Aug 2024 17:18:48 +0200 Subject: [PATCH 2/3] little fix in variable name --- src/app/careers/page.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app/careers/page.tsx b/src/app/careers/page.tsx index f84ef8a..d764ca4 100644 --- a/src/app/careers/page.tsx +++ b/src/app/careers/page.tsx @@ -3,7 +3,7 @@ import Hero from "../_components/hero"; import JobBoard from "./jobBoard"; import Footer from "../_components/footer"; -export default function PageBlogPosts() { +export default function PageCareers() { return (
From d1ce403c6dead76f46faf2d3f7ae6beb372ed3ea Mon Sep 17 00:00:00 2001 From: Artur Arseniev Date: Sat, 7 Sep 2024 21:16:26 +0400 Subject: [PATCH 3/3] Up styles --- src/app/libre-friends/page.tsx | 114 +++++++++++++++------------------ 1 file changed, 51 insertions(+), 63 deletions(-) diff --git a/src/app/libre-friends/page.tsx b/src/app/libre-friends/page.tsx index 51c911f..6070163 100644 --- a/src/app/libre-friends/page.tsx +++ b/src/app/libre-friends/page.tsx @@ -1,5 +1,6 @@ +import Container from "../_components/container"; import Footer from "../_components/footer"; -import Header from "../_components/header"; +import Hero from "../_components/hero"; import "../home.css"; // Define the type for the project data @@ -14,85 +15,72 @@ interface Project { screenshots?: string[]; } -const clsSectionTitle = "primary-title text-center mb-20 text-4xl md:text-5xl"; - export default async function LibreFriendsPage() { - // Base URL for assets - const baseUrl = 'https://libre-friends.silexlabs.org'; - - // Fetch the projects at build time + const baseUrl = "https://libre-friends.silexlabs.org"; let projects: Project[] = []; try { const response = await fetch(`${baseUrl}/api/projects.json`); projects = await response.json(); } catch (error) { - console.error('Error fetching projects:', error); + console.error("Error fetching projects:", error); } return (
-
-
+ + +

+ Libre Friends Projects +

-
-

- Projects Like GrapesJS - Libre Friends Directory -

- -

- As part of the Libre Friends directory, GrapesJS is proud to be featured alongside a diverse collection of free/libre software projects. These projects range from developer tools to business solutions, all sharing a commitment to the principles of software freedom. Below, you'll find a curated list of these like-minded projects, each offering valuable resources and tools for both individuals and businesses. We invite you to explore these solutions, contribute to their development, and support the free/libre software community. -

-
-
+

+ As part of the Libre Friends directory, GrapesJS is proud to be + featured alongside a diverse collection of free/libre software + projects. These projects range from developer tools to business + solutions, all sharing a commitment to the principles of software + freedom. Below, you'll find a curated list of these like-minded + projects, each offering valuable resources and tools for both + individuals and businesses. We invite you to explore these solutions, + contribute to their development, and support the free/libre software + community. +

-
-
-

Libre Friends Projects

- -
- {projects.map((project) => ( -
- +
);