From 700073571edea24e29d4b0d0552d1e905ac9d22b Mon Sep 17 00:00:00 2001 From: AderKonstantin Date: Tue, 20 Jan 2026 01:51:12 +0300 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20feat:=20add=20posts=20page,=20chang?= =?UTF-8?q?ed=20icons=20to=20react-icons?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/post/[post]/page.tsx | 25 +++++++ components/blogpost.tsx | 96 ++++++++++++++------------ components/footer/main.tsx | 124 +++++++++++++--------------------- components/header/main.tsx | 33 ++++----- components/header/toolbar.tsx | 94 +++++++++----------------- package-lock.json | 12 +++- package.json | 11 +-- 7 files changed, 189 insertions(+), 206 deletions(-) create mode 100644 app/post/[post]/page.tsx diff --git a/app/post/[post]/page.tsx b/app/post/[post]/page.tsx new file mode 100644 index 0000000..1954bc5 --- /dev/null +++ b/app/post/[post]/page.tsx @@ -0,0 +1,25 @@ +import Link from "next/link"; + +export default function Post() { + return ( + <> +
+
+
+
+
Опубликовано
+
+ Monday, December 21, 2025 +
+
+
+
+

+ Создание и интеграция собственного процессорного ядра на базе RISC-V с использованием языка Chisel +

+
+
+
+ + ); +} diff --git a/components/blogpost.tsx b/components/blogpost.tsx index 47b5e1d..684b409 100644 --- a/components/blogpost.tsx +++ b/components/blogpost.tsx @@ -1,11 +1,8 @@ 'use client'; -import tagsPic from '../public/tags.svg'; -import calendarPic from '../public/calendar.svg' - import Link from 'next/link'; -import AnimatedLink from '../components/animatedLink'; import Image from 'next/image'; +import { FaTags, FaCalendarAlt } from 'react-icons/fa'; interface BlogPost { label: string; @@ -21,55 +18,68 @@ interface BlogAreaProps { export default function BlogArea({ blogposts }: BlogAreaProps) { return ( -
+
{blogposts.map((blogpost, index) => ( -
-
-
- Retrospective Science Image +
+
+
+
+ + Retrospective Science Image + +
-
-
-
-

- - {blogpost.label} - -

-
-
    -
  • lang
  • - {blogpost.tags.map((tag, index) => ( -
  • {tag}
  • - ))} -
-
- {blogpost.body.slice(0, 512)}... -
-
-
    -
  • lang
  • -
  • {blogpost.publish}

  • +
    +
    +

    + + {blogpost.label} + +

    +
    +
      +
    • + +
    • + {blogpost.tags.map((tag, index) => ( +
    • + {tag} +
    • + ))}
    - -
    - - Read the article - +
    + {blogpost.body.slice(0, 512)}... +
    +
    +
    +
    + +
    +
    +

    {blogpost.publish}

    +
    +
    +
    + + Читать → + +
    + {index < blogposts.length - 1 && ( +
    + )}
))}
- {/* Include Pagination Component Here */}
); } \ No newline at end of file diff --git a/components/footer/main.tsx b/components/footer/main.tsx index 8201046..5f208ee 100644 --- a/components/footer/main.tsx +++ b/components/footer/main.tsx @@ -1,81 +1,51 @@ - -import mastodonPic from '@/public/mastodon.svg'; -import githubPic from '@/public/github.svg'; -import instagramPic from '@/public/instagram.svg'; -import steamPic from '@/public/steam.svg'; - -import gamePic from '@/public/gamepad.svg'; -import projectPic from '@/public/project.svg'; - -import Image from "next/image"; import Link from "next/link"; -import AnimatedLink from '@/components/animatedLink'; +import { + FaMastodon, + FaGithub, + FaSteam, + FaProjectDiagram +} from "react-icons/fa"; export default function MainFooter() { - return ( -
-
    -
  • Socials

  • -
  • - - lang - -
  • -
  • - - lang - -
  • -
  • - - lang - -
  • -
  • - - lang - -
  • -
-
    -
  • Games

    lang
  • -
  • - Robot Fire -
  • -
-
    -
  • Other Projects

    lang
  • -
  • - cloudberrygames -
  • -
  • - northfamily -
  • -
-
- ); + return ( +
+
+
+

Socials

+
+ + + + + + + + + +
+
+
+
+

Other Projects

+ + + +
+
+ + Sihirtia Softworks + +
+
+
+
+

Ader Konstantin © {new Date().getFullYear()}

+

Made with ♥ by AderK

+
+
+ ); } \ No newline at end of file diff --git a/components/header/main.tsx b/components/header/main.tsx index cc277f6..219d55e 100644 --- a/components/header/main.tsx +++ b/components/header/main.tsx @@ -1,41 +1,36 @@ -import searchPic from '@/public/search.svg'; - +import searchPic from "@/public/search.svg"; import Image from "next/image"; import Link from "next/link"; +import Toolbar from "./toolbar"; -import AnimatedLink from '../animatedLink'; -import HeaderToolbar from "../header/toolbar"; +import AnimatedLink from "../animatedLink"; export default function MainHeader() { return ( -
-
+
+
  • - - aderk.tech + + blog.aderk.org
  • -
  • +
  • - search + search
-
-

- Hello. I am is a programmer, hacker, and gamer. Love comics, coding, read books. There I am posting articles about science and another staff, that’s im like. +

+

+ Этот блог - хроника моего погружения в мир компьютерной архитектуры.
+ Здесь я документирую процесс изучения и проектирования CPU и GPU на основе открытой архитектуры RISC-V.

- +
); } \ No newline at end of file diff --git a/components/header/toolbar.tsx b/components/header/toolbar.tsx index 78b79e4..f0c8aeb 100644 --- a/components/header/toolbar.tsx +++ b/components/header/toolbar.tsx @@ -1,64 +1,36 @@ -'use client'; -import Image from 'next/image'; -import Link from 'next/link'; - -import globePic from '../../public/globe.svg'; -import emailPic from '../../public/email.svg'; -import rssPic from '../../public/rss-feed.svg'; -import settingsPic from '../../public/settings.svg'; -import AnimatedLink from '../animatedLink'; - +"use client"; +import Link from "next/link"; +import { FaGlobe, FaEnvelope, FaRss } from "react-icons/fa"; export default function Toolbar() { - return ( -
-
-

Science | Software | Hardware | Rockets | Startups

-
-
-
    -
  • - - lang - -
  • -
  • - - email - -
  • -
  • - - rss - -
  • -
  • - - settings - -
  • -
-
-
- ); + return ( +
+
+

+ Science |{" "} + Software |{" "} + Hardware +

+
+
+
    +
  • + + + +
  • +
  • + + + +
  • +
  • + + + +
  • +
+
+
+ ); } \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index f834afd..232fee0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,7 +10,8 @@ "dependencies": { "next": "15.2.0", "react": "^19.0.0", - "react-dom": "^19.0.0" + "react-dom": "^19.0.0", + "react-icons": "^5.5.0" }, "devDependencies": { "@eslint/eslintrc": "^3", @@ -4472,6 +4473,15 @@ "react": "^19.0.0" } }, + "node_modules/react-icons": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/react-icons/-/react-icons-5.5.0.tgz", + "integrity": "sha512-MEFcXdkP3dLo8uumGI5xN3lDFNsRtrjbOEKDLD7yv76v4wpnEq2Lt2qeHaQOr34I/wPN3s3+N08WkQ+CW37Xiw==", + "license": "MIT", + "peerDependencies": { + "react": "*" + } + }, "node_modules/react-is": { "version": "16.13.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", diff --git a/package.json b/package.json index b0bf528..78b3a39 100644 --- a/package.json +++ b/package.json @@ -9,19 +9,20 @@ "lint": "next lint" }, "dependencies": { + "next": "15.2.0", "react": "^19.0.0", "react-dom": "^19.0.0", - "next": "15.2.0" + "react-icons": "^5.5.0" }, "devDependencies": { - "typescript": "^5", + "@eslint/eslintrc": "^3", + "@tailwindcss/postcss": "^4", "@types/node": "^20", "@types/react": "^19", "@types/react-dom": "^19", - "@tailwindcss/postcss": "^4", - "tailwindcss": "^4", "eslint": "^9", "eslint-config-next": "15.2.0", - "@eslint/eslintrc": "^3" + "tailwindcss": "^4", + "typescript": "^5" } }