# React

### Example

See [here](https://github.com/lkc93/lailaland-drop/blob/main/src/App.js#L21-L38) for an example React integration.&#x20;

### Steps

Install [Winter's checkout package](https://www.npmjs.com/package/@usewinter/checkout)

```
npm i @usewinter/checkout

OR 

yarn add @usewinter/checkout
```

Use the component in your React app

```
import { WinterCheckout } from '@usewinter/checkout';

<WinterCheckout 
    projectId={YOUR_PROJECT_ID} 
    production={false} 
    showModal={showWinter} 
    // pass in a function to be called when a successful purchase happens
    onSuccess={() => setParty(true)}
    // pass in a function to be called when the modal is closed
    onClose={() => setShowWinter(false)}
    // Extra mint params are params besides 'address, amount, proof'
    // The key needs to exactly match the name of the param provided to Winter
    // The value will be passed in as the param
    extraMintParams={{tier: 'diamond', type: 'super-rare'}}
    // Price function params
    // The key needs to exactly match the name of the param provided to Winter
    // The value will be passed in as the param
    priceFunctionParams={{tier: 'gold', type: 'rare'}}
    // Language - supports spanish, chinese, chineseT (chinese traditional), japanese, korean, french
    language={'chinese'}
    // If you want to customize the css of the checkout widget
    appearance={{
        leftBackgroundColor: "#131317",
	rightBackgroundColor: "#22222d",
	buttonTextColor: "black",
	buttonColor: "#f59e0c",
	primaryTextColor: "white",
	secondaryTextColor: "#85868a",
	fontFamily: "Montserrat,sans-serif",
	buttonAndInputBoxShadow: "0 3px 6px 1px rgba(217, 119, 6, 0.2)",
	buttonAndInputFocusBoxShadow: "0 3px 6px 1px rgba(217, 119, 6, 0.8)",
        quantityButtonPlusMinusSvgFilter: "invert(100%) sepia(100%) saturate(1%) hue-rotate(135deg) brightness(105%) contrast(101%)",
        inputBackgroundColor: "#131317",
        mintingClipLoaderColor: "white",
        borderColor: "rgba(245,158,11)"
    }}
/>
```

ProjectId - Get this from the Winter team!&#x20;

Production - false while testing, true when you go live&#x20;

showModal - this variable toggles true or false depending on the state of your "Pay with Card" button

Make sure to handle the close modal and post purchase properly. You can find the details here [<mark style="color:purple;">post purchase</mark>](/front-end-integration/post-purchase.md).&#x20;


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.usewinter.com/front-end-integration/react.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
