Merge branch 'feature/whitelabel' into develop

This commit is contained in:
Ramon Wenger 2021-02-03 14:31:02 +01:00
commit 763b643186
38 changed files with 662 additions and 601 deletions

View File

@ -43,3 +43,4 @@ requests = "*"
unittest-xml-reporting = "*"
django-silk = "*"
wagtail-autocomplete = "*"
jedi = "==0.17.2"

315
Pipfile.lock generated
View File

@ -1,7 +1,7 @@
{
"_meta": {
"hash": {
"sha256": "1f19da83e77a6a118cf66ce2b3d3af2ddb919669d782a625925c4c6f37b8cf27"
"sha256": "a5323ad6907e180d4901fe31c0edc344ee9890f7a95577b2d60e5a1ee19be2f3"
},
"pipfile-spec": 6,
"requires": {
@ -46,26 +46,26 @@
},
"bleach": {
"hashes": [
"sha256:52b5919b81842b1854196eaae5ca29679a2f2e378905c346d3ca8227c2c66080",
"sha256:9f8ccbeb6183c6e6cddea37592dfb0167485c1e3b13b3363bc325aa8bda3adbd"
"sha256:6123ddc1052673e52bab52cdc955bcb57a015264a1c57d37bea2f6b817af0125",
"sha256:98b3170739e5e83dd9dc19633f074727ad848cbedb6026708c8ac2d3b697a433"
],
"index": "pypi",
"version": "==3.2.1"
"version": "==3.3.0"
},
"boto3": {
"hashes": [
"sha256:15d3910eb1acfcdaa6aa8a64f3ed956ada1b5f3f9a8f2f127fd786036cb2afa5",
"sha256:d46f7c8c586c9c293f1a1eead56c18b82fcc3eec4dcebd4686aad4a675fd45b8"
"sha256:2a39bd5e5f2d50ce9267d682cc92750f8771399665021f47e80f9c8d2fb812a6",
"sha256:b4860f56bc585d3d1fde90d288da5eb4d1198401d72201dc3e25de8887b080e2"
],
"index": "pypi",
"version": "==1.16.54"
"version": "==1.17.0"
},
"botocore": {
"hashes": [
"sha256:bba883f97c6657df941598150bf8a5a88bb976b7de53ec41ad3e518cfe8931d3",
"sha256:edfe213f3b01467605754ba1d46c6ac3b8a4be721fdf879d45c2132a99b4ac49"
"sha256:634b39ab0d55477cfbffb0e5dff31b7ab4bb171b04a0c69f8bcf65135f26ba94",
"sha256:a608d6d644b852f3c154fc433eaae52febbebc7c474fa8f4d666797d0931770a"
],
"version": "==1.19.54"
"version": "==1.20.0"
},
"certifi": {
"hashes": [
@ -97,11 +97,11 @@
},
"django": {
"hashes": [
"sha256:558cb27930defd9a6042133258caf797b2d1dee233959f537e3dc475cb49bd7c",
"sha256:cf5370a4d7765a9dd6d42a7b96b53c74f9446cd38209211304b210fe0404b861"
"sha256:0eaca08f236bf502a9773e53623f766cc3ceee6453cc41e6de1c8b80f07d2364",
"sha256:c9c994f5e0a032cbd45089798b52e4080f4dea7241c58e3e0636c54146480bb4"
],
"index": "pypi",
"version": "==2.2.17"
"version": "==2.2.18"
},
"django-appconf": {
"hashes": [
@ -219,10 +219,10 @@
},
"faker": {
"hashes": [
"sha256:3d8ba3e4a3700962a1bf5599a43797b286d1ac52b3dd90c1e8a2625f73c46bd6",
"sha256:eb14d0c6b8f7c9902bb07dedc2ad405237edbf808d4ead9f17b9567e586cabee"
"sha256:0783729c61501d52efea2967aff6e6fcb8370f0f6b5a558f2a81233642ae529a",
"sha256:6b2995ffff6c2b02bc5daad96f8c24c021e5bd491d9d53d31bcbd66f348181d4"
],
"version": "==5.6.0"
"version": "==5.8.0"
},
"future": {
"hashes": [
@ -289,11 +289,11 @@
},
"ipython": {
"hashes": [
"sha256:c987e8178ced651532b3b1ff9965925bfd445c279239697052561a9ab806d28f",
"sha256:cbb2ef3d5961d44e6a963b9817d4ea4e1fa2eb589c371a470fed14d8d40cbd6a"
"sha256:1918dea4bfdc5d1a830fcfce9a710d1d809cbed123e85eab0539259cb0f56640",
"sha256:1923af00820a8cf58e91d56b89efc59780a6e81363b94464a0f17c039dffff9e"
],
"index": "pypi",
"version": "==7.19.0"
"version": "==7.20.0"
},
"ipython-genutils": {
"hashes": [
@ -304,17 +304,18 @@
},
"jedi": {
"hashes": [
"sha256:18456d83f65f400ab0c2d3319e48520420ef43b23a086fdc05dff34132f0fb93",
"sha256:92550a404bad8afed881a137ec9a461fed49eca661414be45059329614ed0707"
"sha256:86ed7d9b750603e4ba582ea8edc678657fb4007894a12bcf6f4bb97892f31d20",
"sha256:98cc583fa0f2f8304968199b01b6b4b94f469a1f4a74c1560506ca2a211378b5"
],
"version": "==0.18.0"
"index": "pypi",
"version": "==0.17.2"
},
"jinja2": {
"hashes": [
"sha256:89aab215427ef59c34ad58735269eb58b1a5808103067f7bb9d5836c651b3bb0",
"sha256:f0a4641d3cf955324a89c04f3d94663aa4d638abe8f733ecd3582848e1c37035"
"sha256:03e47ad063331dd6a3f04a43eddca8a966a26ba0c5b7207a9a9e4e08f1b29419",
"sha256:a6d58433de0ae800347cab1fa3043cebbabe8baa9d29e668f1c768cb87a333c6"
],
"version": "==2.11.2"
"version": "==2.11.3"
},
"jmespath": {
"hashes": [
@ -348,8 +349,12 @@
"sha256:09c4b7f37d6c648cb13f9230d847adf22f8171b1ccc4d5682398e77f40309235",
"sha256:1027c282dad077d0bae18be6794e6b6b8c91d58ed8a8d89a89d59693b9131db5",
"sha256:13d3144e1e340870b25e7b10b98d779608c02016d5184cfb9927a9f10c689f42",
"sha256:195d7d2c4fbb0ee8139a6cf67194f3973a6b3042d742ebe0a9ed36d8b6f0c07f",
"sha256:22c178a091fc6630d0d045bdb5992d2dfe14e3259760e713c490da5323866c39",
"sha256:24982cc2533820871eba85ba648cd53d8623687ff11cbb805be4ff7b4c971aff",
"sha256:29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b",
"sha256:2beec1e0de6924ea551859edb9e7679da6e4870d32cb766240ce17e0a0ba2014",
"sha256:3b8a6499709d29c2e2399569d96719a1b21dcd94410a586a18526b143ec8470f",
"sha256:43a55c2930bbc139570ac2452adf3d70cdbb3cfe5912c71cdce1c2c6bbd9c5d1",
"sha256:46c99d2de99945ec5cb54f23c8cd5689f6d7177305ebff350a58ce5f8de1669e",
"sha256:500d4957e52ddc3351cabf489e79c91c17f6e0899158447047588650b5e69183",
@ -358,59 +363,72 @@
"sha256:62fe6c95e3ec8a7fad637b7f3d372c15ec1caa01ab47926cfdf7a75b40e0eac1",
"sha256:6788b695d50a51edb699cb55e35487e430fa21f1ed838122d722e0ff0ac5ba15",
"sha256:6dd73240d2af64df90aa7c4e7481e23825ea70af4b4922f8ede5b9e35f78a3b1",
"sha256:6f1e273a344928347c1290119b493a1f0303c52f5a5eae5f16d74f48c15d4a85",
"sha256:6fffc775d90dcc9aed1b89219549b329a9250d918fd0b8fa8d93d154918422e1",
"sha256:717ba8fe3ae9cc0006d7c451f0bb265ee07739daf76355d06366154ee68d221e",
"sha256:79855e1c5b8da654cf486b830bd42c06e8780cea587384cf6545b7d9ac013a0b",
"sha256:7c1699dfe0cf8ff607dbdcc1e9b9af1755371f92a68f706051cc8c37d447c905",
"sha256:7fed13866cf14bba33e7176717346713881f56d9d2bcebab207f7a036f41b850",
"sha256:84dee80c15f1b560d55bcfe6d47b27d070b4681c699c572af2e3c7cc90a3b8e0",
"sha256:88e5fcfb52ee7b911e8bb6d6aa2fd21fbecc674eadd44118a9cc3863f938e735",
"sha256:8defac2f2ccd6805ebf65f5eeb132adcf2ab57aa11fdf4c0dd5169a004710e7d",
"sha256:98bae9582248d6cf62321dcb52aaf5d9adf0bad3b40582925ef7c7f0ed85fceb",
"sha256:98c7086708b163d425c67c7a91bad6e466bb99d797aa64f965e9d25c12111a5e",
"sha256:9add70b36c5666a2ed02b43b335fe19002ee5235efd4b8a89bfcf9005bebac0d",
"sha256:9bf40443012702a1d2070043cb6291650a0841ece432556f784f004937f0f32c",
"sha256:a6a744282b7718a2a62d2ed9d993cad6f5f585605ad352c11de459f4108df0a1",
"sha256:acf08ac40292838b3cbbb06cfe9b2cb9ec78fce8baca31ddb87aaac2e2dc3bc2",
"sha256:ade5e387d2ad0d7ebf59146cc00c8044acbd863725f887353a10df825fc8ae21",
"sha256:b00c1de48212e4cc9603895652c5c410df699856a2853135b3967591e4beebc2",
"sha256:b1282f8c00509d99fef04d8ba936b156d419be841854fe901d8ae224c59f0be5",
"sha256:b1dba4527182c95a0db8b6060cc98ac49b9e2f5e64320e2b56e47cb2831978c7",
"sha256:b2051432115498d3562c084a49bba65d97cf251f5a331c64a12ee7e04dacc51b",
"sha256:b7d644ddb4dbd407d31ffb699f1d140bc35478da613b441c582aeb7c43838dd8",
"sha256:ba59edeaa2fc6114428f1637ffff42da1e311e29382d81b339c1817d37ec93c6",
"sha256:bf5aa3cbcfdf57fa2ee9cd1822c862ef23037f5c832ad09cfea57fa846dec193",
"sha256:c8716a48d94b06bb3b2524c2b77e055fb313aeb4ea620c8dd03a105574ba704f",
"sha256:caabedc8323f1e93231b52fc32bdcde6db817623d33e100708d9a68e1f53b26b",
"sha256:cd5df75523866410809ca100dc9681e301e3c27567cf498077e8551b6d20e42f",
"sha256:cdb132fc825c38e1aeec2c8aa9338310d29d337bebbd7baa06889d09a60a1fa2",
"sha256:d53bc011414228441014aa71dbec320c66468c1030aae3a6e29778a3382d96e5",
"sha256:d73a845f227b0bfe8a7455ee623525ee656a9e2e749e4742706d80a6065d5e2c",
"sha256:d9be0ba6c527163cbed5e0857c451fcd092ce83947944d6c14bc95441203f032",
"sha256:e249096428b3ae81b08327a63a485ad0878de3fb939049038579ac0ef61e17e7",
"sha256:e8313f01ba26fbbe36c7be1966a7b7424942f670f38e666995b88d012765b9be"
"sha256:e8313f01ba26fbbe36c7be1966a7b7424942f670f38e666995b88d012765b9be",
"sha256:feb7b34d6325451ef96bc0e36e1a6c0c1c64bc1fbec4b854f4529e51887b1621"
],
"version": "==1.1.1"
},
"newrelic": {
"hashes": [
"sha256:044084bd7d2ea12239c24e0a04c6d6bc208fb83981feeca46748d1a8e6c2b4c5",
"sha256:4c0fc83af3a88d76544d5c2225b480194ffc2193cfea966c3c61a7c4681e892b",
"sha256:4daa2f4123cd52f221acc8176630171e6e88a0a8519f6d45ef1e2c95feb66c67",
"sha256:4ed6248863e3276b5f52573fbaaa2c2a1116080157fe7067956d725f969c665b",
"sha256:4ed91d820d6ca6ed3bd2adb6ee8b07129eca7eda4a2e6327bcaf5476845fcfc8",
"sha256:585f7a303b4ee7cefbcb2bf15d3f0e4b0a3f70878297b7516746036ed3657be8",
"sha256:677a8646e25b35eaf8dd167d57fc53adc20cf596821c56201afe68423cb75617",
"sha256:6c8be8e7df3f5dd1ec4c9fe321c118c2fd35ed43e0affa037c77af0595a526ba",
"sha256:76ca893803d7a738844e5a49f51bde36fa98c8f55c203d2bf9a7f246770689c6",
"sha256:a8ef9509258a8f0c952fe36c7d3c774552b65a5ca5e0348694b651170b8472dc",
"sha256:bf83cb95952f71039e984507330a8a47766e3a744db8b9f199536355b076c1a0",
"sha256:dd0571f9a2b036b3bb238b99a669f44e393e8f63451d6ce1e113515a1942eb66",
"sha256:f8522fe7e1794e8d7a85d81ded8d166ac9e7f1bdcd3fd48295396a4e5d1938aa"
"sha256:01e0cf81ed35e37f66fe3e434716230d5deb0f90b287e7eba6bc5bc83fe82c1e",
"sha256:28522e32cf382bc483585dd439a788618e3db207aed9534b14ba32e219ceffda",
"sha256:518f87392c219ae3bd462bbf97e4e2767a8ee22d7113b120c6c2bfa23b5faa0a",
"sha256:6ce523ca75f4aa896100a321125b0751bb638967d384b61e86cbab0d692bc429",
"sha256:7df5695e0937ae487974cdf873445edaf14569573bb8f9267cc36f3365befaff",
"sha256:89dc014b22d1e7e81aecf82bc90b3ebb9bcb0a677d68a69e268a23b50c973dac",
"sha256:a7e12573f21848eb70e72d63ea3a8d1ed3b0be3d30412919ab8b8cf3799ae708",
"sha256:dcf31bd42e7c1b2e9c00e2c3d77afffa1dcbdc2bd158c457b08b5c2cb91eb2bc",
"sha256:e96689fc75eb2b1591903ad9e74225f5e1da734afcd3151d318c53f6635b5dda",
"sha256:f3d32989eaa37a8c92b649e9c092c78e534dc955bfac51b87e2d9dd1cdd3eefe",
"sha256:f86b5af513468d179deec91f1f384b070f5676b8ea8c18da7d9850928b3932a4"
],
"index": "pypi",
"version": "==5.24.0.153"
"version": "==6.0.1.155"
},
"packaging": {
"hashes": [
"sha256:24e0da08660a87484d1602c30bb4902d74816b6985b93de36926f5bc95741858",
"sha256:78598185a7008a470d64526a8059de9aaa449238f280fc9eb6b13ba6c4109093"
"sha256:5b327ac1320dc863dca72f4514ecc086f31186744b84a230374cc1fd776feae5",
"sha256:67714da7f7bc052e064859c05c595155bd1ee9f69f76557e21f051443c20947a"
],
"version": "==20.8"
"version": "==20.9"
},
"parso": {
"hashes": [
"sha256:15b00182f472319383252c18d5913b69269590616c947747bc50bf4ac768f410",
"sha256:8519430ad07087d4c997fda3a7918f7cfa27cb58972a8c89c2a0295a1c940e9e"
"sha256:97218d9159b2520ff45eb78028ba8b50d2bc61dcc062a9682666f2dc4bd331ea",
"sha256:caba44724b994a8a5e086460bb212abc5a8bc46951bf4a9a1210745953622eb9"
],
"version": "==0.8.1"
"version": "==0.7.1"
},
"pexpect": {
"hashes": [
@ -482,10 +500,10 @@
},
"prompt-toolkit": {
"hashes": [
"sha256:ac329c69bd8564cb491940511957312c7b8959bb5b3cf3582b406068a51d5bb7",
"sha256:b8b3d0bde65da350290c46a8f54f336b3cbf5464a4ac11239668d986852e79d5"
"sha256:7e966747c18ececaec785699626b771c1ba8344c8d31759a1915d6b12fad6525",
"sha256:c96b30925025a7635471dc083ffb6af0cc67482a00611bd81aeaeeeb7e5a5e12"
],
"version": "==3.0.10"
"version": "==3.0.14"
},
"psycopg2": {
"hashes": [
@ -562,10 +580,10 @@
},
"pytz": {
"hashes": [
"sha256:16962c5fb8db4a8f63a26646d8886e9d769b6c511543557bc84e9569fb9a9cb4",
"sha256:180befebb1927b16f6b57101720075a984c019ac16b1b7575673bea42c6c3da5"
"sha256:83a4a90894bf38e243cf052c8b58f381bfe9a7a483f6a9cab140bc7f702ac4da",
"sha256:eb10ce3e7736052ed3623d49975ce333bcd712c7bb19a58b9e2089d4057d0798"
],
"version": "==2020.5"
"version": "==2021.1"
},
"raven": {
"hashes": [
@ -708,11 +726,10 @@
},
"urllib3": {
"hashes": [
"sha256:19188f96923873c92ccb987120ec4acaa12f0461fa9ce5d3d0772bc965a39e08",
"sha256:d8ff90d979214d7b4f8ce956e80f4028fc6860e4431f731ea4a8c08f23f99473"
"sha256:1b465e494e3e0d8939b50680403e3aedaa2bc434b7d5af64dfd3c958d7f5ae80",
"sha256:de3eedaad74a2683334e282005cd8d7f22f4d55fa690a2a1020a416cb0a47e73"
],
"markers": "python_version != '3.4'",
"version": "==1.26.2"
"version": "==1.26.3"
},
"wagtail": {
"hashes": [
@ -783,11 +800,11 @@
},
"awscli": {
"hashes": [
"sha256:1d256f75e7ad534aba01f111c34eeeb09291b1acbe9d83a10c4199c703f78a0f",
"sha256:4a381957a37710f2ef3a6303bab7d7d6ed2bd0222aed83695dbcec021acccdfa"
"sha256:2bdc2ef330f9334dbeefb91c942061feb6a53646bd55c663e0056f8d0dc66fed",
"sha256:5a28b63869261c5c2f4ee83f7c43d8ec9622f790d0daf73f91643dcf7148bcf8"
],
"index": "pypi",
"version": "==1.18.214"
"version": "==1.19.0"
},
"backcall": {
"hashes": [
@ -798,10 +815,10 @@
},
"botocore": {
"hashes": [
"sha256:bba883f97c6657df941598150bf8a5a88bb976b7de53ec41ad3e518cfe8931d3",
"sha256:edfe213f3b01467605754ba1d46c6ac3b8a4be721fdf879d45c2132a99b4ac49"
"sha256:634b39ab0d55477cfbffb0e5dff31b7ab4bb171b04a0c69f8bcf65135f26ba94",
"sha256:a608d6d644b852f3c154fc433eaae52febbebc7c474fa8f4d666797d0931770a"
],
"version": "==1.19.54"
"version": "==1.20.0"
},
"certifi": {
"hashes": [
@ -822,63 +839,62 @@
"sha256:7d73d2a99753107a36ac6b455ee49046802e59d9d076ef8e47b61499fa29afff",
"sha256:e96da0d330793e2cb9485e9ddfd918d456036c7149416295932478192f4436a1"
],
"markers": "python_version != '3.4'",
"version": "==0.4.3"
},
"coverage": {
"hashes": [
"sha256:08b3ba72bd981531fd557f67beee376d6700fba183b167857038997ba30dd297",
"sha256:2757fa64e11ec12220968f65d086b7a29b6583d16e9a544c889b22ba98555ef1",
"sha256:3102bb2c206700a7d28181dbe04d66b30780cde1d1c02c5f3c165cf3d2489497",
"sha256:3498b27d8236057def41de3585f317abae235dd3a11d33e01736ffedb2ef8606",
"sha256:378ac77af41350a8c6b8801a66021b52da8a05fd77e578b7380e876c0ce4f528",
"sha256:38f16b1317b8dd82df67ed5daa5f5e7c959e46579840d77a67a4ceb9cef0a50b",
"sha256:3911c2ef96e5ddc748a3c8b4702c61986628bb719b8378bf1e4a6184bbd48fe4",
"sha256:3a3c3f8863255f3c31db3889f8055989527173ef6192a283eb6f4db3c579d830",
"sha256:3b14b1da110ea50c8bcbadc3b82c3933974dbeea1832e814aab93ca1163cd4c1",
"sha256:535dc1e6e68fad5355f9984d5637c33badbdc987b0c0d303ee95a6c979c9516f",
"sha256:6f61319e33222591f885c598e3e24f6a4be3533c1d70c19e0dc59e83a71ce27d",
"sha256:723d22d324e7997a651478e9c5a3120a0ecbc9a7e94071f7e1954562a8806cf3",
"sha256:76b2775dda7e78680d688daabcb485dc87cf5e3184a0b3e012e1d40e38527cc8",
"sha256:782a5c7df9f91979a7a21792e09b34a658058896628217ae6362088b123c8500",
"sha256:7e4d159021c2029b958b2363abec4a11db0ce8cd43abb0d9ce44284cb97217e7",
"sha256:8dacc4073c359f40fcf73aede8428c35f84639baad7e1b46fce5ab7a8a7be4bb",
"sha256:8f33d1156241c43755137288dea619105477961cfa7e47f48dbf96bc2c30720b",
"sha256:8ffd4b204d7de77b5dd558cdff986a8274796a1e57813ed005b33fd97e29f059",
"sha256:93a280c9eb736a0dcca19296f3c30c720cb41a71b1f9e617f341f0a8e791a69b",
"sha256:9a4f66259bdd6964d8cf26142733c81fb562252db74ea367d9beb4f815478e72",
"sha256:9a9d4ff06804920388aab69c5ea8a77525cf165356db70131616acd269e19b36",
"sha256:a2070c5affdb3a5e751f24208c5c4f3d5f008fa04d28731416e023c93b275277",
"sha256:a4857f7e2bc6921dbd487c5c88b84f5633de3e7d416c4dc0bb70256775551a6c",
"sha256:a607ae05b6c96057ba86c811d9c43423f35e03874ffb03fbdcd45e0637e8b631",
"sha256:a66ca3bdf21c653e47f726ca57f46ba7fc1f260ad99ba783acc3e58e3ebdb9ff",
"sha256:ab110c48bc3d97b4d19af41865e14531f300b482da21783fdaacd159251890e8",
"sha256:b239711e774c8eb910e9b1ac719f02f5ae4bf35fa0420f438cdc3a7e4e7dd6ec",
"sha256:be0416074d7f253865bb67630cf7210cbc14eb05f4099cc0f82430135aaa7a3b",
"sha256:c46643970dff9f5c976c6512fd35768c4a3819f01f61169d8cdac3f9290903b7",
"sha256:c5ec71fd4a43b6d84ddb88c1df94572479d9a26ef3f150cef3dacefecf888105",
"sha256:c6e5174f8ca585755988bc278c8bb5d02d9dc2e971591ef4a1baabdf2d99589b",
"sha256:c89b558f8a9a5a6f2cfc923c304d49f0ce629c3bd85cb442ca258ec20366394c",
"sha256:cc44e3545d908ecf3e5773266c487ad1877be718d9dc65fc7eb6e7d14960985b",
"sha256:cc6f8246e74dd210d7e2b56c76ceaba1cc52b025cd75dbe96eb48791e0250e98",
"sha256:cd556c79ad665faeae28020a0ab3bda6cd47d94bec48e36970719b0b86e4dcf4",
"sha256:ce6f3a147b4b1a8b09aae48517ae91139b1b010c5f36423fa2b866a8b23df879",
"sha256:ceb499d2b3d1d7b7ba23abe8bf26df5f06ba8c71127f188333dddcf356b4b63f",
"sha256:cef06fb382557f66d81d804230c11ab292d94b840b3cb7bf4450778377b592f4",
"sha256:e448f56cfeae7b1b3b5bcd99bb377cde7c4eb1970a525c770720a352bc4c8044",
"sha256:e52d3d95df81c8f6b2a1685aabffadf2d2d9ad97203a40f8d61e51b70f191e4e",
"sha256:ee2f1d1c223c3d2c24e3afbb2dd38be3f03b1a8d6a83ee3d9eb8c36a52bee899",
"sha256:f2c6888eada180814b8583c3e793f3f343a692fc802546eed45f40a001b1169f",
"sha256:f51dbba78d68a44e99d484ca8c8f604f17e957c1ca09c3ebc2c7e3bbd9ba0448",
"sha256:f54de00baf200b4539a5a092a759f000b5f45fd226d6d25a76b0dff71177a714",
"sha256:fa10fee7e32213f5c7b0d6428ea92e3a3fdd6d725590238a3f92c0de1c78b9d2",
"sha256:fabeeb121735d47d8eab8671b6b031ce08514c86b7ad8f7d5490a7b6dcd6267d",
"sha256:fac3c432851038b3e6afe086f777732bcf7f6ebbfd90951fa04ee53db6d0bcdd",
"sha256:fda29412a66099af6d6de0baa6bd7c52674de177ec2ad2630ca264142d69c6c7",
"sha256:ff1330e8bc996570221b450e2d539134baa9465f5cb98aff0e0f73f34172e0ae"
"sha256:03ed2a641e412e42cc35c244508cf186015c217f0e4d496bf6d7078ebe837ae7",
"sha256:04b14e45d6a8e159c9767ae57ecb34563ad93440fc1b26516a89ceb5b33c1ad5",
"sha256:0cdde51bfcf6b6bd862ee9be324521ec619b20590787d1655d005c3fb175005f",
"sha256:0f48fc7dc82ee14aeaedb986e175a429d24129b7eada1b7e94a864e4f0644dde",
"sha256:107d327071061fd4f4a2587d14c389a27e4e5c93c7cba5f1f59987181903902f",
"sha256:1375bb8b88cb050a2d4e0da901001347a44302aeadb8ceb4b6e5aa373b8ea68f",
"sha256:14a9f1887591684fb59fdba8feef7123a0da2424b0652e1b58dd5b9a7bb1188c",
"sha256:16baa799ec09cc0dcb43a10680573269d407c159325972dd7114ee7649e56c66",
"sha256:1b811662ecf72eb2d08872731636aee6559cae21862c36f74703be727b45df90",
"sha256:1ccae21a076d3d5f471700f6d30eb486da1626c380b23c70ae32ab823e453337",
"sha256:2f2cf7a42d4b7654c9a67b9d091ec24374f7c58794858bff632a2039cb15984d",
"sha256:322549b880b2d746a7672bf6ff9ed3f895e9c9f108b714e7360292aa5c5d7cf4",
"sha256:32ab83016c24c5cf3db2943286b85b0a172dae08c58d0f53875235219b676409",
"sha256:3fe50f1cac369b02d34ad904dfe0771acc483f82a1b54c5e93632916ba847b37",
"sha256:4a780807e80479f281d47ee4af2eb2df3e4ccf4723484f77da0bb49d027e40a1",
"sha256:4a8eb7785bd23565b542b01fb39115a975fefb4a82f23d407503eee2c0106247",
"sha256:5bee3970617b3d74759b2d2df2f6a327d372f9732f9ccbf03fa591b5f7581e39",
"sha256:60a3307a84ec60578accd35d7f0c71a3a971430ed7eca6567399d2b50ef37b8c",
"sha256:6625e52b6f346a283c3d563d1fd8bae8956daafc64bb5bbd2b8f8a07608e3994",
"sha256:66a5aae8233d766a877c5ef293ec5ab9520929c2578fd2069308a98b7374ea8c",
"sha256:68fb816a5dd901c6aff352ce49e2a0ffadacdf9b6fae282a69e7a16a02dad5fb",
"sha256:6b588b5cf51dc0fd1c9e19f622457cc74b7d26fe295432e434525f1c0fae02bc",
"sha256:6c4d7165a4e8f41eca6b990c12ee7f44fef3932fac48ca32cecb3a1b2223c21f",
"sha256:6d2e262e5e8da6fa56e774fb8e2643417351427604c2b177f8e8c5f75fc928ca",
"sha256:6d9c88b787638a451f41f97446a1c9fd416e669b4d9717ae4615bd29de1ac135",
"sha256:755c56beeacac6a24c8e1074f89f34f4373abce8b662470d3aa719ae304931f3",
"sha256:7e40d3f8eb472c1509b12ac2a7e24158ec352fc8567b77ab02c0db053927e339",
"sha256:812eaf4939ef2284d29653bcfee9665f11f013724f07258928f849a2306ea9f9",
"sha256:84df004223fd0550d0ea7a37882e5c889f3c6d45535c639ce9802293b39cd5c9",
"sha256:859f0add98707b182b4867359e12bde806b82483fb12a9ae868a77880fc3b7af",
"sha256:87c4b38288f71acd2106f5d94f575bc2136ea2887fdb5dfe18003c881fa6b370",
"sha256:89fc12c6371bf963809abc46cced4a01ca4f99cba17be5e7d416ed7ef1245d19",
"sha256:9564ac7eb1652c3701ac691ca72934dd3009997c81266807aef924012df2f4b3",
"sha256:9754a5c265f991317de2bac0c70a746efc2b695cf4d49f5d2cddeac36544fb44",
"sha256:a565f48c4aae72d1d3d3f8e8fb7218f5609c964e9c6f68604608e5958b9c60c3",
"sha256:a636160680c6e526b84f85d304e2f0bb4e94f8284dd765a1911de9a40450b10a",
"sha256:a839e25f07e428a87d17d857d9935dd743130e77ff46524abb992b962eb2076c",
"sha256:b62046592b44263fa7570f1117d372ae3f310222af1fc1407416f037fb3af21b",
"sha256:b7f7421841f8db443855d2854e25914a79a1ff48ae92f70d0a5c2f8907ab98c9",
"sha256:ba7ca81b6d60a9f7a0b4b4e175dcc38e8fef4992673d9d6e6879fd6de00dd9b8",
"sha256:bb32ca14b4d04e172c541c69eec5f385f9a075b38fb22d765d8b0ce3af3a0c22",
"sha256:c0ff1c1b4d13e2240821ef23c1efb1f009207cb3f56e16986f713c2b0e7cd37f",
"sha256:c669b440ce46ae3abe9b2d44a913b5fd86bb19eb14a8701e88e3918902ecd345",
"sha256:c67734cff78383a1f23ceba3b3239c7deefc62ac2b05fa6a47bcd565771e5880",
"sha256:c6809ebcbf6c1049002b9ac09c127ae43929042ec1f1dbd8bb1615f7cd9f70a0",
"sha256:cd601187476c6bed26a0398353212684c427e10a903aeafa6da40c63309d438b",
"sha256:ebfa374067af240d079ef97b8064478f3bf71038b78b017eb6ec93ede1b6bcec",
"sha256:fbb17c0d0822684b7d6c09915677a32319f16ff1115df5ec05bdcaaee40b35f3",
"sha256:fff1f3a586246110f34dc762098b5afd2de88de507559e63553d7da643053786"
],
"index": "pypi",
"version": "==5.3.1"
"version": "==5.4"
},
"decorator": {
"hashes": [
@ -889,11 +905,11 @@
},
"django": {
"hashes": [
"sha256:558cb27930defd9a6042133258caf797b2d1dee233959f537e3dc475cb49bd7c",
"sha256:cf5370a4d7765a9dd6d42a7b96b53c74f9446cd38209211304b210fe0404b861"
"sha256:0eaca08f236bf502a9773e53623f766cc3ceee6453cc41e6de1c8b80f07d2364",
"sha256:c9c994f5e0a032cbd45089798b52e4080f4dea7241c58e3e0636c54146480bb4"
],
"index": "pypi",
"version": "==2.2.17"
"version": "==2.2.18"
},
"django-silk": {
"hashes": [
@ -932,11 +948,11 @@
},
"ipython": {
"hashes": [
"sha256:c987e8178ced651532b3b1ff9965925bfd445c279239697052561a9ab806d28f",
"sha256:cbb2ef3d5961d44e6a963b9817d4ea4e1fa2eb589c371a470fed14d8d40cbd6a"
"sha256:1918dea4bfdc5d1a830fcfce9a710d1d809cbed123e85eab0539259cb0f56640",
"sha256:1923af00820a8cf58e91d56b89efc59780a6e81363b94464a0f17c039dffff9e"
],
"index": "pypi",
"version": "==7.19.0"
"version": "==7.20.0"
},
"ipython-genutils": {
"hashes": [
@ -947,17 +963,18 @@
},
"jedi": {
"hashes": [
"sha256:18456d83f65f400ab0c2d3319e48520420ef43b23a086fdc05dff34132f0fb93",
"sha256:92550a404bad8afed881a137ec9a461fed49eca661414be45059329614ed0707"
"sha256:86ed7d9b750603e4ba582ea8edc678657fb4007894a12bcf6f4bb97892f31d20",
"sha256:98cc583fa0f2f8304968199b01b6b4b94f469a1f4a74c1560506ca2a211378b5"
],
"version": "==0.18.0"
"index": "pypi",
"version": "==0.17.2"
},
"jinja2": {
"hashes": [
"sha256:89aab215427ef59c34ad58735269eb58b1a5808103067f7bb9d5836c651b3bb0",
"sha256:f0a4641d3cf955324a89c04f3d94663aa4d638abe8f733ecd3582848e1c37035"
"sha256:03e47ad063331dd6a3f04a43eddca8a966a26ba0c5b7207a9a9e4e08f1b29419",
"sha256:a6d58433de0ae800347cab1fa3043cebbabe8baa9d29e668f1c768cb87a333c6"
],
"version": "==2.11.2"
"version": "==2.11.3"
},
"jmespath": {
"hashes": [
@ -973,8 +990,12 @@
"sha256:09c4b7f37d6c648cb13f9230d847adf22f8171b1ccc4d5682398e77f40309235",
"sha256:1027c282dad077d0bae18be6794e6b6b8c91d58ed8a8d89a89d59693b9131db5",
"sha256:13d3144e1e340870b25e7b10b98d779608c02016d5184cfb9927a9f10c689f42",
"sha256:195d7d2c4fbb0ee8139a6cf67194f3973a6b3042d742ebe0a9ed36d8b6f0c07f",
"sha256:22c178a091fc6630d0d045bdb5992d2dfe14e3259760e713c490da5323866c39",
"sha256:24982cc2533820871eba85ba648cd53d8623687ff11cbb805be4ff7b4c971aff",
"sha256:29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b",
"sha256:2beec1e0de6924ea551859edb9e7679da6e4870d32cb766240ce17e0a0ba2014",
"sha256:3b8a6499709d29c2e2399569d96719a1b21dcd94410a586a18526b143ec8470f",
"sha256:43a55c2930bbc139570ac2452adf3d70cdbb3cfe5912c71cdce1c2c6bbd9c5d1",
"sha256:46c99d2de99945ec5cb54f23c8cd5689f6d7177305ebff350a58ce5f8de1669e",
"sha256:500d4957e52ddc3351cabf489e79c91c17f6e0899158447047588650b5e69183",
@ -983,33 +1004,48 @@
"sha256:62fe6c95e3ec8a7fad637b7f3d372c15ec1caa01ab47926cfdf7a75b40e0eac1",
"sha256:6788b695d50a51edb699cb55e35487e430fa21f1ed838122d722e0ff0ac5ba15",
"sha256:6dd73240d2af64df90aa7c4e7481e23825ea70af4b4922f8ede5b9e35f78a3b1",
"sha256:6f1e273a344928347c1290119b493a1f0303c52f5a5eae5f16d74f48c15d4a85",
"sha256:6fffc775d90dcc9aed1b89219549b329a9250d918fd0b8fa8d93d154918422e1",
"sha256:717ba8fe3ae9cc0006d7c451f0bb265ee07739daf76355d06366154ee68d221e",
"sha256:79855e1c5b8da654cf486b830bd42c06e8780cea587384cf6545b7d9ac013a0b",
"sha256:7c1699dfe0cf8ff607dbdcc1e9b9af1755371f92a68f706051cc8c37d447c905",
"sha256:7fed13866cf14bba33e7176717346713881f56d9d2bcebab207f7a036f41b850",
"sha256:84dee80c15f1b560d55bcfe6d47b27d070b4681c699c572af2e3c7cc90a3b8e0",
"sha256:88e5fcfb52ee7b911e8bb6d6aa2fd21fbecc674eadd44118a9cc3863f938e735",
"sha256:8defac2f2ccd6805ebf65f5eeb132adcf2ab57aa11fdf4c0dd5169a004710e7d",
"sha256:98bae9582248d6cf62321dcb52aaf5d9adf0bad3b40582925ef7c7f0ed85fceb",
"sha256:98c7086708b163d425c67c7a91bad6e466bb99d797aa64f965e9d25c12111a5e",
"sha256:9add70b36c5666a2ed02b43b335fe19002ee5235efd4b8a89bfcf9005bebac0d",
"sha256:9bf40443012702a1d2070043cb6291650a0841ece432556f784f004937f0f32c",
"sha256:a6a744282b7718a2a62d2ed9d993cad6f5f585605ad352c11de459f4108df0a1",
"sha256:acf08ac40292838b3cbbb06cfe9b2cb9ec78fce8baca31ddb87aaac2e2dc3bc2",
"sha256:ade5e387d2ad0d7ebf59146cc00c8044acbd863725f887353a10df825fc8ae21",
"sha256:b00c1de48212e4cc9603895652c5c410df699856a2853135b3967591e4beebc2",
"sha256:b1282f8c00509d99fef04d8ba936b156d419be841854fe901d8ae224c59f0be5",
"sha256:b1dba4527182c95a0db8b6060cc98ac49b9e2f5e64320e2b56e47cb2831978c7",
"sha256:b2051432115498d3562c084a49bba65d97cf251f5a331c64a12ee7e04dacc51b",
"sha256:b7d644ddb4dbd407d31ffb699f1d140bc35478da613b441c582aeb7c43838dd8",
"sha256:ba59edeaa2fc6114428f1637ffff42da1e311e29382d81b339c1817d37ec93c6",
"sha256:bf5aa3cbcfdf57fa2ee9cd1822c862ef23037f5c832ad09cfea57fa846dec193",
"sha256:c8716a48d94b06bb3b2524c2b77e055fb313aeb4ea620c8dd03a105574ba704f",
"sha256:caabedc8323f1e93231b52fc32bdcde6db817623d33e100708d9a68e1f53b26b",
"sha256:cd5df75523866410809ca100dc9681e301e3c27567cf498077e8551b6d20e42f",
"sha256:cdb132fc825c38e1aeec2c8aa9338310d29d337bebbd7baa06889d09a60a1fa2",
"sha256:d53bc011414228441014aa71dbec320c66468c1030aae3a6e29778a3382d96e5",
"sha256:d73a845f227b0bfe8a7455ee623525ee656a9e2e749e4742706d80a6065d5e2c",
"sha256:d9be0ba6c527163cbed5e0857c451fcd092ce83947944d6c14bc95441203f032",
"sha256:e249096428b3ae81b08327a63a485ad0878de3fb939049038579ac0ef61e17e7",
"sha256:e8313f01ba26fbbe36c7be1966a7b7424942f670f38e666995b88d012765b9be"
"sha256:e8313f01ba26fbbe36c7be1966a7b7424942f670f38e666995b88d012765b9be",
"sha256:feb7b34d6325451ef96bc0e36e1a6c0c1c64bc1fbec4b854f4529e51887b1621"
],
"version": "==1.1.1"
},
"parso": {
"hashes": [
"sha256:15b00182f472319383252c18d5913b69269590616c947747bc50bf4ac768f410",
"sha256:8519430ad07087d4c997fda3a7918f7cfa27cb58972a8c89c2a0295a1c940e9e"
"sha256:97218d9159b2520ff45eb78028ba8b50d2bc61dcc062a9682666f2dc4bd331ea",
"sha256:caba44724b994a8a5e086460bb212abc5a8bc46951bf4a9a1210745953622eb9"
],
"version": "==0.8.1"
"version": "==0.7.1"
},
"pexpect": {
"hashes": [
@ -1028,10 +1064,10 @@
},
"prompt-toolkit": {
"hashes": [
"sha256:ac329c69bd8564cb491940511957312c7b8959bb5b3cf3582b406068a51d5bb7",
"sha256:b8b3d0bde65da350290c46a8f54f336b3cbf5464a4ac11239668d986852e79d5"
"sha256:7e966747c18ececaec785699626b771c1ba8344c8d31759a1915d6b12fad6525",
"sha256:c96b30925025a7635471dc083ffb6af0cc67482a00611bd81aeaeeeb7e5a5e12"
],
"version": "==3.0.10"
"version": "==3.0.14"
},
"ptyprocess": {
"hashes": [
@ -1081,10 +1117,10 @@
},
"pytz": {
"hashes": [
"sha256:16962c5fb8db4a8f63a26646d8886e9d769b6c511543557bc84e9569fb9a9cb4",
"sha256:180befebb1927b16f6b57101720075a984c019ac16b1b7575673bea42c6c3da5"
"sha256:83a4a90894bf38e243cf052c8b58f381bfe9a7a483f6a9cab140bc7f702ac4da",
"sha256:eb10ce3e7736052ed3623d49975ce333bcd712c7bb19a58b9e2089d4057d0798"
],
"version": "==2020.5"
"version": "==2021.1"
},
"pyyaml": {
"hashes": [
@ -1102,7 +1138,6 @@
"sha256:cc8955cfbfc7a115fa81d85284ee61147059a753344bc51098f3ccd69b0d7e0c",
"sha256:d13155f591e6fcc1ec3b30685d50bf0711574e2c0dfffd7644babf8b5102ca1a"
],
"markers": "python_version != '3.4'",
"version": "==5.3.1"
},
"requests": {
@ -1118,7 +1153,6 @@
"sha256:35c5b5f6675ac02120036d97cf96f1fde4d49670543db2822ba5015e21a18032",
"sha256:4d409f5a7d78530a4a2062574c7bd80311bc3af29b364e293aa9b03eea77714f"
],
"markers": "python_version != '3.4'",
"version": "==4.5"
},
"s3transfer": {
@ -1158,11 +1192,10 @@
},
"urllib3": {
"hashes": [
"sha256:19188f96923873c92ccb987120ec4acaa12f0461fa9ce5d3d0772bc965a39e08",
"sha256:d8ff90d979214d7b4f8ce956e80f4028fc6860e4431f731ea4a8c08f23f99473"
"sha256:1b465e494e3e0d8939b50680403e3aedaa2bc434b7d5af64dfd3c958d7f5ae80",
"sha256:de3eedaad74a2683334e282005cd8d7f22f4d55fa690a2a1020a416cb0a47e73"
],
"markers": "python_version != '3.4'",
"version": "==1.26.2"
"version": "==1.26.3"
},
"wcwidth": {
"hashes": [

View File

@ -7,16 +7,12 @@ const sourceMapEnabled = isProduction
: config.dev.cssSourceMap
module.exports = {
loaders: utils.cssLoaders({
sourceMap: sourceMapEnabled,
extract: isProduction
}),
cssSourceMap: sourceMapEnabled,
cacheBusting: config.dev.cacheBusting,
transformToRequire: {
video: ['src', 'poster'],
source: 'src',
img: 'src',
image: 'xlink:href'
}
// loaders: utils.cssLoaders({
// sourceMap: sourceMapEnabled,
// todo: need that?
// extract: isProduction
// }),
// cssSourceMap: sourceMapEnabled,
// cacheBusting: config.dev.cacheBusting,
}

View File

@ -4,7 +4,9 @@ const utils = require('./utils')
const config = require('../config')
const vueLoaderConfig = require('./vue-loader.conf')
function resolve (dir) {
const VueLoaderPlugin = require('vue-loader/lib/plugin')
function resolve(dir) {
return path.join(__dirname, '..', dir)
}
@ -19,6 +21,9 @@ const createLintingRule = () => ({
}
})
//todo on monday: mini-css-extract-plugin?
//https://github.com/webpack-contrib/mini-css-extract-plugin
//todo: do we need postcss?
module.exports = {
context: path.resolve(__dirname, '../'),
entry: {
@ -32,10 +37,10 @@ module.exports = {
: config.dev.assetsPublicPath
},
resolve: {
extensions: ['.js', '.vue', '.json', '.gql', '.graphql'],
extensions: ['.js', '.vue', '.json', '.gql', '.graphql', '.scss'],
alias: {
'@': resolve('src'),
styles: resolve('styles')
styles: resolve('src/styles')
}
},
module: {
@ -44,7 +49,14 @@ module.exports = {
{
test: /\.vue$/,
loader: 'vue-loader',
options: vueLoaderConfig
options: {
transformAssetUrls: {
video: ['src', 'poster'],
source: 'src',
img: 'src',
image: 'xlink:href'
}
}
},
{
test: /\.js$/,
@ -82,9 +94,32 @@ module.exports = {
limit: 10000,
name: utils.assetsPath('fonts/[name].[hash:7].[ext]')
}
},
{
test: /\.css$/,
use: [
'vue-style-loader',
'css-loader'
]
},
{
test: /\.scss$/,
use: [
'vue-style-loader',
'css-loader',
{
loader: 'sass-loader',
options: {
data: process.env.THEME ? `@import "styles/themes/_${process.env.THEME}.scss";` : ''
}
}
]
}
]
},
plugins: [
new VueLoaderPlugin()
],
node: {
// prevent webpack from injecting useless setImmediate polyfill because Vue
// source contains it (although only uses it if it's native).

View File

@ -14,9 +14,9 @@ const HOST = process.env.HOST
const PORT = process.env.PORT && Number(process.env.PORT)
const devWebpackConfig = merge(baseWebpackConfig, {
module: {
rules: utils.styleLoaders({ sourceMap: config.dev.cssSourceMap, usePostCSS: true })
},
// module: {
// rules: utils.styleLoaders({ sourceMap: config.dev.cssSourceMap, usePostCSS: true })
// },
// cheap-module-eval-source-map is faster for development
devtool: config.dev.devtool,
@ -55,7 +55,8 @@ const devWebpackConfig = merge(baseWebpackConfig, {
new HtmlWebpackPlugin({
filename: 'index.html',
template: 'index.html',
inject: true
inject: true,
...require('../config/dev.env')
}),
// copy custom static assets
new CopyWebpackPlugin([

View File

@ -14,13 +14,6 @@ const UglifyJsPlugin = require('uglifyjs-webpack-plugin')
const env = require('../config/prod.env')
const webpackConfig = merge(baseWebpackConfig, {
module: {
rules: utils.styleLoaders({
sourceMap: config.build.productionSourceMap,
extract: true,
usePostCSS: true
})
},
devtool: config.build.productionSourceMap ? config.build.devtool : false,
output: {
path: config.build.assetsRoot,
@ -46,7 +39,7 @@ const webpackConfig = merge(baseWebpackConfig, {
filename: utils.assetsPath('css/[name].[contenthash].css'),
// Setting the following option to `false` will not extract CSS from codesplit chunks.
// Their CSS will instead be inserted dynamically with style-loader when the codesplit chunk has been loaded by webpack.
// It's currently set to `true` because we are seeing that sourcemaps are included in the codesplit bundle as well when it's `false`,
// It's currently set to `true` because we are seeing that sourcemaps are included in the codesplit bundle as well when it's `false`,
// increasing file size: https://github.com/vuejs-templates/webpack/issues/1110
allChunks: true,
}),
@ -64,6 +57,7 @@ const webpackConfig = merge(baseWebpackConfig, {
filename: config.build.index,
template: 'index.html',
inject: true,
...require('../config/prod.env'),
minify: {
removeComments: true,
collapseWhitespace: true,

View File

@ -4,7 +4,4 @@ const prodEnv = require('./prod.env')
module.exports = merge(prodEnv, {
NODE_ENV: '"development"',
HEP_URL: JSON.stringify(process.env.HEP_URL),
MATOMO_HOST: JSON.stringify(process.env.MATOMO_HOST),
MATOMO_SITE_ID: JSON.stringify(process.env.MATOMO_SITE_ID),
});

View File

@ -4,4 +4,20 @@ module.exports = {
HEP_URL: JSON.stringify(process.env.HEP_URL),
MATOMO_HOST: JSON.stringify(process.env.MATOMO_HOST),
MATOMO_SITE_ID: JSON.stringify(process.env.MATOMO_SITE_ID),
/*
* ENV variables used in JS code need to be stringyfied, as they will be replaced in the code, and JS needs quotes
* around strings
*/
VUE_APP_LOGO: JSON.stringify(process.env.VUE_APP_LOGO) || '"/static/logo.png"',
VUE_APP_ENABLE_PORTFOLIO: process.env.ENABLE_PORTFOLIO || "true",
VUE_APP_ENABLE_SPELLCHECK: !!process.env.TASKBASE_BASEURL,
VUE_APP_JS_TITLE: JSON.stringify(process.env.VUE_APP_TITLE) || '"mySkillbox"',
/*
* Vars used in HTML templates don't need to be stringyfied, as HTML does not need them to have quotes
*/
// vvvv HTML PROPERTIES FROM HERE, NOT STRINGIFIED vvvv
VUE_APP_FAVICON_32: process.env.VUE_APP_FAVICON_32 || '/static/favicon-32x32.png',
VUE_APP_FAVICON_16: process.env.VUE_APP_FAVICON_16 || '/static/favicon-16x16.png',
VUE_APP_TITLE: process.env.VUE_APP_TITLE || 'mySkillbox'
// ^^^^ HTML PROPERTIES TO HERE, NOT STRINGIFIED ^^^^
}

View File

@ -3,7 +3,7 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0">
<title>mySkillbox</title>
<title><%= htmlWebpackPlugin.options.VUE_APP_TITLE %></title>
<link href='https://fonts.googleapis.com/css?family=Material+Icons' rel="stylesheet" type="text/css">
<link href="https://fonts.googleapis.com/css?family=Montserrat:400,600,800" rel="stylesheet">
@ -12,8 +12,8 @@
<link href="https://surveyjs.azureedge.net/1.0.87/survey.css" type="text/css" rel="stylesheet"/>
<link rel="apple-touch-icon" sizes="180x180" href="/static/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/static/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/static/favicon-16x16.png">
<link rel="icon" type="image/png" sizes="32x32" href="<%- htmlWebpackPlugin.options.VUE_APP_FAVICON_32 %>">
<link rel="icon" type="image/png" sizes="16x16" href="<%- htmlWebpackPlugin.options.VUE_APP_FAVICON_16 %>">
<link rel="manifest" href="/static/site.webmanifest">
<link rel="mask-icon" href="/static/safari-pinned-tab.svg" color="#5bbad5">
<meta name="msapplication-TileColor" content="#da532c">

320
client/package-lock.json generated
View File

@ -3099,6 +3099,83 @@
"weakmap-polyfill": "2.0.0"
}
},
"@vue/component-compiler-utils": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/@vue/component-compiler-utils/-/component-compiler-utils-3.2.0.tgz",
"integrity": "sha512-lejBLa7xAMsfiZfNp7Kv51zOzifnb29FwdnMLa96z26kXErPFioSf9BMcePVIQ6/Gc6/mC0UrPpxAWIHyae0vw==",
"requires": {
"consolidate": "^0.15.1",
"hash-sum": "^1.0.2",
"lru-cache": "^4.1.2",
"merge-source-map": "^1.1.0",
"postcss": "^7.0.14",
"postcss-selector-parser": "^6.0.2",
"prettier": "^1.18.2",
"source-map": "~0.6.1",
"vue-template-es2015-compiler": "^1.9.0"
},
"dependencies": {
"chalk": {
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
"integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
"requires": {
"ansi-styles": "^3.2.1",
"escape-string-regexp": "^1.0.5",
"supports-color": "^5.3.0"
},
"dependencies": {
"supports-color": {
"version": "5.5.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
"integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
"requires": {
"has-flag": "^3.0.0"
}
}
}
},
"cssesc": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
"integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg=="
},
"postcss": {
"version": "7.0.35",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz",
"integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==",
"requires": {
"chalk": "^2.4.2",
"source-map": "^0.6.1",
"supports-color": "^6.1.0"
}
},
"postcss-selector-parser": {
"version": "6.0.4",
"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.4.tgz",
"integrity": "sha512-gjMeXBempyInaBqpp8gODmwZ52WaYsVOsfr4L4lDQ7n3ncD6mEyySiDtgzCT+NYC0mmeOLvtsF8iaEf0YT6dBw==",
"requires": {
"cssesc": "^3.0.0",
"indexes-of": "^1.0.1",
"uniq": "^1.0.1",
"util-deprecate": "^1.0.2"
}
},
"supports-color": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
"integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
"requires": {
"has-flag": "^3.0.0"
}
},
"vue-template-es2015-compiler": {
"version": "1.9.1",
"resolved": "https://registry.npmjs.org/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.9.1.tgz",
"integrity": "sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw=="
}
}
},
"@vue/test-utils": {
"version": "1.0.0-beta.29",
"resolved": "https://registry.npmjs.org/@vue/test-utils/-/test-utils-1.0.0-beta.29.tgz",
@ -6400,14 +6477,13 @@
"integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4="
},
"clone-deep": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-2.0.2.tgz",
"integrity": "sha512-SZegPTKjCgpQH63E+eN6mVEEPdQBOUzjyJm5Pora4lrwWRFS8I0QAxV/KD6vV/i0WuijHZWQC1fMsPEdxfdVCQ==",
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz",
"integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==",
"requires": {
"for-own": "^1.0.0",
"is-plain-object": "^2.0.4",
"kind-of": "^6.0.0",
"shallow-clone": "^1.0.0"
"kind-of": "^6.0.2",
"shallow-clone": "^3.0.0"
}
},
"co": {
@ -6640,9 +6716,9 @@
"integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4="
},
"consolidate": {
"version": "0.14.5",
"resolved": "https://registry.npmjs.org/consolidate/-/consolidate-0.14.5.tgz",
"integrity": "sha1-WiUEe8dvcwcmZ8jLUsmJiI9JTGM=",
"version": "0.15.1",
"resolved": "https://registry.npmjs.org/consolidate/-/consolidate-0.15.1.tgz",
"integrity": "sha512-DW46nrsMJgy9kqAbPt5rKaCr7uFtpo4mSUvLHIUbJEjm0vo+aY5QLwBUq3FK4tRnJr/X0Psc0C4jf/h+HtXSMw==",
"requires": {
"bluebird": "^3.1.1"
}
@ -9122,14 +9198,6 @@
"resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
"integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA="
},
"for-own": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz",
"integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=",
"requires": {
"for-in": "^1.0.1"
}
},
"foreach": {
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz",
@ -13774,11 +13842,6 @@
"integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=",
"dev": true
},
"lodash.tail": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/lodash.tail/-/lodash.tail-4.1.1.tgz",
"integrity": "sha1-0jM6NtnncXyK0vfKyv7HwytERmQ="
},
"lodash.uniq": {
"version": "4.5.0",
"resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz",
@ -14056,6 +14119,14 @@
"resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
"integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E="
},
"merge-source-map": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz",
"integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==",
"requires": {
"source-map": "^0.6.1"
}
},
"merge-stream": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz",
@ -14214,22 +14285,6 @@
}
}
},
"mixin-object": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/mixin-object/-/mixin-object-2.0.1.tgz",
"integrity": "sha1-T7lJRB2rGCVA8f4DW6YOGUel5X4=",
"requires": {
"for-in": "^0.1.3",
"is-extendable": "^0.1.1"
},
"dependencies": {
"for-in": {
"version": "0.1.8",
"resolved": "https://registry.npmjs.org/for-in/-/for-in-0.1.8.tgz",
"integrity": "sha1-2Hc5COMSVhCZUrH9ubP6hn0ndeE="
}
}
},
"mkdirp": {
"version": "0.5.1",
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
@ -16041,76 +16096,6 @@
"import-cwd": "^2.0.0"
}
},
"postcss-load-options": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/postcss-load-options/-/postcss-load-options-1.2.0.tgz",
"integrity": "sha1-sJixVZ3awt8EvAuzdfmaXP4rbYw=",
"requires": {
"cosmiconfig": "^2.1.0",
"object-assign": "^4.1.0"
},
"dependencies": {
"cosmiconfig": {
"version": "2.2.2",
"resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-2.2.2.tgz",
"integrity": "sha512-GiNXLwAFPYHy25XmTPpafYvn3CLAkJ8FLsscq78MQd1Kh0OU6Yzhn4eV2MVF4G9WEQZoWEGltatdR+ntGPMl5A==",
"requires": {
"is-directory": "^0.3.1",
"js-yaml": "^3.4.3",
"minimist": "^1.2.0",
"object-assign": "^4.1.0",
"os-homedir": "^1.0.1",
"parse-json": "^2.2.0",
"require-from-string": "^1.1.0"
}
},
"minimist": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
"integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ="
},
"require-from-string": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-1.2.1.tgz",
"integrity": "sha1-UpyczvJzgK3+yaL5ZbZJu+5jZBg="
}
}
},
"postcss-load-plugins": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/postcss-load-plugins/-/postcss-load-plugins-2.3.0.tgz",
"integrity": "sha1-dFdoEWWZrKLwCfrUJrABdQSdjZI=",
"requires": {
"cosmiconfig": "^2.1.1",
"object-assign": "^4.1.0"
},
"dependencies": {
"cosmiconfig": {
"version": "2.2.2",
"resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-2.2.2.tgz",
"integrity": "sha512-GiNXLwAFPYHy25XmTPpafYvn3CLAkJ8FLsscq78MQd1Kh0OU6Yzhn4eV2MVF4G9WEQZoWEGltatdR+ntGPMl5A==",
"requires": {
"is-directory": "^0.3.1",
"js-yaml": "^3.4.3",
"minimist": "^1.2.0",
"object-assign": "^4.1.0",
"os-homedir": "^1.0.1",
"parse-json": "^2.2.0",
"require-from-string": "^1.1.0"
}
},
"minimist": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
"integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ="
},
"require-from-string": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-1.2.1.tgz",
"integrity": "sha1-UpyczvJzgK3+yaL5ZbZJu+5jZBg="
}
}
},
"postcss-loader": {
"version": "2.1.6",
"resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-2.1.6.tgz",
@ -17288,9 +17273,10 @@
"integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks="
},
"prettier": {
"version": "1.14.2",
"resolved": "https://registry.npmjs.org/prettier/-/prettier-1.14.2.tgz",
"integrity": "sha512-McHPg0n1pIke+A/4VcaS2en+pTNjy4xF+Uuq86u/5dyDO59/TtFZtQ708QIRkEZ3qwKz3GVkVa6mpxK/CpB8Rg=="
"version": "1.19.1",
"resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz",
"integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==",
"optional": true
},
"pretty": {
"version": "2.0.0",
@ -18214,16 +18200,27 @@
}
},
"sass-loader": {
"version": "7.1.0",
"resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-7.1.0.tgz",
"integrity": "sha512-+G+BKGglmZM2GUSfT9TLuEp6tzehHPjAMoRRItOojWIqIGPloVCMhNIQuG639eJ+y033PaGTSjLaTHts8Kw79w==",
"version": "7.3.1",
"resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-7.3.1.tgz",
"integrity": "sha512-tuU7+zm0pTCynKYHpdqaPpe+MMTQ76I9TPZ7i4/5dZsigE350shQWe5EZNl5dBidM49TPET75tNqRbcsUZWeNA==",
"requires": {
"clone-deep": "^2.0.1",
"clone-deep": "^4.0.1",
"loader-utils": "^1.0.1",
"lodash.tail": "^4.1.1",
"neo-async": "^2.5.0",
"pify": "^3.0.0",
"semver": "^5.5.0"
"pify": "^4.0.1",
"semver": "^6.3.0"
},
"dependencies": {
"pify": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
"integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g=="
},
"semver": {
"version": "6.3.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
"integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
}
}
},
"sax": {
@ -18411,20 +18408,11 @@
}
},
"shallow-clone": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-1.0.0.tgz",
"integrity": "sha512-oeXreoKR/SyNJtRJMAKPDSvd28OqEwG4eR/xc856cRGBII7gX9lvAqDxusPm0846z/w/hWYjI1NpKwJ00NHzRA==",
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz",
"integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==",
"requires": {
"is-extendable": "^0.1.1",
"kind-of": "^5.0.0",
"mixin-object": "^2.0.1"
},
"dependencies": {
"kind-of": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
"integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw=="
}
"kind-of": "^6.0.2"
}
},
"shebang-command": {
@ -19899,9 +19887,9 @@
}
},
"vue-hot-reload-api": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/vue-hot-reload-api/-/vue-hot-reload-api-2.3.0.tgz",
"integrity": "sha512-2j/t+wIbyVMP5NvctQoSUvLkYKoWAAk2QlQiilrM2a6/ulzFgdcLUJfTvs4XQ/3eZhHiBmmEojbjmM4AzZj8JA=="
"version": "2.3.4",
"resolved": "https://registry.npmjs.org/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz",
"integrity": "sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog=="
},
"vue-jest": {
"version": "3.0.4",
@ -19930,64 +19918,21 @@
}
},
"vue-loader": {
"version": "14.2.3",
"resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-14.2.3.tgz",
"integrity": "sha512-mEd2/14gNCVVpKU/44lVDoMDoAteM8PkvaVjzZ4KHyRKtry3pifSh9UMFsjoPBMeVYs9jTEDyT8UKmgPpnP8Yw==",
"version": "15.9.6",
"resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-15.9.6.tgz",
"integrity": "sha512-j0cqiLzwbeImIC6nVIby2o/ABAWhlppyL/m5oJ67R5MloP0hj/DtFgb0Zmq3J9CG7AJ+AXIvHVnJAPBvrLyuDg==",
"requires": {
"consolidate": "^0.14.0",
"@vue/component-compiler-utils": "^3.1.0",
"hash-sum": "^1.0.2",
"loader-utils": "^1.1.0",
"lru-cache": "^4.1.1",
"postcss": "^6.0.8",
"postcss-load-config": "^1.1.0",
"postcss-selector-parser": "^2.0.0",
"prettier": "^1.7.0",
"resolve": "^1.4.0",
"source-map": "^0.6.1",
"vue-hot-reload-api": "^2.2.0",
"vue-style-loader": "^4.0.1",
"vue-template-es2015-compiler": "^1.6.0"
"vue-hot-reload-api": "^2.3.0",
"vue-style-loader": "^4.1.0"
},
"dependencies": {
"cosmiconfig": {
"version": "2.2.2",
"resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-2.2.2.tgz",
"integrity": "sha512-GiNXLwAFPYHy25XmTPpafYvn3CLAkJ8FLsscq78MQd1Kh0OU6Yzhn4eV2MVF4G9WEQZoWEGltatdR+ntGPMl5A==",
"requires": {
"is-directory": "^0.3.1",
"js-yaml": "^3.4.3",
"minimist": "^1.2.0",
"object-assign": "^4.1.0",
"os-homedir": "^1.0.1",
"parse-json": "^2.2.0",
"require-from-string": "^1.1.0"
}
},
"minimist": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
"integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ="
},
"postcss-load-config": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-1.2.0.tgz",
"integrity": "sha1-U56a/J3chiASHr+djDZz4M5Q0oo=",
"requires": {
"cosmiconfig": "^2.1.0",
"object-assign": "^4.1.0",
"postcss-load-options": "^1.2.0",
"postcss-load-plugins": "^2.3.0"
}
},
"require-from-string": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-1.2.1.tgz",
"integrity": "sha1-UpyczvJzgK3+yaL5ZbZJu+5jZBg="
},
"vue-style-loader": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/vue-style-loader/-/vue-style-loader-4.1.1.tgz",
"integrity": "sha512-GD9a3G9k2dIGYl76IgwNQGCos3KnVbOVBIdXEIfjis0jNY34oEB2Tsrq2ZXl/KIzo/5Bdt7qAWjU1y+0TWcvIA==",
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/vue-style-loader/-/vue-style-loader-4.1.2.tgz",
"integrity": "sha512-0ip8ge6Gzz/Bk0iHovU9XAUQaFt/G2B61bnWa2tCcqqdgfHs1lF9xXorFbE55Gmy92okFT+8bfmySuUOu13vxQ==",
"requires": {
"hash-sum": "^1.0.2",
"loader-utils": "^1.0.2"
@ -20034,7 +19979,8 @@
"vue-template-es2015-compiler": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.6.0.tgz",
"integrity": "sha512-x3LV3wdmmERhVCYy3quqA57NJW7F3i6faas++pJQWtknWT+n7k30F4TVdHvCLn48peTJFRvCpxs3UuFPqgeELg=="
"integrity": "sha512-x3LV3wdmmERhVCYy3quqA57NJW7F3i6faas++pJQWtknWT+n7k30F4TVdHvCLn48peTJFRvCpxs3UuFPqgeELg==",
"dev": true
},
"vue-toast-notification": {
"version": "0.4.1",

View File

@ -1,8 +1,8 @@
{
"name": "frontend",
"version": "1.0.0",
"description": "skillBox vue client",
"author": "pawel / ramon",
"description": "skillbox vue client",
"author": "ramon / chrigu",
"private": true,
"scripts": {
"dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",
@ -80,7 +80,7 @@
"vue-analytics": "^5.16.2",
"vue-apollo": "^3.0.0-beta.16",
"vue-axios": "^2.1.1",
"vue-loader": "^14.2.1",
"vue-loader": "^15.9.6",
"vue-matomo": "^3.13.4-0",
"vue-router": "^3.0.1",
"vue-scrollto": "^2.11.0",

View File

@ -57,7 +57,9 @@
</router-link>
</div>
<div class="content-navigation__item content-navigation__item--secondary">
<div
class="content-navigation__item content-navigation__item--secondary"
v-if="showPortfolio">
<router-link
to="/portfolio"
active-class="content-navigation__link--active"
@ -100,6 +102,12 @@
Logo
},
computed: {
showPortfolio() {
return process.env.VUE_APP_ENABLE_PORTFOLIO;
}
},
methods: {
isActive(linkName) {
return linkName === 'book' && this.$route.path.indexOf('module') > -1;
@ -153,7 +161,7 @@
}
&__logo-icon {
width: 212px;
width: auto;
height: 31px;
}

View File

@ -21,7 +21,7 @@
</button>
<button
class="submission-form-container__submit submission-form-container__spellcheck button button--primary button--white-bg"
v-if="spellcheck"
v-if="showSpellcheckButton"
@click="$emit('spellcheck')"
>{{ spellcheckText }}
</button>
@ -89,6 +89,10 @@
allowsDocuments() {
return 'document' in this.userInput;
},
showSpellcheckButton() {
console.log(process.env.VUE_APP_ENABLE_SPELLCHECK);
return this.spellcheck && process.env.VUE_APP_ENABLE_SPELLCHECK;
},
spellcheckText() {
if (!this.spellcheckLoading) {
return 'Rechtschreibung prüfen';

View File

@ -1,55 +1,20 @@
<template>
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 965 159"
class="logo">
<path
class="cls-1"
d="M187.19877,158.76991a44.9261,44.9261,0,0,1-14.89082-2.35518,49.72607,49.72607,0,0,1-13.37134-7.29346l-2.20323-1.67142,16.1064-25.831,2.73505,2.43115a16.48614,16.48614,0,0,0,4.55841,3.03894,12.27557,12.27557,0,0,0,4.40646.83572c3.03894,0,4.93828-1.06363,6.15386-3.57076l.83571-1.67141L156.27756,39.94731H194.3403l15.57457,43.53283,13.21939-43.53283h37.07507l-36.08742,93.21951c-3.41881,8.585-8.28111,15.11873-14.435,19.29728h0C203.60906,156.64265,196.0117,158.76991,187.19877,158.76991Zm-22.26024-12.9155a42.27771,42.27771,0,0,0,9.42072,4.78634,41.3796,41.3796,0,0,0,12.9155,2.05128c7.59735,0,13.97912-1.74739,19.06936-5.24217h0c5.09023-3.49479,9.1928-9.04084,12.15576-16.48625l32.7446-84.86243h-23.5518l-17.246,56.98015L190.08578,46.10118H165.62229l32.66862,76.8852-2.20323,4.17854c-2.20323,4.48243-6.22984,6.9136-11.62394,6.9136a18.75655,18.75655,0,0,1-6.76164-1.29155,22.3379,22.3379,0,0,1-3.49479-1.89934Z"/>
<path
class="cls-1"
d="M142.0705,55.218a29.671,29.671,0,0,0-11.472-12.23174h0a35.49322,35.49322,0,0,0-35.09977.83571A30.81285,30.81285,0,0,0,86.23,53.09073a29.93237,29.93237,0,0,0-8.8889-9.11682A32.47292,32.47292,0,0,0,59.03143,38.8077a33.62833,33.62833,0,0,0-16.25834,3.95063,32.37806,32.37806,0,0,0-6.15385,4.40646V40.02328H0v88.20527H36.61924V84.54377c0-4.0266.91168-7.14151,2.887-9.57267a9.08143,9.08143,0,0,1,7.06555-3.41881,7.19568,7.19568,0,0,1,5.92593,2.58309c1.59545,1.82336,2.35519,4.40647,2.35519,7.67333v46.34386H91.47214V84.54377c0-4.0266.91168-7.21749,2.811-9.57267a8.59712,8.59712,0,0,1,6.9136-3.34284,7.1957,7.1957,0,0,1,5.92594,2.5831c1.59545,1.82336,2.35518,4.40647,2.35518,7.67333v46.34386h36.61924V73.14774A40.46686,40.46686,0,0,0,142.0705,55.218Zm-2.20323,66.85671H115.55574v-40.266c0-4.71036-1.29155-8.661-3.79867-11.624a13.29891,13.29891,0,0,0-10.6363-4.71035h0a14.71867,14.71867,0,0,0-11.69992,5.698c-2.73505,3.49479-4.10256,7.97722-4.10256,13.37135v37.53093H61.00676v-40.266c0-4.71036-1.29155-8.661-3.79868-11.62395a13.29886,13.29886,0,0,0-10.63629-4.71036h0a14.874,14.874,0,0,0-11.69993,5.622c-2.811,3.49478-4.25451,7.97722-4.25451,13.37134v37.53092H6.30582V46.0252H30.61735V59.85238H34.568l1.67141-2.65907a26.852,26.852,0,0,1,9.57267-9.11683A27.91925,27.91925,0,0,1,59.10742,44.8856a26.47638,26.47638,0,0,1,14.89082,4.17854A23.86631,23.86631,0,0,1,83.267,60.76407l.37987.91168h4.93828L88.889,60.916A27.95184,27.95184,0,0,1,126.0401,47.54467c.53181.22792.98766.53181,1.51947.75974a22.60065,22.60065,0,0,1,9.04085,9.64863,32.40876,32.40876,0,0,1,3.26686,15.04276Z"/>
<path
class="cls-1"
d="M360.27637,63.88867h-.00049c-8.79639-5.28613-20.01465-7.7207-29.91211-9.86816-12.25732-2.66016-22.84229-4.95606-22.84229-11.85254,0-4.76172,3.2959-10.4375,18.99707-10.4375,10.56348,0,21.68165,3.09668,33.04541,9.20215l.33692.18066,10.70361-25.7959-.2622-.15234c-11.499-6.666-27.40967-10.48926-43.65284-10.48926-16.82812,0-30.69433,3.96973-40.10058,11.48047a34.38057,34.38057,0,0,0-13.31055,27.72363c0,12.0918,4.93555,20.9834,15.08936,27.18262,8.73877,5.333,19.92431,7.832,29.793,10.03711,12.4795,2.78711,23.24659,5.19141,23.24659,12.42187,0,6.24414-6.44922,9.41016-19.168,9.41016a75.23455,75.23455,0,0,1-39.35205-11.75293l-.34033-.22559-11.40967,25.627.23437.16406c11.54395,8.04395,31.44336,13.24219,50.6958,13.24219,16.77,0,30.63672-4.00684,40.10108-11.58789A34.60313,34.60313,0,0,0,375.479,90.95312C375.479,78.88672,370.50635,70.03418,360.27637,63.88867Z"/>
<path
class="cls-1"
d="M452.96851,77.98757l37.01587-38.16839H451.21527L421.62593,68.64681V7.84824H389.22977V128.48585h32.39616V106.62707l7.86292-8.003,23.88936,29.86182H492.7151Z"/>
<rect
class="cls-1"
x="500.00637"
y="39.81918"
width="32.39617"
height="88.66666"/>
<rect
class="cls-1"
x="551.47678"
y="7.84824"
width="32.39617"
height="120.63761"/>
<rect
class="cls-1"
x="602.9472"
y="7.84824"
width="32.39617"
height="120.63761"/>
<path
class="cls-1"
d="M709.94,38.3811c-9.53615,0-17.30258,2.56053-23.12619,7.61709v-38.15H654.41762V128.48585h30.9576v-7.05418c5.79209,5.70967,13.85913,8.49275,24.56476,8.49275a42.82556,42.82556,0,0,0,30.79226-12.38954c8.33566-8.422,12.74155-20.02118,12.74155-33.54237,0-13.44264-4.40686-24.96622-12.74445-33.32515C732.82666,42.74481,721.89218,38.3811,709.94,38.3811Zm-6.39428,65.38143c-10.45545,0-17.211-7.76012-17.211-19.77,0-11.81546,6.7555-19.44953,17.211-19.44953,10.45593,0,17.21191,7.63407,17.21191,19.44953C720.75761,96.00241,714.00163,103.76253,703.5457,103.76253Z"/>
<path
class="cls-1"
d="M847.31484,51.174c-9.04355-8.24935-21.78266-12.79294-35.87065-12.79294-28.92944,0-49.92712,19.18237-49.92712,45.61141,0,26.61474,20.99768,45.93191,49.92712,45.93191,14.08605,0,26.82614-4.58,35.87307-12.89573,9.06342-8.3308,14.055-20.06336,14.055-33.03618C861.37228,71.09873,856.37971,59.44326,847.31484,51.174Zm-35.87065,52.58849c-10.45544,0-17.211-7.76012-17.211-19.77,0-11.81546,6.75551-19.44953,17.211-19.44953,10.45593,0,17.21192,7.63407,17.21192,19.44953C828.65611,96.00241,821.90012,103.76253,811.44419,103.76253Z"/>
<polygon
class="cls-1"
points="931.16 83.038 963.901 39.819 929.221 39.819 913.766 60.992 898.929 39.819 862.189 39.819 894.901 84.143 861.194 128.486 896.678 128.486 912.761 106.526 927.762 128.486 965 128.486 931.16 83.038"/>
<path
class="cls-1"
d="M527.91913,4.4834a15.80713,15.80713,0,0,1,4.4834,11.64237,15.92237,15.92237,0,0,1-4.4834,11.64238c-2.96486,3.03714-6.86973,4.4834-11.64236,4.4834a16.09319,16.09319,0,0,1-11.7147-4.4834,15.5782,15.5782,0,0,1-4.5557-11.64238,15.69049,15.69049,0,0,1,4.5557-11.64237A16.09313,16.09313,0,0,1,516.27677,0C521.1217,0,524.95427,1.44626,527.91913,4.4834Z"/>
</svg>
<img
:src="img"
class="logo"
alt="Logo" >
</template>
<script>
export default {
computed: {
img() {
return process.env.VUE_APP_LOGO;
}
},
};
</script>
<style scoped>
.cls-1 {
fill: #17a887;
}
</style>

View File

@ -37,7 +37,7 @@
.logo {
position: relative;
width: 260px;
width: auto;
height: 43px;
}

View File

@ -0,0 +1,7 @@
export default {
data() {
return {
pageTitle: process.env.VUE_APP_JS_TITLE
};
}
};

View File

@ -2,7 +2,7 @@
<div class="hello public-page">
<h1
class="hello__title public-page__title"
data-cy="hello-title">Wollen Sie mySkillbox jetzt im Unterricht verwenden?</h1>
data-cy="hello-title">Wollen Sie {{ pageTitle }} jetzt im Unterricht verwenden?</h1>
<form
class="hello__form hello-form"
novalidate
@ -48,8 +48,10 @@
import {emailExists} from '../hep-client/index';
import HELLO_EMAIL_MUTATION from '@/graphql/gql/local/mutations/helloEmail.gql';
import LoadingButton from '@/components/LoadingButton';
import pageTitleMixin from '@/mixins/page-title';
export default {
mixins: [pageTitleMixin],
components: {
LoadingButton
},

View File

@ -58,10 +58,10 @@
<ul class="license-links">
<li class="license-links__item"><a
:href="teacherEditionUrl"
class="hep-link">mySkillbox für Lehrpersonen</a></li>
class="hep-link">{{ pageTitle }} für Lehrpersonen</a></li>
<li class="license-links__item"><a
:href="studentEditionUrl"
class="hep-link">mySkillbox für Lernende</a></li>
class="hep-link">{{ pageTitle }} für Lernende</a></li>
</ul>
</section>
</div>
@ -75,9 +75,10 @@ import LoadingButton from '@/components/LoadingButton';
import me from '@/mixins/me';
import logout from '@/mixins/logout';
import pageTitleMixin from '@/mixins/page-title';
export default {
mixins: [me, logout],
mixins: [me, logout, pageTitleMixin],
components: {LoadingButton},
data() {

View File

@ -4,7 +4,7 @@
<h1 class="onboarding__heading">Herzlich willkommen!</h1>
<p class="onboarding__claim">
Schauen Sie sich die Einführung an und lernen Sie mySkillbox kennen.
Schauen Sie sich die Einführung an und lernen Sie {{ pageTitle }} kennen.
</p>
</div>
</template>
@ -12,9 +12,13 @@
<script>
import Logo from '@/components/icons/Logo';
import pageTitleMixin from '@/mixins/page-title';
export default {
mixins: [pageTitleMixin],
components: {
Logo
}
},
};
</script>

View File

@ -1,10 +1,11 @@
<template>
<div class="registration public-page">
<header class="info-header">
<p class="info-header__text small-emph">Für <span class="info-header__emph">{{ helloEmail }}</span> haben wir kein Hep Konto gefunden.</p>
<p class="info-header__text small-emph">Für <span class="info-header__emph">{{ helloEmail }}</span> haben wir kein
Hep Konto gefunden.</p>
<h1
class="registration__title public-page__title"
data-cy="registration-title">Damit Sie mySkillbox verwenden können, müssen Sie ein Konto erstellen.</h1>
data-cy="registration-title">Damit Sie {{ pageTitle }} verwenden können, müssen Sie ein Konto erstellen.</h1>
</header>
<form
class="registration__form registration-form"
@ -28,7 +29,8 @@
>
<option
value="Herr"
selected>Herr</option>
selected>Herr
</option>
<option value="Frau">Frau</option>
</select>
</div>
@ -262,13 +264,15 @@
<script>
import {register} from '../hep-client/index';
import HELLO_EMAIL from '@/graphql/gql/local/helloEmail.gql';
import Checkbox from '@/components/Checkbox';
import LoadingButton from '@/components/LoadingButton';
import {register} from '../hep-client/index';
import HELLO_EMAIL from '@/graphql/gql/local/helloEmail.gql';
import Checkbox from '@/components/Checkbox';
import LoadingButton from '@/components/LoadingButton';
function initialData() {
return {
import pageTitleMixin from '@/mixins/page-title';
function initialData() {
return {
prefix: 'Herr',
lastname: '',
firstname: '',
@ -289,129 +293,131 @@ function initialData() {
registrationError: '',
acceptedTermsError: [],
submitted: false,
};
}
};
}
export default {
components: {
LoadingButton,
Checkbox
},
export default {
data() {
return Object.assign(
{
helloEmail: '',
loading: false,
},
initialData()
);
},
mixins: [pageTitleMixin],
components: {
LoadingButton,
Checkbox
},
methods: {
validateBeforeSubmit() {
this.$validator.validate().then(result => {
this.submitted = true;
if (result) {
this.loading = true;
const registrationData = {
customer: {
prefix: this.prefix,
email: this.helloEmail,
firstname: this.firstname,
lastname: this.lastname,
gender: this.prefix === 'Herr' ? 1 : 2,
addresses: [{
street: [this.street],
postcode: this.postcode,
city: this.city,
country_id: 'CH',
data() {
return Object.assign(
{
helloEmail: '',
loading: false,
},
initialData()
);
},
methods: {
validateBeforeSubmit() {
this.$validator.validate().then(result => {
this.submitted = true;
if (result) {
this.loading = true;
const registrationData = {
customer: {
prefix: this.prefix,
email: this.helloEmail,
firstname: this.firstname,
lastname: this.lastname,
prefix: this.prefix,
default_shipping: true,
default_billing: true
}]
},
password: this.password,
accepted_terms: this.acceptedTerms
};
gender: this.prefix === 'Herr' ? 1 : 2,
addresses: [{
street: [this.street],
postcode: this.postcode,
city: this.city,
country_id: 'CH',
firstname: this.firstname,
lastname: this.lastname,
prefix: this.prefix,
default_shipping: true,
default_billing: true
}]
},
password: this.password,
accepted_terms: this.acceptedTerms
};
register(registrationData).then((response) => {
this.loading = false;
if (response.data.id && response.data.id > 0) {
this.$router.push({name: 'checkEmail'});
}
})
.catch((error) => {
this.loading = false;
console.warn(error);
if (error.response.data.message) {
switch (error.response.data.message) {
case 'Ein Kunde mit der gleichen E-Mail-Adresse existiert bereits in einer zugeordneten Website.':
this.emailErrors = ['Die angegebene E-Mail ist bereits registriert.'];
break;
case 'Sie müssen hier zustimmen, damit Sie sich registrieren können.':
this.acceptedTermsError = ['Sie müssen hier zustimmen, damit Sie sich registrieren können.'];
break;
default:
this.registrationError = 'Es ist ein Fehler aufgetreten. Bitte versuchen Sie nochmals.';
register(registrationData).then((response) => {
this.loading = false;
if (response.data.id && response.data.id > 0) {
this.$router.push({name: 'checkEmail'});
}
} else {
this.registrationError = 'Es ist ein Fehler aufgetreten. Bitte versuchen Sie nochmals.';
}
});
}
});
})
.catch((error) => {
this.loading = false;
console.warn(error);
if (error.response.data.message) {
switch (error.response.data.message) {
case 'Ein Kunde mit der gleichen E-Mail-Adresse existiert bereits in einer zugeordneten Website.':
this.emailErrors = ['Die angegebene E-Mail ist bereits registriert.'];
break;
case 'Sie müssen hier zustimmen, damit Sie sich registrieren können.':
this.acceptedTermsError = ['Sie müssen hier zustimmen, damit Sie sich registrieren können.'];
break;
default:
this.registrationError = 'Es ist ein Fehler aufgetreten. Bitte versuchen Sie nochmals.';
}
} else {
this.registrationError = 'Es ist ein Fehler aufgetreten. Bitte versuchen Sie nochmals.';
}
});
}
});
},
resetForm() {
Object.assign(this.$data, initialData());
this.$validator.reset();
}
},
resetForm() {
Object.assign(this.$data, initialData());
this.$validator.reset();
}
},
apollo: {
helloEmail: {
query: HELLO_EMAIL,
result({data}) {
if (data.helloEmail && data.helloEmail.email === '') {
apollo: {
helloEmail: {
query: HELLO_EMAIL,
result({data}) {
if (data.helloEmail && data.helloEmail.email === '') {
this.$router.push({name: 'hello'});
}
},
update(data) {
return data.helloEmail.email;
},
error() {
console.log('error');
this.$router.push({name: 'hello'});
}
},
update(data) {
return data.helloEmail.email;
},
error() {
console.log('error');
this.$router.push({name: 'hello'});
}
},
},
};
};
</script>
<style scoped lang="scss">
@import "@/styles/_variables.scss";
@import "@/styles/_mixins.scss";
@import "@/styles/_variables.scss";
@import "@/styles/_mixins.scss";
.text-link {
font-family: $sans-serif-font-family;
color: $color-brand;
}
.actions {
&__reset {
display: inline-block;
margin-left: $large-spacing;
}
}
.registration {
&__text {
.text-link {
font-family: $sans-serif-font-family;
margin-bottom: $small-spacing;
color: $color-brand;
}
.actions {
&__reset {
display: inline-block;
margin-left: $large-spacing;
}
}
.registration {
&__text {
font-family: $sans-serif-font-family;
margin-bottom: $small-spacing;
}
}
}
</style>

View File

@ -42,8 +42,8 @@
</div>
<div class="start-page__onboarding">
<h2 class="start-page__heading">Kennen Sie schon alle Bereiche von mySkillbox?</h2>
<p class="start-page__paragraph">Schauen Sie sich jetzt die Einführung zu mySkillbox an.</p>
<h2 class="start-page__heading">Kennen Sie schon alle Bereiche von {{ pageTitle }}?</h2>
<p class="start-page__paragraph">Schauen Sie sich jetzt die Einführung zu {{ pageTitle }} an.</p>
<router-link
:to="{name: 'onboarding-start'}"
class="button button--primary">Los geht's
@ -69,9 +69,11 @@
import meQuery from '@/mixins/me';
import news from '@/mixins/news';
import pageTitleMixin from '@/mixins/page-title';
export default {
mixins: [meQuery, news],
mixins: [meQuery, news, pageTitleMixin],
components: {
MobileHeader,

View File

@ -14,15 +14,11 @@ import submissions from '@/pages/submissions';
import p404 from '@/pages/p404';
import start from '@/pages/start';
import submission from '@/pages/studentSubmission';
import portfolio from '@/pages/portfolio';
import project from '@/pages/project';
import profilePage from '@/pages/profile';
import profile from '@/components/profile/Profile';
import myClass from '@/pages/myClass';
import activity from '@/pages/activity';
import Router from 'vue-router';
import editProject from '@/pages/editProject';
import newProject from '@/pages/newProject';
import surveyPage from '@/pages/survey';
import styleGuidePage from '@/pages/styleguide';
import moduleRoom from '@/pages/moduleRoom';
@ -44,6 +40,7 @@ import onboardingStart from '@/pages/onboarding/start';
import onboardingStep1 from '@/pages/onboarding/step1';
import onboardingStep2 from '@/pages/onboarding/step2';
import onboardingStep3 from '@/pages/onboarding/step3';
import portfolioRoutes from './portfolio.routes';
import store from '@/store/index';
@ -121,10 +118,7 @@ const routes = [
},
{path: '/instrument/:slug', name: 'instrument', component: instrument, meta: {layout: 'simple'}},
{path: '/submission/:id', name: 'submission', component: submission, meta: {layout: 'simple'}},
{path: '/portfolio', name: 'portfolio', component: portfolio},
{path: '/portfolio/:slug', name: 'project', component: project, props: true},
{path: '/new-project/', name: 'new-project', component: newProject},
{path: '/edit-project/:id', name: 'edit-project', component: editProject, props: true},
...portfolioRoutes,
{path: '/topic/:topicSlug', name: 'topic', component: topic, alias: '/book/topic/:topicSlug'},
{
path: '/me',

View File

@ -0,0 +1,15 @@
import portfolio from '@/pages/portfolio/portfolio';
import project from '@/pages/portfolio/project';
import newProject from '@/pages/portfolio/newProject';
import editProject from '@/pages/portfolio/editProject';
const portfolioRoutes = [
{path: '/portfolio', name: 'portfolio', component: portfolio},
{path: '/portfolio/:slug', name: 'project', component: project, props: true},
{path: '/new-project/', name: 'new-project', component: newProject},
{path: '/edit-project/:id', name: 'edit-project', component: editProject, props: true},
];
const routes = process.env.VUE_APP_ENABLE_PORTFOLIO ? portfolioRoutes : [];
export default routes;

View File

@ -1,4 +1,4 @@
@import 'vue-toast-notification/dist/theme-default.css';
@import '~vue-toast-notification/dist/theme-default.css';
.toast .toast-text {
color: $color-white;

View File

@ -3,45 +3,45 @@
*/
/* accent */
$color-accent-1-dark: #DAA009;
$color-accent-1: #FFB800;
$color-accent-1-light: #FFF5D9;
$color-accent-2-dark: #0F7CAC;
$color-accent-2: #078CC6;
$color-accent-2-light: #DBEEF6;
$color-accent-3-dark: #D66655;
$color-accent-3: #FA715C;
$color-accent-3-light: #FFEAE7;
$color-accent-4-dark: #99B53E;
$color-accent-4: #AFD240;
$color-accent-4-light: #F3F9E3;
$color-accent-5-dark: #09496F;
$color-accent-5: #004E7C;
$color-accent-5: #DBE6EC;
$color-accent-1-dark: #DAA009 !default;
$color-accent-1: #FFB800 !default;
$color-accent-1-light: #FFF5D9 !default;
$color-accent-2-dark: #0F7CAC !default;
$color-accent-2: #078CC6 !default;
$color-accent-2-light: #DBEEF6 !default;
$color-accent-3-dark: #D66655 !default;
$color-accent-3: #FA715C !default;
$color-accent-3-light: #FFEAE7 !default;
$color-accent-4-dark: #99B53E !default;
$color-accent-4: #AFD240 !default;
$color-accent-4-light: #F3F9E3 !default;
$color-accent-5-dark: #09496F !default;
$color-accent-5: #004E7C !default;
$color-accent-5: #DBE6EC !default;
$color-accent-1-list: $color-accent-1 $color-accent-1-light $color-accent-1-dark;
$color-accent-2-list: $color-accent-2 $color-accent-2-light $color-accent-2-dark;
$color-accent-4-list: $color-accent-4 $color-accent-4-light $color-accent-4-dark;
/* brand */
$color-brand-dark: #138E72;
$color-brand: #17A887;
$color-brand-light: #DCF2ED;
$color-brand-dark: #138E72 !default;
$color-brand: #17A887 !default;
$color-brand-light: #DCF2ED !default;
$color-error: #C02108;
$color-error: #C02108 !default;
/* greyscale */
$color-silver: #d0d0d0;
$color-silver-light: #f0f0f0;
$color-silver-dark: #aaaaaa;
$color-silver: #d0d0d0 !default;
$color-silver-light: #f0f0f0 !default;
$color-silver-dark: #aaaaaa !default;
$color-charcoal: #616161;
$color-charcoal-light: #828282;
$color-charcoal-dark: #333333;
$color-charcoal: #616161 !default;
$color-charcoal-light: #828282 !default;
$color-charcoal-dark: #333333 !default;
//$color-grey--lighter: rgba(51, 51, 51, 0.18);
$color-grey--lighter: transparent;
$color-white: #ffffff;
$color-grey--lighter: transparent !default;
$color-white: #ffffff !default;
$header-color: $color-charcoal-dark;
$intro-color: $color-silver-dark;

View File

@ -0,0 +1,21 @@
/* accent */
$color-accent-1-dark: #2B8C68;
$color-accent-1: #37B284;
$color-accent-1-light: #C1ECDC;
$color-accent-2-dark: #C6551F;
$color-accent-2: #F27F48;
$color-accent-2-light: #FCE4D9;
$color-accent-3-dark: #D66655;
$color-accent-3: #35529E;
$color-accent-3-light: #CCDAFD;
$color-accent-4-dark: #C7A631;
$color-accent-4: #F3D56C;
$color-accent-4-light: #FBF2D2;
$color-accent-5-dark: #55A7B2;
$color-accent-5: #80D5E1;
$color-accent-5: #D4F3F7;
/* brand */
$color-brand-dark: #8FA62B;
$color-brand: #B0CB39;
$color-brand-light: #E8F0C6;

View File

@ -1,12 +0,0 @@
module.exports = {
css: {
loaderOptions: {
sass: {
data: `
@import "@/assets/_variables.scss";
@import "@/assets/main.scss";
`
}
}
},
};

View File

@ -1,9 +1,30 @@
export SECRET_KEY=FOOBAR
export DATABASE_URL=postgres://skillbox:skillbox@localhost:5432/skillbox
export HEP_URL=https://stage.hep-verlag.ch
export DEBUG=True
export USE_AWS=False
export AWS_ACCESS_KEY_ID=
export AWS_SECRET_ACCESS_KEY=
export AWS_STORAGE_BUCKET_NAME=
export DATABASE_URL=postgres://skillbox:skillbox@localhost:5432/skillbox
export DEBUG=True
export EMAIL_HOST=
export EMAIL_HOST_PASSWORD=
export EMAIL_HOST_USER=
export EMAIL_PORT=
export GOOGLE_ANALYTICS_ID=
export HEP_ADMIN_PASSWORD=
export HEP_ADMIN_USER=
export HEP_URL=
export HEP_URL=https://stage.hep-verlag.ch
export MATOMO_HOST=
export MATOMO_SITE_ID=
export NEW_RELIC_APP_NAME=
export NEW_RELIC_LICENSE_KEY=
export NEW_RELIC_LOG=
export PAPERTRAIL_API_TOKEN=
export SECRET_KEY=FOOBAR
export SENDGRID_API_KEY=
export SENTRY_DSN=
export TASKBASE_BASEURL=
export TASKBASE_PASSWORD=
export TASKBASE_SUPERPASSWORD=
export TASKBASE_SUPERUSER=
export TASKBASE_USER=
export USE_AWS=False
export WEB_CONCURRENCY=

View File

@ -1,8 +1,4 @@
import csv
from django.core.management import BaseCommand
import os
from django.conf import settings
from users.models import User, SchoolClass, Role, UserRole
@ -28,7 +24,11 @@ class Command(BaseCommand):
user.save()
self.stdout.write("Assigning teacher role")
teacher = Role.objects.get(key='teacher')
try:
teacher = Role.objects.get(key='teacher')
except Role.DoesNotExist:
Role.objects.create_default_roles()
teacher = Role.objects.get(key='teacher')
UserRole.objects.get_or_create(user=user, role=teacher)
school, _ = SchoolClass.objects.get_or_create(name=school_class_name)

View File

@ -1,6 +1,6 @@
from django.core.management import BaseCommand
from assignments.models import Assignment, StudentSubmission
from assignments.models import Assignment
import random
import json
from django.db.models import Q

View File

@ -1,6 +1,5 @@
from django.core.management import BaseCommand
from notes.models import ContentBlockBookmark, ModuleBookmark, ChapterBookmark
from users.models import SchoolClass

View File

@ -396,6 +396,7 @@ TASKBASE_PASSWORD = os.environ.get("TASKBASE_PASSWORD")
TASKBASE_SUPERUSER = os.environ.get("TASKBASE_SUPERUSER")
TASKBASE_SUPERPASSWORD = os.environ.get("TASKBASE_SUPERPASSWORD")
TASKBASE_BASEURL = os.environ.get("TASKBASE_BASEURL")
ENABLE_SPELLCHECK = True if TASKBASE_BASEURL else False
TEST_RUNNER = 'xmlrunner.extra.djangotestrunner.XMLTestRunner'

BIN
server/core/static/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.9 KiB

4
whitelabel.md Normal file
View File

@ -0,0 +1,4 @@
## Steps for new Instance
- `python server/manage.py create_superuser # guru`
- `python server/manage.py create_teacher mia teacher mia.teacher@getnada.com`