Limited Edition®️ Wooden Grip M92F Worlds` Best Fidget Toy - Collection Toy -1:3 Scale Pistol Keychain Toy
Limited Edition®️ Wooden Grip M92F Worlds` Best Fidget Toy - Collection Toy -1:3 Scale Pistol Keychain Toy
Limited Edition®️ Wooden Grip M92F Worlds` Best Fidget Toy - Collection Toy -1:3 Scale Pistol Keychain Toy
Limited Edition®️ Wooden Grip M92F Worlds` Best Fidget Toy - Collection Toy -1:3 Scale Pistol Keychain Toy
Limited Edition®️ Wooden Grip M92F Worlds` Best Fidget Toy - Collection Toy -1:3 Scale Pistol Keychain Toy
Limited Edition®️ Wooden Grip M92F Worlds` Best Fidget Toy - Collection Toy -1:3 Scale Pistol Keychain Toy

Limited Edition®️ Wooden Grip M92F Worlds` Best Fidget Toy - Collection Toy -1:3 Scale Pistol Keychain Toy

Wooden Grip M92F Keychain
Style
Please select a style
Price
$59.90
$36.90
Save  38%
9 sold
Quantity
For mini keychain toys, our Shipping Range Covers the USA, Canada, France, Germany, Spain, Italy, Brazil, Australia, Israel, UK, Portugal, New Zealand, Poland, Netherlands, Belgium, Norway, and Ireland. For other items in our shop, we make global delivery.
14 Days Return Period
Sustainably made
Secure payments
SKU:

Limited Edition®️ Wooden Grip M92F

Worlds` Best Fidget Toy - Collection Toy -1:3 Scale Pistol Keychain Toy

Features:

    Limited Edition

    - Product Name: 1:3 Scale Wooden Grip M92F Keychain Toy

    - Weight: About 75g

    - Size:1:3 size

    - Support Assembly and disassembly, enjoy pure pleasure.

    - Super good quality!

    Perfect gift for gun lovers and gun collection.

    Note:

    1.Wooden Grip M92F only has 1 bullet inside, and can not make shell ejection;

    2. It`s a fidget toy keychain.

    3. The main parts of the item are metal, and the bullets can not be shot out;

    4. Please contact me if you find the item can not be shipped to your place.

    Customer Reviews

    Here are what our customers say.

    Write a Review
    Customer Reviews
    Wow you reached the bottom
    Newest
    Most liked
    Highest ratings
    Lowest ratings
    ×
    class SpzCustomFileUpload extends SPZ.BaseElement { constructor(element) { super(element); this.uploadCount_ = 0; this.fileList_ = []; } buildCallback() { this.action = SPZServices.actionServiceForDoc(this.element); this.registerAction('upload', (data) => { this.handleFileUpload_(data.event?.detail?.data || []); }); this.registerAction('delete', (data) => { this.handleFileDelete_(data?.args?.data); }); this.registerAction('preview', (data) => { this.handleFilePreview_(data?.args?.data); }); this.registerAction('limit', (data) => { this.handleFileLimit_(); }); this.registerAction('sizeLimit', (data) => { this.handleFileSizeLimit_(); }); } isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } setData_(count, file) { this.uploadCount_ = count; this.fileList_ = file; } handleFileUpload_(data) { data.forEach(i => { if(this.fileList_.some(j => j.url === i.url)) return; this.fileList_.push(i); }) this.uploadCount_++; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleFileUpload", { count: this.uploadCount_, files: this.fileList_}); if(this.fileList_.length >= 5){ document.querySelector('#review_upload').style.display = 'none'; } if(this.fileList_.length > 0){ document.querySelector('.apps-reviews-write-anonymous-box').style.marginTop = '8px'; } } handleFileDelete_(index) { this.fileList_.splice(index, 1); this.uploadCount_--; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleFileDelete", { count: this.uploadCount_, files: this.fileList_}); document.querySelector('#review_upload').style.display = 'block'; if(this.fileList_?.length === 0){ document.querySelector('.apps-reviews-write-anonymous-box').style.marginTop = '132px'; } } handleFilePreview_(index) { const finalPreviewData = this.fileList_[index]; const filePreviewModal = document.getElementById('filePreviewModal'); const fullScreenVideo = document.getElementById('fullScreenVideo'); const fullScreenImage = document.getElementById('fullScreenImage'); const previewModalClose = document.getElementById('previewModalClose'); const previewLoading = document.getElementById('previewLoading'); filePreviewModal.style.display = 'block'; previewLoading.style.display = 'flex'; if(finalPreviewData?.type === 'video'){ const media = this.mediaParse_(this.fileList_[index]?.url); fullScreenVideo.addEventListener('canplaythrough', function() { previewLoading.style.display = 'none'; }); fullScreenImage.src = ''; fullScreenImage.style.display = 'none'; fullScreenVideo.style.display = 'block'; fullScreenVideo.src = media.mp4 || ''; } else { fullScreenImage.onload = function() { previewLoading.style.display = 'none'; }; fullScreenVideo.src = ''; fullScreenVideo.style.display = 'none'; fullScreenImage.style.display = 'block'; fullScreenImage.src = finalPreviewData.url; } previewModalClose.addEventListener('click', function() { filePreviewModal.style.display = 'none'; }); } handleFileLimit_() { alert(window.AppReviewsLocale.comment_file_limit || 'please do not upload files more than 5'); this.triggerEvent_("handleFileLimit"); } handleFileSizeLimit_() { alert(window.AppReviewsLocale.comment_file_size_limit || 'File size does not exceed 10M'); } clear(){ this.fileList_ = []; this.uploadCount_ = 0; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleClear", { count: this.uploadCount_, files: this.fileList_}); document.querySelector('#review_upload').style.display = 'block'; } mediaParse_(url) { var result = {}; try { url.replace(/[?&]+([^=&]+)=([^&]*)/gi, function (str, key, value) { try { result[key] = decodeURIComponent(value); } catch (e) { result[key] = value; } }); result.preview_image = url.split('?')[0]; } catch (e) {}; return result; } triggerEvent_(name, data) { const event = SPZUtils.Event.create(this.win, name, data); this.action.trigger(this.element, name, event); } } SPZ.defineElement('spz-custom-file-upload', SpzCustomFileUpload);
    The review would not show in product details on storefront since it does not support to.