Giter Club home page Giter Club logo

wishlist's Introduction

Deprecated - VTEX Wishlist app

โš ๏ธ This app is no longer maintained and shouldn't be used by any store.

All Contributors

Description

The Wishlist is a native app that any VTEX store can use. This app is responsible for managing the customer's lists of products.

๐Ÿ“ข Disclaimer: Don't fork this project; use, contribute, or open issue with your feature request.

Release schedule

Release Status Initial Release Maintenance LTS Start End-of-life Store Compatibility
[0.x] Current Release 2019-04-03 2.x

See our LTS policy for more information.

Table of Contents

Usage

This app uses our store builder with the blocks architecture. To know more about Store Builder click here.

To use this app, you need to add it in your dependencies in the manifest.json file.

  dependencies: {
    "vtex.wishlist": "0.x"
  }

Then, if you want to add the Add to List button in your app, you just need to add the add-to-list-btn block into our app theme. You also can add a menu item with a link to redirect to the lists page. To do that, you should use the Menu Builder by including list item block, as the example bellow.

"unstable--menu-item#lists": {
    "props": {
      "id": "unstable--menu-item-lists",
      "type": "custom",
      "iconId": null,
      "highlight": false,
      "itemProps": {
        "type": "internal",
        "href": "store/lists",
        "noFollow": true,
        "tagTitle": "lists",
        "text": "My Lists"
      }
    }
  },

In order to use this app, you should follow the steps bellow.

1. Create Master Data's Entities:

The lists' information are submitted to Master Data on two entities. One entity with the acronym WL to store list's basic informations and another, acronym LP, to store the lists' items. Bellow we have the configuration that these entetities should follow.

Acronym name: WL

Field Type Configuration Description
name Varchar 50 Public to read and public to write List's name
owner Varchar 50 Allow null, public to read, public to write, public to filter and searchable The e-mail of the list's owner
isPublic Boolean Allow null, public to read and public to write Flag to indicate the list visibility
isEditable Boolean Allow null, public to read and public to write Flag to indicate if the list's basic information
items Text Allow null, public to read and public to write Set of the DocumentId of the items added to the list

Acronym name: LP

Field Type Configuration Description
productId Varchar 50 Public to read and public to write Id of the product
skuId Varchar 50 Public to read and public to write SKU id of the product
quantity Integer Public to read and public to write Quantity of the product

2. Install the WishList app in your store:

Use this command to install this app: vtex install vtex.wishlist.

After that, Wishlist's Add to List button will be displayed on ProductSummary and ProductDetails.

Blocks API

This app has an interface that describes what rules must be implemented by a block when you want to use the WishList app.

{
  "addon-summary-btn.add-to-list": {
    "component": "AddProductBtn",
    "required": ["lists", "product-summary"]
  },
  "addon-details-btn.add-to-list": {
    "component": "AddProductBtn",
    "required": ["lists", "product-summary"]
  },
  "add-to-list-btn": {
    "component": "AddProductBtn",
    "required": ["lists", "product-summary"]
  },
  "lists": {
    "component": "ListsPage",
    "required": ["product-summary"]
  },
  "store.lists": {
    "component": "ContainerWrapper",
    "required": [
      "lists"
    ],
    "before": [
      "header.full"
    ],
    "after": [
      "footer"
    ]
  }
}

Configuration

AddProductBtn

Prop name Type Description Default Value
product Product Informations about the product that will be added to lists undefined
large Boolean Flag that indicates if the should be large or not false
icon ReactChild The icon that should appear in the Add to List button IconHeart

Product

Prop name Type Description Default Value
productId String Id of the product undefined
skuId String SKU id of the product undefined
quantity Number Quantity of the product undefined

Styles API

This app provides some CSS classes as an API for style customization.

To use this CSS API, you must add the styles builder and create an app styling CSS file.

  1. Add the styles builder to your manifest.json:
  "builders": {
    "styles": "1.x"
  }
  1. Create a file called vtex.wishList.css inside the styles/css folder. Add your custom styles:
.container {
  margin-top: 1rem;
}

CSS namespaces

Class name Description Component Source
listPageItemsContainer List page's container of the products ListsPage/Content
listPage List page's main container ListsPage/Content
confirmSelectedListsBtn Container of the button to confirm selected lists to add a product in the mobile mode AddToList/Footer
contentContainer Container of the AddToList's content AddToList/Content
popover Container of the Popover component Popover
formViewDialog Dialog content of the FormView component in the desktop mode FormView
summaryContainer Container of the ProductSummary in the list item details ListDetails/ItemDetails
summaryContainerLarge Container of the ProductSummary in the list item details in desktop mode ListDetails/ItemDetails
addToListContent Main container of the AddToList component AddToList/Content
addToListListsToSwitch Container of the lists to be selected in the AddToList component AddToList/Content
createList Container of the CreateList CreateList
createListButtonContainer Container of the button to create a new list ListForm
isPublicLabel Label for show the privacy message in the ListForm ListForm
isPublicHint Label for show the privacy hint in the ListForm ListForm
isPublicContainer Container of the privacy information in the ListForm ListForm
nameInputContainer Container of the list's name input ListForm
form Main container of the ListForm ListForm
updateList Main container of the update list form UpdateList
listEmptyContainer Container of the empty list message in in the list details ListDetails/Content
listEmptyLabel Container of the empty message label when a list does not have products added to it ListDetails/Content
goToAddProductsButtonContainer Container of the button that redirect to the Galery ListDetails/Content
listDetailsContent Main container of the list details ListDetails/Content
buySelectedItemsBtnContainer Container of the BuyButton that add to the cart the selected products of a list ListDetails/Footer
totalPriceLabel Label of the quantity of products in a list ListDetails/Footer
pricesContainer Label of the total price of the selected items from a list ListDetails/Footer
quantityOfSelectedItemsLabel Label for the quantity of selected items in a list ListDetails/Footer
ListDetailsFooter Container of the list details' footer ListDetails/Footer

Troubleshooting

You can check if others are passing through similar issues here. Also feel free to open issues or contribute with pull requests.

Contributing

Check it out how to contribute with this project.

Tests

๐Ÿšง ๐Ÿšง Not implemented yet ๐Ÿšง ๐Ÿšง

Contributors โœจ

Thanks goes to these wonderful people (emoji key):

Matheus Araujo
Matheus Araujo

๐Ÿ“–

This project follows the all-contributors specification. Contributions of any kind welcome!

wishlist's People

Contributors

allcontributors[bot] avatar denisebiscaro avatar klzns avatar lucasecdb avatar lucis avatar matheusr42 avatar thalytafabrine avatar vitoria avatar vtex-io-ci-cd[bot] avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

wishlist's Issues

Conflict footer interface

Hi, I tried to install wishlist at a new workspace with store-theme, I followed the guide of wishlist. But appears an error with the interfaces of footer. This is a screenshot:
bug wishlist

So I think, that is a bug of wishlist.

Regards!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.