CreateTemporaryPassword

This commit is contained in:
mohammad
2024-06-27 16:59:05 +03:00
parent 4b09259a47
commit 3e7b6839d9
16 changed files with 623 additions and 7 deletions

View File

@ -0,0 +1,5 @@
<svg width="80" height="77" viewBox="0 0 80 77" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M71.1054 26.971L79.5424 18.5341C79.8903 18.1868 80.0538 17.6954 79.9843 17.209C79.9153 16.7225 79.6205 16.2965 79.1896 16.0597L69.0467 10.4902C68.2905 10.0752 67.3408 10.3517 66.9251 11.1079C66.5101 11.8647 66.786 12.8144 67.5428 13.2295L75.8607 17.7968L68.6201 25.0368L42.5781 10.7368L49.8181 3.49678L57.1369 7.51596C57.8931 7.931 58.8434 7.65512 59.2585 6.89828C59.6741 6.14205 59.3976 5.19173 58.6408 4.77669L50.2942 0.192936C49.6851 -0.141538 48.9283 -0.0335056 48.4375 0.457829L40 8.89536L31.5625 0.457829C31.0711 -0.0335056 30.3143 -0.140928 29.7058 0.192936L0.81042 16.0597C0.379511 16.2965 0.0847098 16.7219 0.0157397 17.209C-0.0538405 17.6954 0.109734 18.1868 0.457636 18.5341L8.89455 26.971L0.457636 35.4073C0.109734 35.7552 -0.0538405 36.2459 0.0157397 36.733C0.0847098 37.2194 0.379511 37.6455 0.81042 37.8817L9.54214 42.6766V58.7033C9.54214 59.2739 9.85281 59.7988 10.3527 60.0735L39.248 75.9396C39.4824 76.0684 39.7412 76.1325 40 76.1325C40.2588 76.1325 40.5176 76.0684 40.752 75.9396L69.6473 60.0735C70.1472 59.7988 70.4579 59.2739 70.4579 58.7033V42.6766L79.1896 37.8823C79.6205 37.6455 79.9153 37.2194 79.9843 36.733C80.0538 36.2465 79.8903 35.7552 79.5424 35.4079L71.1054 26.971ZM40 41.0543L14.3511 26.9704L40 12.8858L65.6489 26.9704L40 41.0543ZM30.1825 3.49678L37.4219 10.7368L11.3799 25.0368L4.1399 17.7968L30.1825 3.49678ZM11.3811 28.9046L37.4231 43.2046L30.1825 50.4452L4.1399 36.1452L11.3811 28.9046ZM67.3329 57.7792L41.5625 71.9296V55.9573C41.5625 55.0942 40.863 54.3948 40 54.3948C39.137 54.3948 38.4375 55.0942 38.4375 55.9573V71.9296L12.6671 57.7792V44.3929L29.7058 53.749C29.942 53.8784 30.2008 53.9419 30.4571 53.9419C30.8618 53.9419 31.2622 53.7844 31.5625 53.4841L40 45.0466L48.4375 53.4841C48.7378 53.785 49.1382 53.9419 49.5429 53.9419C49.7992 53.9419 50.058 53.8784 50.2942 53.749L67.3329 44.3929V57.7792ZM49.8181 50.4452L42.5775 43.2039L68.6195 28.9046L75.8607 36.1446L49.8181 50.4452Z" fill="#999999"/>
<path d="M63.25 10.6528C63.6608 10.6528 64.0624 10.4856 64.3547 10.1945C64.6453 9.90394 64.8125 9.50111 64.8125 9.09034C64.8125 8.67896 64.6453 8.27613 64.3547 7.9856C64.0642 7.69446 63.6608 7.52783 63.25 7.52783C62.8374 7.52783 62.4358 7.69446 62.1453 7.9856C61.8529 8.27613 61.6875 8.67896 61.6875 9.09034C61.6875 9.50111 61.8529 9.90394 62.1453 10.1945C62.4358 10.4856 62.8392 10.6528 63.25 10.6528Z" fill="#999999"/>
<path d="M40 49.207C39.5892 49.207 39.1858 49.3737 38.8953 49.6648C38.6047 49.9565 38.4375 50.3582 38.4375 50.7695C38.4375 51.1815 38.6047 51.5831 38.8953 51.8755C39.1858 52.166 39.5892 52.332 40 52.332C40.4108 52.332 40.8142 52.166 41.1047 51.8755C41.3953 51.5831 41.5625 51.1815 41.5625 50.7695C41.5625 50.3582 41.3953 49.9565 41.1047 49.6648C40.8142 49.3737 40.4108 49.207 40 49.207Z" fill="#999999"/>
</svg>

After

Width:  |  Height:  |  Size: 2.8 KiB

View File

