From 95c147b237ffd8a4195c1998ecc693e71ad655f9 Mon Sep 17 00:00:00 2001
From: Arjun Satarkar <me@arjunsatarkar.net>
Date: Wed, 1 Jan 2025 18:37:38 +0530
Subject: Refactor, add link to source, add license

---
 src/routes/+page.svelte | 23 +++++++++++++++--------
 1 file changed, 15 insertions(+), 8 deletions(-)

(limited to 'src/routes/+page.svelte')

diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte
index 093347f..3bdd11d 100644
--- a/src/routes/+page.svelte
+++ b/src/routes/+page.svelte
@@ -1,5 +1,7 @@
 <script lang="ts">
     import { DateTime } from "luxon";
+    import RubySquareYear from "./RubySquareYear.svelte";
+    import Square from "./Square.svelte";
 
     const getCurrentYear = () => DateTime.now().year;
     const getRelative = (year: number) =>
@@ -10,9 +12,8 @@
     let isPerfectSquare = $derived(Number.isInteger(sqrt));
     let lastSqrt = $derived(isPerfectSquare ? sqrt - 1 : Math.floor(sqrt));
     let nextSqrt = $derived(isPerfectSquare ? sqrt + 1 : Math.ceil(sqrt));
-    let last = $derived(lastSqrt ** 2);
     let next = $derived(nextSqrt ** 2);
-    let nextRelative: string = $state("");
+    let nextRelative = $state("");
 
     const update = () => {
         year = getCurrentYear();
@@ -22,22 +23,25 @@
     setInterval(update, 500);
 </script>
 
-<div id="container">
+<div id="mainDisplay">
     <h1>Is the year a perfect square?</h1>
     {#if isPerfectSquare}
         <div id="answer">Yes.</div>
-        <strong>{sqrt}</strong><sup>2</sup> = {year}.
+        <strong>{sqrt}</strong><Square /> = {year}.
     {:else}
         <div id="answer">No.</div>
     {/if}
     The last was
-    <ruby>{last}<rp> (</rp><rt>{lastSqrt}<sup>2</sup></rt><rp>)</rp></ruby>, and
-    the next is
-    <ruby>{next}<rp> (</rp><rt>{nextSqrt}<sup>2</sup></rt><rp>)</rp></ruby>, {nextRelative}!
+    <RubySquareYear sqrt={lastSqrt} /> and the next is
+    <RubySquareYear sqrt={nextSqrt} />, {nextRelative}!
+</div>
+
+<div id="sourceLinkContainer">
+    <a href="https://github.com/arjunsatarkar/is-the-year-a-perfect-square">source code</a>
 </div>
 
 <style>
-    #container {
+    #mainDisplay {
         text-align: center;
         font-size: 2rem;
     }
@@ -52,4 +56,7 @@
         font-weight: bold;
         font-family: sans-serif;
     }
+    #sourceLinkContainer {
+        text-align: right;
+    }
 </style>
-- 
cgit v1.2.3-57-g22cb

