'use strict';
const dom = React.createElement;
const CONFIG = {
profA: {
contactInformation: true,
productFilter: products => products,
prices: false,
},
profB: {
contactInformation: false,
productFilter: products => products,
prices: false,
},
domA: {
contactInformation: false,
productFilter: products => products,
prices: true,
},
domB: {
contactInformation: false,
productFilter: products => products,
prices: false,
},
};
console.log(process.env.mode, CONFIG[process.env.mode]);
const Tag = (label, key, className) => (
{label}
);
const Section = (title, paragraph, prepend) => (
{ title }
{ prepend }{ paragraph }
);
const Product = (product, key) => (
{product.name}
{product.shortDesc}
{
Section('Descripción', product.fullDesc)
}
{
product.application && Section('Aplicación', product.application)
}
{
product.actives &&
Section(
'Activos',
product.actives.join(', '),
product.ph && Tag(`PH ${product.ph}`, null, 'is-ph')
)
}
);
const Category = (category, products) => (
{category[LABEL]}
|
{
products.map((p, i) => (
|
{ Product(p, i) }
|
))
}
|
|
);
const ToC = (categories, products) => (
Indice |
{
categories.map((category, i) => (
{
products[category[LABEL]].map(product => (
{ product.name }
))
}
|
))
}
)
const Vademecum = (categories, products) => {
return categories.map((categoryName, i) => (
{
Category(categoryName, products[categoryName[LABEL]])
}
))
}
const domContainer = document.querySelector('#vademecum');
const LABEL = 0,
TAG = 1;
class VademecumData extends React.Component {
constructor(props) {
super(props);
this.state = {
categories: [
[ "Higiene", "higiene" ],
[ "Máscaras", "mascaras" ],
[ "Ácido Hialurónico", "acido-hialuronico" ],
[ "Peeling", "peeling" ],
[ "Corporales", "corporales" ],
[ "Hombres", "hombres" ],
[ "Protección Intensiva", "proteccion-intensiva" ],
[ "Monodosis", "monodosis" ],
[ "Activos Concentrados", "activos-concentrados" ],
[ "Protección Solar", "proteccion-solar" ]
],
products: null,
}
}
componentDidMount() {
fetch('data/products-by-category.json')
.then(response => response.json())
.then(data => {
this.setState({
products: data,
})
})
}
render() {
const { categories, products } = this.state;
if (products) {
return (
{ ToC(categories, products) }
{ Vademecum(categories, products) }
)
} else {
return ();
}
}
}
ReactDOM.render(dom(VademecumData), domContainer);