@ -0,0 +1,5 @@
<svg width="30" height="30" viewBox="0 0 30 30" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M29.1211 14.1211C28.6357 14.1211 28.2422 14.5146 28.2422 15C28.2422 22.3018 22.3018 28.2422 15 28.2422C7.69822 28.2422 1.75781 22.3018 1.75781 15C1.75781 7.69822 7.69822 1.75781 15 1.75781C17.9401 1.75781 20.7335 2.71031 23.0292 4.46795L21.5038 4.73748C21.0258 4.82191 20.7067 5.27789 20.7912 5.7559C20.8757 6.23391 21.3316 6.55295 21.8096 6.46846L25.138 5.88035C25.5579 5.80617 25.864 5.44125 25.864 5.01486V1.6865C25.864 1.20111 25.4705 0.807598 24.9851 0.807598C24.4997 0.807598 24.1062 1.20111 24.1062 1.6865V3.07852C21.5037 1.08182 18.3352 0 15 0C10.9934 0 7.22654 1.56029 4.39336 4.39336C1.56029 7.22654 0 10.9934 0 15C0 19.0066 1.56029 22.7735 4.39336 25.6066C7.22654 28.4397 10.9934 30 15 30C19.0066 30 22.7735 28.4397 25.6066 25.6066C28.4397 22.7735 30 19.0066 30 15C30 14.5146 29.6065 14.1211 29.1211 14.1211Z" fill="#D5D5D5"/>
<path d="M15 5.33203C12.4153 5.33203 10.3125 7.43484 10.3125 10.0195V12.3633H9.72656C9.24117 12.3633 8.84766 12.7568 8.84766 13.2422V21.4453C8.84766 21.9307 9.24117 22.3242 9.72656 22.3242H20.2734C20.7588 22.3242 21.1523 21.9307 21.1523 21.4453V13.2422C21.1523 12.7568 20.7588 12.3633 20.2734 12.3633H19.6875V10.0195C19.6875 7.43484 17.5847 5.33203 15 5.33203ZM12.0703 10.0195C12.0703 8.4041 13.3846 7.08984 15 7.08984C16.6154 7.08984 17.9297 8.4041 17.9297 10.0195V12.3633H12.0703V10.0195ZM19.3945 20.5664H10.6055V14.1211H19.3945V20.5664Z" fill="#D5D5D5"/>
<path d="M14.4141 18.2227H15.5859C16.0713 18.2227 16.4648 17.8291 16.4648 17.3438C16.4648 16.8584 16.0713 16.4648 15.5859 16.4648H14.4141C13.9287 16.4648 13.5352 16.8584 13.5352 17.3438C13.5352 17.8291 13.9287 18.2227 14.4141 18.2227Z" fill="#D5D5D5"/>
</svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@ -0,0 +1,5 @@
<svg width="20" height="30" viewBox="0 0 20 30" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M13.8335 12.3253C15.8258 10.4414 18.5244 7.88895 18.7362 4.00547C19.4254 3.76752 19.9219 3.11273 19.9219 2.34375V0.585938C19.9219 0.262324 19.6596 0 19.3359 0H0.585938C0.262324 0 0 0.262324 0 0.585938V2.34375C0 3.11279 0.496641 3.76758 1.18582 4.00553C1.25865 5.36596 1.63682 6.6484 2.33766 7.91109C2.44471 8.10398 2.64451 8.21273 2.85047 8.21273C2.94668 8.21273 3.04424 8.189 3.1343 8.13896C3.41725 7.98193 3.51932 7.62521 3.36223 7.34232C2.7777 6.28928 2.45027 5.22369 2.36631 4.10156H17.5557C17.3043 7.4298 14.9449 9.66141 13.0283 11.4737C11.6419 12.7846 10.5469 13.82 10.5469 14.9999C10.5469 16.1799 11.6419 17.2153 13.0283 18.5262C14.945 20.3385 17.3044 22.5701 17.5557 25.8984H15.0676C14.395 24.3033 13.2425 23.0659 12.1253 21.8677C11.9497 21.6793 11.7754 21.4924 11.6048 21.3059C11.0118 20.6572 10.4779 20.3549 9.92443 20.3549C9.92279 20.3549 9.92109 20.3549 9.91945 20.3549C9.25096 20.3571 8.76709 20.808 8.46123 21.147C8.24643 21.3851 8.02793 21.6194 7.79666 21.8675C6.67939 23.0657 5.52691 24.3032 4.85426 25.8983H2.36607C2.61744 22.5701 4.97684 20.3385 6.8935 18.5262C8.27988 17.2153 9.37494 16.1798 9.37494 14.9999C9.37494 13.8199 8.27977 12.7843 6.8932 11.4732C6.80789 11.3926 6.72146 11.3109 6.63422 11.2281C6.39955 11.0054 6.02859 11.0151 5.80588 11.2499C5.58316 11.4847 5.59289 11.8555 5.82768 12.0782C5.91545 12.1615 6.00229 12.2436 6.08813 12.3248C7.1758 13.3532 8.20312 14.3246 8.20312 14.9999C8.20312 15.6751 7.17592 16.6464 6.08842 17.6746C4.09617 19.5585 1.39746 22.1109 1.18564 25.9944C0.496523 26.2325 0 26.8873 0 27.6562V29.4141C0 29.7377 0.262324 30 0.585938 30H19.3359C19.6596 30 19.9219 29.7377 19.9219 29.4141V27.6562C19.9219 26.8873 19.4254 26.2325 18.7362 25.9945C18.5244 22.1111 15.8258 19.5586 13.8335 17.6747C12.746 16.6465 11.7188 15.6752 11.7188 15C11.7188 14.3248 12.746 13.3535 13.8335 12.3253ZM1.17188 1.17188H18.75V2.34375C18.75 2.66684 18.4871 2.92969 18.1641 2.92969H1.75781C1.43473 2.92969 1.17188 2.66684 1.17188 2.34375V1.17188ZM8.65377 22.6668C8.87812 22.4262 9.1101 22.1773 9.33135 21.9321C9.57352 21.6637 9.77268 21.5274 9.92332 21.5269H9.92414C10.0347 21.5269 10.2871 21.6012 10.7399 22.0966C10.913 22.286 11.09 22.4757 11.2683 22.6669C12.1993 23.6654 13.1571 24.6927 13.7757 25.8984H6.14625C6.76488 24.6926 7.72271 23.6653 8.65377 22.6668ZM18.75 28.8281H1.17188V27.6562C1.17188 27.3332 1.43473 27.0703 1.75781 27.0703H18.1641C18.4871 27.0703 18.75 27.3332 18.75 27.6562V28.8281Z" fill="#D5D5D5"/>
<path d="M7.55663 10.474C8.01548 10.9098 8.44884 11.3214 8.84745 11.7408C9.12923 12.0372 9.53704 12.2072 9.96635 12.2074H9.967C10.3941 12.2074 10.7898 12.0389 11.0812 11.7327C11.4777 11.3163 11.9081 10.9075 12.3638 10.4747C13.1267 9.75004 13.9156 9.0008 14.5944 8.16144C14.7541 7.9641 14.7685 7.68648 14.6302 7.47373C14.4919 7.26092 14.2324 7.16131 13.9872 7.22705C12.5287 7.61781 11.2871 7.3218 10.0863 7.03545C8.63757 6.68998 7.1395 6.33279 5.48927 7.28558C5.34085 7.37125 5.23743 7.51756 5.20614 7.68607C5.17485 7.85453 5.21891 8.02826 5.32667 8.1615C6.0053 9.00056 6.79397 9.74963 7.55663 10.474ZM9.81448 8.17539C10.6649 8.37818 11.591 8.59849 12.6277 8.58719C12.2766 8.94127 11.9137 9.28592 11.5568 9.625C11.1106 10.0487 10.6492 10.487 10.2324 10.9248C10.1452 11.0164 10.04 11.0356 9.96694 11.0356C9.96694 11.0356 9.96688 11.0356 9.96682 11.0356C9.86176 11.0355 9.75577 10.9954 9.69682 10.9334C9.27759 10.4924 8.813 10.0511 8.3637 9.62435C7.81339 9.1017 7.24907 8.56568 6.73573 8.00236C7.72655 7.67752 8.67202 7.90293 9.81448 8.17539Z" fill="#D5D5D5"/>
<path d="M4.97137 9.77051C4.97137 9.44689 4.70904 9.18457 4.38543 9.18457H4.38502C4.06141 9.18457 3.79932 9.44689 3.79932 9.77051C3.79932 10.0941 4.06182 10.3564 4.38543 10.3564C4.70904 10.3564 4.97137 10.0941 4.97137 9.77051Z" fill="#D5D5D5"/>
</svg>

