The useOrder hook is used to get list of app orders or create a new order.

Usage

Get Orders

    import { useOrder, OrderResource } from '@useawards/useaward-expo';

    export default function Orders() {
    const { isLoaded, getOrders } = useOrder();
    const [orders, setOrders]  = useState<OrderResource[]>([]);
    
    const fetchOrders = async () => {
        const result = await getOrders();

        setOrders(result || []);
    }

    useEffect(() => {
        if (isLoaded) {
        fetchOrders();
        }
    }, [isLoaded, getOrders]);

    return (
        <View>
        {orders.map((order) => (
            <Text key={order.uuid}>{order.uuid}</Text>
        ))}
        </View>
    )
    }

Create Order

    import React, {Component} from 'react';
    import { OrderResource } from "@useawards/types";
    import { useOrder } from "@useawards/useaward-react";
    import { useEffect, useState } from "react";
    import { TouchableOpacity, View } from 'react-native';

    export default function Orders() {
    const { isLoaded, getOrders, createOrder } = useOrder();
    const [orders, setOrders]  = useState<OrderResource[]>([]);

    useEffect(() => {
        if (isLoaded) {
        const fetchOrders = async () => {
            const result = await getOrders();
            setOrders(result || []);
        }

        fetchOrders();
        }
    }, [isLoaded, getOrders]);

    const handleCreateOrder = async (prizeUuid: string) => {
        const response = await createOrder(prizeUuid);

        ...
    }

    return (
        <View>
        {orders.map((order) => (
            <TouchableOpacity key={order.uuid} onPress={() => handleCreateOrder(order.prize.uuid)}>
                <View>{order.prize.name}</View>
            </TouchableOpacity>
        ))}
        </View>
    )
}