9/12
${data.index + 1}/${data.total}
Description
-
- Working/gaming/at the computer for long periods of time can cause eye and body fatigue, stiff arms and sore wrists.
- This Free Rotating Hand Bracket can help you solve the problem of stiff arms and sore wrists brought about by long hours of work/gaming, reduce the pressure and tension on your wrists and forearms, and make typing on the keyboard easy, with the freedom to rotate and stretch at will.
Main Features
- Great Office/Gaming Companion
With this hand rest, it will help you avoid prolonged arm suspension when you are working/gaming and effectively relieve arm and shoulder fatigue. - Ergonomic Design
- It avoids arm suspension and corrects poor sitting posture, and is designed to sit 4 cm below the desk for greater comfort and effective support. The widened and enlarged swivel axis is designed for extended use.
- Ready For Use
Easy adjustment in three positions, high and low, with convenient fixing screw holes for parallel or below the table. No need to drill holes, easy to install, just insert directly into the table top, convenient and quick. - Safe For Desktop
A full set of silicone grips protects the table top, which is non-slip and scratch-free and will not harm it. - Flexible Multi-angle Rotation
The chain design allows for free adjustment and the 3 nodes can be rotated 360°, 270° and 180° respectively to suit your comfort. - High Quality Materials
Durable metal stand that retracts to relieve eye strain by lengthening the distance from the screen to the body, with soft surface cushioning on a sturdy ABS pad that takes 90% of the weight off the elbows. - Widely Available
Suitable for heavy computer users, such as IT professionals, designers, office workers, e-sports players, etc.
${isCart ? 'The items in the shopping cart do not participate in any recommendation rule. Add the participating items to your shopping cart to check the design.' : ''}
${isProduct ? 'This product did not participated in any recommendation rule. Switch to another product to check the design.' : ''}
${isCollection ? 'The items in this collection do not participate in any recommendation rule. Switch the participating items to check the design.' : ''}
${isIndex ? 'The home page do not participate in any recommendation rule.' : ''}
(This prompt would not display on client-side)
Recommended Products
${rule.config.title}
${(function(){
const product = data.product;
const avail_variants = product.variants.filter(function(variant){
return variant.available;
});
const selected_variant = product.min_price_variant.available ? product.min_price_variant : avail_variants.length && avail_variants[0];
return `
`
})()}
You may also like
Recently Viewed
Cart
Your shopping bag is empty
-
${item.product_title}
- ${item.options.map(option => option.value).join('/')}
- ${propertie.name}/${propertie.isImage ? `View image` : propertie.value}
Free giftMixed Lot*${item.quantity}${item.item_text}${discount_item.title} )
${textArrayHtml}
You've got free shipping
${rate}%
Total:
${function() {
const textArray = ("Save {{save_amount}}").split(/\{\{\s*save_amount\}\}/);
if (textArray.length > 0 && textArray.length < 2) {
textArray.push('');
}
return textArray.map((text, index) => {
if (index == 0) {
return `${text}`;
}
return `
${text}
`;
}).join('');
}()}
${function() {
const textArray = ("Save {{save_amount}}").split(/\{\{\s*save_amount\}\}/);
if (textArray.length > 0 && textArray.length < 2) {
textArray.push('');
}
return textArray.map((text, index) => {
if (index == 0) {
return `${text}`;
}
return `
${text}
`;
}).join('');
}()}
-
${discount_application.title}:
-
${data.invalid_msg}
Taxes and shipping calculated at checkout
${(function(){
var total_price = data.total_price;
var postageFreeAmount = 59.99;
var freeAmount = postageFreeAmount - total_price;
var isFreeShipping = freeAmount <= 0;
var rate = Math.min(total_price / postageFreeAmount * 100, 100).toFixed(2);
const textArray = ("Spend {{ amount }} more and get free shipping!").split(/\{\{\s*amount\s*\}\}/);
const textArrayHtml = textArray.map((text, index) => {
if (index == 0) {
return `${text}`;
}
return ` ${text}`;
}).join('');
return `
`
})()}
const summaryStickyRender = document.querySelector('#cart-drawer-summary-sticky-render');
if (summaryStickyRender) {
document.body.style.setProperty('--cart-drawer-summary-sticky-height', summaryStickyRender.clientHeight + 'px');
}
${textArrayHtml}
You've got free shipping
${rate}%
${data.invalid_msg}
Total:
${function() {
const textArray = ("Save {{save_amount}}").split(/\{\{\s*save_amount\}\}/);
if (textArray.length > 0 && textArray.length < 2) {
textArray.push('');
}
return textArray.map((text, index) => {
if (index == 0) {
return `${text}`;
}
return `
${text}
`;
}).join('');
}()}
${function() {
const textArray = ("Save {{save_amount}}").split(/\{\{\s*save_amount\}\}/);
if (textArray.length > 0 && textArray.length < 2) {
textArray.push('');
}
return textArray.map((text, index) => {
if (index == 0) {
return `${text}`;
}
return `
${text}
`;
}).join('');
}()}
${function() {
const textArray = ("Save {{save_amount}}").split(/\{\{\s*save_amount\}\}/);
if (textArray.length > 0 && textArray.length < 2) {
textArray.push('');
}
return textArray.map((text, index) => {
if (index == 0) {
return `${text}`;
}
return `
${text}
`;
}).join('');
}()}
-
${discount_application.title}:
-
${data.invalid_msg}
Taxes and shipping calculated at checkout
-
Subtotal:
-
${discount_application.title}:
-
Total:
Taxes and shipping calculated at checkout