After

Width:  |  Height:  |  Size: 3.8 KiB

View File

@ -0,0 +1,12 @@
<svg width="30" height="25" viewBox="0 0 30 25" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M26.601 17.1644H24.7395C24.4967 17.1644 24.3 17.3612 24.3 17.6038C24.3 17.8465 24.4967 18.0433 24.7395 18.0433H26.601C27.9906 18.0433 29.1212 19.1738 29.1212 20.5634C29.1212 21.2368 28.8591 21.8698 28.3832 22.3457C27.9074 22.8215 27.2745 23.0835 26.601 23.0835H10.5861V18.0433H22.6887C22.9314 18.0433 23.1281 17.8465 23.1281 17.6038C23.1281 17.3612 22.9314 17.1644 22.6887 17.1644H10.4864C10.321 16.8152 9.96621 16.5726 9.55488 16.5726H9.52049V14.2896C9.52049 11.9585 7.62404 10.062 5.29295 10.062C2.96186 10.062 1.06541 11.9585 1.06541 14.2896V16.5726H1.03125C0.462656 16.5726 0 17.0353 0 17.6038V21.0369C0 21.2796 0.196699 21.4763 0.439453 21.4763C0.682207 21.4763 0.878906 21.2796 0.878906 21.0369V17.6038C0.878906 17.5198 0.947227 17.4515 1.03125 17.4515H9.55488C9.63891 17.4515 9.70723 17.5199 9.70723 17.6038V23.523C9.70723 23.607 9.63891 23.6753 9.55488 23.6753H1.03125C0.947227 23.6753 0.878906 23.607 0.878906 23.523V23.0876C0.878906 22.8449 0.682207 22.6482 0.439453 22.6482C0.196699 22.6482 0 22.8449 0 23.0876V23.523C0 24.0916 0.462656 24.5542 1.03125 24.5542H9.55488C9.96615 24.5542 10.321 24.3116 10.4864 23.9624H26.601C27.5092 23.9624 28.3628 23.6089 29.0047 22.9671C29.6466 22.3253 30 21.4716 30 20.5634C30 18.6892 28.4752 17.1644 26.601 17.1644ZM1.94432 14.2896C1.94432 12.4431 3.44654 10.9409 5.29295 10.9409C7.13936 10.9409 8.64158 12.4431 8.64158 14.2896V16.5726H7.62645V14.2896C7.62645 13.0029 6.57967 11.9561 5.29295 11.9561C4.00623 11.9561 2.95945 13.0029 2.95945 14.2896V16.5726H1.94432V14.2896ZM6.74754 16.5726H3.83836V14.2896C3.83836 13.4875 4.49092 12.835 5.29295 12.835C6.09498 12.835 6.74754 13.4875 6.74754 14.2896V16.5726Z" fill="#D5D5D5"/>
<path d="M5.29318 22.6608C5.53594 22.6608 5.73264 22.464 5.73264 22.2213V21.1685C6.28236 20.9842 6.67969 20.4647 6.67969 19.8538C6.67969 19.0893 6.05771 18.4673 5.29318 18.4673C4.52871 18.4673 3.90674 19.0893 3.90674 19.8538C3.90674 20.4647 4.30406 20.9842 4.85373 21.1685V22.2214C4.85373 22.464 5.05043 22.6608 5.29318 22.6608ZM5.29318 19.3461C5.57303 19.3461 5.80078 19.5738 5.80078 19.8537C5.80078 20.1336 5.57303 20.3613 5.29318 20.3613C5.01334 20.3613 4.78564 20.1336 4.78564 19.8537C4.78564 19.5738 5.01334 19.3461 5.29318 19.3461Z" fill="#D5D5D5"/>
<path d="M15.7274 19.8705C15.606 19.6602 15.3372 19.5882 15.1271 19.7096L14.9662 19.8026V19.6167C14.9662 19.374 14.7695 19.1772 14.5267 19.1772C14.284 19.1772 14.0873 19.374 14.0873 19.6167V19.8026L13.9263 19.7096C13.716 19.5882 13.4473 19.6602 13.326 19.8705C13.2047 20.0806 13.2767 20.3494 13.4869 20.4708L13.6478 20.5637L13.4869 20.6566C13.2767 20.778 13.2047 21.0467 13.326 21.2569C13.4075 21.3979 13.5551 21.4767 13.707 21.4767C13.7815 21.4767 13.8571 21.4577 13.9263 21.4178L14.0873 21.3248V21.5107C14.0873 21.7534 14.284 21.9501 14.5267 21.9501C14.7695 21.9501 14.9662 21.7534 14.9662 21.5107V21.3248L15.1271 21.4178C15.1964 21.4577 15.2719 21.4767 15.3465 21.4767C15.4983 21.4767 15.6461 21.3978 15.7274 21.2569C15.8488 21.0467 15.7768 20.778 15.5666 20.6566L15.4056 20.5637L15.5666 20.4708C15.7768 20.3495 15.8488 20.0806 15.7274 19.8705Z" fill="#D5D5D5"/>
<path d="M19.2787 19.8705C19.1573 19.6602 18.8885 19.5882 18.6784 19.7096L18.5175 19.8026V19.6167C18.5175 19.374 18.3208 19.1772 18.078 19.1772C17.8353 19.1772 17.6386 19.374 17.6386 19.6167V19.8026L17.4776 19.7096C17.2673 19.5882 16.9986 19.6602 16.8773 19.8705C16.756 20.0806 16.828 20.3494 17.0381 20.4708L17.1991 20.5637L17.0381 20.6566C16.828 20.778 16.756 21.0467 16.8773 21.2569C16.9588 21.3979 17.1064 21.4767 17.2583 21.4767C17.3328 21.4767 17.4084 21.4577 17.4776 21.4178L17.6386 21.3248V21.5107C17.6386 21.7534 17.8353 21.9501 18.078 21.9501C18.3208 21.9501 18.5175 21.7534 18.5175 21.5107V21.3248L18.6784 21.4178C18.7477 21.4577 18.8232 21.4767 18.8977 21.4767C19.0496 21.4767 19.1973 21.3978 19.2787 21.2569C19.4001 21.0467 19.328 20.778 19.1179 20.6566L18.9569 20.5637L19.1179 20.4708C19.328 20.3495 19.4001 20.0806 19.2787 19.8705Z" fill="#D5D5D5"/>
<path d="M22.83 19.8705C22.7088 19.6602 22.4398 19.5882 22.2297 19.7096L22.0688 19.8026V19.6167C22.0688 19.374 21.8721 19.1772 21.6293 19.1772C21.3866 19.1772 21.1899 19.374 21.1899 19.6167V19.8026L21.0289 19.7096C20.8186 19.5881 20.5499 19.6602 20.4286 19.8704C20.3072 20.0806 20.3792 20.3494 20.5894 20.4707L20.7504 20.5636L20.5894 20.6566C20.3792 20.7779 20.3072 21.0467 20.4286 21.2569C20.51 21.3978 20.6577 21.4766 20.8096 21.4766C20.8841 21.4766 20.9597 21.4577 21.0289 21.4177L21.1899 21.3247V21.5106C21.1899 21.7533 21.3866 21.9501 21.6293 21.9501C21.8721 21.9501 22.0688 21.7533 22.0688 21.5106V21.3248L22.2297 21.4177C22.299 21.4577 22.3745 21.4766 22.4491 21.4766C22.6009 21.4766 22.7487 21.3978 22.83 21.2569C22.9514 21.0467 22.8794 20.7779 22.6692 20.6566L22.5082 20.5636L22.6692 20.4707C22.8794 20.3495 22.9514 20.0807 22.83 19.8705Z" fill="#D5D5D5"/>
<path d="M25.1805 19.1772C24.9378 19.1772 24.7411 19.374 24.7411 19.6167V19.8026L24.5801 19.7096C24.3698 19.5882 24.1011 19.6602 23.9798 19.8705C23.8585 20.0806 23.9305 20.3494 24.1407 20.4708L24.3016 20.5637L24.1407 20.6566C23.9305 20.778 23.8585 21.0467 23.9798 21.2569C24.0613 21.3979 24.2089 21.4767 24.3608 21.4767C24.4354 21.4767 24.5109 21.4577 24.5801 21.4178L24.7411 21.3248V21.5107C24.7411 21.7534 24.9378 21.9501 25.1805 21.9501C25.4233 21.9501 25.62 21.7534 25.62 21.5107V21.3248L25.781 21.4178C25.8502 21.4577 25.9257 21.4767 26.0003 21.4767C26.1522 21.4767 26.2999 21.3978 26.3813 21.2569C26.5026 21.0467 26.4306 20.778 26.2204 20.6566L26.0595 20.5637L26.2204 20.4708C26.4306 20.3494 26.5026 20.0806 26.3813 19.8705C26.2599 19.6602 25.991 19.5882 25.781 19.7096L25.62 19.8026V19.6167C25.62 19.374 25.4233 19.1772 25.1805 19.1772Z" fill="#D5D5D5"/>
<path d="M5.95603 6.22166C6.13158 6.39727 6.37533 6.49488 6.62283 6.48861C6.87109 6.4827 7.10933 6.37389 7.27586 6.19066C7.47332 5.97422 7.68226 5.76357 7.89683 5.56465C8.07484 5.39965 8.08539 5.12156 7.92033 4.94361C7.75545 4.76566 7.4773 4.75506 7.29929 4.92006C7.06673 5.13562 6.84039 5.36385 6.62599 5.59893C6.62359 5.60156 6.61627 5.60959 6.60191 5.60994C6.58668 5.60865 6.58 5.60262 6.57742 5.60004L5.90839 4.9316C5.89544 4.91865 5.89339 4.89814 5.904 4.88666C7.05039 3.63674 8.41205 2.65184 9.95084 1.95926C11.5436 1.24242 13.2425 0.878906 15.0002 0.878906C16.758 0.878906 18.4568 1.24242 20.0496 1.95926C21.5884 2.65189 22.95 3.6368 24.0965 4.88678C24.107 4.89814 24.105 4.91865 24.0928 4.9309L23.4228 5.60016C23.4204 5.60262 23.4108 5.60871 23.3985 5.60994C23.3842 5.60959 23.3768 5.60156 23.374 5.59846C21.2277 3.24404 18.1756 1.89375 15.0002 1.89375C12.8686 1.89375 10.79 2.49187 8.98908 3.62344C8.78359 3.75258 8.72171 4.02381 8.8508 4.22936C8.97994 4.43484 9.25129 4.49678 9.45672 4.36764C11.1173 3.3242 13.0342 2.77266 15.0002 2.77266C17.929 2.77266 20.7444 4.01842 22.724 6.19008C22.8911 6.37389 23.1293 6.4827 23.3775 6.48861C23.3847 6.48879 23.3918 6.48885 23.3989 6.48885C23.6396 6.48885 23.8738 6.39217 24.0442 6.22178L24.7146 5.55193C25.0606 5.20465 25.0735 4.65141 24.7441 4.29252C23.5166 2.9543 22.0585 1.89955 20.4102 1.15775C18.7034 0.389531 16.8832 0 15.0002 0C13.1172 0 11.297 0.389531 9.59013 1.15775C7.94189 1.89961 6.48378 2.9543 5.25636 4.29246C4.92683 4.65146 4.93978 5.20471 5.28648 5.55269L5.95603 6.22166Z" fill="#D5D5D5"/>
<path d="M20.0302 8.85996C20.1944 9.0491 20.4326 9.1626 20.6836 9.17139C20.6942 9.17174 20.7047 9.17191 20.7153 9.17191C20.9568 9.17191 21.1911 9.07529 21.3623 8.90408L22.0328 8.23359C22.3734 7.89305 22.3897 7.34291 22.07 6.98121C20.2761 4.95193 17.6992 3.78809 15 3.78809C12.3009 3.78809 9.72403 4.95193 7.93012 6.98121C7.61037 7.34291 7.62672 7.89299 7.96733 8.23359L8.63776 8.90396C8.81647 9.08273 9.06473 9.17971 9.31651 9.17133C9.56752 9.16254 9.8057 9.04904 9.96988 8.8599C11.2385 7.39893 13.0719 6.56104 15 6.56104C16.9282 6.56104 18.7615 7.39898 20.0302 8.85996ZM9.30625 8.28369C9.3042 8.28609 9.29858 8.29254 9.28569 8.29301C9.27385 8.29301 9.26652 8.28984 9.2592 8.28252L8.58877 7.61209C8.57565 7.59897 8.57559 7.57799 8.5886 7.56328C10.2158 5.72262 12.5526 4.66693 15 4.66693C17.4474 4.66693 19.7843 5.72262 21.4115 7.56328C21.4245 7.57799 21.4244 7.59896 21.4114 7.61203L20.7408 8.28252C20.7336 8.28979 20.7261 8.29283 20.7144 8.29295C20.7015 8.29248 20.6959 8.28604 20.6938 8.28363C19.2582 6.63035 17.1828 5.68213 15 5.68213C12.8172 5.68213 10.7419 6.63041 9.30625 8.28369Z" fill="#D5D5D5"/>
<path d="M13.1401 13.2238C13.1401 14.2494 13.9745 15.0838 15.0001 15.0838C16.0258 15.0838 16.8601 14.2494 16.8601 13.2238C16.8601 12.1981 16.0258 11.3638 15.0001 11.3638C13.9745 11.3638 13.1401 12.1981 13.1401 13.2238ZM15.9812 13.2238C15.9812 13.7648 15.5411 14.2049 15.0001 14.2049C14.4592 14.2049 14.019 13.7648 14.019 13.2238C14.019 12.6828 14.4592 12.2427 15.0001 12.2427C15.5411 12.2427 15.9812 12.6828 15.9812 13.2238Z" fill="#D5D5D5"/>
<path d="M17.2947 11.4938C17.4562 11.7074 17.7012 11.8406 17.9667 11.8589C17.9876 11.8604 18.0085 11.8611 18.0293 11.8611C18.2693 11.8611 18.5004 11.766 18.6713 11.595L19.3467 10.9196C19.6763 10.5901 19.7038 10.0654 19.4106 9.69932C18.33 8.35002 16.7224 7.57617 15.0001 7.57617C13.2778 7.57617 11.6702 8.35008 10.5895 9.69938C10.2964 10.0655 10.3239 10.5901 10.6535 10.9197L11.3288 11.5951C11.5148 11.7809 11.7715 11.8774 12.0335 11.859C12.299 11.8406 12.544 11.7076 12.7055 11.4939C13.2556 10.7664 14.0919 10.3491 15.0001 10.3491C15.9083 10.3491 16.7446 10.7663 17.2947 11.4938ZM12.0044 10.9638C11.9938 10.9778 11.9813 10.9815 11.9729 10.9821C11.9615 10.9833 11.9552 10.9784 11.9504 10.9735L11.275 10.2981C11.2608 10.2839 11.2645 10.2625 11.2755 10.2487C12.1885 9.10875 13.5461 8.45502 15.0001 8.45502C16.4541 8.45502 17.8117 9.10881 18.7246 10.2487C18.7356 10.2625 18.7394 10.284 18.7252 10.2981L18.0498 10.9735C18.045 10.9784 18.0387 10.9833 18.0273 10.9821C18.0188 10.9815 18.0064 10.9778 17.9958 10.9637C17.2781 10.0146 16.1862 9.47016 15.0001 9.47016C13.814 9.47016 12.7221 10.0146 12.0044 10.9638Z" fill="#D5D5D5"/>
</svg>

