From 8a6bd55837caebb260df0d1b85668df3d89614e7 Mon Sep 17 00:00:00 2001 From: Marijn Besseling Date: Sun, 7 Sep 2025 21:07:07 +0200 Subject: add number generator --- Blog/Components/App.razor | 2 +- Blog/Components/Pages/Generator.razor | 12 ++++++++ Blog/Components/Pages/Generator.razor.js | 47 ++++++++++++++++++++++++++++++++ 3 files changed, 60 insertions(+), 1 deletion(-) create mode 100644 Blog/Components/Pages/Generator.razor create mode 100644 Blog/Components/Pages/Generator.razor.js (limited to 'Blog/Components') diff --git a/Blog/Components/App.razor b/Blog/Components/App.razor index 7c8b8ce..24c9d62 100644 --- a/Blog/Components/App.razor +++ b/Blog/Components/App.razor @@ -49,7 +49,7 @@
  • Calculator
  • Concatenator
  • Netflix to Letterboxd converter
  • -
  • Number generator
  • +
  • Number generator
  • Note
  • QR-code scanner
  • QR-code generator
  • diff --git a/Blog/Components/Pages/Generator.razor b/Blog/Components/Pages/Generator.razor new file mode 100644 index 0000000..52d9d1a --- /dev/null +++ b/Blog/Components/Pages/Generator.razor @@ -0,0 +1,12 @@ +@page "/Generator" +Number generator + + +
    + + + +
    +
    +
    +
    \ No newline at end of file diff --git a/Blog/Components/Pages/Generator.razor.js b/Blog/Components/Pages/Generator.razor.js new file mode 100644 index 0000000..65036cd --- /dev/null +++ b/Blog/Components/Pages/Generator.razor.js @@ -0,0 +1,47 @@ +import { addClass /*writeInfo*/, div, getById, span } from "/common.module.js"; + +function writeInfo(label, msg) { + log.appendChild( + div( + addClass(div(addClass(span(label), "noselect"), span(msg)), "info"), + ), + ); +} + +export function onLoad() { + const gen_bsn = getById("bsn"); + gen_bsn.addEventListener("click", generateBsn); +} + +function generateBsn() { + const nr9 = Math.floor(Math.random() * 7); + const nr8 = Math.floor(Math.random() * 10); + const nr7 = Math.floor(Math.random() * 10); + const nr6 = Math.floor(Math.random() * 10); + const nr5 = Math.floor(Math.random() * 10); + const nr4 = Math.floor(Math.random() * 10); + const nr3 = Math.floor(Math.random() * 10); + let nr2 = Math.floor(Math.random() * 10); + const bsnNumber = + 9 * nr9 + + 8 * nr8 + + 7 * nr7 + + 6 * nr6 + + 5 * nr5 + + 4 * nr4 + + 3 * nr3 + + 2 * nr2; + let nr1 = Math.floor(bsnNumber - Math.floor(bsnNumber / 11) * 11); + if (nr1 > 9) { + if (nr2 > 0) { + nr2 -= 1; + nr1 = 8; + } else { + nr2 += 1; + nr1 = 1; + } + } + + const BSNString = "" + nr9 + nr8 + nr7 + nr6 + nr5 + nr4 + nr3 + nr2 + nr1; + writeInfo("BSN: ", BSNString); +} -- cgit v1.2.3