2 in 1 Magnetic Leather Wallet Case for Samsung
2 in 1 Magnetic Leather Wallet Case for Samsung
2 in 1 Magnetic Leather Wallet Case for Samsung
2 in 1 Magnetic Leather Wallet Case for Samsung
2 in 1 Magnetic Leather Wallet Case for Samsung
2 in 1 Magnetic Leather Wallet Case for Samsung
2 in 1 Magnetic Leather Wallet Case for Samsung
2 in 1 Magnetic Leather Wallet Case for Samsung
2 in 1 Magnetic Leather Wallet Case for Samsung
2 in 1 Magnetic Leather Wallet Case for Samsung
2 in 1 Magnetic Leather Wallet Case for Samsung
2 in 1 Magnetic Leather Wallet Case for Samsung
2 in 1 Magnetic Leather Wallet Case for Samsung
2 in 1 Magnetic Leather Wallet Case for Samsung
2 in 1 Magnetic Leather Wallet Case for Samsung
2 in 1 Magnetic Leather Wallet Case for Samsung
2 in 1 Magnetic Leather Wallet Case for Samsung
2 in 1 Magnetic Leather Wallet Case for Samsung
2 in 1 Magnetic Leather Wallet Case for Samsung
2 in 1 Magnetic Leather Wallet Case for Samsung
2 in 1 Magnetic Leather Wallet Case for Samsung
2 in 1 Magnetic Leather Wallet Case for Samsung
2 in 1 Magnetic Leather Wallet Case for Samsung
2 in 1 Magnetic Leather Wallet Case for Samsung
2 in 1 Magnetic Leather Wallet Case for Samsung
2 in 1 Magnetic Leather Wallet Case for Samsung
2 in 1 Magnetic Leather Wallet Case for Samsung
2 in 1 Magnetic Leather Wallet Case for Samsung
2 in 1 Magnetic Leather Wallet Case for Samsung
2 in 1 Magnetic Leather Wallet Case for Samsung
2 in 1 Magnetic Leather Wallet Case for Samsung
2 in 1 Magnetic Leather Wallet Case for Samsung
2 in 1 Magnetic Leather Wallet Case for Samsung
2 in 1 Magnetic Leather Wallet Case for Samsung
2 in 1 Magnetic Leather Wallet Case for Samsung
2 in 1 Magnetic Leather Wallet Case for Samsung

2 in 1 Magnetic Leather Wallet Case for Samsung

Price

$41.90 $31.90
Save 24%

phone model

Please select a phone model

wallet & case

Please select a wallet & case

Quantity

/** @private {string} */ class SpzCustomAnchorScroll extends SPZ.BaseElement { static deferredMount() { return false; } constructor(element) { super(element); /** @private {Element} */ this.scrollableContainer_ = null; } isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } buildCallback() { this.viewport_ = this.getViewport(); this.initActions_(); } setTarget(containerId, targetId) { this.containerId = '#' + containerId; this.targetId = '#' + targetId; } scrollToTarget() { const container = document.querySelector(this.containerId); const target = container.querySelector(this.targetId); const {scrollTop} = container; const eleOffsetTop = this.getOffsetTop_(target, container); this.viewport_ .interpolateScrollIntoView_( container, scrollTop, scrollTop + eleOffsetTop ); } initActions_() { this.registerAction( 'scrollToTarget', (invocation) => this.scrollToTarget(invocation?.caller) ); this.registerAction( 'setTarget', (invocation) => this.setTarget(invocation?.args?.containerId, invocation?.args?.targetId) ); } /** * @param {Element} element * @param {Element} container * @return {number} * @private */ getOffsetTop_(element, container) { if (!element./*OK*/ getClientRects().length) { return 0; } const rect = element./*OK*/ getBoundingClientRect(); if (rect.width || rect.height) { return rect.top - container./*OK*/ getBoundingClientRect().top; } return rect.top; } } SPZ.defineElement('spz-custom-anchor-scroll', SpzCustomAnchorScroll); const STRENGTHEN_TRUST_URL = "/api/strengthen_trust/settings"; class SpzCustomStrengthenTrust extends SPZ.BaseElement { constructor(element) { super(element); this.renderElement_ = null; } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; } buildCallback() { this.xhr_ = SPZServices.xhrFor(this.win); const renderId = this.element.getAttribute('render-id'); SPZCore.Dom.waitForChild( document.body, () => !!document.getElementById(renderId), () => { this.renderElement_ = SPZCore.Dom.scopedQuerySelector( document.body, `#${renderId}` ); if (this.renderElement_) { this.render_(); } this.registerAction('track', (invocation) => { this.track_(invocation.args); }); } ); } render_() { this.fetchData_().then((data) => { if (!data) { return; } SPZ.whenApiDefined(this.renderElement_).then((apis) => { apis?.render(data); document.querySelector('#strengthen-trust-render-1539149753700').addEventListener('click',(event)=>{ if(event.target.nodeName == 'A'){ this.track_({type: 'trust_content_click'}); } }) }); }); } track_(data = {}) { const track = window.sa && window.sa.track; if (!track) { return; } track('trust_enhancement_event', data); } parseJSON_(string) { let result = {}; try { result = JSON.parse(string); } catch (e) {} return result; } fetchData_() { return this.xhr_ .fetchJson(STRENGTHEN_TRUST_URL) .then((responseData) => { if (!responseData || !responseData.data) { return null; } const data = responseData.data; const moduleSettings = (data.module_settings || []).reduce((result, moduleSetting) => { return result.concat(Object.assign(moduleSetting, { logos: (moduleSetting.logos || []).map((item) => { return moduleSetting.logos_type == 'custom' ? this.parseJSON_(item) : item; }) })); }, []); return Object.assign(data, { module_settings: moduleSettings, isEditor: window.self !== window.top, }); }); } } SPZ.defineElement('spz-custom-strengthen-trust', SpzCustomStrengthenTrust);
  • 2-in-1 Magnetic Card Case
  • Tri-fold zipper card case + full-side leather bottom case + stronger magnetic separation design
  • All models support wireless charging!
  • The card case comes with electronic shielding cloth, support anti-theft brush function.
  • We will update with more models later.

hmqViviiyNSAyin7WueXt5NjaLL3pY5+M3kX

undefined

undefined

undefined

undefined

undefined

undefined

undefined

undefined

undefined

undefined

undefined

undefined

undefined

undefined

undefined

undefined

undefined

undefined

undefined

undefined

undefined

undefined

undefined

undefined

undefined

undefined

undefined

undefined

undefined

undefined

undefined

undefined

undefined

undefined

undefined

undefined

undefined

undefined

undefined

undefined

undefined

undefined

undefined

undefined

undefined



undefined







undefined

undefined

undefined

undefined

undefined

undefined

undefined

undefined

undefined

undefined

undefined

undefined

undefined

undefined

undefined











undefined