After

Width:  |  Height:  |  Size: 9.8 KiB

View File

@ -275,10 +275,7 @@ class AuthCubit extends Cubit<AuthState> {
getTokenAndValidate() async {
emit(AuthTokenLoading());
const storage = FlutterSecureStorage(
aOptions: AndroidOptions(
encryptedSharedPreferences: true,
));
const storage = FlutterSecureStorage();
final firstLaunch =
await SharedPreferencesHelper.readBoolFromSP(StringsManager.firstLaunch) ?? true;

View File

@ -1,3 +1,5 @@
import 'dart:math';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:syncrow_app/features/devices/bloc/smart_door_bloc/smart_door_event.dart';
import 'package:syncrow_app/features/devices/bloc/smart_door_bloc/smart_door_state.dart';
@ -44,4 +46,14 @@ class SmartDoorBloc extends Bloc<SmartDoorEvent, SmartDoorState> {
} catch (_) {}
emit(UpdateState(smartDoorModel: deviceStatus));
}
int generate7DigitNumber() {
Random random = Random();
int min = 1000000; // Minimum 7-digit number
int max = 9999999; // Maximum 7-digit number
return min + random.nextInt(max - min + 1);
}
}

View File

@ -15,3 +15,5 @@ class UpdateLockEvent extends SmartDoorEvent {
@override
List<Object> get props => [value];
}

