Hearth Code

Pick Ember or Moss, preview the shipped theme live, then install it where you already work.

Direction

Mode

Current choice

HearthCode Ember Dark

Warm charcoal.

HearthCode Ember Dark
1// async data fetching with full type safety
2import { createContext, useContext } from 'react'
3 
4interface ApiResponse<T> {
5 data: T
6 status: number
7 ok: boolean
8}
9 
10async function request<T>(
11 url: string,
12 options?: RequestInit
13): Promise<ApiResponse<T>> {
14 const res = await fetch(url, options)
15 const data = await res.json() as T
16 return { data, status: res.status, ok: res.ok }
17}
18 
19const BASE = 'https://api.vesper.dev'
20const TIMEOUT = 5_000