feat: add light and dark logo SVGs and update Logo component to use them based on color scheme

This commit is contained in:
2026-06-16 17:29:59 +03:30
parent 71b8077296
commit f696aef0a4
5 changed files with 103 additions and 7 deletions

View File

@@ -0,0 +1,37 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 131.82 44.18">
<defs>
<style>
.cls-1 {
fill: #fff;
}
.cls-2 {
fill: #53b7a9;
}
</style>
</defs>
<g>
<path class="cls-2" d="M17.71,8.85C17.71,3.97,13.73,0,8.85,0S0,3.97,0,8.85c0,1.6.41,3.1,1.21,4.46,3.2,5.42,3.2,12.14,0,17.56-.8,1.36-1.21,2.86-1.21,4.46,0,4.88,3.97,8.85,8.85,8.85s8.85-3.97,8.85-8.85h0V8.85h0Z"/>
<path class="cls-2" d="M36.5,13.31c.8-1.36,1.21-2.86,1.21-4.46,0-4.88-3.97-8.85-8.85-8.85s-8.85,3.97-8.85,8.85h0v26.47h0c0,4.88,3.97,8.86,8.85,8.86s8.85-3.97,8.85-8.85c0-1.6-.41-3.1-1.21-4.46-3.19-5.42-3.19-12.14,0-17.56Z"/>
</g>
<g>
<path class="cls-1" d="M55.93,18.02c-.63.6-1.48.89-2.56.89h-2.86c-.13,0-.2-.06-.2-.18V6.47c0-.12.07-.18.2-.18h2.74c1.11,0,1.97.28,2.6.85.63.57.94,1.37.94,2.42,0,1.38-.57,2.31-1.72,2.79-.03.01-.04.02-.05.04,0,.01,0,.02,0,.04.59.26,1.04.66,1.35,1.18.31.52.47,1.16.47,1.9.01,1.08-.29,1.92-.92,2.51ZM51.36,7.21v4.72s.03.07.08.07h1.82c.79,0,1.4-.21,1.83-.63.43-.42.65-1.01.65-1.77s-.22-1.39-.66-1.82-1.05-.65-1.82-.65h-1.82c-.05,0-.08.02-.08.07ZM55.14,17.36c.43-.46.65-1.1.65-1.93s-.22-1.5-.66-1.96c-.44-.47-1.05-.7-1.82-.7h-1.86c-.05,0-.08.02-.08.07v5.14s.03.07.08.07h1.86c.79,0,1.4-.23,1.83-.68Z"/>
<path class="cls-1" d="M62.59,18.13c-.6-.62-.9-1.44-.9-2.48V6.47c0-.12.07-.18.2-.18h.66c.13,0,.2.06.2.18v9.28c0,.73.2,1.32.61,1.78.41.45.94.68,1.61.68s1.21-.23,1.63-.68.63-1.04.63-1.78V6.47c0-.12.07-.18.2-.18h.66c.13,0,.2.06.2.18v9.18c0,1.02-.31,1.84-.92,2.47s-1.41.94-2.4.94-1.78-.31-2.38-.93Z"/>
<path class="cls-1" d="M74.16,18.18c-.59-.58-.88-1.34-.88-2.28v-.38c0-.12.07-.18.2-.18h.64c.13,0,.2.06.2.18v.34c0,.71.2,1.28.59,1.71.39.43.9.65,1.53.65s1.15-.21,1.56-.63c.41-.42.62-.97.62-1.64,0-.44-.1-.83-.29-1.15-.19-.32-.44-.6-.74-.84s-.79-.59-1.47-1.05c-.69-.47-1.22-.86-1.59-1.16-.37-.31-.67-.67-.91-1.1-.24-.43-.36-.93-.36-1.52,0-.93.29-1.65.86-2.18s1.31-.79,2.22-.79c.97,0,1.75.29,2.34.88.59.59.88,1.36.88,2.33v.45c0,.12-.07.18-.2.18h-.66c-.13,0-.2-.06-.2-.18v-.45c0-.71-.2-1.28-.59-1.72-.39-.44-.92-.66-1.57-.66-.59,0-1.07.19-1.46.57-.39.38-.58.91-.58,1.6,0,.41.08.76.25,1.06.17.3.41.58.72.85.31.27.79.61,1.43,1.05.79.53,1.37.96,1.76,1.28.39.32.68.68.89,1.06.21.39.31.85.31,1.39,0,.99-.3,1.77-.89,2.35-.59.58-1.36.87-2.31.87s-1.71-.29-2.3-.87Z"/>
<path class="cls-1" d="M84.78,18.73V6.47c0-.12.07-.18.2-.18h.66c.13,0,.2.06.2.18v12.26c0,.12-.07.18-.2.18h-.66c-.13,0-.2-.06-.2-.18Z"/>
<path class="cls-1" d="M97.41,6.29h.64c.13,0,.2.06.2.18v12.26c0,.12-.07.18-.2.18h-.78c-.11,0-.18-.05-.22-.14l-4.26-10.09s-.03-.05-.06-.05c-.03,0-.04.03-.04.06l.02,10.04c0,.12-.07.18-.2.18h-.66c-.13,0-.2-.06-.2-.18V6.47c0-.12.07-.18.2-.18h.76c.11,0,.18.05.22.14l4.28,10.04s.03.05.06.04c.03,0,.04-.03.04-.06V6.47c0-.12.07-.18.2-.18Z"/>
<path class="cls-1" d="M109.94,7.14h-4.74c-.05,0-.08.02-.08.07v4.89s.03.07.08.07h3.04c.13,0,.2.06.2.18v.49c0,.12-.07.18-.2.18h-3.04c-.05,0-.08.02-.08.07v4.9s.03.07.08.07h4.74c.13,0,.2.06.2.18v.49c0,.12-.07.18-.2.18h-5.68c-.13,0-.2-.06-.2-.18V6.47c0-.12.07-.18.2-.18h5.68c.13,0,.2.06.2.18v.49c0,.12-.07.18-.2.18Z"/>
<path class="cls-1" d="M115.44,18.18c-.59-.58-.88-1.34-.88-2.28v-.38c0-.12.07-.18.2-.18h.64c.13,0,.2.06.2.18v.34c0,.71.2,1.28.59,1.71.39.43.9.65,1.53.65s1.15-.21,1.56-.63c.41-.42.62-.97.62-1.64,0-.44-.1-.83-.29-1.15-.19-.32-.44-.6-.74-.84s-.79-.59-1.47-1.05c-.69-.47-1.22-.86-1.59-1.16-.37-.31-.67-.67-.91-1.1-.24-.43-.36-.93-.36-1.52,0-.93.29-1.65.86-2.18s1.31-.79,2.22-.79c.97,0,1.75.29,2.34.88.59.59.88,1.36.88,2.33v.45c0,.12-.07.18-.2.18h-.66c-.13,0-.2-.06-.2-.18v-.45c0-.71-.2-1.28-.59-1.72-.39-.44-.92-.66-1.57-.66-.59,0-1.07.19-1.46.57-.39.38-.58.91-.58,1.6,0,.41.08.76.25,1.06.17.3.41.58.72.85.31.27.79.61,1.43,1.05.79.53,1.37.96,1.76,1.28.39.32.68.68.89,1.06.21.39.31.85.31,1.39,0,.99-.3,1.77-.89,2.35-.59.58-1.36.87-2.31.87s-1.71-.29-2.3-.87Z"/>
<path class="cls-1" d="M126.27,18.18c-.59-.58-.88-1.34-.88-2.28v-.38c0-.12.07-.18.2-.18h.64c.13,0,.2.06.2.18v.34c0,.71.2,1.28.59,1.71.39.43.9.65,1.53.65s1.15-.21,1.56-.63c.41-.42.62-.97.62-1.64,0-.44-.1-.83-.29-1.15-.19-.32-.44-.6-.74-.84s-.79-.59-1.47-1.05c-.69-.47-1.22-.86-1.59-1.16-.37-.31-.67-.67-.91-1.1-.24-.43-.36-.93-.36-1.52,0-.93.29-1.65.86-2.18s1.31-.79,2.22-.79c.97,0,1.75.29,2.34.88.59.59.88,1.36.88,2.33v.45c0,.12-.07.18-.2.18h-.66c-.13,0-.2-.06-.2-.18v-.45c0-.71-.2-1.28-.59-1.72-.39-.44-.92-.66-1.57-.66-.59,0-1.07.19-1.46.57-.39.38-.58.91-.58,1.6,0,.41.08.76.25,1.06.17.3.41.58.72.85.31.27.79.61,1.43,1.05.79.53,1.37.96,1.76,1.28.39.32.68.68.89,1.06.21.39.31.85.31,1.39,0,.99-.3,1.77-.89,2.35-.59.58-1.36.87-2.31.87s-1.71-.29-2.3-.87Z"/>
</g>
<g>
<path class="cls-1" d="M55.55,25.26h1.51c.13,0,.2.06.2.18v12.17c0,.12-.07.18-.2.18h-1.51c-.13,0-.2-.06-.2-.18v-5.28s-.03-.07-.08-.07h-3c-.05,0-.08.02-.08.07v5.28c0,.12-.07.18-.2.18h-1.51c-.13,0-.2-.06-.2-.18v-12.17c0-.12.07-.18.2-.18h1.51c.13,0,.2.06.2.18v5.26s.03.07.08.07h3c.05,0,.08-.02.08-.07v-5.26c0-.12.07-.18.2-.18Z"/>
<path class="cls-1" d="M67.92,37.63l-.44-2.06s0-.04-.03-.05c-.02-.01-.04-.02-.07-.02h-3.24s-.05,0-.07.02-.03.03-.03.05l-.42,2.06c-.01.11-.09.16-.22.16h-1.51c-.07,0-.12-.02-.15-.05s-.04-.08-.03-.14l2.96-12.17c.03-.11.1-.16.22-.16h1.77c.13,0,.21.05.22.16l2.98,12.17v.04c0,.11-.06.16-.18.16h-1.55c-.12,0-.19-.05-.22-.16ZM64.45,34.14h2.64s.06-.02.06-.07l-1.35-6.35s-.03-.04-.04-.04c-.01,0-.03.01-.04.04l-1.33,6.35s.02.07.06.07Z"/>
<path class="cls-1" d="M79.62,37.65l-1.83-5.33s-.04-.05-.08-.05h-1.39c-.05,0-.08.02-.08.07v5.28c0,.12-.07.18-.2.18h-1.51c-.13,0-.2-.06-.2-.18v-12.17c0-.12.07-.18.2-.18h3.56c.68,0,1.27.15,1.79.45s.92.72,1.2,1.26c.28.54.43,1.16.43,1.85,0,.75-.17,1.4-.52,1.96-.34.55-.81.96-1.41,1.21-.04.04-.05.07-.04.11l2.03,5.49.02.07c0,.08-.06.13-.18.13h-1.55c-.12,0-.2-.05-.24-.14ZM76.25,26.82v4.01s.03.07.08.07h1.47c.54,0,.98-.19,1.31-.56.33-.38.5-.87.5-1.49s-.17-1.15-.5-1.53c-.33-.38-.77-.56-1.31-.56h-1.47c-.05,0-.08.02-.08.07Z"/>
<path class="cls-1" d="M92.73,25.26h1.51c.13,0,.2.06.2.18v12.17c0,.12-.07.18-.2.18h-1.51c-.13,0-.2-.06-.2-.18v-8.88s0-.05-.03-.05-.04.01-.07.04l-1.91,3.2c-.04.08-.1.13-.18.13s-.14-.04-.18-.13l-1.89-3.19s-.05-.04-.07-.04-.03.02-.03.05v8.86c0,.12-.07.18-.2.18h-1.51c-.13,0-.2-.06-.2-.18v-12.17c0-.12.07-.18.2-.18h1.51c.09,0,.17.04.24.12l2.09,3.36s.03.02.06.02.05,0,.06-.02l2.07-3.36c.05-.08.13-.12.24-.12Z"/>
<path class="cls-1" d="M100.54,37.04c-.66-.6-.99-1.39-.99-2.38v-6.25c0-.99.33-1.79.99-2.39.66-.6,1.54-.9,2.62-.9s1.98.3,2.65.9c.67.6,1,1.4,1,2.39v6.25c0,.99-.33,1.78-1,2.38-.67.6-1.55.89-2.65.89s-1.96-.3-2.62-.89ZM104.44,35.97c.32-.32.48-.73.48-1.24v-6.41c0-.51-.16-.93-.48-1.24-.32-.32-.74-.47-1.27-.47s-.93.16-1.24.47c-.31.32-.47.73-.47,1.24v6.41c0,.51.16.93.47,1.24.31.32.72.47,1.24.47s.95-.16,1.27-.47Z"/>
<path class="cls-1" d="M117.78,25.26h1.49c.13,0,.2.06.2.18v12.17c0,.12-.07.18-.2.18h-1.71c-.11,0-.18-.05-.22-.14l-3.38-8.18s-.03-.03-.06-.03c-.03,0-.04.02-.04.04l.02,8.12c0,.12-.07.18-.2.18h-1.51c-.13,0-.2-.06-.2-.18v-12.17c0-.12.07-.18.2-.18h1.69c.11,0,.18.05.22.14l3.4,8.18s.03.05.06.04c.03,0,.04-.03.04-.06v-8.12c0-.12.07-.18.2-.18Z"/>
<path class="cls-1" d="M127.12,37.59v-5.12l-.02-.09-2.76-6.92-.02-.07c0-.08.06-.12.18-.12h1.59c.12,0,.2.05.24.14l1.69,4.94s.03.04.06.04.05-.01.06-.04l1.69-4.94c.04-.1.12-.14.24-.14h1.59c.15,0,.2.07.16.2l-2.76,6.92-.02.09v5.12c0,.12-.07.18-.2.18h-1.51c-.13,0-.2-.06-.2-.18Z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 7.3 KiB

