KOHA

Cooked up
by KOHA.


(function(){'use strict';var make=document.createElement.bind(document);function boot(){var host=document.getElementById('koha-desktop-player'),source=document.getElementById('koha-tracks');if(!host||host.dataset.ready)return;host.dataset.ready='true';var audio=make('audio');audio.preload='metadata';audio.setAttribute('aria-hidden','true');host.appendChild(audio);var playIcon='\x3csvg viewBox="0 0 24 24" aria-hidden="true">\x3cpath d="M8 5v14l11-7z"/>\x3c/svg>',pauseIcon='\x3csvg viewBox="0 0 24 24" aria-hidden="true">\x3cpath d="M6 5h4v14H6zm8 0h4v14h-4z"/>\x3c/svg>';function playable(href){try{var url=new URL(href,location.href);if(!/^https?:$/.test(url.protocol))return null;if(/^(www\.)?dropbox\.com$/i.test(url.hostname)){if(!/^\/(scl\/fi|s)\//.test(url.pathname))return null;url.searchParams.delete('dl');url.searchParams.set('raw','1');}return url.href;}catch(e){return null;}}var tracks=source?Array.from(source.querySelectorAll('a[href]')).map(function(link){return{title:link.textContent.trim(),url:playable(link.getAttribute('href')),duration:0,time:0};}).filter(function(t){return t.title && t.url;}):[];var current=-1,request=0,dragging=false;function time(v){return Number.isFinite(v) && v>=0?Math.floor(v/60)+':'+String(Math.floor(v%60)).padStart(2,'0'):'—:—';}tracks.forEach(function(track,i){var card=make('article');card.className='koha-track-card';card.innerHTML='\x3cdiv class="koha-track-top">\x3cbutton type="button" class="koha-track-play">'+playIcon+'\x3c/button>\x3cdiv>\x3cp class="koha-track-label">KOHA\x3c/p>\x3ch3 class="koha-track-title">\x3c/h3>\x3c/div>\x3c/div>\x3cinput class="koha-track-seek" type="range" min="0" max="100" step="0.1" value="0" disabled>\x3cdiv class="koha-track-times">\x3cspan>0:00\x3c/span>\x3cspan>—:—\x3c/span>\x3c/div>\x3cp class="koha-track-error" role="status" hidden>\x3c/p>';track.card=card;track.button=card.querySelector('button');track.seek=card.querySelector('input');track.elapsed=card.querySelector('.koha-track-times span');track.total=card.querySelector('.koha-track-times span:last-child');track.error=card.querySelector('.koha-track-error');card.querySelector('h3').textContent=track.title;track.button.setAttribute('aria-label','Odtwórz '+track.title);track.seek.setAttribute('aria-label','Pozycja w utworze '+track.title);host.appendChild(card);track.button.addEventListener('click',async function(){var token=++request;tracks.forEach(function(t){t.error.hidden=true;});if(i===current && !audio.paused){audio.pause();return;}if(current!==i)select(i);if(audio.ended)audio.currentTime=0;track.button.setAttribute('aria-busy','true');try{await audio.play();}catch(e){if(token===request && e.name!=='AbortError'){track.error.textContent='Nie udało się odtworzyć utworu. Spróbuj ponownie.';track.error.hidden=false;}}finally{if(token===request){track.button.removeAttribute('aria-busy');paint();}}});track.seek.addEventListener('input',function(){if(i!==current||!Number.isFinite(audio.duration))return;dragging=true;track.seek.style.setProperty('--played',100*Number(track.seek.value)/audio.duration+'%');track.elapsed.textContent=time(Number(track.seek.value));});track.seek.addEventListener('change',function(){if(i===current && Number.isFinite(audio.duration)){audio.currentTime=Number(track.seek.value);track.time=audio.currentTime;}dragging=false;paint();});});function paint(){tracks.forEach(function(t,i){var active=i===current;if(active && Number.isFinite(audio.duration)){t.duration=audio.duration;t.time=audio.currentTime;}var playing=active && !audio.paused;t.button.innerHTML=playing?pauseIcon:playIcon;t.button.setAttribute('aria-label',(playing?'Wstrzymaj ':'Odtwórz ')+t.title);t.button.setAttribute('aria-pressed',String(playing));t.seek.disabled=!active||!t.duration;t.seek.max=t.duration||100;if(!dragging||!active){t.seek.value=t.time;t.seek.style.setProperty('--played',(t.duration?100*t.time/t.duration:0)+'%');t.elapsed.textContent=time(t.time);}t.total.textContent=t.duration?time(t.duration):'—:—';});}function select(i){audio.pause();if(current>=0)tracks[current].time=audio.currentTime;current=i;audio.src=tracks[i].url;audio.load();dragging=false;paint();}['loadedmetadata','durationchange','timeupdate','play','pause','seeked','ended'].forEach(function(event){audio.addEventListener(event,paint);});audio.addEventListener('playing',function(){if(tracks[current])tracks[current].button.removeAttribute('aria-busy');});audio.addEventListener('error',function(){var t=tracks[current];if(t){t.button.removeAttribute('aria-busy');t.error.textContent='Nie udało się pobrać nagrania. Sprawdź publiczny link do pliku.';t.error.hidden=false;}paint();});var music=document.getElementById('container08'),heading=document.getElementById('text08'),hero=document.getElementById('container11')||document.getElementById('container05'),contactTitle=document.getElementById('text12'),contactButton=document.getElementById('buttons06');if(music && heading){var meta=make('div');meta.id='koha-music-meta';meta.innerHTML='\x3cspan>01 / Music\x3c/span>\x3cspan>\x3c/span>';meta.lastElementChild.textContent=tracks.length+' '+(tracks.length===1?'track':'tracks');heading.before(meta);}if(hero){var nav=make('div');nav.className='koha-hero-nav';nav.innerHTML='\x3cspan class="koha-small-brand">KOHA\x3c/span>\x3cnav aria-label="Główna nawigacja">\x3ca href="#products" data-koha-scroll="music">Music\x3c/a>\x3ca href="#gallery" data-koha-scroll="gallery">Gallery\x3c/a>\x3ca href="#koha-contact" data-koha-scroll="contact">Contact \x3cspan class="koha-link-arrow" aria-hidden="true">\x3c/span>\x3c/a>\x3c/nav>';var bottom=make('div');bottom.className='koha-hero-bottom';bottom.innerHTML='\x3cdiv>Originals / Remixes\x3csmall>Cooked up by KOHA\x3c/small>\x3c/div>\x3ca href="#products" data-koha-scroll="music">Explore music \x3cspan class="koha-link-arrow" aria-hidden="true">\x3c/span>\x3c/a>';hero.append(nav,bottom);}var titleMarker,buttonMarker,contact,contactInner;if(music && contactTitle && contactButton){titleMarker=document.createComment('KOHA native contact title');buttonMarker=document.createComment('KOHA native contact action');contactTitle.before(titleMarker);contactButton.before(buttonMarker);contact=make('section');contact.id='koha-contact';contact.setAttribute('aria-label','Contact');contactInner=make('div');contactInner.className='koha-contact-inner';contactInner.innerHTML='\x3cdiv class="koha-contact-meta">\x3cspan>03 / Contact\x3c/span>\x3cspan>KOHA\x3c/span>\x3c/div>';var footer=make('div');footer.className='koha-contact-footer';footer.innerHTML='\x3cspan>KOHA / Music\x3c/span>\x3ca href="#home" data-koha-scroll="home">Back to top ↑\x3c/a>';var actions=make('div');actions.className='koha-contact-actions';var instagram=make('a');instagram.className='koha-social koha-instagram';instagram.href='https://www.instagram.com/koha_music/';instagram.target='_blank';instagram.rel='noopener noreferrer';instagram.setAttribute('aria-label','Instagram KOHA — otwórz w nowej karcie');instagram.innerHTML='\x3csvg viewBox="0 0 24 24" aria-hidden="true">\x3crect x="3" y="3" width="18" height="18" rx="5"/>\x3ccircle cx="12" cy="12" r="4"/>\x3ccircle cx="17.5" cy="6.5" r="1" fill="currentColor" stroke="none"/>\x3c/svg>';var socials=make('div');socials.className='koha-socials';socials.setAttribute('aria-label','Profile muzyczne KOHA');socials.append(instagram);[['Spotify','https://open.spotify.com/artist/1doQu2eMHYuPunYL273Txn?si=pwtkssR8SIOMHm-OGPfRUQ\x26nd=1\x26dlsi=2259e1480c414bb6','\x3ccircle cx="12" cy="12" r="9"/>\x3cpath d="M6.8 9.3c3.5-1.1 7.2-.8 10.5 1M7.5 12.2c2.9-.9 5.9-.6 8.8.8M8.3 15c2.3-.6 4.6-.4 6.8.7"/>'],['SoundCloud','https://soundcloud.com/koha_music','\x3cpath d="M2 13v3M5 10v7M8 8v9M11 17h8a3 3 0 0 0 .2-6 4.6 4.6 0 0 0-8.2-2.7Z"/>']].forEach(function(info){var link=make('a');link.className='koha-social';link.href=info[1];link.target='_blank';link.rel='noopener noreferrer';link.setAttribute('aria-label',info[0]+' KOHA — otwórz w nowej karcie');link.innerHTML='\x3csvg viewBox="0 0 24 24" aria-hidden="true">'+info[2]+'\x3c/svg>';socials.append(link);});actions.append(socials);contactInner.append(actions,footer);contact.append(contactInner);}if(contact){var lastPhoto=document.getElementById('koha-gallery-3');(lastPhoto||music).after(contact);contactInner.insertBefore(contactTitle,actions);actions.append(contactButton);}if(tracks.length)select(0);paint();if(!window.kohaFlowPlanned)initMobileScenes(hero);document.querySelectorAll('[data-koha-scroll]').forEach(function(link){link.addEventListener('click',function(event){event.preventDefault();var target=link.dataset.kohaScroll==='music'?music:link.dataset.kohaScroll==='contact'?contact:link.dataset.kohaScroll==='gallery'?document.getElementById('gallery'):hero;if(target)target.scrollIntoView({behavior:matchMedia('(prefers-reduced-motion: reduce)').matches?'instant':'smooth',block:'start'});});});}function initMobileScenes(hero){var small=matchMedia('(max-width:736px), (max-width:1024px) and (hover:none) and (pointer:coarse)'),reduce=matchMedia('(prefers-reduced-motion: reduce)'),items=[],frame=0;var photos=['koha-gallery-1','koha-gallery-2','koha-gallery-3'].map(function(id){return document.getElementById(id);}).filter(Boolean);photos.forEach(function(el,i){el.setAttribute('role','img');el.setAttribute('aria-label',['KOHA przy konsolecie — fotografia czarno-biała','KOHA w czerwonym i niebieskim świetle','KOHA i artyści na scenie — widok na publiczność'][i]);});if(hero)photos.unshift(hero);photos.forEach(function(el){var layer=make('div');layer.className='koha-mobile-scene';layer.setAttribute('aria-hidden','true');el.prepend(layer);items.push({el:el,layer:layer,visible:false});});function draw(){frame=0;if(document.hidden)return;items.forEach(function(item){if(!item.visible||!small.matches||reduce.matches)return;var r=item.el.getBoundingClientRect(),vh=hero?hero.clientHeight:innerHeight,progress=Math.max(-1,Math.min(1,(vh-r.top*2-r.height)/(vh+r.height)));var y=item.el.id==='koha-gallery-1'?(progress-1)*70:progress*110;item.layer.style.transform='translate3d(0,'+y.toFixed(2)+'px,0)';});}function schedule(){if(!frame && small.matches && !reduce.matches && !document.hidden)frame=requestAnimationFrame(draw);}function sync(){items.forEach(function(item){if(small.matches){item.el.classList.remove('koha-mobile-scene-ready');item.layer.style.backgroundImage=getComputedStyle(item.el).backgroundImage;item.el.classList.add('koha-mobile-scene-ready');}else{item.el.classList.remove('koha-mobile-scene-ready');}item.layer.style.transform='translate3d(0,0,0)';});schedule();}if('IntersectionObserver'in window){var observer=new IntersectionObserver(function(entries){entries.forEach(function(entry){var item=items.find(function(i){return i.el===entry.target;});if(item){item.visible=entry.isIntersecting;item.layer.style.willChange=entry.isIntersecting && small.matches && !reduce.matches?'transform':'auto';}});schedule();},{rootMargin:'64px 0px'});items.forEach(function(item){observer.observe(item.el);});}else items.forEach(function(item){item.visible=true;});window.addEventListener('scroll',schedule,{passive:true});window.addEventListener('resize',schedule,{passive:true});small.addEventListener('change',sync);reduce.addEventListener('change',sync);document.addEventListener('visibilitychange',schedule);sync();}if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',boot,{once:true});else boot();})();

Let’s make
some noise.

Logo Polaris

POLISHBOYS

.

About the project

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

  • Element 1

  • Element 2

  • Element 3


Ready to Elevate Your Brand with Premier Digital Design? Let's Connect and Begin Crafting Your Vision..

Want to learn more? Want to work with us?

Logo Polaris

About the project

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

  • Element 1

  • Element 2

  • Element 3


Ready to Elevate Your Brand with Premier Digital Design? Let's Connect and Begin Crafting Your Vision..

Want to learn more? Want to work with us?

Logo Polaris

About the project

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

  • Element 1

  • Element 2

  • Element 3


Ready to Elevate Your Brand with Premier Digital Design? Let's Connect and Begin Crafting Your Vision..

Want to learn more? Want to work with us?

Logo Polaris
Logo Polaris

About the project

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

  • Element 1

  • Element 2

  • Element 3


Ready to Elevate Your Brand with Premier Digital Design? Let's Connect and Begin Crafting Your Vision..

Want to learn more? Want to work with us?