Dicky Toilet Paper Holder | Penis Holder | Penis Art | Penis Sculpture | Penis Gag Gift | Bachelorette Party | Funny Gift | Gift |

$55.86
Quantity
FREE delivery Mon, Apr 14
Or FAST delivery Wed, Apr 09
Description

Introducing the Dicky Toilet Paper Holder, a truly exceptional and captivating addition to elevate your bathroom decor. This meticulously crafted piece of art not only serves a practical purpose but also acts as a hilarious conversation starter. Whether you're hosting a bachelorette party, looking for a funny gift, or simply aiming to infuse your home with a touch of whimsy, this penis-inspired sculpture is guaranteed to leave a lasting impression.

Impeccably designed with exquisite attention to detail, the Dicky Toilet Paper Holder showcases a stunning and lifelike penis sculpture, doubling as a functional holder for your toilet paper rolls. Crafted from high-quality materials, this durable and sturdy holder ensures that your toilet paper is always within reach, while simultaneously adding a cheeky sense of humor to your bathroom space.

Bring laughter and joy to any occasion with this remarkable toilet paper holder. Its playful design and unique concept make it an absolute standout piece that will have your guests talking and laughing. Not only is the Dicky Toilet Paper Holder a great conversation starter, but it also adds a touch of artistic flair to your bathroom. The intricate details and lifelike representation of the penis-inspired sculpture are sure to captivate attention and inject personality into any space.

Installation is a breeze, and the Dicky Toilet Paper Holder is compatible with standard toilet paper rolls. Its sturdy construction ensures that it securely holds your toilet paper rolls, while its compact size makes it suitable for any bathroom layout. With its hassle-free installation and compatibility, you can effortlessly incorporate this bold and daring statement piece into your existing bathroom decor.

Don't miss out on the opportunity to add a touch of playfulness and laughter to your bathroom space. Get the Dicky Toilet Paper Holder today and let this unique piece of art elevate your bathroom decor to a whole new level. It's the perfect gift for those with a sense of humor and a love for unconventional design. Embrace the unexpected and transform your bathroom into a space that reflects your individuality and adds a touch of whimsy to your everyday routine.

Frequently Bought Together

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.