">(()=>{var e={108:(e,t,n)=>{var r=n(738),s=n(198);function i(){return(new Date).getTime()}var a,o=Array.prototype.slice,c={};a="undefined"!==typeof n.g&&n.g.console?n.g.console:"undefined"!==typeof window&&window.console?window.console:{};for(var h=[[function(){},"log"],[function(){a.log.apply(a,arguments)},"info"],[function(){a.log.apply(a,arguments)},"warn"],[function(){a.warn.apply(a,arguments)},"error"],[function(e){c[e]=i()},"time"],[function(e){var t=c[e];if(!t)throw new Error("No such label: "+e);delete c[e];var n=i()-t;a.log(e+": "+n+"ms")},"timeEnd"],[function(){var e=new Error;e.name="Trace",e.message=r.format.apply(null,arguments),a.error(e.stack)},"trace"],[function(e){a.log(r.inspect(e)+"\n")},"dir"],[function(e){if(!e){var t=o.call(arguments,1);s.ok(!1,r.format.apply(null,t))}},"assert"]],l=0;l{},738:()=>{},913:()=>{"use strict";try{self["workbox:core:6.5.3"]&&_()}catch(e){}},977:()=>{"use strict";try{self["workbox:precaching:6.5.3"]&&_()}catch(e){}},80:()=>{"use strict";try{self["workbox:routing:6.5.3"]&&_()}catch(e){}},873:()=>{"use strict";try{self["workbox:strategies:6.5.3"]&&_()}catch(e){}}},t={};function n(r){var s=t[r];if(void 0!==s)return s.exports;var i=t[r]={exports:{}};return e[r](i,i.exports,n),i.exports}n.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}(),(()=>{"use strict";function e(e){return new Promise(((t,n)=>{e.oncomplete=e.onsuccess=()=>t(e.result),e.onabort=e.onerror=()=>n(e.error)}))}let t;function r(){return t||(t=function(t,n){const r=indexedDB.open(t);r.onupgradeneeded=()=>r.result.createObjectStore(n);const s=e(r);return(e,t)=>s.then((r=>t(r.transaction(n,e).objectStore(n))))}("keyval-store","keyval")),t}try{self["workbox:window:6.5.3"]&&_()}catch(s){}function s(e,t){return new Promise((function(n){var r=new MessageChannel;r.port1.onmessage=function(e){n(e.data)},e.postMessage(t,[r.port2])}))}function i(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}return(n=e[Symbol.iterator]()).next.bind(n)}try{self["workbox:core:6.5.3"]&&_()}catch(s){}var c=function(){var e=this;this.promise=new Promise((function(t,n){e.resolve=t,e.reject=n}))};function h(e,t){var n=location.href;return new URL(e,n).href===new URL(t,n).href}var l=function(e,t){this.type=e,Object.assign(this,t)};function u(e,t,n){return n?t?t(e):e:(e&&e.then||(e=Promise.resolve(e)),t?e.then(t):e)}function f(){}var d={type:"SKIP_WAITING"};function p(e,t){if(!t)return e&&e.then?e.then(f):Promise.resolve()}var g=function(e){var t,n;function r(t,n){var r,s;return void 0===n&&(n={}),(r=e.call(this)||this).nn={},r.tn=0,r.rn=new c,r.en=new c,r.on=new c,r.un=0,r.an=new Set,r.cn=function(){var e=r.fn,t=e.installing;r.tn>0||!h(t.scriptURL,r.sn.toString())||performance.now()>r.un+6e4?(r.vn=t,e.removeEventListener("updatefound",r.cn)):(r.hn=t,r.an.add(t),r.rn.resolve(t)),++r.tn,t.addEventListener("statechange",r.ln)},r.ln=function(e){var t=r.fn,n=e.target,s=n.state,i=n===r.vn,a={sw:n,isExternal:i,originalEvent:e};!i&&r.mn&&(a.isUpdate=!0),r.dispatchEvent(new l(s,a)),"installed"===s?r.wn=self.setTimeout((function(){"installed"===s&&t.waiting===n&&r.dispatchEvent(new l("waiting",a))}),200):"activating"===s&&(clearTimeout(r.wn),i||r.en.resolve(n))},r.dn=function(e){var t=r.hn,n=t!==navigator.serviceWorker.controller;r.dispatchEvent(new l("controlling",{isExternal:n,originalEvent:e,sw:t,isUpdate:r.mn})),n||r.on.resolve(t)},r.gn=(s=function(e){var t=e.data,n=e.ports,s=e.source;return u(r.getSW(),(function(){r.an.has(s)&&r.dispatchEvent(new l("message",{data:t,originalEvent:e,ports:n,sw:s}))}))},function(){for(var e=[],t=0;t{let n=e;return t.length>0&&(n+=` :: ${JSON.stringify(t)}`),n};class v extends Error{constructor(e,t){super(y(e,t)),this.name=e,this.details=t}}const m=new Set;const b={googleAnalytics:"googleAnalytics",precache:"precache-v2",prefix:"workbox",runtime:"runtime",suffix:"undefined"!==typeof registration?registration.scope:""},R=e=>[b.prefix,e,b.suffix].filter((e=>e&&e.length>0)).join("-"),C=e=>e||R(b.googleAnalytics),k=e=>e||R(b.precache),L=()=>b.prefix,U=e=>e||R(b.runtime),E=()=>b.suffix;function P(e,t){const n=new URL(e);for(const r of t)n.searchParams.delete(r);return n.href}let T;class K{constructor(){this.promise=new Promise(((e,t)=>{this.resolve=e,this.reject=t}))}}function S(e,t){const n=t();return e.waitUntil(n),n}const q={get googleAnalytics(){return C()},get precache(){return k()},get prefix(){return L()},get runtime(){return U()},get suffix(){return E()}};async function x(e,t){let n=null;if(e.url){n=new URL(e.url).origin}if(n!==self.location.origin)throw new v("cross-origin-copy-response",{origin:n});const r=e.clone(),s={headers:new Headers(r.headers),status:r.status,statusText:r.statusText},i=t?t(s):s,a=function(){if(void 0===T){const t=new Response("");if("body"in t)try{new Response(t.body),T=!0}catch(e){T=!1}T=!1}return T}()?r.body:await r.blob();return new Response(a,i)}n(977);function W(e){if(!e)throw new v("add-to-cache-list-unexpected-type",{entry:e});if("string"===typeof e){const t=new URL(e,location.href);return{cacheKey:t.href,url:t.href}}const{revision:t,url:n}=e;if(!n)throw new v("add-to-cache-list-unexpected-type",{entry:e});if(!t){const e=new URL(n,location.href);return{cacheKey:e.href,url:e.href}}const r=new URL(n,location.href),s=new URL(n,location.href);return r.searchParams.set("__WB_REVISION__",t),{cacheKey:r.href,url:s.href}}class N{constructor(){this.updatedURLs=[],this.notUpdatedURLs=[],this.handlerWillStart=async({request:e,state:t})=>{t&&(t.originalRequest=e)},this.cachedResponseWillBeUsed=async({event:e,state:t,cachedResponse:n})=>{if("install"===e.type&&t&&t.originalRequest&&t.originalRequest instanceof Request){const e=t.originalRequest.url;n?this.notUpdatedURLs.push(e):this.updatedURLs.push(e)}return n}}}class j{constructor({precacheController:e}){this.cacheKeyWillBeUsed=async({request:e,params:t})=>{const n=(null===t||void 0===t?void 0:t.cacheKey)||this._precacheController.getCacheKeyForURL(e.url);return n?new Request(n,{headers:e.headers}):e},this._precacheController=e}}n(873);function O(e){return"string"===typeof e?new Request(e):e}class A{constructor(e,t){this._cacheKeys={},Object.assign(this,t),this.event=t.event,this._strategy=e,this._handlerDeferred=new K,this._extendLifetimePromises=[],this._plugins=[...e.plugins],this._pluginStateMap=new Map;for(const n of this._plugins)this._pluginStateMap.set(n,{});this.event.waitUntil(this._handlerDeferred.promise)}async fetch(e){const{event:t}=this;let n=O(e);if("navigate"===n.mode&&t instanceof FetchEvent&&t.preloadResponse){const e=await t.preloadResponse;if(e)return e}const r=this.hasCallback("fetchDidFail")?n.clone():null;try{for(const e of this.iterateCallbacks("requestWillFetch"))n=await e({request:n.clone(),event:t})}catch(i){if(i instanceof Error)throw new v("plugin-error-request-will-fetch",{thrownErrorMessage:i.message})}const s=n.clone();try{let e;e=await fetch(n,"navigate"===n.mode?void 0:this._strategy.fetchOptions);for(const n of this.iterateCallbacks("fetchDidSucceed"))e=await n({event:t,request:s,response:e});return e}catch(a){throw r&&await this.runCallbacks("fetchDidFail",{error:a,event:t,originalRequest:r.clone(),request:s.clone()}),a}}async fetchAndCachePut(e){const t=await this.fetch(e),n=t.clone();return this.waitUntil(this.cachePut(e,n)),t}async cacheMatch(e){const t=O(e);let n;const{cacheName:r,matchOptions:s}=this._strategy,i=await this.getCacheKey(t,"read"),a=Object.assign(Object.assign({},s),{cacheName:r});n=await caches.match(i,a);for(const o of this.iterateCallbacks("cachedResponseWillBeUsed"))n=await o({cacheName:r,matchOptions:s,cachedResponse:n,request:i,event:this.event})||void 0;return n}async cachePut(e,t){const n=O(e);var r;await(r=0,new Promise((e=>setTimeout(e,r))));const s=await this.getCacheKey(n,"write");if(!t)throw new v("cache-put-with-no-response",{url:(i=s.url,new URL(String(i),location.href).href.replace(new RegExp(`^${location.origin}`),""))});var i;const a=await this._ensureResponseSafeToCache(t);if(!a)return!1;const{cacheName:o,matchOptions:c}=this._strategy,h=await self.caches.open(o),l=this.hasCallback("cacheDidUpdate"),u=l?await async function(e,t,n,r){const s=P(t.url,n);if(t.url===s)return e.match(t,r);const i=Object.assign(Object.assign({},r),{ignoreSearch:!0}),a=await e.keys(t,i);for(const o of a)if(s===P(o.url,n))return e.match(o,r)}(h,s.clone(),["__WB_REVISION__"],c):null;try{await h.put(s,l?a.clone():a)}catch(f){if(f instanceof Error)throw"QuotaExceededError"===f.name&&await async function(){for(const e of m)await e()}(),f}for(const d of this.iterateCallbacks("cacheDidUpdate"))await d({cacheName:o,oldResponse:u,newResponse:a.clone(),request:s,event:this.event});return!0}async getCacheKey(e,t){const n=`${e.url} | ${t}`;if(!this._cacheKeys[n]){let r=e;for(const e of this.iterateCallbacks("cacheKeyWillBeUsed"))r=O(await e({mode:t,request:r,event:this.event,params:this.params}));this._cacheKeys[n]=r}return this._cacheKeys[n]}hasCallback(e){for(const t of this._strategy.plugins)if(e in t)return!0;return!1}async runCallbacks(e,t){for(const n of this.iterateCallbacks(e))await n(t)}*iterateCallbacks(e){for(const t of this._strategy.plugins)if("function"===typeof t[e]){const n=this._pluginStateMap.get(t),r=r=>{const s=Object.assign(Object.assign({},r),{state:n});return t[e](s)};yield r}}waitUntil(e){return this._extendLifetimePromises.push(e),e}async doneWaiting(){let e;for(;e=this._extendLifetimePromises.shift();)await e}destroy(){this._handlerDeferred.resolve(null)}async _ensureResponseSafeToCache(e){let t=e,n=!1;for(const r of this.iterateCallbacks("cacheWillUpdate"))if(t=await r({request:this.request,response:t,event:this.event})||void 0,n=!0,!t)break;return n||t&&200!==t.status&&(t=void 0),t}}class I{constructor(e={}){this.cacheName=U(e.cacheName),this.plugins=e.plugins||[],this.fetchOptions=e.fetchOptions,this.matchOptions=e.matchOptions}handle(e){const[t]=this.handleAll(e);return t}handleAll(e){e instanceof FetchEvent&&(e={event:e,request:e.request});const t=e.event,n="string"===typeof e.request?new Request(e.request):e.request,r="params"in e?e.params:void 0,s=new A(this,{event:t,request:n,params:r}),i=this._getResponse(s,n,t);return[i,this._awaitComplete(i,s,n,t)]}async _getResponse(e,t,n){let r;await e.runCallbacks("handlerWillStart",{event:n,request:t});try{if(r=await this._handle(t,e),!r||"error"===r.type)throw new v("no-response",{url:t.url})}catch(s){if(s instanceof Error)for(const i of e.iterateCallbacks("handlerDidError"))if(r=await i({error:s,event:n,request:t}),r)break;if(!r)throw s}for(const i of e.iterateCallbacks("handlerWillRespond"))r=await i({event:n,request:t,response:r});return r}async _awaitComplete(e,t,n,r){let s,i;try{s=await e}catch(i){}try{await t.runCallbacks("handlerDidRespond",{event:r,request:n,response:s}),await t.doneWaiting()}catch(a){a instanceof Error&&(i=a)}if(await t.runCallbacks("handlerDidComplete",{event:r,request:n,response:s,error:i}),t.destroy(),i)throw i}}class M extends I{constructor(e={}){e.cacheName=k(e.cacheName),super(e),this._fallbackToNetwork=!1!==e.fallbackToNetwork,this.plugins.push(M.copyRedirectedCacheableResponsesPlugin)}async _handle(e,t){const n=await t.cacheMatch(e);return n||(t.event&&"install"===t.event.type?await this._handleInstall(e,t):await this._handleFetch(e,t))}async _handleFetch(e,t){let n;const r=t.params||{};if(!this._fallbackToNetwork)throw new v("missing-precache-entry",{cacheName:this.cacheName,url:e.url});{0;const s=r.integrity,i=e.integrity,a=!i||i===s;if(n=await t.fetch(new Request(e,{integrity:"no-cors"!==e.mode?i||s:void 0})),s&&a&&"no-cors"!==e.mode){this._useDefaultCacheabilityPluginIfNeeded();await t.cachePut(e,n.clone());0}}return n}async _handleInstall(e,t){this._useDefaultCacheabilityPluginIfNeeded();const n=await t.fetch(e);if(!(await t.cachePut(e,n.clone())))throw new v("bad-precaching-response",{url:e.url,status:n.status});return n}_useDefaultCacheabilityPluginIfNeeded(){let e=null,t=0;for(const[n,r]of this.plugins.entries())r!==M.copyRedirectedCacheableResponsesPlugin&&(r===M.defaultPrecacheCacheabilityPlugin&&(e=n),r.cacheWillUpdate&&t++);0===t?this.plugins.push(M.defaultPrecacheCacheabilityPlugin):t>1&&null!==e&&this.plugins.splice(e,1)}}M.defaultPrecacheCacheabilityPlugin={cacheWillUpdate:async({response:e})=>!e||e.status>=400?null:e},M.copyRedirectedCacheableResponsesPlugin={cacheWillUpdate:async({response:e})=>e.redirected?await x(e):e};var D=n(108);class F{constructor({cacheName:e,plugins:t=[],fallbackToNetwork:n=!0}={}){this._urlsToCacheKeys=new Map,this._urlsToCacheModes=new Map,this._cacheKeysToIntegrities=new Map,this._strategy=new M({cacheName:k(e),plugins:[...t,new j({precacheController:this})],fallbackToNetwork:n}),this.install=this.install.bind(this),this.activate=this.activate.bind(this)}get strategy(){return this._strategy}precache(e){this.addToCacheList(e),this._installAndActiveListenersAdded||(self.addEventListener("install",this.install),self.addEventListener("activate",this.activate),this._installAndActiveListenersAdded=!0)}addToCacheList(e){const t=[];for(const n of e){"string"===typeof n?t.push(n):n&&void 0===n.revision&&t.push(n.url);const{cacheKey:e,url:r}=W(n),s="string"!==typeof n&&n.revision?"reload":"default";if(this._urlsToCacheKeys.has(r)&&this._urlsToCacheKeys.get(r)!==e)throw new v("add-to-cache-list-conflicting-entries",{firstEntry:this._urlsToCacheKeys.get(r),secondEntry:e});if("string"!==typeof n&&n.integrity){if(this._cacheKeysToIntegrities.has(e)&&this._cacheKeysToIntegrities.get(e)!==n.integrity)throw new v("add-to-cache-list-conflicting-integrities",{url:r});this._cacheKeysToIntegrities.set(e,n.integrity)}if(this._urlsToCacheKeys.set(r,e),this._urlsToCacheModes.set(r,s),t.length>0){const e=`Workbox is precaching URLs without revision info: ${t.join(", ")}\nThis is generally NOT safe. Learn more at https://bit.ly/wb-precache`;D.warn(e)}}}install(e){return S(e,(async()=>{const t=new N;this.strategy.plugins.push(t);for(const[s,i]of this._urlsToCacheKeys){const t=this._cacheKeysToIn Wohnartikel kaufen bei Do it + Garden Migros
  1. Startseite
  2. Suchergebnisse

