summaryrefslogtreecommitdiff
path: root/StoneIsland/platforms/ios/www
diff options
context:
space:
mode:
Diffstat (limited to 'StoneIsland/platforms/ios/www')
-rwxr-xr-xStoneIsland/platforms/ios/www/css/products.css8
-rwxr-xr-xStoneIsland/platforms/ios/www/index.html139
-rwxr-xr-xStoneIsland/platforms/ios/www/js/index.js8
-rw-r--r--StoneIsland/platforms/ios/www/js/lib/etc/sim.js44
-rwxr-xr-xStoneIsland/platforms/ios/www/js/lib/nav/AddressView.js7
-rwxr-xr-xStoneIsland/platforms/ios/www/js/lib/products/ProductView.js38
-rwxr-xr-xStoneIsland/platforms/ios/www/js/sdk/_sdk.js6
7 files changed, 168 insertions, 82 deletions
diff --git a/StoneIsland/platforms/ios/www/css/products.css b/StoneIsland/platforms/ios/www/css/products.css
index c4599866..1f858898 100755
--- a/StoneIsland/platforms/ios/www/css/products.css
+++ b/StoneIsland/platforms/ios/www/css/products.css
@@ -207,18 +207,14 @@
}
-.product .fit {
+.product .fit,
+.product .notAvailableInCanada {
clear:both;
font-size:9px;
letter-spacing:0.5px;
text-decoration:underline;
text-transform:uppercase;
padding:12px 0 0;
-
-}
-
-.product .content .fit {
-
}
#product .gallery-prev,
diff --git a/StoneIsland/platforms/ios/www/index.html b/StoneIsland/platforms/ios/www/index.html
index 6d52433c..1d929f26 100755
--- a/StoneIsland/platforms/ios/www/index.html
+++ b/StoneIsland/platforms/ios/www/index.html
@@ -278,6 +278,7 @@
<span class="share">SHARE +</span>
</div>
<div class="fit">Fits Large</div>
+ <div class="notAvailableInCanada">Not Available In Canada</div>
<div class="body">
</div>
<div class="sizing">
@@ -974,72 +975,6 @@
<div class="select-wrapper">
<span>STATE</span>
<select name="Province">
- <option value="NONE" selected>State</option>
- <option value="AL">Alabama</option>
- <option value="AK">Alaska</option>
- <option value="AZ">Arizona</option>
- <option value="AR">Arkansas</option>
- <option value="CA">California</option>
- <option value="CO">Colorado</option>
- <option value="CT">Connecticut</option>
- <option value="DE">Delaware</option>
- <option value="DC">District Of Columbia</option>
- <option value="FL">Florida</option>
- <option value="GA">Georgia</option>
- <option value="HI">Hawaii</option>
- <option value="ID">Idaho</option>
- <option value="IL">Illinois</option>
- <option value="IN">Indiana</option>
- <option value="IA">Iowa</option>
- <option value="KS">Kansas</option>
- <option value="KY">Kentucky</option>
- <option value="LA">Louisiana</option>
- <option value="ME">Maine</option>
- <option value="MD">Maryland</option>
- <option value="MA">Massachusetts</option>
- <option value="MI">Michigan</option>
- <option value="MN">Minnesota</option>
- <option value="MS">Mississippi</option>
- <option value="MO">Missouri</option>
- <option value="MT">Montana</option>
- <option value="NE">Nebraska</option>
- <option value="NV">Nevada</option>
- <option value="NH">New Hampshire</option>
- <option value="NJ">New Jersey</option>
- <option value="NM">New Mexico</option>
- <option value="NY">New York</option>
- <option value="NC">North Carolina</option>
- <option value="ND">North Dakota</option>
- <option value="OH">Ohio</option>
- <option value="OK">Oklahoma</option>
- <option value="OR">Oregon</option>
- <option value="PA">Pennsylvania</option>
- <option value="RI">Rhode Island</option>
- <option value="SC">South Carolina</option>
- <option value="SD">South Dakota</option>
- <option value="TN">Tennessee</option>
- <option value="TX">Texas</option>
- <option value="UT">Utah</option>
- <option value="VT">Vermont</option>
- <option value="VA">Virginia</option>
- <option value="WA">Washington</option>
- <option value="WV">West Virginia</option>
- <option value="WI">Wisconsin</option>
- <option value="WY">Wyoming</option>
- <option disabled>_________________</option>
- <option value="AB">Alberta</option>
- <option value="BC">British Columbia</option>
- <option value="MB">Manitoba</option>
- <option value="NB">New Brunswick</option>
- <option value="NL">Newfoundland and Labrador</option>
- <option value="NS">Nova Scotia</option>
- <option value="NT">Northwest Territories</option>
- <option value="NU">Nunavut</option>
- <option value="ON">Ontario</option>
- <option value="PE">Prince Edward Island</option>
- <option value="SK">Saskatchewan</option>
- <option value="QC">Quebec</option>
- <option value="YT">Yukon</option>
</select>
</div>
</div>
@@ -1068,7 +1003,78 @@
</div>
</div>
-->
+</script>
+
+<script type="text/html" id="us_states">
+ <option value="NONE" selected>State</option>
+ <option value="AL">Alabama</option>
+ <option value="AK">Alaska</option>
+ <option value="AZ">Arizona</option>
+ <option value="AR">Arkansas</option>
+ <option value="CA">California</option>
+ <option value="CO">Colorado</option>
+ <option value="CT">Connecticut</option>
+ <option value="DE">Delaware</option>
+ <option value="DC">District Of Columbia</option>
+ <option value="FL">Florida</option>
+ <option value="GA">Georgia</option>
+ <option value="HI">Hawaii</option>
+ <option value="ID">Idaho</option>
+ <option value="IL">Illinois</option>
+ <option value="IN">Indiana</option>
+ <option value="IA">Iowa</option>
+ <option value="KS">Kansas</option>
+ <option value="KY">Kentucky</option>
+ <option value="LA">Louisiana</option>
+ <option value="ME">Maine</option>
+ <option value="MD">Maryland</option>
+ <option value="MA">Massachusetts</option>
+ <option value="MI">Michigan</option>
+ <option value="MN">Minnesota</option>
+ <option value="MS">Mississippi</option>
+ <option value="MO">Missouri</option>
+ <option value="MT">Montana</option>
+ <option value="NE">Nebraska</option>
+ <option value="NV">Nevada</option>
+ <option value="NH">New Hampshire</option>
+ <option value="NJ">New Jersey</option>
+ <option value="NM">New Mexico</option>
+ <option value="NY">New York</option>
+ <option value="NC">North Carolina</option>
+ <option value="ND">North Dakota</option>
+ <option value="OH">Ohio</option>
+ <option value="OK">Oklahoma</option>
+ <option value="OR">Oregon</option>
+ <option value="PA">Pennsylvania</option>
+ <option value="RI">Rhode Island</option>
+ <option value="SC">South Carolina</option>
+ <option value="SD">South Dakota</option>
+ <option value="TN">Tennessee</option>
+ <option value="TX">Texas</option>
+ <option value="UT">Utah</option>
+ <option value="VT">Vermont</option>
+ <option value="VA">Virginia</option>
+ <option value="WA">Washington</option>
+ <option value="WV">West Virginia</option>
+ <option value="WI">Wisconsin</option>
+ <option value="WY">Wyoming</option>
+</script>
+<script type="text/html" id="ca_states">
+ <option disabled>_________________</option>
+ <option value="AB">Alberta</option>
+ <option value="BC">British Columbia</option>
+ <option value="MB">Manitoba</option>
+ <option value="NB">New Brunswick</option>
+ <option value="NL">Newfoundland and Labrador</option>
+ <option value="NS">Nova Scotia</option>
+ <option value="NT">Northwest Territories</option>
+ <option value="NU">Nunavut</option>
+ <option value="ON">Ontario</option>
+ <option value="PE">Prince Edward Island</option>
+ <option value="SK">Saskatchewan</option>
+ <option value="QC">Quebec</option>
+ <option value="YT">Yukon</option>
</script>
</body>
@@ -1098,6 +1104,7 @@
<script src="js/lib/etc/push.js"></script>
<script src="js/lib/etc/deeplink.js"></script>
<script src="js/lib/etc/geo.js"></script>
+<script src="js/lib/etc/sim.js"></script>
<script src="js/lib/etc/backup_db.js"></script>
<script src="js/lib/view/View.js"></script>
diff --git a/StoneIsland/platforms/ios/www/js/index.js b/StoneIsland/platforms/ios/www/js/index.js
index eb3b32b9..511849ad 100755
--- a/StoneIsland/platforms/ios/www/js/index.js
+++ b/StoneIsland/platforms/ios/www/js/index.js
@@ -79,10 +79,16 @@ var app = (function(){
cordova.plugins.Keyboard.disableScroll(true)
cordova.plugins.Keyboard.hideKeyboardAccessoryBar(false)
geo.fetch()
+ sim.fetch(app.api_ready)
var image = new Image
image.src = "./img/compass-logo.png"
}
-
+ else {
+ app.api_ready()
+ }
+ }
+
+ app.api_ready = function(){
if (is_iphone_x) {
StatusBar.hide()
}
diff --git a/StoneIsland/platforms/ios/www/js/lib/etc/sim.js b/StoneIsland/platforms/ios/www/js/lib/etc/sim.js
new file mode 100644
index 00000000..ca01ddc7
--- /dev/null
+++ b/StoneIsland/platforms/ios/www/js/lib/etc/sim.js
@@ -0,0 +1,44 @@
+var sim = (function(){
+ var sim = {}
+
+ sim.loaded = false
+ sim.data = {
+ carrierName: 'unknown',
+ countryCode: 'us',
+ mcc: '0',
+ mnc: '0',
+ }
+
+ sim.fetch = function(cb){
+ sim.afterFetch = cb
+ window.plugins.sim.getSimInfo(sim.success, sim.error)
+ }
+
+ sim.afterFetch = function(){}
+
+ sim.success = function(data){
+ console.log(data)
+ if (sim.data.countryCode) {
+ sim.data = data
+ sim.data.countryCode = sim.data.countryCode.toLowerCase()
+ // app is only available in US or Canada, so call the US API regardless
+ if (sim.data.countryCode !== 'ca') {
+ sim.data.countryCode = 'us'
+ }
+ }
+ sim.loaded = true
+ sim.afterFetch()
+ }
+
+ sim.error = function(){
+ console.log("no SIM card detected")
+ $.ajax({
+ url: "http://ip-api.com/json/",
+ jsonp: "callback",
+ dataType: "jsonp",
+ success: sim.success,
+ })
+ }
+
+ return sim
+})() \ No newline at end of file
diff --git a/StoneIsland/platforms/ios/www/js/lib/nav/AddressView.js b/StoneIsland/platforms/ios/www/js/lib/nav/AddressView.js
index 4a05c4b6..fd7df218 100755
--- a/StoneIsland/platforms/ios/www/js/lib/nav/AddressView.js
+++ b/StoneIsland/platforms/ios/www/js/lib/nav/AddressView.js
@@ -2,6 +2,8 @@
var AddressView = SerializableView.extend({
template: $("#address_template").html(),
+ us_states: $("#us_states").html(),
+ ca_states: $("#ca_states").html(),
disabled: false,
@@ -18,6 +20,11 @@ var AddressView = SerializableView.extend({
},
populate: function(data){
+ this.$("[name=Province]").empty()
+ this.$("[name=Province]").append(this.us_states)
+ if (! app.store.notAvailableInCanada) {
+ this.$("[name=Province]").append(this.ca_states)
+ }
this.data = data
var address = data.Address.split("\n")
data.Address1 = address[0]
diff --git a/StoneIsland/platforms/ios/www/js/lib/products/ProductView.js b/StoneIsland/platforms/ios/www/js/lib/products/ProductView.js
index c1847496..7434888c 100755
--- a/StoneIsland/platforms/ios/www/js/lib/products/ProductView.js
+++ b/StoneIsland/platforms/ios/www/js/lib/products/ProductView.js
@@ -5,6 +5,7 @@ var ProductView = ScrollableView.extend({
events: {
"click .fit": "scroll_to_bottom",
+ "click .notAvailableInCanada": "scroll_to_bottom",
"click .size": "select_size",
"click .color": "select_color",
"click .share": "share",
@@ -25,6 +26,7 @@ var ProductView = ScrollableView.extend({
this.$color = this.$(".color")
this.$body = this.$(".body")
this.$fit = this.$(".fit")
+ this.$notAvailableInCanada = this.$(".notAvailableInCanada")
this.$sizing = this.$(".sizing")
this.$style = this.$(".style")
},
@@ -39,9 +41,12 @@ var ProductView = ScrollableView.extend({
},
showFooter: function(){
- if (this.not_available) {
+ if (this.sold_out) {
app.footer.show("SOLD OUT")
}
+ else if (this.isNotAvailable) {
+ app.footer.show("NOT AVAILABLE")
+ }
else {
app.footer.show("ADD TO CART", "BUY NOW")
}
@@ -125,7 +130,20 @@ var ProductView = ScrollableView.extend({
var default_color_id = this.populate_selectors(data, details)
- if (this.not_available) {
+ var notAvailableInCanada = !! app.store.notAvailableInCanada
+ app.product.$notAvailableInCanada.toggle( notAvailableInCanada )
+ if (notAvailableInCanada && sim.data.countryCode === 'ca') {
+ this.isNotAvailable = true
+ }
+ else {
+ this.isNotAvailable = false
+ }
+
+ if (! ('Price' in details['Item'])) {
+ this.isNotAvailable = true
+ }
+
+ if (this.sold_out || this.isNotAvailable) {
this.$style.css("opacity", 0)
this.$color.html("NOT AVAILABLE")
this.$size.hide()
@@ -206,11 +224,11 @@ var ProductView = ScrollableView.extend({
console.log('colors:', modelColors.length || "none")
if (! modelColors.length) {
- this.not_available = true
+ this.sold_out = true
return
}
else {
- this.not_available = false
+ this.sold_out = false
}
modelColors.forEach(function(color, index){
@@ -261,7 +279,8 @@ var ProductView = ScrollableView.extend({
},
select_size: function(){
- if (this.not_available) { return }
+ if (this.sold_out) { return }
+ if (this.notAvailable) { return }
if (this.is_onesize) { return this.select_color() }
if (this.item['Sizes'].length == 0) { return }
var sizes = Object.keys(this.sizes).map(function(key){
@@ -276,7 +295,8 @@ var ProductView = ScrollableView.extend({
},
select_color: function(){
- if (this.not_available) { return }
+ if (this.sold_out) { return }
+ if (this.notAvailable) { return }
if (this.item['Colors'].length == 0) { return }
var colors = Object.keys(this.colors).map(function(key){
return this.colors[key]
@@ -291,12 +311,14 @@ var ProductView = ScrollableView.extend({
// ADD TO CART
save: function(){
- if (this.not_available) { return }
+ if (this.sold_out) { return }
+ if (this.notAvailable) { return }
this.add_to_cart({ route: false })
},
// BUY NOW
cancel: function(){
- if (this.not_available) { return }
+ if (this.sold_out) { return }
+ if (this.notAvailable) { return }
this.add_to_cart({ route: true })
},
diff --git a/StoneIsland/platforms/ios/www/js/sdk/_sdk.js b/StoneIsland/platforms/ios/www/js/sdk/_sdk.js
index 7b4966a5..fc871727 100755
--- a/StoneIsland/platforms/ios/www/js/sdk/_sdk.js
+++ b/StoneIsland/platforms/ios/www/js/sdk/_sdk.js
@@ -22,13 +22,17 @@ var sdk = (function(){
}
sdk.path = function(api, path){
- return endpoint + api + "/STONEISLAND_US/" + path
+ return endpoint + api + "/STONEISLAND_" + sdk.cc() + "/" + path
}
sdk.image = function(code, size){
return "https://cdn.yoox.biz/" + code.substr(0,2) + "/" + code + "_" + size + ".jpg"
}
+ sdk.cc = function(){
+ return sim.data.countryCode.toUpperCase()
+ }
+
sdk.cms = function(){
return "https://stone.giraffe.life"
// return "https://staging.stone.giraffe.life"