harpiya_frontend 4.3.0.alpha
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/Gemfile +6 -0
- data/LICENSE +26 -0
- data/Rakefile +15 -0
- data/app/assets/config/harpiya_frontend_manifest.js +4 -0
- data/app/assets/images/arrow-down.svg +12 -0
- data/app/assets/images/arrow-right.svg +1 -0
- data/app/assets/images/arrow.svg +1 -0
- data/app/assets/images/bag.svg +1 -0
- data/app/assets/images/burger.svg +1 -0
- data/app/assets/images/card-image.svg +4 -0
- data/app/assets/images/cart.svg +1 -0
- data/app/assets/images/check-mark-circle.png +0 -0
- data/app/assets/images/check-mark-circle.svg +1 -0
- data/app/assets/images/check-mark.svg +1 -0
- data/app/assets/images/circle-radio.svg +1 -0
- data/app/assets/images/circle.svg +1 -0
- data/app/assets/images/close.svg +1 -0
- data/app/assets/images/credit_cards/amex_cid.gif +0 -0
- data/app/assets/images/credit_cards/credit_card.gif +0 -0
- data/app/assets/images/credit_cards/discover_cid.gif +0 -0
- data/app/assets/images/credit_cards/icons/american_express.png +0 -0
- data/app/assets/images/credit_cards/icons/american_express.svg +1 -0
- data/app/assets/images/credit_cards/icons/cirrus.png +0 -0
- data/app/assets/images/credit_cards/icons/delta.png +0 -0
- data/app/assets/images/credit_cards/icons/diners_club.png +0 -0
- data/app/assets/images/credit_cards/icons/diners_club.svg +1 -0
- data/app/assets/images/credit_cards/icons/directdebit.png +0 -0
- data/app/assets/images/credit_cards/icons/discover.png +0 -0
- data/app/assets/images/credit_cards/icons/discover.svg +1 -0
- data/app/assets/images/credit_cards/icons/egold.png +0 -0
- data/app/assets/images/credit_cards/icons/generic.svg +1 -0
- data/app/assets/images/credit_cards/icons/jcb.png +0 -0
- data/app/assets/images/credit_cards/icons/jcb.svg +1 -0
- data/app/assets/images/credit_cards/icons/maestro.png +0 -0
- data/app/assets/images/credit_cards/icons/maestro.svg +1 -0
- data/app/assets/images/credit_cards/icons/master.png +0 -0
- data/app/assets/images/credit_cards/icons/master.svg +1 -0
- data/app/assets/images/credit_cards/icons/paypal.png +0 -0
- data/app/assets/images/credit_cards/icons/solo.png +0 -0
- data/app/assets/images/credit_cards/icons/switch.png +0 -0
- data/app/assets/images/credit_cards/icons/visa.png +0 -0
- data/app/assets/images/credit_cards/icons/visa.svg +1 -0
- data/app/assets/images/credit_cards/icons/visaelectron.png +0 -0
- data/app/assets/images/credit_cards/icons/westernunion.png +0 -0
- data/app/assets/images/credit_cards/icons/wirecard.png +0 -0
- data/app/assets/images/credit_cards/icons/worldpay.png +0 -0
- data/app/assets/images/credit_cards/master_cid.jpg +0 -0
- data/app/assets/images/credit_cards/visa_cid.gif +0 -0
- data/app/assets/images/edit.svg +1 -0
- data/app/assets/images/empty-cart.svg +1 -0
- data/app/assets/images/error.svg +1 -0
- data/app/assets/images/facebook.svg +1 -0
- data/app/assets/images/favicon.ico +0 -0
- data/app/assets/images/file-image.svg +4 -0
- data/app/assets/images/flags/4x3/ad.svg +150 -0
- data/app/assets/images/flags/4x3/ae.svg +6 -0
- data/app/assets/images/flags/4x3/af.svg +81 -0
- data/app/assets/images/flags/4x3/ag.svg +14 -0
- data/app/assets/images/flags/4x3/ai.svg +763 -0
- data/app/assets/images/flags/4x3/al.svg +5 -0
- data/app/assets/images/flags/4x3/am.svg +5 -0
- data/app/assets/images/flags/4x3/ao.svg +13 -0
- data/app/assets/images/flags/4x3/aq.svg +5 -0
- data/app/assets/images/flags/4x3/ar.svg +31 -0
- data/app/assets/images/flags/4x3/as.svg +33 -0
- data/app/assets/images/flags/4x3/at.svg +6 -0
- data/app/assets/images/flags/4x3/au.svg +9 -0
- data/app/assets/images/flags/4x3/aw.svg +186 -0
- data/app/assets/images/flags/4x3/ax.svg +18 -0
- data/app/assets/images/flags/4x3/az.svg +8 -0
- data/app/assets/images/flags/4x3/ba.svg +12 -0
- data/app/assets/images/flags/4x3/bb.svg +6 -0
- data/app/assets/images/flags/4x3/bd.svg +4 -0
- data/app/assets/images/flags/4x3/be.svg +7 -0
- data/app/assets/images/flags/4x3/bf.svg +7 -0
- data/app/assets/images/flags/4x3/bg.svg +7 -0
- data/app/assets/images/flags/4x3/bh.svg +9 -0
- data/app/assets/images/flags/4x3/bi.svg +15 -0
- data/app/assets/images/flags/4x3/bj.svg +14 -0
- data/app/assets/images/flags/4x3/bl.svg +7 -0
- data/app/assets/images/flags/4x3/bm.svg +98 -0
- data/app/assets/images/flags/4x3/bn.svg +36 -0
- data/app/assets/images/flags/4x3/bo.svg +676 -0
- data/app/assets/images/flags/4x3/bq.svg +5 -0
- data/app/assets/images/flags/4x3/br.svg +45 -0
- data/app/assets/images/flags/4x3/bs.svg +13 -0
- data/app/assets/images/flags/4x3/bt.svg +89 -0
- data/app/assets/images/flags/4x3/bv.svg +13 -0
- data/app/assets/images/flags/4x3/bw.svg +7 -0
- data/app/assets/images/flags/4x3/by.svg +20 -0
- data/app/assets/images/flags/4x3/bz.svg +145 -0
- data/app/assets/images/flags/4x3/ca.svg +4 -0
- data/app/assets/images/flags/4x3/cc.svg +19 -0
- data/app/assets/images/flags/4x3/cd.svg +5 -0
- data/app/assets/images/flags/4x3/cf.svg +15 -0
- data/app/assets/images/flags/4x3/cg.svg +12 -0
- data/app/assets/images/flags/4x3/ch.svg +9 -0
- data/app/assets/images/flags/4x3/ci.svg +7 -0
- data/app/assets/images/flags/4x3/ck.svg +9 -0
- data/app/assets/images/flags/4x3/cl.svg +13 -0
- data/app/assets/images/flags/4x3/cm.svg +15 -0
- data/app/assets/images/flags/4x3/cn.svg +11 -0
- data/app/assets/images/flags/4x3/co.svg +7 -0
- data/app/assets/images/flags/4x3/cr.svg +7 -0
- data/app/assets/images/flags/4x3/cu.svg +13 -0
- data/app/assets/images/flags/4x3/cv.svg +13 -0
- data/app/assets/images/flags/4x3/cw.svg +14 -0
- data/app/assets/images/flags/4x3/cx.svg +15 -0
- data/app/assets/images/flags/4x3/cy.svg +6 -0
- data/app/assets/images/flags/4x3/cz.svg +5 -0
- data/app/assets/images/flags/4x3/de.svg +5 -0
- data/app/assets/images/flags/4x3/dj.svg +13 -0
- data/app/assets/images/flags/4x3/dk.svg +5 -0
- data/app/assets/images/flags/4x3/dm.svg +152 -0
- data/app/assets/images/flags/4x3/do.svg +6745 -0
- data/app/assets/images/flags/4x3/dz.svg +5 -0
- data/app/assets/images/flags/4x3/ec.svg +138 -0
- data/app/assets/images/flags/4x3/ee.svg +7 -0
- data/app/assets/images/flags/4x3/eg.svg +38 -0
- data/app/assets/images/flags/4x3/eh.svg +15 -0
- data/app/assets/images/flags/4x3/er.svg +8 -0
- data/app/assets/images/flags/4x3/es-ca.svg +4 -0
- data/app/assets/images/flags/4x3/es.svg +544 -0
- data/app/assets/images/flags/4x3/et.svg +14 -0
- data/app/assets/images/flags/4x3/eu.svg +28 -0
- data/app/assets/images/flags/4x3/fi.svg +5 -0
- data/app/assets/images/flags/4x3/fj.svg +122 -0
- data/app/assets/images/flags/4x3/fk.svg +90 -0
- data/app/assets/images/flags/4x3/fm.svg +11 -0
- data/app/assets/images/flags/4x3/fo.svg +12 -0
- data/app/assets/images/flags/4x3/fr.svg +7 -0
- data/app/assets/images/flags/4x3/ga.svg +7 -0
- data/app/assets/images/flags/4x3/gb-eng.svg +5 -0
- data/app/assets/images/flags/4x3/gb-nir.svg +132 -0
- data/app/assets/images/flags/4x3/gb-sct.svg +4 -0
- data/app/assets/images/flags/4x3/gb-wls.svg +9 -0
- data/app/assets/images/flags/4x3/gb.svg +7 -0
- data/app/assets/images/flags/4x3/gd.svg +27 -0
- data/app/assets/images/flags/4x3/ge.svg +6 -0
- data/app/assets/images/flags/4x3/gf.svg +7 -0
- data/app/assets/images/flags/4x3/gg.svg +9 -0
- data/app/assets/images/flags/4x3/gh.svg +6 -0
- data/app/assets/images/flags/4x3/gi.svg +32 -0
- data/app/assets/images/flags/4x3/gl.svg +4 -0
- data/app/assets/images/flags/4x3/gm.svg +14 -0
- data/app/assets/images/flags/4x3/gn.svg +7 -0
- data/app/assets/images/flags/4x3/gp.svg +7 -0
- data/app/assets/images/flags/4x3/gq.svg +23 -0
- data/app/assets/images/flags/4x3/gr.svg +16 -0
- data/app/assets/images/flags/4x3/gs.svg +201 -0
- data/app/assets/images/flags/4x3/gt.svg +204 -0
- data/app/assets/images/flags/4x3/gu.svg +39 -0
- data/app/assets/images/flags/4x3/gw.svg +13 -0
- data/app/assets/images/flags/4x3/gy.svg +9 -0
- data/app/assets/images/flags/4x3/hk.svg +30 -0
- data/app/assets/images/flags/4x3/hm.svg +9 -0
- data/app/assets/images/flags/4x3/hn.svg +18 -0
- data/app/assets/images/flags/4x3/hr.svg +58 -0
- data/app/assets/images/flags/4x3/ht.svg +116 -0
- data/app/assets/images/flags/4x3/hu.svg +7 -0
- data/app/assets/images/flags/4x3/id.svg +6 -0
- data/app/assets/images/flags/4x3/ie.svg +7 -0
- data/app/assets/images/flags/4x3/il.svg +14 -0
- data/app/assets/images/flags/4x3/im.svg +36 -0
- data/app/assets/images/flags/4x3/in.svg +25 -0
- data/app/assets/images/flags/4x3/io.svg +138 -0
- data/app/assets/images/flags/4x3/iq.svg +10 -0
- data/app/assets/images/flags/4x3/ir.svg +219 -0
- data/app/assets/images/flags/4x3/is.svg +12 -0
- data/app/assets/images/flags/4x3/it.svg +7 -0
- data/app/assets/images/flags/4x3/je.svg +29 -0
- data/app/assets/images/flags/4x3/jm.svg +8 -0
- data/app/assets/images/flags/4x3/jo.svg +16 -0
- data/app/assets/images/flags/4x3/jp.svg +11 -0
- data/app/assets/images/flags/4x3/ke.svg +23 -0
- data/app/assets/images/flags/4x3/kg.svg +15 -0
- data/app/assets/images/flags/4x3/kh.svg +61 -0
- data/app/assets/images/flags/4x3/ki.svg +36 -0
- data/app/assets/images/flags/4x3/km.svg +16 -0
- data/app/assets/images/flags/4x3/kn.svg +14 -0
- data/app/assets/images/flags/4x3/kp.svg +15 -0
- data/app/assets/images/flags/4x3/kr.svg +24 -0
- data/app/assets/images/flags/4x3/kw.svg +13 -0
- data/app/assets/images/flags/4x3/ky.svg +63 -0
- data/app/assets/images/flags/4x3/kz.svg +23 -0
- data/app/assets/images/flags/4x3/la.svg +12 -0
- data/app/assets/images/flags/4x3/lb.svg +15 -0
- data/app/assets/images/flags/4x3/lc.svg +8 -0
- data/app/assets/images/flags/4x3/li.svg +43 -0
- data/app/assets/images/flags/4x3/lk.svg +22 -0
- data/app/assets/images/flags/4x3/lr.svg +14 -0
- data/app/assets/images/flags/4x3/ls.svg +8 -0
- data/app/assets/images/flags/4x3/lt.svg +7 -0
- data/app/assets/images/flags/4x3/lu.svg +5 -0
- data/app/assets/images/flags/4x3/lv.svg +6 -0
- data/app/assets/images/flags/4x3/ly.svg +13 -0
- data/app/assets/images/flags/4x3/ma.svg +4 -0
- data/app/assets/images/flags/4x3/mc.svg +6 -0
- data/app/assets/images/flags/4x3/md.svg +70 -0
- data/app/assets/images/flags/4x3/me.svg +116 -0
- data/app/assets/images/flags/4x3/mf.svg +7 -0
- data/app/assets/images/flags/4x3/mg.svg +7 -0
- data/app/assets/images/flags/4x3/mh.svg +7 -0
- data/app/assets/images/flags/4x3/mk.svg +5 -0
- data/app/assets/images/flags/4x3/ml.svg +7 -0
- data/app/assets/images/flags/4x3/mm.svg +16 -0
- data/app/assets/images/flags/4x3/mn.svg +13 -0
- data/app/assets/images/flags/4x3/mo.svg +9 -0
- data/app/assets/images/flags/4x3/mp.svg +86 -0
- data/app/assets/images/flags/4x3/mq.svg +7 -0
- data/app/assets/images/flags/4x3/mr.svg +6 -0
- data/app/assets/images/flags/4x3/ms.svg +78 -0
- data/app/assets/images/flags/4x3/mt.svg +49 -0
- data/app/assets/images/flags/4x3/mu.svg +8 -0
- data/app/assets/images/flags/4x3/mv.svg +6 -0
- data/app/assets/images/flags/4x3/mw.svg +10 -0
- data/app/assets/images/flags/4x3/mx.svg +382 -0
- data/app/assets/images/flags/4x3/my.svg +15 -0
- data/app/assets/images/flags/4x3/mz.svg +21 -0
- data/app/assets/images/flags/4x3/na.svg +16 -0
- data/app/assets/images/flags/4x3/nc.svg +14 -0
- data/app/assets/images/flags/4x3/ne.svg +6 -0
- data/app/assets/images/flags/4x3/nf.svg +9 -0
- data/app/assets/images/flags/4x3/ng.svg +6 -0
- data/app/assets/images/flags/4x3/ni.svg +129 -0
- data/app/assets/images/flags/4x3/nl.svg +5 -0
- data/app/assets/images/flags/4x3/no.svg +7 -0
- data/app/assets/images/flags/4x3/np.svg +14 -0
- data/app/assets/images/flags/4x3/nr.svg +12 -0
- data/app/assets/images/flags/4x3/nu.svg +26 -0
- data/app/assets/images/flags/4x3/nz.svg +41 -0
- data/app/assets/images/flags/4x3/om.svg +115 -0
- data/app/assets/images/flags/4x3/pa.svg +14 -0
- data/app/assets/images/flags/4x3/pe.svg +244 -0
- data/app/assets/images/flags/4x3/pf.svg +19 -0
- data/app/assets/images/flags/4x3/pg.svg +9 -0
- data/app/assets/images/flags/4x3/ph.svg +9 -0
- data/app/assets/images/flags/4x3/pk.svg +15 -0
- data/app/assets/images/flags/4x3/pl.svg +6 -0
- data/app/assets/images/flags/4x3/pm.svg +7 -0
- data/app/assets/images/flags/4x3/pn.svg +62 -0
- data/app/assets/images/flags/4x3/pr.svg +13 -0
- data/app/assets/images/flags/4x3/ps.svg +15 -0
- data/app/assets/images/flags/4x3/pt.svg +57 -0
- data/app/assets/images/flags/4x3/pw.svg +11 -0
- data/app/assets/images/flags/4x3/py.svg +157 -0
- data/app/assets/images/flags/4x3/qa.svg +4 -0
- data/app/assets/images/flags/4x3/re.svg +7 -0
- data/app/assets/images/flags/4x3/ro.svg +7 -0
- data/app/assets/images/flags/4x3/rs.svg +292 -0
- data/app/assets/images/flags/4x3/ru.svg +7 -0
- data/app/assets/images/flags/4x3/rw.svg +13 -0
- data/app/assets/images/flags/4x3/sa.svg +26 -0
- data/app/assets/images/flags/4x3/sb.svg +13 -0
- data/app/assets/images/flags/4x3/sc.svg +14 -0
- data/app/assets/images/flags/4x3/sd.svg +13 -0
- data/app/assets/images/flags/4x3/se.svg +5 -0
- data/app/assets/images/flags/4x3/sg.svg +13 -0
- data/app/assets/images/flags/4x3/sh.svg +74 -0
- data/app/assets/images/flags/4x3/si.svg +18 -0
- data/app/assets/images/flags/4x3/sj.svg +7 -0
- data/app/assets/images/flags/4x3/sk.svg +9 -0
- data/app/assets/images/flags/4x3/sl.svg +7 -0
- data/app/assets/images/flags/4x3/sm.svg +91 -0
- data/app/assets/images/flags/4x3/sn.svg +8 -0
- data/app/assets/images/flags/4x3/so.svg +11 -0
- data/app/assets/images/flags/4x3/sr.svg +6 -0
- data/app/assets/images/flags/4x3/ss.svg +8 -0
- data/app/assets/images/flags/4x3/st.svg +16 -0
- data/app/assets/images/flags/4x3/sv.svg +594 -0
- data/app/assets/images/flags/4x3/sx.svg +56 -0
- data/app/assets/images/flags/4x3/sy.svg +6 -0
- data/app/assets/images/flags/4x3/sz.svg +45 -0
- data/app/assets/images/flags/4x3/tc.svg +67 -0
- data/app/assets/images/flags/4x3/td.svg +7 -0
- data/app/assets/images/flags/4x3/tf.svg +15 -0
- data/app/assets/images/flags/4x3/tg.svg +14 -0
- data/app/assets/images/flags/4x3/th.svg +7 -0
- data/app/assets/images/flags/4x3/tj.svg +22 -0
- data/app/assets/images/flags/4x3/tk.svg +5 -0
- data/app/assets/images/flags/4x3/tl.svg +13 -0
- data/app/assets/images/flags/4x3/tm.svg +206 -0
- data/app/assets/images/flags/4x3/tn.svg +13 -0
- data/app/assets/images/flags/4x3/to.svg +10 -0
- data/app/assets/images/flags/4x3/tr.svg +8 -0
- data/app/assets/images/flags/4x3/tt.svg +5 -0
- data/app/assets/images/flags/4x3/tv.svg +16 -0
- data/app/assets/images/flags/4x3/tw.svg +14 -0
- data/app/assets/images/flags/4x3/tz.svg +13 -0
- data/app/assets/images/flags/4x3/ua.svg +6 -0
- data/app/assets/images/flags/4x3/ug.svg +30 -0
- data/app/assets/images/flags/4x3/um.svg +15 -0
- data/app/assets/images/flags/4x3/un.svg +16 -0
- data/app/assets/images/flags/4x3/us.svg +10 -0
- data/app/assets/images/flags/4x3/uy.svg +28 -0
- data/app/assets/images/flags/4x3/uz.svg +30 -0
- data/app/assets/images/flags/4x3/va.svg +479 -0
- data/app/assets/images/flags/4x3/vc.svg +8 -0
- data/app/assets/images/flags/4x3/ve.svg +26 -0
- data/app/assets/images/flags/4x3/vg.svg +127 -0
- data/app/assets/images/flags/4x3/vi.svg +28 -0
- data/app/assets/images/flags/4x3/vn.svg +11 -0
- data/app/assets/images/flags/4x3/vu.svg +18 -0
- data/app/assets/images/flags/4x3/wf.svg +7 -0
- data/app/assets/images/flags/4x3/ws.svg +7 -0
- data/app/assets/images/flags/4x3/xk.svg +16 -0
- data/app/assets/images/flags/4x3/ye.svg +7 -0
- data/app/assets/images/flags/4x3/yt.svg +7 -0
- data/app/assets/images/flags/4x3/za.svg +17 -0
- data/app/assets/images/flags/4x3/zm.svg +27 -0
- data/app/assets/images/flags/4x3/zw.svg +21 -0
- data/app/assets/images/full_circle-radio.svg +1 -0
- data/app/assets/images/full_circle.svg +1 -0
- data/app/assets/images/garbage.svg +1 -0
- data/app/assets/images/garbage_2.svg +1 -0
- data/app/assets/images/global.svg +1 -0
- data/app/assets/images/homepage/products.jpg +0 -0
- data/app/assets/images/image.svg +4 -0
- data/app/assets/images/info.svg +7 -0
- data/app/assets/images/instagram.svg +1 -0
- data/app/assets/images/logo-harpiya.png +0 -0
- data/app/assets/images/logo.png +0 -0
- data/app/assets/images/logo.svg +1 -0
- data/app/assets/images/logo/harpiya_50.png +0 -0
- data/app/assets/images/logo@2x.png +0 -0
- data/app/assets/images/logo@3x.png +0 -0
- data/app/assets/images/magnifying-glass.svg +1 -0
- data/app/assets/images/minus.svg +1 -0
- data/app/assets/images/noimage/plp.png +0 -0
- data/app/assets/images/noimage/plp.svg +23 -0
- data/app/assets/images/pagination-arrow-right.svg +5 -0
- data/app/assets/images/pagination-double-arrow-right.svg +8 -0
- data/app/assets/images/person.svg +1 -0
- data/app/assets/images/picture-zoom.svg +31 -0
- data/app/assets/images/plus.svg +1 -0
- data/app/assets/images/radio-button.svg +1 -0
- data/app/assets/images/search-no-results.svg +1 -0
- data/app/assets/images/search.svg +1 -0
- data/app/assets/images/spark-logo@3x.png +0 -0
- data/app/assets/images/twitter.svg +1 -0
- data/app/assets/images/vimeo.svg +1 -0
- data/app/assets/javascripts/harpiya/frontend.js +84 -0
- data/app/assets/javascripts/harpiya/frontend/account.js +12 -0
- data/app/assets/javascripts/harpiya/frontend/api_tokens.js +20 -0
- data/app/assets/javascripts/harpiya/frontend/carousel-noconflict.js +3 -0
- data/app/assets/javascripts/harpiya/frontend/cart.js +151 -0
- data/app/assets/javascripts/harpiya/frontend/checkout.js +61 -0
- data/app/assets/javascripts/harpiya/frontend/checkout/address.js +155 -0
- data/app/assets/javascripts/harpiya/frontend/checkout/address_book.js +54 -0
- data/app/assets/javascripts/harpiya/frontend/checkout/payment.js +115 -0
- data/app/assets/javascripts/harpiya/frontend/checkout/shipment.js +72 -0
- data/app/assets/javascripts/harpiya/frontend/components-bootstrap/.gitkeep +0 -0
- data/app/assets/javascripts/harpiya/frontend/components-custom/.gitkeep +0 -0
- data/app/assets/javascripts/harpiya/frontend/coupon_manager.js +93 -0
- data/app/assets/javascripts/harpiya/frontend/currency.js +45 -0
- data/app/assets/javascripts/harpiya/frontend/locale.es6 +13 -0
- data/app/assets/javascripts/harpiya/frontend/login.js +5 -0
- data/app/assets/javascripts/harpiya/frontend/main_nav_bar.js +86 -0
- data/app/assets/javascripts/harpiya/frontend/turbolinks_scroll_fix.js +55 -0
- data/app/assets/javascripts/harpiya/frontend/viewport.js +7 -0
- data/app/assets/javascripts/harpiya/frontend/views/harpiya/home/product_carousels.js +41 -0
- data/app/assets/javascripts/harpiya/frontend/views/harpiya/layouts/harpiya_application.js +65 -0
- data/app/assets/javascripts/harpiya/frontend/views/harpiya/product/related.js +30 -0
- data/app/assets/javascripts/harpiya/frontend/views/harpiya/products/cart_form.js +337 -0
- data/app/assets/javascripts/harpiya/frontend/views/harpiya/products/description.js +8 -0
- data/app/assets/javascripts/harpiya/frontend/views/harpiya/products/index.js +102 -0
- data/app/assets/javascripts/harpiya/frontend/views/harpiya/products/modal_carousel.js +54 -0
- data/app/assets/javascripts/harpiya/frontend/views/harpiya/products/price_filters.es6 +46 -0
- data/app/assets/javascripts/harpiya/frontend/views/harpiya/shared/carousel.js +129 -0
- data/app/assets/javascripts/harpiya/frontend/views/harpiya/shared/carousel/single.js +139 -0
- data/app/assets/javascripts/harpiya/frontend/views/harpiya/shared/carousel/swipes.js +53 -0
- data/app/assets/javascripts/harpiya/frontend/views/harpiya/shared/carousel/thumbnails.js +177 -0
- data/app/assets/javascripts/harpiya/frontend/views/harpiya/shared/delete_address_popup.js +27 -0
- data/app/assets/javascripts/harpiya/frontend/views/harpiya/shared/mobile_navigation.js +122 -0
- data/app/assets/javascripts/harpiya/frontend/views/harpiya/shared/nav_bar.js +25 -0
- data/app/assets/javascripts/harpiya/frontend/views/harpiya/shared/product_added_modal.js +35 -0
- data/app/assets/javascripts/harpiya/frontend/views/harpiya/shared/quantity_select.js +58 -0
- data/app/assets/javascripts/harpiya/frontend/views/harpiya/shared/variant_select.js +93 -0
- data/app/assets/javascripts/harpiya/lazysizes.config.js +8 -0
- data/app/assets/stylesheets/harpiya/frontend.css +5 -0
- data/app/assets/stylesheets/harpiya/frontend/application.scss +58 -0
- data/app/assets/stylesheets/harpiya/frontend/bootstrap-patches.scss +11 -0
- data/app/assets/stylesheets/harpiya/frontend/components-bootstrap/.gitkeep +0 -0
- data/app/assets/stylesheets/harpiya/frontend/components-bootstrap/alert.scss +3 -0
- data/app/assets/stylesheets/harpiya/frontend/components-bootstrap/button.scss +16 -0
- data/app/assets/stylesheets/harpiya/frontend/components-bootstrap/carousel.scss +89 -0
- data/app/assets/stylesheets/harpiya/frontend/components-bootstrap/modal.scss +7 -0
- data/app/assets/stylesheets/harpiya/frontend/components-custom/.gitkeep +0 -0
- data/app/assets/stylesheets/harpiya/frontend/components-custom/headers.scss +28 -0
- data/app/assets/stylesheets/harpiya/frontend/components-custom/inputs.scss +345 -0
- data/app/assets/stylesheets/harpiya/frontend/flags/_flag-icon-base.scss +23 -0
- data/app/assets/stylesheets/harpiya/frontend/flags/_flag-icon-list.scss +265 -0
- data/app/assets/stylesheets/harpiya/frontend/flags/_variables.scss +2 -0
- data/app/assets/stylesheets/harpiya/frontend/flags/flag-icon.scss +3 -0
- data/app/assets/stylesheets/harpiya/frontend/fonts.scss +137 -0
- data/app/assets/stylesheets/harpiya/frontend/functions.scss +105 -0
- data/app/assets/stylesheets/harpiya/frontend/helpers/harpiya/frontend_helper.scss +73 -0
- data/app/assets/stylesheets/harpiya/frontend/margins.scss +53 -0
- data/app/assets/stylesheets/harpiya/frontend/mixins.scss +20 -0
- data/app/assets/stylesheets/harpiya/frontend/variables/.gitkeep +0 -0
- data/app/assets/stylesheets/harpiya/frontend/variables/bootstrap-overrides.scss +40 -0
- data/app/assets/stylesheets/harpiya/frontend/variables/helper-variables.scss +11 -0
- data/app/assets/stylesheets/harpiya/frontend/variables/variables.scss +74 -0
- data/app/assets/stylesheets/harpiya/frontend/views/harpiya/.gitkeep +0 -0
- data/app/assets/stylesheets/harpiya/frontend/views/harpiya/checkout/confirm.scss +266 -0
- data/app/assets/stylesheets/harpiya/frontend/views/harpiya/checkout/delivery.scss +6 -0
- data/app/assets/stylesheets/harpiya/frontend/views/harpiya/checkout/edit.scss +533 -0
- data/app/assets/stylesheets/harpiya/frontend/views/harpiya/checkout/payment.scss +98 -0
- data/app/assets/stylesheets/harpiya/frontend/views/harpiya/checkout/registration.scss +25 -0
- data/app/assets/stylesheets/harpiya/frontend/views/harpiya/cms_sections/_index.scss +1 -0
- data/app/assets/stylesheets/harpiya/frontend/views/harpiya/cms_sections/product_buy_bar.scss +20 -0
- data/app/assets/stylesheets/harpiya/frontend/views/harpiya/errors/not_found.scss +3 -0
- data/app/assets/stylesheets/harpiya/frontend/views/harpiya/home/index.scss +280 -0
- data/app/assets/stylesheets/harpiya/frontend/views/harpiya/icon.scss +13 -0
- data/app/assets/stylesheets/harpiya/frontend/views/harpiya/layouts/harpiya_application.scss +59 -0
- data/app/assets/stylesheets/harpiya/frontend/views/harpiya/orders/edit.scss +477 -0
- data/app/assets/stylesheets/harpiya/frontend/views/harpiya/orders/show.scss +277 -0
- data/app/assets/stylesheets/harpiya/frontend/views/harpiya/products/cart_form.scss +270 -0
- data/app/assets/stylesheets/harpiya/frontend/views/harpiya/products/gallery_modal.scss +7 -0
- data/app/assets/stylesheets/harpiya/frontend/views/harpiya/products/index.scss +346 -0
- data/app/assets/stylesheets/harpiya/frontend/views/harpiya/products/show.scss +182 -0
- data/app/assets/stylesheets/harpiya/frontend/views/harpiya/shared/_color_select.scss +33 -0
- data/app/assets/stylesheets/harpiya/frontend/views/harpiya/shared/_images.scss +9 -0
- data/app/assets/stylesheets/harpiya/frontend/views/harpiya/shared/carousel/single.scss +146 -0
- data/app/assets/stylesheets/harpiya/frontend/views/harpiya/shared/carousel/thumbnails.scss +89 -0
- data/app/assets/stylesheets/harpiya/frontend/views/harpiya/shared/cart.scss +60 -0
- data/app/assets/stylesheets/harpiya/frontend/views/harpiya/shared/category_nav_bar.scss +86 -0
- data/app/assets/stylesheets/harpiya/frontend/views/harpiya/shared/change_store.scss +7 -0
- data/app/assets/stylesheets/harpiya/frontend/views/harpiya/shared/delete_address_popup.scss +118 -0
- data/app/assets/stylesheets/harpiya/frontend/views/harpiya/shared/dropdown.scss +3 -0
- data/app/assets/stylesheets/harpiya/frontend/views/harpiya/shared/footer.scss +60 -0
- data/app/assets/stylesheets/harpiya/frontend/views/harpiya/shared/header.scss +82 -0
- data/app/assets/stylesheets/harpiya/frontend/views/harpiya/shared/login.scss +30 -0
- data/app/assets/stylesheets/harpiya/frontend/views/harpiya/shared/main_nav_bar.scss +116 -0
- data/app/assets/stylesheets/harpiya/frontend/views/harpiya/shared/mobile_navigation.scss +118 -0
- data/app/assets/stylesheets/harpiya/frontend/views/harpiya/shared/nav_bar.scss +95 -0
- data/app/assets/stylesheets/harpiya/frontend/views/harpiya/shared/no_product_available.scss +139 -0
- data/app/assets/stylesheets/harpiya/frontend/views/harpiya/shared/order_details.scss +37 -0
- data/app/assets/stylesheets/harpiya/frontend/views/harpiya/shared/product.scss +45 -0
- data/app/assets/stylesheets/harpiya/frontend/views/harpiya/shared/product_added_modal.scss +61 -0
- data/app/assets/stylesheets/harpiya/frontend/views/harpiya/shared/quantity_select.scss +54 -0
- data/app/assets/stylesheets/harpiya/frontend/views/harpiya/shared/registration.scss +7 -0
- data/app/assets/stylesheets/harpiya/frontend/views/harpiya/shared/search_form.scss +12 -0
- data/app/assets/stylesheets/harpiya/frontend/views/harpiya/taxons/show.scss +47 -0
- data/app/assets/stylesheets/harpiya/frontend/views/harpiya/user_passwords/user_passwords.scss +12 -0
- data/app/assets/stylesheets/harpiya/frontend/views/harpiya/user_sessions/new.scss +3 -0
- data/app/assets/stylesheets/harpiya/frontend/views/harpiya/users/show.scss +319 -0
- data/app/controllers/concerns/harpiya/checkout/address_book.rb +55 -0
- data/app/controllers/concerns/harpiya/locale_urls.rb +21 -0
- data/app/controllers/harpiya/addresses_controller.rb +64 -0
- data/app/controllers/harpiya/checkout_controller.rb +210 -0
- data/app/controllers/harpiya/cms_pages_controller.rb +29 -0
- data/app/controllers/harpiya/content_controller.rb +18 -0
- data/app/controllers/harpiya/currency_controller.rb +17 -0
- data/app/controllers/harpiya/home_controller.rb +46 -0
- data/app/controllers/harpiya/locale_controller.rb +37 -0
- data/app/controllers/harpiya/orders_controller.rb +91 -0
- data/app/controllers/harpiya/products_controller.rb +125 -0
- data/app/controllers/harpiya/store_controller.rb +54 -0
- data/app/controllers/harpiya/taxons_controller.rb +72 -0
- data/app/helpers/harpiya/addresses_helper.rb +89 -0
- data/app/helpers/harpiya/cache_helper.rb +7 -0
- data/app/helpers/harpiya/cms_pages_helper.rb +23 -0
- data/app/helpers/harpiya/frontend_helper.rb +398 -0
- data/app/helpers/harpiya/navigation_helper.rb +112 -0
- data/app/helpers/harpiya/orders_helper.rb +7 -0
- data/app/helpers/harpiya/products_filters_helper.rb +168 -0
- data/app/helpers/harpiya/store_helper.rb +41 -0
- data/app/helpers/harpiya/structured_data_helper.rb +50 -0
- data/app/helpers/harpiya/taxons_helper.rb +23 -0
- data/app/models/harpiya/frontend_configuration.rb +10 -0
- data/app/views/harpiya/address/_form.html.erb +90 -0
- data/app/views/harpiya/addresses/_form.html.erb +32 -0
- data/app/views/harpiya/addresses/destroy.js.erb +2 -0
- data/app/views/harpiya/addresses/edit.html.erb +18 -0
- data/app/views/harpiya/addresses/new.html.erb +17 -0
- data/app/views/harpiya/checkout/_address.html.erb +71 -0
- data/app/views/harpiya/checkout/_confirm.html.erb +6 -0
- data/app/views/harpiya/checkout/_credit_card.html.erb +9 -0
- data/app/views/harpiya/checkout/_delivery.html.erb +47 -0
- data/app/views/harpiya/checkout/_delivery_informations.html.erb +51 -0
- data/app/views/harpiya/checkout/_payment.html.erb +37 -0
- data/app/views/harpiya/checkout/_payment_sources.html.erb +17 -0
- data/app/views/harpiya/checkout/_summary.html.erb +83 -0
- data/app/views/harpiya/checkout/edit.html.erb +62 -0
- data/app/views/harpiya/checkout/payment/_check.html.erb +0 -0
- data/app/views/harpiya/checkout/payment/_gateway.html.erb +30 -0
- data/app/views/harpiya/checkout/payment/_storecredit.html.erb +17 -0
- data/app/views/harpiya/checkout/registration.html.erb +30 -0
- data/app/views/harpiya/cms_pages/show.html.erb +16 -0
- data/app/views/harpiya/content/cvv.html.erb +13 -0
- data/app/views/harpiya/content/test.html.erb +1 -0
- data/app/views/harpiya/errors/not_found.html.erb +7 -0
- data/app/views/harpiya/home/index.html.erb +22 -0
- data/app/views/harpiya/layouts/checkout.html.erb +28 -0
- data/app/views/harpiya/layouts/harpiya_application.html.erb +26 -0
- data/app/views/harpiya/locale/index.html.erb +1 -0
- data/app/views/harpiya/orders/_adjustment_row.html.erb +8 -0
- data/app/views/harpiya/orders/_adjustments.html.erb +29 -0
- data/app/views/harpiya/orders/_coupon_code.html.erb +23 -0
- data/app/views/harpiya/orders/_form.html.erb +27 -0
- data/app/views/harpiya/orders/_line_item.html.erb +27 -0
- data/app/views/harpiya/orders/_line_item_data.html.erb +31 -0
- data/app/views/harpiya/orders/edit.html.erb +105 -0
- data/app/views/harpiya/orders/show.html.erb +19 -0
- data/app/views/harpiya/products/_cart_form.html.erb +83 -0
- data/app/views/harpiya/products/_cart_form_availability_templates.html.erb +10 -0
- data/app/views/harpiya/products/_color_option_type.html.erb +36 -0
- data/app/views/harpiya/products/_description.html.erb +25 -0
- data/app/views/harpiya/products/_filter_and_sort_mobile_buttons.html.erb +16 -0
- data/app/views/harpiya/products/_filters_desktop.html.erb +98 -0
- data/app/views/harpiya/products/_filters_mobile.html.erb +94 -0
- data/app/views/harpiya/products/_gallery.html.erb +25 -0
- data/app/views/harpiya/products/_gallery_modal.html.erb +42 -0
- data/app/views/harpiya/products/_no_results.html.erb +14 -0
- data/app/views/harpiya/products/_no_results_with_filters.html.erb +13 -0
- data/app/views/harpiya/products/_option_type.html.erb +30 -0
- data/app/views/harpiya/products/_product.html.erb +20 -0
- data/app/views/harpiya/products/_promotions.html.erb +29 -0
- data/app/views/harpiya/products/_properties.html.erb +13 -0
- data/app/views/harpiya/products/_sort_desktop.html.erb +36 -0
- data/app/views/harpiya/products/_sort_mobile.html.erb +59 -0
- data/app/views/harpiya/products/_taxons.html.erb +9 -0
- data/app/views/harpiya/products/_thumbnails.html.erb +19 -0
- data/app/views/harpiya/products/index.html.erb +48 -0
- data/app/views/harpiya/products/related.html.erb +14 -0
- data/app/views/harpiya/products/show.html.erb +51 -0
- data/app/views/harpiya/shared/_address.html.erb +28 -0
- data/app/views/harpiya/shared/_breadcrumbs.html.erb +23 -0
- data/app/views/harpiya/shared/_carousel_4_products.html.erb +93 -0
- data/app/views/harpiya/shared/_cart.html.erb +9 -0
- data/app/views/harpiya/shared/_checkout_header.html.erb +29 -0
- data/app/views/harpiya/shared/_color_select.html.erb +9 -0
- data/app/views/harpiya/shared/_copyright.html.erb +18 -0
- data/app/views/harpiya/shared/_currency_dropdown.html.erb +13 -0
- data/app/views/harpiya/shared/_delete_address_popup.html.erb +25 -0
- data/app/views/harpiya/shared/_error_messages.html.erb +10 -0
- data/app/views/harpiya/shared/_flashes.html.erb +9 -0
- data/app/views/harpiya/shared/_footer.html.erb +85 -0
- data/app/views/harpiya/shared/_head.html.erb +13 -0
- data/app/views/harpiya/shared/_header.html.erb +28 -0
- data/app/views/harpiya/shared/_internationalization_options.html.erb +31 -0
- data/app/views/harpiya/shared/_line_item.html.erb +34 -0
- data/app/views/harpiya/shared/_link_to_account.html.erb +8 -0
- data/app/views/harpiya/shared/_link_to_cart.html.erb +4 -0
- data/app/views/harpiya/shared/_locale_and_currency.html.erb +6 -0
- data/app/views/harpiya/shared/_locale_dropdown.html.erb +13 -0
- data/app/views/harpiya/shared/_login.html.erb +36 -0
- data/app/views/harpiya/shared/_main_nav_bar.html.erb +74 -0
- data/app/views/harpiya/shared/_mobile_internationalization_options.html.erb +37 -0
- data/app/views/harpiya/shared/_mobile_navigation.html.erb +58 -0
- data/app/views/harpiya/shared/_nav_bar.html.erb +35 -0
- data/app/views/harpiya/shared/_no_product_available.html.erb +23 -0
- data/app/views/harpiya/shared/_option_values.html.erb +5 -0
- data/app/views/harpiya/shared/_order_details.html.erb +127 -0
- data/app/views/harpiya/shared/_payment.html.erb +17 -0
- data/app/views/harpiya/shared/_payment_sources.html.erb +8 -0
- data/app/views/harpiya/shared/_product.html.erb +12 -0
- data/app/views/harpiya/shared/_product_added_modal.html.erb +66 -0
- data/app/views/harpiya/shared/_products.html.erb +31 -0
- data/app/views/harpiya/shared/_properties.html.erb +4 -0
- data/app/views/harpiya/shared/_quantity_select.html.erb +6 -0
- data/app/views/harpiya/shared/_registration.html.erb +4 -0
- data/app/views/harpiya/shared/_search.html.erb +15 -0
- data/app/views/harpiya/shared/_shipment_tracking.html.erb +10 -0
- data/app/views/harpiya/shared/_sidebar.html.erb +3 -0
- data/app/views/harpiya/shared/_taxonomies.html.erb +16 -0
- data/app/views/harpiya/shared/_translations.html.erb +11 -0
- data/app/views/harpiya/shared/_user_form.html.erb +12 -0
- data/app/views/harpiya/shared/carousel/_single.html.erb +78 -0
- data/app/views/harpiya/shared/carousel/_thumbnails.html.erb +64 -0
- data/app/views/harpiya/shared/cms/pages/_edit_mode.html.erb +13 -0
- data/app/views/harpiya/shared/cms/sections/_featured_article.html.erb +27 -0
- data/app/views/harpiya/shared/cms/sections/_hero_image.html.erb +48 -0
- data/app/views/harpiya/shared/cms/sections/_image_gallery.html.erb +171 -0
- data/app/views/harpiya/shared/cms/sections/_product_carousel.html.erb +5 -0
- data/app/views/harpiya/shared/cms/sections/_rich_text_content.html.erb +3 -0
- data/app/views/harpiya/shared/cms/sections/_side_by_side_images.html.erb +118 -0
- data/app/views/harpiya/taxons/_header.html.erb +19 -0
- data/app/views/harpiya/taxons/_subcategories.html.erb +29 -0
- data/app/views/harpiya/taxons/product_carousel.html.erb +5 -0
- data/app/views/harpiya/taxons/show.html.erb +10 -0
- data/app/views/harpiya/users/_address.html.erb +17 -0
- data/app/views/harpiya/users/_address_controls.html.erb +10 -0
- data/app/views/harpiya/users/edit.html.erb +11 -0
- data/app/views/harpiya/users/show.html.erb +81 -0
- data/app/views/kaminari/twitter-bootstrap-4/_first_page.html.erb +13 -0
- data/app/views/kaminari/twitter-bootstrap-4/_gap.html.erb +12 -0
- data/app/views/kaminari/twitter-bootstrap-4/_last_page.html.erb +13 -0
- data/app/views/kaminari/twitter-bootstrap-4/_next_page.html.erb +13 -0
- data/app/views/kaminari/twitter-bootstrap-4/_page.html.erb +18 -0
- data/app/views/kaminari/twitter-bootstrap-4/_paginator.html.erb +25 -0
- data/app/views/kaminari/twitter-bootstrap-4/_prev_page.html.erb +13 -0
- data/config/initializers/assets.rb +4 -0
- data/config/initializers/canonical_rails.rb +14 -0
- data/config/routes.rb +39 -0
- data/harpiya_frontend.gemspec +43 -0
- data/lib/generators/harpiya/frontend/copy_storefront/copy_storefront_generator.rb +19 -0
- data/lib/generators/harpiya/frontend/install/install_generator.rb +34 -0
- data/lib/generators/harpiya/frontend/install/templates/app/assets/config/manifest.js +2 -0
- data/lib/generators/harpiya/frontend/install/templates/vendor/assets/javascripts/harpiya/frontend/all.js +8 -0
- data/lib/generators/harpiya/frontend/install/templates/vendor/assets/stylesheets/harpiya/frontend/all.css +9 -0
- data/lib/harpiya/frontend.rb +16 -0
- data/lib/harpiya/frontend/engine.rb +22 -0
- data/lib/harpiya/frontend/middleware/seo_assist.rb +50 -0
- data/lib/harpiya_frontend.rb +1 -0
- data/script/rails +9 -0
- data/spec/fixtures/files/store_favicon.ico +0 -0
- data/spec/fixtures/thinking-cat.jpg +0 -0
- data/vendor/assets/javascripts/accounting.min.js +4 -0
- data/vendor/assets/javascripts/lazysizes.min.js +2 -0
- metadata +852 -0
@@ -0,0 +1,17 @@
|
|
1
|
+
<%= render 'harpiya/shared/error_messages', target: @address %>
|
2
|
+
<div class="col-lg-6 offset-lg-3">
|
3
|
+
<h3 class="harpiya-header harpiya-mb-large harpiya-mt-large"><%= Harpiya.t(:new_address, scope: :address_book) %></h3>
|
4
|
+
<%= form_for @address, html: { id: 'checkout_form_address' } do |f| %>
|
5
|
+
<div class="form-group checkout-content-inner-field mb-5 has-float-label">
|
6
|
+
<%= f.text_field :label, class: 'harpiya-flat-input', placeholder: Harpiya.t(:address_name_placeholder, scope: :address_book) %>
|
7
|
+
<%= f.label :address_name, Harpiya.t(:label, scope: :address_book) %>
|
8
|
+
</div>
|
9
|
+
<%= render 'harpiya/addresses/form',
|
10
|
+
address_name: 'address',
|
11
|
+
address_form: f,
|
12
|
+
address_type: 'shipping',
|
13
|
+
address: @address %>
|
14
|
+
|
15
|
+
<%= f.submit t(:save, scope: :address_book), class: 'btn btn-primary btn-block harpiya-btn mb-5' %>
|
16
|
+
<% end %>
|
17
|
+
</div>
|
@@ -0,0 +1,71 @@
|
|
1
|
+
<% if !try_harpiya_current_user || try_harpiya_current_user.email.blank? %>
|
2
|
+
<div class="row">
|
3
|
+
<div class="col-12 mb-4">
|
4
|
+
<div class="form-group checkout-content-inner-field has-float-label">
|
5
|
+
<%= form.email_field :email, class: 'required harpiya-flat-input', required: true, placeholder: Harpiya.t(:email) %>
|
6
|
+
<%= form.label :email, class: 'text-uppercase' %>
|
7
|
+
</div>
|
8
|
+
</div>
|
9
|
+
</div>
|
10
|
+
<% end %>
|
11
|
+
|
12
|
+
<div class="row">
|
13
|
+
<% ['billing', 'shipping'].each do |address_type|
|
14
|
+
address_name = "#{address_type[0...4]}_address" %>
|
15
|
+
<div class="col-12 mb-4" data-hook="<%= address_type %>_fieldset_wrapper">
|
16
|
+
<div id="<%= address_type %>" data-hook>
|
17
|
+
<h5 class="text-uppercase checkout-content-header">
|
18
|
+
<%= Harpiya.t(address_type + '_address') %>
|
19
|
+
</h5>
|
20
|
+
<% if address_type == 'shipping' %>
|
21
|
+
<div class="harpiya-checkbox-container checkout-content-billing-checkbox" data-hook="use_billing">
|
22
|
+
<div class="harpiya-checkbox">
|
23
|
+
<%= check_box_tag 'order[use_billing]', '1', @order.shipping_eq_billing_address?, { class: 'form-check-input'} %>
|
24
|
+
<%= label_tag :order_use_billing, nil, id: 'use_billing' %>
|
25
|
+
</div>
|
26
|
+
<%= label_tag :order_use_billing, Harpiya.t(:use_billing_address), class: 'harpiya-checkbox-label' %>
|
27
|
+
</div>
|
28
|
+
<% end %>
|
29
|
+
<% if user_available_addresses.present? %>
|
30
|
+
<div class="select_address mb-5">
|
31
|
+
<div class="form-group col">
|
32
|
+
<% user_available_addresses.each_with_index do |address, idx| %>
|
33
|
+
<div class="row mb-3" id="<%= [address_type, dom_id(address)].join('_') %>">
|
34
|
+
<label class="form-check-label harpiya-radio-label col-8">
|
35
|
+
<%= form.radio_button "#{address_name}_id", address.id, checked: (address.id == try_harpiya_current_user["#{address_name}_id"] || idx == 0) %>
|
36
|
+
<span class="harpiya-radio-label-custom-input"></span>
|
37
|
+
<%= render "harpiya/users/address", address: address %>
|
38
|
+
</label>
|
39
|
+
<%= render "harpiya/users/address_controls", address: address %>
|
40
|
+
</div>
|
41
|
+
<% end %>
|
42
|
+
<div class="row mb-3">
|
43
|
+
<label class="form-check-label harpiya-radio-label col">
|
44
|
+
<%= form.radio_button "#{address_name}_id", 0, class: 'form-check-input' %> <h4><%= Harpiya.t('address_book.other_address') %></h4>
|
45
|
+
<span class="harpiya-radio-label-custom-input"></span>
|
46
|
+
</label>
|
47
|
+
</div>
|
48
|
+
</div>
|
49
|
+
</div>
|
50
|
+
<% end %>
|
51
|
+
<%= form.fields_for address_name do |address_form| %>
|
52
|
+
<div class="inner checkout-content-inner" data-hook='<%= "#{address_type}_inner" %>'>
|
53
|
+
<%= render partial: 'harpiya/addresses/form', locals: {
|
54
|
+
address_name: address_name,
|
55
|
+
address_form: address_form,
|
56
|
+
address_type: address_type,
|
57
|
+
address: Harpiya::Address.new(country: current_store.default_country),
|
58
|
+
form: form
|
59
|
+
} %>
|
60
|
+
</div>
|
61
|
+
<% end %>
|
62
|
+
</div>
|
63
|
+
</div>
|
64
|
+
<% end %>
|
65
|
+
|
66
|
+
<%= hidden_field_tag 'save_user_address', true, data: { hook: "save_user_address" } %>
|
67
|
+
</div>
|
68
|
+
|
69
|
+
<div id="delete-address-popup" class="delete-address-popup-dropdown hide-on-esc">
|
70
|
+
<%= render 'harpiya/shared/delete_address_popup' %>
|
71
|
+
</div>
|
@@ -0,0 +1,9 @@
|
|
1
|
+
<div id="<%= dom_id(card,'harpiya') %>" class="payment-sources-list-item">
|
2
|
+
<label class="form-check-label harpiya-radio-label">
|
3
|
+
<%= radio_button_tag "order[existing_card]", card.id, (card == @payment_sources.first), { class: "existing-cc-radio" } %>
|
4
|
+
<span class="harpiya-radio-label-custom-input"></span>
|
5
|
+
<%= credit_card_icon(card.cc_type) %>
|
6
|
+
<span>****<%= card.last_digits %>, </span>
|
7
|
+
<span><%= card.name %></span>
|
8
|
+
</label>
|
9
|
+
</div>
|
@@ -0,0 +1,47 @@
|
|
1
|
+
<div id="shipping-method" data-hook>
|
2
|
+
<div data-hook="shipping_method_inner">
|
3
|
+
<div id="methods">
|
4
|
+
<%= form.fields_for :shipments do |ship_form| %>
|
5
|
+
<div class="shipment">
|
6
|
+
<h4 class="text-uppercase checkout-content-header checkout-content-shipping-methods-header mb-1">
|
7
|
+
<%= Harpiya.t('checkout_page.delivery_method') %>
|
8
|
+
</h4>
|
9
|
+
<div id="shipToLocation" class="mb-4 text-uppercase">
|
10
|
+
<%= Harpiya.t(:ship_to) %>
|
11
|
+
<span class="text-muted"><%= @order.shipping_address.address1 %></span> -
|
12
|
+
<% if @order.shipping_address.zipcode.present? %> <span class="text-muted"><%= @order.shipping_address.zipcode %></span> - <% end %>
|
13
|
+
<span class="text-muted"><%= @order.shipping_address.country_iso %></span>
|
14
|
+
</div>
|
15
|
+
|
16
|
+
<ul class="checkout-content-shipping-methods-list">
|
17
|
+
<% ship_form.object.shipping_rates.each do |rate| %>
|
18
|
+
<li class="shipping-method">
|
19
|
+
<label class="harpiya-radio-label">
|
20
|
+
<%= ship_form.radio_button :selected_shipping_rate_id,
|
21
|
+
rate.id,
|
22
|
+
data: {
|
23
|
+
behavior: 'shipping-method-selector',
|
24
|
+
cost: rate.display_cost,
|
25
|
+
tax: rate.display_tax_amount
|
26
|
+
} %>
|
27
|
+
<span class="harpiya-radio-label-custom-input"></span>
|
28
|
+
<span class="rate-name"><%= rate.name %></span>
|
29
|
+
<p class="rate-cost"><%= rate.display_cost %></p>
|
30
|
+
</label>
|
31
|
+
</li>
|
32
|
+
<% end %>
|
33
|
+
</ul>
|
34
|
+
</div>
|
35
|
+
<% end %>
|
36
|
+
</div>
|
37
|
+
|
38
|
+
<% if Harpiya::Config[:shipping_instructions] %>
|
39
|
+
<div id="minstrs" data-hook>
|
40
|
+
<h4 class="h5">
|
41
|
+
<%= Harpiya.t(:shipping_instructions) %>
|
42
|
+
</h4>
|
43
|
+
<%= form.text_area :special_instructions, cols: 40, rows: 4, class: "form-control" %>
|
44
|
+
</div>
|
45
|
+
<% end %>
|
46
|
+
</div>
|
47
|
+
</div>
|
@@ -0,0 +1,51 @@
|
|
1
|
+
<div class="checkout-confirm-delivery-informations text-left mt-3 <%= class_name %>">
|
2
|
+
<div class="d-lg-none checkout-confirm-delivery-informations-header">
|
3
|
+
<%= Harpiya.t(:delivery_information) %>
|
4
|
+
</div>
|
5
|
+
<dl>
|
6
|
+
<% if order.has_step?("address") %>
|
7
|
+
<div data-hook="order-ship-address">
|
8
|
+
<dt class="text-uppercase">
|
9
|
+
<%= Harpiya.t(:shipping_address) %>
|
10
|
+
<%= checkout_edit_link %>
|
11
|
+
</dt>
|
12
|
+
<%= render 'harpiya/shared/address', address: order.ship_address %>
|
13
|
+
</div>
|
14
|
+
<div data-hook="order-bill-address">
|
15
|
+
<dt class="text-uppercase">
|
16
|
+
<%= Harpiya.t(:billing_address) %>
|
17
|
+
<%= checkout_edit_link %>
|
18
|
+
</dt>
|
19
|
+
<%= render 'harpiya/shared/address', address: order.bill_address %>
|
20
|
+
</div>
|
21
|
+
<% end %>
|
22
|
+
<% if order.has_step?("delivery") %>
|
23
|
+
<div data-hook="order-shipment">
|
24
|
+
<dt class="text-uppercase">
|
25
|
+
<%= Harpiya.t(:shipping) %>
|
26
|
+
<%= checkout_edit_link('delivery') %>
|
27
|
+
</dt>
|
28
|
+
<% @order.shipments.valid.each do |shipment| %>
|
29
|
+
<dd><%= shipment.shipping_method&.name %> </dd>
|
30
|
+
<% end %>
|
31
|
+
<%= render 'harpiya/shared/shipment_tracking', order: order if order.shipped? %>
|
32
|
+
</div>
|
33
|
+
<% end %>
|
34
|
+
<% if order.has_step?("payment") %>
|
35
|
+
<div data-hook="order-payment">
|
36
|
+
<dt class="text-uppercase">
|
37
|
+
<%= Harpiya.t(:payment) %>
|
38
|
+
<%= checkout_edit_link('payment') %>
|
39
|
+
</dt>
|
40
|
+
<dd>
|
41
|
+
<%= render collection: @order.payments.valid, partial: 'harpiya/shared/payment' %>
|
42
|
+
</dd>
|
43
|
+
<dd>
|
44
|
+
<% if @order.using_store_credit? %>
|
45
|
+
<%= button_tag Harpiya.t('store_credit.remove'), name: 'remove_store_credit', class: 'continue btn' %>
|
46
|
+
<% end %>
|
47
|
+
</dd>
|
48
|
+
</div>
|
49
|
+
<% end %>
|
50
|
+
</dl>
|
51
|
+
</div>
|
@@ -0,0 +1,37 @@
|
|
1
|
+
<div id="payment" data-hook>
|
2
|
+
<p class="payment-type checkout-content-header">
|
3
|
+
<%= Harpiya.t(:payment_type).upcase %>
|
4
|
+
</p>
|
5
|
+
|
6
|
+
<div data-hook="checkout_payment_step">
|
7
|
+
<%= render partial: 'harpiya/checkout/payment/storecredit' %>
|
8
|
+
|
9
|
+
<ul id="payment-method-fields" class="list-unstyled position-relative" data-hook>
|
10
|
+
<% checkout_available_payment_methods.each do |method| %>
|
11
|
+
<li class="radio">
|
12
|
+
<%= label_tag '', class: "form-check-label harpiya-radio-label payment-option", data: { type: method.id == @payment_sources&.first&.payment_method_id ? 'card' : nil } do %>
|
13
|
+
<%= radio_button_tag "order[payments_attributes][][payment_method_id]",
|
14
|
+
method.id,
|
15
|
+
method.id == @order.payments.checkout.last&.payment_method_id || method == checkout_available_payment_methods.first %>
|
16
|
+
<span class="harpiya-radio-label-custom-input"></span>
|
17
|
+
<%= Harpiya.t(method.name, scope: :payment_methods, default: method.name) %>
|
18
|
+
<% end %>
|
19
|
+
</li>
|
20
|
+
<% end %>
|
21
|
+
</ul>
|
22
|
+
|
23
|
+
<div class="payment-sources">
|
24
|
+
<%= render partial: 'payment_sources' if @payment_sources.present? %>
|
25
|
+
|
26
|
+
<ul id="payment-methods" class="list-unstyled position-relative mb-0 payment-sources-add-form" data-hook>
|
27
|
+
<% checkout_available_payment_methods.each do |method| %>
|
28
|
+
<li id="payment_method_<%= method.id %>" class="<%= 'last' if method == checkout_available_payment_methods.last %>" data-hook>
|
29
|
+
<fieldset>
|
30
|
+
<%= render partial: "harpiya/checkout/payment/#{method.method_type}", locals: { payment_method: method } %>
|
31
|
+
</fieldset>
|
32
|
+
</li>
|
33
|
+
<% end %>
|
34
|
+
</ul>
|
35
|
+
</div>
|
36
|
+
</div>
|
37
|
+
</div>
|
@@ -0,0 +1,17 @@
|
|
1
|
+
<div id="existing_cards" class="payment-sources-existing-cards" style="display:none;">
|
2
|
+
<%= radio_button_tag 'use_existing_card', 'yes', true, class: 'd-none' %>
|
3
|
+
<div class="form-group" data-hook="existing_cards">
|
4
|
+
<div class="d-flex flex-column payment-sources-list">
|
5
|
+
<% @payment_sources.each do |card| %>
|
6
|
+
<%= render partial: 'credit_card', locals: { card: card } %>
|
7
|
+
<% end %>
|
8
|
+
<div>
|
9
|
+
<label class="form-check-label harpiya-radio-label col-6 mb-2">
|
10
|
+
<%= radio_button_tag 'use_existing_card', 'no' %>
|
11
|
+
<span class="harpiya-radio-label-custom-input"></span>
|
12
|
+
<span><%= Harpiya.t(:add_new_credit_card) %></span>
|
13
|
+
</label>
|
14
|
+
</div>
|
15
|
+
</div>
|
16
|
+
</div>
|
17
|
+
</div>
|
@@ -0,0 +1,83 @@
|
|
1
|
+
<div class="checkout-content-summary">
|
2
|
+
<h3 class="text-uppercase text-center checkout-content-summary-header"><%= Harpiya.t(:order_summary) %></h3>
|
3
|
+
<div class="w-100 text-uppercase checkout-content-summary-table" data-hook="order_summary">
|
4
|
+
<div class="d-table-cell"><%= Harpiya.t(:subtotal) %>:</div>
|
5
|
+
<div class="d-table-cell text-right"><%= order.display_item_total.to_html %></div>
|
6
|
+
|
7
|
+
<% if order.line_item_adjustments.nonzero.exists? %>
|
8
|
+
<% order.line_item_adjustments.nonzero.promotion.eligible.group_by(&:label).each do |label, adjustments| %>
|
9
|
+
<div class="d-table-cell"><%= label %></div>
|
10
|
+
<div class="d-table-cell text-right"><%= Harpiya::Money.new(adjustments.sum(&:amount), currency: order.currency).to_html %></div>
|
11
|
+
<% end %>
|
12
|
+
<% end %>
|
13
|
+
|
14
|
+
<% order.all_adjustments.nonzero.tax.eligible.group_by(&:label).each do |label, adjustments| %>
|
15
|
+
<div class="d-table-cell"><%= label %></div>
|
16
|
+
<% tax_total = Harpiya::Money.new(adjustments.sum(&:amount), currency: order.currency) %>
|
17
|
+
<div class="d-table-cell text-right"
|
18
|
+
data-hook='tax-total'
|
19
|
+
data-currency='<%= Money::Currency.find(order.currency).symbol %>'
|
20
|
+
data-non-shipment-tax='<%= adjustments.reject{ |adj| adj.adjustable_type== 'Harpiya::Shipment'}.sum(&:amount) %>'
|
21
|
+
thousands-separator='<%= tax_total.thousands_separator %>'
|
22
|
+
decimal-mark='<%= tax_total.decimal_mark %>'
|
23
|
+
precision='<%= Money::Currency.find(order.currency).exponent %>'>
|
24
|
+
<%= tax_total.to_html %>
|
25
|
+
</div>
|
26
|
+
<% end %>
|
27
|
+
|
28
|
+
<% if order.passed_checkout_step?("address") && order.shipments.any? %>
|
29
|
+
<% if order.has_free_shipping? %>
|
30
|
+
<div class="d-table-cell"><%= Harpiya.t(:shipping) %>:</div>
|
31
|
+
<div class="d-table-cell text-right" data-hook="is-free-shipping"><%= Harpiya.t(:free) %></div>
|
32
|
+
<% else %>
|
33
|
+
<div class="d-table-cell"><%= Harpiya.t(:shipping) %>:</div>
|
34
|
+
<% shipping_total = Harpiya::Money.new(order.shipments.to_a.sum(&:cost), currency: order.currency) %>
|
35
|
+
<div class="d-table-cell text-right"
|
36
|
+
data-hook='shipping-total'
|
37
|
+
data-currency='<%= Money::Currency.find(order.currency).symbol %>'
|
38
|
+
thousands-separator='<%= shipping_total.thousands_separator %>'
|
39
|
+
decimal-mark='<%= shipping_total.decimal_mark %>'
|
40
|
+
precision='<%= Money::Currency.find(order.currency).exponent %>'>
|
41
|
+
<%= shipping_total.to_html %>
|
42
|
+
</div>
|
43
|
+
|
44
|
+
<% if order.shipment_adjustments.nonzero.exists? %>
|
45
|
+
<% order.shipment_adjustments.nonzero.promotion.eligible.group_by(&:label).each do |label, adjustments| %>
|
46
|
+
<div class="d-table-cell"><%= label %>:</div>
|
47
|
+
<div class="d-table-cell text-right">
|
48
|
+
<%= Harpiya::Money.new(adjustments.sum(&:amount), currency: order.currency).to_html %>
|
49
|
+
</div>
|
50
|
+
<% end %>
|
51
|
+
<% end %>
|
52
|
+
<% end %>
|
53
|
+
<% end %>
|
54
|
+
|
55
|
+
<% if order.adjustments.nonzero.eligible.exists? %>
|
56
|
+
<% order.adjustments.nonzero.eligible.each do |adjustment| %>
|
57
|
+
<% next if (adjustment.source_type == 'Harpiya::TaxRate') and (adjustment.amount.zero?) %>
|
58
|
+
<div class="d-table-cell total"><%= adjustment.label %>:</div>
|
59
|
+
<div class="d-table-cell total text-right">
|
60
|
+
<%= adjustment.display_amount.to_html %>
|
61
|
+
</div>
|
62
|
+
<% end %>
|
63
|
+
<% end %>
|
64
|
+
|
65
|
+
<div class="checkout-content-summary-table-order-total">
|
66
|
+
<div class="d-table-cell"><%= Harpiya.t(:total) %>:</div>
|
67
|
+
<div class="d-table-cell text-right">
|
68
|
+
<span id='summary-order-total' data-currency="<%= Money::Currency.find(order.currency).symbol %>">
|
69
|
+
<%= order.display_total.to_html %>
|
70
|
+
</span>
|
71
|
+
</div>
|
72
|
+
</div>
|
73
|
+
|
74
|
+
<% if order.using_store_credit? %>
|
75
|
+
<div class="d-table-cell"><%= Harpiya.t(:store_credit_name) %>:</div>
|
76
|
+
<div class="d-table-cell text-right">
|
77
|
+
<span id='summary-store-credit'>
|
78
|
+
<%= order.display_total_applied_store_credit.to_html %>
|
79
|
+
</span>
|
80
|
+
</div>
|
81
|
+
<% end %>
|
82
|
+
</div>
|
83
|
+
</div>
|
@@ -0,0 +1,62 @@
|
|
1
|
+
<% @body_id = 'checkout-page' %>
|
2
|
+
|
3
|
+
<%
|
4
|
+
content_for :head do
|
5
|
+
agent = request.env['HTTP_USER_AGENT']
|
6
|
+
if agent =~ /Safari/ && !(agent =~ /Chrome/)
|
7
|
+
%>
|
8
|
+
<script>
|
9
|
+
if (!!window.performance && window.performance.navigation.type === 2) {
|
10
|
+
window.location.reload();
|
11
|
+
}
|
12
|
+
window.onpageshow = function(event) {
|
13
|
+
if (event.persisted) {
|
14
|
+
window.location.reload()
|
15
|
+
}
|
16
|
+
}
|
17
|
+
</script>
|
18
|
+
<%
|
19
|
+
end
|
20
|
+
end
|
21
|
+
%>
|
22
|
+
|
23
|
+
<div id="checkout" class="container checkout" data-hook>
|
24
|
+
<%= render partial: 'harpiya/shared/error_messages', locals: { target: @order } %>
|
25
|
+
|
26
|
+
<div class="row align-items-center flex-column checkout-header" data-hook="checkout_header">
|
27
|
+
<div class="text-uppercase checkout-header-title">
|
28
|
+
<h1 data-hook="checkout_title"><%= Harpiya.t('checkout_page.header') %></h1>
|
29
|
+
</div>
|
30
|
+
<div class="checkout-progress" data-hook="checkout_progress" role="navigation" aria-label="<%= Harpiya.t('checkout_page.checkout_navigation') %>">
|
31
|
+
<%= checkout_progress %>
|
32
|
+
</div>
|
33
|
+
</div>
|
34
|
+
|
35
|
+
<div class="row checkout-content" data-hook="checkout_content">
|
36
|
+
<%= form_for @order, url: harpiya.update_checkout_path(@order.state), html: { id: "checkout_form_#{@order.state}", class: "w-100 d-lg-flex align-items-lg-baseline flex-wrap position-relative" } do |form| %>
|
37
|
+
<div class="<%= if @order.state != 'confirm' then 'col-lg-6' else 'col-md-12' end %>" data-hook="checkout_form_wrapper">
|
38
|
+
<%= form.hidden_field :state_lock_version %>
|
39
|
+
<%= render @order.state, form: form %>
|
40
|
+
</div>
|
41
|
+
|
42
|
+
<% unless @order.confirm? %>
|
43
|
+
<div id="checkout-summary" class="col-md-12 col-lg-auto" data-hook="checkout_summary_box">
|
44
|
+
<div class="checkout-summary-container position-sticky">
|
45
|
+
<%= render partial: 'summary', locals: { order: @order } %>
|
46
|
+
<div data-hook="buttons">
|
47
|
+
<% submit_label_key = @order.confirm? ? :place_order : :save_and_continue %>
|
48
|
+
<%= submit_tag Harpiya.t(submit_label_key), class: 'btn btn-primary text-uppercase font-weight-bold w-100 checkout-content-save-continue-button' %>
|
49
|
+
</div>
|
50
|
+
</div>
|
51
|
+
</div>
|
52
|
+
<% end %>
|
53
|
+
<% end %>
|
54
|
+
</div>
|
55
|
+
</div>
|
56
|
+
|
57
|
+
<script>
|
58
|
+
window.addEventListener('DOMContentLoaded', function() {
|
59
|
+
Harpiya.current_order_id = "<%= @order.number %>"
|
60
|
+
Harpiya.current_order_token = "<%= @order.token %>"
|
61
|
+
})
|
62
|
+
</script>
|
File without changes
|
@@ -0,0 +1,30 @@
|
|
1
|
+
<div class="payment-gateway">
|
2
|
+
|
3
|
+
<% param_prefix = "payment_source[#{payment_method.id}]" %>
|
4
|
+
|
5
|
+
<div class="payment-gateway-fields">
|
6
|
+
<div class="mb-4 payment-gateway-field checkout-content-inner-field">
|
7
|
+
<%= text_field_tag "#{param_prefix}[name]", "#{@order.bill_address_firstname} #{@order.bill_address_lastname}", { id: "name_on_card", class: 'harpiya-flat-input', placeholder: Harpiya.t(:name_on_card)} %>
|
8
|
+
</div>
|
9
|
+
|
10
|
+
<div class="mb-4 payment-gateway-field checkout-content-inner-field" data-hook="card_number">
|
11
|
+
<% options_hash = Rails.env.production? ? {autocomplete: 'off'} : {} %>
|
12
|
+
<%= text_field_tag "#{param_prefix}[number]", '', options_hash.merge(id: 'card_number', class: 'harpiya-flat-input cardNumber', size: 19, maxlength: 19, autocomplete: "off", placeholder: Harpiya.t(:card_number)) %>
|
13
|
+
<span id="card_type" style="display:none;">
|
14
|
+
( <span id="looks_like"><%= Harpiya.t(:card_type_is) %> <span id="type"></span></span>
|
15
|
+
<span id="unrecognized"><%= Harpiya.t(:unrecognized_card_type) %></span>
|
16
|
+
)
|
17
|
+
</span>
|
18
|
+
</div>
|
19
|
+
<div class="payment-gateway-half-fields d-flex justify-content-between">
|
20
|
+
<div class="payment-gateway-field checkout-content-inner-field" data-hook="card_expiration">
|
21
|
+
<%= text_field_tag "#{param_prefix}[expiry]", '', id: 'card_expiry', class: 'harpiya-flat-input cardExpiry', placeholder: "MM/YYYY" %>
|
22
|
+
</div>
|
23
|
+
<div class="payment-gateway-field checkout-content-inner-field" data-hook="card_code">
|
24
|
+
<%= text_field_tag "#{param_prefix}[verification_value]", '', options_hash.merge(id: 'card_code', class: 'harpiya-flat-input cardCode', size: 5, placeholder: Harpiya.t(:cvv)) %>
|
25
|
+
</div>
|
26
|
+
</div>
|
27
|
+
|
28
|
+
<%= hidden_field_tag "#{param_prefix}[cc_type]", '', id: "cc_type", class: 'ccType' %>
|
29
|
+
</div>
|
30
|
+
</div>
|