Hello World Example
The simplest SynApp Mini App. Learn the basics of SynApp SDK with an interactive counter.
Interactive Playground
Try editing the code below and see changes instantly. Click "Open in CodeSandbox" to fork and save your own version.
Hello World - Interactive Counter
Open in CodeSandbox Loading CodeSandbox...
What You'll Learn
- SynAppProvider - Root context provider
- SynAppPage - Page wrapper component
- SynAppButton - Themed button component
- useSession - Access user authentication
Code Breakdown
1. Import SDK Components
import {
SynAppProvider,
SynAppPage,
SynAppButton,
useSession
} from '@synapp/ui';2. Create Your Component
function HelloWorld() {
const { session, isAuthenticated } = useSession();
const [count, setCount] = useState(0);
return (
<div>
<h1>Welcome to SynApp! 👋</h1>
{isAuthenticated && <p>Logged in as {session.user.email}</p>}
<div className="text-7xl">{count}</div>
<SynAppButton onClick={() => setCount(c => c + 1)}>
Increment
</SynAppButton>
</div>
);
}3. Wrap with Providers
function App() {
return (
<SynAppProvider>
<SynAppPage requireAuth={false} title="Hello World">
<HelloWorld />
</SynAppPage>
</SynAppProvider>
);
}Try These Challenges
- Add a Decrement Button - Create a button that decreases the count
- Persist Count - Save count to
localStorage - Add Animations - Animate the counter with CSS transitions
- Use Theme Colors - Import
useTheme()and apply theme colors - Add Haptic Feedback - Use
useHapticFeedback()on button click