This commit is contained in:
Oliver 2026-07-06 09:23:41 +10:00 committed by GitHub
commit 7a6546ec21
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
37 changed files with 250 additions and 476 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 198 KiB

After

Width:  |  Height:  |  Size: 58 KiB

View File

@ -2,49 +2,52 @@
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
sodipodi:docname="inventree.svg"
inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
inkscape:version="1.4 (86a8ad7, 2024-10-11)"
version="1.1"
id="svg2"
viewBox="0 0 400 400.00001"
height="400"
width="400"
viewBox="0 0 500 500.00001"
height="500"
width="500"
inkscape:export-filename="C:\inventree\images\logo\inventree.png"
inkscape:export-xdpi="499.92001"
inkscape:export-ydpi="499.92001">
inkscape:export-xdpi="192"
inkscape:export-ydpi="192"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<sodipodi:namedview
inkscape:window-maximized="1"
inkscape:window-y="-8"
inkscape:window-x="-8"
inkscape:window-height="1017"
inkscape:window-x="1912"
inkscape:window-height="1009"
inkscape:window-width="1920"
showgrid="false"
inkscape:current-layer="g2907"
inkscape:document-units="px"
inkscape:cy="426.62472"
inkscape:cx="-960.58794"
inkscape:zoom="0.31819805"
inkscape:cy="366.28131"
inkscape:cx="301.22748"
inkscape:zoom="0.3535534"
inkscape:pageshadow="2"
inkscape:pageopacity="0.0"
borderopacity="1.0"
bordercolor="#666666"
pagecolor="#ffffff"
id="base"
units="px" />
units="px"
inkscape:showpageshadow="2"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1" />
<defs
id="defs4">
<inkscape:path-effect
effect="skeletal"
id="path-effect4158"
is_visible="true"
pattern="m 446.48742,503.05596 1,0"
pattern="m 446.48742,503.05596 h 1"
copytype="single_stretched"
prop_scale="1"
scale_y_rel="false"
@ -54,7 +57,9 @@
prop_units="false"
vertical_pattern="false"
fuse_tolerance="0"
pattern-nodetypes="cc" />
pattern-nodetypes="cc"
lpeversion="0"
hide_knot="false" />
</defs>
<metadata
id="metadata7">
@ -64,7 +69,6 @@
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
@ -76,216 +80,60 @@
<g
id="g2907"
transform="matrix(1.7132796,0,0,1.7132796,460.05136,236.12365)">
<g
id="g5713">
<path
sodipodi:nodetypes="ccccc"
inkscape:connector-curvature="0"
id="path4896"
d="m -151.78571,359.62883 v 112.76373 l 97.068507,-56.04253 V 303.14815 Z"
style="fill:#ddbc91;fill-opacity:1;stroke:#000000;stroke-width:1.5622561;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
style="fill:#d9b383;fill-opacity:1;stroke:#000000;stroke-width:1.5622561;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m -151.78571,359.62883 v 112.76373 l -97.0685,-56.04253 V 303.14815 Z"
id="path4898"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccc" />
<path
sodipodi:nodetypes="ccccc"
inkscape:connector-curvature="0"
id="path4900"
d="m -54.717203,303.14815 -97.068507,56.48068 -97.0685,-56.48068 97.0685,-56.17354 z"
style="fill:#ddbc91;fill-opacity:1;stroke:#000000;stroke-width:1.5622561;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<g
id="g4916"
transform="matrix(1.4761476,0,0,1.4761476,-218.87903,128.54472)"
style="opacity:1;vector-effect:none;fill:#f3f4e4;fill-opacity:1;stroke:#000000;stroke-width:1.05833328;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1">
<path
id="path4910"
transform="matrix(0.40703466,0,0,0.40703466,-35.955294,75.175547)"
d="M 78.833984,129.19141 V 270.49609 L 200,340.45117 321.16602,270.49609 V 129.19141 L 200,199.69336 Z"
style="vector-effect:none;fill:#f3f4e4;fill-opacity:1;stroke:#000000;stroke-width:2.600106;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
inkscape:connector-curvature="0" />
<path
style="vector-effect:none;fill:#f3f4e4;fill-opacity:1;stroke:#000000;stroke-width:1.05833328;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
d="M 94.770135,127.76116 45.451638,156.45782 -3.8668589,127.76116 45.451638,99.220548 Z"
id="path4914"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccc" />
</g>
<path
style="opacity:1;vector-effect:none;fill:#d9dbbc;fill-opacity:1;stroke:#000000;stroke-width:1.56225622;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
d="m -151.7857,275.0089 v 84.49065 l -72.80137,42.54091 v -84.90142 z"
id="path4918"
inkscape:connector-curvature="0" />
<path
inkscape:connector-curvature="0"
id="path4920"
d="m -151.7857,275.0089 v 84.49065 l 72.801373,42.54091 v -84.90142 z"
style="opacity:1;vector-effect:none;fill:#eaeccf;fill-opacity:1;stroke:#000000;stroke-width:1.56225622;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<g
style="opacity:1;vector-effect:none;fill:#90a8d8;fill-opacity:1;stroke:#000000;stroke-width:1.58749998;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
transform="matrix(0.9840984,0,0,0.9840984,-196.5146,205.65597)"
id="g4928">
<path
sodipodi:nodetypes="ccccc"
inkscape:connector-curvature="0"
id="path4922"
d="m 45.451638,156.45782 v 57.29292 l 49.318497,-28.47405 v -57.51553 z"
style="vector-effect:none;fill:#90a8d8;fill-opacity:1;stroke:#000000;stroke-width:1.58749998;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<path
style="vector-effect:none;fill:#90a8d8;fill-opacity:1;stroke:#000000;stroke-width:1.58749998;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
d="m 45.451638,156.45782 v 57.29292 L -3.866859,185.27669 v -57.51553 z"
id="path4924"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccc" />
<path
sodipodi:nodetypes="ccccc"
inkscape:connector-curvature="0"
id="path4926"
d="M 94.770135,127.76116 45.451638,156.45782 -3.8668589,127.76116 45.451638,99.220548 Z"
style="vector-effect:none;fill:#90a8d8;fill-opacity:1;stroke:#000000;stroke-width:1.58749998;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
</g>
</g>
<g
transform="translate(0,102.8232)"
id="g5856"
inkscape:export-xdpi="499.92001"
inkscape:export-ydpi="499.92001">
<path
style="opacity:1;vector-effect:none;fill:#90a8d8;fill-opacity:1;stroke:#000000;stroke-width:1.7510277;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
d="m -587.59709,399.25327 v 126.38928 l 108.79755,-62.8143 V 335.94789 Z"
id="path5850"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccc" />
<path
sodipodi:nodetypes="ccccc"
inkscape:connector-curvature="0"
id="path5852"
d="m -587.59709,399.25327 v 126.38928 l -108.79754,-62.8143 V 335.94789 Z"
style="opacity:1;vector-effect:none;fill:#90a8d8;fill-opacity:1;stroke:#000000;stroke-width:1.7510277;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<path
style="opacity:1;vector-effect:none;fill:#90a8d8;fill-opacity:1;stroke:#000000;stroke-width:1.7510277;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
d="m -478.79954,335.94789 -108.79755,63.30538 -108.79754,-63.30538 108.79754,-62.96113 z"
id="path5854"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccc" />
</g>
<g
id="g5848"
transform="translate(0,-23.56608)"
inkscape:export-xdpi="499.92001"
inkscape:export-ydpi="499.92001">
<path
sodipodi:nodetypes="ccccc"
inkscape:connector-curvature="0"
id="path5803"
d="m -587.59709,399.25327 v 126.38928 l 108.79755,-62.8143 V 335.94789 Z"
style="opacity:1;vector-effect:none;fill:#90a8d8;fill-opacity:1;stroke:#000000;stroke-width:1.7510277;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<path
style="opacity:1;vector-effect:none;fill:#90a8d8;fill-opacity:1;stroke:#000000;stroke-width:1.7510277;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
d="m -587.59709,399.25327 v 126.38928 l -108.79754,-62.8143 V 335.94789 Z"
id="path5805"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccc" />
<path
sodipodi:nodetypes="ccccc"
inkscape:connector-curvature="0"
id="path5807"
d="m -478.79954,335.94789 -108.79755,63.30538 -108.79754,-63.30538 108.79754,-62.96113 z"
style="opacity:1;vector-effect:none;fill:#90a8d8;fill-opacity:1;stroke:#000000;stroke-width:1.7510277;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
</g>
<path
sodipodi:nodetypes="ccccc"
inkscape:connector-curvature="0"
id="path4649"
d="m -587.59709,249.29791 v 126.38928 l 108.79755,-62.8143 V 185.99253 Z"
style="fill:#ddbc91;fill-opacity:1;stroke:#000000;stroke-width:1.75102758;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
inkscape:export-xdpi="499.92001"
inkscape:export-ydpi="499.92001" />
id="path4896"
d="m -122.54394,388.79361 -119.41589,68.9448 118.6972,68.52986 119.87989,-69.21269 z"
style="font-variation-settings:normal;vector-effect:none;fill:#c9944d;fill-opacity:1;stroke:#ffffff;stroke-width:14.5919;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none;paint-order:normal;stop-color:#000000" />
<path
style="opacity:1;vector-effect:none;fill:#d9b383;fill-opacity:1;stroke:#000000;stroke-width:1.5622561;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
d="m -587.59709,249.29791 v 126.38928 l -108.79754,-62.8143 V 185.99253 Z"
id="path4651"
style="font-variation-settings:normal;vector-effect:none;fill:#c9944d;fill-opacity:1;stroke:#ffffff;stroke-width:14.5919;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none;paint-order:normal;stop-color:#000000"
d="m -122.54394,388.79361 -119.41589,68.9448 0,-137.0597 119.8799,-69.21269 z"
id="path4898"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccc"
inkscape:export-xdpi="499.92001"
inkscape:export-ydpi="499.92001" />
sodipodi:nodetypes="ccccc" />
<path
sodipodi:nodetypes="ccccc"
inkscape:connector-curvature="0"
id="path4653"
d="m -478.79954,185.99253 -108.79755,63.30538 -108.79754,-63.30538 108.79754,-62.96113 z"
style="fill:#ddbc91;fill-opacity:1;stroke:#000000;stroke-width:1.75102758;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
inkscape:export-xdpi="499.92001"
inkscape:export-ydpi="499.92001" />
<g
id="g4703"
transform="matrix(1.6545144,0,0,1.6545144,-662.79747,-9.7087)"
style="opacity:1;vector-effect:none;fill:#f3f4e4;fill-opacity:1;stroke:#000000;stroke-width:1.05833328;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
inkscape:export-xdpi="499.92001"
inkscape:export-ydpi="499.92001">
<path
inkscape:connector-curvature="0"
style="vector-effect:none;fill:#f3f4e4;fill-opacity:1;stroke:#000000;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
d="m -713.3418,130.54492 v 163.03516 l 139.79883,80.71484 139.80078,-80.71484 V 130.54492 l -139.80078,81.3457 z"
transform="matrix(0.35277777,0,0,0.35277777,247.78456,81.707826)"
id="path4697" />
<path
style="vector-effect:none;fill:#f3f4e4;fill-opacity:1;stroke:#000000;stroke-width:1.05833328;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
d="M 94.770135,127.76116 45.451638,156.45782 -3.8668589,127.76116 45.451638,99.220548 Z"
id="path4701"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccc" />
</g>
id="path4900"
d="m -3.38274,457.05558 -119.1612,-68.26197 0.46401,-137.32759 118.83593,68.44974 z"
style="font-variation-settings:normal;vector-effect:none;fill:#c9944d;fill-opacity:1;stroke:#ffffff;stroke-width:14.5919;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none;paint-order:normal;stop-color:#000000" />
<path
style="opacity:1;vector-effect:none;fill:#d9dbbc;fill-opacity:1;stroke:#000000;stroke-width:1.7510277;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
d="m -587.59709,154.45314 v 94.69988 l -81.59816,47.68125 v -95.1603 z"
id="path4788"
sodipodi:nodetypes="ccccc"
inkscape:connector-curvature="0"
inkscape:export-xdpi="499.92001"
inkscape:export-ydpi="499.92001" />
id="path4926"
d="m -62.96019,422.92278 -59.58061,-34.13099 0.23201,-68.6638 59.41797,34.22484 z"
style="fill:#90a8d8;fill-opacity:1;stroke:#ffffff;stroke-width:14.2746;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<path
sodipodi:nodetypes="ccccc"
inkscape:connector-curvature="0"
id="path4830"
d="m -587.59709,154.45314 v 94.69988 l 81.59817,47.68125 v -95.1603 z"
style="opacity:1;vector-effect:none;fill:#eaeccf;fill-opacity:1;stroke:#000000;stroke-width:1.7510277;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
inkscape:export-xdpi="499.92001"
inkscape:export-ydpi="499.92001" />
<g
style="opacity:1;vector-effect:none;fill:#90a8d8;fill-opacity:1;stroke:#000000;stroke-width:1.58749998;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
transform="matrix(1.1030096,0,0,1.1030096,-637.73068,76.7201)"
id="g4695"
inkscape:export-xdpi="499.92001"
inkscape:export-ydpi="499.92001">
<path
sodipodi:nodetypes="ccccc"
inkscape:connector-curvature="0"
id="path4689"
d="m 45.451638,156.45782 v 57.29292 l 49.318497,-28.47405 v -57.51553 z"
style="vector-effect:none;fill:#90a8d8;fill-opacity:1;stroke:#000000;stroke-width:1.58749998;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<path
style="vector-effect:none;fill:#90a8d8;fill-opacity:1;stroke:#000000;stroke-width:1.58749998;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
d="m 45.451638,156.45782 v 57.29292 L -3.866859,185.27669 v -57.51553 z"
id="path4691"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccc" />
<path
sodipodi:nodetypes="ccccc"
inkscape:connector-curvature="0"
id="path4693"
d="M 94.770135,127.76116 45.451638,156.45782 -3.8668589,127.76116 45.451638,99.220548 Z"
style="vector-effect:none;fill:#90a8d8;fill-opacity:1;stroke:#000000;stroke-width:1.58749998;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
</g>
<rect
style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:none;stroke-width:1.41293824;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect5777"
width="281.65912"
height="552.58508"
x="-728.42657"
y="95.064545"
inkscape:export-xdpi="499.92001"
inkscape:export-ydpi="499.92001" />
id="path4922"
d="m -122.5408,388.79179 -59.70796,34.47241 59.34862,34.26492 59.93995,-34.60634 z"
style="fill:#5e81c7;fill-opacity:1;stroke:#ffffff;stroke-width:14.2746;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<path
style="fill:#7895d0;fill-opacity:1;stroke:#ffffff;stroke-width:14.2746;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
d="m -122.5408,388.79179 -59.70796,34.47241 2e-5,-68.52987 59.93995,-34.60634 z"
id="path4924"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccc" />
<path
sodipodi:nodetypes="ccccc"
inkscape:connector-curvature="0"
id="path5"
d="m -122.27858,465.06725 -0.2576,-76.23839 66.153184,-37.89611 0.07697,76.13412 z"
style="font-variation-settings:normal;fill:#2b93d4;fill-opacity:1;stroke:#ffffff;stroke-width:18.1408;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" />
<path
sodipodi:nodetypes="ccccc"
inkscape:connector-curvature="0"
id="path6"
d="m -122.53618,388.82886 -66.29457,-38.2752 v 76.08967 l 66.55217,38.42392 z"
style="font-variation-settings:normal;vector-effect:none;fill:#2b93d4;fill-opacity:1;stroke:#ffffff;stroke-width:18.1408;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none;stop-color:#000000" />
<path
style="font-variation-settings:normal;vector-effect:none;fill:#2b93d4;fill-opacity:1;stroke:#ffffff;stroke-width:18.1408;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none;stop-color:#000000"
d="m -122.53618,388.82886 -66.29457,-38.2752 65.89558,-38.04483 66.552174,38.42392 z"
id="path7"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccc" />
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 341 KiB

