* **Difficulty Tag**: Easy * **Module**: Components * **Task Description**: Create a reusable button component matching the design elements of the Agora web platform. 1. Create `components/ui/Button.tsx`. 2. The button must support: * `title`: string text. * `onPress`: callback function. * `variant`: filled, outlined, or text-only. * `isLoading`: shows a loading spinner overlay instead of text. * `disabled`: opacity reduction and interaction blockage. * `shadow`: boolean to enable the signature hard offset shadow. * **Acceptance Criteria**: * The button renders correctly with proper typography and alignment. * Press interactions apply a subtle scale animation. ---
Create a reusable button component matching the design elements of the Agora web platform.
components/ui/Button.tsx.title: string text.onPress: callback function.variant: filled, outlined, or text-only.isLoading: shows a loading spinner overlay instead of text.disabled: opacity reduction and interaction blockage.shadow: boolean to enable the signature hard offset shadow.