history order status

This commit is contained in:
Samandar Turgunboyev
2025-11-03 17:56:48 +05:00
parent 9803edc478
commit c6c01a4607
19 changed files with 1122 additions and 46 deletions

View File

@@ -1,5 +1,4 @@
const BASE_URL =
import.meta.env.VITE_API_URL || "https://simple-travel.felixits.uz/api/v1/";
const BASE_URL = import.meta.env.VITE_API_URL;
const AUTH_LOGIN = "auth/token/phone/";
const GET_ME = "auth/me/";
@@ -31,13 +30,16 @@ const SUPPORT_USER = "dashboard/dashboard-support/";
const SUPPORT_AGENCY = "dashboard/dashboard-travel-agency-request/";
const USER_ORDERS = "dashboard/dashboard-ticket-order/";
const AGENCY_ORDERS = "dashboard/dashboard-site-travel-agency-report/";
const AGENCY_ORDERS_HISTORY = "dashboard/dashboard-order-status-history/";
const POPULAR_TOURS = "dashboard/dashboard-ticket-featured/";
const BANNER = "dashboard/dashboard-site-banner/";
const TOUR_ADMIN = "dashboard/dashboard-tour-admin/";
const PAYMENT_AGENCY = "dashboard/dashboard-site-agency-payments/";
const PAYOT_REQUEST = "dashboard/dashboard-agency-payout-request/";
export {
AGENCY_ORDERS,
AGENCY_ORDERS_HISTORY,
AMENITIES,
APPROVED_AGENCY,
AUTH_LOGIN,
@@ -62,6 +64,7 @@ export {
NEWS_CATEGORY,
OFFERTA,
PAYMENT_AGENCY,
PAYOT_REQUEST,
POPULAR_TOURS,
SITE_SEO,
SITE_SETTING,

View File

@@ -510,5 +510,25 @@
"Foydalanuvchini tahrirlash": "Редактировать пользователя",
"Haqiqatan ham": "Вы действительно хотите",
"ni tahrirlamoqchimisiz?": "отредактировать?",
"Agentlik ID": "ID агентства"
"Agentlik ID": "ID агентства",
"Order History": "История статуса заказа",
"Kim tomonidan": "Кем изменено",
"Lavozimi": "Должность",
"No'malum": "Неизвестно",
"O'zgartirilgan status": "Изменённый статус",
"O'zgartirgan sanasi": "Дата изменения",
"Hozircha tarix mavjud emas": "История пока отсутствует",
"pending_payment": "Ожидается оплата",
"pending_confirmation": "Ожидается подтверждение",
"cancelled": "Отменён",
"confirmed": "Подтверждён",
"completed": "Завершён",
"Pul olish sorovlari": "Запросы на получение средств",
"Pul olish so'rovi": "Запрос на снятие средств",
"Miqdorni kiriting": "Введите сумму",
"Hozircha hech qanday pul olish sorovi mavjud emas.": "Пока нет запросов на получение денег.",
"Yuborish": "Отправить",
"Pulni o'tkazish": "Перевод средств",
"Tolov muvaffaqiyatli amalga oshirildi!": "Оплата успешно выполнена!",
"Sizga tizimga kirishga ruxsat berilmagan": "Вам не разрешен доступ к системе."
}

View File

@@ -511,5 +511,25 @@
"Foydalanuvchini tahrirlash": "Foydalanuvchini tahrirlash",
"Haqiqatan ham": "Haqiqatan ham",
"ni tahrirlamoqchimisiz?": "ni tahrirlamoqchimisiz?",
"Agentlik ID": "Agentlik ID"
"Agentlik ID": "Agentlik ID",
"Order History": "Buyurtma holati tarixi",
"Kim tomonidan": "Kim tomonidan",
"Lavozimi": "Lavozimi",
"No'malum": "Nomalum",
"O'zgartirilgan status": "Ozgartirilgan holat",
"O'zgartirgan sanasi": "Ozgartirilgan sana",
"Hozircha tarix mavjud emas": "Hozircha tarix mavjud emas",
"pending_payment": "Tolov kutilmoqda",
"pending_confirmation": "Tasdiqlanish kutilmoqda",
"cancelled": "Bekor qilingan",
"confirmed": "Tasdiqlangan",
"completed": "Yakunlangan",
"Pul olish sorovlari": "Pul olish sorovlari",
"Pul olish so'rovi": "Pul olish so'rovi",
"Miqdorni kiriting": "Miqdorni kiriting",
"Hozircha hech qanday pul olish sorovi mavjud emas.": "Hozircha hech qanday pul olish sorovi mavjud emas.",
"Yuborish": "Yuborish",
"Pulni o'tkazish": "Pulni o'tkazish",
"Tolov muvaffaqiyatli amalga oshirildi!": "Tolov muvaffaqiyatli amalga oshirildi!",
"Sizga tizimga kirishga ruxsat berilmagan": "Sizga tizimga kirishga ruxsat berilmagan"
}

View File

@@ -0,0 +1,127 @@
import * as React from "react"
import {
ChevronLeftIcon,
ChevronRightIcon,
MoreHorizontalIcon,
} from "lucide-react"
import { cn } from "@/shared/lib/utils"
import { Button, buttonVariants } from "@/shared/ui/button"
function Pagination({ className, ...props }: React.ComponentProps<"nav">) {
return (
<nav
role="navigation"
aria-label="pagination"
data-slot="pagination"
className={cn("mx-auto flex w-full justify-center", className)}
{...props}
/>
)
}
function PaginationContent({
className,
...props
}: React.ComponentProps<"ul">) {
return (
<ul
data-slot="pagination-content"
className={cn("flex flex-row items-center gap-1", className)}
{...props}
/>
)
}
function PaginationItem({ ...props }: React.ComponentProps<"li">) {
return <li data-slot="pagination-item" {...props} />
}
type PaginationLinkProps = {
isActive?: boolean
} & Pick<React.ComponentProps<typeof Button>, "size"> &
React.ComponentProps<"a">
function PaginationLink({
className,
isActive,
size = "icon",
...props
}: PaginationLinkProps) {
return (
<a
aria-current={isActive ? "page" : undefined}
data-slot="pagination-link"
data-active={isActive}
className={cn(
buttonVariants({
variant: isActive ? "outline" : "ghost",
size,
}),
className
)}
{...props}
/>
)
}
function PaginationPrevious({
className,
...props
}: React.ComponentProps<typeof PaginationLink>) {
return (
<PaginationLink
aria-label="Go to previous page"
size="default"
className={cn("gap-1 px-2.5 sm:pl-2.5", className)}
{...props}
>
<ChevronLeftIcon />
<span className="hidden sm:block">Previous</span>
</PaginationLink>
)
}
function PaginationNext({
className,
...props
}: React.ComponentProps<typeof PaginationLink>) {
return (
<PaginationLink
aria-label="Go to next page"
size="default"
className={cn("gap-1 px-2.5 sm:pr-2.5", className)}
{...props}
>
<span className="hidden sm:block">Next</span>
<ChevronRightIcon />
</PaginationLink>
)
}
function PaginationEllipsis({
className,
...props
}: React.ComponentProps<"span">) {
return (
<span
aria-hidden
data-slot="pagination-ellipsis"
className={cn("flex size-9 items-center justify-center", className)}
{...props}
>
<MoreHorizontalIcon className="size-4" />
<span className="sr-only">More pages</span>
</span>
)
}
export {
Pagination,
PaginationContent,
PaginationLink,
PaginationItem,
PaginationPrevious,
PaginationNext,
PaginationEllipsis,
}