From 112837197afc8d77837cdd34cc9b280f775b645c Mon Sep 17 00:00:00 2001 From: kcharry Date: Sat, 24 Jan 2026 13:56:06 -0800 Subject: [PATCH 01/11] Add gitignore --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..22b6d02 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +# dependencies +node_modules/ \ No newline at end of file From 854e92fa61652cdd65397f331beb40e9867dd303 Mon Sep 17 00:00:00 2001 From: kcharry Date: Sat, 24 Jan 2026 14:01:33 -0800 Subject: [PATCH 02/11] Added build output to gitignore --- .gitignore | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 22b6d02..2c62204 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,5 @@ # dependencies -node_modules/ \ No newline at end of file +node_modules/ + +# build output +.next/ From a4f29e313603419c867e3313a7452e2db4aa9e0e Mon Sep 17 00:00:00 2001 From: kcharry Date: Sat, 24 Jan 2026 14:07:02 -0800 Subject: [PATCH 03/11] Created blog page --- app/blog/page.tsx | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 app/blog/page.tsx diff --git a/app/blog/page.tsx b/app/blog/page.tsx new file mode 100644 index 0000000..e69de29 From 91ac0af05976e0b0e74252585940f82d843f4735 Mon Sep 17 00:00:00 2001 From: kcharry Date: Sat, 24 Jan 2026 20:46:29 -0800 Subject: [PATCH 04/11] Added announcements and updates to blog page --- app/blog/page.tsx | 91 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) diff --git a/app/blog/page.tsx b/app/blog/page.tsx index e69de29..1cd2bb2 100644 --- a/app/blog/page.tsx +++ b/app/blog/page.tsx @@ -0,0 +1,91 @@ +"use client"; +import { useState } from "react"; + +const slides = [ + "image.png", + "image.png", + "image.png", + "image.png", + "image.png", +]; + +export default function BlogPage() { + const [index, setIndex] = useState(0); + const total = slides.length; + + const prev = () => + setIndex((i) => (i === 0 ? total - 1 : i - 1)); + + const next = () => + setIndex((i) => (i === total - 1 ? 0 : i + 1)); + + const get = (offset : number) => + slides[(index + offset + total) % total]; + + return ( +
+
+ image + +
+

ANNOUNCEMENTS

+
+
+
+
+
+
+
+ +
+

UPDATES

