From e4176b6b7c2c5272843b68e1a6ff12bcbd170f59 Mon Sep 17 00:00:00 2001 From: Flatlogic Bot Date: Mon, 23 Mar 2026 10:29:05 +0000 Subject: [PATCH] landing --- frontend/src/pages/index.tsx | 193 ++++++++--------------------------- 1 file changed, 43 insertions(+), 150 deletions(-) diff --git a/frontend/src/pages/index.tsx b/frontend/src/pages/index.tsx index 85bb076..1c37fde 100644 --- a/frontend/src/pages/index.tsx +++ b/frontend/src/pages/index.tsx @@ -1,166 +1,59 @@ - -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 BaseButton from '../components/BaseButton'; -import CardBox from '../components/CardBox'; -import SectionFullScreen from '../components/SectionFullScreen'; 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 Starter() { - const [illustrationImage, setIllustrationImage] = useState({ - src: undefined, - photographer: undefined, - photographer_url: undefined, - }) - const [illustrationVideo, setIllustrationVideo] = useState({video_files: []}) - const [contentType, setContentType] = useState('video'); - const [contentPosition, setContentPosition] = useState('right'); - const textColor = useAppSelector((state) => state.style.linkColor); - - const title = 'Course LMS' - - // 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 - -
-
) - } - }; +export default function Landing() { return ( -
+ <> - {getPageTitle('Starter Page')} + {getPageTitle('Welcome')} - -
- {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

-
- - - - - -
+
+
+

Build & Learn Anywhere

+

+ The professional Learning Management System for instructors to publish courses and students to master new skills with ease. +

+
+ + +
-
- -
-

© 2026 {title}. All rights reserved

- - Privacy Policy - -
+ -
+
+
+

Features

+
+
+

Instructor Dashboard

+

Create, publish, and manage your courses and track student performance effortlessly.

+
+
+

Interactive Learning

+

Engage with multimedia lessons, quizzes, and track your progress in real-time.

+
+
+

Flexible Enrollments

+

Browse and enroll in any course at your own pace with a seamless student experience.

+
+
+
+
+ +
+
+

© 2026 Learning Management System. All rights reserved.

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