View File

@ -1,213 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
sodipodi:docname="inventree_logo_old.svg"
inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
version="1.1"
id="svg2"
viewBox="0 0 400 400.00001"
height="400"
width="400"
inkscape:export-filename="/home/oliver/InvenTree/InvenTree/static/img/inventree.png"
inkscape:export-xdpi="115.2"
inkscape:export-ydpi="115.2">
<sodipodi:namedview
inkscape:window-maximized="1"
inkscape:window-y="-8"
inkscape:window-x="-8"
inkscape:window-height="1017"
inkscape:window-width="1920"
showgrid="false"
inkscape:current-layer="layer1"
inkscape:document-units="px"
inkscape:cy="299.31981"
inkscape:cx="-113.71816"
inkscape:zoom="0.49497475"
inkscape:pageshadow="2"
inkscape:pageopacity="0.0"
borderopacity="1.0"
bordercolor="#666666"
pagecolor="#ffffff"
id="base"
units="px" />
<defs
id="defs4">
<inkscape:path-effect
effect="skeletal"
id="path-effect4158"
is_visible="true"
pattern="m 446.48742,503.05596 1,0"
copytype="single_stretched"
prop_scale="1"
scale_y_rel="false"
spacing="0"
normal_offset="0"
tang_offset="0"
prop_units="false"
vertical_pattern="false"
fuse_tolerance="0"
pattern-nodetypes="cc" />
<filter
inkscape:collect="always"
style="color-interpolation-filters:sRGB"
id="filter4235"
x="-0.039156627"
width="1.0783134"
y="-0.12828948"
height="1.2565789">
<feGaussianBlur
inkscape:collect="always"
stdDeviation="1.0881695"
id="feGaussianBlur4237" />
</filter>
<filter
inkscape:collect="always"
style="color-interpolation-filters:sRGB"
id="filter4267"
x="-0.052473787"
width="1.1049476"
y="-0.56300002"
height="2.1259999">
<feGaussianBlur
inkscape:collect="always"
stdDeviation="5.6871588"
id="feGaussianBlur4269" />
</filter>
</defs>
<metadata
id="metadata7">
<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:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-652.36216)">
<path
style="fill:#808080;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter4267)"
d="m 134.85536,941.7505 -18.68782,10.10153 186.87822,10.10152 73.23606,-16.66751 -14.14213,-7.57615 z"
id="path4167"
inkscape:connector-curvature="0"
transform="matrix(-1,0,0,1,456.96474,45.558255)"
inkscape:export-xdpi="299.91324"
inkscape:export-ydpi="299.91324" />
<path
style="fill:#e2b781;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 376.6076,776.49193 -78.96011,16.3889 -6.97326,25.8802 z"
id="path3365"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccc"
inkscape:export-xdpi="299.91324"
inkscape:export-ydpi="299.91324" />
<path
style="fill:#b08453;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 158.30404,780.77763 -2.94644,221.07147 169.46428,-10.35713 0.35715,-189.64294 z"
id="path3357"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccc"
inkscape:export-xdpi="299.91324"
inkscape:export-ydpi="299.91324" />
<path
style="fill:#000000;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter4235)"
d="m 367.23214,928.61221 3.48215,10 -68.75,18.125 4.28571,-13.03572 z"
id="path4217"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccc"
transform="matrix(-1,0,0,1,456.96474,45.558255)"
inkscape:export-xdpi="299.91324"
inkscape:export-ydpi="299.91324" />
<path
style="fill:#987551;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 158.30404,780.77763 -73.482167,32.1428 0,168.5715 70.535727,20.35717 z"
id="path3359"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccc"
inkscape:export-xdpi="299.91324"
inkscape:export-ydpi="299.91324" />
<path
style="fill:#b28f69;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 158.30404,780.77763 -73.482167,-79.2857 -61.42857,51.4285 61.42857,60 z"
id="path3361"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccc"
inkscape:export-xdpi="299.91324"
inkscape:export-ydpi="299.91324" />
<path
style="fill:#926c40;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 158.30404,780.77763 40.80356,-95.71432 163.57143,37.85712 -37.5,78.9286 z"
id="path3363"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccc"
inkscape:export-xdpi="299.91324"
inkscape:export-ydpi="299.91324" />
<g
id="text4273"
style="font-style:normal;font-weight:normal;font-size:217.54554749px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;opacity:0.76999996;fill:#335d88;fill-opacity:1;stroke:#ede3d8;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
transform="matrix(1.1055685,0.12077953,0.13042915,-1.1045144,260.24897,1649.2316)"
inkscape:export-xdpi="299.91324"
inkscape:export-ydpi="299.91324">
<path
inkscape:connector-curvature="0"
id="path4577"
style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:217.55203247px;line-height:125%;font-family:Brussels;-inkscape-font-specification:'Brussels, Light';text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#335d88;fill-opacity:1;stroke:#ede3d8;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m -117.40075,599.71964 c 5.27286,1.59179 8.93096,3.72644 11.01731,6.40882 2.16744,2.68089 3.19894,6.45951 3.10336,11.34732 0,0 -1.08272,55.36631 -1.08272,55.36631 -0.21906,11.20195 -7.38435,16.55674 -21.8761,16.0485 0,0 -2.92196,-0.10247 -2.92196,-0.10247 0,0 -0.15971,8.03102 -0.15971,8.03102 0,0 39.16281,5.47451 39.16281,5.47451 0,0 12.568242,0.24647 12.568242,0.24647 0,0 1.566329,-81.64215 1.566329,-81.64215 0.09195,-4.79265 1.142855,-8.19902 3.144966,-10.21177 1.990467,-1.93135 5.341631,-2.94441 10.01779,-3.04567 0,0 8.490412,-0.0219 8.490412,-0.0219 0,0 0.13793,-7.29971 0.13793,-7.29971 0,0 -72.942109,-11.42831 -72.942109,-11.42831 0,0 -0.15928,8.00932 -0.15928,8.00932 0,0 9.93273,2.8197 9.93273,2.8197 0,0 0,0 0,0 m 26.057646,150.04813 c 4.860402,-0.19831 8.905931,-1.73322 12.161092,-4.58865 3.313681,-2.83452 4.997535,-6.2059 5.072638,-10.13186 0.07509,-3.92554 -1.480873,-7.22278 -4.687942,-9.90881 -3.147235,-2.70919 -7.135665,-4.06169 -11.990765,-4.04062 -5.005803,0.0217 -9.283919,1.44206 -12.809479,4.27943 -3.55676,2.86247 -5.38718,6.35506 -5.46763,10.45908 -0.0805,4.10447 1.61494,7.51856 5.06366,10.22424 3.41899,2.68235 7.647131,3.91166 12.658426,3.70719 0,0 0,0 0,0" />
</g>
<path
sodipodi:nodetypes="ccccccccccccc"
inkscape:connector-curvature="0"
id="path913"
d="M -151.78571,469.14787 V 345.57644 l 33.49155,-14.98746 0.2379,30.36968 47.48924,-21.05889 v -30.1723 l 25.168779,-11.95802 V 419.86216 L -70.56702,431.31302 V 350.84 l -47.72714,20.1238 v 82.67961 z"
style="fill:#b28f69;fill-opacity:1;stroke:#28170b;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
style="fill:#987551;fill-opacity:1;stroke:#28170b;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M -151.78571,469.14787 V 345.57644 l -106.38747,-47.80699 v 122.09271 z"
id="path915"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccc" />
<path
inkscape:connector-curvature="0"
id="path917"
d="m -258.17318,297.76945 107.63747,-47.55015 105.137469,47.55015 -25.168779,11.95802 -30.58246,-14.64977 -46.03968,22.24716 28.895,13.26412 -33.49155,14.98746 z"
style="opacity:1;vector-effect:none;fill:#b08453;fill-opacity:1;stroke:#28170b;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
sodipodi:nodetypes="ccccccccc" />
<path
inkscape:connector-curvature="0"
id="path919"
d="M -105.54035,271.51424 -207.8183,319.49649"
style="opacity:1;vector-effect:none;fill:#b08453;fill-opacity:1;stroke:#28170b;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<path
sodipodi:nodetypes="ccccc"
inkscape:connector-curvature="0"
id="path921"
d="m -77.418594,434.71237 0.535714,-73.87313 -34.14368,14.99103 -0.71429,73.83352 z"
style="opacity:1;vector-effect:none;fill:#345c72;fill-opacity:1;stroke:#28170b;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<path
style="opacity:1;vector-effect:none;fill:#345c72;fill-opacity:1;stroke:#28170b;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
d="m -77.954308,336.54157 0.267857,-23.94192 -33.161539,14.39666 -0.44643,24.25946 z"
id="path923"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccc" />
<path
sodipodi:nodetypes="ccccc"
inkscape:connector-curvature="0"
id="path925"
d="m -110.84799,326.99631 -22.99381,-10.0859 32.82604,-15.53942 23.329309,11.22866 z"
style="opacity:1;vector-effect:none;fill:#345c72;fill-opacity:1;stroke:#28170b;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 11 KiB

