From 3c8c2f917dd4bc4a90d7ab22ea707af21f57c78a Mon Sep 17 00:00:00 2001 From: Flatlogic Bot Date: Sat, 7 Feb 2026 13:41:11 +0000 Subject: [PATCH] Export --- frontend/src/pages/index.tsx | 308 +++++++++++++++++++---------------- 1 file changed, 164 insertions(+), 144 deletions(-) diff --git a/frontend/src/pages/index.tsx b/frontend/src/pages/index.tsx index 9354cbd..d68ff66 100644 --- a/frontend/src/pages/index.tsx +++ b/frontend/src/pages/index.tsx @@ -1,166 +1,186 @@ - -import React, { useEffect, useState } from 'react'; +import React from 'react'; import type { ReactElement } from 'react'; import Head from 'next/head'; import Link from 'next/link'; +import { + mdiRocketLaunch, + mdiChartPie, + mdiAccountGroup, + mdiMessageText, + mdiShieldCheck, + mdiGithub, + mdiChevronRight, +} from '@mdi/js'; import BaseButton from '../components/BaseButton'; -import CardBox from '../components/CardBox'; -import SectionFullScreen from '../components/SectionFullScreen'; +import BaseIcon from '../components/BaseIcon'; import LayoutGuest from '../layouts/Guest'; -import BaseDivider from '../components/BaseDivider'; -import BaseButtons from '../components/BaseButtons'; import { getPageTitle } from '../config'; import { useAppSelector } from '../stores/hooks'; -import CardBoxComponentTitle from "../components/CardBoxComponentTitle"; -import { getPexelsImage, getPexelsVideo } from '../helpers/pexels'; +export default function LandingPage() { + const darkMode = useAppSelector((state) => state.style.darkMode); + const textColor = useAppSelector((state) => state.style.linkColor); -export default function Starter() { - const [illustrationImage, setIllustrationImage] = useState({ - src: undefined, - photographer: undefined, - photographer_url: undefined, - }) - const [illustrationVideo, setIllustrationVideo] = useState({video_files: []}) - const [contentType, setContentType] = useState('image'); - const [contentPosition, setContentPosition] = useState('right'); - const textColor = useAppSelector((state) => state.style.linkColor); - - const title = 'App Preview' - - // Fetch Pexels image/video - useEffect(() => { - async function fetchData() { - const image = await getPexelsImage(); - const video = await getPexelsVideo(); - setIllustrationImage(image); - setIllustrationVideo(video); - } - fetchData(); - }, []); - - const imageBlock = (image) => ( -
-
- - Photo by {image?.photographer} on Pexels - -
-
- ); - - const videoBlock = (video) => { - if (video?.video_files?.length > 0) { - return ( -
- -
- - Video by {video.user.name} on Pexels - -
-
) - } - }; + const features = [ + { + title: 'Advanced Analytics', + description: 'Gain deep insights into your projects with our powerful dashboard and reporting tools.', + icon: mdiChartPie, + color: 'text-blue-500', + }, + { + title: 'Team Collaboration', + description: 'Communicate seamlessly with your team using built-in conversations and real-time messaging.', + icon: mdiMessageText, + color: 'text-emerald-500', + }, + { + title: 'RBAC Management', + description: 'Granular roles and permissions ensure your data stays secure and accessible only to the right people.', + icon: mdiShieldCheck, + color: 'text-purple-500', + }, + { + title: 'User Management', + description: 'Effortlessly manage users, project memberships, and organizational structures.', + icon: mdiAccountGroup, + color: 'text-amber-500', + }, + ]; return ( -
+
- {getPageTitle('Starter Page')} + {getPageTitle('Home')} - -
- {contentType === 'image' && contentPosition !== 'background' - ? imageBlock(illustrationImage) - : null} - {contentType === 'video' && contentPosition !== 'background' - ? videoBlock(illustrationVideo) - : null} -
- - - -
-

This is a React.js/Node.js app generated by the Flatlogic Web App Generator

-

For guides and documentation please check - your local README.md and the Flatlogic documentation

+ {/* Navbar */} +
- -
-

© 2026 {title}. All rights reserved

- - Privacy Policy - -
+ + {/* Hero Section */} +
+
+
+ + New: AI-Powered Insights +
+

+ Build Your SaaS Faster
with Modern Architecture. +

+

+ The ultimate foundation for your next big idea. Fully featured with Auth, RBAC, Projects, and AI capabilities out of the box. +

+
+ + +
+
+
+ + {/* Feature Section */} +
+
+
+

Everything You Need

+

+ A comprehensive set of tools designed to help you manage your business and team efficiently. +

+
+
+ {features.map((feature, idx) => ( +
+
+ +
+

{feature.title}

+

+ {feature.description} +

+
+ ))} +
+
+
+ + {/* CTA Section */} +
+
+
+
+ +

Ready to take off?

+

+ Join hundreds of developers building the future. Start your 14-day free trial today. +

+
+ +
+
+
+ + {/* Footer */} +
); } -Starter.getLayout = function getLayout(page: ReactElement) { +LandingPage.getLayout = function getLayout(page: ReactElement) { return {page}; -}; - +}; \ No newline at end of file