Wohnen

Kategorien
Garten
Pflanzen
Basteln + Gestalten
Kochen + Backen
Tierbedarf
Bauen + Heimwerken
Auto + Motorrad
121 Artikel gefunden
Sind Sie mit diesem Sortiment zufrieden?

Wohnen – hereinspaziert in Ihre Komfortzone!

Ein gemütliches Zuhause entsteht aus einem perfekten Zusammenspiel mehrerer Komponenten. Ein bisschen Ordnung muss sein, Sicherheit ist auch wichtig. Den richtigen Touch geben Sie Ihrer Komfortzone mit stilvoller Beleuchtung und spannenden Deko-Akzenten. Alles, was Sie zum Wohnen und Einrichten benötigen, finden Sie natürlich im Online-Shop von Do it + Garden.
 

Herrscht Ordnung, wird's gemütlich

Krimskrams und Kleinigkeiten lassen einen Raum schnell unruhig wirken. Darum verstauen Sie solche Dinge am besten in Aufbewahrungsboxen, die Sie hier in allen Farben, Formen und Grössen kaufen können. Im Büro schaffen Sie eine ruhige Arbeitsatmosphäre durch Schränke und Steckregale – und im Schlafzimmer geht natürlich nichts ohne schützende Produkte für die Kleideraufbewahrung.
 