View File

@ -0,0 +1,266 @@
import 'package:day_picker/day_picker.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:pin_code_fields/pin_code_fields.dart';
import 'package:syncrow_app/features/shared_widgets/default_container.dart';
import 'package:syncrow_app/features/shared_widgets/default_scaffold.dart';
import 'package:syncrow_app/features/shared_widgets/text_widgets/body_medium.dart';
import 'package:syncrow_app/features/shared_widgets/text_widgets/body_small.dart';
import 'package:syncrow_app/utils/resource_manager/color_manager.dart';
import 'package:time_picker_spinner/time_picker_spinner.dart';
class CreateTemporaryPassword extends StatefulWidget {
const CreateTemporaryPassword({super.key});
@override
State<CreateTemporaryPassword> createState() =>
_CreateTemporaryPasswordState();
}
class _CreateTemporaryPasswordState extends State<CreateTemporaryPassword> {
List<DayInWeek> _days = [
DayInWeek(
"Sun",
dayKey: '',
),
DayInWeek(
"Mon",
dayKey: '',
),
DayInWeek("Tue", isSelected: true, dayKey: ''),
DayInWeek(
"Wed",
dayKey: '',
),
DayInWeek(
"Thu",
dayKey: '',
),
DayInWeek(
"Fri",
dayKey: '',
),
DayInWeek(
"Sat",
dayKey: '',
),
];
DateTime dateTime = DateTime.now();
@override
Widget build(BuildContext context) {
TextEditingController? controller = TextEditingController();
return DefaultScaffold(
title: 'Create Password',
actions: [TextButton(onPressed: () {}, child: const Text('Save'))],
child: SingleChildScrollView(
child: Column(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
BodyMedium(
text:
'Save the password immediately. The password is not displayed in the app.',
fontWeight: FontWeight.normal,
fontColor: ColorsManager.grayColor,
),
SizedBox(
height: 20,
),
const BodyMedium(
text: '7-Digit Password',
fontWeight: FontWeight.normal,
fontColor: ColorsManager.grayColor,
),
DefaultContainer(
padding: const EdgeInsets.symmetric(horizontal: 5, vertical: 5),
child: Row(
children: [
Expanded(
child: PinCodeTextField(
keyboardType: TextInputType.phone,
length: 7,
enabled: true,
obscureText: false,
animationType: AnimationType.fade,
pinTheme: PinTheme(
shape: PinCodeFieldShape.underline,
fieldHeight: 45,
fieldWidth: 20,
activeFillColor: Colors.white,
disabledColor: Colors.grey,
activeColor: Colors.grey,
errorBorderColor: Colors.grey,
inactiveColor: Colors.grey,
inactiveFillColor: Colors.grey,
selectedColor: Colors.grey),
animationDuration: Duration(milliseconds: 300),
backgroundColor: Colors.white,
enableActiveFill: false,
controller: controller,
onCompleted: (v) {
print("Completed");
},
onChanged: (value) {
print(value);
},
appContext: context,
)),
const SizedBox(
width: 10,
),
InkWell(
onTap: () {},
child: const BodyMedium(
text: 'Generate Randomly',
fontWeight: FontWeight.bold,
fontColor: ColorsManager.primaryColor,
))
],
),
),
const SizedBox(
height: 20,
),
DefaultContainer(
padding: const EdgeInsets.all(10),
child: Column(
children: [
ListTile(
contentPadding: EdgeInsets.zero,
leading: const BodyMedium(
text: 'Password Name',
fontWeight: FontWeight.normal,
),
trailing: Container(
width: MediaQuery.of(context).size.width / 2,
child: TextFormField(
decoration:
InputDecoration(labelText: 'Enter The Name'),
)),
),
Divider(),
ListTile(
contentPadding: EdgeInsets.zero,
leading: const BodyMedium(
text: 'Effective Time',
fontWeight: FontWeight.normal,
),
trailing: Container(
width: MediaQuery.of(context).size.width / 2,
child: TextFormField(
enabled: false,
decoration: InputDecoration(
border: InputBorder.none,
labelText: 'Select Time'),
)),
),
Divider(),
ListTile(
contentPadding: EdgeInsets.zero,
leading: const BodyMedium(
text: 'Select Time',
fontWeight: FontWeight.normal,
),
trailing: Container(
width: MediaQuery.of(context).size.width / 2,
child: TextFormField(
enabled: false,
decoration: InputDecoration(
border: InputBorder.none,
labelText: 'Select Time'),
)),
),
],
)),
SizedBox(
height: 20,
),
DefaultContainer(
padding: const EdgeInsets.symmetric(horizontal: 5, vertical: 5),
child: ListTile(
contentPadding: EdgeInsets.zero,
leading: const BodyMedium(
text: 'Repeat',
fontWeight: FontWeight.normal,
),
trailing: Transform.scale(
scale: .8,
child: CupertinoSwitch(
value: true,
onChanged: (value) {},
applyTheme: true,
)),
),
),
const SizedBox(
height: 20,
),
DefaultContainer(
padding: const EdgeInsets.symmetric(horizontal: 5, vertical: 5),
child: Column(
children: <Widget>[
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
TextButton(
onPressed: () {},
child: const Text('Start'),
),
TextButton(
onPressed: () {},
child: const Text('End'),
)
],
),
Divider(),
SizedBox(
height: 80,
child: TimePickerSpinner(
spacing: 10,
locale: const Locale('en', ''),
time: dateTime,
is24HourMode: false,
itemHeight: 40,
normalTextStyle: const TextStyle(
fontSize: 24,
),
highlightedTextStyle:
const TextStyle(fontSize: 24, color: Colors.blue),
onTimeChange: (time) {
setState(() {
dateTime = time;
});
},
),
),
Divider(),
SizedBox(height: 20),
SelectWeekDays(
width: MediaQuery.of(context).size.width/1,
fontSize: 10,
fontWeight: FontWeight.w600,
days: _days,
border: false,
selectedDayTextColor: Colors.black,
unSelectedDayTextColor: Colors.grey,
boxDecoration: BoxDecoration(
borderRadius: BorderRadius.circular(30.0),
color: Colors.white),
onSelect: (values) {
print(values);
},
),
],
)),
SizedBox(height: 40,)
],
),
),
);
}
}

