create-rspeedy
Version:
Create Rspeedy-powered ReactLynx apps with one command
59 lines (53 loc) • 1.68 kB
JSX
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>
)
}