From ba572f9d696d95dd4f223b191dd79637f3e8bc56 Mon Sep 17 00:00:00 2001 From: evansteelepdx Date: Sat, 10 Aug 2024 18:22:40 -0700 Subject: [PATCH] work on the sticker expo app up to the emoji picker --- App.js | 84 ++++++++++++++++++++++++++++++++++++-- components/Button.js | 48 ++++++++++++++++++++++ components/CircleButton.js | 31 ++++++++++++++ components/IconButton.js | 22 ++++++++++ components/ImageViewer.js | 17 ++++++++ components/Picker.js | 44 ++++++++++++++++++++ jsconfig.json | 10 +++++ package-lock.json | 21 ++++++++++ package.json | 4 +- 9 files changed, 276 insertions(+), 5 deletions(-) create mode 100644 components/Button.js create mode 100644 components/CircleButton.js create mode 100644 components/IconButton.js create mode 100644 components/ImageViewer.js create mode 100644 components/Picker.js create mode 100644 jsconfig.json diff --git a/App.js b/App.js index 09f879b..b1ae993 100644 --- a/App.js +++ b/App.js @@ -1,10 +1,69 @@ import { StatusBar } from 'expo-status-bar'; -import { StyleSheet, Text, View } from 'react-native'; +import { StyleSheet, Text, View, Image } from 'react-native'; +import { useState } from 'react'; +import * as ImagePicker from 'expo-image-picker'; + +import ImageViewer from './components/ImageViewer'; +import Button from './components/Button'; +import CircleButton from './components/CircleButton'; +import IconButton from './components/IconButton'; +import Picker from './components/Picker'; + +const backgroundImage = require('./assets/images/background-image.png') export default function App() { + const [selectedImage, setSelectedImage] = useState(null); + const [showAppOptions, setShowAppOptions] = useState(false); + const [isModalVisible, setIsModalVisible] = useState(false); + + const pickImageAsync = async () => { + let result = await ImagePicker.launchImageLibraryAsync({ + allowsEditing: true, + quality: 1, + }); + + if (!result.canceled) { + setSelectedImage(result.assets[0].uri); + setShowAppOptions(true); + } else { + alert('You did not select any image.'); + } + }; + const onReset = () => { + setShowAppOptions(false); + }; + const onAddSticker = () => { + setIsModalVisible(true); + }; + const onModalClose = () => { + setIsModalVisible(false); + }; + const onSaveImageAsync = async () => { + // we will implement this later + }; + return ( - Open up App.js to start working on your app! + + + + {showAppOptions ? ( + + + + + + + + ) : ( + +