adding localstorage

This commit is contained in:
Alec Dilanchian committed 2022-11-17 10:30:13 -05:00
1 parent e588cbf2ef
commit 48a2f5e514
1 file changed
+22 -11
+22 -11
View File
@@ -1,7 +1,6 @@
import { useCallback, useEffect, useState } from 'react'; import { useCallback, useEffect, useState } from 'react';
import { import {
Box, Box,
Button,
Text, Text,
Flex, Flex,
VStack, VStack,
@@ -46,12 +45,19 @@ const Home = () => {
}); });
}, [input]); }, [input]);
useEffect(() => {
console.log('checking local storage...');
const scratchPadText = localStorage.getItem('scratchpad');
setInput(scratchPadText);
}, []);
useEffect(() => { useEffect(() => {
const keydownHandler = async (event) => { const keydownHandler = async (event) => {
if ((event.metaKey || event.ctrlKey) && event.code === 'Enter') { if ((event.metaKey || event.ctrlKey) && event.code === 'Enter') {
event.preventDefault(); event.preventDefault();
await generateAction(); await generateAction();
} }
localStorage.setItem('scratchpad', input);
}; };
window.addEventListener('keydown', keydownHandler); window.addEventListener('keydown', keydownHandler);
@@ -59,27 +65,28 @@ const Home = () => {
return () => { return () => {
window.removeEventListener('keydown', keydownHandler); window.removeEventListener('keydown', keydownHandler);
}; };
}, [generateAction]); }, [input, generateAction]);
return ( return (
<Flex minHeight="100vh" bg="black"> <Flex minHeight="100vh" bg="black">
<Flex w="100%" alignItems="center" justifyContent="center"> <Flex w="100%" alignItems="center" justifyContent="center">
<VStack w="100%" color="white" spacing={10}> <VStack w="100%" color="white" spacing={5}>
<VStack maxW={{ base: '80%', md: '60%', lg: '40%' }}> <VStack maxW={{ base: '80%', md: '60%', lg: '50%' }}>
<Text fontWeight="bold" fontSize="4xl"> <Text fontWeight="bold" fontSize="4xl">
ScratchPad ScratchPad
</Text> </Text>
<Text fontSize="xl"> <Text fontSize="lg">
Write your first story, movie script, or song in 2 minutes. Type a Write your first story, movie script, or song in 2 minutes. Start
few sentences and just press <Kbd color="gray.700">ctrl</Kbd> or{' '} by typing a few sentences and press{' '}
<Kbd color="gray.700">ctrl</Kbd> or{' '}
<Kbd color="gray.700">cmd</Kbd> +{' '} <Kbd color="gray.700">cmd</Kbd> +{' '}
<Kbd color="gray.700">enter</Kbd> to have your AI writer generate <Kbd color="gray.700">enter</Kbd> to have your AI writer to help
the rest! you generate the rest!
</Text> </Text>
</VStack> </VStack>
<Box <Box
h={{ base: '250px', md: '500px', lg: '750px' }} h={{ base: '250px', md: '350px', lg: '400px' }}
w={{ base: '80%', md: '60%', lg: '40%' }} w={{ base: '80%', md: '60%', lg: '50%' }}
position="relative" position="relative"
> >
{isGenerating && ( {isGenerating && (
@@ -139,3 +146,7 @@ const Home = () => {
}; };
export default Home; export default Home;
// <Flex bgColor="green.300" w="100%" justifyContent="flex-end">
// <Button color="black">Save</Button>
// </Flex>;