1.2.1 • Published 1 month ago

pinelab-storefront v1.2.1

Weekly downloads
-
License
MIT
Repository
github
Last release
1 month ago

Pinelab storefront

This package holds:

  1. Reusable Vue components to compose storefronts.
  2. Vendure logic for generating static pages serverside.
  3. VendureClient for use on the client/browser.

Components

You can import reusable Buefy components to build a storefront:

<template>
  <CustomerDetailsForm
    :available-countries="availableCountries"
    :vendure="vendure"
    @back="history.back()"
    @submit="gotToShipping()"
  />
</template>
<script>
import OrderSummary from 'pinelab-storefront/lib/components/OrderSummary';

export default {
  components: { OrderSummary }
};
</script>

Checkout src/components/ for more Buefy components.

Labels

The Vue components use labels from a labels.json in the root of your project. Whenever a button or field shows something like order-summary.title, it means you don't have it defined in your labels file. Add this to your main.js file to enable labels:

import { setLabelFunction } from 'pinelab-storefront';

setLabelFunction(Vue, require('../labels.json'));

You can now use $l('basket.title') in your Vue HTML and it will display Winkelmand.

// labels.json in root of your storefront
{
  "basket": {
    "title": "Winkelmand",
    "shipping-cost": "Verzendkosten"
  }
}

Vendure Client

Create a Vendure client to communicate with Vendure on the client side. For example for adding products to cart. Add this to your main.js to make the Vendure client available in your Vue app:

import { setStore } from 'pinelab-storefront';

setStore(
  Vue,
  process.env.GRIDSOME_VENDURE_API,
  process.env.GRIDSOME_VENDURE_TOKEN
);

You can now get the active order of a user like this:

  async
mounted()
{
  await this.$vendure.getActiveOrder();
}

Checkout src/vendure/vendure.client.ts for more functions of VendureClient.

Vendure Server

VendureServer is mostly used in gridsome.server.js to fetch data during build time to build the HTML pages:

const { VendureServer } = require('pinelab-storefront');
const vendureServer = new VendureServer(
  process.env.GRIDSOME_VENDURE_API,
  process.env.GRIDSOME_VENDURE_TOKEN
);
vendureServer.getShopData();

Utilities

// TODO

1.2.1

1 month ago

1.2.0

5 months ago

1.0.2

6 months ago

1.0.1

7 months ago

1.0.0

7 months ago

0.67.3

6 months ago

1.1.0

6 months ago

0.67.2

8 months ago

0.67.0

12 months ago

0.67.1

12 months ago

0.66.6

1 year ago

0.64.1

1 year ago

0.64.0

1 year ago

0.65.0

1 year ago

0.64.6

1 year ago

0.66.1

1 year ago

0.64.3

1 year ago

0.64.2

1 year ago

0.64.5

1 year ago

0.64.4

1 year ago

0.63.0

1 year ago

0.62.1

1 year ago

0.60.3

1 year ago

0.62.0

1 year ago

0.60.2

2 years ago

0.60.5

1 year ago

0.62.2

1 year ago

0.60.4

1 year ago

0.61.0

1 year ago

0.60.6

1 year ago

0.60.1

2 years ago

0.60.0

2 years ago

0.59.0

2 years ago

0.58.5

2 years ago

0.58.4

2 years ago

0.58.3

2 years ago

0.58.2

2 years ago

0.58.1

2 years ago

0.58.0

2 years ago

0.57.11

2 years ago

0.57.10

2 years ago

0.57.9

2 years ago

0.57.7

2 years ago

0.57.6

2 years ago

0.57.5

2 years ago

0.57.4

2 years ago

0.57.3

2 years ago

0.57.2

2 years ago

0.57.1

2 years ago

0.57.0

2 years ago

0.56.0

2 years ago

0.55.3

2 years ago

0.55.1

2 years ago

0.55.0

2 years ago

0.54.3

2 years ago

0.54.2

2 years ago

0.54.1

2 years ago

0.54.0

2 years ago