Skip to content

Commit

Permalink
feat(store): add max price containers to multiple stores (#579)
Browse files Browse the repository at this point in the history
  • Loading branch information
xninjax committed Oct 23, 2020
1 parent 503d76f commit f9c4c25
Show file tree
Hide file tree
Showing 24 changed files with 108 additions and 12 deletions.
4 changes: 4 additions & 0 deletions src/store/model/alternate-nl.ts
Expand Up @@ -6,6 +6,10 @@ export const AlternateNL: Store = {
container: '.stockStatus',
text: ['Direct leverbaar']
},
maxPrice: {
container: 'div.price > span',
euroFormat: true
},
outOfStock: {
container: '.stockStatus',
text: ['Levertermijn onbekend', 'pre-order']
Expand Down
4 changes: 4 additions & 0 deletions src/store/model/alternate.ts
Expand Up @@ -6,6 +6,10 @@ export const Alternate: Store = {
container: '.stockStatus',
text: ['auf lager', 'ware neu eingetroffen', 'in k眉rze versandfertig', 'ware im zulauf']
},
maxPrice: {
container: 'div.price > span',
euroFormat: true
},
outOfStock: {
container: '.stockStatus',
text: ['liefertermin unbekannt']
Expand Down
6 changes: 5 additions & 1 deletion src/store/model/aria.ts
Expand Up @@ -7,6 +7,10 @@ export const Aria: Store = {
container: '#addQuantity',
text: ['add to shopping basket']
},
maxPrice: {
container: '.priceBig',
euroFormat: false // Note: Aria uses non-euroFromat as price seperator
},
outOfStock: {
container: '.fBox',
text: ['out of stock', 'there is currently no stock of this item']
Expand All @@ -15,7 +19,7 @@ export const Aria: Store = {
links: [
{
brand: 'test:brand',
model: 'CARD',
model: 'test:model',
series: 'test:series',
url: 'https://www.aria.co.uk/Products/Components/Graphics+Cards/NVIDIA+GeForce/GeForce+RTX+2060+Super/Gigabyte+NVIDIA+GeForce+RTX+2060+SUPER+8GB+WINDFORCE+OC+Turing+Graphics+Card+%2B+RTX+Bundle%21?productId=71541'
}
Expand Down
4 changes: 4 additions & 0 deletions src/store/model/azerty.ts
Expand Up @@ -6,6 +6,10 @@ export const Azerty: Store = {
container: '.orderdelay',
text: ['Volgende werkdag in huis', '1 werkdag', '2-3 werkdagen']
},
maxPrice: {
container: '.mod_article .price',
euroFormat: true
},
outOfStock: {
container: '.orderdelay',
text: ['Onbekend', 'meer dan 10 werkdagen', 'Pre-order']
Expand Down
8 changes: 6 additions & 2 deletions src/store/model/box.ts
Expand Up @@ -7,16 +7,20 @@ export const Box: Store = {
container: '#divBuyButton',
text: ['add to basket']
},
maxPrice: {
container: '.p-right-wrapper .pq-price',
euroFormat: false // Note: Box uses non-euroFromat as price seperator
},
outOfStock: {
text: ['request stock alert', 'coming soon']
}
},
links: [
{
brand: 'test:brand',
model: 'CARD',
model: 'test:model',
series: 'test:series',
url: 'https://www.box.co.uk/ASUS-TUF-GeForce-RTX-2060-6GB-Gaming-Gra_2669497.html'
url: 'https://www.box.co.uk/Gigabyte-GeForce-RTX-2080-Super-8GB-Wind_2724554.html'
}
],
linksBuilder: {
Expand Down
4 changes: 4 additions & 0 deletions src/store/model/caseking.ts
Expand Up @@ -7,6 +7,10 @@ export const Caseking: Store = {
container: '.delivery_container',
text: ['lagernd', 'im zulauf', 'ab']
},
maxPrice: {
container: '#buybox .article_details_price',
euroFormat: true
},
outOfStock: {
container: '.delivery_container',
text: ['unbekannt']
Expand Down
6 changes: 5 additions & 1 deletion src/store/model/ccl.ts
Expand Up @@ -7,6 +7,10 @@ export const Ccl: Store = {
container: '#pnlAddToBasket',
text: ['add to basket']
},
maxPrice: {
container: '#pnlPriceText > p',
euroFormat: false // Note: CCL uses non-euroFromat as price seperator
},
outOfStock: {
container: '#pnlSoldOut',
text: ['sold out', 'coming soon']
Expand All @@ -15,7 +19,7 @@ export const Ccl: Store = {
links: [
{
brand: 'test:brand',
model: 'CARD',
model: 'test:model',
series: 'test:series',
url: 'https://www.cclonline.com/product/296443/RTX-2060-SUPER-VENTUS-GP-OC/Graphics-Cards/MSI-GeForce-RTX-2060-SUPER-VENTUS-GP-OC-8GB-Overclocked-Graphics-Card/VGA5671/'
}
Expand Down
4 changes: 4 additions & 0 deletions src/store/model/computeruniverse.ts
Expand Up @@ -5,6 +5,10 @@ export const Computeruniverse: Store = {
inStock: {
container: '.availability',
text: ['bestellartikel', 'auf lager und sofort lieferbar', 'kurzfristig verf眉gbar']
},
maxPrice: {
container: '.product-price',
euroFormat: true
}
},
links: [
Expand Down
4 changes: 4 additions & 0 deletions src/store/model/coolblue.ts
Expand Up @@ -6,6 +6,10 @@ export const Coolblue: Store = {
container: '.product-order',
text: ['bestel snel', 'morgen in huis']
},
maxPrice: {
container: '.js-order-block .sales-price__current',
euroFormat: true
},
outOfStock: {
container: '.product-order',
text: ['binnenkort leverbaar', 'tijdelijk uitverkocht']
Expand Down
6 changes: 5 additions & 1 deletion src/store/model/currys.ts
Expand Up @@ -7,6 +7,10 @@ export const Currys: Store = {
container: '#product-actions button',
text: ['add to basket']
},
maxPrice: {
container: '#product-actions span[class*="ProductPriceBlock__Price"]',
euroFormat: false // Note: Currys uses non-euroFromat as price seperator
},
outOfStock: {
container: '#product-actions .unavailable',
text: ['not available for delivery']
Expand All @@ -15,7 +19,7 @@ export const Currys: Store = {
links: [
{
brand: 'test:brand',
model: 'CARD',
model: 'test:model',
series: 'test:series',
url: 'https://www.currys.co.uk/gbuk/computing-accessories/components-upgrades/graphics-cards/msi-geforce-rtx-2060-8-gb-super-ventus-gp-oc-graphics-card-10196803-pdt.html'
}
Expand Down
4 changes: 4 additions & 0 deletions src/store/model/cyberport.ts
Expand Up @@ -6,6 +6,10 @@ export const Cyberport: Store = {
container: '.tooltipAvailabilityParent',
text: ['sofort verf眉gbar']
},
maxPrice: {
container: '#productDetailOverview .price',
euroFormat: true
},
outOfStock: {
container: '.tooltipAvailabilityParent',
text: ['noch nicht verf眉gbar']
Expand Down
6 changes: 5 additions & 1 deletion src/store/model/ebuyer.ts
Expand Up @@ -7,6 +7,10 @@ export const Ebuyer: Store = {
container: '.purchase-info',
text: ['add to basket', 'in stock']
},
maxPrice: {
container: '.purchase-info__price .price',
euroFormat: false // Note: ebuyer uses non-euroFromat as price seperator
},
outOfStock: {
container: '.purchase-info',
text: ['coming soon', 'we are expecting this item on']
Expand All @@ -15,7 +19,7 @@ export const Ebuyer: Store = {
links: [
{
brand: 'test:brand',
model: 'CARD',
model: 'test:model',
series: 'test:series',
url: 'https://www.ebuyer.com/874209-gigabyte-geforce-rtx-2060-windforce-6gb-oc-graphics-card-gv-n2060wf2oc-6gd-v2'
}
Expand Down
6 changes: 5 additions & 1 deletion src/store/model/gamestop.ts
Expand Up @@ -6,6 +6,10 @@ export const Gamestop: Store = {
container: '.add-to-cart',
text: ['add to cart']
},
maxPrice: {
container: '.primary-details-row .actual-price',
euroFormat: false
},
outOfStock: {
container: '.add-to-cart',
text: ['not available']
Expand All @@ -16,7 +20,7 @@ export const Gamestop: Store = {
brand: 'test:brand',
model: 'test:model',
series: 'test:series',
url: 'https://www.gamestop.com/video-games/pc/components/graphics-cards/products/tuf-gaming-geforce-rtx-3080-graphics-card/11109446.html'
url: 'https://www.gamestop.com/nav-pc-hardware-desktops/products/clx-set-tgmsetgxe9600bm-gaming-desktop/11096665'
},
{
brand: 'asus',
Expand Down
4 changes: 4 additions & 0 deletions src/store/model/mediamarkt.ts
Expand Up @@ -2,6 +2,10 @@ import {Store} from './store';

export const Mediamarkt: Store = {
labels: {
maxPrice: {
container: 'span[font-family="price"]',
euroFormat: false
},
outOfStock: {
container: '#root',
text: ['dieser artikel ist aktuell nicht verf眉gbar.']
Expand Down
4 changes: 4 additions & 0 deletions src/store/model/mindfactory.ts
Expand Up @@ -6,6 +6,10 @@ export const Mindfactory: Store = {
container: '.pshipping',
text: ['lagernd', 'verf眉gbar']
},
maxPrice: {
container: 'div[class="pprice"]',
euroFormat: true
},
outOfStock: {
container: '.pshipping',
text: ['ohne liefertermin']
Expand Down
4 changes: 4 additions & 0 deletions src/store/model/notebooksbilliger.ts
Expand Up @@ -6,6 +6,10 @@ export const Notebooksbilliger: Store = {
container: '.warehouse',
text: ['sofort ab lager', 'verf眉gbarkeit: ca. 2-4 werktage', 'verf眉gbarkeit: ca. 5-10 werktage']
},
maxPrice: {
container: 'form[name="cart_quantity"] span[class*="product-price__regular"]',
euroFormat: true
},
outOfStock: [{
container: '.warehouse',
text: ['liefertermin noch unbestimmt']
Expand Down
6 changes: 5 additions & 1 deletion src/store/model/novatech.ts
Expand Up @@ -7,6 +7,10 @@ export const Novatech: Store = {
container: '.newspec-specprice',
text: ['add to basket']
},
maxPrice: {
container: 'p[class="newspec-price"]',
euroFormat: false // Note: Novatech uses non-euroFromat as price seperator
},
outOfStock: {
container: '.newspec-pricesection',
text: [
Expand All @@ -20,7 +24,7 @@ export const Novatech: Store = {
links: [
{
brand: 'test:brand',
model: 'CARD',
model: 'test:model',
series: 'test:series',
url: 'https://www.novatech.co.uk/products/gigabyte-geforce-rtx-2060-oc-v2-6g-graphics-card/gv-n2060oc-6gdv2.html'
}
Expand Down
6 changes: 5 additions & 1 deletion src/store/model/overclockers.ts
Expand Up @@ -7,6 +7,10 @@ export const Overclockers: Store = {
container: '#detailbox',
text: ['add to basket', 'in stock']
},
maxPrice: {
container: 'div[class="article_details_price"]',
euroFormat: false // Note: Overclockers uses non-euroFromat as price seperator
},
outOfStock: {
container: '#detailbox',
text: ['out of stock', 'pre order', 'bought to order']
Expand All @@ -15,7 +19,7 @@ export const Overclockers: Store = {
links: [
{
brand: 'test:brand',
model: 'CARD',
model: 'test:model',
series: 'test:series',
url: 'https://www.overclockers.co.uk/gigabyte-geforce-rtx-2060-oc-rev2-6144mb-gddr6-pci-express-graphics-card-gx-1bj-gi.html'
}
Expand Down
4 changes: 4 additions & 0 deletions src/store/model/pccomponentes.ts
Expand Up @@ -6,6 +6,10 @@ export const PCComponentes: Store = {
container: '#btnsWishAddBuy',
text: ['Comprar']
},
maxPrice: {
container: '#precio-main',
euroFormat: true
},
outOfStock: {
container: '#btnsWishAddBuy',
text: ['Av铆same']
Expand Down
4 changes: 4 additions & 0 deletions src/store/model/proshop-de.ts
Expand Up @@ -2,6 +2,10 @@ import {Store} from './store';

export const ProshopDE: Store = {
labels: {
maxPrice: {
container: '.site-currency-wrapper > span[class="site-currency-attention"]',
euroFormat: true
},
outOfStock: {
container: '.site-currency-attention',
text: ['die ware ist leider nicht mehr verf眉gbar.']
Expand Down
4 changes: 4 additions & 0 deletions src/store/model/proshop-dk.ts
Expand Up @@ -6,6 +6,10 @@ export const ProshopDK: Store = {
container: '.site-stock',
text: ['1-2 dages levering', 'fjernlager']
},
maxPrice: {
container: '.site-currency-wrapper > span[class="site-currency-attention"]',
euroFormat: true
},
outOfStock: {
container: '.site-stock',
text: ['bestilt']
Expand Down
4 changes: 4 additions & 0 deletions src/store/model/saturn.ts
Expand Up @@ -2,6 +2,10 @@ import {Store} from './store';

export const Saturn: Store = {
labels: {
maxPrice: {
container: 'span[font-family="price"]',
euroFormat: false // Note: Saturn uses non-euroFromat as price seperator
},
outOfStock: {
container: '#root',
text: ['dieser artikel ist aktuell nicht verf眉gbar.']
Expand Down
6 changes: 5 additions & 1 deletion src/store/model/scan.ts
Expand Up @@ -12,6 +12,10 @@ export const Scan: Store = {
container: '.buyPanel .priceAvailability',
text: ['add to basket', 'in stock']
},
maxPrice: {
container: '.buyPanel .price',
euroFormat: false // Note: Scan uses non-euroFromat as price seperator
},
outOfStock: {
container: '.buyPanel .priceAvailability',
text: ['pre order']
Expand All @@ -20,7 +24,7 @@ export const Scan: Store = {
links: [
{
brand: 'test:brand',
model: 'CARD',
model: 'test:model',
series: 'test:series',
url: 'https://www.scan.co.uk/products/msi-geforce-rtx-2060-ventus-xs-oc-6gb-gddr6-vr-ready-graphics-card-1920-core-1710mhz-boost'
}
Expand Down
8 changes: 6 additions & 2 deletions src/store/model/very.ts
Expand Up @@ -8,6 +8,10 @@ export const Very: Store = {
container: '.stockMessaging .indicator',
text: ['available', 'low stock']
},
maxPrice: {
container: '.priceNow',
euroFormat: false // Note: Very uses non-euroFromat as price seperator
},
outOfStock: {
container: '.stockMessaging .indicator',
text: ['pre-order']
Expand All @@ -16,9 +20,9 @@ export const Very: Store = {
links: [
{
brand: 'test:brand',
model: 'CARD',
model: 'test:model',
series: 'test:series',
url: 'https://www.very.co.uk/msi-geforce-rtx-2060-super-ventus-gp-oc/1600463772.prd'
url: 'https://www.very.co.uk/msi-geforce-gtx-1660-ti-gaming-x-6g-graphics-card/1600350984.prd'
}
],
linksBuilder: {
Expand Down

0 comments on commit f9c4c25

Please sign in to comment.