View File

Before

Width:  |  Height:  |  Size: 7.3 KiB

After

Width:  |  Height:  |  Size: 7.3 KiB

View File

@@ -0,0 +1,34 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 141.73 59.06">
<defs>
<style>
.cls-1 {
fill: #fff;
}
.cls-2 {
fill: #53b7a9;
}
</style>
</defs>
<g>
<path class="cls-1" d="M18.25,41.63c0,.41-.16.76-.48,1.04-.32.29-.7.43-1.13.43H5.95v2.23h4.43c.44,0,.82.14,1.13.43.32.29.48.63.48,1.04s-.16.74-.48,1.03-.7.44-1.13.44h-5.09c-.53,0-1.02-.12-1.48-.36-.45-.24-.81-.56-1.08-.97-.27-.41-.4-.85-.4-1.33v-4.4H0v4.52c0,.86.24,1.65.72,2.38s1.12,1.31,1.93,1.73c.81.42,1.69.63,2.64.63h5.04c.74,0,1.43-.17,2.05-.5.63-.33,1.13-.78,1.5-1.34s.56-1.17.56-1.84c0-.55-.13-1.04-.39-1.47h2.59c.73,0,1.39-.16,2-.48s1.08-.75,1.43-1.3.52-1.15.52-1.8v-4.01h-2.34v3.89Z"/>
<rect class="cls-1" x="18.12" y="33.8" width="2.32" height="2.06"/>
<path class="cls-1" d="M45.42,41.22c0-.74-.21-1.41-.62-2.02-.42-.61-.98-1.09-1.68-1.44-.7-.35-1.48-.52-2.33-.52h-5.79v2.11h1.36v2.31c0,.41-.16.75-.48,1.03s-.7.42-1.13.42h-2.52v-1.78c0-.75-.19-1.44-.58-2.08-.39-.63-.92-1.13-1.6-1.5-.68-.37-1.43-.55-2.25-.55s-1.62.19-2.33.56c-.7.38-1.26.88-1.68,1.5s-.62,1.32-.62,2.07.21,1.43.62,2.04.98,1.09,1.68,1.44c.7.35,1.48.52,2.33.52h2.09c0,.52-.14.95-.42,1.3-.28.35-.76.69-1.43,1.02-.67.33-1.71.77-3.12,1.32l.73,1.86c1.59-.63,2.81-1.17,3.66-1.63.85-.46,1.51-.99,2-1.6s.78-1.37.89-2.28h2.57c.61,0,1.14-.11,1.61-.34.47-.22.85-.53,1.16-.93.41.41.89.73,1.45.96.56.23,1.17.35,1.82.35.85,0,1.62-.19,2.33-.56.7-.37,1.26-.88,1.68-1.51.42-.63.62-1.33.62-2.08ZM29.89,43.23h-2.09c-.61,0-1.12-.18-1.53-.54s-.62-.81-.62-1.36.21-.98.62-1.36.93-.56,1.53-.56,1.07.19,1.48.56c.41.38.61.83.61,1.36v1.9ZM42.32,42.59c-.42.37-.93.55-1.53.55s-1.09-.18-1.5-.55c-.41-.37-.61-.82-.61-1.37v-1.88h2.11c.61,0,1.12.18,1.53.54.42.36.62.81.62,1.34s-.21,1-.62,1.37Z"/>
<path class="cls-1" d="M48.1,44.8c0,.76-.11,1.37-.33,1.81-.22.44-.57.82-1.04,1.15s-1.27.76-2.37,1.32l.88,1.76c1.36-.6,2.4-1.15,3.12-1.66.72-.5,1.25-1.1,1.58-1.78.33-.68.5-1.55.5-2.62v-6.42h-2.34v6.44Z"/>
<path class="cls-1" d="M74.25,39.2c-.42-.61-.98-1.1-1.68-1.45-.7-.35-1.47-.53-2.3-.53h-10.81v2.13h1.57c-.44.61-.66,1.26-.66,1.94s.2,1.27.59,1.82h-3.84c-.44,0-.82-.14-1.13-.43-.32-.29-.48-.63-.48-1.04v-9.88h-2.34v10c0,.65.17,1.25.52,1.8s.82.98,1.43,1.3c.6.32,1.27.48,2,.48h13.15c.82,0,1.58-.18,2.29-.55.71-.37,1.27-.87,1.69-1.49.42-.63.62-1.32.62-2.07s-.21-1.41-.62-2.02ZM66.34,42.55c-.41.37-.89.55-1.45.55-.59,0-1.09-.18-1.5-.55s-.61-.81-.61-1.33.2-.96.61-1.33.91-.55,1.5-.55,1.06.18,1.46.55.6.81.6,1.33-.2.96-.61,1.33ZM71.78,42.56c-.42.36-.92.54-1.51.54h-1.75c.33-.56.5-1.17.5-1.82,0-.7-.19-1.34-.57-1.94h1.82c.59,0,1.09.18,1.51.54.42.36.62.81.62,1.34s-.21.98-.62,1.34Z"/>
<rect class="cls-1" x="41.31" y="8.82" width="2.32" height="2.09"/>
<rect class="cls-1" x="46.42" y="21.63" width="2.32" height="2.09"/>
<path class="cls-1" d="M49.94,16.04c0,.41-.16.76-.47,1.04-.31.29-.69.43-1.15.43h-3.06c-.44,0-.82-.14-1.14-.42s-.48-.62-.48-1.03v-3.29h-2.34v3.29c0,.41-.16.75-.48,1.03s-.7.42-1.14.42h-4.79s0,0,0,0,0,0,0,0h-8.33c-.45,0-.84-.14-1.15-.42-.31-.28-.47-.62-.47-1.03v-3.91h-2.34v3.95c0,.41-.16.75-.48,1.03s-.7.42-1.14.42-.84-.14-1.15-.42c-.31-.28-.47-.62-.47-1.03v-3.33h-2.34v3.33c0,.41-.16.75-.48,1.03s-.7.42-1.14.42-.84-.14-1.16-.42-.48-.62-.48-1.03v-3.33h-2.36v4.52c0,.74-.2,1.41-.6,2.03s-.95,1.11-1.63,1.47c-.69.36-1.44.54-2.26.54s-1.55-.18-2.24-.54c-.69-.36-1.23-.85-1.63-1.47s-.6-1.3-.6-2.03v-3.7H.15v3.82c0,1.1.31,2.13.92,3.07.61.94,1.44,1.69,2.49,2.24,1.05.55,2.18.83,3.41.83,1.01,0,1.97-.19,2.86-.56s1.65-.9,2.28-1.58c.63-.67,1.08-1.43,1.35-2.28.51.44,1.18.65,2,.65.61,0,1.14-.11,1.61-.34.47-.23.86-.54,1.16-.95.32.41.71.73,1.18.95s1.01.34,1.61.34,1.15-.11,1.62-.35c.48-.23.87-.55,1.17-.96.3.39.69.71,1.16.93.47.23,1.01.34,1.61.34h8.33s0,0,0,0,0,0,0,0h4.79c.6,0,1.15-.12,1.62-.35.48-.23.86-.55,1.15-.96.3.41.69.73,1.17.96.48.23,1.02.35,1.62.35h3.06c.73,0,1.39-.16,2-.48.6-.32,1.08-.75,1.43-1.3.35-.55.52-1.14.52-1.8v-4.01h-2.34v3.88Z"/>
<rect class="cls-1" x="49.91" y="21.63" width="2.29" height="2.09"/>
<path class="cls-1" d="M56.73,23.63c.72-.5,1.25-1.09,1.59-1.75s.52-1.5.53-2.5c.46.24.99.37,1.61.37h2.38c.61,0,1.15-.12,1.62-.35.48-.23.87-.55,1.17-.96.3.41.69.73,1.17.96.48.23,1.01.35,1.6.35h2.5c.73,0,1.39-.16,2-.48.61-.32,1.08-.75,1.43-1.3.35-.55.52-1.14.52-1.8v-4.01h-2.34v3.88c0,.41-.16.76-.48,1.04s-.7.43-1.13.43h-2.5c-.44,0-.82-.14-1.14-.42s-.48-.62-.48-1.03v-3.29h-2.34v3.29c0,.41-.16.75-.48,1.03s-.7.42-1.14.42h-2.38c-.45,0-.84-.14-1.15-.42s-.47-.62-.47-1.03v-3.29h-2.34v6.44c0,.76-.11,1.37-.33,1.81s-.57.82-1.04,1.14c-.48.32-1.27.76-2.37,1.32l.88,1.76c1.33-.57,2.36-1.11,3.08-1.62Z"/>
<rect class="cls-1" x="56.51" y="8.82" width="2.32" height="2.09"/>
<rect class="cls-1" x="66.21" y="21.63" width="2.29" height="2.09"/>
<rect class="cls-1" x="62.71" y="21.63" width="2.32" height="2.09"/>
<rect class="cls-1" x="69.79" y="21.59" width="2.32" height="2.09"/>
</g>
<g>
<path class="cls-2" d="M114.99,11.83C114.99,5.31,109.68,0,103.16,0s-11.83,5.31-11.83,11.83c0,2.13.54,4.14,1.62,5.96,4.27,7.24,4.27,16.23,0,23.47-1.07,1.82-1.62,3.83-1.62,5.96,0,6.52,5.31,11.83,11.83,11.83s11.83-5.31,11.83-11.83c0,0,0,0,0-.01V11.85s0,0,0-.01Z"/>
<path class="cls-2" d="M140.11,17.8c1.08-1.82,1.62-3.83,1.62-5.96C141.73,5.31,136.42,0,129.9,0s-11.83,5.31-11.83,11.83c0,0,0,0,0,0v35.37s0,0,0,0c0,6.52,5.31,11.83,11.83,11.83s11.83-5.31,11.83-11.83c0-2.13-.54-4.14-1.62-5.96-4.27-7.24-4.27-16.23,0-23.47Z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.4 KiB

