Okay
  Print

How to use is as single vendor?

Hello,

If you want to use this multi-vendor marketplace as a single vendor shop you have to keep in mind that you are only doing it so your user can't understand if it is a multivendor or not. sO the changes you have to do are in your shop code.

Admin changes:

1. First of all create a single shop from the admin dashboard as admin.

2. Remove the Register as store owner section from admin login. Remove the below section of code from "rest/src/components/auth/login-form.tsx" file

<div className="text-sm sm:text-base text-body text-center">     {t("form:text-no-account")}{" "}     <Link href="/register" className="ms-1 underline text-accent font-semibold transition-colors duration-200 focus:outline-none hover:text-accent-hover focus:text-accent-700 hover:no-underline focus:no-underline" >         {t("form:link-register-shop-owner")}     </Link> </div>


Shop changes: 

1. Remove the 'Become a seller" button and "shops" menu from the shop menu. Remove below code from "src/components/layouts/header-minimal.tsx" file

<Link href={`${process.env.NEXT_PUBLIC_ADMIN_URL}/register`} variant="button" target="_blank" > 
    {t('text-become-seller')} 
</Link>

and below code from "src/components/layouts/header.tsx"

<a href={`${process.env.NEXT_PUBLIC_ADMIN_URL}/register`} target="_blank" rel="noreferrer" className="inline-flex items-center justify-center flex-shrink-0 px-3 py-0 text-sm font-semibold leading-none transition duration-300 ease-in-out border border-transparent rounded outline-none h-9 bg-accent text-light hover:bg-accent-hover focus:outline-none focus:shadow focus:ring-1 focus:ring-accent-700" > {t('text-become-seller')} </a>


2. Then remove the seller section from the shop details section. Remove the below code from the "src/components/products/details/details.tsx" path

{shop?.name && ( <div className="flex items-center mt-2"> <span className="text-sm font-semibold text-heading capitalize me-6 py-1"> {t('common:text-sellers')} </span> <button onClick={() => navigate(`${ROUTES.SHOPS}/${encodeURIComponent(shop?.slug)}`) } className="text-sm text-accent tracking-wider transition underline hover:text-accent-hover hover:no-underline" > {shop?.name} </button> </div> )}


3. Now on the order details page remove the suborders section. Remove below code from "src/components/orders/order-view.tsx" path.

{order?.children?.length > 1 ? (          <div>            <h2 classname="text-xl font-bold text-heading mt-12 mb-6">              {t('text-sub-orders')}            </h2>            <div>              <div classname="flex items-start border border-gray-700 rounded p-4 mb-12">                <span classname="w-4 h-4 px-2 rounded-sm bg-dark flex items-center justify-center me-3 mt-0.5">                  <checkmark classname="w-2 h-2 text-light flex-shrink-0"></checkmark>                </span>                <p classname="text-heading text-sm">                  <span classname="font-bold">{t('text-note')}:</span>{' '}                  {t('message-sub-order')}                </p>              </div>              {Array.isArray(order?.children) && order?.children.length && (                <div classname="">                  <suborderitems items="{order?.children}"></suborderitems>                </div>              )}            </div>          </div>        ) : null}

4. Now remove the view suborders button from the my-orders page.  Now replace the below code from "src/components/orders/order-details.tsx"

<Link href="{`${ROUTES.ORDERS}/${tracking_number}`}" classname="font-semibold text-sm text-accent flex items-center transition duration-200 no-underline hover:text-accent-hover focus:text-accent-hover">                <eye width="{20}" classname="me-2"></eye>                {t('text-sub-orders')}              </Link>


use this code to replace above code

<Link href="{`${ROUTES.ORDERS}/${tracking_number}`}" classname="font-semibold text-sm text-accent flex items-center transition duration-200 no-underline hover:text-accent-hover focus:text-accent-hover">      <eye width="{20}" classname="me-2"></eye>      Details
</Link>