View File

@ -3,6 +3,7 @@ import 'package:flutter/widgets.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:syncrow_app/features/devices/view/widgets/smart_door/members_management_view.dart';
import 'package:syncrow_app/features/devices/view/widgets/smart_door/smart_linkage_view.dart';
import 'package:syncrow_app/features/devices/view/widgets/smart_door/temporary_password_page.dart';
import 'package:syncrow_app/features/devices/view/widgets/smart_door/unlocking_records_view.dart';
import 'package:syncrow_app/features/shared_widgets/default_container.dart';
import 'package:syncrow_app/features/shared_widgets/text_widgets/body_small.dart';
@ -79,7 +80,7 @@ List<Map<String, dynamic>> doorLockButtons = [
{
'title': 'Temporary Password',
'image': Assets.assetsIconsDoorlockAssetsTemporaryPassword,
'page': null,
'page':const TemporaryPasswordPage() ,
},
{
'title': 'Smart Linkage',

View File

@ -36,7 +36,6 @@ class DoorInterface extends StatelessWidget {
),
);
}
}, builder: (context, state) {
SmartDoorModel smartDoorModel = SmartDoorModel(
unlockFingerprint: 0,
@ -113,6 +112,7 @@ class DoorInterface extends StatelessWidget {
smartDoorModel: smartDoorModel,
),
const DoorLockGrid(),
],
)
],

