diff options
author | Andinus <andinus@nand.sh> | 2021-10-09 19:04:54 +0530 |
---|---|---|
committer | Andinus <andinus@nand.sh> | 2021-10-09 19:04:54 +0530 |
commit | 29c72e8fea9e2d75ce1c2874fb1787fe937f127d (patch) | |
tree | 77442328fe91f0e637d9d7c0e738b0d7ba74c766 | |
parent | 28f2122ce73f197bf28d062f1e6c2bea366bf078 (diff) | |
download | dorado-29c72e8fea9e2d75ce1c2874fb1787fe937f127d.tar.gz |
Changing page with Navbar using Component event
-rw-r--r-- | src/App.svelte | 8 | ||||
-rw-r--r-- | src/Navbar.svelte | 27 | ||||
-rw-r--r-- | src/algorithms/line-drawing/Bresenham.svelte | 1 |
3 files changed, 24 insertions, 12 deletions
diff --git a/src/App.svelte b/src/App.svelte index 7ce6b42..f9742c5 100644 --- a/src/App.svelte +++ b/src/App.svelte @@ -1,17 +1,13 @@ <script> import Navbar from './Navbar.svelte' - import Home from './Home.svelte' - import DDA from './algorithms/line-drawing/DDA.svelte' let page = Home + const changePage = event => page = event.detail.page; </script> <h1 class="title">CG Algorithms</h1> -<Navbar /> +<Navbar on:message={changePage} /> <main> <svelte:component this={page} /> </main> - -<style> -</style> diff --git a/src/Navbar.svelte b/src/Navbar.svelte index a1a3712..3241646 100644 --- a/src/Navbar.svelte +++ b/src/Navbar.svelte @@ -1,11 +1,25 @@ +<script> + import { createEventDispatcher } from 'svelte'; + + import Home from './Home.svelte' + import DDA from './algorithms/line-drawing/DDA.svelte' + import Bresenham from './algorithms/line-drawing/Bresenham.svelte' + + const dispatch = createEventDispatcher(); + + const pageHome = () => {dispatch('message', { page: Home });} + const pageDDA = () => {dispatch('message', { page: DDA });} + const pageBresenham = () => {dispatch('message', { page: Bresenham });} +</script> + <nav class="ddmenu"> - <a href="#">Home</a> + <button on:click={pageHome}>Home</button> <div class="ddgroup"> Line Drawing Algorithms <div class="ddsub"> - <a href="#">DDA</a> - <a href="#">Bresenham</a> + <button on:click={pageDDA}>DDA</button> + <button on:click={pageBresenham}>Bresenham</button> </div> </div> </nav> @@ -13,7 +27,8 @@ <style> .ddmenu { display: flex; } - .ddmenu a, .ddmenu .ddgroup { + .ddmenu button, .ddmenu .ddgroup { + text-align: left; width: 100%; padding: 15px; color: var(--fg-main); @@ -21,7 +36,7 @@ background: var(--bg-alt); border: 2px solid var(--bg-main); } - .ddmenu a:hover, .ddmenu .ddgroup:hover { + .ddmenu button:hover, .ddmenu .ddgroup:hover { color: var(--fg-special-cold); background: var(--bg-dim); cursor: pointer; @@ -33,7 +48,7 @@ top: 100%; left: 0; display: none; } - .ddsub a { + .ddsub button { display: block; box-sizing: border-box; } diff --git a/src/algorithms/line-drawing/Bresenham.svelte b/src/algorithms/line-drawing/Bresenham.svelte new file mode 100644 index 0000000..d2f81af --- /dev/null +++ b/src/algorithms/line-drawing/Bresenham.svelte @@ -0,0 +1 @@ +<p>Bresenham</p> |