mirror of
https://github.com/robonen/lorem-blog.git
synced 2026-03-20 02:44:39 +00:00
feat(ui): add Logo and Header components
This commit is contained in:
6
src/shared/icons/Logo.vue
Normal file
6
src/shared/icons/Logo.vue
Normal file
@@ -0,0 +1,6 @@
|
||||
<template>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" viewBox="0 0 256 47">
|
||||
<path d="M23.4859 47C36.4727 47 47 36.479 47 23.5V7.05c0-1.86978-.7432-3.66297-2.0661-4.9851C43.6109.742766 41.8167 0 39.9458 0H24.6616v10.3094c0 2.3524.1434 4.7893 1.3779 6.7915.8838 1.435 2.066 2.6631 3.4666 3.6012 1.4005.938 2.9865 1.5641 4.6505 1.8356l.4503.0728c.1856.0634.3468.1833.4609.3428.1141.1595.1754.3506.1754.5467 0 .1961-.0613.3872-.1754.5467-.1141.1595-.2753.2794-.4609.3428l-.4503.0728c-2.4312.3969-4.6762 1.547-6.418 3.2878-1.7419 1.7408-2.8927 3.9845-3.2898 6.4142l-.0729.45c-.0635.1856-.1834.3466-.343.4606-.1595.1141-.3508.1754-.547.1754-.1962 0-.3875-.0613-.5471-.1754-.1596-.114-.2795-.275-.3429-.4606l-.0729-.45c-.2718-1.6629-.8982-3.248-1.8368-4.6477-.9386-1.3996-2.1675-2.5812-3.6032-3.4645-2.0034-1.2337-4.4418-1.3771-6.7956-1.3771H0C.614894 37.1077 10.8941 47 23.4859 47Z" />
|
||||
<path d="M0 22.0811h10.2097c2.3296 0 4.743-.1418 6.7259-1.3621 1.5499-.9538 2.8547-2.2569 3.8097-3.8049 1.2218-1.9803 1.3638-4.3906 1.3638-6.7173V0H6.98182c-1.8517 0-3.62755.73465-4.93689 2.04234C.735582 3.35002 0 5.12363 0 6.97297V22.0811ZM54.0567 2.32432c0 .61645-.2452 1.20765-.6816 1.64355-.4365.4359-1.0284.68078-1.6456.68078-.6173 0-1.2092-.24488-1.6457-.68078-.4364-.4359-.6816-1.0271-.6816-1.64355 0-.61644.2452-1.20765.6816-1.643541C50.5203.244884 51.1122 0 51.7295 0c.6172 0 1.2091.244884 1.6456.680779.4364.435891.6816 1.027101.6816 1.643541ZM246.355 14.0668c6.505 0 9.645 4.5383 9.645 9.7947v9.8726h-6.808V25.033c0-2.3825-.871-4.3488-3.367-4.3488s-3.328 1.9663-3.328 4.3488v8.6999h-6.808V25.033c0-2.3825-.832-4.3488-3.329-4.3488-2.496 0-3.367 1.9663-3.367 4.3488v8.6999h-6.807v-9.8725c0-5.2565 3.138-9.7948 9.644-9.7948 3.556 0 6.128 1.3993 7.301 3.7062 1.247-2.3069 3.971-3.7073 7.224-3.7073v.0023Zm-36.404 13.6159c2.194 0 3.14-2.0047 3.14-4.3883v-8.4722h6.807v9.3043c0 5.5598-3.252 10.1747-9.947 10.1747-6.695 0-9.948-4.6138-9.948-10.1747v-9.3043h6.809v8.4722c0 2.3824.945 4.3883 3.139 4.3883Zm-19.958 6.6557c-4.274 0-7.036-1.4748-8.662-4.3488l4.917-2.7613c.681 1.2098 1.701 1.8153 3.404 1.8153 1.4 0 2.042-.4916 2.042-1.0971 0-2.3069-9.985.0384-9.985-7.2984 0-3.5562 3.025-6.4302 8.17-6.4302 4.501 0 6.959 2.193 8.057 4.3116l-4.918 2.7985c-.415-1.1343-1.702-1.8153-2.988-1.8153-.983 0-1.513.4161-1.513.9832 0 2.3452 9.985.1894 9.985 7.2995 0 3.9711-3.895 6.543-8.509 6.543Zm-23.787 8.0945h-6.809V24.2404c0-5.7876 4.35-9.9853 10.402-9.9853 5.901 0 10.402 4.501 10.402 9.9853 0 6.0514-4.01 10.0608-10.024 10.0608-1.4 0-2.798-.416-3.971-1.0599v9.1916Zm3.593-14.5236c2.156 0 3.593-1.6642 3.593-3.6317 0-2.0036-1.437-3.6306-3.593-3.6306-2.156 0-3.593 1.627-3.593 3.6317 0 1.9664 1.437 3.6306 3.593 3.6306Zm-17.222-15.0907c-2.232 0-4.084-1.8536-4.084-4.08495s1.852-4.085 4.084-4.085c2.232 0 4.086 1.85365 4.086 4.085s-1.854 4.08495-4.086 4.08495Zm-3.403 2.0036h6.808v18.9119h-6.808V14.8222Zm-13.063 19.479c-5.901 0-10.402-4.5382-10.402-10.0608 0-5.4843 4.501-10.0225 10.402-10.0225 5.9 0 10.401 4.5382 10.401 10.0225 0 5.5226-4.501 10.0608-10.401 10.0608Zm0-6.3919c2.156 0 3.593-1.6642 3.593-3.6317 0-2.0036-1.437-3.6678-3.593-3.6678-2.157 0-3.594 1.6642-3.594 3.6678 0 1.9675 1.437 3.6317 3.594 3.6317ZM112.853 43c-4.69 0-8.094-2.0803-9.834-5.7876l5.636-3.0251c.605 1.2865 1.739 2.6102 4.084 2.6102 2.46 0 4.085-1.5514 4.275-4.2744-.908.7949-2.346 1.3993-4.501 1.3993-5.258 0-9.495-4.0467-9.495-9.7204 0-5.4831 4.502-9.9469 10.403-9.9469 6.052 0 10.402 4.1989 10.402 9.9853v7.489c0 6.8079-4.729 11.2706-10.97 11.2706Zm.454-15.4684c2.042 0 3.593-1.4004 3.593-3.4807 0-2.0419-1.55-3.4039-3.593-3.4039-2.005 0-3.594 1.362-3.594 3.4051 0 2.0803 1.589 3.4784 3.594 3.4784v.0011ZM91.47 34.3012c-5.9008 0-10.4029-4.5382-10.4029-10.0608 0-5.4843 4.5021-10.0225 10.4029-10.0225 5.8996 0 10.402 4.5382 10.402 10.0225 0 5.5226-4.5012 10.0608-10.402 10.0608Zm0-6.3919c2.1562 0 3.5933-1.6642 3.5933-3.6317 0-2.0036-1.4371-3.6678-3.5933-3.6678-2.1563 0-3.5934 1.6642-3.5934 3.6678 0 1.9675 1.4371 3.6317 3.5934 3.6317ZM68.6697 8.20486V27.3038h11.2721v6.4303H67.7236c-4.3112 0-6.0509-2.2697-6.0509-5.8631V8.20486h6.997Z" />
|
||||
</svg>
|
||||
</template>
|
||||
1
src/shared/icons/index.ts
Normal file
1
src/shared/icons/index.ts
Normal file
@@ -0,0 +1 @@
|
||||
export { default as Logo } from './Logo.vue';
|
||||
18
src/widgets/Header/Header.vue
Normal file
18
src/widgets/Header/Header.vue
Normal file
@@ -0,0 +1,18 @@
|
||||
<script setup lang="ts">
|
||||
import { Logo } from '@/shared/icons';
|
||||
import { NavigationMenu, type NavigationMenuItem } from '../NavigationMenu';
|
||||
|
||||
const items = [
|
||||
{ name: 'Главная', path: '/' },
|
||||
{ name: 'Блог', path: '/blog' },
|
||||
] satisfies NavigationMenuItem[];
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<header class="p-4 dark bg-background text-foreground">
|
||||
<div class="mx-auto container flex space-x-18">
|
||||
<Logo class="h-6" aria-label="Logo" />
|
||||
<NavigationMenu :items />
|
||||
</div>
|
||||
</header>
|
||||
</template>
|
||||
1
src/widgets/Header/index.ts
Normal file
1
src/widgets/Header/index.ts
Normal file
@@ -0,0 +1 @@
|
||||
export { default as Header } from './Header.vue';
|
||||
Reference in New Issue
Block a user