mirror of
https://github.com/muerwre/vault-frontend.git
synced 2025-04-24 20:36:40 +07:00
better sidepane
This commit is contained in:
parent
1b001db91a
commit
e315b33284
19 changed files with 253 additions and 99 deletions
158
package-lock.json
generated
158
package-lock.json
generated
|
@ -2569,9 +2569,9 @@
|
||||||
"integrity": "sha512-2azXFP9n4aA2QNLkKm/F9pzKxgYj1SMawZ5Eh9iC21RH3XNcFsivLVU2NhpMgQm7YobSByvIol4c42ZFusXFHQ=="
|
"integrity": "sha512-2azXFP9n4aA2QNLkKm/F9pzKxgYj1SMawZ5Eh9iC21RH3XNcFsivLVU2NhpMgQm7YobSByvIol4c42ZFusXFHQ=="
|
||||||
},
|
},
|
||||||
"@types/prop-types": {
|
"@types/prop-types": {
|
||||||
"version": "15.7.0",
|
"version": "15.7.1",
|
||||||
"resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.0.tgz",
|
"resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.1.tgz",
|
||||||
"integrity": "sha512-eItQyV43bj4rR3JPV0Skpl1SncRCdziTEK9/v8VwXmV6d/qOUO8/EuWeHBbCZcsfSHfzI5UyMJLCSXtxxznyZg=="
|
"integrity": "sha512-CFzn9idOEpHrgdw8JsoTkaDDyRWk1jrzIV8djzcgpq0y9tG4B4lFT+Nxh52DVpDXV+n4+NPNv7M1Dj5uMp6XFg=="
|
||||||
},
|
},
|
||||||
"@types/q": {
|
"@types/q": {
|
||||||
"version": "1.5.1",
|
"version": "1.5.1",
|
||||||
|
@ -2580,9 +2580,9 @@
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"@types/react": {
|
"@types/react": {
|
||||||
"version": "16.8.1",
|
"version": "16.8.23",
|
||||||
"resolved": "https://registry.npmjs.org/@types/react/-/react-16.8.1.tgz",
|
"resolved": "https://registry.npmjs.org/@types/react/-/react-16.8.23.tgz",
|
||||||
"integrity": "sha512-tD1ETKJcuhANOejRc/p7OgQ16DKnbGi0M3LccelKlPnUCDp2a5koVxZFoRN9HN+A+m84HB5VGN7I+r3nNhS3PA==",
|
"integrity": "sha512-abkEOIeljniUN9qB5onp++g0EY38h7atnDHxwKUFz1r3VH1+yG1OKi2sNPTyObL40goBmfKFpdii2lEzwLX1cA==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@types/prop-types": "*",
|
"@types/prop-types": "*",
|
||||||
"csstype": "^2.2.0"
|
"csstype": "^2.2.0"
|
||||||
|
@ -4937,6 +4937,10 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"classie": {
|
||||||
|
"version": "github:eiriklv/classie#da1d3019904433872a8656d3cd69fc41d69c477a",
|
||||||
|
"from": "github:eiriklv/classie"
|
||||||
|
},
|
||||||
"classnames": {
|
"classnames": {
|
||||||
"version": "2.2.6",
|
"version": "2.2.6",
|
||||||
"resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.6.tgz",
|
"resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.6.tgz",
|
||||||
|
@ -6338,9 +6342,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"csstype": {
|
"csstype": {
|
||||||
"version": "2.6.3",
|
"version": "2.6.6",
|
||||||
"resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.3.tgz",
|
"resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.6.tgz",
|
||||||
"integrity": "sha512-rINUZXOkcBmoHWEyu7JdHu5JMzkGRoMX4ov9830WNgxf5UYxcBUO0QTKAqeJ5EZfSdlrcJYkC8WwfVW7JYi4yg=="
|
"integrity": "sha512-RpFbQGUE74iyPgvr46U9t1xoQBM8T4BL8SxrN66Le2xYAPSaDJJKeztV3awugusb3g3G9iL8StmkBBXhcbbXhg=="
|
||||||
},
|
},
|
||||||
"currently-unhandled": {
|
"currently-unhandled": {
|
||||||
"version": "0.4.1",
|
"version": "0.4.1",
|
||||||
|
@ -6524,6 +6528,10 @@
|
||||||
"minimalistic-assert": "^1.0.0"
|
"minimalistic-assert": "^1.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"desandro-get-style-property": {
|
||||||
|
"version": "github:eiriklv/get-style-property#a5a74ad48d96c7d5ddcf652e9fa5d4283af37823",
|
||||||
|
"from": "github:eiriklv/get-style-property"
|
||||||
|
},
|
||||||
"destroy": {
|
"destroy": {
|
||||||
"version": "1.0.4",
|
"version": "1.0.4",
|
||||||
"resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
|
"resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
|
||||||
|
@ -6593,6 +6601,19 @@
|
||||||
"buffer-indexof": "^1.0.0"
|
"buffer-indexof": "^1.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"doc-ready": {
|
||||||
|
"version": "github:eiriklv/doc-ready#31c2481101af5dab33311fea4c7fc684b58fa8ad",
|
||||||
|
"from": "github:eiriklv/doc-ready",
|
||||||
|
"requires": {
|
||||||
|
"eventie": "github:eiriklv/eventie"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"eventie": {
|
||||||
|
"version": "github:eiriklv/eventie#c9d290c6aa57712257dc8c0b6bf21c9374190a3c",
|
||||||
|
"from": "github:eiriklv/eventie"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"doctrine": {
|
"doctrine": {
|
||||||
"version": "2.1.0",
|
"version": "2.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
|
||||||
|
@ -7282,12 +7303,21 @@
|
||||||
"resolved": "https://registry.npmjs.org/ev-emitter/-/ev-emitter-1.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/ev-emitter/-/ev-emitter-1.1.1.tgz",
|
||||||
"integrity": "sha512-ipiDYhdQSCZ4hSbX4rMW+XzNKMD1prg/sTvoVmSLkuQ1MVlwjJQQA+sW8tMYR3BLUr9KjodFV4pvzunvRhd33Q=="
|
"integrity": "sha512-ipiDYhdQSCZ4hSbX4rMW+XzNKMD1prg/sTvoVmSLkuQ1MVlwjJQQA+sW8tMYR3BLUr9KjodFV4pvzunvRhd33Q=="
|
||||||
},
|
},
|
||||||
|
"eventemitter": {
|
||||||
|
"version": "github:braznaavtrav/EventEmitter#7169056a2f8b3b55d78ab1b85bad39277e7e88b2",
|
||||||
|
"from": "github:braznaavtrav/EventEmitter"
|
||||||
|
},
|
||||||
"eventemitter3": {
|
"eventemitter3": {
|
||||||
"version": "3.1.0",
|
"version": "3.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.0.tgz",
|
||||||
"integrity": "sha512-ivIvhpq/Y0uSjcHDcOIccjmYjGLcP09MFGE7ysAwkAvkXfpZlC985pH2/ui64DKazbTW/4kN3yqozUxlXzI6cA==",
|
"integrity": "sha512-ivIvhpq/Y0uSjcHDcOIccjmYjGLcP09MFGE7ysAwkAvkXfpZlC985pH2/ui64DKazbTW/4kN3yqozUxlXzI6cA==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"eventie": {
|
||||||
|
"version": "1.0.6",
|
||||||
|
"resolved": "https://registry.npmjs.org/eventie/-/eventie-1.0.6.tgz",
|
||||||
|
"integrity": "sha1-1P/IsMK15JPCqhsiy+kY067nRDc="
|
||||||
|
},
|
||||||
"events": {
|
"events": {
|
||||||
"version": "3.0.0",
|
"version": "3.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/events/-/events-3.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/events/-/events-3.0.0.tgz",
|
||||||
|
@ -8483,6 +8513,13 @@
|
||||||
"resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz",
|
||||||
"integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U="
|
"integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U="
|
||||||
},
|
},
|
||||||
|
"get-size": {
|
||||||
|
"version": "github:eiriklv/get-size#c1ebd019815fc6247c094c17a41b61d0e8191b08",
|
||||||
|
"from": "github:eiriklv/get-size",
|
||||||
|
"requires": {
|
||||||
|
"desandro-get-style-property": "github:eiriklv/get-style-property"
|
||||||
|
}
|
||||||
|
},
|
||||||
"get-stdin": {
|
"get-stdin": {
|
||||||
"version": "4.0.1",
|
"version": "4.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",
|
||||||
|
@ -10445,6 +10482,10 @@
|
||||||
"object-visit": "^1.0.0"
|
"object-visit": "^1.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"matches-selector": {
|
||||||
|
"version": "github:desandro/matches-selector#082376f4bbe7ff8c5c6bb258ec43259c9a80a7c3",
|
||||||
|
"from": "github:desandro/matches-selector#v1.0.3"
|
||||||
|
},
|
||||||
"math-expression-evaluator": {
|
"math-expression-evaluator": {
|
||||||
"version": "1.2.17",
|
"version": "1.2.17",
|
||||||
"resolved": "https://registry.npmjs.org/math-expression-evaluator/-/math-expression-evaluator-1.2.17.tgz",
|
"resolved": "https://registry.npmjs.org/math-expression-evaluator/-/math-expression-evaluator-1.2.17.tgz",
|
||||||
|
@ -11697,6 +11738,24 @@
|
||||||
"os-tmpdir": "^1.0.0"
|
"os-tmpdir": "^1.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"outlayer": {
|
||||||
|
"version": "github:eiriklv/outlayer#aea1c8239d30ccc1d3664ca3fff2f6d4b20fb812",
|
||||||
|
"from": "github:eiriklv/outlayer",
|
||||||
|
"requires": {
|
||||||
|
"desandro-get-style-property": "github:eiriklv/get-style-property",
|
||||||
|
"doc-ready": "github:eiriklv/doc-ready",
|
||||||
|
"eventemitter": "github:braznaavtrav/EventEmitter",
|
||||||
|
"eventie": "github:eiriklv/eventie",
|
||||||
|
"get-size": "github:eiriklv/get-size",
|
||||||
|
"matches-selector": "github:desandro/matches-selector#v1.0.3"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"eventie": {
|
||||||
|
"version": "github:eiriklv/eventie#c9d290c6aa57712257dc8c0b6bf21c9374190a3c",
|
||||||
|
"from": "github:eiriklv/eventie"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"output-file-sync": {
|
"output-file-sync": {
|
||||||
"version": "2.0.1",
|
"version": "2.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/output-file-sync/-/output-file-sync-2.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/output-file-sync/-/output-file-sync-2.0.1.tgz",
|
||||||
|
@ -11756,6 +11815,16 @@
|
||||||
"integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=",
|
"integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"packery": {
|
||||||
|
"version": "github:eiriklv/packery#8e812a0a16575ef923f5e72efcea85aadc6fea67",
|
||||||
|
"from": "github:eiriklv/packery",
|
||||||
|
"requires": {
|
||||||
|
"classie": "github:eiriklv/classie",
|
||||||
|
"desandro-get-style-property": "github:eiriklv/get-style-property",
|
||||||
|
"get-size": "github:eiriklv/get-size",
|
||||||
|
"outlayer": "github:eiriklv/outlayer"
|
||||||
|
}
|
||||||
|
},
|
||||||
"pako": {
|
"pako": {
|
||||||
"version": "1.0.10",
|
"version": "1.0.10",
|
||||||
"resolved": "https://registry.npmjs.org/pako/-/pako-1.0.10.tgz",
|
"resolved": "https://registry.npmjs.org/pako/-/pako-1.0.10.tgz",
|
||||||
|
@ -13227,9 +13296,9 @@
|
||||||
"integrity": "sha1-HcKzrqYwKwhTbs7jGIyS0li4jOE="
|
"integrity": "sha1-HcKzrqYwKwhTbs7jGIyS0li4jOE="
|
||||||
},
|
},
|
||||||
"ramda": {
|
"ramda": {
|
||||||
"version": "0.24.1",
|
"version": "0.26.1",
|
||||||
"resolved": "https://registry.npmjs.org/ramda/-/ramda-0.24.1.tgz",
|
"resolved": "https://registry.npmjs.org/ramda/-/ramda-0.26.1.tgz",
|
||||||
"integrity": "sha1-w7d1UZfzW43DUCIoJixMkd22uFc="
|
"integrity": "sha512-hLWjpy7EnsDBb0p+Z3B7rPi3GDeRG5ZtiI33kJhTt+ORCd38AbAIjB/9zRIUoeTbE/AVX5ZkU7m6bznsvrf8eQ=="
|
||||||
},
|
},
|
||||||
"ramdasauce": {
|
"ramdasauce": {
|
||||||
"version": "2.1.3",
|
"version": "2.1.3",
|
||||||
|
@ -13237,6 +13306,13 @@
|
||||||
"integrity": "sha512-Ml3CPim4SKwmg5g9UI77lnRSeKr/kQw7YhQ6rfdMcBYy6DMlwmkEwQqjygJ3OhxPR+NfFfpjKl3Tf8GXckaqqg==",
|
"integrity": "sha512-Ml3CPim4SKwmg5g9UI77lnRSeKr/kQw7YhQ6rfdMcBYy6DMlwmkEwQqjygJ3OhxPR+NfFfpjKl3Tf8GXckaqqg==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"ramda": "^0.24.1"
|
"ramda": "^0.24.1"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"ramda": {
|
||||||
|
"version": "0.24.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/ramda/-/ramda-0.24.1.tgz",
|
||||||
|
"integrity": "sha1-w7d1UZfzW43DUCIoJixMkd22uFc="
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"randombytes": {
|
"randombytes": {
|
||||||
|
@ -13288,14 +13364,14 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"react": {
|
"react": {
|
||||||
"version": "16.8.1",
|
"version": "16.8.6",
|
||||||
"resolved": "https://registry.npmjs.org/react/-/react-16.8.1.tgz",
|
"resolved": "https://registry.npmjs.org/react/-/react-16.8.6.tgz",
|
||||||
"integrity": "sha512-wLw5CFGPdo7p/AgteFz7GblI2JPOos0+biSoxf1FPsGxWQZdN/pj6oToJs1crn61DL3Ln7mN86uZ4j74p31ELQ==",
|
"integrity": "sha512-pC0uMkhLaHm11ZSJULfOBqV4tIZkx87ZLvbbQYunNixAAvjnC+snJCg0XQXn9VIsttVsbZP/H/ewzgsd5fxKXw==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"loose-envify": "^1.1.0",
|
"loose-envify": "^1.1.0",
|
||||||
"object-assign": "^4.1.1",
|
"object-assign": "^4.1.1",
|
||||||
"prop-types": "^15.6.2",
|
"prop-types": "^15.6.2",
|
||||||
"scheduler": "^0.13.1"
|
"scheduler": "^0.13.6"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"prop-types": {
|
"prop-types": {
|
||||||
|
@ -13317,18 +13393,27 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"scheduler": {
|
||||||
|
"version": "0.13.6",
|
||||||
|
"resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.13.6.tgz",
|
||||||
|
"integrity": "sha512-IWnObHt413ucAYKsD9J1QShUKkbKLQQHdxRyw73sw4FN26iWr3DY/H34xGPe4nmL1DwXyWmSWmMrA9TfQbE/XQ==",
|
||||||
|
"requires": {
|
||||||
|
"loose-envify": "^1.1.0",
|
||||||
|
"object-assign": "^4.1.1"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"react-dom": {
|
"react-dom": {
|
||||||
"version": "16.8.1",
|
"version": "16.8.6",
|
||||||
"resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.8.1.tgz",
|
"resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.8.6.tgz",
|
||||||
"integrity": "sha512-N74IZUrPt6UiDjXaO7UbDDFXeUXnVhZzeRLy/6iqqN1ipfjrhR60Bp5NuBK+rv3GMdqdIuwIl22u1SYwf330bg==",
|
"integrity": "sha512-1nL7PIq9LTL3fthPqwkvr2zY7phIPjYrT0jp4HjyEQrEROnw4dG41VVwi/wfoCneoleqrNX7iAD+pXebJZwrwA==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"loose-envify": "^1.1.0",
|
"loose-envify": "^1.1.0",
|
||||||
"object-assign": "^4.1.1",
|
"object-assign": "^4.1.1",
|
||||||
"prop-types": "^15.6.2",
|
"prop-types": "^15.6.2",
|
||||||
"scheduler": "^0.13.1"
|
"scheduler": "^0.13.6"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"prop-types": {
|
"prop-types": {
|
||||||
|
@ -13350,6 +13435,15 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"scheduler": {
|
||||||
|
"version": "0.13.6",
|
||||||
|
"resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.13.6.tgz",
|
||||||
|
"integrity": "sha512-IWnObHt413ucAYKsD9J1QShUKkbKLQQHdxRyw73sw4FN26iWr3DY/H34xGPe4nmL1DwXyWmSWmMrA9TfQbE/XQ==",
|
||||||
|
"requires": {
|
||||||
|
"loose-envify": "^1.1.0",
|
||||||
|
"object-assign": "^4.1.1"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -13477,10 +13571,18 @@
|
||||||
"version": "1.0.2",
|
"version": "1.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/react-packery-component/-/react-packery-component-1.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/react-packery-component/-/react-packery-component-1.0.2.tgz",
|
||||||
"integrity": "sha1-FSEiHaSRZ8s87fR9W1UsM0iBgKk=",
|
"integrity": "sha1-FSEiHaSRZ8s87fR9W1UsM0iBgKk=",
|
||||||
|
"requires": {
|
||||||
|
"imagesloaded": "github:eiriklv/imagesloaded",
|
||||||
|
"packery": "github:eiriklv/packery"
|
||||||
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"imagesloaded": {
|
"imagesloaded": {
|
||||||
"version": "git+https://github.com/eiriklv/imagesloaded.git#04535a148206e58790927e133f24ca199163b995",
|
"version": "github:eiriklv/imagesloaded#04535a148206e58790927e133f24ca199163b995",
|
||||||
"from": "git+https://github.com/eiriklv/imagesloaded.git"
|
"from": "github:eiriklv/imagesloaded",
|
||||||
|
"requires": {
|
||||||
|
"eventie": ">=1.0.4 <2",
|
||||||
|
"wolfy87-eventemitter": "4.x"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -13776,6 +13878,13 @@
|
||||||
"requires": {
|
"requires": {
|
||||||
"ramda": "^0.24.1",
|
"ramda": "^0.24.1",
|
||||||
"ramdasauce": "^2.0.0"
|
"ramdasauce": "^2.0.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"ramda": {
|
||||||
|
"version": "0.24.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/ramda/-/ramda-0.24.1.tgz",
|
||||||
|
"integrity": "sha1-w7d1UZfzW43DUCIoJixMkd22uFc="
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"regenerate": {
|
"regenerate": {
|
||||||
|
@ -17074,6 +17183,11 @@
|
||||||
"string-width": "^1.0.2 || 2"
|
"string-width": "^1.0.2 || 2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"wolfy87-eventemitter": {
|
||||||
|
"version": "4.3.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/wolfy87-eventemitter/-/wolfy87-eventemitter-4.3.0.tgz",
|
||||||
|
"integrity": "sha1-ZJc5bJXnQ1nwa241QJM5MY2Nlk8="
|
||||||
|
},
|
||||||
"wordwrap": {
|
"wordwrap": {
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
|
||||||
|
|
|
@ -57,7 +57,7 @@
|
||||||
"@hot-loader/react-dom": "^16.8.1",
|
"@hot-loader/react-dom": "^16.8.1",
|
||||||
"@types/classnames": "^2.2.7",
|
"@types/classnames": "^2.2.7",
|
||||||
"@types/node": "^11.9.0",
|
"@types/node": "^11.9.0",
|
||||||
"@types/react": "16.8.1",
|
"@types/react": "16.8.23",
|
||||||
"axios": "^0.18.0",
|
"axios": "^0.18.0",
|
||||||
"babel-runtime": "^6.26.0",
|
"babel-runtime": "^6.26.0",
|
||||||
"classnames": "^2.2.6",
|
"classnames": "^2.2.6",
|
||||||
|
@ -70,8 +70,9 @@
|
||||||
"lodash": "^4.17.10",
|
"lodash": "^4.17.10",
|
||||||
"node-sass": "^4.11.0",
|
"node-sass": "^4.11.0",
|
||||||
"raleway-cyrillic": "^4.0.2",
|
"raleway-cyrillic": "^4.0.2",
|
||||||
"react": "16.8.1",
|
"ramda": "^0.26.1",
|
||||||
"react-dom": "16.8.1",
|
"react": "16.8.6",
|
||||||
|
"react-dom": "16.8.6",
|
||||||
"react-grid-layout": "^0.16.6",
|
"react-grid-layout": "^0.16.6",
|
||||||
"react-hot-loader": "^4.1.1",
|
"react-hot-loader": "^4.1.1",
|
||||||
"react-layout-pack": "^0.2.3",
|
"react-layout-pack": "^0.2.3",
|
||||||
|
|
|
@ -7,6 +7,7 @@ interface IProps {
|
||||||
width?: number;
|
width?: number;
|
||||||
title?: string;
|
title?: string;
|
||||||
is_hero?: boolean;
|
is_hero?: boolean;
|
||||||
|
is_stamp?: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
const Cell: FC<IProps> = ({
|
const Cell: FC<IProps> = ({
|
||||||
|
@ -14,6 +15,7 @@ const Cell: FC<IProps> = ({
|
||||||
height = 1,
|
height = 1,
|
||||||
title,
|
title,
|
||||||
is_hero,
|
is_hero,
|
||||||
|
is_stamp,
|
||||||
}) => (
|
}) => (
|
||||||
<div
|
<div
|
||||||
className={classNames(styles.cell, { is_hero })}
|
className={classNames(styles.cell, { is_hero })}
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
import * as React from 'react';
|
import * as React from 'react';
|
||||||
import { Cell } from "~/components/flow/Cell";
|
import { Cell } from "~/components/flow/Cell";
|
||||||
|
import { range } from 'ramda';
|
||||||
|
|
||||||
const style = require('./style.scss');
|
const style = require('./style.scss');
|
||||||
|
|
||||||
|
@ -11,13 +12,14 @@ export const TestGrid = () => (
|
||||||
title="Example cell Example cell Example cell Example cell Example cell Example cell Example cell "
|
title="Example cell Example cell Example cell Example cell Example cell Example cell Example cell "
|
||||||
is_hero
|
is_hero
|
||||||
/>
|
/>
|
||||||
|
{
|
||||||
<Cell />
|
range(1,20).map(el => (
|
||||||
<Cell
|
<Cell
|
||||||
height={2}
|
width={1}
|
||||||
title="Example cell Example cell Example cell Example cell Example cell Example cell Example cell "
|
height={1}
|
||||||
/>
|
title="Example cell Example cell Example cell Example cell Example cell Example cell Example cell "
|
||||||
<Cell width={2} />
|
/>
|
||||||
<Cell />
|
))
|
||||||
|
}
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
|
|
@ -7,8 +7,8 @@ import { userSendLoginRequest, userSetLoginError } from "~/redux/user/actions";
|
||||||
import { IUserFormStateLogin, IUserState } from "~/redux/user/reducer";
|
import { IUserFormStateLogin, IUserState } from "~/redux/user/reducer";
|
||||||
import { Info } from "~/components/input/Info";
|
import { Info } from "~/components/input/Info";
|
||||||
|
|
||||||
const login = require('~/containers/LoginLayout/style');
|
import * as login from '~/containers/login/LoginLayout/styles.scss';
|
||||||
const style = require('./style.scss');
|
import * as style from './style.scss';
|
||||||
|
|
||||||
interface ILoginFormProps {
|
interface ILoginFormProps {
|
||||||
error: IUserFormStateLogin['error'],
|
error: IUserFormStateLogin['error'],
|
||||||
|
|
|
@ -1,25 +1,38 @@
|
||||||
import React, { useEffect, useState } from 'react';
|
import React, { FC, LegacyRef, ReactChild, useCallback, useEffect, useState } from 'react';
|
||||||
import * as styles from './styles.scss';
|
import * as styles from './styles.scss';
|
||||||
import classNames from 'classnames';
|
import classNames from 'classnames';
|
||||||
|
|
||||||
export const SidePane = ({ }) => {
|
interface IProps {
|
||||||
|
container: React.RefObject<HTMLDivElement>;
|
||||||
|
}
|
||||||
|
|
||||||
|
export const SidePane: FC<IProps> = ({
|
||||||
|
container,
|
||||||
|
}) => {
|
||||||
const [left, setLeft] = useState(0);
|
const [left, setLeft] = useState(0);
|
||||||
|
|
||||||
const moveThis = () => {
|
const moveThis = useCallback(() => {
|
||||||
const shift = ((document.body.getBoundingClientRect().width - 1024) / 2) - 54 - 10;
|
const shift = window.innerWidth > (1024 + 64 + 20)
|
||||||
|
? ((window.innerWidth - 1024 - 64 - 20) / 2) - 54 - 10 + 64
|
||||||
|
: 10;
|
||||||
|
|
||||||
setLeft(shift);
|
setLeft(shift);
|
||||||
};
|
console.log({ shift });
|
||||||
|
}, [setLeft, container]);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
window.addEventListener('resize', moveThis)
|
moveThis();
|
||||||
|
window.addEventListener('resize', moveThis);
|
||||||
|
document.addEventListener('DOMContentLoaded', moveThis);
|
||||||
|
|
||||||
return () => { window.removeEventListener('resize', moveThis); }
|
return () => {
|
||||||
});
|
window.removeEventListener('resize', moveThis);
|
||||||
|
document.removeEventListener('DOMContentLoaded', moveThis);
|
||||||
useEffect(moveThis, []);
|
}
|
||||||
|
}, [container]);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className={styles.pane} style={{ left }}>
|
<div className={styles.pane} style={{ transform: `translate(${left}px, 0px)` }}>
|
||||||
<div className={classNames(styles.group, 'logo')} />
|
<div className={classNames(styles.group, 'logo')} />
|
||||||
|
|
||||||
<div className={styles.group}>
|
<div className={styles.group}>
|
||||||
|
|
|
@ -5,8 +5,10 @@ import { hot } from 'react-hot-loader';
|
||||||
import { ConnectedRouter } from "connected-react-router";
|
import { ConnectedRouter } from "connected-react-router";
|
||||||
import { history } from "~/redux/store";
|
import { history } from "~/redux/store";
|
||||||
import { NavLink, Switch, Route } from 'react-router-dom';
|
import { NavLink, Switch, Route } from 'react-router-dom';
|
||||||
import { FlowLayout } from "~/containers/FlowLayout";
|
import { FlowLayout } from "~/containers/flow/FlowLayout";
|
||||||
import { LoginLayout } from "~/containers/LoginLayout";
|
import { LoginLayout } from "~/containers/login/LoginLayout";
|
||||||
|
import { MainLayout } from "~/containers/main/MainLayout";
|
||||||
|
import { ImageExample } from "~/containers/examples/ImageExample";
|
||||||
|
|
||||||
interface IAppProps {}
|
interface IAppProps {}
|
||||||
interface IAppState {}
|
interface IAppState {}
|
||||||
|
@ -15,19 +17,17 @@ class Component extends React.Component<IAppProps, IAppState> {
|
||||||
render() {
|
render() {
|
||||||
return (
|
return (
|
||||||
<ConnectedRouter history={history}>
|
<ConnectedRouter history={history}>
|
||||||
<div>
|
<MainLayout>
|
||||||
<Switch>
|
<Switch>
|
||||||
<Route
|
<Route path="/examples/image" component={ImageExample} />
|
||||||
exact
|
<Route path="/" component={FlowLayout} />
|
||||||
path="/"
|
|
||||||
component={FlowLayout}
|
|
||||||
/>
|
|
||||||
<Route
|
<Route
|
||||||
path="/login"
|
path="/login"
|
||||||
component={LoginLayout}
|
component={LoginLayout}
|
||||||
/>
|
/>
|
||||||
</Switch>
|
</Switch>
|
||||||
</div>
|
</MainLayout>
|
||||||
</ConnectedRouter>
|
</ConnectedRouter>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,13 +0,0 @@
|
||||||
import * as React from 'react';
|
|
||||||
import { MainLayout } from "~/containers/MainLayout";
|
|
||||||
import { HeroPlaceholder } from "~/components/flow/HeroPlaceholder";
|
|
||||||
import { TestGrid } from "~/components/flow/TestGrid";
|
|
||||||
// const style = require('./style.scss');
|
|
||||||
|
|
||||||
export const FlowLayout = () => (
|
|
||||||
<MainLayout>
|
|
||||||
<div className="default_container content_container">
|
|
||||||
<TestGrid />
|
|
||||||
</div>
|
|
||||||
</MainLayout>
|
|
||||||
);
|
|
|
@ -1,17 +0,0 @@
|
||||||
import * as React from 'react';
|
|
||||||
import { SidePane } from "~/components/main/SidePane";
|
|
||||||
import { Header } from "~/components/main/Header";
|
|
||||||
|
|
||||||
import * as styles from './styles.scss';
|
|
||||||
|
|
||||||
export const MainLayout = ({ children }) => (
|
|
||||||
<div className={styles.wrapper}>
|
|
||||||
{
|
|
||||||
// <Header />
|
|
||||||
}
|
|
||||||
{
|
|
||||||
<SidePane />
|
|
||||||
}
|
|
||||||
{children}
|
|
||||||
</div>
|
|
||||||
);
|
|
|
@ -1,4 +0,0 @@
|
||||||
.wrapper {
|
|
||||||
width: 100%;
|
|
||||||
padding: $gap 0;
|
|
||||||
}
|
|
9
src/containers/examples/ImageExample/index.tsx
Normal file
9
src/containers/examples/ImageExample/index.tsx
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
import React, { FC } from 'react';
|
||||||
|
|
||||||
|
interface IProps {}
|
||||||
|
|
||||||
|
const ImageExample: FC<IProps> = () => (
|
||||||
|
<div>image example</div>
|
||||||
|
);
|
||||||
|
|
||||||
|
export { ImageExample };
|
10
src/containers/flow/FlowLayout/index.tsx
Normal file
10
src/containers/flow/FlowLayout/index.tsx
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
import * as React from 'react';
|
||||||
|
import { MainLayout } from "~/containers/main/MainLayout";
|
||||||
|
import { TestGrid } from "~/components/flow/TestGrid";
|
||||||
|
// const style = require('./style.scss');
|
||||||
|
|
||||||
|
export const FlowLayout = () => (
|
||||||
|
<div className="default_container content_container">
|
||||||
|
<TestGrid />
|
||||||
|
</div>
|
||||||
|
);
|
|
@ -3,15 +3,15 @@ import { LoginForm } from '~/components/login/LoginForm';
|
||||||
import { Header } from "~/components/main/Header";
|
import { Header } from "~/components/main/Header";
|
||||||
import { GodRays } from "~/components/main/GodRays";
|
import { GodRays } from "~/components/main/GodRays";
|
||||||
|
|
||||||
const style = require('./style.scss');
|
import * as styles from './styles.scss';
|
||||||
|
|
||||||
export const LoginLayout: React.FunctionComponent<{}> = () => (
|
export const LoginLayout: React.FunctionComponent<{}> = () => (
|
||||||
<div className={style.wrapper}>
|
<div className={styles.wrapper}>
|
||||||
<GodRays />
|
<GodRays />
|
||||||
<div className={style.header}>
|
<div className={styles.header}>
|
||||||
<Header />
|
<Header />
|
||||||
</div>
|
</div>
|
||||||
<div className={style.container}>
|
<div className={styles.container}>
|
||||||
<LoginForm />
|
<LoginForm />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
18
src/containers/main/MainLayout/index.tsx
Normal file
18
src/containers/main/MainLayout/index.tsx
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
import * as React from 'react';
|
||||||
|
import { SidePane } from "~/components/main/SidePane";
|
||||||
|
import * as styles from './styles.scss';
|
||||||
|
import { useRef } from "react";
|
||||||
|
|
||||||
|
export const MainLayout = ({ children }) => {
|
||||||
|
const container = useRef(null);
|
||||||
|
|
||||||
|
return (
|
||||||
|
<div className={styles.wrapper}>
|
||||||
|
<div className={styles.content} ref={container}>
|
||||||
|
{children}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<SidePane container={container} />
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
};
|
15
src/containers/main/MainLayout/styles.scss
Normal file
15
src/containers/main/MainLayout/styles.scss
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
.wrapper {
|
||||||
|
width: 100%;
|
||||||
|
padding: $gap $gap 0 74px;
|
||||||
|
display: flex;
|
||||||
|
align-items: flex-start;
|
||||||
|
justify-content: center;
|
||||||
|
flex-direction: row;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
.content {
|
||||||
|
flex: 0 1 $content_width;
|
||||||
|
position: relative;
|
||||||
|
background: red;
|
||||||
|
}
|
10
src/containers/node/NodeLayout/index.tsx
Normal file
10
src/containers/node/NodeLayout/index.tsx
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
import React, { FC } from 'react';
|
||||||
|
import * as styles from './styles.scss';
|
||||||
|
|
||||||
|
interface IProps {}
|
||||||
|
|
||||||
|
const NodeLayout: FC<IProps> = () => (
|
||||||
|
<div></div>
|
||||||
|
);
|
||||||
|
|
||||||
|
export { NodeLayout };
|
0
src/containers/node/NodeLayout/styles.scss
Normal file
0
src/containers/node/NodeLayout/styles.scss
Normal file
|
@ -1,9 +1,3 @@
|
||||||
/*
|
|
||||||
LAYOUT PACKING:
|
|
||||||
https://github.com/rexxars/react-layout-pack
|
|
||||||
https://github.com/gxapplications/react-gridifier
|
|
||||||
https://github.com/STRML/react-grid-layout
|
|
||||||
*/
|
|
||||||
import * as React from 'react';
|
import * as React from 'react';
|
||||||
import { render } from 'react-dom';
|
import { render } from 'react-dom';
|
||||||
import { Provider } from 'react-redux';
|
import { Provider } from 'react-redux';
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue