From 160ee3a05f1ab11a02aa46d8a553c0f1e36da870 Mon Sep 17 00:00:00 2001 From: SleepSheep Date: Mon, 23 Jun 2025 15:11:14 +0800 Subject: [PATCH 1/2] feat: add left and right arrow click handlers for language selection --- .../home/components/HomepageCodeDisplay.tsx | 119 +++++++++++------- 1 file changed, 73 insertions(+), 46 deletions(-) diff --git a/src/pages/home/components/HomepageCodeDisplay.tsx b/src/pages/home/components/HomepageCodeDisplay.tsx index b1a6663bd9..50a91642e3 100644 --- a/src/pages/home/components/HomepageCodeDisplay.tsx +++ b/src/pages/home/components/HomepageCodeDisplay.tsx @@ -56,6 +56,20 @@ export default function HomepageCodeDisplay() { }); }; + const handleLeftArrowClick = () => { + const currentIndex = langs.indexOf(selectedLang); + setSelectedLang( + langs[currentIndex > 0 ? currentIndex - 1 : langs.length - 1] + ); + startAutoSlide(); + }; + + const handleRightArrowClick = () => { + const currentIndex = langs.indexOf(selectedLang); + setSelectedLang(langs[(currentIndex + 1) % langs.length]); + startAutoSlide(); + }; + return (
{/* Pic */} @@ -75,56 +89,69 @@ export default function HomepageCodeDisplay() { height: "666px", }} > - {/* Top Bar */} -
-
- {langs.map((lang) => ( - + ))} +
+
+ {/* Code Area with animation and scroll */} + + - {CODE_EXAMPLES[lang].label} - - ))} + +
+ + {CODE_EXAMPLES[selectedLang].code} + +
+
+
+
+
+ arrow-right
- - - {/* Code Area with animation and scroll */} - - - -
- - {CODE_EXAMPLES[selectedLang].code} - -
-
-
- - ); } From 410d0b7e352e2b07baf47ea01e089e61adaed3de Mon Sep 17 00:00:00 2001 From: SleepSheep Date: Wed, 2 Jul 2025 17:00:50 +0800 Subject: [PATCH 2/2] fix: change arrow buttons' style --- src/constants/index.ts | 2 +- .../home/components/HomepageCodeDisplay.tsx | 57 ++++++++++++++----- 2 files changed, 44 insertions(+), 15 deletions(-) diff --git a/src/constants/index.ts b/src/constants/index.ts index 77b20b3bc7..78dd09b8dd 100644 --- a/src/constants/index.ts +++ b/src/constants/index.ts @@ -22,7 +22,7 @@ public class Example { // Registering types can reduce class name serialization // overhead but not mandatory. // If secure mode enabled - //all custom types must be registered. + // all custom types must be registered. fory.register(SomeClass.class); } diff --git a/src/pages/home/components/HomepageCodeDisplay.tsx b/src/pages/home/components/HomepageCodeDisplay.tsx index 50a91642e3..cbd7ca636b 100644 --- a/src/pages/home/components/HomepageCodeDisplay.tsx +++ b/src/pages/home/components/HomepageCodeDisplay.tsx @@ -75,26 +75,40 @@ export default function HomepageCodeDisplay() { {/* Pic */}
programming-coding
{/* Code Box */}
-
- arrow-left +
+
{/* Top Bar */} @@ -144,11 +158,26 @@ export default function HomepageCodeDisplay() {
-
- arrow-right +
+