Neuer Lieblingsraum? Das Bad!

Selbst in kleinen Badezimmern sorgt das umfangreiche Sortiment für den Bad- und Sanitärbereich im Do it + Garden Shop für den richtigen Wohlfühleffekt. Wenn Sie auf schöne Armaturen für Dusche und Lavabo sowie passende Möbel- und Ordnungssysteme fürs Badezimmer setzen, wird auch ein winziger Waschraum zum heimischen Spa. Wie wäre es zum Beispiel mit einer neuen Duschbrause mit Massagefunktion?
 

Stilvollem Wohnen geht ein Licht auf

Die richtige Beleuchtung ist das A und O für das Wohlbefinden zuhause. Mit unterschiedlichen Lichtfarben trennen Sie Wohn- von Arbeitsbereichen und setzen zum Beispiel Ihre liebsten Stücke mit Spots und clever verteilten Lampen in Szene. Schaffen Sie perfekt designte kleine Lichtinseln – am besten dort, wo Sie am liebsten relaxen, kuscheln und die Seele baumeln lassen.
 

Die Deko für den finalen Touch

Stehen die Grundelemente der Einrichtung, geht es an die Deko. Und dabei können Sie sich mit dem Sortiment im Do it + Garden Shop so richtig austoben. Hier finden Sie gemütliche Teppiche, romantische Ideen mit Kerzen und die neuesten Trends in Sachen Wandschmuck und Zimmerpflanzen. Ihr Einrichtungskompass? Allein Ihr Geschmack!