View File

@ -0,0 +1,225 @@
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_svg/svg.dart';
import 'package:syncrow_app/features/devices/view/widgets/smart_door/view_temporary_password.dart';
import 'package:syncrow_app/features/shared_widgets/default_container.dart';
import 'package:syncrow_app/features/shared_widgets/default_scaffold.dart';
import 'package:syncrow_app/features/shared_widgets/text_widgets/body_large.dart';
import 'package:syncrow_app/features/shared_widgets/text_widgets/body_medium.dart';
import 'package:syncrow_app/generated/assets.dart';
import 'package:syncrow_app/utils/resource_manager/color_manager.dart';
class TemporaryPasswordPage extends StatefulWidget {
const TemporaryPasswordPage({super.key});
@override
State<TemporaryPasswordPage> createState() => _TemporaryPasswordPageState();
}
class _TemporaryPasswordPageState extends State<TemporaryPasswordPage> {
@override
Widget build(BuildContext context) {
return DefaultScaffold(
title: 'Temporary Password',
child: Column(
children: [
const SizedBox(height: 10),
Column(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
const BodyLarge(
text: 'Online Password',
fontWeight: FontWeight.normal,
fontColor: Color(0xfff999999),
),
const BodyMedium(
text: 'We recommend that you use the online password when the Wi-Fi network is stable.',
fontWeight: FontWeight.normal,
fontColor: ColorsManager.grayColor,
),
const SizedBox(height: 10),
DefaultContainer(
padding: const EdgeInsets.symmetric(horizontal: 15, vertical: 10),
child:ListTile(
contentPadding: EdgeInsets.zero,
leading: SvgPicture.asset(
Assets.timeLimitedPasswordIcon),
title: const BodyMedium(
text: 'Time-Limited Password',
fontWeight: FontWeight.normal,
),
onTap: () {
Navigator.of(context).push(MaterialPageRoute(builder: (context) => const ViewTemporaryPassword(),));
},
trailing: const Icon(
Icons.arrow_forward_ios,
color: ColorsManager.greyColor,
size: 15,
),
),
// Row(
// children: [
// Expanded(
// child: Row(
// children: [
// SizedBox(
// width: 45,
// height: 40,
// child: SvgPicture.asset(
// Assets.timeLimitedPasswordIcon),
// ),
// const SizedBox(width: 15),
// const Expanded(
// child:
// BodyMedium(
// text: 'Time-Limited Password',
// fontWeight: FontWeight.normal,
// ),
// ),
// ],
// ),
// ),
// const Row(
// mainAxisAlignment: MainAxisAlignment.end,
// children: [
// Icon(
// Icons.arrow_forward_ios,
// color: ColorsManager.greyColor,
// size: 15,
// ),
// ],
// ),
// ],
// ),
),
],
),
const SizedBox(height: 10),
Column(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
const BodyLarge(
text: 'Offline Password',
fontWeight: FontWeight.normal,
fontColor: Color(0xfff999999),
),
const BodyMedium(
text: 'WWe recommend that you use the offline password when the Wi-Fi is disconnected or in an unstable Wi-Fi environment.',
fontWeight: FontWeight.normal,
fontColor: ColorsManager.grayColor,
),
const SizedBox(height: 10),
DefaultContainer(
padding: const EdgeInsets.symmetric(horizontal: 15, vertical: 20),
child: Column(children: [
ListTile(
contentPadding: EdgeInsets.zero,
leading: SvgPicture.asset(Assets.oneTimePassword),
title:
const BodyMedium(
text: 'One-Time Password',
fontWeight: FontWeight.normal,
),
onTap: () {},
trailing: const Icon(
Icons.arrow_forward_ios,
color: ColorsManager.greyColor,
size: 15,
),
),
// Row(
// children: [
// Expanded(
// child: Row(
// children: [
// SizedBox(
// width: 45,
// height: 40,
// child: SvgPicture.asset(
// Assets.oneTimePassword),
// ),
// const SizedBox(width: 15),
// const Expanded(
// child: BodyMedium(
// text: 'One-Time Password',
// fontWeight: FontWeight.normal,
// ),
// ),
// ],
// ),
// ),
// const Row(
// mainAxisAlignment: MainAxisAlignment.end,
// children: [
// Icon(
// Icons.arrow_forward_ios,
// color: ColorsManager.greyColor,
// size: 15,
// ),
// ],
// ),
// ],
// ),
const Divider( ),
ListTile(
contentPadding: EdgeInsets.zero,
leading: SvgPicture.asset(
Assets.timeLimitedPassword),
title: BodyMedium(
text: 'Time-Limited Password',
fontWeight: FontWeight.normal,
),
onTap: () {},
trailing: const Icon(
Icons.arrow_forward_ios,
color: ColorsManager.greyColor,
size: 15,
),
),
// Row(
// children: [
// Expanded(
// child: Row(
// children: [
// SizedBox(
// width: 45,
// height: 40,
// child: SvgPicture.asset(
// Assets.timeLimitedPassword),
//
// ),
// const SizedBox(width: 15),
// const Expanded(
// child: BodyMedium(
// text: 'Time-Limited Password',
// fontWeight: FontWeight.normal,
// ),
// ),
// ],
// ),
// ),
// const Row(
// mainAxisAlignment: MainAxisAlignment.end,
// children: [
// Icon(
// Icons.arrow_forward_ios,
// color: ColorsManager.greyColor,
// size: 15,
// ),
// ],
// ),
// ],
// ),
],)
),
],
),
const Spacer(),
],
),
);
}
}

