diff --git a/app/Http/Controllers/Admin/GatewayController.php b/app/Http/Controllers/Admin/GatewayController.php new file mode 100644 index 00000000..6904f286 --- /dev/null +++ b/app/Http/Controllers/Admin/GatewayController.php @@ -0,0 +1,14 @@ +all(); + } +} diff --git a/app/Http/Controllers/Admin/PlanController.php b/app/Http/Controllers/Admin/PlanController.php new file mode 100644 index 00000000..a7ffe733 --- /dev/null +++ b/app/Http/Controllers/Admin/PlanController.php @@ -0,0 +1,19 @@ +all(); + } + + public function update(Request $request) + { + return $request->all(); + } +} diff --git a/public/mix-manifest.json b/public/mix-manifest.json index 02bab1e0..f5bcf1ce 100644 --- a/public/mix-manifest.json +++ b/public/mix-manifest.json @@ -1,158 +1,47 @@ { "/js/main.js": "/js/main.js", "/css/app.css": "/css/app.css", - "/js/main.d7957c876d9ba1a28acf.hot-update.js": "/js/main.d7957c876d9ba1a28acf.hot-update.js", - "/js/main.4e890d86ed022b924615.hot-update.js": "/js/main.4e890d86ed022b924615.hot-update.js", - "/js/main.406974838684d3773447.hot-update.js": "/js/main.406974838684d3773447.hot-update.js", - "/js/main.f17c18aae6f004d2e19f.hot-update.js": "/js/main.f17c18aae6f004d2e19f.hot-update.js", - "/js/main.b2210354354904bce88b.hot-update.js": "/js/main.b2210354354904bce88b.hot-update.js", - "/js/main.e196bfd2f5640ac421e6.hot-update.js": "/js/main.e196bfd2f5640ac421e6.hot-update.js", - "/js/main.235e38e85b8ea0a2d5d5.hot-update.js": "/js/main.235e38e85b8ea0a2d5d5.hot-update.js", - "/js/main.d182164a8fa938d010c1.hot-update.js": "/js/main.d182164a8fa938d010c1.hot-update.js", - "/js/main.17a733153f2066d5a794.hot-update.js": "/js/main.17a733153f2066d5a794.hot-update.js", - "/js/main.0bff6239f282813df5af.hot-update.js": "/js/main.0bff6239f282813df5af.hot-update.js", - "/js/main.6d0fb5c2b8a6ab1145a7.hot-update.js": "/js/main.6d0fb5c2b8a6ab1145a7.hot-update.js", - "/js/main.d3594fdee4597bd29370.hot-update.js": "/js/main.d3594fdee4597bd29370.hot-update.js", - "/js/main.216266fda0b18a2befe8.hot-update.js": "/js/main.216266fda0b18a2befe8.hot-update.js", - "/js/main.e3cc83010ecd9e9ed286.hot-update.js": "/js/main.e3cc83010ecd9e9ed286.hot-update.js", - "/js/main.21909be5e014008e717c.hot-update.js": "/js/main.21909be5e014008e717c.hot-update.js", - "/js/main.f3ed01137423c3827454.hot-update.js": "/js/main.f3ed01137423c3827454.hot-update.js", - "/js/main.aaae9760f5d7471cb1eb.hot-update.js": "/js/main.aaae9760f5d7471cb1eb.hot-update.js", - "/js/main.b1773999204ba472dba4.hot-update.js": "/js/main.b1773999204ba472dba4.hot-update.js", - "/js/main.0fbf14dcd6be120e44a4.hot-update.js": "/js/main.0fbf14dcd6be120e44a4.hot-update.js", - "/js/main.f0ab3244c6eb96789913.hot-update.js": "/js/main.f0ab3244c6eb96789913.hot-update.js", - "/js/main.5d5cc40c4f1cfa679ab6.hot-update.js": "/js/main.5d5cc40c4f1cfa679ab6.hot-update.js", - "/js/main.4b46c7d8489a2963f782.hot-update.js": "/js/main.4b46c7d8489a2963f782.hot-update.js", - "/js/main.1f33c17f609d7f2670cd.hot-update.js": "/js/main.1f33c17f609d7f2670cd.hot-update.js", - "/js/main.a591a98dfebe1b296168.hot-update.js": "/js/main.a591a98dfebe1b296168.hot-update.js", - "/js/main.af9565da32f2499f9f32.hot-update.js": "/js/main.af9565da32f2499f9f32.hot-update.js", - "/js/main.995a9429f68543fcba26.hot-update.js": "/js/main.995a9429f68543fcba26.hot-update.js", - "/js/main.8356fb577bf68607f9da.hot-update.js": "/js/main.8356fb577bf68607f9da.hot-update.js", - "/js/main.89bae95020c01a66f07b.hot-update.js": "/js/main.89bae95020c01a66f07b.hot-update.js", - "/js/main.958a5cd37f4e86ddc7e5.hot-update.js": "/js/main.958a5cd37f4e86ddc7e5.hot-update.js", - "/js/main.a6ce1cd48e01aca7a4bb.hot-update.js": "/js/main.a6ce1cd48e01aca7a4bb.hot-update.js", - "/js/main.c02a14a2215eb041c737.hot-update.js": "/js/main.c02a14a2215eb041c737.hot-update.js", - "/js/main.00e22405fa00eb12d3f4.hot-update.js": "/js/main.00e22405fa00eb12d3f4.hot-update.js", - "/js/main.b6d5b3a27efe0885fb44.hot-update.js": "/js/main.b6d5b3a27efe0885fb44.hot-update.js", - "/js/main.6e6045af864dff0706f4.hot-update.js": "/js/main.6e6045af864dff0706f4.hot-update.js", - "/js/main.8b5e496f974b80a24c29.hot-update.js": "/js/main.8b5e496f974b80a24c29.hot-update.js", - "/js/main.2f0fcaff7c458c173a69.hot-update.js": "/js/main.2f0fcaff7c458c173a69.hot-update.js", - "/js/main.007d5e312105e246029a.hot-update.js": "/js/main.007d5e312105e246029a.hot-update.js", - "/js/main.dd10beff96a7b21afbf9.hot-update.js": "/js/main.dd10beff96a7b21afbf9.hot-update.js", - "/js/main.fa6bc81224f7dd0810a6.hot-update.js": "/js/main.fa6bc81224f7dd0810a6.hot-update.js", - "/js/main.b5a057b2b6a0db1245de.hot-update.js": "/js/main.b5a057b2b6a0db1245de.hot-update.js", - "/js/main.0a939c3814e21613d202.hot-update.js": "/js/main.0a939c3814e21613d202.hot-update.js", - "/js/main.5c85d90242cdb28c35b5.hot-update.js": "/js/main.5c85d90242cdb28c35b5.hot-update.js", - "/js/main.00774663299d249acfdd.hot-update.js": "/js/main.00774663299d249acfdd.hot-update.js", - "/js/main.cb173ba676a358025873.hot-update.js": "/js/main.cb173ba676a358025873.hot-update.js", - "/js/main.c61849a7dee8921d46e3.hot-update.js": "/js/main.c61849a7dee8921d46e3.hot-update.js", - "/js/main.d8623d8504cee2a375dd.hot-update.js": "/js/main.d8623d8504cee2a375dd.hot-update.js", - "/js/main.d215b7802b7c1cd9f95a.hot-update.js": "/js/main.d215b7802b7c1cd9f95a.hot-update.js", - "/js/main.0a55a269f88001575d61.hot-update.js": "/js/main.0a55a269f88001575d61.hot-update.js", - "/js/main.2f9f8d2a8df474b2341d.hot-update.js": "/js/main.2f9f8d2a8df474b2341d.hot-update.js", - "/js/main.bf2884d16aa9210fd381.hot-update.js": "/js/main.bf2884d16aa9210fd381.hot-update.js", - "/js/main.e2e117952746597a15c4.hot-update.js": "/js/main.e2e117952746597a15c4.hot-update.js", - "/js/main.d5bb875572c591c47a5b.hot-update.js": "/js/main.d5bb875572c591c47a5b.hot-update.js", - "/js/main.7fb140d0e8a234a008ba.hot-update.js": "/js/main.7fb140d0e8a234a008ba.hot-update.js", - "/js/main.dc4f89c89337cdf35843.hot-update.js": "/js/main.dc4f89c89337cdf35843.hot-update.js", - "/js/main.1e92515c79ede957817b.hot-update.js": "/js/main.1e92515c79ede957817b.hot-update.js", - "/js/main.5032d61205befa4ec2c8.hot-update.js": "/js/main.5032d61205befa4ec2c8.hot-update.js", - "/js/main.87ed7386802a5c9d729b.hot-update.js": "/js/main.87ed7386802a5c9d729b.hot-update.js", - "/js/main.ae92fc6a16f87c5928ee.hot-update.js": "/js/main.ae92fc6a16f87c5928ee.hot-update.js", - "/js/main.6a6b856011dc735059fd.hot-update.js": "/js/main.6a6b856011dc735059fd.hot-update.js", - "/js/main.1eb8ae64fa7e12ce0522.hot-update.js": "/js/main.1eb8ae64fa7e12ce0522.hot-update.js", - "/js/main.680d7cb31d67478009cf.hot-update.js": "/js/main.680d7cb31d67478009cf.hot-update.js", - "/js/main.55ccdbf3f71ee08e5c5a.hot-update.js": "/js/main.55ccdbf3f71ee08e5c5a.hot-update.js", - "/js/main.48bd4e9f7383d338d9d6.hot-update.js": "/js/main.48bd4e9f7383d338d9d6.hot-update.js", - "/js/main.7e4837faea1327fd0558.hot-update.js": "/js/main.7e4837faea1327fd0558.hot-update.js", - "/js/main.6b0b28a2695ca29a67e1.hot-update.js": "/js/main.6b0b28a2695ca29a67e1.hot-update.js", - "/js/main.6d404ee3d929a70f93e6.hot-update.js": "/js/main.6d404ee3d929a70f93e6.hot-update.js", - "/js/main.2756711f09f0cae3df54.hot-update.js": "/js/main.2756711f09f0cae3df54.hot-update.js", - "/js/main.0436c57836bdb9c85082.hot-update.js": "/js/main.0436c57836bdb9c85082.hot-update.js", - "/js/main.e0f332f5ea7dad4ed76a.hot-update.js": "/js/main.e0f332f5ea7dad4ed76a.hot-update.js", - "/js/main.8ba29dda57b43c22d0e5.hot-update.js": "/js/main.8ba29dda57b43c22d0e5.hot-update.js", - "/js/main.27fb467e6c01734bee77.hot-update.js": "/js/main.27fb467e6c01734bee77.hot-update.js", - "/js/main.24bb2ecc2f361e964b08.hot-update.js": "/js/main.24bb2ecc2f361e964b08.hot-update.js", - "/js/main.c046f5589ef378a7eedd.hot-update.js": "/js/main.c046f5589ef378a7eedd.hot-update.js", - "/js/main.124ecc2a54e393bd05a5.hot-update.js": "/js/main.124ecc2a54e393bd05a5.hot-update.js", - "/js/main.fec944d2d4120986ed76.hot-update.js": "/js/main.fec944d2d4120986ed76.hot-update.js", - "/js/main.87557d0f402313981ed7.hot-update.js": "/js/main.87557d0f402313981ed7.hot-update.js", - "/js/main.5cbc4fb5d1d5ccb6c67f.hot-update.js": "/js/main.5cbc4fb5d1d5ccb6c67f.hot-update.js", - "/js/main.f2302f079f17b5d8ea4f.hot-update.js": "/js/main.f2302f079f17b5d8ea4f.hot-update.js", - "/js/main.5e8ce1af3475e2c4fd03.hot-update.js": "/js/main.5e8ce1af3475e2c4fd03.hot-update.js", - "/js/main.7618fb00b4c7270e93f3.hot-update.js": "/js/main.7618fb00b4c7270e93f3.hot-update.js", - "/js/main.29f6da9ce9ce6d29e9a0.hot-update.js": "/js/main.29f6da9ce9ce6d29e9a0.hot-update.js", - "/js/main.9b65f148b0fbf422640b.hot-update.js": "/js/main.9b65f148b0fbf422640b.hot-update.js", - "/js/main.1ff2b5f4b07dd7ab3bf3.hot-update.js": "/js/main.1ff2b5f4b07dd7ab3bf3.hot-update.js", - "/js/main.bbdc5968e8099bf67d30.hot-update.js": "/js/main.bbdc5968e8099bf67d30.hot-update.js", - "/js/main.1d6a8e95a7e102c96034.hot-update.js": "/js/main.1d6a8e95a7e102c96034.hot-update.js", - "/js/main.8f9c402258b5159a3e1c.hot-update.js": "/js/main.8f9c402258b5159a3e1c.hot-update.js", - "/js/main.f36bcb5ff037f8383fb1.hot-update.js": "/js/main.f36bcb5ff037f8383fb1.hot-update.js", - "/js/main.b8300b820d69db843b36.hot-update.js": "/js/main.b8300b820d69db843b36.hot-update.js", - "/js/main.d2e3a6c4974a7e8ff873.hot-update.js": "/js/main.d2e3a6c4974a7e8ff873.hot-update.js", - "/js/main.fbedd16523ea43f39112.hot-update.js": "/js/main.fbedd16523ea43f39112.hot-update.js", - "/js/main.077210fa2c703275e641.hot-update.js": "/js/main.077210fa2c703275e641.hot-update.js", - "/js/main.6fe82ab7c1466601559d.hot-update.js": "/js/main.6fe82ab7c1466601559d.hot-update.js", - "/js/main.6b49cd105280c0d9eec1.hot-update.js": "/js/main.6b49cd105280c0d9eec1.hot-update.js", - "/js/main.d06c68b66224a3f57404.hot-update.js": "/js/main.d06c68b66224a3f57404.hot-update.js", - "/js/main.00e33c7f4f49d16b81c0.hot-update.js": "/js/main.00e33c7f4f49d16b81c0.hot-update.js", - "/js/main.4cb449cfacc1ad049b10.hot-update.js": "/js/main.4cb449cfacc1ad049b10.hot-update.js", - "/js/main.8a151536768e310a8be6.hot-update.js": "/js/main.8a151536768e310a8be6.hot-update.js", - "/js/main.b895caf874ee35ffad49.hot-update.js": "/js/main.b895caf874ee35ffad49.hot-update.js", - "/js/main.fedf26b87330c9d28ce6.hot-update.js": "/js/main.fedf26b87330c9d28ce6.hot-update.js", - "/js/main.eee182e375e0b730151b.hot-update.js": "/js/main.eee182e375e0b730151b.hot-update.js", - "/js/main.5a14acdac5c4e3f238fa.hot-update.js": "/js/main.5a14acdac5c4e3f238fa.hot-update.js", - "/js/main.91998cb13baa6fcc9e12.hot-update.js": "/js/main.91998cb13baa6fcc9e12.hot-update.js", - "/js/main.4364f483473c3422a3fe.hot-update.js": "/js/main.4364f483473c3422a3fe.hot-update.js", - "/js/main.3d2b454bd0f8433f4823.hot-update.js": "/js/main.3d2b454bd0f8433f4823.hot-update.js", - "/js/main.d4a4d11cdffebc8732b5.hot-update.js": "/js/main.d4a4d11cdffebc8732b5.hot-update.js", - "/js/main.983be6ed686be98e5dbc.hot-update.js": "/js/main.983be6ed686be98e5dbc.hot-update.js", - "/js/main.105b1ef9227de3315bc4.hot-update.js": "/js/main.105b1ef9227de3315bc4.hot-update.js", - "/js/main.feb71af0efe71368e38a.hot-update.js": "/js/main.feb71af0efe71368e38a.hot-update.js", - "/js/main.e22452ffaa3df68a13bb.hot-update.js": "/js/main.e22452ffaa3df68a13bb.hot-update.js", - "/js/main.9211640ac2b27c13036b.hot-update.js": "/js/main.9211640ac2b27c13036b.hot-update.js", - "/js/main.bfb622ba2160c1820dd7.hot-update.js": "/js/main.bfb622ba2160c1820dd7.hot-update.js", - "/js/main.5a62e36c7b60d0aec9a3.hot-update.js": "/js/main.5a62e36c7b60d0aec9a3.hot-update.js", - "/js/main.84390e51ac68296d613c.hot-update.js": "/js/main.84390e51ac68296d613c.hot-update.js", - "/js/main.c5d4758bbda279be494e.hot-update.js": "/js/main.c5d4758bbda279be494e.hot-update.js", - "/js/main.4ac065dcb6832f89542a.hot-update.js": "/js/main.4ac065dcb6832f89542a.hot-update.js", - "/js/main.bb626cbd51998139ec99.hot-update.js": "/js/main.bb626cbd51998139ec99.hot-update.js", - "/js/main.5e844a987d6b947820cb.hot-update.js": "/js/main.5e844a987d6b947820cb.hot-update.js", - "/js/main.10276fdc63c1427a7c35.hot-update.js": "/js/main.10276fdc63c1427a7c35.hot-update.js", - "/js/main.5470953155b8c49d75b2.hot-update.js": "/js/main.5470953155b8c49d75b2.hot-update.js", - "/js/main.a1847d8ccc07e9b27709.hot-update.js": "/js/main.a1847d8ccc07e9b27709.hot-update.js", - "/js/main.45ef729d7e90a2c182ef.hot-update.js": "/js/main.45ef729d7e90a2c182ef.hot-update.js", - "/js/main.65018038046a65411361.hot-update.js": "/js/main.65018038046a65411361.hot-update.js", - "/js/main.72654af8787c4e3d0b60.hot-update.js": "/js/main.72654af8787c4e3d0b60.hot-update.js", - "/js/main.531e7f60425caf85ed37.hot-update.js": "/js/main.531e7f60425caf85ed37.hot-update.js", - "/js/main.12ccdeac939866eef9f3.hot-update.js": "/js/main.12ccdeac939866eef9f3.hot-update.js", - "/js/main.cf3e841ddff22b0be3d4.hot-update.js": "/js/main.cf3e841ddff22b0be3d4.hot-update.js", - "/js/main.e9338e272019f23c85cd.hot-update.js": "/js/main.e9338e272019f23c85cd.hot-update.js", - "/js/main.0711c7f21d7fc686f0de.hot-update.js": "/js/main.0711c7f21d7fc686f0de.hot-update.js", - "/js/main.3e7b963de4493d7261e8.hot-update.js": "/js/main.3e7b963de4493d7261e8.hot-update.js", - "/js/main.0ce23740ff2afd6ca7fb.hot-update.js": "/js/main.0ce23740ff2afd6ca7fb.hot-update.js", - "/js/main.8c558ee8a17f29833410.hot-update.js": "/js/main.8c558ee8a17f29833410.hot-update.js", - "/js/main.d2f209053a4ec2a5f2cb.hot-update.js": "/js/main.d2f209053a4ec2a5f2cb.hot-update.js", - "/js/main.a067ed016dce4c1cbc4a.hot-update.js": "/js/main.a067ed016dce4c1cbc4a.hot-update.js", - "/js/main.8f4c07d1497862035a44.hot-update.js": "/js/main.8f4c07d1497862035a44.hot-update.js", - "/js/main.2a948f0bd086822c473b.hot-update.js": "/js/main.2a948f0bd086822c473b.hot-update.js", - "/js/main.1e0973fcb77de0c53b4c.hot-update.js": "/js/main.1e0973fcb77de0c53b4c.hot-update.js", - "/js/main.1c306f803d5092dc58e7.hot-update.js": "/js/main.1c306f803d5092dc58e7.hot-update.js", - "/js/main.7800f2f0da46630be27a.hot-update.js": "/js/main.7800f2f0da46630be27a.hot-update.js", - "/js/main.d1e07574dd7010cc4122.hot-update.js": "/js/main.d1e07574dd7010cc4122.hot-update.js", - "/js/main.7accb28998dd477ac303.hot-update.js": "/js/main.7accb28998dd477ac303.hot-update.js", - "/js/main.e160e66a41385e542810.hot-update.js": "/js/main.e160e66a41385e542810.hot-update.js", - "/js/main.9f6dc35302dff20e2b35.hot-update.js": "/js/main.9f6dc35302dff20e2b35.hot-update.js", - "/js/main.ec87834c8f3549ebf75a.hot-update.js": "/js/main.ec87834c8f3549ebf75a.hot-update.js", - "/js/main.cd06d1c2a7c7b9843e79.hot-update.js": "/js/main.cd06d1c2a7c7b9843e79.hot-update.js", - "/js/main.d6a4081a8417e7d18dd3.hot-update.js": "/js/main.d6a4081a8417e7d18dd3.hot-update.js", - "/js/main.d5b976745e134408d7ce.hot-update.js": "/js/main.d5b976745e134408d7ce.hot-update.js", - "/js/main.3aeb7f943ca75d272206.hot-update.js": "/js/main.3aeb7f943ca75d272206.hot-update.js", - "/js/main.3ddbe46fad29f85f428f.hot-update.js": "/js/main.3ddbe46fad29f85f428f.hot-update.js", - "/js/main.16f43954da58d892be9c.hot-update.js": "/js/main.16f43954da58d892be9c.hot-update.js", - "/js/main.3a2cc186ebd51958931f.hot-update.js": "/js/main.3a2cc186ebd51958931f.hot-update.js", - "/js/main.381ebae33717640ec595.hot-update.js": "/js/main.381ebae33717640ec595.hot-update.js", - "/js/main.33a9277a27bc43ed2a03.hot-update.js": "/js/main.33a9277a27bc43ed2a03.hot-update.js", - "/js/main.280a722c6db8975059a0.hot-update.js": "/js/main.280a722c6db8975059a0.hot-update.js", - "/js/main.22596cb51d24d038668d.hot-update.js": "/js/main.22596cb51d24d038668d.hot-update.js" + "/js/main.a501882e1824ddb9d44c.hot-update.js": "/js/main.a501882e1824ddb9d44c.hot-update.js", + "/js/main.23d5523fe23375a88651.hot-update.js": "/js/main.23d5523fe23375a88651.hot-update.js", + "/js/main.00c3f4d09159cfd1a99e.hot-update.js": "/js/main.00c3f4d09159cfd1a99e.hot-update.js", + "/js/main.cc7a72c7a3ebde670abe.hot-update.js": "/js/main.cc7a72c7a3ebde670abe.hot-update.js", + "/js/main.112e117babc9a8bd4993.hot-update.js": "/js/main.112e117babc9a8bd4993.hot-update.js", + "/js/main.e786ee001157ac675460.hot-update.js": "/js/main.e786ee001157ac675460.hot-update.js", + "/js/main.6dff06d6eb3e7c04b692.hot-update.js": "/js/main.6dff06d6eb3e7c04b692.hot-update.js", + "/js/main.5258b1b99b6a9e67182d.hot-update.js": "/js/main.5258b1b99b6a9e67182d.hot-update.js", + "/js/main.5cd86eeb5dfa909343a3.hot-update.js": "/js/main.5cd86eeb5dfa909343a3.hot-update.js", + "/js/main.7f2dd3aad59432926740.hot-update.js": "/js/main.7f2dd3aad59432926740.hot-update.js", + "/js/main.4192c6d91f1c3993c8f1.hot-update.js": "/js/main.4192c6d91f1c3993c8f1.hot-update.js", + "/js/main.fbd9f9e95eae83a1f42e.hot-update.js": "/js/main.fbd9f9e95eae83a1f42e.hot-update.js", + "/js/main.88e77f7efb28af45a444.hot-update.js": "/js/main.88e77f7efb28af45a444.hot-update.js", + "/js/main.c4a876e3474204aa1718.hot-update.js": "/js/main.c4a876e3474204aa1718.hot-update.js", + "/js/main.6e9ce229ff233a01ca26.hot-update.js": "/js/main.6e9ce229ff233a01ca26.hot-update.js", + "/js/main.0723f3fb2dd2f5541629.hot-update.js": "/js/main.0723f3fb2dd2f5541629.hot-update.js", + "/js/main.af706670bbde4b96968d.hot-update.js": "/js/main.af706670bbde4b96968d.hot-update.js", + "/js/main.efdabbf9dec9f8faa560.hot-update.js": "/js/main.efdabbf9dec9f8faa560.hot-update.js", + "/js/main.9102b6202dd1560ad523.hot-update.js": "/js/main.9102b6202dd1560ad523.hot-update.js", + "/js/main.45200406e1e76097118c.hot-update.js": "/js/main.45200406e1e76097118c.hot-update.js", + "/js/main.048512ed38cfb395c00f.hot-update.js": "/js/main.048512ed38cfb395c00f.hot-update.js", + "/js/main.cb4787a2577affeea53b.hot-update.js": "/js/main.cb4787a2577affeea53b.hot-update.js", + "/js/main.7db0eb421c5a4f520278.hot-update.js": "/js/main.7db0eb421c5a4f520278.hot-update.js", + "/js/main.633408d2cac028d44bf9.hot-update.js": "/js/main.633408d2cac028d44bf9.hot-update.js", + "/js/main.fd6456b8cc0995ffcfd0.hot-update.js": "/js/main.fd6456b8cc0995ffcfd0.hot-update.js", + "/js/main.c95f3222787de9f3fc40.hot-update.js": "/js/main.c95f3222787de9f3fc40.hot-update.js", + "/js/main.1fc1222d368a08d29f72.hot-update.js": "/js/main.1fc1222d368a08d29f72.hot-update.js", + "/js/main.f82e1b2a21f5952f6094.hot-update.js": "/js/main.f82e1b2a21f5952f6094.hot-update.js", + "/js/main.c8f3130cd90d5f861582.hot-update.js": "/js/main.c8f3130cd90d5f861582.hot-update.js", + "/js/main.a678e1ea71adf201cc34.hot-update.js": "/js/main.a678e1ea71adf201cc34.hot-update.js", + "/js/main.1d9c19ea30c8579c656e.hot-update.js": "/js/main.1d9c19ea30c8579c656e.hot-update.js", + "/js/main.aaec1e4a4093928ec963.hot-update.js": "/js/main.aaec1e4a4093928ec963.hot-update.js", + "/js/main.63f3de6f8a15e43d13e3.hot-update.js": "/js/main.63f3de6f8a15e43d13e3.hot-update.js", + "/js/main.9af22655a917576ba617.hot-update.js": "/js/main.9af22655a917576ba617.hot-update.js", + "/js/main.4693e155bfb0b0cd5b0b.hot-update.js": "/js/main.4693e155bfb0b0cd5b0b.hot-update.js", + "/js/main.b193112a7666b6d18c52.hot-update.js": "/js/main.b193112a7666b6d18c52.hot-update.js", + "/js/main.ce3a02f5cca00363fce4.hot-update.js": "/js/main.ce3a02f5cca00363fce4.hot-update.js", + "/js/main.2523317251b311d6636d.hot-update.js": "/js/main.2523317251b311d6636d.hot-update.js", + "/js/main.5c951cd3429cbcdde665.hot-update.js": "/js/main.5c951cd3429cbcdde665.hot-update.js", + "/js/main.a1786d42feb161e19678.hot-update.js": "/js/main.a1786d42feb161e19678.hot-update.js", + "/js/main.267e7c60f17176c91054.hot-update.js": "/js/main.267e7c60f17176c91054.hot-update.js", + "/js/main.3c8086334fd08b0c9984.hot-update.js": "/js/main.3c8086334fd08b0c9984.hot-update.js", + "/js/main.53660e63381af24743c1.hot-update.js": "/js/main.53660e63381af24743c1.hot-update.js" } diff --git a/resources/js/components/Mobile/MenuItemList.vue b/resources/js/components/Mobile/MenuItemList.vue index 87925fdc..37cf738a 100644 --- a/resources/js/components/Mobile/MenuItemList.vue +++ b/resources/js/components/Mobile/MenuItemList.vue @@ -11,6 +11,9 @@ + + + {{ link.title }} @@ -24,8 +27,11 @@ import { ChevronRightIcon, UploadCloudIcon, + CreditCardIcon, HardDriveIcon, + FileTextIcon, SettingsIcon, + DatabaseIcon, Trash2Icon, PowerIcon, ShareIcon, @@ -37,6 +43,9 @@ export default { name: 'MenuBar', components: { + CreditCardIcon, + DatabaseIcon, + FileTextIcon, ChevronRightIcon, UploadCloudIcon, HardDriveIcon, @@ -68,7 +77,7 @@ .menu-icon { - path, line, polyline, rect, circle { + path, line, polyline, rect, circle, ellipse { stroke: $red; } } @@ -87,7 +96,7 @@ vertical-align: middle; } - path, line, polyline, rect, circle { + path, line, polyline, rect, circle, ellipse { stroke: $text; } } @@ -110,7 +119,7 @@ .menu-icon { - path, line, polyline, rect, circle { + path, line, polyline, rect, circle, ellipse { stroke: $dark_mode_text_primary; } } diff --git a/resources/js/components/Others/Layout/PageTab.vue b/resources/js/components/Others/Layout/PageTab.vue new file mode 100644 index 00000000..7eaf6e8b --- /dev/null +++ b/resources/js/components/Others/Layout/PageTab.vue @@ -0,0 +1,18 @@ + + + + + diff --git a/resources/js/components/Others/Layout/PageTabGroup.vue b/resources/js/components/Others/Layout/PageTabGroup.vue new file mode 100644 index 00000000..72eb6220 --- /dev/null +++ b/resources/js/components/Others/Layout/PageTabGroup.vue @@ -0,0 +1,20 @@ + + + + + diff --git a/resources/js/components/Others/MobileNavigation.vue b/resources/js/components/Others/MobileNavigation.vue index 486365c5..d20c0b06 100644 --- a/resources/js/components/Others/MobileNavigation.vue +++ b/resources/js/components/Others/MobileNavigation.vue @@ -62,15 +62,15 @@ isVisible: true, }, { - icon: 'settings', + icon: 'user', title: this.$t('menu.settings'), routeName: 'Profile', isVisible: true, }, { - icon: 'users', + icon: 'settings', title: this.$t('menu.admin'), - routeName: 'Users', + routeName: 'AdminMobileMenu', isVisible: this.app.user.role === 'admin', }, { diff --git a/resources/js/components/Others/Tables/DatatableWrapper.vue b/resources/js/components/Others/Tables/DatatableWrapper.vue index 35b68526..a608b4e0 100644 --- a/resources/js/components/Others/Tables/DatatableWrapper.vue +++ b/resources/js/components/Others/Tables/DatatableWrapper.vue @@ -257,9 +257,10 @@ span, a.page-link { @include font-size(15); - font-weight: 700; - padding: 10px 0; + font-weight: 600; + padding: 10px 35px 10px 0; display: block; + white-space: nowrap; } } } diff --git a/resources/js/components/Sidebar/MenuBar.vue b/resources/js/components/Sidebar/MenuBar.vue index 24a45c4d..e7c688da 100644 --- a/resources/js/components/Sidebar/MenuBar.vue +++ b/resources/js/components/Sidebar/MenuBar.vue @@ -32,7 +32,7 @@ - +
@@ -76,6 +76,25 @@ computed: { ...mapGetters(['app']), }, + data() { + return { + adminRoutes: [ + 'Users', + 'User', + 'UserDetail', + 'UserStorage', + 'UserPassword', + 'UserDelete', + 'Plans', + 'Invoices', + 'UserInvoices', + 'Gateway', + 'Gateways', + 'GatewaySettings', + 'GatewayTransactions', + ] + } + }, mounted() { this.$store.dispatch('getAppData') } diff --git a/resources/js/i18n/lang/en.json b/resources/js/i18n/lang/en.json index 517112bf..d9b1c6cf 100644 --- a/resources/js/i18n/lang/en.json +++ b/resources/js/i18n/lang/en.json @@ -172,7 +172,7 @@ "profile": "Profile Settings", "password": "Password", "storage": "Storage", - "admin": "Admin" + "admin": "Administration" }, "sidebar": { "favourites": "Favourites", diff --git a/resources/js/router.js b/resources/js/router.js index dea6bacf..7d24757f 100644 --- a/resources/js/router.js +++ b/resources/js/router.js @@ -17,17 +17,24 @@ import Files from './views/FilePages/Files' import Password from './views/User/Password' import SharedFiles from './views/FilePages/SharedFiles' -import MobileSettings from './views/Mobile/MobileSettings' +import AdminMobileMenu from './views/Mobile/AdminMobileMenu' import Admin from './views/Admin' -import Plans from './views/Admin/Plans' import Invoices from './views/Admin/Invoices' // Payment Methods -import PaymentMethods from './views/Admin/PaymentMethods' -import PaymentMethod from './views/Admin/PaymentMethods/PaymentMethod' -import GatewaySettings from './views/Admin/PaymentMethods/PaymentMethodTabs/GatewaySettings' -import GatewayTransactions from './views/Admin/PaymentMethods/PaymentMethodTabs/GatewayTransactions' +import Gateways from './views/Admin/Gateways' +import Gateway from './views/Admin/Gateways/Gateway' +import GatewaySettings from './views/Admin/Gateways/GatewayTabs/GatewaySettings' +import GatewayTransactions from './views/Admin/Gateways/GatewayTabs/GatewayTransactions' + +// Plans +import Plans from './views/Admin/Plans' +import Plan from './views/Admin/Plans/Plan' +import PlanCreate from './views/Admin/Plans/PlanCreate' +import PlanDelete from './views/Admin/Plans/PlanTabs/PlanDelete' +import PlanSettings from './views/Admin/Plans/PlanTabs/PlanSettings' +import PlanTransactions from './views/Admin/Plans/PlanTabs/PlanTransactions' // Users import Users from './views/Admin/Users' @@ -41,277 +48,333 @@ import UserInvoices from './views/Admin/Users/UserTabs/UserInvoices' Vue.use(Router) +const routesAdmin = [ + { + name: 'Admin', + path: '/admin', + component: Admin, + meta: { + requiresAuth: true, + title: 'Admin' + }, + children: [ + + // List Pages + { + name: 'Gateways', + path: '/admin/payment-methods', + component: Gateways, + meta: { + requiresAuth: true, + title: 'Payment Methods' + }, + }, + { + name: 'Invoices', + path: '/admin/invoices', + component: Invoices, + meta: { + requiresAuth: true, + title: 'Invoices' + }, + }, + { + name: 'Plans', + path: '/admin/plans', + component: Plans, + meta: { + requiresAuth: true, + title: 'Pricing Plans' + }, + }, + { + name: 'Users', + path: '/admin/users', + component: Users, + meta: { + requiresAuth: true, + title: i18n.t('routes_title.users_list') + }, + }, + + // Create Pages + { + name: 'UserCreate', + path: '/admin/user/create', + component: UserCreate, + meta: { + requiresAuth: true, + title: i18n.t('routes_title.user_create') + }, + }, + { + name: 'PlanCreate', + path: '/admin/plan/create', + component: PlanCreate, + meta: { + requiresAuth: true, + title: 'Create Plan' + }, + }, + + // Single pages + { + name: 'User', + path: '/admin/user/:id', + component: User, + meta: { + requiresAuth: true, + title: i18n.t('routes_title.users_user') + }, + children: [ + { + name: 'UserDetail', + path: '/admin/user/:id/details', + component: UserDetail, + meta: { + requiresAuth: true, + title: i18n.t('routes_title.users_detail') + }, + }, + { + name: 'UserStorage', + path: '/admin/user/:id/storage', + component: UserStorage, + meta: { + requiresAuth: true, + title: i18n.t('routes_title.users_storage_usage') + }, + }, + { + name: 'UserInvoices', + path: '/admin/user/:id/invoices', + component: UserInvoices, + meta: { + requiresAuth: true, + title: 'Invoices' + }, + }, + { + name: 'UserPassword', + path: '/admin/user/:id/password', + component: UserPassword, + meta: { + requiresAuth: true, + title: i18n.t('routes_title.users_password') + }, + }, + { + name: 'UserDelete', + path: '/admin/user/:id/delete', + component: UserDelete, + meta: { + requiresAuth: true, + title: i18n.t('routes_title.users_delete') + }, + }, + ] + }, + { + name: 'Gateway', + path: '/admin/payment-method/:name', + component: Gateway, + meta: { + requiresAuth: true, + title: 'Payment Method' + }, + children: [ + { + name: 'GatewayTransactions', + path: '/admin/payment-methods/:name/transactions', + component: GatewayTransactions, + meta: { + requiresAuth: true, + title: 'Transactions' + }, + }, + { + name: 'GatewaySettings', + path: '/admin/payment-methods/:name/settings', + component: GatewaySettings, + meta: { + requiresAuth: true, + title: 'Settings', + }, + }, + ] + }, + { + name: 'Plan', + path: '/admin/plan/:id', + component: Plan, + meta: { + requiresAuth: true, + title: 'Plan' + }, + children: [ + { + name: 'PlanTransactions', + path: '/admin/plan/:id/transactions', + component: PlanTransactions, + meta: { + requiresAuth: true, + title: 'Plan Transactions' + }, + }, + { + name: 'PlanSettings', + path: '/admin/plan/:id/settings', + component: PlanSettings, + meta: { + requiresAuth: true, + title: 'Plan Settings', + }, + }, + { + name: 'PlanDelete', + path: '/admin/plan/:id/delete', + component: PlanDelete, + meta: { + requiresAuth: true, + title: 'Plan Delete', + }, + }, + ] + }, + ] + }, + { + name: 'AdminMobileMenu', + path: '/admin-menu', + component: AdminMobileMenu, + meta: { + requiresAuth: true, + title: i18n.t('routes_title.settings_mobile') + }, + }, +] +const routesShared = [ + { + name: 'SharedPage', + path: '/shared/:token', + component: SharedPage, + meta: { + requiresAuth: false + }, + }, + { + name: 'NotFoundShared', + path: '/shared-not-found', + component: NotFoundShared, + meta: { + requiresAuth: false + }, + }, + { + name: 'SharedFiles', + path: '/shared-files', + component: SharedFiles, + meta: { + requiresAuth: true + }, + }, +] +const routesAuth = [ + { + name: 'SignIn', + path: '/', + component: Index, + meta: { + requiresAuth: false + }, + }, + { + name: 'SignUp', + path: '/sign-up', + component: SignUp, + meta: { + requiresAuth: false + }, + }, + { + name: 'ForgottenPassword', + path: '/forgotten-password', + component: ForgottenPassword, + meta: { + requiresAuth: false + }, + }, + { + name: 'CreateNewPassword', + path: '/create-new-password', + component: CreateNewPassword, + meta: { + requiresAuth: false + }, + }, +] +const routesUser = [ + { + name: 'Settings', + path: '/settings', + component: Settings, + meta: { + requiresAuth: true + }, + children: [ + { + name: 'Profile', + path: 'profile', + component: Profile, + meta: { + requiresAuth: true, + title: i18n.t('routes_title.profile') + }, + }, + { + name: 'Password', + path: '/settings/password', + component: Password, + meta: { + requiresAuth: true, + title: i18n.t('routes_title.settings_password') + }, + }, + { + name: 'Storage', + path: '/settings/storage', + component: Storage, + meta: { + requiresAuth: true, + title: i18n.t('routes_title.settings_storage') + }, + }, + ] + }, + { + name: 'Files', + path: '/files', + component: Files, + meta: { + requiresAuth: true + }, + }, + { + name: 'Trash', + path: '/trash', + component: Trash, + meta: { + requiresAuth: true + }, + }, +] + const router = new Router({ mode: 'history', routes: [ - { - name: 'SignIn', - path: '/', - component: Index, - meta: { - requiresAuth: false - }, - }, - { - name: 'SignUp', - path: '/sign-up', - component: SignUp, - meta: { - requiresAuth: false - }, - }, - { - name: 'ForgottenPassword', - path: '/forgotten-password', - component: ForgottenPassword, - meta: { - requiresAuth: false - }, - }, - { - name: 'CreateNewPassword', - path: '/create-new-password', - component: CreateNewPassword, - meta: { - requiresAuth: false - }, - }, - { - name: 'SharedPage', - path: '/shared/:token', - component: SharedPage, - meta: { - requiresAuth: false - }, - }, - { - name: 'NotFoundShared', - path: '/shared-not-found', - component: NotFoundShared, - meta: { - requiresAuth: false - }, - }, - { - name: 'Files', - path: '/files', - component: Files, - meta: { - requiresAuth: true - }, - }, - { - name: 'SharedFiles', - path: '/shared-files', - component: SharedFiles, - meta: { - requiresAuth: true - }, - }, - { - name: 'Trash', - path: '/trash', - component: Trash, - meta: { - requiresAuth: true - }, - }, - { - name: 'Admin', - path: '/admin', - component: Admin, - meta: { - requiresAuth: true, - title: 'Admin' - }, - children: [ - - // List Pages - { - name: 'PaymentMethods', - path: '/admin/payment-methods', - component: PaymentMethods, - meta: { - requiresAuth: true, - title: 'Payment Methods' - }, - }, - { - name: 'Invoices', - path: '/admin/invoices', - component: Invoices, - meta: { - requiresAuth: true, - title: 'Invoices' - }, - }, - { - name: 'Plans', - path: '/admin/plans', - component: Plans, - meta: { - requiresAuth: true, - title: 'Pricing Plans' - }, - }, - { - name: 'Users', - path: '/admin/users', - component: Users, - meta: { - requiresAuth: true, - title: i18n.t('routes_title.users_list') - }, - }, - - // Create Pages - { - name: 'UserCreate', - path: '/admin/user/create', - component: UserCreate, - meta: { - requiresAuth: true, - title: i18n.t('routes_title.user_create') - }, - }, - - // Single pages - { - name: 'User', - path: '/admin/user/:id', - component: User, - meta: { - requiresAuth: true, - title: i18n.t('routes_title.users_user') - }, - children: [ - { - name: 'UserDetail', - path: '/admin/user/:id/details', - component: UserDetail, - meta: { - requiresAuth: true, - title: i18n.t('routes_title.users_detail') - }, - }, - { - name: 'UserStorage', - path: '/admin/user/:id/storage', - component: UserStorage, - meta: { - requiresAuth: true, - title: i18n.t('routes_title.users_storage_usage') - }, - }, - { - name: 'UserInvoices', - path: '/admin/user/:id/invoices', - component: UserInvoices, - meta: { - requiresAuth: true, - title: 'Invoices' - }, - }, - { - name: 'UserPassword', - path: '/admin/user/:id/password', - component: UserPassword, - meta: { - requiresAuth: true, - title: i18n.t('routes_title.users_password') - }, - }, - { - name: 'UserDelete', - path: '/admin/user/:id/delete', - component: UserDelete, - meta: { - requiresAuth: true, - title: i18n.t('routes_title.users_delete') - }, - }, - ] - }, - { - name: 'PaymentMethod', - path: '/admin/payment-method/:name', - component: PaymentMethod, - meta: { - requiresAuth: true, - title: 'Payment Method' - }, - children: [ - { - name: 'GatewaySettings', - path: '/admin/payment-methods/:name/settings', - component: GatewaySettings, - meta: { - requiresAuth: true, - title: 'Settings' - }, - }, - { - name: 'GatewayTransactions', - path: '/admin/payment-methods/:name/transactions', - component: GatewayTransactions, - meta: { - requiresAuth: true, - title: 'Transactions' - }, - }, - ] - }, - ] - }, - { - name: 'Settings', - path: '/settings', - component: Settings, - meta: { - requiresAuth: true - }, - children: [ - { - name: 'Profile', - path: 'profile', - component: Profile, - meta: { - requiresAuth: true, - title: i18n.t('routes_title.profile') - }, - }, - { - name: 'Password', - path: '/settings/password', - component: Password, - meta: { - requiresAuth: true, - title: i18n.t('routes_title.settings_password') - }, - }, - { - name: 'Storage', - path: '/settings/storage', - component: Storage, - meta: { - requiresAuth: true, - title: i18n.t('routes_title.settings_storage') - }, - }, - ] - }, - { - name: 'MobileSettings', - path: '/settings-mobile', - component: MobileSettings, - meta: { - requiresAuth: true, - title: i18n.t('routes_title.settings_mobile') - }, - } + ...routesAdmin, ...routesShared, ...routesAuth, ...routesUser ], scrollBehavior(to, from, savedPosition) { - if (savedPosition) { return savedPosition } else { diff --git a/resources/js/views/Admin.vue b/resources/js/views/Admin.vue index 53a2c552..9a951c57 100644 --- a/resources/js/views/Admin.vue +++ b/resources/js/views/Admin.vue @@ -27,14 +27,6 @@
+ +
+ +
+
+ Invoices +
+
- - - + diff --git a/resources/js/views/Admin/PaymentMethods.vue b/resources/js/views/Admin/Gateways.vue similarity index 91% rename from resources/js/views/Admin/PaymentMethods.vue rename to resources/js/views/Admin/Gateways.vue index 17f48219..41758083 100644 --- a/resources/js/views/Admin/PaymentMethods.vue +++ b/resources/js/views/Admin/Gateways.vue @@ -8,17 +8,21 @@