diff --git a/package-lock.json b/package-lock.json
index 43902175..4c6d6560 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -33,6 +33,9 @@
"react-use": "^17.5.1",
"web-vitals": "^2.1.4",
"yaml": "^2.5.1"
+ },
+ "engines": {
+ "node": ">=22.0.0"
}
},
"node_modules/@adobe/css-tools": {
diff --git a/src/components/Header.css b/src/components/Header.css
index a8375adf..386b275a 100644
--- a/src/components/Header.css
+++ b/src/components/Header.css
@@ -39,6 +39,20 @@
margin-left: 0.5rem;
}
+.header-language-toggle {
+ font-size: 14px;
+ padding: 0.4rem 0.6rem;
+ border: 1px solid var(--foreground2);
+ border-radius: 4px;
+ background-color: var(--background1);
+ transition: all 0.2s ease;
+}
+
+.header-language-toggle:hover {
+ background-color: var(--background2);
+ border-color: var(--foreground1);
+}
+
@media (min-width: 768px) {
.header {
display: none;
diff --git a/src/components/Header.js b/src/components/Header.js
index fbffb503..95b7e519 100644
--- a/src/components/Header.js
+++ b/src/components/Header.js
@@ -1,9 +1,11 @@
import { useContext, useState } from 'react';
import SidebarContext from '../context/SidebarContext';
+import LanguageContext from '../context/LanguageContext';
import './Header.css';
export default function Header() {
const { toggleSidebar } = useContext(SidebarContext);
+ const { language, toggleLanguage } = useContext(LanguageContext);
const [isThree, setIsThree] = useState(true);
const handlePlusClick = () => {
@@ -22,6 +24,13 @@ export default function Header() {
+
diff --git a/src/components/SearchResult.js b/src/components/SearchResult.js
index 91a3ab8e..272dcd7d 100644
--- a/src/components/SearchResult.js
+++ b/src/components/SearchResult.js
@@ -97,19 +97,7 @@ function searchPostsByTags(posts, tags) {
}, posts);
}
-function findHighlightedText(content, query) {
- const isMatch = content.toLowerCase().includes(query.toLowerCase());
- const index = content.toLowerCase().indexOf(query.toLowerCase());
- const start = Math.max(0, index - 10);
- const end = Math.min(content.length, index + query.length + 100);
- const before = content.slice(start, index);
-
- const match = content.slice(index, index + query.length);
- const after = content.slice(index + query.length, end);
-
- return { isMatch, before, match, after };
-}
// ドメイン名を抽出する関数
function extractDomain(url) {