UNPKG

create-rspeedy

Version:

Create Rspeedy-powered ReactLynx apps with one command

59 lines (53 loc) 1.68 kB
import { useCallback, useEffect, useState } from '@lynx-js/react' import './App.css' import arrow from './assets/arrow.png' import lynxLogo from './assets/lynx-logo.png' import reactLynxLogo from './assets/react-logo.png' import { useFlappy } from './useFlappy.js' export function App() { const [alterLogo, setAlterLogo] = useState(false) const [logoY, jump] = useFlappy() useEffect(() => { console.info('Hello, ReactLynx') }, []) const onTap = useCallback(() => { 'background only' setAlterLogo(prevAlterLogo => !prevAlterLogo) }, []) return ( <view bindtap={jump}> <view className='Background' /> <view className='App'> <view className='Banner'> <view className='Logo' style={{ transform: `translateY(${logoY}px)` }} bindtap={onTap} > {alterLogo ? <image src={reactLynxLogo} className='Logo--react' /> : <image src={lynxLogo} className='Logo--lynx' />} </view> <text className='Title'>React</text> <text className='Subtitle'>on Lynx</text> </view> <view className='Content'> <image src={arrow} className='Arrow' /> <text className='Description'>Tap the logo and have fun!</text> <text className='Hint'> Edit<text style={{ fontStyle: 'italic', color: 'rgba(255, 255, 255, 0.85)', }} > {' src/App.tsx '} </text> to see updates! </text> </view> <view style={{ flex: 1 }} /> </view> </view> ) }