feat: add socials icons

This commit is contained in:
2026-10-07 19:05:40 +05:00
parent 2f11cb86ad
commit fbe6139585
6 changed files with 72 additions and 1 deletions
+2 -1
View File
@@ -54,6 +54,7 @@
"@fontsource/ibm-plex-mono": "^5.3.0", "@fontsource/ibm-plex-mono": "^5.3.0",
"@fontsource/ibm-plex-sans": "^5.3.0", "@fontsource/ibm-plex-sans": "^5.3.0",
"@lucide/svelte": "^1.33.0", "@lucide/svelte": "^1.33.0",
"fflate": "^0.8.3" "fflate": "^0.8.3",
"simple-icons": "^16.34.0"
} }
} }
+9
View File
@@ -20,6 +20,9 @@ importers:
fflate: fflate:
specifier: ^0.8.3 specifier: ^0.8.3
version: 0.8.3 version: 0.8.3
simple-icons:
specifier: ^16.34.0
version: 16.34.0
devDependencies: devDependencies:
'@csstools/postcss-global-data': '@csstools/postcss-global-data':
specifier: ^4.0.0 specifier: ^4.0.0
@@ -1387,6 +1390,10 @@ packages:
resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
engines: {node: '>=14'} engines: {node: '>=14'}
simple-icons@16.34.0:
resolution: {integrity: sha512-UTxKn0PVspk84B2hHF3Dqiqht1yDjJmDc/t4cO7PyCQxCMk6OjEu95pnpGjhLaGeQ4qBrGASbefTIe/+czrX7g==}
engines: {node: '>=0.12.18'}
sirv@3.0.2: sirv@3.0.2:
resolution: {integrity: sha512-2wcC/oGxHis/BoHkkPwldgiPSYcpZK3JU28WoMVv55yHJgcZ8rlXvuG9iZggz+sU1d4bRgIGASwyWqjxu3FM0g==} resolution: {integrity: sha512-2wcC/oGxHis/BoHkkPwldgiPSYcpZK3JU28WoMVv55yHJgcZ8rlXvuG9iZggz+sU1d4bRgIGASwyWqjxu3FM0g==}
engines: {node: '>=18'} engines: {node: '>=18'}
@@ -2805,6 +2812,8 @@ snapshots:
signal-exit@4.1.0: {} signal-exit@4.1.0: {}
simple-icons@16.34.0: {}
sirv@3.0.2: sirv@3.0.2:
dependencies: dependencies:
'@polka/url': 1.0.0-next.29 '@polka/url': 1.0.0-next.29
@@ -1,7 +1,10 @@
<script lang="ts"> <script lang="ts">
import { resolve } from "$app/paths"; import { resolve } from "$app/paths";
import BrandIcon from "$lib/components/ui/BrandIcon.svelte";
import LangToggle from "$lib/components/ui/LangToggle.svelte"; import LangToggle from "$lib/components/ui/LangToggle.svelte";
import ThemeToggle from "$lib/components/ui/ThemeToggle.svelte"; import ThemeToggle from "$lib/components/ui/ThemeToggle.svelte";
import { t } from "$lib/i18n/t";
import { siGithub, siTelegram, siTwitch } from "simple-icons";
import TopNav from "./TopNav.svelte"; import TopNav from "./TopNav.svelte";
interface Props { interface Props {
@@ -23,6 +26,33 @@
</a> </a>
<TopNav /> <TopNav />
<div class="top-actions"> <div class="top-actions">
<a
class="social"
href="https://github.com/Ku6epXBOCTuK/easy-png-tools"
target="_blank"
rel="noopener noreferrer"
aria-label={t("ui.github")}
>
<BrandIcon path={siGithub.path} size={16} />
</a>
<a
class="social"
href="https://t.me/Ku6epXBOCTuK_feed"
target="_blank"
rel="noopener noreferrer"
aria-label={t("ui.telegram")}
>
<BrandIcon path={siTelegram.path} size={16} />
</a>
<a
class="social"
href="https://www.twitch.tv/ku6epxboctuk"
target="_blank"
rel="noopener noreferrer"
aria-label={t("ui.twitch")}
>
<BrandIcon path={siTwitch.path} size={16} />
</a>
<ThemeToggle {theme} {ontoggle} /> <ThemeToggle {theme} {ontoggle} />
<LangToggle /> <LangToggle />
</div> </div>
@@ -64,4 +94,12 @@
align-items: center; align-items: center;
gap: var(--space-xl); gap: var(--space-xl);
} }
.social {
display: inline-flex;
align-items: center;
color: var(--color-text-muted);
}
.social:hover {
color: var(--color-text);
}
</style> </style>
@@ -0,0 +1,17 @@
<script lang="ts">
interface Props {
path: string;
size?: number;
}
let { path, size = 16 }: Props = $props();
</script>
<svg
width={size}
height={size}
viewBox="0 0 24 24"
fill="currentColor"
aria-hidden="true"
>
<path d={path} />
</svg>
+3
View File
@@ -170,6 +170,9 @@ export const en: Dict = {
language: "Language", language: "Language",
addFav: "Add to favorites", addFav: "Add to favorites",
removeFav: "Remove from favorites", removeFav: "Remove from favorites",
github: "GitHub",
telegram: "Telegram",
twitch: "Twitch",
}, },
errors: { errors: {
noImageRun: "This tool does not process images", noImageRun: "This tool does not process images",
+3
View File
@@ -171,6 +171,9 @@ export const ru: Dict = {
language: "Язык", language: "Язык",
addFav: "В избранное", addFav: "В избранное",
removeFav: "Убрать из избранного", removeFav: "Убрать из избранного",
github: "GitHub",
telegram: "Telegram",
twitch: "Twitch",
}, },
errors: { errors: {
noImageRun: "Этот инструмент не обрабатывает изображения", noImageRun: "Этот инструмент не обрабатывает изображения",