summaryrefslogtreecommitdiff
path: root/StoneIsland/platforms/ios/www
diff options
context:
space:
mode:
authorJules Laplace <julescarbon@gmail.com>2019-09-03 19:29:08 +0200
committerJules Laplace <julescarbon@gmail.com>2019-09-03 19:29:08 +0200
commit4ed316ba420c5a07338f783c942dce800f14476f (patch)
treee962352207706b0101700b59880c8195f5680059 /StoneIsland/platforms/ios/www
parent589c423f3d2d4d65347fbd074b71cc067541c477 (diff)
rebuild app
Diffstat (limited to 'StoneIsland/platforms/ios/www')
-rwxr-xr-xStoneIsland/platforms/ios/www/css/blogs.css13
-rwxr-xr-xStoneIsland/platforms/ios/www/css/index.css40
-rwxr-xr-xStoneIsland/platforms/ios/www/index.html31
-rwxr-xr-xStoneIsland/platforms/ios/www/js/index.js16
-rwxr-xr-xStoneIsland/platforms/ios/www/js/lib/account/OrdersView.js2
-rwxr-xr-xStoneIsland/platforms/ios/www/js/lib/account/PaymentView.js2
-rwxr-xr-xStoneIsland/platforms/ios/www/js/lib/account/ProfileView.js2
-rwxr-xr-xStoneIsland/platforms/ios/www/js/lib/account/SettingsView.js2
-rwxr-xr-xStoneIsland/platforms/ios/www/js/lib/account/ShippingView.js2
-rwxr-xr-xStoneIsland/platforms/ios/www/js/lib/auth/LoginView.js2
-rwxr-xr-xStoneIsland/platforms/ios/www/js/lib/auth/SignupView.js2
-rwxr-xr-xStoneIsland/platforms/ios/www/js/lib/blogs/ArchiveView.js4
-rwxr-xr-xStoneIsland/platforms/ios/www/js/lib/blogs/BlogView.js2
-rwxr-xr-xStoneIsland/platforms/ios/www/js/lib/blogs/HubView.js9
-rwxr-xr-xStoneIsland/platforms/ios/www/js/lib/blogs/PageView.js4
-rwxr-xr-xStoneIsland/platforms/ios/www/js/lib/blogs/StoryView.js4
-rwxr-xr-xStoneIsland/platforms/ios/www/js/lib/cart/CartConfirm.js2
-rwxr-xr-xStoneIsland/platforms/ios/www/js/lib/cart/CartPayment.js2
-rwxr-xr-xStoneIsland/platforms/ios/www/js/lib/cart/CartShipping.js2
-rwxr-xr-xStoneIsland/platforms/ios/www/js/lib/cart/CartSummary.js2
-rw-r--r--StoneIsland/platforms/ios/www/js/lib/etc/accessibility.js80
-rwxr-xr-xStoneIsland/platforms/ios/www/js/lib/etc/push.js6
-rw-r--r--StoneIsland/platforms/ios/www/js/lib/etc/scroll.js29
-rwxr-xr-xStoneIsland/platforms/ios/www/js/lib/nav/CurtainView.js2
-rwxr-xr-xStoneIsland/platforms/ios/www/js/lib/nav/NavView.js5
-rwxr-xr-xStoneIsland/platforms/ios/www/js/lib/products/CollectionView.js2
-rwxr-xr-xStoneIsland/platforms/ios/www/js/lib/products/ProductView.js2
27 files changed, 208 insertions, 63 deletions
diff --git a/StoneIsland/platforms/ios/www/css/blogs.css b/StoneIsland/platforms/ios/www/css/blogs.css
index 2d4a52c3..f857db9e 100755
--- a/StoneIsland/platforms/ios/www/css/blogs.css
+++ b/StoneIsland/platforms/ios/www/css/blogs.css
@@ -17,9 +17,14 @@
justify-content: center;
align-items: center;
height: 48px;
- padding: 0 8px;
+ padding: 0 15px;
list-style-type: none;
font-size: 1rem;
+}
+.accessible #story .links {
+ flex-wrap: wrap;
+}
+.accessible #story .links li {
border: 1px solid black;
margin: 5px;
}
@@ -28,11 +33,11 @@
text-decoration: underline;
}
#story .content > div {
-display:none;
+ display:none;
}
#story .content div.active {
-display:block;
-animation: mfadein 0.6s;
+ display:block;
+ animation: mfadein 0.6s;
}
.hub #hub { display: block }
diff --git a/StoneIsland/platforms/ios/www/css/index.css b/StoneIsland/platforms/ios/www/css/index.css
index 88022823..83b3353a 100755
--- a/StoneIsland/platforms/ios/www/css/index.css
+++ b/StoneIsland/platforms/ios/www/css/index.css
@@ -54,11 +54,47 @@ a, a:visited {
to {-webkit-transform: rotate(360deg)}
}
-.scroll {
+.iscroll .scroll {
position: absolute;
width: 100%;
}
-
+.vscroll .scroll {
+ width: 100%;
+/* height: calc(100vh - 2.5rem);
+ overflow: scroll;
+ -webkit-overflow-scrolling: touch;
+*/
+}
+.vscroll body,
+html.vscroll {
+ overflow: auto;
+ -webkit-overflow-scrolling: touch;
+}
+.vscroll #header,
+.vscroll #footer,
+.vscroll #nav {
+ position: fixed;
+}
+.vscroll #story,
+.vscroll #hub,
+.vscroll #archive,
+.vscroll .page,
+.vscroll #collection,
+.vscroll #product,
+.vscroll #search,
+.vscroll #closed,
+.vscroll #login,
+.vscroll #logout,
+.vscroll #signup,
+.vscroll #cart,
+.vscroll #profile,
+.vscroll #shipping,
+.vscroll #payment,
+.vscroll #settings,
+.vscroll #content,
+.vscroll #orders {
+ overflow: auto;
+}
.error_hilite {
color: red !important;
border-color: red !important;
diff --git a/StoneIsland/platforms/ios/www/index.html b/StoneIsland/platforms/ios/www/index.html
index c46e37c3..da63d3ac 100755
--- a/StoneIsland/platforms/ios/www/index.html
+++ b/StoneIsland/platforms/ios/www/index.html
@@ -44,7 +44,7 @@
<span role="menuitem" class="archive">ARCHIVE</span>
</div>
<div role="menu" aria-label="Account Menu" class="account_menu">
- <span role="menuitem" class="account_back menu-emphasis">&lt; MY ACCOUNT</span>
+ <span role="menuitem" aria-label="Back to main menu" class="account_back menu-emphasis">&lt; MY ACCOUNT</span>
<span role="menuitem" class="profile">MY PROFILE</span>
<span role="menuitem" class="payment">MY CARD</span>
<span role="menuitem" class="shipping">ADDRESS BOOK</span>
@@ -54,7 +54,7 @@
<span role="menuitem" class="settings">NOTIFICATIONS</span>
</div>
<div role="menu" aria-label="FAQ Menu" class="faq_menu">
- <span role="menuitem" class="faq_back menu-emphasis">&lt; FAQ</span>
+ <span role="menuitem" aria-label="Back to main menu" class="faq_back menu-emphasis">&lt; FAQ</span>
<span role="menuitem" class="privacy">PRIVACY POLICY</span>
<span role="menuitem" class="account_terms">MY ACCOUNT TERMS AND CONDITIONS OF USE</span>
<span role="menuitem" class="terms">TERMS AND CONDITIONS</span>
@@ -109,7 +109,7 @@
</div>
<div id="header" role="menubar" aria-label="Menu bar">
- <span role="menu" aria-label="Show main menu" class="burger ion-android-menu"></span>
+ <span role="link" aria-label="Show main menu" class="burger ion-android-menu"></span>
<span role="link" aria-label="Homepage. Stone Island logo" class="logo"></span>
<span role="link" aria-label="View cart" class="cart_rapper"><span class="cart"><span role="display" class="cart_count">0</span></span></span>
</div>
@@ -138,20 +138,20 @@
<script type="text/html" class="template">
<div class="hub_item" data-id="{{id}}">
<div class="gallery gallery-{{id}}" role="carousel"></div>
- <div role="button" class="gallery-left"></div>
- <div role="button" class="gallery-right"></div>
+ <div role="button" aria-label='Scroll gallery to the left' class="gallery-left"></div>
+ <div role="button" aria-label='Scroll gallery to the right' class="gallery-right"></div>
<div role="heading" class="content-header">
- <div role="button" class="content-share">
- SHARE +
- </div>
- <span role="heading" aria-details="{{cleantitle}}" class="title">{{title}}</span>
- <span role="heading" aria-details="{{cleansubtitle}}"class="subtitle">{{subtitle}}</span>
- <span class="date">
- {{date}}
- <span class="store">
- | <b><u>STORE</u></b>
+ <div role="button" class="content-share">
+ SHARE +
+ </div>
+ <span role="heading" aria-details="{{cleantitle}}" class="title">{{title}}</span>
+ <span role="heading" aria-details="{{cleansubtitle}}"class="subtitle">{{subtitle}}</span>
+ <span class="date">
+ {{date}}
+ <span class="store">
+ | <b><u>STORE</u></b>
+ </span>
</span>
- </span>
</div>
<div class="body">{{body}}</div>
</div>
@@ -1311,6 +1311,7 @@
<script src="js/lib/etc/sim.js"></script>
<script src="js/lib/etc/backup_db.js"></script>
<script src="js/lib/etc/accessibility.js"></script>
+<script src="js/lib/etc/scroll.js"></script>
<script src="js/lib/view/View.js"></script>
<script src="js/lib/view/Router.js"></script>
diff --git a/StoneIsland/platforms/ios/www/js/index.js b/StoneIsland/platforms/ios/www/js/index.js
index 69a0a3e0..b90f74b1 100755
--- a/StoneIsland/platforms/ios/www/js/index.js
+++ b/StoneIsland/platforms/ios/www/js/index.js
@@ -12,6 +12,10 @@ var app = (function(){
sdk.init({ env: "production" })
}
+ accessibility.init(app.prebuild) // check if we can do native scrolling before build
+ }
+
+ app.prebuild = function(){
app.bind()
app.build()
@@ -86,15 +90,6 @@ var app = (function(){
sim.fetch(app.api_ready)
var image = new Image
image.src = "./img/compass-logo.png"
-
- MobileAccessibility.usePreferredTextZoom(true);
- MobileAccessibility.getTextZoom(function getTextZoomCallback(textZoom) {
- console.log('WebView text should be scaled to the preferred value ' + textZoom + '%')
- if (textZoom > 100) {
- app.accessible = true
- $("html").addClass('accessible')
- }
- });
}
else {
app.api_ready()
@@ -114,6 +109,7 @@ var app = (function(){
// }
// else {
// }
+ push.init()
if (navigator.onLine) {
app.account.connect(window.deepLinkRoute || '/intro')
@@ -128,8 +124,6 @@ var app = (function(){
app.router.go("intro")
app.finished_launching()
}
-
- push.init()
}
app.finished_launching = function(){
diff --git a/StoneIsland/platforms/ios/www/js/lib/account/OrdersView.js b/StoneIsland/platforms/ios/www/js/lib/account/OrdersView.js
index ee0eb277..1522a096 100755
--- a/StoneIsland/platforms/ios/www/js/lib/account/OrdersView.js
+++ b/StoneIsland/platforms/ios/www/js/lib/account/OrdersView.js
@@ -26,7 +26,7 @@ var OrdersView = ScrollableView.extend({
this.$shipping_address = this.$(".shipping_address")
this.$shipping_method = this.$(".shipping_method")
- this.scroller = new IScroll('#orders', app.iscroll_options)
+ this.scroller = ScrollFactory('#orders', app.iscroll_options)
},
show: function(){
diff --git a/StoneIsland/platforms/ios/www/js/lib/account/PaymentView.js b/StoneIsland/platforms/ios/www/js/lib/account/PaymentView.js
index 0fcf7e8f..8767b39f 100755
--- a/StoneIsland/platforms/ios/www/js/lib/account/PaymentView.js
+++ b/StoneIsland/platforms/ios/www/js/lib/account/PaymentView.js
@@ -29,7 +29,7 @@ var PaymentView = FormView.extend({
this.$msg = this.$(".msg")
this.address = new AddressView ({ parent: this, checkPhone: false })
this.cc = new CreditCardView ({ parent: this })
- this.scroller = new IScroll('#payment', app.iscroll_options)
+ this.scroller = ScrollFactory('#payment', app.iscroll_options)
},
show: function(){
diff --git a/StoneIsland/platforms/ios/www/js/lib/account/ProfileView.js b/StoneIsland/platforms/ios/www/js/lib/account/ProfileView.js
index a4e06791..4a081b38 100755
--- a/StoneIsland/platforms/ios/www/js/lib/account/ProfileView.js
+++ b/StoneIsland/platforms/ios/www/js/lib/account/ProfileView.js
@@ -11,7 +11,7 @@ var ProfileView = FormView.extend({
initialize: function(){
this.$form = this.$(".form")
this.$msg = this.$(".msg")
- this.scroller = new IScroll('#profile', app.iscroll_options)
+ this.scroller = ScrollFactory('#profile', app.iscroll_options)
},
show: function(){
diff --git a/StoneIsland/platforms/ios/www/js/lib/account/SettingsView.js b/StoneIsland/platforms/ios/www/js/lib/account/SettingsView.js
index 5586e0fd..196b7759 100755
--- a/StoneIsland/platforms/ios/www/js/lib/account/SettingsView.js
+++ b/StoneIsland/platforms/ios/www/js/lib/account/SettingsView.js
@@ -12,7 +12,7 @@ var SettingsView = FormView.extend({
this.$msg = this.$(".msg")
this.$store = this.$("[name=store]")
this.$hub = this.$("[name=hub]")
- this.scroller = new IScroll('#settings', app.iscroll_options)
+ this.scroller = ScrollFactory('#settings', app.iscroll_options)
},
show: function(){
diff --git a/StoneIsland/platforms/ios/www/js/lib/account/ShippingView.js b/StoneIsland/platforms/ios/www/js/lib/account/ShippingView.js
index c1bac782..4c45e97f 100755
--- a/StoneIsland/platforms/ios/www/js/lib/account/ShippingView.js
+++ b/StoneIsland/platforms/ios/www/js/lib/account/ShippingView.js
@@ -27,7 +27,7 @@ var ShippingView = FormView.extend({
this.$form = this.$(".form")
this.$msg = this.$(".msg")
this.address = new AddressView ({ parent: this })
- this.scroller = new IScroll('#shipping', app.iscroll_options)
+ this.scroller = ScrollFactory('#shipping', app.iscroll_options)
},
show: function(){
diff --git a/StoneIsland/platforms/ios/www/js/lib/auth/LoginView.js b/StoneIsland/platforms/ios/www/js/lib/auth/LoginView.js
index c3d839a5..7458d159 100755
--- a/StoneIsland/platforms/ios/www/js/lib/auth/LoginView.js
+++ b/StoneIsland/platforms/ios/www/js/lib/auth/LoginView.js
@@ -13,7 +13,7 @@ var LoginView = FormView.extend({
initialize: function(){
this.$form = this.$(".form")
this.$msg = this.$(".msg")
- this.scroller = new IScroll('#login', app.iscroll_options)
+ this.scroller = ScrollFactory('#login', app.iscroll_options)
},
show: function(){
diff --git a/StoneIsland/platforms/ios/www/js/lib/auth/SignupView.js b/StoneIsland/platforms/ios/www/js/lib/auth/SignupView.js
index ef7dd6aa..66d8f239 100755
--- a/StoneIsland/platforms/ios/www/js/lib/auth/SignupView.js
+++ b/StoneIsland/platforms/ios/www/js/lib/auth/SignupView.js
@@ -26,7 +26,7 @@ var SignupView = FormView.extend({
initialize: function(){
this.$form = this.$(".form")
this.$msg = this.$(".msg")
- this.scroller = new IScroll('#signup', app.iscroll_options)
+ this.scroller = ScrollFactory('#signup', app.iscroll_options)
},
show: function(){
diff --git a/StoneIsland/platforms/ios/www/js/lib/blogs/ArchiveView.js b/StoneIsland/platforms/ios/www/js/lib/blogs/ArchiveView.js
index 0d769e95..f10f7744 100755
--- a/StoneIsland/platforms/ios/www/js/lib/blogs/ArchiveView.js
+++ b/StoneIsland/platforms/ios/www/js/lib/blogs/ArchiveView.js
@@ -18,7 +18,7 @@ var ArchiveView = ScrollableView.extend({
this.$menu_items = this.$(".menu .items")
this.$content = this.$(".content")
this.$loader = this.$(".loader")
- this.scroller = new IScroll('#archive .scroll', app.iscroll_options)
+ this.scroller = ScrollFactory('#archive .scroll', app.iscroll_options)
this.$subtitle = this.$('.subtitle')
this.subtitle_html = this.$subtitle.html()
},
@@ -26,6 +26,7 @@ var ArchiveView = ScrollableView.extend({
back: function(){
this.$el.addClass("menu")
app.header.set_back(false)
+ this.scroller.scrollTo(0, 0)
this.$subtitle.html( this.subtitle_html )
},
@@ -60,6 +61,7 @@ var ArchiveView = ScrollableView.extend({
var t = this.menu_template.replace(/{{title}}/, row.title)
var $t = $(t)
+ $t.data("aria-label", stonewash(row.title.replace(/'/g, " '").trim()))
$t.data("title", row.title)
$t.data("index", index)
this.$menu_items.append($t)
diff --git a/StoneIsland/platforms/ios/www/js/lib/blogs/BlogView.js b/StoneIsland/platforms/ios/www/js/lib/blogs/BlogView.js
index e58c975c..9190634c 100755
--- a/StoneIsland/platforms/ios/www/js/lib/blogs/BlogView.js
+++ b/StoneIsland/platforms/ios/www/js/lib/blogs/BlogView.js
@@ -54,7 +54,7 @@ var BlogView = View.extend({
app.closed.storeClosedMessageTwo = app.store.StoreClosedMessageTwo
break
}
- console.log(data)
+ // console.log(data)
if (app.closed.storeIsClosed && sdk.env !== 'test') {
app.closed.populate(app.store.ClosedStoreImages)
diff --git a/StoneIsland/platforms/ios/www/js/lib/blogs/HubView.js b/StoneIsland/platforms/ios/www/js/lib/blogs/HubView.js
index c4ebd716..a0ee9dd0 100755
--- a/StoneIsland/platforms/ios/www/js/lib/blogs/HubView.js
+++ b/StoneIsland/platforms/ios/www/js/lib/blogs/HubView.js
@@ -14,7 +14,7 @@ var HubView = ScrollableView.extend({
initialize: function(){
this.$content = this.$(".content")
this.$loader = this.$(".loader")
- this.scroller = new IScroll('#hub', app.iscroll_options)
+ this.scroller = ScrollFactory('#hub', app.iscroll_options)
HubLoader.init(this)
},
@@ -93,6 +93,7 @@ var HubView = ScrollableView.extend({
var url = gallery.selectedElement.style.backgroundImage.replace(/url\(\"?/,"").replace(/\"?\)/,"")
app.fullscreenViewer.show(url, url)
})
+ $(".gallery-" + row.id).attr('aria-label', stonewash(row.title) + ". Image gallery, use the arrows to scroll.")
}
else {
// single image
@@ -103,7 +104,6 @@ var HubView = ScrollableView.extend({
el.className = "item"
$(".gallery-" + row.id).append(el)
$(".gallery-" + row.id).data("row", row)
-
// video, append play button
if (row.link.match(/youtube|youtu.be|vimeo/)) {
var play = document.createElement("div")
@@ -111,7 +111,7 @@ var HubView = ScrollableView.extend({
$(".gallery-" + row.id).append(play)
$(".gallery-" + row.id).addClass("gallery-video-post")
$(".gallery-" + row.id).attr('role', 'link')
- $(".gallery-" + row.id).attr('aria-label', stonewash(row.title) + ". Watch the video on Youtube")
+ $(".gallery-" + row.id).attr('aria-label', stonewash(row.title) + ". Tap to watch the video on Youtube")
if (! row.image) {
var url = row.link
var ytid = (url.match(/v=([-_a-zA-Z0-9]{11})/i) || url.match(/youtu.be\/([-_a-zA-Z0-9]{11})/i) || url.match(/embed\/([-_a-zA-Z0-9]{11})/i))[1].split('&')[0];
@@ -121,6 +121,7 @@ var HubView = ScrollableView.extend({
$(el).click(function(){
app.fullscreenViewer.show(row.image[0].uri)
})
+ $(".gallery-" + row.id).attr('aria-label', stonewash(row.title) + ". Main image")
}
$t.find(".gallery-left").remove()
$t.find(".gallery-right").remove()
@@ -140,6 +141,7 @@ var HubView = ScrollableView.extend({
var id = $(e.currentTarget).closest(".hub_item").data('id')
this.galleries[id].previous()
},
+
gallery_right: function(e){
var id = $(e.currentTarget).closest(".hub_item").data('id')
this.galleries[id].next()
@@ -170,6 +172,7 @@ var HubLoader = (function(){
HubLoader.load()
}
HubLoader.load = function(){
+ if (!queue) return
item = queue.shift()
count++
if (! item || loading) return
diff --git a/StoneIsland/platforms/ios/www/js/lib/blogs/PageView.js b/StoneIsland/platforms/ios/www/js/lib/blogs/PageView.js
index ae18091a..9a7b4962 100755
--- a/StoneIsland/platforms/ios/www/js/lib/blogs/PageView.js
+++ b/StoneIsland/platforms/ios/www/js/lib/blogs/PageView.js
@@ -9,7 +9,7 @@ var PageView = ScrollableView.extend({
this.setElement("#" + opt.page)
this.$content = this.$(".content")
this.$loader = this.$(".loader")
- this.scroller = new IScroll('#' + this.page, app.iscroll_options)
+ this.scroller = ScrollFactory('#' + this.page, app.iscroll_options)
},
show: function(){
@@ -26,7 +26,7 @@ var PageView = ScrollableView.extend({
href = href.substr(1, href.length-2)
$(this).attr("href", href)
}
- console.log(href)
+ // console.log(href)
$(this).attr("target", "_system")
})
},
diff --git a/StoneIsland/platforms/ios/www/js/lib/blogs/StoryView.js b/StoneIsland/platforms/ios/www/js/lib/blogs/StoryView.js
index 924a7355..0b3b17d7 100755
--- a/StoneIsland/platforms/ios/www/js/lib/blogs/StoryView.js
+++ b/StoneIsland/platforms/ios/www/js/lib/blogs/StoryView.js
@@ -16,7 +16,7 @@ var StoryView = ScrollableView.extend({
this.$links = this.$(".links")
this.$loader = this.$(".loader")
this.loader = new Loader ()
- this.scroller = new IScroll('#story', app.iscroll_options)
+ this.scroller = ScrollFactory('#story', app.iscroll_options)
},
show: function(){
@@ -41,7 +41,7 @@ var StoryView = ScrollableView.extend({
var li = document.createElement("li")
li.dataset.id = row.id
li.innerHTML = row.title
- li.role = "button"
+ li.setAttribute('role', "link")
this.sections[row.id] = row
this.$links.append(li)
this.$content.append(t)
diff --git a/StoneIsland/platforms/ios/www/js/lib/cart/CartConfirm.js b/StoneIsland/platforms/ios/www/js/lib/cart/CartConfirm.js
index 031e3359..6909dcc3 100755
--- a/StoneIsland/platforms/ios/www/js/lib/cart/CartConfirm.js
+++ b/StoneIsland/platforms/ios/www/js/lib/cart/CartConfirm.js
@@ -22,7 +22,7 @@ var CartConfirm = FormView.extend({
this.$payment_method = this.$(".payment_method")
this.$payment_address = this.$(".payment_address")
- this.scroller = new IScroll('#cart_confirm', app.iscroll_options)
+ this.scroller = ScrollFactory('#cart_confirm', app.iscroll_options)
},
show: function(){
diff --git a/StoneIsland/platforms/ios/www/js/lib/cart/CartPayment.js b/StoneIsland/platforms/ios/www/js/lib/cart/CartPayment.js
index 3a9e6412..40d08d9e 100755
--- a/StoneIsland/platforms/ios/www/js/lib/cart/CartPayment.js
+++ b/StoneIsland/platforms/ios/www/js/lib/cart/CartPayment.js
@@ -34,7 +34,7 @@ var CartPayment = FormView.extend({
this.address = new AddressView ({ parent: this, checkPhone: false })
this.cc = new CreditCardView ({ parent: this })
- this.scroller = new IScroll('#cart_payment', app.iscroll_options)
+ this.scroller = ScrollFactory('#cart_payment', app.iscroll_options)
this.scroller.on('scrollStart', function(){
if (document.activeElement.tagName === 'INPUT' || document.activeElement.tagName === 'SELECT') {
document.activeElement.blur()
diff --git a/StoneIsland/platforms/ios/www/js/lib/cart/CartShipping.js b/StoneIsland/platforms/ios/www/js/lib/cart/CartShipping.js
index ef8f94b7..b5d6647b 100755
--- a/StoneIsland/platforms/ios/www/js/lib/cart/CartShipping.js
+++ b/StoneIsland/platforms/ios/www/js/lib/cart/CartShipping.js
@@ -21,7 +21,7 @@ var CartShipping = FormView.extend({
this.$address_form = this.$(".address")
this.$msg = this.$(".msg")
this.address = new AddressView ({ parent: this })
- this.scroller = new IScroll('#cart_shipping', app.iscroll_options)
+ this.scroller = ScrollFactory('#cart_shipping', app.iscroll_options)
this.address.disabled = true
},
diff --git a/StoneIsland/platforms/ios/www/js/lib/cart/CartSummary.js b/StoneIsland/platforms/ios/www/js/lib/cart/CartSummary.js
index bf150791..51aa35ef 100755
--- a/StoneIsland/platforms/ios/www/js/lib/cart/CartSummary.js
+++ b/StoneIsland/platforms/ios/www/js/lib/cart/CartSummary.js
@@ -15,7 +15,7 @@ var CartSummary = ScrollableView.extend({
this.$loader = this.$(".loader")
this.$cart_body = this.$(".cart_body")
this.$cart_empty = this.$(".cart_empty")
- this.scroller = new IScroll('#cart_summary', app.iscroll_options)
+ this.scroller = ScrollFactory('#cart_summary', app.iscroll_options)
this.$rows = this.$(".rows")
this.$subtotal = this.$(".subtotal")
diff --git a/StoneIsland/platforms/ios/www/js/lib/etc/accessibility.js b/StoneIsland/platforms/ios/www/js/lib/etc/accessibility.js
index 614c3796..3cbda2a0 100644
--- a/StoneIsland/platforms/ios/www/js/lib/etc/accessibility.js
+++ b/StoneIsland/platforms/ios/www/js/lib/etc/accessibility.js
@@ -1,9 +1,75 @@
-$(function(){
- $("h1").each(function(){
- this['aria-label'] = 'Section title is ' + this.innerText
- })
-})
+var accessibility = (function() {
+
+ var accessibility = {}
+ accessibility.voiceOver = false
+
+ accessibility.DEBUG = true
+
+ accessibility.init = function(ready) {
+ console.log('Accessibility init')
+ accessibility.bind()
+ if (accessibility.DEBUG) {
+ console.log('Accessibility debug mode')
+ app.accessible = true
+ accessibility.voiceOver = true
+ $('html').addClass('vscroll')
+ $('html').addClass('accessible')
+ return ready()
+ }
+ if ('MobileAccessibility' in window) {
+ accessibility.build(ready)
+ } else {
+ ready()
+ }
+ }
+
+ accessibility.build = function(ready) {
+ MobileAccessibility.usePreferredTextZoom(true);
+ MobileAccessibility.getTextZoom(function getTextZoomCallback(textZoom) {
+ console.log('WebView text should be scaled to the preferred value ' + textZoom + '%')
+ if (textZoom > 100) {
+ app.accessible = true
+ $("html").addClass('accessible')
+ }
+ });
+ MobileAccessibility.isVoiceOverRunning(function(state){
+ console.log('Screen reader: ' + state)
+ accessibility.voiceOver = state
+ if (state) {
+ console.log(">>>>>> actual debug mode!")
+ app.accessible = true
+ $("html").addClass('accessible')
+ $('html').addClass('vscroll')
+ } else {
+ $('html').addClass('iscroll')
+ }
+ ready()
+ })
+ }
+
+ accessibility.bind = function() {
+ $("h1").each(function(){
+ this['aria-label'] = 'Section title is ' + this.innerText
+ })
+ if ('MobileAccessibilityNotifications' in window) {
+ window.addEventListener(MobileAccessibilityNotifications.SCREEN_READER_STATUS_CHANGED,
+ accessibility.onScreenReaderStatusChanged, false)
+ }
+ }
+
+ accessibility.onScreenReaderStatusChanged = function(info) {
+ if (info && typeof info.isScreenReaderRunning !== "undefined") {
+ if (info.isScreenReaderRunning) {
+ console.log("Screen reader: ON");
+ } else {
+ console.log("Screen reader: OFF");
+ }
+ }
+ }
+
+ return accessibility
+})()
function stonewash (s) {
- return s.replace(/'0/g, '20').replace(/_/g, ' ')
-} \ No newline at end of file
+ return s.replace(/'9/g, '19').replace(/'0/g, '20').replace(/_/g, ' ').replace(/-/g, ' - ').replace(/^[013456789][0-9]+/, '')
+}
diff --git a/StoneIsland/platforms/ios/www/js/lib/etc/push.js b/StoneIsland/platforms/ios/www/js/lib/etc/push.js
index 746172eb..74aaf7b5 100755
--- a/StoneIsland/platforms/ios/www/js/lib/etc/push.js
+++ b/StoneIsland/platforms/ios/www/js/lib/etc/push.js
@@ -37,6 +37,10 @@ var push = (function(){
push.settings.hub = hub_status == "true"
push.settings.store = store_status == "true"
+ if (push.settings.requested) {
+ return
+ }
+ // not sure why we're also signing up for notifications here??
if (! hub_status || hub_status == "true") {
push.subscribe("hub")
}
@@ -46,7 +50,7 @@ var push = (function(){
}
push.got_registration = function(data){
var registrationId = data.registrationId
- var oldRegistrationId = localStorage.getItem("yoox.registrationId")
+ var oldRegistrationId = localStorage.getItem("yoox.registrationId")
// console.log(registrationId, oldRegistrationId)
if (registrationId !== oldRegistrationId || ! push.settings.requested) {
diff --git a/StoneIsland/platforms/ios/www/js/lib/etc/scroll.js b/StoneIsland/platforms/ios/www/js/lib/etc/scroll.js
new file mode 100644
index 00000000..253921e1
--- /dev/null
+++ b/StoneIsland/platforms/ios/www/js/lib/etc/scroll.js
@@ -0,0 +1,29 @@
+// stub for native scroller when in voiceover mode
+function NativeScroll(el) {
+ var Scroller = {
+ x: 0,
+ y: 0,
+ $el: $(el),
+ }
+
+ Scroller.refresh = function(){}
+ Scroller.on = function(){}
+ Scroller.off = function(){}
+
+ Scroller.scrollTo = function(x, y) {
+ Scroller.$el.scrollTop(y)
+ }
+ Scroller.scrollToElement = function(selector) {
+ var y = $(selector).offset().top
+ Scroller.$el.scrollTop(y)
+ }
+
+ return Scroller
+}
+
+function ScrollFactory (el, opt) {
+ if (accessibility.voiceOver) {
+ return NativeScroll(el)
+ }
+ return new IScroll(el, opt)
+}
diff --git a/StoneIsland/platforms/ios/www/js/lib/nav/CurtainView.js b/StoneIsland/platforms/ios/www/js/lib/nav/CurtainView.js
index d444fd60..ddb6bc19 100755
--- a/StoneIsland/platforms/ios/www/js/lib/nav/CurtainView.js
+++ b/StoneIsland/platforms/ios/www/js/lib/nav/CurtainView.js
@@ -28,7 +28,7 @@ var CurtainView = View.extend({
},
click: function(){
- if (document.body.classList.contains("nav")) {
+ if (document.body.classList.contains("nav") && !app.accessible) {
app.nav.hide()
}
if (app.selector.visible) {
diff --git a/StoneIsland/platforms/ios/www/js/lib/nav/NavView.js b/StoneIsland/platforms/ios/www/js/lib/nav/NavView.js
index 958bc8ad..1655b7f8 100755
--- a/StoneIsland/platforms/ios/www/js/lib/nav/NavView.js
+++ b/StoneIsland/platforms/ios/www/js/lib/nav/NavView.js
@@ -45,6 +45,10 @@ var NavView = View.extend({
show: function(klass){
$("body").addClass("nav")
app.curtain.show("dark")
+ doneShowingNav = false
+ setTimeout(function(){
+ doneShowingNav = true
+ }, 800)
if (klass) {
setTimeout(function(){
this.addClass(klass)
@@ -53,6 +57,7 @@ var NavView = View.extend({
},
hide: function(){
+ if (!doneShowingNav) return
$("body").removeClass("nav")
app.curtain.hide("dark")
},
diff --git a/StoneIsland/platforms/ios/www/js/lib/products/CollectionView.js b/StoneIsland/platforms/ios/www/js/lib/products/CollectionView.js
index b7af235a..d3343652 100755
--- a/StoneIsland/platforms/ios/www/js/lib/products/CollectionView.js
+++ b/StoneIsland/platforms/ios/www/js/lib/products/CollectionView.js
@@ -22,7 +22,7 @@ var CollectionView = ScrollableView.extend({
this.$title = this.$("h1")
this.$content = this.$(".content")
this.$loader = this.$(".loader")
- this.scroller = new IScroll('#collection', app.iscroll_options)
+ this.scroller = ScrollFactory('#collection', app.iscroll_options)
this.departmentFilterView = new DepartmentFilter ({ parent: this })
this.sizeFilterView = new SizeFilter ({ parent: this })
},
diff --git a/StoneIsland/platforms/ios/www/js/lib/products/ProductView.js b/StoneIsland/platforms/ios/www/js/lib/products/ProductView.js
index c47dfddd..62a6de18 100755
--- a/StoneIsland/platforms/ios/www/js/lib/products/ProductView.js
+++ b/StoneIsland/platforms/ios/www/js/lib/products/ProductView.js
@@ -15,7 +15,7 @@ var ProductView = ScrollableView.extend({
initialize: function(){
this.gallery = new GalleryView ()
- this.scroller = new IScroll('#product', app.iscroll_options)
+ this.scroller = ScrollFactory('#product', app.iscroll_options)
this.$productHeader = this.$(".product-header")
this.$title = this.$(".title")