├── .eslintrc.json ├── src ├── lib │ ├── seo │ │ ├── index.ts │ │ └── site.ts │ ├── get-icon.tsx │ ├── placeholders.tsx │ ├── fonts.ts │ └── motion │ │ ├── zoom-in-out.ts │ │ ├── zoom-out-in.ts │ │ ├── fade-in-out.ts │ │ ├── height-collapse.ts │ │ ├── fade-in-left.ts │ │ ├── fade-in-right.ts │ │ └── zoom-in-bottom.ts ├── app │ ├── favicon.ico │ ├── (public) │ │ ├── help │ │ │ └── page.tsx │ │ ├── contact │ │ │ └── page.tsx │ │ ├── faq │ │ │ └── page.tsx │ │ ├── shops │ │ │ └── page.tsx │ │ ├── site-map │ │ │ └── page.tsx │ │ ├── search │ │ │ └── page.tsx │ │ ├── about-us │ │ │ └── page.tsx │ │ ├── newsletter │ │ │ └── page.tsx │ │ ├── privacy-policy │ │ │ └── page.tsx │ │ ├── wishlist │ │ │ └── page.tsx │ │ ├── contact-us │ │ │ └── page.tsx │ │ ├── special-offers │ │ │ └── page.tsx │ │ ├── products │ │ │ ├── layout.tsx │ │ │ └── [productSlug] │ │ │ │ └── page.tsx │ │ ├── order-history │ │ │ └── page.tsx │ │ ├── cart │ │ │ └── page.tsx │ │ ├── checkout │ │ │ └── page.tsx │ │ ├── layout.tsx │ │ ├── screens │ │ │ └── ourProductsSection.tsx │ │ └── page.tsx │ ├── (dashboard) │ │ └── account │ │ │ ├── cards │ │ │ └── page.tsx │ │ │ ├── chats │ │ │ └── page.tsx │ │ │ ├── orders │ │ │ └── page.tsx │ │ │ ├── wishlists │ │ │ └── page.tsx │ │ │ ├── addresses │ │ │ ├── [id] │ │ │ │ ├── layout.tsx │ │ │ │ ├── AddressEdit.tsx │ │ │ │ ├── page.tsx │ │ │ │ └── loading.tsx │ │ │ ├── layout.tsx │ │ │ ├── page.tsx │ │ │ ├── new │ │ │ │ └── page.tsx │ │ │ └── components │ │ │ │ └── AddressCard.tsx │ │ │ ├── dashboard │ │ │ ├── layout.tsx │ │ │ ├── page.tsx │ │ │ ├── components │ │ │ │ └── AccountWallets.tsx │ │ │ └── loading.tsx │ │ │ ├── change-password │ │ │ ├── layout.tsx │ │ │ ├── loading.tsx │ │ │ └── page.tsx │ │ │ └── edit │ │ │ ├── components │ │ │ └── ProfileEditComponent.tsx │ │ │ ├── page.tsx │ │ │ └── loading.tsx │ ├── (auth) │ │ ├── signout │ │ │ ├── loading.tsx │ │ │ └── page.tsx │ │ ├── signup │ │ │ ├── activation │ │ │ │ └── [token] │ │ │ │ │ └── page.tsx │ │ │ └── page.tsx │ │ └── layout.tsx │ ├── not-found.tsx │ └── layout.tsx ├── modules │ ├── products │ │ ├── quickView │ │ │ ├── index.ts │ │ │ └── quick-view-short-details.tsx │ │ ├── productQuestion │ │ │ └── postQuestionModal.tsx │ │ └── variation-price.tsx │ ├── checkout │ │ ├── CheckoutLeftSite.tsx │ │ └── address-header.tsx │ ├── review │ │ ├── review-card.tsx │ │ └── review-form-view.tsx │ ├── categories │ │ ├── category-carousel.tsx │ │ └── CategoryCard.tsx │ └── questions │ │ └── questionCard.tsx ├── components │ ├── ui │ │ ├── phone-input.tsx │ │ ├── aspect-ratio.tsx │ │ ├── error-message.tsx │ │ ├── pagination.tsx │ │ ├── skeleton.tsx │ │ ├── toaster.tsx │ │ ├── rate-input.tsx │ │ ├── active-link.tsx │ │ ├── label.tsx │ │ ├── textarea.tsx │ │ ├── separator.tsx │ │ ├── input.tsx │ │ ├── scrollbar.tsx │ │ ├── animated-characters.tsx │ │ ├── drawer-wrapper.tsx │ │ ├── checkbox.tsx │ │ ├── rating-progress-bar.tsx │ │ ├── switch.tsx │ │ ├── hover-card.tsx │ │ ├── star-icon.tsx │ │ ├── rating-badge.tsx │ │ ├── popover.tsx │ │ ├── password-input.tsx │ │ ├── avatar.tsx │ │ ├── scroll-area.tsx │ │ ├── progress.tsx │ │ ├── button.tsx │ │ ├── tabs.tsx │ │ ├── breadcrumb.tsx │ │ ├── card.tsx │ │ ├── search │ │ │ └── search.tsx │ │ └── accordion.tsx │ ├── common │ │ └── shared │ │ │ ├── analytics.tsx │ │ │ ├── gradient-logo.tsx │ │ │ ├── ClientOnly.tsx │ │ │ ├── tailwind-indicator.tsx │ │ │ ├── checkbox.tsx │ │ │ ├── ProgressBar.tsx │ │ │ ├── oauth-signin.tsx │ │ │ └── page-header.tsx │ ├── icons │ │ ├── caret-down.tsx │ │ └── groups │ │ │ ├── index.tsx │ │ │ ├── handbag-icon.tsx │ │ │ ├── furniture-icon.tsx │ │ │ └── dress-icon.tsx │ ├── providers │ │ ├── theme-provider.tsx │ │ ├── google.provider.tsx │ │ └── query.provider.tsx │ ├── skelaton │ │ ├── product-feed-loader.tsx │ │ ├── product-card-loader.tsx │ │ └── SkelatonLoader.tsx │ ├── cart │ │ ├── empty-cart.tsx │ │ ├── cart-count-button.tsx │ │ └── cart-item.tsx │ ├── layout │ │ ├── TopBar.tsx │ │ ├── site-header.tsx │ │ ├── manu │ │ │ └── static-menu.tsx │ │ ├── mobile-menu │ │ │ └── mobile-main-menu.tsx │ │ ├── main-nav.tsx │ │ ├── HeaderBottom.tsx │ │ └── sidebar-mobile.tsx │ ├── shop │ │ ├── filtered-item.tsx │ │ ├── top-bar.tsx │ │ ├── filter-sidebar.tsx │ │ └── category-filter.tsx │ ├── shells │ │ ├── shell.tsx │ │ └── dialog-shell.tsx │ ├── forms │ │ ├── verify-email-form.tsx │ │ └── signin-form.tsx │ └── auth │ │ └── logout-buttons.tsx ├── constants │ └── index.ts ├── hooks │ ├── use-is-homepage.ts │ ├── use-mounted.ts │ ├── api │ │ ├── product │ │ │ ├── useGetProduct.ts │ │ │ └── useGetProducts.ts │ │ ├── question │ │ │ ├── question.ts │ │ │ └── createQuestion.ts │ │ ├── category │ │ │ ├── useGetCategoriesQuery.ts │ │ │ ├── useGetCategories.ts │ │ │ └── useCategories.ts │ │ ├── user │ │ │ ├── useMe.ts │ │ │ └── useUser.tsx │ │ ├── addresses │ │ │ └── useGetAddresses.ts │ │ └── type │ │ │ └── useGetTypes.ts │ ├── use-debounce.ts │ ├── useCurrentUser.ts │ ├── use-token.ts │ ├── use-window-size.ts │ ├── useSearchHook.ts │ ├── use-price.tsx │ └── use-query-params.ts ├── utils │ ├── get-variations.ts │ ├── queryKey │ │ └── query.ts │ ├── authorization-atom.ts │ ├── generate-cart-item-name.ts │ ├── helper.ts │ ├── util.ts │ ├── api │ │ └── api-endpoints.ts │ ├── get-color-class.ts │ └── generate-cart-item.ts ├── configs │ ├── settings.ts │ ├── routes.ts │ └── dashboard.ts ├── services │ ├── group.service.ts │ ├── upload.service.ts │ ├── address.service.ts │ ├── review.service.ts │ ├── user.service.ts │ └── category.service.ts ├── types │ ├── utils.ts │ └── custom.types.ts ├── validations │ └── product.ts ├── placeholders │ ├── coupon.svg │ ├── product.svg │ └── avatar.svg ├── middleware.ts ├── data │ └── promotional-slider.ts └── styles │ └── globals.css ├── public ├── login.jpg ├── madrid_03.jpg ├── fruite-Banner.jpg ├── vercel.svg └── logo.svg ├── postcss.config.js ├── .env.example ├── next.config.js ├── components.json ├── .gitignore └── tsconfig.json /.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "next/core-web-vitals" 3 | } 4 | -------------------------------------------------------------------------------- /src/lib/seo/index.ts: -------------------------------------------------------------------------------- 1 | export * from './keywords' 2 | export * from './metadata' -------------------------------------------------------------------------------- /public/login.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SMTanimur/Jazila-bazar/HEAD/public/login.jpg -------------------------------------------------------------------------------- /public/madrid_03.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SMTanimur/Jazila-bazar/HEAD/public/madrid_03.jpg -------------------------------------------------------------------------------- /src/app/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SMTanimur/Jazila-bazar/HEAD/src/app/favicon.ico -------------------------------------------------------------------------------- /public/fruite-Banner.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SMTanimur/Jazila-bazar/HEAD/public/fruite-Banner.jpg -------------------------------------------------------------------------------- /postcss.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: { 3 | tailwindcss: {}, 4 | autoprefixer: {}, 5 | }, 6 | } 7 | -------------------------------------------------------------------------------- /src/modules/products/quickView/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./quick-view-product"; 2 | export * from "./quick-view-short-details"; 3 | -------------------------------------------------------------------------------- /src/app/(public)/help/page.tsx: -------------------------------------------------------------------------------- 1 | const HelpPage = () => { 2 | return
4 | Jazila Bazaar 5 |
6 | ); 7 | } 8 | -------------------------------------------------------------------------------- /src/lib/get-icon.tsx: -------------------------------------------------------------------------------- 1 | type Props = { 2 | iconList: any; 3 | iconName: string; 4 | [key: string]: unknown; 5 | }; 6 | export const getIcon = ({ iconList, iconName, ...rest }: Props) => { 7 | const TagName = iconList[iconName]; 8 | return !!TagName ?9 | {message!} 10 |
11 | ); 12 | }; 13 | -------------------------------------------------------------------------------- /src/components/icons/caret-down.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | export const CaretDown = ({ ...props }) => { 3 | return ( 4 | 11 | ); 12 | }; 13 | -------------------------------------------------------------------------------- /src/components/ui/pagination.tsx: -------------------------------------------------------------------------------- 1 | import RCPagination, { PaginationProps } from 'rc-pagination'; 2 | import React from 'react'; 3 | import 'rc-pagination/assets/index.css'; 4 | 5 | const Pagination: React.FC20 | Sorry, we couldn't find this page. 21 |
22 | 26 |{label}
24 |{totalRating} Overall Rating
47 |42 | {children} 43 |
44 | 45 |28 | {dayjs(review.createdAt).format("D MMMM, YYYY h:mm A")} 29 |
30 |{review.comment}
42 |Rating
31 |({reviewModalState?.ratings})
45 |22 | {category.products_count} Items 23 |
24 |12 | 13 | Q 14 | 15 | {question?.question} 16 |
17 | {question?.answer && ( 18 |19 | 20 | A 21 | 22 | {question?.answer} 23 |
24 | )} 25 | 26 |{itemPrice}
46 |