View File

Before

Width:  |  Height:  |  Size: 5.4 KiB

After

Width:  |  Height:  |  Size: 5.4 KiB

View File

@@ -1,24 +1,49 @@
import LogoFaSvg from '@/assets/logo-fa.svg';
import LogoEnSvg from '@/assets/logo-en.svg';
import LogoIconSvg from '@/assets/logo_icon.svg';
import { Box, type SxProps } from '@mui/material';
import { useMemo } from 'react';
import { Box, useColorScheme, type SxProps } from '@mui/material';
import { useTranslation } from 'react-i18next';
import LogoFaLightSvg from '@/assets/logo-fa-light.svg';
import LogoEnLightSvg from '@/assets/logo-en-light.svg';
import LogoFaDarkSvg from '@/assets/logo-fa-dark.svg';
import LogoEnDarkSvg from '@/assets/logo-en-dark.svg';
import LogoIconSvg from '@/assets/logo_icon.svg';
interface LogoProps {
boxSx?: SxProps;
isIcon?: boolean;
}
const LOGO_MAP = {
fa: {
light: LogoFaLightSvg,
dark: LogoFaDarkSvg,
},
en: {
light: LogoEnLightSvg,
dark: LogoEnDarkSvg,
},
} as const;
function Logo({ boxSx, isIcon = false }: LogoProps) {
const { i18n } = useTranslation();
const { mode } = useColorScheme();
const logoSrc = useMemo(() => {
if (isIcon) return LogoIconSvg;
const lang = i18n.language.startsWith('fa') ? 'fa' : 'en';
const resolvedMode = mode === 'dark' ? 'dark' : 'light';
return LOGO_MAP[lang][resolvedMode];
}, [i18n.language, mode, isIcon]);
const isFarsi = i18n.language === 'fa' || i18n.language === 'fa-IR';
return (
<Box
component="img"
src={isIcon ? LogoIconSvg : isFarsi ? LogoFaSvg : LogoEnSvg}
src={logoSrc}
alt="logo"
sx={{
width: isIcon ? '30px' : '120px',
width: isIcon ? 30 : 120,
height: 'auto',
...boxSx,
}}