Skip to content

Commit 830c725

Browse files
committed
Use the top bar for more things. #15
1 parent f59ee5b commit 830c725

File tree

6 files changed

+55
-49
lines changed

6 files changed

+55
-49
lines changed

web/assets/README.md

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Material Design icons from <https://material.io/resources/icons>, Apache license

web/assets/settings.svg

+1
Loading

web/src/App.svelte

+5-4
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,13 @@
66
import initRouteSnapper from "route-snapper";
77
import { onMount } from "svelte";
88
import { FillLayer, GeoJSON, MapLibre } from "svelte-maplibre";
9-
import { Geocoder, Layout, layerId, BasemapPicker } from "./common";
9+
import { Geocoder, Layout, layerId } from "./common";
1010
import DebugMode from "./DebugMode.svelte";
1111
import DebugGJ from "./DebugGJ.svelte";
1212
import NeighbourhoodMode from "./edit/NeighbourhoodMode.svelte";
1313
import NetworkMode from "./NetworkMode.svelte";
1414
import RouteMode from "./RouteMode.svelte";
15+
import Settings from "./Settings.svelte";
1516
import SetBoundaryMode from "./SetBoundaryMode.svelte";
1617
import {
1718
app,
@@ -44,7 +45,7 @@
4445
);
4546
}
4647
47-
let topDiv: HTMLDivElement;
48+
let topDiv: HTMLSpanElement;
4849
let sidebarDiv: HTMLDivElement;
4950
let mapDiv: HTMLDivElement;
5051
$: if (topDiv && $topContents) {
@@ -68,7 +69,8 @@
6869
style="height: 8vh; margin-right: 20px;"
6970
alt="A/B Street logo"
7071
/>
71-
<span bind:this={topDiv} />
72+
<Settings />
73+
<span bind:this={topDiv} style="width: 100%" />
7274
</div>
7375
<div slot="left">
7476
<div bind:this={sidebarDiv} />
@@ -80,7 +82,6 @@
8082
>Zoom to fit study area</button
8183
>
8284
{/if}
83-
<BasemapPicker />
8485
</div>
8586
<div slot="main" style="position: relative; width: 100%; height: 100%;">
8687
<MapLibre

web/src/NetworkMode.svelte

+12-20
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
</script>
3636

3737
<SplitComponent>
38-
<div slot="top">
38+
<div slot="top" style="display: flex; justify-content: space-between;">
3939
<nav aria-label="breadcrumb">
4040
<!-- svelte-ignore a11y-invalid-attribute -->
4141
<ul>
@@ -47,27 +47,19 @@
4747
<li>Define neighbourhood boundaries</li>
4848
</ul>
4949
</nav>
50+
<span style="display: flex">
51+
<button
52+
class="outline"
53+
style="margin-right: 8px"
54+
on:click={() => ($mode = { mode: "route", prevMode: "network" })}
55+
>Route</button
56+
>
57+
<button class="outline" on:click={() => ($mode = { mode: "debug-gj" })}
58+
>Debug route snapper</button
59+
>
60+
</span>
5061
</div>
5162
<div slot="sidebar">
52-
<nav>
53-
<ul>
54-
<li>
55-
<button
56-
class="outline"
57-
on:click={() => ($mode = { mode: "route", prevMode: "network" })}
58-
>Route</button
59-
>
60-
</li>
61-
<li>
62-
<button
63-
class="outline"
64-
on:click={() => ($mode = { mode: "debug-gj" })}
65-
>Debug route snapper</button
66-
>
67-
</li>
68-
</ul>
69-
</nav>
70-
7163
<p>
7264
Inside the neighbourhood you define, the goal is to eliminate (or
7365
deliberately permit) through-traffic. An appropriate neighbourhood

web/src/Settings.svelte

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
<script lang="ts">
2+
import { BasemapPicker, Modal } from "./common";
3+
import settings from "../assets/settings.svg?url";
4+
5+
let show = false;
6+
</script>
7+
8+
<button class="outline" on:click={() => (show = true)}
9+
><img src={settings} alt="Settings" /></button
10+
>
11+
12+
{#if show}
13+
<Modal on:close={() => (show = false)}>
14+
<h1>Settings</h1>
15+
<BasemapPicker />
16+
<center><button on:click={() => (show = false)}>Confirm</button></center>
17+
</Modal>
18+
{/if}

web/src/edit/NeighbourhoodMode.svelte

+18-25
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@
101101
<svelte:window on:keydown={onKeyDown} />
102102

103103
<SplitComponent>
104-
<div slot="top">
104+
<div slot="top" style="display: flex; justify-content: space-between;">
105105
<nav aria-label="breadcrumb">
106106
<!-- svelte-ignore a11y-invalid-attribute -->
107107
<ul>
@@ -122,32 +122,25 @@
122122
</li>
123123
</ul>
124124
</nav>
125+
<span style="display: flex">
126+
<button
127+
class="outline"
128+
style="margin-right: 8px"
129+
on:click={() => ($mode = { mode: "view-shortcuts" })}
130+
>View shortcuts</button
131+
>
132+
<button
133+
class="outline"
134+
style="margin-right: 8px"
135+
on:click={() => ($mode = { mode: "route", prevMode: "neighbourhood" })}
136+
>Route</button
137+
>
138+
<button class="outline" on:click={() => ($mode = { mode: "debug" })}
139+
>Debug</button
140+
>
141+
</span>
125142
</div>
126143
<div slot="sidebar">
127-
<nav>
128-
<ul>
129-
<li>
130-
<button
131-
class="outline"
132-
on:click={() => ($mode = { mode: "view-shortcuts" })}
133-
>View shortcuts</button
134-
>
135-
</li>
136-
<li>
137-
<button
138-
class="outline"
139-
on:click={() =>
140-
($mode = { mode: "route", prevMode: "neighbourhood" })}
141-
>Route</button
142-
>
143-
</li>
144-
<li>
145-
<button class="outline" on:click={() => ($mode = { mode: "debug" })}
146-
>Debug</button
147-
>
148-
</li>
149-
</ul>
150-
</nav>
151144
<button
152145
class="outline"
153146
on:click={() =>

0 commit comments

Comments
 (0)