View File

@ -0,0 +1,45 @@
import 'package:flutter/material.dart';
import 'package:flutter_svg/svg.dart';
import 'package:syncrow_app/features/shared_widgets/default_scaffold.dart';
import 'package:syncrow_app/features/shared_widgets/text_widgets/body_medium.dart';
import 'package:syncrow_app/features/shared_widgets/text_widgets/body_small.dart';
import 'package:syncrow_app/generated/assets.dart';
import 'create_temporary_password.dart';
class ViewTemporaryPassword extends StatelessWidget {
const ViewTemporaryPassword({super.key});
@override
Widget build(BuildContext context) {
return DefaultScaffold(
title: 'Passwords',
actions: [
IconButton(
onPressed: () {
Navigator.of(context).push(MaterialPageRoute(builder: (context) => const CreateTemporaryPassword(),));
},
icon: const Icon(Icons.add)
)
],
child: Container(
child: Center(
child:Column(
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.center,
children: [
SvgPicture.asset(
Assets.noValidPasswords
),
const SizedBox(height: 10,),
const BodyMedium(text: 'No Valid Passwords')
],
),
),
)
);;
}
}

View File

@ -378,6 +378,29 @@ class Assets {
static const String assetsIconsLinkageIconsDoorLockAlarm =
"assets/icons/linkageIcons/doorLockAlarm.svg";
/// Assets for assetsIconsLinkTimeLimitedPasswordIcon
/// assets/icons/timeLimitedPasswordIcon.svg
static const String timeLimitedPasswordIcon =
"assets/icons/timeLimitedPasswordIcon.svg";
/// Assets for assetsIconsoneTimePassword
/// assets/icons/oneTimePassword.svg
static const String oneTimePassword =
"assets/icons/oneTimePassword.svg";
/// Assets for assetsIconsTimeLimitedPassword
/// assets/icons/timeLimitedPassword.svg
static const String timeLimitedPassword =
"assets/icons/timeLimitedPassword.svg";
/// Assets for assetsIconsNoValidPasswords
/// assets/icons/noValidPasswords.svg
static const String noValidPasswords =
"assets/icons/noValidPasswords.svg";
/// Assets for assetsIconsLinkageIconsFamilyHome
/// assets/icons/linkageIcons/familyHome.svg
static const String assetsIconsLinkageIconsFamilyHome =

View File

@ -21,4 +21,5 @@ abstract class ColorsManager {
static const Color slidingBlueColor = Color(0x99023DFE);
static const Color blackColor = Color(0xFF000000);
static const Color lightGreen = Color(0xFF00FF0A);
static const Color grayColor = Color(0xFF999999);
}

View File

@ -121,6 +121,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "1.0.6"
day_picker:
dependency: "direct main"
description:
name: day_picker
sha256: a0f73716d688b3643769db39e7626cae54026bec24c33a8ebf5a6f8c618a05f2
url: "https://pub.dev"
source: hosted
version: "2.2.0"
dio:
dependency: "direct main"
description:
@ -834,6 +842,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "0.7.0"
time_picker_spinner:
dependency: "direct main"
description:
name: time_picker_spinner
sha256: "53d824801d108890d22756501e7ade9db48b53dac1ec41580499dd4ebd128e3c"
url: "https://pub.dev"
source: hosted
version: "1.0.0"
typed_data:
dependency: transitive
description:

View File

@ -20,7 +20,7 @@ dependencies:
flutter_svg: ^2.0.10+1
fl_chart: ^0.66.2
sleek_circular_slider: ^2.0.1
day_picker: 2.2.0
# Utility Packages
flutter_secure_storage: ^9.0.0
cached_network_image: ^3.3.1
@ -42,6 +42,7 @@ dependencies:
permission_handler: ^11.3.1
pin_code_fields: ^8.0.1
share_plus: ^9.0.0
time_picker_spinner: ^1.0.0
dev_dependencies:
flutter_test: