-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.html
More file actions
180 lines (170 loc) · 11.1 KB
/
index.html
File metadata and controls
180 lines (170 loc) · 11.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>BBL Arbeitsplatz-Management</title>
<link rel="stylesheet" href="css/tokens.css">
<link rel="stylesheet" href="css/style.css">
<link href="https://unpkg.com/maplibre-gl@5.18.0/dist/maplibre-gl.css" rel="stylesheet">
<script src="https://unpkg.com/maplibre-gl@5.18.0/dist/maplibre-gl.js"></script>
</head>
<body>
<!-- Skip link for accessibility -->
<a href="#mainContent" class="skip-to-content">Zum Inhalt springen</a>
<!-- Cookie/Consent Banner -->
<div class="notification-banner" id="cookieBanner" role="alert">
<div class="notification-banner__wrapper">
<p class="notification-banner__text">
Diese Anwendung verwendet technisch notwendige Cookies für den Betrieb der Plattform.
<a href="#">Weitere Informationen</a>
</p>
<div class="notification-banner__actions">
<button class="btn btn--filled btn--sm" id="cookieAccept">Akzeptieren</button>
<button class="btn btn--outline btn--sm" id="cookieReject">Ablehnen</button>
</div>
</div>
</div>
<!-- ===== HEADER (admin.ch CD) ===== -->
<header class="site-header" role="banner">
<!-- Row 1: Top bar (dark) -->
<div class="top-bar">
<button class="top-bar__authorities" aria-expanded="false">
Alle Schweizer Bundesbehörden
<svg viewBox="0 0 12 12" aria-hidden="true"><polyline points="2,4 6,8 10,4" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>
</button>
<span class="top-bar__prototype-notice">Prototyp – nur zur Demonstration</span>
<div class="top-bar__actions">
<button class="top-bar__action" aria-label="Anmelden">
Anmelden
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"/><circle cx="12" cy="7" r="4"/></svg>
</button>
<div class="language-switcher" id="langSwitch">
<button class="top-bar__lang" aria-label="Sprache wählen" aria-expanded="false" aria-haspopup="true">
DE
<svg viewBox="0 0 12 12" aria-hidden="true"><polyline points="2,4 6,8 10,4" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>
</button>
<div class="language-switcher__dropdown" role="listbox" aria-label="Sprache">
<button class="language-switcher__option language-switcher__option--active" role="option" aria-selected="true">Deutsch</button>
<button class="language-switcher__option" role="option">Français</button>
<button class="language-switcher__option" role="option">Italiano</button>
<button class="language-switcher__option" role="option">Rumantsch</button>
</div>
</div>
</div>
</div>
<!-- Row 2: Top header (logo + department) -->
<div class="top-header">
<div class="top-header__left" onclick="navigateTo('home')">
<svg class="top-header__coat-of-arms" viewBox="0 0 40 44" role="img" aria-label="Schweizer Wappen">
<path d="m38.5778 3.2s-7.2-3.2-19.3-3.2c-12.00002 0-19.2000222 3.2-19.2000222 3.2s-.6999998 14.1 2.1000022 22.1c4.8 14 17.20002 18 17.20002 18s12.3-3.9 17.2-18c2.6-8 2-22.1 2-22.1z" fill="#ff0000"/>
<path d="m32.0779 15.4v7.8h-9v9.1h-7.7v-9.1h-8.99997v-7.8h8.99997v-9.09995h7.7v9.09995z" fill="#ffffff"/>
</svg>
<img class="top-header__text" src="assets/swiss-logo-name.svg" alt="Schweizerische Eidgenossenschaft – Confédération suisse – Confederazione Svizzera – Confederaziun svizra">
<div class="top-header__divider"></div>
<div class="top-header__dept">Bundesamt für Bauten und Logistik BBL<br><span class="top-header__dept-sub">Immobilienlogistik</span></div>
</div>
<div class="top-header__right">
<div class="top-header__meta-nav">
<a href="#" class="top-header__meta-link">Jobs</a>
<a href="https://www.bbl.admin.ch/de/kontakt" class="top-header__meta-link">Kontakt</a>
<a href="#" class="top-header__meta-link">Medien</a>
</div>
<div class="top-header__actions">
<div class="header-search" id="headerSearch">
<form class="header-search__form" id="headerSearchForm" role="search" aria-label="Seitensuche">
<input class="header-search__input" id="headerSearchInput" type="search" placeholder="Suchbegriff eingeben" aria-label="Suchbegriff eingeben" autocomplete="off">
<button class="header-search__btn" type="button" aria-label="Suche">
<span class="header-search__label">Suche</span>
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="7"/><line x1="16.5" y1="16.5" x2="21" y2="21"/></svg>
</button>
</form>
</div>
<button class="top-header__action" aria-label="Warenkorb" onclick="navigateTo('cart')">
<span>Warenkorb</span>
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="9" cy="21" r="1"/><circle cx="20" cy="21" r="1"/><path d="M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6"/></svg>
</button>
</div>
</div>
</div>
<!-- Row 3: Navigation -->
<nav class="navbar" aria-label="Hauptnavigation">
<!-- Hamburger for mobile -->
<button class="burger" id="burgerBtn" aria-label="Menü öffnen" aria-expanded="false">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><line x1="3" y1="6" x2="21" y2="6"/><line x1="3" y1="12" x2="21" y2="12"/><line x1="3" y1="18" x2="21" y2="18"/></svg>
</button>
<div class="main-navigation" id="appNav">
<a class="main-navigation__link" data-nav="shop" href="#/shop">Produktkatalog</a>
<a class="main-navigation__link" data-nav="circular" href="#/circular">Gebrauchte Möbel</a>
<a class="main-navigation__link" data-nav="planning" href="#/planning">Arbeitsplätze gestalten</a>
<a class="main-navigation__link" data-nav="occupancy" href="#/occupancy">Arbeitsplätze verwalten</a>
</div>
</nav>
</header>
<!-- ===== MAIN APP ===== -->
<div id="app"></div>
<footer class="app-footer">
<div class="footer-information">
<div class="footer-information__inner">
<div class="footer-information__col">
<h3 class="footer-information__heading">Über uns</h3>
<p class="footer-information__text">Das Bundesamt für Bauten und Logistik BBL stellt die Arbeitsplatzinfrastruktur der Bundesverwaltung bereit. Über diese Plattform können Mobiliar bestellt, Räume geplant und gebrauchte Möbel für die Wiederverwendung erfasst werden.</p>
<p class="footer-information__prototype-notice">Diese Anwendung ist ein Prototyp. Darstellung, Funktionalität und Inhalte dienen ausschliesslich der Demonstration.</p>
</div>
<div class="footer-information__col">
<h3 class="footer-information__heading">Bleiben Sie informiert</h3>
<div class="footer-information__social">
<a href="#" class="footer-information__social-link">
<svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor"><path d="M18 2h-3a5 5 0 00-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 011-1h3z"/></svg>
Facebook
</a>
<a href="#" class="footer-information__social-link">
<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="2" y="2" width="20" height="20" rx="5"/><circle cx="12" cy="12" r="5"/><circle cx="17.5" cy="6.5" r="1.5" fill="currentColor" stroke="none"/></svg>
Instagram
</a>
<a href="#" class="footer-information__social-link">
<svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor"><path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.062 2.062 0 01-2.063-2.065 2.064 2.064 0 112.063 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"/></svg>
LinkedIn
</a>
<a href="#" class="footer-information__social-link">
<svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor"><path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"/></svg>
X
</a>
<a href="#" class="footer-information__social-link">
<svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor"><path d="M23.498 6.186a3.016 3.016 0 00-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 00.502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 002.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 002.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z"/></svg>
YouTube
</a>
</div>
<button class="btn btn--negative btn--sm">Newsletter abonnieren →</button>
</div>
<div class="footer-information__col">
<h3 class="footer-information__heading">Weitere Informationen</h3>
<ul class="footer-information__list">
<li><a href="https://www.bbl.admin.ch/de/kontakt" target="_blank" rel="noopener">Kontakt <span>→</span></a></li>
<li><a href="floorplan-editor/index.html#/b-010/b-010-1" target="_blank" rel="noopener">Prototyp Grundriss Editor <span>→</span></a></li>
<li><a href="#/api-docs">API Dokumentation <span>→</span></a></li>
<li><a href="https://github.com/bbl-dres/workspace-management" target="_blank" rel="noopener">Quellencode <span>→</span></a></li>
</ul>
</div>
</div>
</div>
<div class="app-footer__bottom">
<div>© 2026 Bundesamt für Bauten und Logistik BBL — Schweizerische Eidgenossenschaft</div>
<div class="app-footer__links">
<a href="#">Impressum</a>
<a href="https://www.admin.ch/gov/de/start/rechtliches.html" target="_blank" rel="noopener">Rechtliches</a>
<a href="#">Barrierefreiheit</a>
<a href="https://www.bbl.admin.ch/de/kontakt" target="_blank" rel="noopener">Kontakt</a>
</div>
</div>
</footer>
<button class="back-to-top-btn" id="backToTop" aria-label="Zum Seitenanfang">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="18,15 12,9 6,15"/></svg>
</button>
<script src="js/components.js"></script>
<script src="js/app.js"></script>
<script src="js/pages.js"></script>
<script src="js/shop.js"></script>
<script src="js/occupancy.js"></script>
</body>
</html>