Skip to content

Welcome to GulsTrading

v.attrs['Colour'] === wanted && v.stock > 0) ?? this.variants.find(v => v.attrs['Colour'] === wanted) : null; start ??= this.variants.find(v => v.stock > 0) ?? this.variants[0]; this.apply(start); }, apply(variant) { this.variantId = variant.id; this.groups.forEach(g => { if (variant.attrs[g.name] !== undefined) this.sel[g.name] = variant.attrs[g.name] }); this.activeImage = 0; }, choose(group, value) { this.sel[group] = value; // Exact: a variant wearing every current selection it carries. let match = this.variants.find(v => this.groups.every(g => !this.sel[g.name] || v.attrs[g.name] === undefined || v.attrs[g.name] === this.sel[g.name]) && v.attrs[group] === value); // Loose: best-scoring variant that at least wears the value // just clicked (sparse colour × size grids are the norm here). match ??= this.variants .filter(v => v.attrs[group] === value) .sort((a, b) => (this.score(b) - this.score(a)) || (b.stock > 0) - (a.stock > 0))[0]; if (match) this.apply(match); }, score(v) { return this.groups.reduce((n, g) => n + (v.attrs[g.name] === this.sel[g.name] ? 1 : 0), 0) + (v.stock > 0 ? 0.5 : 0); }, get images() { return this.previewImages }, get price() { return this.selected ? this.selected.price : 899 }, get compare() { return this.selected ? this.selected.compare : null }, get stock() { return this.selected ? this.selected.stock : 1 }, get needsVariant() { return this.variants.length > 0 && !this.variantId }, get previewImages() { if (this.selected && this.selected.images.length) return this.selected.images; // Colour chosen but size pending: preview that colour's shots. for (const g of this.groups.filter(g => g.isColour)) { if (this.sel[g.name]) { const match = this.variants.find(v => v.attrs[g.name] === this.sel[g.name] && v.images.length); if (match) return match.images; // A colour is chosen and NOTHING depicts it — 138 of // 4AsGlobals' variants have no image of their own. The // product's own shots are honest here; another // colour's are not, and on screen the two are // indistinguishable. Show those, or show none. return this.productImages; } } if (this.productImages.length) return this.productImages; // Nothing chosen yet, so no colour is being claimed: open on // the first variant that has a picture (the fallback the cards // use server-side). return this.variants.find(v => v.images.length)?.images ?? []; }, qty: 1, busy: false, lightbox: false, lightboxIndex: 0, get allImages() { const seen = new Set(); return [...this.productImages, ...this.variants.flatMap(v => v.images)] .filter(img => !seen.has(img.large) && seen.add(img.large)); }, openLightbox() { if (! this.allImages.length) return; const current = this.images[this.activeImage]?.large; const at = this.allImages.findIndex(img => img.large === current); this.lightboxIndex = at >= 0 ? at : 0; this.lightbox = true; }, nextImage() { if (this.allImages.length) this.lightboxIndex = (this.lightboxIndex + 1) % this.allImages.length }, prevImage() { if (this.allImages.length) this.lightboxIndex = (this.lightboxIndex - 1 + this.allImages.length) % this.allImages.length }, pick(id) { this.variantId = this.variantId === id ? null : id; this.activeImage = 0; }, }" @cart-updated.window="busy = false" @cart-add-failed.window="busy = false">
Riva
Bed Frames

Riva

From

Including VAT

Only left — order soon

A tall headboard on a close-cut frame, shown in plush velvet cream — and available made floor to ceiling to your own measurement.

Your price VAT included · 4-5 Days

Dispatched fast from our UK warehouse — same day where possible.

Fast UK dispatch Secure checkout Easy returns SKU

Picked, packed and dispatched from our own UK warehouse.

Riva pairs a tall headboard with a compact frame. The panel sits well above the mattress line while the base stays tight to the bed, so the piece draws the eye upwards without claiming much of the floor. It is a useful combination in a room that is taller than it is wide. The main image shows it in plush velvet cream.

Where the ceiling allows, Riva can be made floor to ceiling instead. Add your measurement as a note at checkout; we call within 24 hours of the order to confirm the figure and take the £199 for the option, then build the headboard to that exact height.

As with everything in the range, Riva is upholstered by hand after the order is placed — your size, your fabric, your colour, cut and covered for that one bed.

  • Tall headboard as standard in every size
  • Floor-to-ceiling headboard available, made to your measurement
  • Compact footprint for the height of the panel
  • Shown in a cream plush velvet in the main image
Brand
Langham Furniture

Orders are picked, packed and dispatched from our UK warehouse — same day where possible. Delivery options and prices are shown at checkout. Track any order any time at Track my order.

Changed your mind? You can request a return from your account within 30 days of delivery.

Reviews

No reviews yet — be the first.

Questions & Answers

No questions yet.

You may also like

Recently viewed