From d87cea9ff2467f93be28533938dfc3a3e5c0c937 Mon Sep 17 00:00:00 2001 From: Akshay Nair Date: Sun, 12 May 2024 18:04:15 +0530 Subject: Add home and clock on top --- App.tsx | 7 +++---- src/components/Clock.tsx | 37 +++++++++++++++++++++++++++++++++++++ src/screens/Home.tsx | 14 ++++++++++++++ 3 files changed, 54 insertions(+), 4 deletions(-) create mode 100644 src/components/Clock.tsx create mode 100644 src/screens/Home.tsx diff --git a/App.tsx b/App.tsx index 1b42456..6c2c0dc 100644 --- a/App.tsx +++ b/App.tsx @@ -1,8 +1,9 @@ import React, {useState} from 'react'; -import {SafeAreaView, Text, View} from 'react-native'; +import {SafeAreaView} from 'react-native'; import {InstalledApps} from 'react-native-launcher-kit'; import Swiper from 'react-native-swiper'; import {AppList} from './src/screens/AppList'; +import {Home} from './src/screens/Home'; function App(): React.JSX.Element { const [apps, setApps] = useState(() => InstalledApps.getSortedApps()); @@ -20,9 +21,7 @@ function App(): React.JSX.Element { activeDot={<>} index={screenIndex} onIndexChanged={setScreenIndex}> - - Wow - + diff --git a/src/components/Clock.tsx b/src/components/Clock.tsx new file mode 100644 index 0000000..113201f --- /dev/null +++ b/src/components/Clock.tsx @@ -0,0 +1,37 @@ +import React, {useEffect, useMemo, useState} from 'react'; +import {Text, View} from 'react-native'; + +export const Clock: React.FC = () => { + const [date, setDate] = useState(() => new Date()); + useEffect(() => { + const interval = setInterval(() => { + setDate(new Date()); + }, 5000); + return () => clearInterval(interval); + }, []); + + const timeText = useMemo(() => { + const formatter = new Intl.DateTimeFormat('en', { + hour: 'numeric', + minute: 'numeric', + second: 'numeric', + }); + return formatter.format(date); + }, [date]); + + const dateText = useMemo(() => { + const formatter = new Intl.DateTimeFormat('en-IN', { + month: 'short', + day: 'numeric', + weekday: 'long', + }); + return formatter.format(date); + }, [date]); + + return ( + + {timeText} + {dateText} + + ); +}; diff --git a/src/screens/Home.tsx b/src/screens/Home.tsx new file mode 100644 index 0000000..da24e13 --- /dev/null +++ b/src/screens/Home.tsx @@ -0,0 +1,14 @@ +import React, {useMemo} from 'react'; +import {Text, View} from 'react-native'; +import {Clock} from '../components/Clock'; + +export const Home: React.FC = () => { + return ( + + + + Favorites list + + + ); +}; -- cgit v1.3.1