drawer icons, goods dictionary
|
|
@ -0,0 +1,3 @@
|
|||
<svg width="107" height="107" viewBox="0 0 107 107" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M101.056 29.7222H84.4111C81.4389 24.9667 77.8722 20.8056 73.7113 17.8333L83.2222 8.32222L74.9 0L61.8222 13.0778C59.4445 12.4833 56.4722 11.8889 53.5 11.8889C50.5278 11.8889 47.5556 12.4833 45.1778 13.0778L32.1 0L23.7778 8.32222L33.2889 17.8333C29.1278 20.8056 25.5611 24.9667 22.5889 29.7222H5.94446V41.6111H18.4278C17.8333 43.3944 17.8333 45.7722 17.8333 47.5556V53.5H5.94446V65.3889H17.8333V71.3333C17.8333 73.1167 17.8333 75.4944 18.4278 77.2778H5.94446V89.1667H22.5889C28.5333 99.8667 40.4222 107 53.5 107C66.5778 107 78.4667 99.8667 84.4111 89.1667H101.056V77.2778H88.5722C89.1667 75.4944 89.1667 73.1167 89.1667 71.3333V65.3889H101.056V53.5H89.1667V47.5556C89.1667 45.7722 89.1667 43.3944 88.5722 41.6111H101.056V29.7222ZM65.3889 77.2778H41.6111V65.3889H65.3889V77.2778ZM65.3889 53.5H41.6111V41.6111H65.3889V53.5Z" fill="black"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 952 B |
|
|
@ -0,0 +1,8 @@
|
|||
<svg width="115" height="115" viewBox="0 0 115 115" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M9.99958 17.4176C4.47797 17.4176 0 21.8953 0 27.4209C0 32.9425 4.47797 37.4165 9.99958 37.4165C15.5212 37.4165 19.9992 32.9425 19.9992 27.4209C19.9992 21.8953 15.5212 17.4176 9.99958 17.4176Z" fill="black"/>
|
||||
<path d="M9.99958 47.5023C4.47797 47.5023 0 51.9763 0 57.5019C0 63.0235 4.47797 67.5013 9.99958 67.5013C15.5212 67.5013 19.9992 63.0235 19.9992 57.5019C19.9992 51.9763 15.5212 47.5023 9.99958 47.5023Z" fill="black"/>
|
||||
<path d="M9.99958 77.5834C4.47797 77.5834 0 82.0611 0 87.5827C0 93.1043 4.47797 97.5823 9.99958 97.5823C15.5212 97.5823 19.9992 93.1043 19.9992 87.5827C19.9992 82.0611 15.5212 77.5834 9.99958 77.5834Z" fill="black"/>
|
||||
<path d="M107.481 19.8978H36.3504C32.1982 19.8978 28.8311 23.2649 28.8311 27.4209C28.8311 31.5735 32.1979 34.9403 36.3504 34.9403H107.481C111.633 34.9403 115 31.5735 115 27.4209C115 23.2649 111.633 19.8978 107.481 19.8978Z" fill="black"/>
|
||||
<path d="M107.481 49.9788H36.3504C32.1982 49.9788 28.8311 53.3456 28.8311 57.5019C28.8311 61.6544 32.1979 65.0213 36.3504 65.0213H107.481C111.633 65.0213 115 61.6544 115 57.5019C115 53.3456 111.633 49.9788 107.481 49.9788Z" fill="black"/>
|
||||
<path d="M107.481 80.0632H36.3504C32.1982 80.0632 28.8311 83.4301 28.8311 87.5826C28.8311 91.7348 32.1979 95.1017 36.3504 95.1017H107.481C111.633 95.1017 115 91.7348 115 87.5826C115 83.4298 111.633 80.0632 107.481 80.0632Z" fill="black"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.4 KiB |
|
|
@ -0,0 +1,8 @@
|
|||
<svg width="149" height="149" viewBox="0 0 149 149" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M127.491 79.5405H115.968C117.143 82.7563 117.784 86.2266 117.784 89.8437V133.394C117.784 134.902 117.522 136.35 117.044 137.696H136.095C143.211 137.696 149 131.907 149 124.791V101.049C149 89.1895 139.351 79.5405 127.491 79.5405Z" fill="black"/>
|
||||
<path d="M31.2159 89.8439C31.2159 86.2266 31.8575 82.7565 33.0321 79.5408H21.509C9.64893 79.5408 0 89.1897 0 101.05V124.791C0 131.907 5.78919 137.697 12.9054 137.697H31.9559C31.4783 136.35 31.2159 134.903 31.2159 133.394V89.8439Z" fill="black"/>
|
||||
<path d="M87.6718 68.3351H61.3285C49.4684 68.3351 39.8195 77.984 39.8195 89.8441V133.395C39.8195 135.77 41.7454 137.696 44.1213 137.696H104.879C107.255 137.696 109.181 135.771 109.181 133.395V89.8441C109.181 77.984 99.5319 68.3351 87.6718 68.3351Z" fill="black"/>
|
||||
<path d="M74.5001 11.3031C60.2368 11.3031 48.6328 22.9071 48.6328 37.1707C48.6328 46.8455 53.9727 55.2952 61.8586 59.7314C65.5991 61.8355 69.9113 63.0379 74.5001 63.0379C79.0888 63.0379 83.4011 61.8355 87.1415 59.7314C95.0278 55.2952 100.367 46.8452 100.367 37.1707C100.367 22.9074 88.7634 11.3031 74.5001 11.3031Z" fill="black"/>
|
||||
<path d="M29.0777 35.4135C18.4105 35.4135 9.73242 44.0916 9.73242 54.7588C9.73242 65.426 18.4105 74.1041 29.0777 74.1041C31.7836 74.1041 34.3602 73.5436 36.7009 72.5361C40.7478 70.7938 44.0846 67.7096 46.1493 63.8463C47.5986 61.1349 48.423 58.0417 48.423 54.7588C48.423 44.0918 39.7449 35.4135 29.0777 35.4135Z" fill="black"/>
|
||||
<path d="M119.923 35.4135C109.255 35.4135 100.577 44.0916 100.577 54.7588C100.577 58.042 101.402 61.1352 102.851 63.8463C104.916 67.7099 108.253 70.794 112.299 72.5361C114.64 73.5436 117.217 74.1041 119.923 74.1041C130.59 74.1041 139.268 65.426 139.268 54.7588C139.268 44.0916 130.59 35.4135 119.923 35.4135Z" fill="black"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.8 KiB |
|
|
@ -0,0 +1,25 @@
|
|||
<svg width="139" height="139" viewBox="0 0 139 139" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clip-path="url(#clip0)">
|
||||
<path d="M71.9843 138.918C82.6136 137.408 91.9317 126.314 97.7953 109.93C89.319 108.032 80.6692 107.013 71.9843 106.891V138.918Z" fill="black"/>
|
||||
<path d="M88.966 136.312C89.5943 136.13 90.2202 135.947 90.8413 135.746C91.3653 135.577 91.882 135.395 92.3987 135.214C93.0101 135.003 93.619 134.786 94.2255 134.556C94.7422 134.359 95.2541 134.151 95.7672 133.942C96.3591 133.693 96.9498 133.446 97.5345 133.197C98.0452 132.973 98.5522 132.738 99.0592 132.501C99.633 132.23 100.204 131.955 100.771 131.669C101.268 131.415 101.764 131.157 102.261 130.891C102.818 130.593 103.371 130.289 103.921 129.976C104.418 129.694 104.897 129.412 105.381 129.12C105.92 128.789 106.456 128.458 106.988 128.127C107.465 127.824 107.941 127.516 108.41 127.198C108.934 126.845 109.451 126.477 109.965 126.11C110.427 125.779 110.887 125.449 111.338 125.116C111.836 124.733 112.345 124.336 112.844 123.939C113.286 123.586 113.728 123.235 114.163 122.872C114.659 122.46 115.135 122.033 115.616 121.606C116.039 121.231 116.463 120.86 116.875 120.476C117.35 120.033 117.812 119.574 118.274 119.119C118.674 118.724 119.079 118.335 119.471 117.929C119.544 117.854 119.613 117.773 119.688 117.695C114.27 114.897 108.563 112.7 102.667 111.145C99.6002 120.924 94.143 129.786 86.7899 136.926C86.9913 136.874 87.1926 136.831 87.394 136.779C87.9253 136.63 88.4468 136.466 88.966 136.312Z" fill="black"/>
|
||||
<path d="M139 72.0413H109.214C109.101 83.6713 107.414 95.2322 104.199 106.41C110.756 108.161 117.084 110.68 123.052 113.912C132.85 102.103 138.459 87.3782 139 72.0413Z" fill="black"/>
|
||||
<path d="M71.9843 67.0728H104.246C104.12 55.8539 102.474 44.7042 99.3552 33.9269C90.3718 35.9756 81.1968 37.0697 71.9843 37.191V67.0728Z" fill="black"/>
|
||||
<path d="M71.9843 0.196411V32.2227C80.6692 32.1002 89.319 31.0825 97.7953 29.1842C91.9317 12.8005 82.6136 1.70657 71.9843 0.196411Z" fill="black"/>
|
||||
<path d="M71.9843 101.923C81.1968 102.046 90.3718 103.14 99.3552 105.188C102.474 94.4111 104.12 83.2601 104.246 72.0413H71.9843V101.923Z" fill="black"/>
|
||||
<path d="M123.052 25.2019C117.084 28.4345 110.756 30.9526 104.199 32.7042C107.414 43.8818 109.101 55.4427 109.214 67.0728H139C138.458 51.7371 132.849 37.0127 123.052 25.2019Z" fill="black"/>
|
||||
<path d="M119.696 21.4333C119.623 21.3593 119.554 21.2792 119.482 21.2028C119.089 20.7977 118.682 20.4071 118.281 20.0129C117.82 19.558 117.361 19.0983 116.885 18.6568C116.474 18.2735 116.048 17.9108 115.626 17.5287C115.145 17.1017 114.663 16.6711 114.168 16.2587C113.739 15.896 113.298 15.5491 112.862 15.201C112.364 14.7983 111.855 14.398 111.343 14.0135C110.894 13.675 110.439 13.3475 109.982 13.02C109.463 12.6464 108.941 12.2741 108.413 11.9186C107.948 11.6057 107.476 11.3 107.004 11.0004C106.467 10.6547 105.931 10.3163 105.384 9.9888C104.905 9.70132 104.421 9.41748 103.935 9.14214C103.38 8.82433 102.823 8.51624 102.262 8.21542C101.764 7.96676 101.268 7.69626 100.771 7.4476C100.199 7.15891 99.6233 6.88114 99.0326 6.60822C98.5353 6.37169 98.0307 6.14122 97.5188 5.91682C96.9305 5.65603 96.3361 5.42071 95.743 5.17205C95.2311 4.96342 94.7216 4.75721 94.2049 4.56071C93.6021 4.33024 92.9907 4.11433 92.3794 3.90327C91.8626 3.72133 91.3459 3.54059 90.8219 3.37077C90.2009 3.16942 89.5798 2.98626 88.9418 2.80189C88.4251 2.65027 87.9059 2.49622 87.3831 2.35794C87.183 2.30335 86.9792 2.2609 86.7778 2.20874C94.1309 9.34834 99.5869 18.2092 102.655 27.9894C108.557 26.4344 114.272 24.2365 119.696 21.4333Z" fill="black"/>
|
||||
<path d="M0 67.0728H29.7859C29.8988 55.4427 31.586 43.8818 34.8004 32.7042C28.2442 30.9539 21.9161 28.4357 15.9483 25.2019C6.14981 37.0115 0.540989 51.7371 0 67.0728Z" fill="black"/>
|
||||
<path d="M67.016 138.918V106.891C58.331 107.014 49.6813 108.032 41.205 109.93C47.0673 126.314 56.3866 137.408 67.016 138.918Z" fill="black"/>
|
||||
<path d="M67.0159 72.0413H34.7543C34.8804 83.2601 36.5252 94.4111 39.645 105.188C48.6283 103.138 57.8021 102.044 67.0159 101.923V72.0413Z" fill="black"/>
|
||||
<path d="M67.016 0.196411C56.3866 1.70657 47.0673 12.8005 41.205 29.1842C49.6813 31.0837 58.331 32.1014 67.016 32.2227V0.196411Z" fill="black"/>
|
||||
<path d="M67.0159 37.191C57.8033 37.0697 48.6283 35.9756 39.645 33.9269C36.5252 44.7042 34.8804 55.8539 34.7543 67.0728H67.0159V37.191Z" fill="black"/>
|
||||
<path d="M52.2031 2.2063C52.0017 2.25846 51.8003 2.30091 51.599 2.35307C51.0726 2.49378 50.5534 2.65025 50.0294 2.80187C49.4059 2.98382 48.7873 3.16698 48.1614 3.36591C47.6338 3.53694 47.1146 3.71889 46.5954 3.89962C45.9877 4.11432 45.3788 4.3278 44.7772 4.55584C44.258 4.75477 43.7462 4.96098 43.2319 5.17204C42.6411 5.4207 42.0492 5.66936 41.4658 5.91681C40.9539 6.14121 40.4481 6.37652 39.941 6.61306C39.3673 6.88355 38.796 7.1589 38.2295 7.44516C37.7322 7.69867 37.2349 7.95825 36.7388 8.22268C36.182 8.52107 35.6301 8.82674 35.0818 9.13969C34.5845 9.41747 34.0957 9.70252 33.6166 9.99363C33.0768 10.3187 32.5431 10.6547 32.0118 10.9871C31.5339 11.2927 31.0596 11.6008 30.5902 11.9186C30.0662 12.2716 29.5494 12.6391 29.0351 13.0067C28.573 13.3378 28.1133 13.6677 27.6608 14.0013C27.1526 14.3834 26.6674 14.7813 26.1555 15.1779C25.714 15.5309 25.2688 15.8814 24.837 16.2465C24.3397 16.6565 23.8678 17.0811 23.3887 17.5056C22.9642 17.8841 22.536 18.2516 22.1212 18.6434C21.6493 19.0837 21.1896 19.541 20.7287 19.9947C20.3284 20.3901 19.9208 20.7807 19.5278 21.187C19.4562 21.2622 19.3871 21.3447 19.3119 21.4211C24.7291 24.2207 30.4373 26.4174 36.3336 27.9724C39.4001 18.1982 44.8536 9.34226 52.2031 2.2063Z" fill="black"/>
|
||||
<path d="M20.7177 119.101C21.1798 119.556 21.6396 120.016 22.1138 120.458C22.5262 120.841 22.9508 121.203 23.3741 121.585C23.8557 122.013 24.3372 122.443 24.8321 122.855C25.2615 123.216 25.6994 123.564 26.1385 123.913C26.6358 124.316 27.1319 124.716 27.6584 125.103C28.106 125.439 28.5608 125.764 29.0157 126.098C29.5348 126.47 30.0589 126.842 30.5877 127.2C31.0523 127.513 31.5241 127.819 31.996 128.12C32.5333 128.464 33.0695 128.803 33.6165 129.13C34.0956 129.419 34.5796 129.701 35.0648 129.978C35.6204 130.296 36.1771 130.604 36.7387 130.903C37.2348 131.152 37.7322 131.423 38.2295 131.671C38.8008 131.96 39.377 132.238 39.9677 132.512C40.465 132.746 40.9696 132.976 41.4815 133.202C42.0698 133.463 42.6629 133.698 43.2573 133.947C43.7692 134.155 44.2786 134.362 44.7953 134.558C45.3982 134.79 46.0095 135.006 46.6209 135.217C47.1376 135.397 47.6543 135.579 48.1783 135.748C48.7994 135.949 49.4204 136.134 50.0585 136.317C50.5752 136.469 51.0944 136.623 51.6159 136.762C51.8173 136.817 52.0211 136.859 52.2224 136.911C44.8693 129.77 39.4134 120.91 36.3457 111.129C30.4494 112.686 24.7411 114.882 19.324 117.683C19.3968 117.757 19.4659 117.837 19.5387 117.914C19.9111 118.316 20.3126 118.707 20.7177 119.101Z" fill="black"/>
|
||||
<path d="M15.9483 113.912C21.9161 110.68 28.2442 108.161 34.8004 106.41C31.586 95.2322 29.8988 83.6713 29.7859 72.0413H0C0.542202 87.377 6.14981 102.101 15.9483 113.912Z" fill="black"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0">
|
||||
<rect width="139" height="139" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 6.9 KiB |
|
|
@ -0,0 +1,16 @@
|
|||
<svg width="141" height="141" viewBox="0 0 141 141" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clip-path="url(#clip0)">
|
||||
<path d="M132.188 123.375H8.8125C5.5695 123.375 2.9375 120.743 2.9375 117.5C2.9375 114.257 5.5695 111.625 8.8125 111.625H132.188C135.43 111.625 138.062 114.257 138.062 117.5C138.062 120.743 135.43 123.375 132.188 123.375Z" fill="black"/>
|
||||
<path d="M132.188 58.75H8.8125C5.5695 58.75 2.9375 56.118 2.9375 52.875C2.9375 49.632 5.5695 47 8.8125 47H132.188C135.43 47 138.062 49.632 138.062 52.875C138.062 56.118 135.43 58.75 132.188 58.75Z" fill="black"/>
|
||||
<path d="M5.875 141C2.632 141 0 138.368 0 135.125V5.875C0 2.632 2.632 0 5.875 0C9.118 0 11.75 2.632 11.75 5.875V135.125C11.75 138.368 9.118 141 5.875 141Z" fill="black"/>
|
||||
<path d="M135.125 141C131.882 141 129.25 138.368 129.25 135.125V5.875C129.25 2.632 131.882 0 135.125 0C138.368 0 141 2.632 141 5.875V135.125C141 138.368 138.368 141 135.125 141Z" fill="black"/>
|
||||
<path d="M45.5312 76.375V80.7812C45.5312 83.2135 43.5573 85.1875 41.125 85.1875C38.6927 85.1875 36.7188 83.2135 36.7188 80.7812V76.375H26.4375C24.816 76.375 23.5 77.691 23.5 79.3125V102.812C23.5 104.434 24.816 105.75 26.4375 105.75H55.8125C57.434 105.75 58.75 104.434 58.75 102.812V79.3125C58.75 77.691 57.434 76.375 55.8125 76.375H45.5312Z" fill="black"/>
|
||||
<path d="M95.4688 70.5V74.9062C95.4688 77.3385 93.4948 79.3125 91.0625 79.3125C88.6302 79.3125 86.6562 77.3385 86.6562 74.9062V70.5H73.4375C71.816 70.5 70.5 71.816 70.5 73.4375V102.812C70.5 104.434 71.816 105.75 73.4375 105.75H108.688C110.309 105.75 111.625 104.434 111.625 102.812V73.4375C111.625 71.816 110.309 70.5 108.688 70.5H95.4688Z" fill="black"/>
|
||||
<path d="M57.2812 11.75V16.1562C57.2812 18.5885 55.3072 20.5625 52.875 20.5625C50.4427 20.5625 48.4687 18.5885 48.4687 16.1562V11.75H32.3125C30.691 11.75 29.375 13.066 29.375 14.6875V38.1875C29.375 39.809 30.691 41.125 32.3125 41.125H73.4375C75.059 41.125 76.375 39.809 76.375 38.1875V14.6875C76.375 13.066 75.059 11.75 73.4375 11.75H57.2812Z" fill="black"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0">
|
||||
<rect width="141" height="141" fill="white"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.1 KiB |
|
|
@ -0,0 +1,10 @@
|
|||
<svg width="138" height="138" viewBox="0 0 138 138" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M53.9062 36.6562H40.9688V23.7188H30.1875V53.9062H64.6875V23.7188H53.9062V36.6562Z" fill="black"/>
|
||||
<path d="M60.375 15.0938L56.0625 19.4062H65.9511L70.2636 15.0938H60.375Z" fill="black"/>
|
||||
<path d="M69 50.8573L73.3125 46.5448V18.1427L69 22.4552V50.8573Z" fill="black"/>
|
||||
<path d="M47.4375 15.0938H37.549L33.2365 19.4062H43.125L47.4375 15.0938Z" fill="black"/>
|
||||
<path d="M120.75 101.73V121.136L114.281 114.667L107.812 121.136V101.73H97.0312V131.531H131.531V101.73H120.75Z" fill="black"/>
|
||||
<path d="M88.4062 86.636V67.2297H77.625V97.0313H112.125V67.2297H101.344V86.636L94.875 80.1672L88.4062 86.636Z" fill="black"/>
|
||||
<path d="M81.9375 121.136L75.4688 114.667L69 121.136V101.73H58.2188V131.531H92.7188V101.73H81.9375V121.136Z" fill="black"/>
|
||||
<path d="M73.3125 65.0735C73.3125 64.5016 73.5397 63.9531 73.944 63.5488C74.3484 63.1444 74.8969 62.9172 75.4688 62.9172H97.0312V6.46875H6.46875V127.219H53.9062V99.5735C53.9062 99.0016 54.1334 98.4531 54.5378 98.0488C54.9422 97.6444 55.4906 97.4172 56.0625 97.4172H73.3125V65.0735ZM25.875 120.75H12.9375V107.812H25.875V120.75ZM25.875 99.1875H12.9375V86.25H25.875V99.1875ZM25.875 77.625H12.9375V64.6875H25.875V77.625ZM25.875 56.0625V21.5625C25.8751 20.9907 26.1024 20.4423 26.5068 20.038L35.1318 11.413C35.5361 11.0086 36.0844 10.7814 36.6562 10.7812H75.4688C75.7532 10.7812 76.0348 10.8375 76.2974 10.9468C76.56 11.0561 76.7984 11.2163 76.9988 11.4181C77.1992 11.62 77.3577 11.8594 77.4652 12.1228C77.5727 12.3861 77.627 12.6682 77.625 12.9526V47.4375C77.6249 48.0093 77.3976 48.5577 76.9932 48.962L68.3682 57.587C67.9639 57.9914 67.4156 58.2186 66.8438 58.2188H28.0312C27.4594 58.2188 26.9109 57.9916 26.5066 57.5872C26.1022 57.1828 25.875 56.6344 25.875 56.0625ZM49.5938 120.75H32.3438V116.438H49.5938V120.75ZM49.5938 112.125H32.3438V107.812H49.5938V112.125ZM49.5938 99.1875H32.3438V94.875H49.5938V99.1875ZM69 90.5625H32.3438V86.25H69V90.5625ZM69 77.625H32.3438V73.3125H69V77.625ZM69 69H32.3438V64.6875H69V69Z" fill="black"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.0 KiB |
|
|
@ -0,0 +1,4 @@
|
|||
<svg width="100" height="100" viewBox="0 0 100 100" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M93.9396 46.6853L76.2619 29.0078C75.8266 28.5725 75.3099 28.2272 74.7411 27.9916C74.1724 27.756 73.5629 27.6348 72.9473 27.6348C72.3317 27.6348 71.7221 27.756 71.1534 27.9916C70.5846 28.2272 70.0679 28.5725 69.6326 29.0078C68.7535 29.8869 68.2597 31.0791 68.2597 32.3223C68.2597 33.5655 68.7535 34.7578 69.6326 35.6369L79.3084 45.3125H28.125C26.8818 45.3125 25.6895 45.8063 24.8104 46.6854C23.9314 47.5645 23.4375 48.7568 23.4375 50C23.4375 51.2432 23.9314 52.4355 24.8104 53.3145C25.6895 54.1936 26.8818 54.6875 28.125 54.6875H79.3084L69.6326 64.363C68.7535 65.2421 68.2597 66.4345 68.2597 67.6777C68.2597 68.9209 68.7536 70.1132 69.6327 70.9922C70.5118 71.8713 71.7041 72.3652 72.9473 72.3652C74.1905 72.3651 75.3828 71.8713 76.2619 70.9922L93.9396 53.3144C94.8187 52.4353 95.3126 51.2431 95.3126 49.9999C95.3126 48.7567 94.8187 47.5644 93.9396 46.6853Z" fill="black"/>
|
||||
<path d="M59.375 76.5625C58.1318 76.5625 56.9395 77.0564 56.0604 77.9354C55.1814 78.8145 54.6875 80.0068 54.6875 81.25V85.9375H14.0625V14.0625H54.6875V18.75C54.6875 19.9932 55.1814 21.1855 56.0604 22.0646C56.9395 22.9436 58.1318 23.4375 59.375 23.4375C60.6182 23.4375 61.8105 22.9436 62.6896 22.0646C63.5686 21.1855 64.0625 19.9932 64.0625 18.75V12.5C64.0625 11.474 63.8604 10.4581 63.4678 9.51029C63.0752 8.56243 62.4997 7.70119 61.7743 6.97573C61.0488 6.25027 60.1876 5.67481 59.2397 5.28219C58.2919 4.88958 57.276 4.6875 56.25 4.6875H12.5C10.428 4.6875 8.44086 5.5106 6.97573 6.97573C5.5106 8.44086 4.6875 10.428 4.6875 12.5V87.5C4.6875 89.572 5.5106 91.5591 6.97573 93.0243C8.44086 94.4894 10.428 95.3125 12.5 95.3125H56.25C57.276 95.3125 58.2919 95.1104 59.2397 94.7178C60.1876 94.3252 61.0488 93.7497 61.7743 93.0243C62.4997 92.2988 63.0752 91.4376 63.4678 90.4897C63.8604 89.5419 64.0625 88.526 64.0625 87.5V81.25C64.0625 80.0068 63.5686 78.8145 62.6896 77.9354C61.8105 77.0564 60.6182 76.5625 59.375 76.5625Z" fill="black"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.0 KiB |
|
|
@ -0,0 +1,8 @@
|
|||
<svg width="102" height="102" viewBox="0 0 102 102" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<rect y="7.76123" width="102" height="6.92935" rx="2.77174" fill="black"/>
|
||||
<circle cx="78.7176" cy="11.087" r="11.087" fill="black"/>
|
||||
<rect y="47.6738" width="102" height="6.92935" rx="2.77174" fill="black"/>
|
||||
<circle cx="19.4023" cy="50.9996" r="11.087" fill="black"/>
|
||||
<rect y="87.5874" width="102" height="6.92935" rx="2.77174" fill="black"/>
|
||||
<circle cx="51" cy="90.9131" r="11.087" fill="black"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 506 B |
|
|
@ -0,0 +1,4 @@
|
|||
<svg width="104" height="104" viewBox="0 0 104 104" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M58.5 71.5H39C39 52 49.4 45.5 56.55 41.6C59.15 40.3 61.1 39 62.4 37.7C65.65 34.45 64.35 29.9 63.7 28.6C61.75 24.05 57.2 19.5 48.75 19.5C35.1 19.5 32.5 31.85 32.5 34.45L13 31.85C14.3 20.8 24.05 0 48.75 0C63.7 0 76.7 8.45 81.9 20.8C86.45 31.85 84.5 43.55 76.7 51.35C73.45 54.6 69.55 56.55 66.3 58.5C60.45 61.75 58.5 65 58.5 71.5Z" fill="black"/>
|
||||
<path d="M61.75 91C61.75 98.1825 55.9325 104 48.75 104C41.5675 104 35.75 98.1825 35.75 91C35.75 83.8175 41.5675 78 48.75 78C55.9325 78 61.75 83.8175 61.75 91Z" fill="black"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 635 B |
|
|
@ -0,0 +1,3 @@
|
|||
<svg width="131" height="131" viewBox="0 0 131 131" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M130.319 54.2002C129.862 53.6022 129.267 53.2464 128.528 53.1335L112.92 50.7461C112.068 48.0166 110.902 45.2313 109.424 42.3877C110.446 40.9664 111.981 38.9625 114.027 36.3747C116.074 33.7874 117.523 31.8977 118.377 30.7031C118.832 30.0775 119.058 29.4242 119.058 28.7413C119.058 27.9458 118.861 27.3209 118.461 26.8653C116.415 23.9653 111.724 19.1328 104.389 12.3664C103.71 11.7979 102.997 11.5138 102.259 11.5138C101.405 11.5138 100.723 11.7692 100.211 12.2806L88.1012 21.4064C85.7693 20.2118 83.2107 19.16 80.426 18.2504L78.038 2.55859C77.9809 1.81954 77.6535 1.20805 77.0567 0.724709C76.4589 0.240773 75.7638 0 74.9665 0H56.0332C54.3843 0 53.3605 0.795507 52.9629 2.38772C52.2236 5.2295 51.3988 10.5172 50.4895 18.2501C47.8168 19.1044 45.2298 20.1846 42.7283 21.4921L30.9588 12.3664C30.2197 11.7979 29.4807 11.5138 28.7416 11.5138C27.4909 11.5138 24.8047 13.5463 20.6823 17.6117C16.5599 21.6779 13.7611 24.7336 12.2815 26.7796C11.7695 27.5186 11.5144 28.1728 11.5144 28.7413C11.5144 29.4242 11.7982 30.1065 12.3667 30.7879C16.1757 35.3942 19.2182 39.3162 21.4927 42.5586C20.0711 45.1736 18.9625 47.7896 18.1673 50.4046L2.30348 52.792C1.67824 52.9062 1.13844 53.2763 0.683186 53.9018C0.227032 54.5267 0 55.1813 0 55.8624V74.7965C0 75.5367 0.227032 76.2032 0.68229 76.8003C1.13755 77.3972 1.7341 77.7548 2.47345 77.8674L18.0819 80.1706C18.8774 82.9562 20.0427 85.7696 21.5782 88.6117C20.5553 90.0339 19.0202 92.0375 16.9733 94.6247C14.9267 97.2132 13.4755 99.1023 12.6236 100.296C12.168 100.924 11.941 101.576 11.941 102.259C11.941 102.997 12.1399 103.65 12.5375 104.219C14.755 107.291 19.4456 112.067 26.6102 118.549C27.236 119.174 27.947 119.486 28.7422 119.486C29.5957 119.486 30.3063 119.231 30.8745 118.72L42.9009 109.593C45.2334 110.787 47.7914 111.839 50.5773 112.75L52.965 128.442C53.0227 129.18 53.3495 129.792 53.9457 130.276C54.5423 130.761 55.2395 131 56.0353 131H74.9686C76.6205 131 77.6428 130.205 78.0416 128.612C78.7797 125.77 79.6036 120.483 80.5132 112.75C83.1856 111.896 85.7729 110.816 88.2744 109.508L100.045 118.72C100.84 119.232 101.581 119.486 102.261 119.486C103.512 119.486 106.184 117.469 110.277 113.431C114.372 109.395 117.187 106.324 118.72 104.219C119.231 103.651 119.488 102.997 119.488 102.259C119.488 101.519 119.205 100.807 118.634 100.126C114.542 95.1215 111.5 91.1998 109.509 88.356C110.646 86.252 111.755 83.6657 112.836 80.5951L128.614 78.2089C129.295 78.0944 129.865 77.7243 130.319 77.0988C130.774 76.4721 131 75.8178 131 75.1358V56.2038C131.001 55.4647 130.775 54.7977 130.319 54.2002ZM80.9386 80.9365C76.6755 85.2014 71.5296 87.334 65.5016 87.334C59.4743 87.334 54.329 85.2014 50.0641 80.9365C45.8007 76.6734 43.6681 71.5272 43.6681 65.5005C43.6681 59.4731 45.7995 54.3278 50.0641 50.0629C54.329 45.7995 59.4752 43.6669 65.5016 43.6669C71.5296 43.6669 76.6758 45.7995 80.9386 50.0629C85.2026 54.3278 87.3352 59.4731 87.3352 65.5005C87.3352 71.5272 85.2029 76.6737 80.9386 80.9365Z" fill="black"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.0 KiB |
|
|
@ -14,3 +14,7 @@ const String settingPrinterBluetoothViewRoute = 'SettingPrinterBluetoothView';
|
|||
|
||||
const String categoryEditRoute = 'categoryEditRoute';
|
||||
const String categorySelectViewRoute = 'categorySelectViewRoute';
|
||||
|
||||
const String goodsEditRoute = 'goodsEditRoute';
|
||||
const String goodsDictionaryViewRoute = 'goodsDictionaryViewRoute';
|
||||
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
import 'package:satu/views/dictionaries/category/category_edit.dart';
|
||||
import 'package:satu/views/dictionaries/category/category_select_view.dart';
|
||||
import 'package:satu/views/dictionaries/category/category_view.dart';
|
||||
import 'package:satu/views/dictionaries/goods/goods_view.dart';
|
||||
import 'package:satu/views/work/views/add_by_barcode/add_by_barcode_view.dart';
|
||||
import 'package:satu/views/work/views/add_product/add_product_view.dart';
|
||||
import 'package:satu/views/login/login_view.dart';
|
||||
|
|
@ -68,6 +69,11 @@ Route<dynamic> generateRoute(RouteSettings settings) {
|
|||
routeName: settings.name!,
|
||||
viewToShow: CategorySelectView(),
|
||||
);
|
||||
case goodsDictionaryViewRoute:
|
||||
return _getPageRoute(
|
||||
routeName: settings.name!,
|
||||
viewToShow: GoodsDictionaryView(),
|
||||
);
|
||||
|
||||
// case ImageShowRoute:
|
||||
// ImageShowModel data = settings.arguments as ImageShowModel;
|
||||
|
|
|
|||
|
|
@ -91,12 +91,23 @@ class _CategorySelectViewState extends State<CategorySelectView> {
|
|||
itemBuilder: (BuildContext context, int index) {
|
||||
final CategoryRowDao category = items[index];
|
||||
return DictionaryTile(
|
||||
title: category.name,
|
||||
subTitle: category.parentName.isEmpty
|
||||
? 'Корневая категория'
|
||||
: 'Родитель: ${category.parentName}',
|
||||
key: Key('category_${category.id}'),
|
||||
onPress: () => handlerCategory(category.id!),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Text(
|
||||
category.name,
|
||||
style: const TextStyle(fontSize: 12, color: textColor),
|
||||
),
|
||||
Text(
|
||||
category.parentName.isEmpty
|
||||
? 'Корневая категория'
|
||||
: 'Родитель: ${category.parentName}',
|
||||
style: const TextStyle(
|
||||
fontSize: 10, color: placeholderColor)),
|
||||
],
|
||||
),
|
||||
);
|
||||
},
|
||||
separatorBuilder: (BuildContext context, int index) {
|
||||
|
|
|
|||
|
|
@ -70,6 +70,7 @@ class _CategoryDictionaryViewState extends State<CategoryDictionaryView> {
|
|||
controller: _searchTextController,
|
||||
fieldFocusNode: _searchFocusNode,
|
||||
),
|
||||
const ProductsTitleBarBar(title: 'Список категории'),
|
||||
Expanded(
|
||||
child: ListView.separated(
|
||||
physics: const BouncingScrollPhysics(),
|
||||
|
|
@ -77,13 +78,24 @@ class _CategoryDictionaryViewState extends State<CategoryDictionaryView> {
|
|||
itemBuilder: (BuildContext context, int index) {
|
||||
final CategoryRowDao category = items[index];
|
||||
return DictionaryTile(
|
||||
title: category.name,
|
||||
subTitle: category.parentName.isEmpty
|
||||
? 'Корневая категория'
|
||||
: 'Родитель: ${category.parentName}',
|
||||
key: Key('category_${category.id}'),
|
||||
onPress: () => _navigatorService.push(categoryEditRoute,
|
||||
arguments: category),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Text(
|
||||
category.name,
|
||||
style: const TextStyle(fontSize: 12, color: textColor),
|
||||
),
|
||||
Text(
|
||||
category.parentName.isEmpty
|
||||
? 'Корневая категория'
|
||||
: 'Родитель: ${category.parentName}',
|
||||
style: const TextStyle(
|
||||
fontSize: 10, color: placeholderColor)),
|
||||
],
|
||||
),
|
||||
);
|
||||
},
|
||||
separatorBuilder: (BuildContext context, int index) {
|
||||
|
|
@ -139,7 +151,7 @@ class _CategoryDictionaryViewState extends State<CategoryDictionaryView> {
|
|||
}
|
||||
|
||||
class CategoryRowDao {
|
||||
CategoryRowDao(this.name, this.parentName, this.id, { this.parentId = 0});
|
||||
CategoryRowDao(this.name, this.parentName, this.id, {this.parentId = 0});
|
||||
|
||||
final String name;
|
||||
final String parentName;
|
||||
|
|
|
|||
|
|
@ -3,13 +3,13 @@ import 'package:satu/shared/app_colors.dart';
|
|||
|
||||
class DictionaryTile extends StatelessWidget {
|
||||
const DictionaryTile({
|
||||
required this.title,
|
||||
required this.child,
|
||||
Key? key,
|
||||
this.subTitle,
|
||||
this.onPress,
|
||||
}) : super(key: key);
|
||||
|
||||
final String title;
|
||||
final Widget child;
|
||||
final String? subTitle;
|
||||
final Function()? onPress;
|
||||
|
||||
|
|
@ -24,19 +24,7 @@ class DictionaryTile extends StatelessWidget {
|
|||
child: Padding(
|
||||
padding:
|
||||
const EdgeInsets.symmetric(horizontal: 15.0, vertical: 10.0),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Text(
|
||||
title,
|
||||
style: const TextStyle(fontSize: 12, color: textColor),
|
||||
),
|
||||
if (subTitle != null && subTitle!.isNotEmpty)
|
||||
Text(subTitle!,
|
||||
style: const TextStyle(
|
||||
fontSize: 10, color: placeholderColor)),
|
||||
],
|
||||
),
|
||||
child: child,
|
||||
),
|
||||
),
|
||||
),
|
||||
|
|
|
|||
|
|
@ -0,0 +1,168 @@
|
|||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_svg/svg.dart';
|
||||
import 'package:satu/core/entity/category_entity.dart';
|
||||
import 'package:satu/core/entity/goods_entity.dart';
|
||||
import 'package:satu/core/redux/actions/sell_actions.dart';
|
||||
import 'package:satu/core/services/dictionary_service.dart';
|
||||
import 'package:satu/core/services/navigator_service.dart';
|
||||
import 'package:satu/core/utils/locator.dart';
|
||||
import 'package:satu/routes/route_names.dart';
|
||||
import 'package:satu/shared/app_colors.dart';
|
||||
import 'package:satu/views/dictionaries/component/dictionary_list_tile.dart';
|
||||
import 'package:satu/widgets/bar/products_app_bar.dart';
|
||||
import 'package:satu/widgets/bar/products_title_bar.dart';
|
||||
import 'package:satu/widgets/fields/input_field.dart';
|
||||
import 'package:satu/widgets/ui/product_title_widget.dart';
|
||||
|
||||
class GoodsDictionaryView extends StatefulWidget {
|
||||
@override
|
||||
_GoodsDictionaryViewState createState() => _GoodsDictionaryViewState();
|
||||
}
|
||||
|
||||
class _GoodsDictionaryViewState extends State<GoodsDictionaryView> {
|
||||
final DictionaryService _dictionaryService = locator<DictionaryService>();
|
||||
final NavigatorService _navigatorService = locator<NavigatorService>();
|
||||
late TextEditingController _searchTextController;
|
||||
final FocusNode _searchFocusNode = FocusNode();
|
||||
|
||||
late List<Good> _goods = [];
|
||||
late List<Category> _categories = [];
|
||||
late List<GoodRowDao> items = [];
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
_searchTextController = TextEditingController();
|
||||
_searchTextController.addListener(() {
|
||||
if (_searchTextController.text.isNotEmpty) {
|
||||
searchByField(_searchTextController.text);
|
||||
} else {
|
||||
reset();
|
||||
}
|
||||
});
|
||||
initQuery();
|
||||
super.initState();
|
||||
}
|
||||
|
||||
Future<void> initQuery() async {
|
||||
_goods = await _dictionaryService.getGoodsByNameOrEan('');
|
||||
_categories = await _dictionaryService.getCategoriesAll();
|
||||
searchByField('');
|
||||
}
|
||||
|
||||
@override
|
||||
void dispose() {
|
||||
_searchTextController.dispose();
|
||||
_searchFocusNode.dispose();
|
||||
super.dispose();
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Scaffold(
|
||||
appBar: ProductsAppBar(
|
||||
title: 'Товары',
|
||||
drawerShow: true,
|
||||
actions: [
|
||||
ClipRRect(
|
||||
borderRadius: BorderRadius.circular(90),
|
||||
child: Material(
|
||||
color: Colors.transparent,
|
||||
child: InkWell(
|
||||
onTap: (){},
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.all(16.0),
|
||||
child: SvgPicture.asset(
|
||||
'assets/images/svg/options.svg',
|
||||
height: 20,
|
||||
width: 20,
|
||||
color: textColor,
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
body: Column(
|
||||
children: [
|
||||
InputField(
|
||||
placeholder: 'Поиск по наименованию товара или штрих-код',
|
||||
search: true,
|
||||
controller: _searchTextController,
|
||||
fieldFocusNode: _searchFocusNode,
|
||||
),
|
||||
const ProductsTitleBarBar(title: 'Список товаров'),
|
||||
Expanded(
|
||||
child: ListView.separated(
|
||||
physics: const BouncingScrollPhysics(),
|
||||
itemCount: items.length,
|
||||
itemBuilder: (BuildContext context, int index) {
|
||||
final GoodRowDao good = items[index];
|
||||
return DictionaryTile(
|
||||
child: ProductTitleWidget(
|
||||
name: good.name,
|
||||
categoryName: good.category,
|
||||
ean: good.ean,
|
||||
),
|
||||
);
|
||||
},
|
||||
separatorBuilder: (BuildContext context, int index) {
|
||||
return const Divider(
|
||||
height: 1.0,
|
||||
color: disableColor,
|
||||
);
|
||||
},
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
floatingActionButton: FloatingActionButton(
|
||||
elevation: 2,
|
||||
onPressed: () => locator<NavigatorService>().push(categoryEditRoute),
|
||||
child: const Icon(
|
||||
Icons.add_rounded,
|
||||
size: 34.0,
|
||||
color: whiteColor,
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
void reset() {
|
||||
_searchTextController.clear();
|
||||
searchByField('');
|
||||
}
|
||||
|
||||
Future<void> searchByField(String query) async {
|
||||
log.i(query);
|
||||
final List<GoodRowDao> list = [];
|
||||
final Iterable<Good> filtered = query == ''
|
||||
? _goods
|
||||
: _goods.where((element) =>
|
||||
element.name.toLowerCase().contains(query.toLowerCase()) ||
|
||||
(element.ean != null &&
|
||||
element.ean!.contains(query.toLowerCase())));
|
||||
filtered.forEach((element) {
|
||||
final Category category = _categories
|
||||
.firstWhere((parent) => parent.id == element.categoryId, orElse: () {
|
||||
return Category();
|
||||
});
|
||||
final String parentName = category.name;
|
||||
final GoodRowDao rowDao = GoodRowDao(element.name, parentName,
|
||||
ean: element.ean, id: element.id);
|
||||
list.add(rowDao);
|
||||
});
|
||||
setState(() {
|
||||
items = list;
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
class GoodRowDao {
|
||||
GoodRowDao(this.name, this.category, {this.ean, this.id});
|
||||
|
||||
final String name;
|
||||
final String category;
|
||||
final String? ean;
|
||||
final int? id;
|
||||
}
|
||||
|
|
@ -57,44 +57,47 @@ class _LoginViewState extends State<LoginView> {
|
|||
converter: (store) => store.state.userState!,
|
||||
builder: (context, vm) {
|
||||
return Scaffold(
|
||||
body: Column(
|
||||
mainAxisSize: MainAxisSize.max,
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
crossAxisAlignment: CrossAxisAlignment.center,
|
||||
children: <Widget>[
|
||||
LogoSatu(),
|
||||
InputField(
|
||||
placeholder: 'Введите почту',
|
||||
controller: emailController,
|
||||
textInputType: TextInputType.emailAddress,
|
||||
nextFocusNode: passwordNode,
|
||||
),
|
||||
verticalSpaceSmall,
|
||||
InputField(
|
||||
placeholder: 'Введите пароль',
|
||||
password: true,
|
||||
controller: passwordController,
|
||||
fieldFocusNode: passwordNode,
|
||||
enterPressed: _pressBtnEnter,
|
||||
textInputAction: TextInputAction.done,
|
||||
),
|
||||
verticalSpaceMedium,
|
||||
Padding(
|
||||
padding: EdgeInsets.only( left: 45.sp, right: 45.sp, top: 30.sp ),
|
||||
child: BusyButton(
|
||||
title: 'ВОЙТИ',
|
||||
busy: vm.isLoading!,
|
||||
onPressed: _pressBtnEnter,
|
||||
body: SingleChildScrollView(
|
||||
physics: BouncingScrollPhysics(),
|
||||
child: Column(
|
||||
mainAxisSize: MainAxisSize.max,
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
crossAxisAlignment: CrossAxisAlignment.center,
|
||||
children: <Widget>[
|
||||
LogoSatu(),
|
||||
InputField(
|
||||
placeholder: 'Введите почту',
|
||||
controller: emailController,
|
||||
textInputType: TextInputType.emailAddress,
|
||||
nextFocusNode: passwordNode,
|
||||
),
|
||||
),
|
||||
verticalSpaceLarge,
|
||||
IconButton(
|
||||
icon: Icon(MdiIcons.qrcodeScan),
|
||||
iconSize: ScreenUtil().setSp(40.0),
|
||||
tooltip: "Scan",
|
||||
onPressed: scan,
|
||||
)
|
||||
],
|
||||
verticalSpaceSmall,
|
||||
InputField(
|
||||
placeholder: 'Введите пароль',
|
||||
password: true,
|
||||
controller: passwordController,
|
||||
fieldFocusNode: passwordNode,
|
||||
enterPressed: _pressBtnEnter,
|
||||
textInputAction: TextInputAction.done,
|
||||
),
|
||||
verticalSpaceMedium,
|
||||
Padding(
|
||||
padding: EdgeInsets.only( left: 45.sp, right: 45.sp, top: 30.sp ),
|
||||
child: BusyButton(
|
||||
title: 'ВОЙТИ',
|
||||
busy: vm.isLoading!,
|
||||
onPressed: _pressBtnEnter,
|
||||
),
|
||||
),
|
||||
verticalSpaceLarge,
|
||||
IconButton(
|
||||
icon: Icon(MdiIcons.qrcodeScan),
|
||||
iconSize: ScreenUtil().setSp(40.0),
|
||||
tooltip: "Scan",
|
||||
onPressed: scan,
|
||||
)
|
||||
],
|
||||
),
|
||||
));
|
||||
});
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ import 'package:satu/core/redux/store.dart';
|
|||
import 'package:satu/core/services/navigator_service.dart';
|
||||
import 'package:satu/core/utils/locator.dart';
|
||||
import 'package:satu/views/dictionaries/category/category_view.dart';
|
||||
import 'package:satu/views/dictionaries/goods/goods_view.dart';
|
||||
import 'package:satu/views/settings/printer_bluetooth/PrinterSelect.dart';
|
||||
import 'package:satu/views/settings/setting_view.dart';
|
||||
import 'package:satu/views/work/work_view.dart';
|
||||
|
|
@ -22,6 +23,7 @@ class _MainViewState extends State<MainView> {
|
|||
final _workView = const WorkView();
|
||||
final _settingsView = SettingsView();
|
||||
final _categoryDictView = CategoryDictionaryView();
|
||||
final _goodDictView = GoodsDictionaryView();
|
||||
|
||||
Widget _body(Type viewClass) {
|
||||
if(viewClass == WorkView) {
|
||||
|
|
@ -33,6 +35,9 @@ class _MainViewState extends State<MainView> {
|
|||
if(viewClass == CategoryDictionaryView) {
|
||||
return _categoryDictView;
|
||||
}
|
||||
if(viewClass == GoodsDictionaryView) {
|
||||
return _goodDictView;
|
||||
}
|
||||
return _workView;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||
import 'package:flutter_svg/svg.dart';
|
||||
import 'package:satu/core/redux/actions/nav_actions.dart';
|
||||
import 'package:satu/core/redux/actions/user_actions.dart';
|
||||
import 'package:satu/core/redux/store.dart';
|
||||
|
|
@ -8,7 +9,7 @@ import 'package:satu/core/redux/store.dart';
|
|||
import 'package:satu/shared/app_colors.dart';
|
||||
import 'package:satu/shared/ui_helpers.dart';
|
||||
import 'package:satu/views/dictionaries/category/category_view.dart';
|
||||
import 'package:satu/views/settings/setting_view.dart';
|
||||
import 'package:satu/views/dictionaries/goods/goods_view.dart';
|
||||
import 'package:satu/views/work/work_view.dart';
|
||||
|
||||
class AppDrawer extends StatelessWidget {
|
||||
|
|
@ -23,31 +24,38 @@ class AppDrawer extends StatelessWidget {
|
|||
_createHeader(),
|
||||
_createDrawerSectionTitle(text: 'ОСНОВНОЙ РАЗДЕЛ'),
|
||||
_createDrawerItem(
|
||||
icon: Icons.campaign_sharp,
|
||||
svgFile: 'sell',
|
||||
text: 'Касса',
|
||||
onTap: () {
|
||||
Navigator.of(context).pop();
|
||||
Redux.store!.dispatch(navigateDrawer(WorkView));
|
||||
}),
|
||||
_createDrawerItem(icon: Icons.check, text: 'Инвентаризация'),
|
||||
_createDrawerItem(
|
||||
svgFile: 'inventarization', text: 'Инвентаризация'),
|
||||
_createDrawerSectionTitle(text: 'СПРАВОЧНИКИ'),
|
||||
_createDrawerItem(
|
||||
icon: Icons.list,
|
||||
svgFile: 'categories',
|
||||
text: 'Категории',
|
||||
onTap: () {
|
||||
Navigator.of(context).pop();
|
||||
Redux.store!.dispatch(navigateDrawer(CategoryDictionaryView));
|
||||
}),
|
||||
_createDrawerItem(
|
||||
icon: Icons.production_quantity_limits, text: 'Товары'),
|
||||
_createDrawerItem(icon: Icons.people, text: 'Контрагенты'),
|
||||
svgFile: 'goods',
|
||||
text: 'Товары',
|
||||
onTap: () {
|
||||
Navigator.of(context).pop();
|
||||
Redux.store!.dispatch(navigateDrawer(GoodsDictionaryView));
|
||||
}),
|
||||
_createDrawerItem(svgFile: 'contragents', text: 'Контрагенты'),
|
||||
_createDrawerSectionTitle(text: 'ИНФОРМАЦИЯ'),
|
||||
_createDrawerItem(icon: Icons.question_answer, text: 'Справочник'),
|
||||
_createDrawerItem(svgFile: 'question', text: 'Справочник'),
|
||||
_createDrawerSectionTitle(text: 'ПРОЧЕЕ'),
|
||||
_createDrawerItem(icon: Icons.settings, text: 'Настройки'),
|
||||
_createDrawerItem(icon: Icons.next_plan, text: 'Перейти на сайт'),
|
||||
_createDrawerItem(svgFile: 'settings', text: 'Настройки'),
|
||||
_createDrawerItem(svgFile: 'global', text: 'Перейти на сайт'),
|
||||
_createDrawerItem(svgFile: 'bug', text: 'Сообщить об ошибке'),
|
||||
_createDrawerItem(
|
||||
icon: Icons.exit_to_app,
|
||||
svgFile: 'logout',
|
||||
text: 'Выйти из аккаунта',
|
||||
isDanger: true,
|
||||
onTap: () async {
|
||||
|
|
@ -102,8 +110,9 @@ class AppDrawer extends StatelessWidget {
|
|||
}
|
||||
|
||||
Widget _createDrawerItem(
|
||||
{required IconData icon,
|
||||
required String text,
|
||||
{required String text,
|
||||
IconData? icon,
|
||||
String? svgFile,
|
||||
GestureTapCallback? onTap,
|
||||
bool isDanger = false}) {
|
||||
return Container(
|
||||
|
|
@ -117,13 +126,21 @@ class AppDrawer extends StatelessWidget {
|
|||
const EdgeInsets.symmetric(vertical: 15.0, horizontal: 20.0),
|
||||
child: Row(
|
||||
children: <Widget>[
|
||||
Icon(
|
||||
icon,
|
||||
size: 20.0,
|
||||
color: isDanger ? dangerColor : textColor,
|
||||
),
|
||||
if (svgFile != null)
|
||||
SvgPicture.asset(
|
||||
'assets/images/svg/$svgFile.svg',
|
||||
height: 20,
|
||||
width: 20,
|
||||
color: isDanger ? dangerColor : textColor,
|
||||
),
|
||||
if (icon != null)
|
||||
Icon(
|
||||
icon,
|
||||
size: 20.0,
|
||||
color: isDanger ? dangerColor : textColor,
|
||||
),
|
||||
Padding(
|
||||
padding: EdgeInsets.only(left: 8.0),
|
||||
padding: const EdgeInsets.only(left: 8.0),
|
||||
child: Text(
|
||||
text,
|
||||
style: TextStyle(
|
||||
|
|
|
|||