From 9db8ca7d0f5e2db73c3fec8ad1963fc3dc3050ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=F0=9F=8D=95?= Date: Sun, 8 Feb 2026 23:05:24 +0800 Subject: [PATCH 1/2] Adds .editorconfig to standardize code formatting Establishes baseline editor settings to ensure uniform indentation, line endings, and character encoding across various development environments. --- .editorconfig | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 .editorconfig diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..1a62086 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,9 @@ +root = true + +[*] +indent_style = space +indent_size = 2 +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = false +insert_final_newline = false \ No newline at end of file From 74726513c6e2c3e432648b716d7144dcde5d179a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=F0=9F=8D=95?= Date: Sun, 8 Feb 2026 23:05:41 +0800 Subject: [PATCH 2/2] Refactor honorable members into a component Extract the member card logic into a reusable component and move member data to a dedicated constants file. This improves maintainability and cleans up the main index page by replacing hardcoded markup with a data-driven approach. --- src/components/member-card.astro | 32 ++++++++++++++ src/constants/honorable-members.ts | 46 ++++++++++++++++++++ src/pages/index.astro | 68 ++---------------------------- 3 files changed, 81 insertions(+), 65 deletions(-) create mode 100644 src/components/member-card.astro create mode 100644 src/constants/honorable-members.ts diff --git a/src/components/member-card.astro b/src/components/member-card.astro new file mode 100644 index 0000000..70d0157 --- /dev/null +++ b/src/components/member-card.astro @@ -0,0 +1,32 @@ +--- +import type { HonorableMember } from "../constants/honorable-members"; + +interface Props { + data: HonorableMember; +} + +const { data } = Astro.props; +--- + +
+ {`${data.name} +
+ + {data.name} + + {data.title} +
+
+ { + data.links.map(({ Icon, url }) => ( + + + + )) + } +
+
diff --git a/src/constants/honorable-members.ts b/src/constants/honorable-members.ts new file mode 100644 index 0000000..f335c28 --- /dev/null +++ b/src/constants/honorable-members.ts @@ -0,0 +1,46 @@ +import type { JSX } from "astro/jsx-runtime" +import IconBrandGithub from "~icons/tabler/brand-github"; +import IconBrandX from "~icons/tabler/brand-x"; + +export interface HonorableMember { + name: string, + avatarSrc: string, + title: string, + links: { + Icon: JSX.Element, + url: string, + }[] + +} + +const honorableMembers: HonorableMember[] = [ + { + name: 'dominos', + avatarSrc: 'https://github.com/dominosaurs.png', + title: 'Inisiator', + links: [ + { + Icon: IconBrandGithub, + url: 'https://github.com/dominosaurs', + }, { + Icon: IconBrandX, + url: 'https://x.com/dominosaurs_', + } + ] + }, { + name: 'pow', + avatarSrc: 'https://github.com/kimmyxpow.png', + title: 'Insinyur Desain', + links: [ + { + Icon: IconBrandGithub, + url: 'http://github.com/kimmyxpow', + }, { + Icon: IconBrandX, + url: 'https://x.com/kimmyxpow', + } + ] + } +] + +export default honorableMembers diff --git a/src/pages/index.astro b/src/pages/index.astro index fa8bb99..4f85fbb 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -1,9 +1,9 @@ --- import Layout from "~/layouts/app.astro"; import IconArrowUpRight from "~icons/tabler/arrow-up-right"; -import IconBrandGithub from "~icons/tabler/brand-github"; -import IconBrandX from "~icons/tabler/brand-x"; import HeroSection from "~/sections/home/hero.astro"; +import honorableMembers from "~/constants/honorable-members"; +import MemberCard from "~/components/member-card.astro"; --- @@ -208,69 +208,7 @@ import HeroSection from "~/sections/home/hero.astro"; class="border-x w-full border-t border-border-dark flex flex-col relative bg-background" >
-
- -
- Adam Akbar - Inisiator -
- -
-
- -
- pow - Insinyur Desain -
- -
+ {honorableMembers.map((member) => )}