feat: align UI with T-Bank design system, redesign landing page with bento layout, migrate shared utilities from SparkGuardian, standardize status chips and date formatters, remove explicit date inputs, and add project README
This commit is contained in:
BIN
public/fonts/TinkoffSans-Bold.ttf
Normal file
BIN
public/fonts/TinkoffSans-Bold.ttf
Normal file
Binary file not shown.
BIN
public/fonts/TinkoffSans-Medium.ttf
Normal file
BIN
public/fonts/TinkoffSans-Medium.ttf
Normal file
Binary file not shown.
BIN
public/fonts/TinkoffSans-Regular.ttf
Normal file
BIN
public/fonts/TinkoffSans-Regular.ttf
Normal file
Binary file not shown.
16
public/svg/logo/logo.svg
Normal file
16
public/svg/logo/logo.svg
Normal file
File diff suppressed because one or more lines are too long
|
After Width: | Height: | Size: 9.1 KiB |
45
public/svg/visual/arrow-keys.svg
Normal file
45
public/svg/visual/arrow-keys.svg
Normal file
@@ -0,0 +1,45 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Chevron icons: Lucide (https://lucide.dev), ISC License, ? Lucide Contributors.
|
||||
-->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 104 88" width="104" height="88" aria-hidden="true">
|
||||
<defs>
|
||||
<style type="text/css">
|
||||
<![CDATA[
|
||||
.key-cap {
|
||||
fill: var(--sg-keyboard-key-surface-idle);
|
||||
stroke: none;
|
||||
}
|
||||
.sg-lucide path,
|
||||
.sg-lucide line,
|
||||
.sg-lucide polyline {
|
||||
fill: none;
|
||||
stroke: var(--sg-keyboard-ink-soft);
|
||||
stroke-width: 1.55;
|
||||
stroke-linecap: round;
|
||||
stroke-linejoin: round;
|
||||
}
|
||||
]]>
|
||||
</style>
|
||||
</defs>
|
||||
<!-- inverted-T: up / left down right -->
|
||||
<rect id="K_kb7u" class="key-cap" x="36" y="2" width="32" height="32" rx="6" ry="6" />
|
||||
<g id="S_kb7u" class="sg-lucide" transform="translate(52,18) scale(0.72) translate(-12,-12)">
|
||||
<path d="m18 15-6-6-6 6" />
|
||||
</g>
|
||||
|
||||
<rect id="K_kb7l" class="key-cap" x="2" y="38" width="32" height="32" rx="6" ry="6" />
|
||||
<g id="S_kb7l" class="sg-lucide" transform="translate(18,54) scale(0.72) translate(-12,-12)">
|
||||
<path d="m15 18-6-6 6-6" />
|
||||
</g>
|
||||
|
||||
<rect id="K_kb7d" class="key-cap" x="36" y="38" width="32" height="32" rx="6" ry="6" />
|
||||
<g id="S_kb7d" class="sg-lucide" transform="translate(52,54) scale(0.72) translate(-12,-12)">
|
||||
<path d="m6 9 6 6 6-6" />
|
||||
</g>
|
||||
|
||||
<rect id="K_kb7r" class="key-cap" x="70" y="38" width="32" height="32" rx="6" ry="6" />
|
||||
<g id="S_kb7r" class="sg-lucide" transform="translate(86,54) scale(0.72) translate(-12,-12)">
|
||||
<path d="m9 18 6-6-6-6" />
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.6 KiB |
462
public/svg/visual/keyboard.svg
Normal file
462
public/svg/visual/keyboard.svg
Normal file
@@ -0,0 +1,462 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<!-- Reorganised with TEXT EDITOR (gedit under Ubuntu).
|
||||
This file is the general file for the USA alphanumerical keyboard :
|
||||
- it uses style sheet (css) [see details at section "style"]
|
||||
- it displays the standard pad
|
||||
- and optionnaly
|
||||
* for some keys : the draw and/or the text (↹ and/or TAB …)
|
||||
- keys and inscriptions are geographically referenced : "kb" + line(number) + range(letter) -->
|
||||
|
||||
<svg id="svg2"
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
version="1.0"
|
||||
xml:space="preserve"
|
||||
sodipodi:version="0.32"
|
||||
inkscape:version="0.48.0 r9654"
|
||||
inkscape:output_extension="org.inkscape.output.svg.inkscape"
|
||||
|
||||
sodipodi:docname="KB_USA 800px.svg" width="800" height="247" viewBox="0 0 801 248" style="display:inline">
|
||||
|
||||
<metadata
|
||||
id="metadata316">
|
||||
<rdf:RDF>
|
||||
<cc:Work rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title />
|
||||
<dc:description>Meta (⌘) and Menu: Lucide icons (https://lucide.dev), ISC License, © Lucide Contributors.</dc:description>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<sodipodi:namedview id="base"
|
||||
inkscape:window-width="1679"
|
||||
inkscape:window-height="1019"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
borderopacity="1.0"
|
||||
bordercolor="#666666"
|
||||
pagecolor="#ffffff"
|
||||
showguides="true"
|
||||
inkscape:guide-bbox="true"
|
||||
inkscape:zoom="0.6"
|
||||
inkscape:cx="400"
|
||||
inkscape:cy="123.5"
|
||||
inkscape:current-layer="layer3"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
showgrid="true"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:snap-bbox="true"
|
||||
inkscape:bbox-nodes="true"
|
||||
inkscape:snap-nodes="true"
|
||||
inkscape:snap-grids="true"
|
||||
inkscape:bbox-paths="false"
|
||||
fit-margin-top="0"
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
fit-margin-bottom="0"
|
||||
units="px"
|
||||
inkscape:snap-bbox-edge-midpoints="false"
|
||||
inkscape:snap-bbox-midpoints="false"
|
||||
inkscape:snap-global="true"
|
||||
inkscape:snap-page="true"
|
||||
inkscape:snap-smooth-nodes="true">
|
||||
</sodipodi:namedview>
|
||||
<defs id="defs4">
|
||||
<style id="style6" type="text/css">
|
||||
|
||||
<!-- General : «#» style for «id» ; «.» class style (for particular style in group)
|
||||
DRAW styles : K_ : particular key style
|
||||
TEXT styles : «text» : common style for all text | T_ : text style | _L : large ; _s : very small -->
|
||||
|
||||
<![CDATA[
|
||||
|
||||
text {
|
||||
writing-mode: lr-tb;
|
||||
font-weight: var(--sg-keyboard-font-weight);
|
||||
font-family: var(--sg-keyboard-font-family);
|
||||
letter-spacing: var(--sg-keyboard-letter-spacing);
|
||||
}
|
||||
|
||||
#T_others text {
|
||||
font-size: 15px;
|
||||
font-weight: var(--sg-keyboard-font-weight);
|
||||
text-align: start;
|
||||
text-anchor: start;
|
||||
fill: var(--sg-keyboard-ink-soft);
|
||||
}
|
||||
#T_alterninsc text {
|
||||
font-size: 13px;
|
||||
font-weight: var(--sg-keyboard-font-weight);
|
||||
letter-spacing: 0.04em;
|
||||
fill: var(--sg-keyboard-ink-soft);
|
||||
stroke: none;
|
||||
}
|
||||
#T_alterninsc text.T_alt-left {
|
||||
text-align: start;
|
||||
text-anchor: start;
|
||||
}
|
||||
#T_alterninsc text.T_alt-right {
|
||||
text-align: end;
|
||||
text-anchor: end;
|
||||
}
|
||||
#T_stdletters text {
|
||||
font-size: 20px;
|
||||
font-weight: var(--sg-keyboard-font-weight);
|
||||
letter-spacing: 0.04em;
|
||||
fill: var(--sg-keyboard-ink-soft);
|
||||
stroke: none;
|
||||
text-align: center;
|
||||
text-anchor: middle;
|
||||
}
|
||||
#T_stdletters text.T_ru {
|
||||
font-size: 12px;
|
||||
letter-spacing: 0.03em;
|
||||
opacity: 0.9;
|
||||
text-align: end;
|
||||
text-anchor: end;
|
||||
}
|
||||
#T_stdspecial text {
|
||||
font-size: 17px;
|
||||
font-weight: var(--sg-keyboard-font-weight);
|
||||
letter-spacing: 0.03em;
|
||||
fill: var(--sg-keyboard-ink-soft);
|
||||
stroke: none;
|
||||
text-align: center;
|
||||
text-anchor: middle;
|
||||
}
|
||||
#T_stdspecial text.T_ru {
|
||||
font-size: 11px;
|
||||
letter-spacing: 0.02em;
|
||||
opacity: 0.9;
|
||||
text-align: end;
|
||||
text-anchor: end;
|
||||
}
|
||||
.T_size_s {
|
||||
font-size: 11px;
|
||||
font-weight: var(--sg-keyboard-font-weight);
|
||||
letter-spacing: 0.02em;
|
||||
fill: var(--sg-keyboard-ink-soft);
|
||||
stroke: none;
|
||||
text-align: start;
|
||||
text-anchor: start;
|
||||
}
|
||||
.T_size_L {
|
||||
font-size: 20px;
|
||||
font-weight: var(--sg-keyboard-font-weight);
|
||||
letter-spacing: 0.03em;
|
||||
}
|
||||
|
||||
#GlyphKey rect,
|
||||
#GlyphKey use {
|
||||
fill: var(--sg-keyboard-key-main);
|
||||
stroke: var(--sg-keyboard-key-stroke);
|
||||
stroke-width: 0.85;
|
||||
}
|
||||
#ModifKey rect {
|
||||
fill: var(--sg-keyboard-key-mod);
|
||||
stroke: var(--sg-keyboard-key-stroke);
|
||||
stroke-width: 0.85;
|
||||
}
|
||||
#OtherKey rect {
|
||||
fill: var(--sg-keyboard-key-other);
|
||||
stroke: var(--sg-keyboard-key-stroke);
|
||||
stroke-width: 0.85;
|
||||
}
|
||||
|
||||
/* Lucide: в покое как подписи tab/caps; нажатие — через injectHighlight */
|
||||
.sg-lucide path,
|
||||
.sg-lucide line,
|
||||
.sg-lucide polyline,
|
||||
.sg-lucide rect {
|
||||
fill: none;
|
||||
stroke: var(--sg-keyboard-ink-soft);
|
||||
stroke-width: 1.55;
|
||||
stroke-linecap: round;
|
||||
stroke-linejoin: round;
|
||||
}
|
||||
|
||||
]]>
|
||||
|
||||
</style>
|
||||
</defs>
|
||||
<!-- ======== Keys ======== -->
|
||||
<g inkscape:groupmode="layer" id="layer2" inkscape:label="Keys" style="display:inline" sodipodi:insensitive="true">
|
||||
<g id="GlyphKey">
|
||||
<!-- Num keys - Standard letters keys - Specials glyphs keys - Ponctuation keys -->
|
||||
<rect id="K_kb2a" x="2" y="2" width="48" height="44" rx="6" ry="6" />
|
||||
<use id="K_kb2b" xlink:href="#K_kb2a" transform="translate(54,0)"/>
|
||||
<use id="K_kb2c" xlink:href="#K_kb2a" transform="translate(108,0)"/>
|
||||
<use id="K_kb2d" xlink:href="#K_kb2a" transform="translate(162,0)"/>
|
||||
<use id="K_kb2e" xlink:href="#K_kb2a" transform="translate(216,0)"/>
|
||||
<use id="K_kb2f" xlink:href="#K_kb2a" transform="translate(270,0)"/>
|
||||
<use id="K_kb2g" xlink:href="#K_kb2a" transform="translate(324,0)"/>
|
||||
<use id="K_kb2h" xlink:href="#K_kb2a" transform="translate(378,0)"/>
|
||||
<use id="K_kb2i" xlink:href="#K_kb2a" transform="translate(432,0)"/>
|
||||
<use id="K_kb2j" xlink:href="#K_kb2a" transform="translate(486,0)"/>
|
||||
<use id="K_kb2k" xlink:href="#K_kb2a" transform="translate(540,0)"/>
|
||||
<use id="K_kb2l" xlink:href="#K_kb2a" transform="translate(594,0)"/>
|
||||
<use id="K_kb2m" xlink:href="#K_kb2a" transform="translate(648,0)"/>
|
||||
|
||||
<use id="K_kb3b" xlink:href="#K_kb2a" transform="translate(80,50)"/>
|
||||
<use id="K_kb3c" xlink:href="#K_kb2a" transform="translate(134,50)"/>
|
||||
<use id="K_kb3d" xlink:href="#K_kb2a" transform="translate(188,50)"/>
|
||||
<use id="K_kb3e" xlink:href="#K_kb2a" transform="translate(242,50)"/>
|
||||
<use id="K_kb3f" xlink:href="#K_kb2a" transform="translate(296,50)"/>
|
||||
<use id="K_kb3g" xlink:href="#K_kb2a" transform="translate(350,50)"/>
|
||||
<use id="K_kb3h" xlink:href="#K_kb2a" transform="translate(404,50)"/>
|
||||
<use id="K_kb3i" xlink:href="#K_kb2a" transform="translate(458,50)"/>
|
||||
<use id="K_kb3j" xlink:href="#K_kb2a" transform="translate(512,50)"/>
|
||||
<use id="K_kb3k" xlink:href="#K_kb2a" transform="translate(566,50)"/>
|
||||
<use id="K_kb3l" xlink:href="#K_kb2a" transform="translate(620,50)"/>
|
||||
<use id="K_kb3m" xlink:href="#K_kb2a" transform="translate(674,50)"/>
|
||||
<rect id="K_kb3n" x="730" y="52" width="70" height="44" rx="6" ry="6" />
|
||||
|
||||
<use id="K_kb4b" xlink:href="#K_kb2a" transform="translate(96,100)"/>
|
||||
<use id="K_kb4c" xlink:href="#K_kb2a" transform="translate(150,100)"/>
|
||||
<use id="K_kb4d" xlink:href="#K_kb2a" transform="translate(204,100)"/>
|
||||
<use id="K_kb4e" xlink:href="#K_kb2a" transform="translate(258,100)"/>
|
||||
<use id="K_kb4f" xlink:href="#K_kb2a" transform="translate(312,100)"/>
|
||||
<use id="K_kb4g" xlink:href="#K_kb2a" transform="translate(366,100)"/>
|
||||
<use id="K_kb4h" xlink:href="#K_kb2a" transform="translate(420,100)"/>
|
||||
<use id="K_kb4i" xlink:href="#K_kb2a" transform="translate(474,100)"/>
|
||||
<use id="K_kb4j" xlink:href="#K_kb2a" transform="translate(528,100)"/>
|
||||
<use id="K_kb4k" xlink:href="#K_kb2a" transform="translate(582,100)"/>
|
||||
<use id="K_kb4l" xlink:href="#K_kb2a" transform="translate(636,100)"/>
|
||||
<use id="K_kb4m" xlink:href="#K_kb2a" transform="translate(690,100)"/>
|
||||
|
||||
<use id="K_kb5c" xlink:href="#K_kb2a" transform="translate(116,150)"/>
|
||||
<use id="K_kb5d" xlink:href="#K_kb2a" transform="translate(170,150)"/>
|
||||
<use id="K_kb5e" xlink:href="#K_kb2a" transform="translate(224,150)"/>
|
||||
<use id="K_kb5f" xlink:href="#K_kb2a" transform="translate(278,150)"/>
|
||||
<use id="K_kb5g" xlink:href="#K_kb2a" transform="translate(332,150)"/>
|
||||
<use id="K_kb5h" xlink:href="#K_kb2a" transform="translate(386,150)"/>
|
||||
<use id="K_kb5i" xlink:href="#K_kb2a" transform="translate(440,150)"/>
|
||||
<use id="K_kb5j" xlink:href="#K_kb2a" transform="translate(494,150)"/>
|
||||
<use id="K_kb5k" xlink:href="#K_kb2a" transform="translate(548,150)"/>
|
||||
<use id="K_kb5l" xlink:href="#K_kb2a" transform="translate(602,150)"/>
|
||||
|
||||
<rect id="K_kb6d" x="188" y="202" width="364" height="44" rx="6" ry="6" />
|
||||
</g>
|
||||
|
||||
<!-- Modification keys -->
|
||||
<g id="ModifKey">
|
||||
<rect id="K_kb4a" x="2" y="102" width="90" height="44" rx="6" ry="6" />
|
||||
<rect id="K_kb5a" x="2" y="152" width="110" height="44" rx="6" ry="6" />
|
||||
<rect id="K_kb5m" x="658" y="152" width="142" height="44" rx="6" ry="6" />
|
||||
</g>
|
||||
|
||||
<!-- Other keys -->
|
||||
<g id="OtherKey">
|
||||
<!-- Backspace --> <rect id="K_kb2n" x="704" y="2" width="96" height="44" rx="6" ry="6" />
|
||||
|
||||
<!-- Tabulation --> <rect id="K_kb3a" x="2" y="52" width="74" height="44" rx="6" ry="6" />
|
||||
|
||||
<!-- Enter key -->
|
||||
<rect id="K_kb4n" x="692" y="102" width="107" height="44" rx="6" ry="6" />
|
||||
|
||||
<!-- Ctrl 1 --> <rect id="K_kb6a" x="2" y="202" width="56" height="44" rx="6" ry="6" />
|
||||
<!-- Win 1 --> <rect id="K_kb6b" x="64" y="202" width="56" height="44" rx="6" ry="6" />
|
||||
<!-- Alt 1 --> <rect id="K_kb6c" x="126" y="202" width="56" height="44" rx="6" ry="6" />
|
||||
<!-- Alt 2 --> <rect id="K_kb6k" x="558" y="202" width="56" height="44" rx="6" ry="6" />
|
||||
<!-- Win 2 --> <rect id="K_kb6l" x="620" y="202" width="56" height="44" rx="6" ry="6" />
|
||||
<!-- Menu --> <rect id="K_kb6m" x="682" y="202" width="56" height="44" rx="6" ry="6" />
|
||||
<!-- Ctrl 2 --> <rect id="K_kb6n" x="744" y="202" width="56" height="44" rx="6" ry="6" />
|
||||
</g>
|
||||
|
||||
</g>
|
||||
<!-- ======== Key signs ======== -->
|
||||
<g inkscape:groupmode="layer" id="DrawedInscr" inkscape:label="DrawedInscr" style="display:inline">
|
||||
|
||||
<!-- Meta / ⌘ — Lucide «command» -->
|
||||
<g id="S_kb6b" class="sg-lucide" transform="translate(82,214) scale(0.8333333333)">
|
||||
<path d="M15 6v12a3 3 0 1 0 3-3H6a3 3 0 1 0 3 3V6a3 3 0 1 0-3 3h12a3 3 0 1 0-3-3" />
|
||||
</g>
|
||||
<use id="S_kb6l" xlink:href="#S_kb6b" transform="translate(556,0)" x="0" y="0" width="1" height="1" />
|
||||
<!-- Menu — Lucide «menu» -->
|
||||
<g id="S_kb6m" class="sg-lucide" transform="translate(700,214) scale(0.8333333333)">
|
||||
<line x1="4" x2="20" y1="12" y2="12" />
|
||||
<line x1="4" x2="20" y1="6" y2="6" />
|
||||
<line x1="4" x2="20" y1="18" y2="18" />
|
||||
</g>
|
||||
</g>
|
||||
<!-- ======== Inscriptions layer ======== -->
|
||||
<g inkscape:groupmode="layer" id="en-us" inkscape:label="incriptions" sodipodi:insensitive="true" style="display:inline">
|
||||
|
||||
<g id="T_stdletters">
|
||||
|
||||
<text id="T_kb3b2" x="96" y="72" >Q</text>
|
||||
<text id="T_kb3c2" x="150" y="72" >W</text>
|
||||
<text id="T_kb3d2" x="204" y="72" >E</text>
|
||||
<text id="T_kb3e2" x="258" y="72" >R</text>
|
||||
<text id="T_kb3f2" x="312" y="72" >T</text>
|
||||
<text id="T_kb3g2" x="366" y="72" >Y</text>
|
||||
<text id="T_kb3h2" x="420" y="72" >U</text>
|
||||
<text id="T_kb3i2" x="474" y="72" >I</text>
|
||||
<text id="T_kb3j2" x="528" y="72" >O</text>
|
||||
<text id="T_kb3k2" x="582" y="72" >P</text>
|
||||
|
||||
<text id="T_kb4c2" x="112" y="122" >A</text>
|
||||
<text id="T_kb4d2" x="166" y="122" >S</text>
|
||||
<text id="T_kb4e2" x="220" y="122" >D</text>
|
||||
<text id="T_kb4f2" x="274" y="122" >F</text>
|
||||
<text id="T_kb4g2" x="328" y="122" >G</text>
|
||||
<text id="T_kb4h2" x="382" y="122" >H</text>
|
||||
<text id="T_kb4i2" x="436" y="122" >J</text>
|
||||
<text id="T_kb4j2" x="490" y="122" >K</text>
|
||||
<text id="T_kb4k2" x="544" y="122" >L</text>
|
||||
|
||||
<text id="T_kb5c2" x="132" y="172" >Z</text>
|
||||
<text id="T_kb5d2" x="186" y="172" >X</text>
|
||||
<text id="T_kb5e2" x="240" y="172" >C</text>
|
||||
<text id="T_kb5f2" x="294" y="172" >V</text>
|
||||
<text id="T_kb5g2" x="348" y="172" >B</text>
|
||||
<text id="T_kb5h2" x="402" y="172" >N</text>
|
||||
<text id="T_kb5i2" x="454" y="172" >M</text>
|
||||
|
||||
<!-- Russian layout: bottom of key, opposite (right) edge -->
|
||||
<text id="T_kb3b_ru" class="T_ru" x="126" y="92" >й</text>
|
||||
<text id="T_kb3c_ru" class="T_ru" x="180" y="92" >ц</text>
|
||||
<text id="T_kb3d_ru" class="T_ru" x="234" y="92" >у</text>
|
||||
<text id="T_kb3e_ru" class="T_ru" x="288" y="92" >к</text>
|
||||
<text id="T_kb3f_ru" class="T_ru" x="342" y="92" >е</text>
|
||||
<text id="T_kb3g_ru" class="T_ru" x="396" y="92" >н</text>
|
||||
<text id="T_kb3h_ru" class="T_ru" x="450" y="92" >г</text>
|
||||
<text id="T_kb3i_ru" class="T_ru" x="504" y="92" >ш</text>
|
||||
<text id="T_kb3j_ru" class="T_ru" x="558" y="92" >щ</text>
|
||||
<text id="T_kb3k_ru" class="T_ru" x="612" y="92" >з</text>
|
||||
|
||||
<text id="T_kb4c_ru" class="T_ru" x="196" y="142" >ф</text>
|
||||
<text id="T_kb4d_ru" class="T_ru" x="250" y="142" >ы</text>
|
||||
<text id="T_kb4e_ru" class="T_ru" x="304" y="142" >в</text>
|
||||
<text id="T_kb4f_ru" class="T_ru" x="358" y="142" >а</text>
|
||||
<text id="T_kb4g_ru" class="T_ru" x="412" y="142" >п</text>
|
||||
<text id="T_kb4h_ru" class="T_ru" x="466" y="142" >р</text>
|
||||
<text id="T_kb4i_ru" class="T_ru" x="520" y="142" >о</text>
|
||||
<text id="T_kb4j_ru" class="T_ru" x="574" y="142" >л</text>
|
||||
<text id="T_kb4k_ru" class="T_ru" x="628" y="142" >д</text>
|
||||
|
||||
<text id="T_kb5c_ru" class="T_ru" x="162" y="192" >я</text>
|
||||
<text id="T_kb5d_ru" class="T_ru" x="216" y="192" >ч</text>
|
||||
<text id="T_kb5e_ru" class="T_ru" x="270" y="192" >с</text>
|
||||
<text id="T_kb5f_ru" class="T_ru" x="324" y="192" >м</text>
|
||||
<text id="T_kb5g_ru" class="T_ru" x="378" y="192" >и</text>
|
||||
<text id="T_kb5h_ru" class="T_ru" x="432" y="192" >т</text>
|
||||
<text id="T_kb5i_ru" class="T_ru" x="486" y="192" >ь</text>
|
||||
</g>
|
||||
|
||||
<g id="T_stdspecial">
|
||||
|
||||
<text id="T_kb2a1" x="14" y="42" class="T_size_L">`</text>
|
||||
<text id="T_kb2b1" x="68" y="42" >1</text>
|
||||
<text id="T_kb2c1" x="122" y="42" >2</text>
|
||||
<text id="T_kb2d1" x="176" y="42" >3</text>
|
||||
<text id="T_kb2e1" x="230" y="42" >4</text>
|
||||
<text id="T_kb2f1" x="284" y="42" >5</text>
|
||||
<text id="T_kb2g1" x="338" y="42" >6</text>
|
||||
<text id="T_kb2h1" x="392" y="42" >7</text>
|
||||
<text id="T_kb2i1" x="446" y="42" >8</text>
|
||||
<text id="T_kb2j1" x="500" y="42" >9</text>
|
||||
<text id="T_kb2k1" x="554" y="42" >0</text>
|
||||
<text id="T_kb2l1" x="610" y="42" >-</text>
|
||||
<text id="T_kb2m1" x="662" y="42" >=</text>
|
||||
|
||||
<text id="T_kb3l1" x="636" y="90" >[</text>
|
||||
<text id="T_kb3m1" x="690" y="90" >]</text>
|
||||
<text id="T_kb3n1" x="744" y="90" >\</text>
|
||||
|
||||
<text id="T_kb4l1" x="598" y="142" >;</text>
|
||||
<text id="T_kb4m1" x="652" y="142" class="T_size_L">'</text>
|
||||
|
||||
<text id="T_kb5j1" x="508" y="190" >,</text>
|
||||
<text id="T_kb5k1" x="562" y="192" >.</text>
|
||||
<text id="T_kb5l1" x="616" y="192" >/</text>
|
||||
|
||||
<!-- Shift level -->
|
||||
|
||||
<text id="T_kb2a2" x="14" y="18" class="T_size_L">~</text>
|
||||
<text id="T_kb2b2" x="68" y="20" >!</text>
|
||||
<text id="T_kb2c2" x="122" y="20" >@</text>
|
||||
<text id="T_kb2d2" x="176" y="20" >#</text>
|
||||
<text id="T_kb2e2" x="230" y="20" >$</text>
|
||||
<text id="T_kb2f2" x="284" y="20" >%</text>
|
||||
<text id="T_kb2g2" x="338" y="22" class="T_size_L">^</text>
|
||||
<text id="T_kb2h2" x="392" y="20" >&</text>
|
||||
<text id="T_kb2i2" x="446" y="20" >∗</text>
|
||||
<text id="T_kb2j2" x="500" y="20" >(</text>
|
||||
<text id="T_kb2k2" x="554" y="20" >)</text>
|
||||
<text id="T_kb2l2" x="608" y="20" >_</text>
|
||||
<text id="T_kb2m2" x="662" y="20" >+</text>
|
||||
|
||||
<text id="T_kb3l2" x="636" y="68" >{</text>
|
||||
<text id="T_kb3m2" x="690" y="68" >}</text>
|
||||
<text id="T_kb3n2" x="744" y="68" >|</text>
|
||||
|
||||
<text id="T_kb4l2" x="598" y="122" >:</text>
|
||||
<text id="T_kb4m2" x="652" y="122" class="T_size_L">"</text>
|
||||
|
||||
<text id="T_kb5j2" x="508" y="170" ><</text>
|
||||
<text id="T_kb5k2" x="562" y="170" >></text>
|
||||
<text id="T_kb5l2" x="616" y="170" >?</text>
|
||||
|
||||
<!-- Russian layout on punctuation / number row (ЙЦУКЕН, Windows) -->
|
||||
<text id="T_kb2a_ru" class="T_ru" x="46" y="42" >ё</text>
|
||||
<text id="T_kb2b_ru" class="T_ru" x="100" y="42" >!</text>
|
||||
<text id="T_kb2c_ru" class="T_ru" x="152" y="42" >"</text>
|
||||
<text id="T_kb2d_ru" class="T_ru" x="206" y="42" >№</text>
|
||||
<text id="T_kb2e_ru" class="T_ru" x="260" y="42" >;</text>
|
||||
<text id="T_kb2f_ru" class="T_ru" x="314" y="42" >%</text>
|
||||
<text id="T_kb2g_ru" class="T_ru" x="368" y="42" >:</text>
|
||||
<text id="T_kb2h_ru" class="T_ru" x="422" y="42" >?</text>
|
||||
<text id="T_kb2i_ru" class="T_ru" x="476" y="42" >*</text>
|
||||
<text id="T_kb2j_ru" class="T_ru" x="530" y="42" >(</text>
|
||||
<text id="T_kb2k_ru" class="T_ru" x="584" y="42" >)</text>
|
||||
<text id="T_kb2l_ru" class="T_ru" x="638" y="42" >-</text>
|
||||
<text id="T_kb2m_ru" class="T_ru" x="692" y="42" >+</text>
|
||||
|
||||
<text id="T_kb3l_ru" class="T_ru" x="666" y="92" >х</text>
|
||||
<text id="T_kb3m_ru" class="T_ru" x="720" y="92" >ъ</text>
|
||||
<text id="T_kb3n_ru" class="T_ru" x="796" y="92" >/</text>
|
||||
|
||||
<text id="T_kb4l_ru" class="T_ru" x="682" y="142" >ж</text>
|
||||
<text id="T_kb4m_ru" class="T_ru" x="736" y="142" >э</text>
|
||||
|
||||
<text id="T_kb5j_ru" class="T_ru" x="540" y="192" >б</text>
|
||||
<text id="T_kb5k_ru" class="T_ru" x="594" y="192" >ю</text>
|
||||
<text id="T_kb5l_ru" class="T_ru" x="648" y="192" >.</text>
|
||||
</g>
|
||||
|
||||
<g id="T_others">
|
||||
<text id="T_kb6a" x="10" y="230" >ctrl</text>
|
||||
<text id="T_kb6c" x="134" y="230" >alt</text>
|
||||
<text id="T_kb6k" x="564" y="230" >alt</text>
|
||||
<text id="T_kb6n" x="750" y="230" >ctrl</text>
|
||||
</g>
|
||||
<!-- ======== alternates inscriptions ======== -->
|
||||
<g inkscape:groupmode="layer" id="sublayer4a" inkscape:label="alternative inscriptions" style="display:inline">
|
||||
<g id="T_alterninsc" >
|
||||
<!-- K_kb2n x=704 w=96 → правый край подписи ~790 -->
|
||||
<text id="T_kb2n" class="T_alt-right" x="790" y="40" >delete</text>
|
||||
<!-- K_kb3a x=2 w=74 -->
|
||||
<text id="T_kb3a" class="T_alt-left" x="10" y="80" >tab</text>
|
||||
<!-- K_kb4n x=692 w=107 -->
|
||||
<text id="T_kb4n" class="T_alt-right" x="789" y="130">return</text>
|
||||
<!-- K_kb4a x=2 w=90 -->
|
||||
<text id="T_kb4a1" class="T_alt-left" x="10" y="128">caps lock</text>
|
||||
<!-- K_kb5a x=2 w=110 -->
|
||||
<text id="T_kb5a" class="T_alt-left" x="10" y="180">shift</text>
|
||||
<!-- K_kb5m x=658 w=142 -->
|
||||
<text id="T_kb5m" class="T_alt-right" x="790" y="180">shift</text>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 19 KiB |
19
public/svg/visual/mouse.svg
Normal file
19
public/svg/visual/mouse.svg
Normal file
@@ -0,0 +1,19 @@
|
||||
<svg width="707" height="1042" viewBox="0 0 707 1042" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<defs>
|
||||
<style type="text/css"><![CDATA[
|
||||
text {
|
||||
font-family: var(--sg-keyboard-font-family);
|
||||
font-weight: var(--sg-keyboard-font-weight);
|
||||
letter-spacing: 0.04em;
|
||||
fill: var(--sg-keyboard-ink-soft);
|
||||
stroke: none;
|
||||
text-anchor: middle;
|
||||
font-size: 44px;
|
||||
}
|
||||
]]></style>
|
||||
</defs>
|
||||
<path d="M346 80.0889C319.97 83.9545 300 106.395 300 133.5V295.5C300 322.605 319.97 345.045 346 348.91V1042C154.909 1042 4.48005e-06 887.091 0 696V346C0 154.909 154.909 0 346 0V80.0889ZM361 0C552.091 0 707 154.909 707 346V696C707 887.091 552.091 1042 361 1042V349.05C387.516 345.618 408 322.951 408 295.5V133.5C408 106.049 387.516 83.3814 361 79.9492V0Z" fill="#D9D9D9"/>
|
||||
<rect x="312" y="94" width="84" height="242" rx="42" fill="#D9D9D9"/>
|
||||
<text x="210" y="210">ЛКМ</text>
|
||||
<text x="500" y="210">ПКМ</text>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 947 B |
Reference in New Issue
Block a user