Preferred CSS/Design
Tailwind
Pros
- When customizing stick to the design system
- Small learning curve
- They have component-based design in mind
- Upcoming NextJS, built-in Tailwind
import Head from 'next/head'; | |
const CDN_BASE = 'https://cdn.jsdelivr.net/npm/'; | |
const PACKAGE_NAME = '@zoomus/websdk'; | |
const PACKAGE_VERSION = '1.8.1'; | |
const PACKAGE_DIR = `${CDN_BASE}${PACKAGE_NAME}@${PACKAGE_VERSION}`; | |
const ZOOM_DIR = '/dist/lib'; | |
const AV_DIR = '/av'; | |
const VERSION_PREFIX = '5793_'; |
type Collect<T, O extends string, C extends string, S extends string, R extends any[] = []> = | |
T extends `${C}${infer Rest}` | |
? Collect<Rest, Rest, C, S, [any, ...R]> | |
: `${S}(${R['length']});${Compile<O>}`; | |
type Compile<T> = | |
T extends `+${infer Rest}` | |
? Collect<T, Rest, '+', 'c'> | |
: | |
T extends `-${infer Rest}` |
query IntrospectionQuery { | |
__schema { | |
queryType { | |
name | |
} | |
mutationType { | |
name | |
} | |
subscriptionType { | |
name |
interface SWROptions { | |
revalidateOnVisibility?: boolean; | |
revalidateOnNetwork?: boolean; | |
revalidateOnFocus?: boolean; | |
} | |
function createSWRResource<T>( | |
data: Resource<T>, | |
refetch: () => void, | |
options: SWROptions, |