View File

@ -307,7 +307,7 @@ class InfoView(APIView):
'docker_mode': settings.DOCKER,
'default_locale': settings.LANGUAGE_CODE,
'customize': {
'logo': helpers.getLogoImage(),
'logo': helpers.getLogoImage(backup=False),
'splash': helpers.getSplashScreen(),
'login_message': helpers.getCustomOption('login_message'),
'navbar_message': helpers.getCustomOption('navbar_message'),

View File

@ -5,7 +5,6 @@ import hashlib
import inspect
import io
import json
import os.path
import re
from decimal import Decimal, InvalidOperation
from pathlib import Path
@ -262,8 +261,14 @@ def checkStaticFile(*args) -> bool:
return static_storage.exists(str(fn))
def getLogoImage(as_file=False, custom=True):
"""Return the InvenTree logo image, or a custom logo if available."""
def getLogoImage(as_file: bool = False, custom: bool = True, backup: bool = True):
"""Return the InvenTree logo image, or a custom logo if available.
Arguments:
as_file: Return a file path instead of a URL (default = False)
custom: Use a custom logo if available (default = True)
backup: Use a backup logo if available (default = True)
"""
if custom and settings.CUSTOM_LOGO:
static_storage = StaticFilesStorage()
@ -279,14 +284,17 @@ def getLogoImage(as_file=False, custom=True):
return f'file://{storage.path(settings.CUSTOM_LOGO)}'
return storage.url(settings.CUSTOM_LOGO)
# If we have got to this point, return the default logo
if as_file:
path = settings.STATIC_ROOT.joinpath('img/inventree.png')
return f'file://{path}'
return getStaticUrl('img/inventree.png')
# If we have got to this point, return the default logo (if requested)
if backup:
if as_file:
path = settings.STATIC_ROOT.joinpath('img/inventree.png')
return f'file://{path}'
return getStaticUrl('img/inventree.png')
return None
def getSplashScreen(custom=True):
def getSplashScreen(custom: bool = True):
"""Return the InvenTree splash screen, or a custom splash if available."""
static_storage = StaticFilesStorage()
@ -307,24 +315,6 @@ def getCustomOption(reference: str):
return settings.CUSTOMIZE.get(reference, None)
def TestIfImageURL(url):
"""Test if an image URL (or filename) looks like a valid image format.
Simply tests the extension against a set of allowed values
"""
return os.path.splitext(os.path.basename(url))[-1].lower() in [
'.jpg',
'.jpeg',
'.j2k',
'.png',
'.bmp',
'.tif',
'.tiff',
'.webp',
'.gif',
]
def str2bool(text, test=True) -> bool:
"""Test if a string 'looks' like a boolean value.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 9.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.0 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.9 KiB

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.9 KiB

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 8.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.7 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.9 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.9 KiB

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.2 KiB

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 8.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 8.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 797 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.9 KiB

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 761 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.7 KiB

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 198 KiB

After

Width:  |  Height:  |  Size: 58 KiB

View File

@ -643,14 +643,6 @@ class TestHelpers(TestCase):
InvenTree.helpers_model.construct_absolute_url(url), expected
)
def test_image_url(self):
"""Test if a filename looks like an image."""
for name in ['ape.png', 'bat.GiF', 'apple.WeBP', 'BiTMap.Bmp']:
self.assertTrue(helpers.TestIfImageURL(name))
for name in ['no.doc', 'nah.pdf', 'whatpng']:
self.assertFalse(helpers.TestIfImageURL(name))
def test_str2bool(self):
"""Test string to boolean conversion."""
for s in ['yes', 'Y', 'ok', '1', 'OK', 'Ok', 'tRuE', 'oN']:

View File

@ -1 +1,139 @@
<svg xmlns="http://www.w3.org/2000/svg" width="400" height="400"><g stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width="2.676"><path fill="#ddbc91" d="M200 199.906v193.196l166.305-96.016V103.139Z"/><path fill="#d9b383" d="M200 199.906v193.196L33.695 297.086V103.139Z"/><path fill="#ddbc91" d="M366.305 103.139 200 199.906 33.695 103.14 200 6.899z"/><g fill="#f3f4e4"><path d="M75.27 127.109v145.46L200 344.583l124.73-72.012V127.109L200 199.684Z"/><path d="M324.73 127.11 200 199.684 75.27 127.109 200 54.93Z"/></g><path fill="#d9dbbc" d="M200 54.929v144.756L75.27 272.569V127.11z"/><path fill="#eaeccf" d="M200 54.929v144.756l124.73 72.884V127.11z"/><path fill="#90a8d8" d="M200 199.901V296.5l83.153-48.008v-96.973zm0 0V296.5l-83.153-48.008v-96.973zm83.153-48.383L200 199.9l-83.153-48.383L200 103.398Z"/></g><g fill="#90a8d8" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width="3"><path d="M-546.667 443.959v216.54l186.4-107.618V335.499Zm0 0v216.54l-186.4-107.618V335.499Z"/><path d="m-360.266 335.499-186.4 108.46-186.401-108.46 186.4-107.87z"/></g><g fill="#90a8d8" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width="3"><path d="M-546.667 227.419v216.54l186.4-107.619V118.96Zm0 0v216.54l-186.4-107.619V118.96Z"/><path d="m-360.266 118.959-186.4 108.46-186.401-108.46 186.4-107.87z"/></g><path fill="#ddbc91" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width="3" d="M-546.667 10.879v216.54l186.4-107.619V-97.58Z"/><path fill="#d9b383" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width="2.676" d="M-546.667 10.879v216.54l-186.4-107.619V-97.58Z"/><path fill="#ddbc91" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width="3" d="m-360.266-97.581-186.4 108.46-186.401-108.46 186.4-107.87z"/><g fill="#f3f4e4" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.058"><path stroke-width="3" d="M-686.466-70.715V92.321l139.798 80.714 139.801-80.714V-70.715l-139.8 81.346z"/><path stroke-width="2.999" d="m-406.866-70.715-139.8 81.345-139.801-81.345 139.8-80.902Z"/></g><path fill="#d9dbbc" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width="3" d="M-546.667-151.617V10.63l-139.8 81.692V-70.715z"/><path fill="#eaeccf" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width="3" d="M-546.667-151.617V10.63l139.8 81.692V-70.715z"/><g fill="#90a8d8" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width="2.999"><path d="M-546.667 10.873v108.27l93.2-53.81v-108.69zm0 0v108.27l-93.2-53.81v-108.69z"/><path d="m-453.466-43.357-93.2 54.23-93.201-54.23 93.2-53.935Z"/></g><path fill="none" d="M-787.948-253.366h482.56v946.733h-482.56z"/></svg>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
sodipodi:docname="inventree.svg"
inkscape:version="1.4 (86a8ad7, 2024-10-11)"
version="1.1"
id="svg2"
viewBox="0 0 500 500.00001"
height="500"
width="500"
inkscape:export-filename="C:\inventree\images\logo\inventree.png"
inkscape:export-xdpi="192"
inkscape:export-ydpi="192"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<sodipodi:namedview
inkscape:window-maximized="1"
inkscape:window-y="-8"
inkscape:window-x="1912"
inkscape:window-height="1009"
inkscape:window-width="1920"
showgrid="false"
inkscape:current-layer="g2907"
inkscape:document-units="px"
inkscape:cy="366.28131"
inkscape:cx="301.22748"
inkscape:zoom="0.3535534"
inkscape:pageshadow="2"
inkscape:pageopacity="0.0"
borderopacity="1.0"
bordercolor="#666666"
pagecolor="#ffffff"
id="base"
units="px"
inkscape:showpageshadow="2"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1" />
<defs
id="defs4">
<inkscape:path-effect
effect="skeletal"
id="path-effect4158"
is_visible="true"
pattern="m 446.48742,503.05596 h 1"
copytype="single_stretched"
prop_scale="1"
scale_y_rel="false"
spacing="0"
normal_offset="0"
tang_offset="0"
prop_units="false"
vertical_pattern="false"
fuse_tolerance="0"
pattern-nodetypes="cc"
lpeversion="0"
hide_knot="false" />
</defs>
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-652.36216)">
<g
id="g2907"
transform="matrix(1.7132796,0,0,1.7132796,460.05136,236.12365)">
<path
sodipodi:nodetypes="ccccc"
inkscape:connector-curvature="0"
id="path4896"
d="m -122.54394,388.79361 -119.41589,68.9448 118.6972,68.52986 119.87989,-69.21269 z"
style="font-variation-settings:normal;vector-effect:none;fill:#c9944d;fill-opacity:1;stroke:#ffffff;stroke-width:14.5919;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none;paint-order:normal;stop-color:#000000" />
<path
style="font-variation-settings:normal;vector-effect:none;fill:#c9944d;fill-opacity:1;stroke:#ffffff;stroke-width:14.5919;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none;paint-order:normal;stop-color:#000000"
d="m -122.54394,388.79361 -119.41589,68.9448 0,-137.0597 119.8799,-69.21269 z"
id="path4898"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccc" />
<path
sodipodi:nodetypes="ccccc"
inkscape:connector-curvature="0"
id="path4900"
d="m -3.38274,457.05558 -119.1612,-68.26197 0.46401,-137.32759 118.83593,68.44974 z"
style="font-variation-settings:normal;vector-effect:none;fill:#c9944d;fill-opacity:1;stroke:#ffffff;stroke-width:14.5919;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none;paint-order:normal;stop-color:#000000" />
<path
sodipodi:nodetypes="ccccc"
inkscape:connector-curvature="0"
id="path4926"
d="m -62.96019,422.92278 -59.58061,-34.13099 0.23201,-68.6638 59.41797,34.22484 z"
style="fill:#90a8d8;fill-opacity:1;stroke:#ffffff;stroke-width:14.2746;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<path
sodipodi:nodetypes="ccccc"
inkscape:connector-curvature="0"
id="path4922"
d="m -122.5408,388.79179 -59.70796,34.47241 59.34862,34.26492 59.93995,-34.60634 z"
style="fill:#5e81c7;fill-opacity:1;stroke:#ffffff;stroke-width:14.2746;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
<path
style="fill:#7895d0;fill-opacity:1;stroke:#ffffff;stroke-width:14.2746;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
d="m -122.5408,388.79179 -59.70796,34.47241 2e-5,-68.52987 59.93995,-34.60634 z"
id="path4924"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccc" />
<path
sodipodi:nodetypes="ccccc"
inkscape:connector-curvature="0"
id="path5"
d="m -122.27858,465.06725 -0.2576,-76.23839 66.153184,-37.89611 0.07697,76.13412 z"
style="font-variation-settings:normal;fill:#2b93d4;fill-opacity:1;stroke:#ffffff;stroke-width:18.1408;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000" />
<path
sodipodi:nodetypes="ccccc"
inkscape:connector-curvature="0"
id="path6"
d="m -122.53618,388.82886 -66.29457,-38.2752 v 76.08967 l 66.55217,38.42392 z"
style="font-variation-settings:normal;vector-effect:none;fill:#2b93d4;fill-opacity:1;stroke:#ffffff;stroke-width:18.1408;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none;stop-color:#000000" />
<path
style="font-variation-settings:normal;vector-effect:none;fill:#2b93d4;fill-opacity:1;stroke:#ffffff;stroke-width:18.1408;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;-inkscape-stroke:none;stop-color:#000000"
d="m -122.53618,388.82886 -66.29457,-38.2752 65.89558,-38.04483 66.552174,38.42392 z"
id="path7"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccc" />
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 6.5 KiB

View File

@ -4,8 +4,8 @@ import { type ReactNode, forwardRef } from 'react';
import { NavLink } from 'react-router-dom';
import { useShallow } from 'zustand/react/shallow';
import InvenTreeIcon from '../../assets/inventree.svg';
import { useServerApiState } from '../../states/ServerApiState';
import InvenTreeIcon from './inventree.svg';
export const InvenTreeLogoHomeButton = forwardRef<HTMLDivElement>(
(props, ref) => {
@ -26,16 +26,32 @@ export const InvenTreeLogoHomeButton = forwardRef<HTMLDivElement>(
* - Uses the custom logo if one is defined on the server
* - Otherwise, uses the default logo
*/
export function InvenTreeLogo(): ReactNode {
export function InvenTreeLogo({
size = 36
}: {
size?: number;
}): ReactNode {
const [server] = useServerApiState(
useShallow((state) => [state.server, state.fetchServerApiState])
);
if (server.server && server.customize?.logo) {
return (
<img src={server.customize.logo} alt={t`InvenTree Logo`} height={28} />
<img
src={server.customize.logo}
alt={t`InvenTree Logo`}
width={size}
height={size}
/>
);
}
return <img src={InvenTreeIcon} alt={t`InvenTree Logo`} height={28} />;
return (
<img
src={InvenTreeIcon}
alt={t`InvenTree Logo`}
width={size}
height={size}
/>
);
}

View File

@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" width="400" height="400"><g stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width="2.676"><path fill="#ddbc91" d="M200 199.906v193.196l166.305-96.016V103.139Z"/><path fill="#d9b383" d="M200 199.906v193.196L33.695 297.086V103.139Z"/><path fill="#ddbc91" d="M366.305 103.139 200 199.906 33.695 103.14 200 6.899z"/><g fill="#f3f4e4"><path d="M75.27 127.109v145.46L200 344.583l124.73-72.012V127.109L200 199.684Z"/><path d="M324.73 127.11 200 199.684 75.27 127.109 200 54.93Z"/></g><path fill="#d9dbbc" d="M200 54.929v144.756L75.27 272.569V127.11z"/><path fill="#eaeccf" d="M200 54.929v144.756l124.73 72.884V127.11z"/><path fill="#90a8d8" d="M200 199.901V296.5l83.153-48.008v-96.973zm0 0V296.5l-83.153-48.008v-96.973zm83.153-48.383L200 199.9l-83.153-48.383L200 103.398Z"/></g><g fill="#90a8d8" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width="3"><path d="M-546.667 443.959v216.54l186.4-107.618V335.499Zm0 0v216.54l-186.4-107.618V335.499Z"/><path d="m-360.266 335.499-186.4 108.46-186.401-108.46 186.4-107.87z"/></g><g fill="#90a8d8" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width="3"><path d="M-546.667 227.419v216.54l186.4-107.619V118.96Zm0 0v216.54l-186.4-107.619V118.96Z"/><path d="m-360.266 118.959-186.4 108.46-186.401-108.46 186.4-107.87z"/></g><path fill="#ddbc91" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width="3" d="M-546.667 10.879v216.54l186.4-107.619V-97.58Z"/><path fill="#d9b383" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width="2.676" d="M-546.667 10.879v216.54l-186.4-107.619V-97.58Z"/><path fill="#ddbc91" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width="3" d="m-360.266-97.581-186.4 108.46-186.401-108.46 186.4-107.87z"/><g fill="#f3f4e4" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.058"><path stroke-width="3" d="M-686.466-70.715V92.321l139.798 80.714 139.801-80.714V-70.715l-139.8 81.346z"/><path stroke-width="2.999" d="m-406.866-70.715-139.8 81.345-139.801-81.345 139.8-80.902Z"/></g><path fill="#d9dbbc" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width="3" d="M-546.667-151.617V10.63l-139.8 81.692V-70.715z"/><path fill="#eaeccf" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width="3" d="M-546.667-151.617V10.63l139.8 81.692V-70.715z"/><g fill="#90a8d8" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width="2.999"><path d="M-546.667 10.873v108.27l93.2-53.81v-108.69zm0 0v108.27l-93.2-53.81v-108.69z"/><path d="m-453.466-43.357-93.2 54.23-93.201-54.23 93.2-53.935Z"/></g><path fill="none" d="M-787.948-253.366h482.56v946.733h-482.56z"/></svg>

Before

Width:  |  Height:  |  Size: 2.7 KiB

View File

@ -8,7 +8,11 @@ export function NavHoverMenu({
openDrawer: () => void;
}>) {
return (
<UnstyledButton onClick={() => openDrawer()} aria-label='navigation-menu'>
<UnstyledButton
onClick={() => openDrawer()}
aria-label='navigation-menu'
style={{ display: 'flex', alignItems: 'center', height: 38 }}
>
<InvenTreeLogo />
</UnstyledButton>
);