UNPKG

react-virtual-tryon

Version:

## **Introduction**

212 lines (147 loc) 6.51 kB
# **Virtual Try-On React Component Library - Documentation** ## **Introduction** The **Virtual Try-On React Component Library** enables developers to integrate **AI-powered virtual try-on** features into their web applications. This guide will walk you through the setup, registration, and usage of the library. --- ## **1. App Registration** Before using the Virtual Try-On components, you must register your application on [**aiframe.app**](https://aiframe.app) to obtain an **API Key** and **Auth Token**. ### **Step 1: Navigate to Developer Settings** 1. Sign in to [**aiframe.app**](https://aiframe.app). 2. Go to the **Dashboard**. 3. Click on the **Profile Avatar** (top-right corner). 4. Select **Developer Settings** from the dropdown. ### **Step 2: Open the Registration Page** You will be redirected to the **Developer Settings** page. Click on the **"Register App"** button to open a popover. ### **Step 3: Fill in App Details** In the popover, provide the following details: - **App Name**: A unique name for your application. - **Origins URLs**: The allowed origins (e.g., `http://yourdomain.com` or `https://yourdomain.com`). - Both **HTTP** and **HTTPS** protocols are supported. ### **Step 4: Submit Registration** Once the details are provided, click the **"Register"** button to complete the process. ### **Step 5: Receive API Key & Auth Token** Upon successful registration: - An **API Key** will be generated to authenticate requests. - An **Auth Token** will be issued for secure access to the Virtual Try-On API. - Both credentials must be **securely stored** and included in API requests when using the library. --- ## **2. Setting Up the Try-On Provider** To use the Virtual Try-On components, wrap your application with the `TryOnProvider`, passing in your **API Key** and **Auth Token**. ### **Installation** First, install the package via npm or yarn: ```sh npm install react-virtual-tryon # or yarn add react-virtual-tryon ``` ### **Usage** Wrap your application with the `TryOnProvider` in your main component (e.g., `App.tsx` or `layout.tsx` for Next.js): ```tsx "use client"; import { TryOnProvider } from "react-virtual-tryon"; import ProductPage from "./ProductPage"; function App() { return ( <TryOnProvider apiKey="your-api-key" token="your-auth-token"> <ProductPage /> </TryOnProvider> ); } export default App; ``` ### **How the Provider Works** - The `TryOnProvider` ensures that the **API Key** and **Auth Token** are available throughout the library. - Users **do not need** to access these credentials directly. - The library **handles authentication** and API communication internally. --- ## **3. Using the Try-On Button** Once the provider is set up, users can integrate the `TryOnButton` component into their product pages. ### **Props** | Prop Name | Type | Required | Description | | --------------- | ------ | ------------- | -------------------------------------------------- | | `dressId` | string | ✅ | The unique identifier for the dress. | | `dressImage` | string | ✅ | URL of the dress image. | | `dressName` | string | ✅ | Name of the dress. | | `className` | string | ❌ (optional) | Custom styling for the button. | | `children` | any | ❌ (optional) | Custom text inside the button (e.g., `Try On`). | | `widgetClasses` | string | ❌ (optional) | Custom styling for the Virtual Fitting Room modal. | ### **Example Usage in a Product Page** ```tsx import { TryOnButton } from "react-virtual-tryon"; const ProductPage = () => { const product = { id: "dress123", image: "https://example.com/dress.jpg", name: "Elegant Red Dress", }; return ( <div> <h1>{product.name}</h1> <img src={product.image} alt={product.name} /> <TryOnButton dressId={product.id} dressImage={product.image} dressName={product.name} className="custom-button-style" > Try On </TryOnButton> </div> ); }; export default ProductPage; ``` ### **How It Works** - When the **"Try It On"** button is clicked, a **Virtual Fitting Room** modal opens. - The modal **uses the API Key and Auth Token** (handled internally). - Users can **try on the dress virtually** using AI-powered rendering. - The `className` prop allows developers to **style the button** to match their app theme. - The `children` prop lets users **customize the button text** (e.g., `"Try On"`). --- ## **4. Styling Guide** To ensure proper styling of the Virtual Try-On components, importing the library's CSS file is **mandatory**. ### **Step 1: Import the Default Stylesheet** Add the following import to your entry file (`index.js`, `index.tsx`, or `layout.tsx` in Next.js): ```tsx import "react-virtual-tryon/dist/index.css"; ``` ### **Step 2: Use the Try-On Button** Once imported, the component will have default styles applied. ```tsx <TryOnButton dressId="dress123" dressImage="https://example.com/dress.jpg" dressName="Elegant Red Dress" > Try It On </TryOnButton> ```**Default styles will now be applied automatically.** ### **Custom Styling** For projects that require additional customization, developers can override the default styles using their own CSS. #### **Example: Overriding Button Styles** ```css /* styles.css */ .tryon-button { background-color: #ff5733; color: white; padding: 10px 16px; border-radius: 6px; font-size: 16px; font-weight: 600; cursor: pointer; transition: background-color 0.3s ease; } .tryon-button:hover { background-color: #e04b2c; } ``` Apply the styles using the `className` prop: ```tsx <TryOnButton className="tryon-button">Try It On</TryOnButton> ``` ### **Summary of Styling Requirements** | Requirement | Action | | ------------------- | ----------------------------------------------------------------------------------- | | **Import Required** | The stylesheet **must** be imported: `import "react-virtual-tryon/dist/index.css"`. | | **Custom Styling** | Use `className` to apply additional styles as needed. | By following these guidelines, you can ensure **seamless integration** while maintaining design consistency.