+
+ + {/* Previous slide */} + previous update + + {/* Left arrow */} + + + {/* Active slide */} + current update + + {/* Right arrow */} + + + {/* Next slide */} + next update +
+
+
+ +
+ + ); +} \ No newline at end of file From ba76ae4172b5003fe865cd6aceed937e2a553455 Mon Sep 17 00:00:00 2001 From: kcharry Date: Sat, 24 Jan 2026 20:55:15 -0800 Subject: [PATCH 05/11] Added the media section of blog page --- app/blog/page.tsx | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/app/blog/page.tsx b/app/blog/page.tsx index 1cd2bb2..5435b73 100644 --- a/app/blog/page.tsx +++ b/app/blog/page.tsx @@ -49,7 +49,7 @@ export default function BlogPage() { previous update {/* Left arrow */} @@ -64,7 +64,7 @@ export default function BlogPage() { current update {/* Right arrow */} @@ -79,12 +79,21 @@ export default function BlogPage() { next update + +
+

MEDIA

+
+
+
+
+
+
+
- ); From 2b29b4a0a92e904e8ec1da76ca12519e9e8a8069 Mon Sep 17 00:00:00 2001 From: kcharry Date: Sat, 24 Jan 2026 20:57:15 -0800 Subject: [PATCH 06/11] Moved next-env.d.ts to gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 2c62204..244a368 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ node_modules/ # build output .next/ +next-env.d.ts \ No newline at end of file From 89e6754a88969c01c45c6b7e0b386dbca33b5979 Mon Sep 17 00:00:00 2001 From: kcharry Date: Fri, 30 Jan 2026 21:19:05 -0800 Subject: [PATCH 07/11] Made updates into components --- app/blog/Updates.tsx | 12 +++++++++++ app/blog/page.tsx | 47 ++++++++++++++++++++++---------------------- 2 files changed, 36 insertions(+), 23 deletions(-) create mode 100644 app/blog/Updates.tsx diff --git a/app/blog/Updates.tsx b/app/blog/Updates.tsx new file mode 100644 index 0000000..f12f6a4 --- /dev/null +++ b/app/blog/Updates.tsx @@ -0,0 +1,12 @@ +import React from 'react'; + +interface UpdatesProps { + className?: string; + children?: React.ReactNode; +} + +const Updates: React.FC = ({ className, children }) => { + return
{children}
; +}; + +export default Updates; \ No newline at end of file diff --git a/app/blog/page.tsx b/app/blog/page.tsx index 5435b73..1c84fe2 100644 --- a/app/blog/page.tsx +++ b/app/blog/page.tsx @@ -1,17 +1,18 @@ "use client"; import { useState } from "react"; +import Updates from './Updates'; -const slides = [ - "image.png", - "image.png", - "image.png", - "image.png", - "image.png", +const updateContents = [ + "Update 1", + "Update 2", + "Update 3", + "Update 4", + "Update 5", ]; export default function BlogPage() { const [index, setIndex] = useState(0); - const total = slides.length; + const total = updateContents.length; const prev = () => setIndex((i) => (i === 0 ? total - 1 : i - 1)); @@ -20,7 +21,7 @@ export default function BlogPage() { setIndex((i) => (i === total - 1 ? 0 : i + 1)); const get = (offset : number) => - slides[(index + offset + total) % total]; + updateContents[(index + offset + total) % total]; return (
@@ -46,11 +47,11 @@ export default function BlogPage() {
{/* Previous slide */} - previous update + + {get(-1)} + {/* Left arrow */}
From 73574492648b3b78b2f1a83c333a1a68545ebc43 Mon Sep 17 00:00:00 2001 From: kcharry Date: Fri, 30 Jan 2026 21:27:13 -0800 Subject: [PATCH 08/11] Made announcement boxes into components --- app/blog/Announcement.tsx | 12 ++++++++++++ app/blog/page.tsx | 9 +++++---- 2 files changed, 17 insertions(+), 4 deletions(-) create mode 100644 app/blog/Announcement.tsx diff --git a/app/blog/Announcement.tsx b/app/blog/Announcement.tsx new file mode 100644 index 0000000..5d1766f --- /dev/null +++ b/app/blog/Announcement.tsx @@ -0,0 +1,12 @@ +import React from 'react'; + +interface AnnouncementProps { + className?: string; + children?: React.ReactNode; +} + +const Announcement: React.FC = ({ className, children }) => { + return
{children}
; +}; + +export default Announcement; \ No newline at end of file diff --git a/app/blog/page.tsx b/app/blog/page.tsx index 1c84fe2..a8fbc79 100644 --- a/app/blog/page.tsx +++ b/app/blog/page.tsx @@ -1,6 +1,7 @@ "use client"; import { useState } from "react"; import Updates from './Updates'; +import Announcement from './Announcement'; const updateContents = [ "Update 1", @@ -35,10 +36,10 @@ export default function BlogPage() {

ANNOUNCEMENTS

-
-
-
-
+ + + +
From 4065e8113084cde3d1ee80d342639b726988f95f Mon Sep 17 00:00:00 2001 From: kcharry Date: Fri, 30 Jan 2026 21:33:18 -0800 Subject: [PATCH 09/11] Moved css for Updates into the component --- app/blog/Updates.tsx | 2 +- app/blog/page.tsx | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/app/blog/Updates.tsx b/app/blog/Updates.tsx index f12f6a4..35833d2 100644 --- a/app/blog/Updates.tsx +++ b/app/blog/Updates.tsx @@ -6,7 +6,7 @@ interface UpdatesProps { } const Updates: React.FC = ({ className, children }) => { - return
{children}
; + return
{children}
; }; export default Updates; \ No newline at end of file diff --git a/app/blog/page.tsx b/app/blog/page.tsx index a8fbc79..31bf347 100644 --- a/app/blog/page.tsx +++ b/app/blog/page.tsx @@ -49,7 +49,7 @@ export default function BlogPage() { {/* Previous slide */} {get(-1)} @@ -64,7 +64,7 @@ export default function BlogPage() { {/* Active slide */} {get(0)} @@ -79,7 +79,7 @@ export default function BlogPage() { {/* Next slide */} {get(1)} From 149178f8d4cdf1407c62b564222e6fb6b6e8dcaf Mon Sep 17 00:00:00 2001 From: kcharry Date: Fri, 30 Jan 2026 21:52:28 -0800 Subject: [PATCH 10/11] Made media into components and fixed updates --- app/blog/Media.tsx | 12 ++++++++++++ app/blog/Updates.tsx | 2 +- app/blog/page.tsx | 15 ++++++++------- 3 files changed, 21 insertions(+), 8 deletions(-) create mode 100644 app/blog/Media.tsx diff --git a/app/blog/Media.tsx b/app/blog/Media.tsx new file mode 100644 index 0000000..77b1fce --- /dev/null +++ b/app/blog/Media.tsx @@ -0,0 +1,12 @@ +import React from 'react'; + +interface MediaProps { + className?: string; + children?: React.ReactNode; +} + +const Media: React.FC = ({ className, children }) => { + return
{children}
; +}; + +export default Media; \ No newline at end of file diff --git a/app/blog/Updates.tsx b/app/blog/Updates.tsx index 35833d2..835f293 100644 --- a/app/blog/Updates.tsx +++ b/app/blog/Updates.tsx @@ -6,7 +6,7 @@ interface UpdatesProps { } const Updates: React.FC = ({ className, children }) => { - return
{children}
; + return
{children}
; }; export default Updates; \ No newline at end of file diff --git a/app/blog/page.tsx b/app/blog/page.tsx index 31bf347..2737d5a 100644 --- a/app/blog/page.tsx +++ b/app/blog/page.tsx @@ -2,6 +2,7 @@ import { useState } from "react"; import Updates from './Updates'; import Announcement from './Announcement'; +import Media from './Media'; const updateContents = [ "Update 1", @@ -49,7 +50,7 @@ export default function BlogPage() { {/* Previous slide */} {get(-1)} @@ -64,7 +65,7 @@ export default function BlogPage() { {/* Active slide */} {get(0)} @@ -79,7 +80,7 @@ export default function BlogPage() { {/* Next slide */} {get(1)} @@ -89,10 +90,10 @@ export default function BlogPage() {

MEDIA

-
-
-
-
+ + + +
From e1ef9fefc4a163ec3325a789a94d6235a4e1125f Mon Sep 17 00:00:00 2001 From: kcharry Date: Fri, 30 Jan 2026 22:02:09 -0800 Subject: [PATCH 11/11] Made page mobile responsive --- app/blog/page.tsx | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/app/blog/page.tsx b/app/blog/page.tsx index 2737d5a..52943cf 100644 --- a/app/blog/page.tsx +++ b/app/blog/page.tsx @@ -27,7 +27,7 @@ export default function BlogPage() { return (
-
+
image
-

ANNOUNCEMENTS

-
+

ANNOUNCEMENTS

+
@@ -45,12 +45,12 @@ export default function BlogPage() {
-

UPDATES

-
+

UPDATES

+
{/* Previous slide */} {get(-1)} @@ -58,14 +58,14 @@ export default function BlogPage() { {/* Left arrow */} {/* Active slide */} {get(0)} @@ -73,14 +73,14 @@ export default function BlogPage() { {/* Right arrow */} {/* Next slide */} {get(1)} @@ -88,8 +88,8 @@ export default function BlogPage() {
-

MEDIA

-
+

MEDIA

+