<!DOCTYPE html>
<meta charset="utf-8">
<!-- https://html.spec.whatwg.org/multipage/syntax.html#syntax-tag-omission -->
<title>Warszawski Hackerspace</title>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="stylesheet" href="/static/site/landing.css"/>
<link rel="stylesheet" href="/static/site/fonts.css"/>
<link rel="stylesheet" href="/static/leaflet/leaflet.css"/>
<style>
</style>
<div id="ledsFloater">
<div id="ledsWrapper">
    <div id="leds">
    </div>
</div>
</div>
<div id="page">
    <header id="top">
        <div id="logo">
            <img src="/static/site/neon-syrenka.svg" />
        </div>
        <div class="type">
            <h1>Warszawski Hackerspace</h1>
        </div>
    </header>
    <nav id="quicklinks">
        <ul>
            <li><a href="https://wiki.hackerspace.pl/">Wiki</a></li>
            <li><a href="https://profile.hackerspace.pl/">Konto</a></li>
            <li><a href="https://wiki.hackerspace.pl/partners">Partnerzy</a></li>
            <li><a href="https://wiki.hackerspace.pl/kontakt">Kontakt</a></li>
            {{ if eq .AtError nil }}
            {{ $count := len .AtStatus.Users }}
            <li>
                <a href="https://at.hackerspace.pl">Osób w spejsie: <b>{{ $count }}</b></a>
            </li>
            {{ end }}
        </ul>
    </nav>
    <div class="bottom">
        <div class="about">
            <h2>Czym jest Warszawski Hackerspace?</h2>
            <p>
              Przestrzeń stworzona i utrzymywana przez grupę kreatywnych osób, które łączy fascynacja ogólno pojętym tworzeniem w duchu <a href="https://pl.wikipedia.org/wiki/Spo%C5%82eczno%C5%9B%C4%87_haker%C3%B3w">kultury hackerskiej</a>. Razem utrzymujemy przestrzeń na ul. Wolność 2A, gdzie mamy między innymi:
              <ul>
                  <li><b>Warsztat ciężki</b>, ze sprzętem takim jak ploter laserowy, frezarka kolumnowa CNC, tokarka, spawarki i ramię robotyczne KUKA,</li>
                  <li><b>Warsztat elektroniczny</b>, z oscyloskopami, stacjami lutowniczymi i masą części elektronicznych,</li>
                  <li><b>Przestrzeń socjalną</b>, pełną stołów i kanap do hakowania nad projektami software'owymi,</li>
                  <li><b>Serwerownię</b>, utrzymująca infrastrukturę spejsu i naszego mikro-ISP <a href="https://bgp.wtf">bgp.wtf</a>.</li>
              </ul>
            </p>
            <p>
              <b>Hackerspace nie zna barier.</b> Jeśli masz ciekawy pomysł i szukasz ludzi chętnych do współpracy, lub po prostu potrzebujesz miejsca i sprzętu - <a href="https://wiki.hackerspace.pl/jak-dolaczyc">zapraszamy</a>! Utrzymujemy się w całosci z wolontariatu naszych członków, <a href="https://wiki.hackerspace.pl/finanse">darowizn i składek</a> oraz drobnej aktywności komercyjnej.
            </p>
            <section id="gallery">
                <div class="img-wrapper">
                    <img src="/static/site/space.jpg" />
                </div>
                <ul id="gallery-nav">
                    <li data-name="space" class="active"><a href="#">Spejs</a></li>
                    <li data-name="frezarka"><a href="#">Frezarka</a></li>
                    <li data-name="tokarka"><a href="#">Tokarka</a></li>
                    <li data-name="kuka"><a href="#">KUKA</a></li>
                    <li data-name="serwerownia"><a href="#">Serwerownia</a></li>
                </ul>
            </section>
            <h2>Czy mogę odwiedzić spejs? Jak do was dołączyć?</h2>
            <p>
              Nasze cotygodniowe otwarte spotkania są w tej chwili zawieszone z powodu pandemii. Mimo tego, <b>dalej jesteśmy otwarci na nowych członków</b> i zainteresowanych - tylko w mniejszej skali i po wcześniejszym umówieniu się. Więcej informacji znajdziesz na <a href="https://wiki.hackerspace.pl/jak-dolaczyc">wiki.hackerspace.pl/jak-dolaczyc</a>.
            </p>
            <h2>Gdzie jest Hackerspace?</h2>
            <div id="map"></div>
            <p>
                Stowarzyszenie Warszawski Hackerspace, ul. Wolność 2A, 01-018 Warszawa.
            </p>
            <h2>Gdzie was znaleźć w Internecie?</h2>
            <p>
              Jeśli nalegasz, mamy rzadko aktualizowane konta na <a href="https://twitter.com/hackerspacepl">Twitterze</a> i <a href="https://www.facebook.com/hackerspacepl">Facebooku</a>. Lepiej jednak kontaktować się z nami <a href="https://wiki.hackerspace.pl/kontakt">przez IRC, Matrixa lub mejlowo</a>.
            </p>
        </div>
    </div>
</div>

<script>
window.loadMap = () => {
    let map = L.map('map', {
        center: [52.24158, 20.9848],
        zoom: 13,
        scrollWheelZoom: false,
    });

    L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
        attribution: '&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a>'
    }).addTo(map);

    L.marker([52.24158, 20.9848]).addTo(map);
}
document.querySelectorAll('#gallery-nav > li > a').forEach(link => {
    link.onclick = e => {
        e.preventDefault()
        document.querySelector(`#gallery-nav > li.active`).classList.remove('active')
        const li = e.currentTarget.parentNode
        li.classList.add('active')
        const name = li.dataset.name
        document.querySelector('#gallery img').src = `/static/site/${name}.jpg`
    }
})
</script>
<script src="/static/leaflet/leaflet.js" crossorigin="" onload="loadMap()"></script>
<script src="/static/site/led.js" crossorigin="" type="module" ></script>
