This commit is contained in:
2026-02-04 18:00:06 +04:00
parent 763ecd1273
commit 4a5fd2fb62
5 changed files with 35 additions and 8 deletions

View File

@@ -77,6 +77,22 @@ const getLevelWidth = (level: string) => {
}
};
// 技能等级进度条颜色映射 (从绿色到红色)
const getLevelProgressColor = (level: string) => {
switch (level) {
case "expert":
return "#ef4444"; // red-500
case "advanced":
return "#f97316"; // orange-500
case "intermediate":
return "#eab308"; // yellow-500
case "beginner":
return "#22c55e"; // green-500
default:
return "#6b7280"; // gray-500
}
};
// 尺寸样式映射
const getSizeClasses = (size: string) => {
switch (size) {
@@ -175,7 +191,7 @@ const getExperienceText = (experience: Props["skill"]["experience"]) => {
<div class={`w-full bg-gray-200 dark:bg-gray-700 rounded-full ${sizeClasses.progress}`}>
<div
class={`rounded-full transition-all duration-500 ${sizeClasses.progress}`}
style={`width: ${getLevelWidth(skill.level)}; background-color: ${skillColor}`}
style={`width: ${getLevelWidth(skill.level)}; background-color: ${skill.color || getLevelProgressColor(skill.level)}`}
></div>
</div>
</div>

View File

@@ -41,13 +41,21 @@ const id = `profile-${side}`;
<div class="text-center text-neutral-400 mb-2.5 transition">{profileConfig.bio}</div>
<div class="flex gap-2 justify-center mb-1">
{profileConfig.links.length > 1 && profileConfig.links.map(item =>
<a rel="me" aria-label={item.name} href={item.url} target="_blank" class="btn-regular rounded-lg h-10 w-10 active:scale-90">
<Icon name={item.icon} class="text-[1.5rem]"></Icon>
<a rel="me" aria-label={item.name} href={item.url} target="_blank" class="btn-regular rounded-lg h-10 w-10 active:scale-90 flex items-center justify-center">
{item.rawIcon ? (
<span class="text-[1.5rem] [&>svg]:w-full [&>svg]:h-full [&>svg]:block" set:html={item.rawIcon}></span>
) : (
<Icon name={item.icon} class="text-[1.5rem]"></Icon>
)}
</a>
)}
{profileConfig.links.length == 1 && <a rel="me" aria-label={profileConfig.links[0].name} href={profileConfig.links[0].url} target="_blank"
class="btn-regular rounded-lg h-10 gap-2 px-3 font-bold active:scale-95">
<Icon name={profileConfig.links[0].icon} class="text-[1.5rem]"></Icon>
class="btn-regular rounded-lg h-10 gap-2 px-3 font-bold active:scale-95 flex items-center">
{profileConfig.links[0].rawIcon ? (
<span class="text-[1.5rem] [&>svg]:w-full [&>svg]:h-full [&>svg]:block" set:html={profileConfig.links[0].rawIcon}></span>
) : (
<Icon name={profileConfig.links[0].icon} class="text-[1.5rem]"></Icon>
)}
{profileConfig.links[0].name}
</a>}
</div>

View File

@@ -27,7 +27,7 @@
Интернет огромен, и в нём куча страниц. Некоторые популярны, другие не очень, но эти особенно интересны:
+ [Онлайн книга Linux From Scratch](https://linuxfromscratch.org) — бесплатное руководство по созданию своей GNU/Linux системы из исходного кода (с нуля). Лучшее развлечение на вечер для админа.
+ [Этаж 796](https://floor796.com) — проект русского художника, который объединил на 796 этаже космической станции всех самых знаковых персонажей, гиков, мемов, фильмов, комиксов и сериалов человечества. Тут залип на 2 часа...
+ [Этаж 796](https://floor796.com) — проект русского художника, который объединил на 796 этаже космической станции всех самых знаковых персонажей из мемов, фильмов, комиксов и сериалов. Тут залип на 2 часа...
+ [SCP Foundation](https://scpfoundation.net) — открытая научно-фантастическая онлайн вселенная. Мурашки по коже, невозможно оторваться. Обязательно прочтите [SCP-079 — Старый ИИ](https://scpfoundation.net/scp-079) и [Хаб отдела антимеметики](https://scpfoundation.net/antimemetics-division-hub).
+ [CashGo](https://cashgo.ru) — онлайн игра, тренажёр финансового интеллекта. Здесь я успел ухватить кусочек старого интернета с ламповыми форумами. Спасибо за детство, передавайте привет Оксюше, Пингвинатко, Успеху и Лису!
+ [Неолурк](https://neolurk.org) — народная википедия.

View File

@@ -88,7 +88,7 @@ export const ru: Translation = {
[Key.projectsCompleted]: "Завершён",
[Key.projectsInProgress]: "В разработке",
[Key.projectsTechStack]: "Статистика технологий",
[Key.projectsFeatured]: "Лучшие проекты",
[Key.projectsFeatured]: "Сейчас я работаю этим",
[Key.projectsPlanned]: "Запланированных",
[Key.projectsDemo]: "Демо",
[Key.projectsSource]: "Исходный код",