From 2c3453e7c471034e992c35b23ffa8b523a44afd4 Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Mon, 30 Nov 2015 13:49:36 -0500 Subject: use_stored_credit_card --- StoneIsland/www/js/sdk/cart.js | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) (limited to 'StoneIsland/www/js/sdk/cart.js') diff --git a/StoneIsland/www/js/sdk/cart.js b/StoneIsland/www/js/sdk/cart.js index bbd03299..0f8f6f99 100644 --- a/StoneIsland/www/js/sdk/cart.js +++ b/StoneIsland/www/js/sdk/cart.js @@ -105,7 +105,6 @@ sdk.cart = (function(){ }) } - // NOTE: data might be wrapped in a Receiver object cart.set_shipping_address = function(opt){ return $.ajax({ method: "PUT", @@ -163,6 +162,17 @@ sdk.cart = (function(){ // NB: if "verification number" is 1, use CVV/CID/CVC security code // if "verification number" is 2, use "Issue Number" cart.use_stored_credit_card = function(opt){ + var data = { + "Guid": opt.data.guid, + "UserId": auth.user_id, + "AccessToken": auth.access_token, + } + if (opt.data.cvv) { + data["Cvv"] = opt.data.cvv + } + if (opt.data.issue) { + data["Issue"] = opt.data.issue + } return $.ajax({ method: "PUT", url: sdk.path("Cart.API/1.6", "carts/" + cart.id + "/userCreditCard.json"), @@ -170,13 +180,7 @@ sdk.cart = (function(){ "x-yoox-appname": auth.appname, "x-yoox-cart-token": cart.token, }, - data: JSON.stringify({ // NB may be wrapped in UserCreditCard object - "Guid": opt.guid, - "UserId": auth.user_id, - "AccessToken": auth.access_token, - "Cvv": opt.cvv, - "Issue": opt.issue, - }), + data: JSON.stringify(data), success: function(data){ // console.log(data) opt.success(data) -- cgit v1.2.3-70-g09d2 From 7920b278e296e99a069c7ab8b78b271e9665a84a Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Mon, 30 Nov 2015 14:36:51 -0500 Subject: test finalize api --- StoneIsland/www/js/sdk/cart.js | 7 ++++--- test/test/04-cart.js | 9 +++++++++ 2 files changed, 13 insertions(+), 3 deletions(-) (limited to 'StoneIsland/www/js/sdk/cart.js') diff --git a/StoneIsland/www/js/sdk/cart.js b/StoneIsland/www/js/sdk/cart.js index 0f8f6f99..0316e234 100644 --- a/StoneIsland/www/js/sdk/cart.js +++ b/StoneIsland/www/js/sdk/cart.js @@ -188,17 +188,17 @@ sdk.cart = (function(){ error: opt.error, }) } - + cart.finalize = function(opt){ return $.ajax({ - method: "PUT", + method: "POST", url: sdk.path("Cart.API/1.6", "carts/" + cart.id + "/secureFinalizer.json"), headers: { "x-yoox-appname": auth.appname, "x-yoox-cart-token": cart.token, "x-yoox-device": auth.device, }, - data: JSON.stringify( opt.data ), + data: JSON.stringify( opt.data || {} ), success: function(data){ console.log(data) // order number is: @@ -208,5 +208,6 @@ sdk.cart = (function(){ error: opt.error, }) } + return cart })() \ No newline at end of file diff --git a/test/test/04-cart.js b/test/test/04-cart.js index 9c6a7931..4d302891 100644 --- a/test/test/04-cart.js +++ b/test/test/04-cart.js @@ -318,5 +318,14 @@ describe('payment', function(){ describe('checkout', function(){ describe('#finalize()', function(){ + it('fails to finalize a cart with test data', function(done){ + promise(sdk.cart.finalize, { ReturnUrl: "stoneisland.com", Token: sdk.auth.access_token }).then(function(data){ + console.log("SUCCESS", data) + done() + }).error(function(data){ + console.log("FAILURE", data) + done() + }) + }) }) }) -- cgit v1.2.3-70-g09d2 From 840cdf39595c6b8a29d2c91447d9fb8a91582a59 Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Mon, 30 Nov 2015 16:14:29 -0500 Subject: ui changes --- StoneIsland/platforms/ios/www/css/account.css | 7 + StoneIsland/platforms/ios/www/css/blogs.css | 102 +++++-- StoneIsland/platforms/ios/www/css/cart.css | 75 ++++- StoneIsland/platforms/ios/www/css/index.css | 3 + StoneIsland/platforms/ios/www/css/products.css | 33 ++- StoneIsland/platforms/ios/www/img/left-arrow.png | Bin 0 -> 5147 bytes StoneIsland/platforms/ios/www/img/right-arrow.png | Bin 0 -> 5264 bytes StoneIsland/platforms/ios/www/index.html | 310 +++++++++++++++++---- StoneIsland/platforms/ios/www/js/index.js | 2 + .../ios/www/js/lib/account/AccountView.js | 93 +++++-- .../ios/www/js/lib/account/PaymentView.js | 93 ++++++- .../ios/www/js/lib/account/ProfileView.js | 57 ++-- .../ios/www/js/lib/account/ShippingView.js | 54 +++- .../platforms/ios/www/js/lib/auth/LogoutView.js | 3 +- .../platforms/ios/www/js/lib/auth/SignupView.js | 5 +- .../platforms/ios/www/js/lib/blogs/ArchiveView.js | 36 ++- .../platforms/ios/www/js/lib/cart/CartConfirm.js | 1 + .../platforms/ios/www/js/lib/cart/CartPayment.js | 132 ++++++++- .../platforms/ios/www/js/lib/cart/CartShipping.js | 86 +++++- .../platforms/ios/www/js/lib/cart/CartSummary.js | 24 +- .../platforms/ios/www/js/lib/cart/CartView.js | 14 + .../platforms/ios/www/js/lib/nav/AddressView.js | 236 +++++++++++++++- .../platforms/ios/www/js/lib/nav/CreditCardView.js | 36 ++- .../platforms/ios/www/js/lib/nav/HeaderView.js | 6 +- .../platforms/ios/www/js/lib/nav/IntroView.js | 1 + .../ios/www/js/lib/products/CollectionView.js | 2 +- .../ios/www/js/lib/products/ProductView.js | 36 +-- .../platforms/ios/www/js/lib/view/Router.js | 75 +++++ .../platforms/ios/www/js/lib/view/Scrollable.js | 20 ++ .../platforms/ios/www/js/lib/view/Serializable.js | 144 ++++++++++ StoneIsland/platforms/ios/www/js/lib/view/View.js | 147 ++++++++++ StoneIsland/platforms/ios/www/js/sdk/_sdk.js | 2 +- StoneIsland/platforms/ios/www/js/sdk/address.js | 44 ++- StoneIsland/platforms/ios/www/js/sdk/auth.js | 14 +- StoneIsland/platforms/ios/www/js/sdk/cart.js | 48 +++- StoneIsland/platforms/ios/www/js/sdk/payment.js | 4 - StoneIsland/platforms/ios/www/js/sdk/shipping.js | 3 - .../www/js/vendor/jquery.creditCardValidator.js | 208 ++++++++++++++ .../platforms/ios/www/js/vendor/view/router.js | 75 ----- .../platforms/ios/www/js/vendor/view/scrollable.js | 20 -- .../ios/www/js/vendor/view/serializable.js | 129 --------- .../platforms/ios/www/js/vendor/view/view.js | 147 ---------- StoneIsland/www/css/products.css | 6 + StoneIsland/www/index.html | 3 + StoneIsland/www/js/index.js | 2 +- StoneIsland/www/js/lib/blogs/BlogView.js | 10 + StoneIsland/www/js/lib/cart/CartSummary.js | 5 +- StoneIsland/www/js/lib/nav/IntroView.js | 1 + StoneIsland/www/js/lib/products/CollectionView.js | 2 +- StoneIsland/www/js/lib/products/ProductView.js | 2 + StoneIsland/www/js/sdk/cart.js | 37 ++- 51 files changed, 1975 insertions(+), 620 deletions(-) create mode 100755 StoneIsland/platforms/ios/www/img/left-arrow.png create mode 100755 StoneIsland/platforms/ios/www/img/right-arrow.png create mode 100644 StoneIsland/platforms/ios/www/js/lib/view/Router.js create mode 100644 StoneIsland/platforms/ios/www/js/lib/view/Scrollable.js create mode 100644 StoneIsland/platforms/ios/www/js/lib/view/Serializable.js create mode 100644 StoneIsland/platforms/ios/www/js/lib/view/View.js create mode 100644 StoneIsland/platforms/ios/www/js/vendor/jquery.creditCardValidator.js delete mode 100644 StoneIsland/platforms/ios/www/js/vendor/view/router.js delete mode 100644 StoneIsland/platforms/ios/www/js/vendor/view/scrollable.js delete mode 100644 StoneIsland/platforms/ios/www/js/vendor/view/serializable.js delete mode 100644 StoneIsland/platforms/ios/www/js/vendor/view/view.js (limited to 'StoneIsland/www/js/sdk/cart.js') diff --git a/StoneIsland/platforms/ios/www/css/account.css b/StoneIsland/platforms/ios/www/css/account.css index d450c42c..31433871 100644 --- a/StoneIsland/platforms/ios/www/css/account.css +++ b/StoneIsland/platforms/ios/www/css/account.css @@ -396,4 +396,11 @@ input.switch:checked + label:after { } .select-wrapper.picked span { color: #000; +} + +.country-wrapper-static { + text-align: center; + color: #a9a9a9; + padding-top: 9px; + font-size: 14px; } \ No newline at end of file diff --git a/StoneIsland/platforms/ios/www/css/blogs.css b/StoneIsland/platforms/ios/www/css/blogs.css index 239e99bf..0dd14166 100644 --- a/StoneIsland/platforms/ios/www/css/blogs.css +++ b/StoneIsland/platforms/ios/www/css/blogs.css @@ -39,6 +39,8 @@ display: none; } +/* FAQ */ + .privacy #privacy { display: block } .terms #terms { display: block } .returns #returns { display: block } @@ -100,32 +102,44 @@ .gallery-multiple-images::before { border:1px solid black; + background:rgba(255,255,255,1); + background-image:url(../img/left-arrow.png); + background-size:5px 10px; + background-repeat:no-repeat; + background-position:center; + width:15px; + height:30px; top:50%; - transform:scale(.5,1) translateY(-50%); - transform-origin:top left; + content:''; + transform:translateY(-50%); + transform-origin:top right; left:20px; - content:'\25C0'; font-size:18px; - padding:3px 14px 3px 11px; + padding:3px 3px 3px 1px; z-index:999; position:absolute; display:block; - background:rgba(255,255,255,1); } .gallery-multiple-images::after { border:1px solid black; + background:rgba(255,255,255,1); + background-image:url(../img/right-arrow.png); + background-size:5px 10px; + background-repeat:no-repeat; + background-position:center; + width:15px; + height:30px; top:50%; - transform:scale(.5,1) translateY(-50%); + content:''; + transform:translateY(-50%); transform-origin:top right; right:20px; - content:'\25B6'; font-size:18px; - padding:3px 11px 3px 14px; + padding:3px 1px 3px 3px; z-index:999; position:absolute; display:block; - background:rgba(255,255,255,1); } /* NOTE: not sure if this down arrow is necessary.. the fade @@ -188,15 +202,67 @@ ul.links { font-size:14px; } -/* NOTE: not really sure how this is going to work on the archive page - based on the pdf mockup */ +.archive h2 { + font-size:32px +} -.archive .above { - width:calc(100vw - 80px); - box-sizing:border-box; - margin:0 auto; +#archive .heading { + position: absolute; + top: 0; left: 0; + width: 100%; + pointer-events: none; +} +#archive .menu .items, +#archive .row .image, +#archive .row .text { + position: absolute; + top: 50%; left: 50%; + transform-origin: 50% 50%; + transform: translateZ(0) translateX(-50%) translateY(-50%); } -.archive h2 { -font-size:32px -} \ No newline at end of file +#archive.menu .menu { + opacity: 1; + pointer-events: auto; +} +#archive .menu { + background: rgba(255,255,255,0.8); + position: absolute; + top: 0; left: 0; + height: 100%; + width: 100%; + opacity: 0; + pointer-events: none; + transition: opacity 0.2s; +} +#archive .menu .items { + width: 100%; +} +#archive .menu .item:first-of-type { + border-top: 1px solid black; +} +#archive .menu .item { + width: 100%; + text-align: center; + border-bottom: 1px solid black; + background: white; +} + +#archive .scroll { + top: 0; left: 0; + height: 100%; +} +#archive .row { + position: relative; + min-height: 80vh; + perspective: 500; +} +#archive .row .image { + width: 100%; height: 100%; + background-repeat: no-repeat; + background-size: 80% auto; + background-position: center center; +} +#archive .row .text { + width: 80%; +} diff --git a/StoneIsland/platforms/ios/www/css/cart.css b/StoneIsland/platforms/ios/www/css/cart.css index bc5088d5..a927f511 100644 --- a/StoneIsland/platforms/ios/www/css/cart.css +++ b/StoneIsland/platforms/ios/www/css/cart.css @@ -1,11 +1,5 @@ .cart #cart { display: block; } -.cart #footer .cancel { display: block } -.cart #footer .checkout { display: block } -/* -.cart #footer .checkout_proceed { display: block } - */ - #cart { display: none; } @@ -51,6 +45,8 @@ border-right: 1px solid #bbb .full .cart_body { display: block; } .empty .cart_empty { display: block; } +#cart h1 .full_msg, +#cart h1 .empty_msg { display: none } .cart_body { display: none; } @@ -89,6 +85,10 @@ border-right: 1px solid #bbb top:16px; } +#cart h3 { + padding-left: 5px; +} + .cart_item_row { display:table; position:relative; @@ -189,4 +189,65 @@ font-weight:bold .cart-summary-row:last-child { color:#000; -} \ No newline at end of file +} + +.dropdown-wrapper { + position:relative; + text-align:right; + width:calc(100vw - 10px); + margin:0 auto; + box-sizing:border-box; + +} + +.dropdown-wrapper .add_edit { + padding:10px; + letter-spacing:0.5px; + font-size:12px; + color:#a9a9a9; + box-sizing:border-box; +} + +.dropdown-wrapper .dropdown { + font-size:14px; + box-sizing:border-box; + align-items: center; + text-align: center; + padding:10px 0; + border:1px solid #a9a9a9; + position:relative; +} + +.dropdown-wrapper .dropdown::before { + content:''; + box-sizing:border-box; + right:25px; + width:1px; + top:50%; + transform:translateY(-50%) rotate(45deg); + height:12px; + background:#a9a9a9; + position:absolute; + z-index:999; + transform-origin:bottom left; +} + +.dropdown-wrapper .dropdown::after { + content:''; + box-sizing:border-box; + right:25px; + width:1px; + top:50%; + transform:translateY(-50%) rotate(-45deg); + transform-origin:bottom right; + height:12px; + background:#a9a9a9; + position:absolute; + z-index:999; +} +#cart_shipping .address { + display: none; +} +.address .save_as_default { + display: none; +} diff --git a/StoneIsland/platforms/ios/www/css/index.css b/StoneIsland/platforms/ios/www/css/index.css index 0d855aeb..a67e4bcf 100644 --- a/StoneIsland/platforms/ios/www/css/index.css +++ b/StoneIsland/platforms/ios/www/css/index.css @@ -8,6 +8,9 @@ body, html { padding: 0px; overflow: hidden; } +body.loading { + opacity: 0; +} body { -webkit-touch-callout: none; /* prevent callout to copy image, etc when tap to hold */ -webkit-text-size-adjust: none; /* prevent webkit from resizing text to fit */ diff --git a/StoneIsland/platforms/ios/www/css/products.css b/StoneIsland/platforms/ios/www/css/products.css index 6ab9d0bd..2e9ead53 100644 --- a/StoneIsland/platforms/ios/www/css/products.css +++ b/StoneIsland/platforms/ios/www/css/products.css @@ -33,6 +33,9 @@ width: 100vw; height: 52vh; } +.gallery.gray { + background: rgba(245,245,245,1.0); +} .gallery .item { width: 100vw; @@ -172,31 +175,43 @@ #product #gallery::before { border:1px solid black; + background:rgba(255,255,255,1); + background-image:url(../img/left-arrow.png); + background-size:5px 10px; + background-repeat:no-repeat; + background-position:center; + width:15px; + height:30px; top:50%; - transform:scale(.5,1) translateY(-50%); - transform-origin:top left; + content:''; + transform:translateY(-50%); + transform-origin:top right; left:20px; - content:'\25C0'; font-size:18px; - padding:3px 14px 3px 11px; + padding:3px 3px 3px 1px; z-index:999; position:absolute; display:block; - background:rgba(255,255,255,1); } #product #gallery::after { border:1px solid black; + background:rgba(255,255,255,1); + background-image:url(../img/right-arrow.png); + background-size:5px 10px; + background-repeat:no-repeat; + background-position:center; + width:15px; + height:30px; top:50%; - transform:scale(.5,1) translateY(-50%); + content:''; + transform:translateY(-50%); transform-origin:top right; right:20px; - content:'\25B6'; font-size:18px; - padding:3px 11px 3px 14px; + padding:3px 1px 3px 3px; z-index:999; position:absolute; display:block; - background:rgba(255,255,255,1); } diff --git a/StoneIsland/platforms/ios/www/img/left-arrow.png b/StoneIsland/platforms/ios/www/img/left-arrow.png new file mode 100755 index 00000000..d19f48f3 Binary files /dev/null and b/StoneIsland/platforms/ios/www/img/left-arrow.png differ diff --git a/StoneIsland/platforms/ios/www/img/right-arrow.png b/StoneIsland/platforms/ios/www/img/right-arrow.png new file mode 100755 index 00000000..00b62502 Binary files /dev/null and b/StoneIsland/platforms/ios/www/img/right-arrow.png differ diff --git a/StoneIsland/platforms/ios/www/index.html b/StoneIsland/platforms/ios/www/index.html index aeb1eb61..1f5a8f55 100644 --- a/StoneIsland/platforms/ios/www/index.html +++ b/StoneIsland/platforms/ios/www/index.html @@ -27,7 +27,7 @@ Stone Island - +