update login sso address

This commit is contained in:
Mohamed Nouffer
2022-05-30 13:06:22 +05:30
parent 485f73d940
commit 11df1b1b03
93 changed files with 3002 additions and 2972 deletions

View File

@ -1,14 +1,14 @@
# Editor configuration, see http://editorconfig.org # Editor configuration, see http://editorconfig.org
root = true root = true
[*] [*]
charset = utf-8 charset = utf-8
end_of_line = lf end_of_line = lf
indent_size = 2 indent_size = 2
indent_style = space indent_style = space
insert_final_newline = true insert_final_newline = true
trim_trailing_whitespace = true trim_trailing_whitespace = true
[*.md] [*.md]
max_line_length = off max_line_length = off
trim_trailing_whitespace = false trim_trailing_whitespace = false

4
.env
View File

@ -1,2 +1,2 @@
PORT=3000 PORT=3000
CHOKIDAR_USEPOLLING=true CHOKIDAR_USEPOLLING=true

44
.gitignore vendored
View File

@ -1,22 +1,22 @@
# See https://help.github.com/ignore-files/ for more about ignoring files. # See https://help.github.com/ignore-files/ for more about ignoring files.
# dependencies # dependencies
/node_modules /node_modules
package-lock.json package-lock.json
# testing # testing
/coverage /coverage
# misc # misc
.eslintcache .eslintcache
.DS_Store .DS_Store
.idea .idea
.env.local .env.local
.env.development.local .env.development.local
.env.test.local .env.test.local
.env.production.local .env.production.local
npm-debug.log* npm-debug.log*
yarn-debug.log* yarn-debug.log*
yarn-error.log* yarn-error.log*

View File

@ -1,68 +1,68 @@
### Changelog ### Changelog
All notable changes to this project will be documented in this file. Dates are displayed in UTC. All notable changes to this project will be documented in this file. Dates are displayed in UTC.
#### [3.2.1](https://github.com/coreui/coreui-free-react-admin-template/compare/3.2.0...3.2.1) #### [3.2.1](https://github.com/coreui/coreui-free-react-admin-template/compare/3.2.0...3.2.1)
> 30 March 2021 > 30 March 2021
- chore: dependencies update - closes #294 [`#294`](https://github.com/coreui/coreui-free-react-admin-template/issues/294) - chore: dependencies update - closes #294 [`#294`](https://github.com/coreui/coreui-free-react-admin-template/issues/294)
### [3.2.0](https://github.com/coreui/coreui-free-react-admin-template/compare/3.1.1...3.2.0) ### [3.2.0](https://github.com/coreui/coreui-free-react-admin-template/compare/3.1.1...3.2.0)
> 14 December 2020 > 14 December 2020
- fix(BrandButtons): minor temp fixes with stylings [`f0c0585`](https://github.com/coreui/coreui-free-react-admin-template/commit/f0c05858329430c9487bdcfcf36d0aa98f60776d) - fix(BrandButtons): minor temp fixes with stylings [`f0c0585`](https://github.com/coreui/coreui-free-react-admin-template/commit/f0c05858329430c9487bdcfcf36d0aa98f60776d)
- refactor: polyfills cleanup [`9522ade`](https://github.com/coreui/coreui-free-react-admin-template/commit/9522ade1f1eb2c5a26d5208fe6e44be803123bd2) - refactor: polyfills cleanup [`9522ade`](https://github.com/coreui/coreui-free-react-admin-template/commit/9522ade1f1eb2c5a26d5208fe6e44be803123bd2)
- chore: 3.2.0 release for React 17 [`9d5ba97`](https://github.com/coreui/coreui-free-react-admin-template/commit/9d5ba97b4d7ab7d2adbb09b8a2c74d4f00fadbcc) - chore: 3.2.0 release for React 17 [`9d5ba97`](https://github.com/coreui/coreui-free-react-admin-template/commit/9d5ba97b4d7ab7d2adbb09b8a2c74d4f00fadbcc)
- test: refactor, import temp update [`f3f91c5`](https://github.com/coreui/coreui-free-react-admin-template/commit/f3f91c5d721754a2dac26143f312415c94c7ed68) - test: refactor, import temp update [`f3f91c5`](https://github.com/coreui/coreui-free-react-admin-template/commit/f3f91c5d721754a2dac26143f312415c94c7ed68)
- chore: React 17 and dependencies update [`f6a710f`](https://github.com/coreui/coreui-free-react-admin-template/commit/f6a710ffd6996c9b6b026b8eebed6ff390757fe1) - chore: React 17 and dependencies update [`f6a710f`](https://github.com/coreui/coreui-free-react-admin-template/commit/f6a710ffd6996c9b6b026b8eebed6ff390757fe1)
- fix(_nav): no anonymous default export [`ed83c9a`](https://github.com/coreui/coreui-free-react-admin-template/commit/ed83c9a3d4199b8c6566a6e01396cdcbca80cf42) - fix(_nav): no anonymous default export [`ed83c9a`](https://github.com/coreui/coreui-free-react-admin-template/commit/ed83c9a3d4199b8c6566a6e01396cdcbca80cf42)
#### [3.1.1](https://github.com/coreui/coreui-free-react-admin-template/compare/3.1.0...3.1.1) #### [3.1.1](https://github.com/coreui/coreui-free-react-admin-template/compare/3.1.0...3.1.1)
> 26 November 2020 > 26 November 2020
- chore: dependencies update [`5b70904`](https://github.com/coreui/coreui-free-react-admin-template/commit/5b70904d8f22f61a71def3306ea96ad640573c39) - chore: dependencies update [`5b70904`](https://github.com/coreui/coreui-free-react-admin-template/commit/5b70904d8f22f61a71def3306ea96ad640573c39)
- chore: add changelog [`de605cc`](https://github.com/coreui/coreui-free-react-admin-template/commit/de605cc1aadec9fb066625c6bc7b656590efc7bb) - chore: add changelog [`de605cc`](https://github.com/coreui/coreui-free-react-admin-template/commit/de605cc1aadec9fb066625c6bc7b656590efc7bb)
- chore: limit changelog to version 3 [`6ac9a1d`](https://github.com/coreui/coreui-free-react-admin-template/commit/6ac9a1d094d4d293ddacb3f3562216a98be8e129) - chore: limit changelog to version 3 [`6ac9a1d`](https://github.com/coreui/coreui-free-react-admin-template/commit/6ac9a1d094d4d293ddacb3f3562216a98be8e129)
- chore: add migration docs [`b661344`](https://github.com/coreui/coreui-free-react-admin-template/commit/b661344485a38404b8c2b1326e3a4258009b071c) - chore: add migration docs [`b661344`](https://github.com/coreui/coreui-free-react-admin-template/commit/b661344485a38404b8c2b1326e3a4258009b071c)
- chore: changelog update [`f9f1927`](https://github.com/coreui/coreui-free-react-admin-template/commit/f9f19274f046cf5f11f68d6c7eb7ae04c553f219) - chore: changelog update [`f9f1927`](https://github.com/coreui/coreui-free-react-admin-template/commit/f9f19274f046cf5f11f68d6c7eb7ae04c553f219)
- chore: .gitignore cleanup [`ba21e00`](https://github.com/coreui/coreui-free-react-admin-template/commit/ba21e001944322fb48e43264719b94368c589732) - chore: .gitignore cleanup [`ba21e00`](https://github.com/coreui/coreui-free-react-admin-template/commit/ba21e001944322fb48e43264719b94368c589732)
- chore: 3.1.1 release [`081b957`](https://github.com/coreui/coreui-free-react-admin-template/commit/081b957291a8020e3d2e3b42c1f0a1455a49c524) - chore: 3.1.1 release [`081b957`](https://github.com/coreui/coreui-free-react-admin-template/commit/081b957291a8020e3d2e3b42c1f0a1455a49c524)
#### [3.1.0](https://github.com/coreui/coreui-free-react-admin-template/compare/3.0.0...3.1.0) #### [3.1.0](https://github.com/coreui/coreui-free-react-admin-template/compare/3.0.0...3.1.0)
> 12 August 2020 > 12 August 2020
- docs(readme): CoreUI react theme setup with laravel tutorial link add into readme [`#226`](https://github.com/coreui/coreui-free-react-admin-template/pull/226) - docs(readme): CoreUI react theme setup with laravel tutorial link add into readme [`#226`](https://github.com/coreui/coreui-free-react-admin-template/pull/226)
- fix: fix template testing [`68ce41d`](https://github.com/coreui/coreui-free-react-admin-template/commit/68ce41db6831d6995121766a5771dc9d667cc61a) - fix: fix template testing [`68ce41d`](https://github.com/coreui/coreui-free-react-admin-template/commit/68ce41db6831d6995121766a5771dc9d667cc61a)
- chore: 3.1.0 release - update dependencies [`92f55b8`](https://github.com/coreui/coreui-free-react-admin-template/commit/92f55b8cdfd748a9e72649d5da62b93015a1c8e6) - chore: 3.1.0 release - update dependencies [`92f55b8`](https://github.com/coreui/coreui-free-react-admin-template/commit/92f55b8cdfd748a9e72649d5da62b93015a1c8e6)
- refactor: add reusable folder with DocsLink component [`eef84db`](https://github.com/coreui/coreui-free-react-admin-template/commit/eef84dbbd770c7253080a6f69443c40e4fecefd2) - refactor: add reusable folder with DocsLink component [`eef84db`](https://github.com/coreui/coreui-free-react-admin-template/commit/eef84dbbd770c7253080a6f69443c40e4fecefd2)
- feat: add CSwitch examples to forms [`b31e452`](https://github.com/coreui/coreui-free-react-admin-template/commit/b31e452fd0ea736763d3032d7204cd478863b505) - feat: add CSwitch examples to forms [`b31e452`](https://github.com/coreui/coreui-free-react-admin-template/commit/b31e452fd0ea736763d3032d7204cd478863b505)
- refactor: add CIcon example in _nav.js [`be5d1f0`](https://github.com/coreui/coreui-free-react-admin-template/commit/be5d1f0618f981f18c45be87afb56c4409bd3389) - refactor: add CIcon example in _nav.js [`be5d1f0`](https://github.com/coreui/coreui-free-react-admin-template/commit/be5d1f0618f981f18c45be87afb56c4409bd3389)
### [3.0.0](https://github.com/coreui/coreui-free-react-admin-template/compare/v2.6.1...3.0.0) ### [3.0.0](https://github.com/coreui/coreui-free-react-admin-template/compare/v2.6.1...3.0.0)
> 17 June 2020 > 17 June 2020
- feat: update template to version 3 [`cc79542`](https://github.com/coreui/coreui-free-react-admin-template/commit/cc795425bbf610873fcdf6938b5fb0aba49a4d97) - feat: update template to version 3 [`cc79542`](https://github.com/coreui/coreui-free-react-admin-template/commit/cc795425bbf610873fcdf6938b5fb0aba49a4d97)
- refactor: update folder casing to kebab-case [`75138b0`](https://github.com/coreui/coreui-free-react-admin-template/commit/75138b0d0340cc21d58bcc2f800f042f86e54346) - refactor: update folder casing to kebab-case [`75138b0`](https://github.com/coreui/coreui-free-react-admin-template/commit/75138b0d0340cc21d58bcc2f800f042f86e54346)
- refactor: temporarily delete views folder [`cb4433a`](https://github.com/coreui/coreui-free-react-admin-template/commit/cb4433a3e33cb943bc1f47199110ead28fab517b) - refactor: temporarily delete views folder [`cb4433a`](https://github.com/coreui/coreui-free-react-admin-template/commit/cb4433a3e33cb943bc1f47199110ead28fab517b)
- docs: README update [`188e0b1`](https://github.com/coreui/coreui-free-react-admin-template/commit/188e0b1c09fd7d47dc87d0410303ae43e8ee79de) - docs: README update [`188e0b1`](https://github.com/coreui/coreui-free-react-admin-template/commit/188e0b1c09fd7d47dc87d0410303ae43e8ee79de)
- chore: clear packages [`e236aad`](https://github.com/coreui/coreui-free-react-admin-template/commit/e236aad4ab0129e3611adfc2127670da64696e54) - chore: clear packages [`e236aad`](https://github.com/coreui/coreui-free-react-admin-template/commit/e236aad4ab0129e3611adfc2127670da64696e54)
- fix: delete obsolete files, fix logos [`f479a5d`](https://github.com/coreui/coreui-free-react-admin-template/commit/f479a5dc72bb5bb75b95a4b904d1c350be8fe7bc) - fix: delete obsolete files, fix logos [`f479a5d`](https://github.com/coreui/coreui-free-react-admin-template/commit/f479a5dc72bb5bb75b95a4b904d1c350be8fe7bc)
- chore: 3.0.0-beta.1 release [`d940f92`](https://github.com/coreui/coreui-free-react-admin-template/commit/d940f92ef741d7eab021af4fbcf385823c80421a) - chore: 3.0.0-beta.1 release [`d940f92`](https://github.com/coreui/coreui-free-react-admin-template/commit/d940f92ef741d7eab021af4fbcf385823c80421a)
- fix: fix accordion, delete aside [`0e6506e`](https://github.com/coreui/coreui-free-react-admin-template/commit/0e6506ea3303ca30bc21ba2bcf3717a3f009dc8c) - fix: fix accordion, delete aside [`0e6506e`](https://github.com/coreui/coreui-free-react-admin-template/commit/0e6506ea3303ca30bc21ba2bcf3717a3f009dc8c)
- refactor: optimize icon bundle size, update icons [`9fed168`](https://github.com/coreui/coreui-free-react-admin-template/commit/9fed168a534b88cb27371d6364b922418a5a13b4) - refactor: optimize icon bundle size, update icons [`9fed168`](https://github.com/coreui/coreui-free-react-admin-template/commit/9fed168a534b88cb27371d6364b922418a5a13b4)
- refacotor: template updates [`1df8c15`](https://github.com/coreui/coreui-free-react-admin-template/commit/1df8c15030d45779f6adc5031153eaff09701d97) - refacotor: template updates [`1df8c15`](https://github.com/coreui/coreui-free-react-admin-template/commit/1df8c15030d45779f6adc5031153eaff09701d97)
- refactor: turn logos extensions from svg to js [`8c0deee`](https://github.com/coreui/coreui-free-react-admin-template/commit/8c0deeed169267155323a5b6bdbbdfaf8a856a41) - refactor: turn logos extensions from svg to js [`8c0deee`](https://github.com/coreui/coreui-free-react-admin-template/commit/8c0deeed169267155323a5b6bdbbdfaf8a856a41)
- refactor: rename containers from 'Default' to 'The', small fixes [`bfc79da`](https://github.com/coreui/coreui-free-react-admin-template/commit/bfc79da4039dd534ee49b4526978f7b949cea90b) - refactor: rename containers from 'Default' to 'The', small fixes [`bfc79da`](https://github.com/coreui/coreui-free-react-admin-template/commit/bfc79da4039dd534ee49b4526978f7b949cea90b)
- refactor: update icons to version 2, rtl fixes [`8e4fbc2`](https://github.com/coreui/coreui-free-react-admin-template/commit/8e4fbc2aa8786b00a004282260c52986e1cd2430) - refactor: update icons to version 2, rtl fixes [`8e4fbc2`](https://github.com/coreui/coreui-free-react-admin-template/commit/8e4fbc2aa8786b00a004282260c52986e1cd2430)
- fix: delete unneded icons, aside, fix readme.md [`1ee0561`](https://github.com/coreui/coreui-free-react-admin-template/commit/1ee05619ba15d050b73df21c8d1347e8329942d5) - fix: delete unneded icons, aside, fix readme.md [`1ee0561`](https://github.com/coreui/coreui-free-react-admin-template/commit/1ee05619ba15d050b73df21c8d1347e8329942d5)
- chore: 3.0.0 version release - update dependencies [`fd5236d`](https://github.com/coreui/coreui-free-react-admin-template/commit/fd5236d47340b336bf641041cbf6d48ec8b1081a) - chore: 3.0.0 version release - update dependencies [`fd5236d`](https://github.com/coreui/coreui-free-react-admin-template/commit/fd5236d47340b336bf641041cbf6d48ec8b1081a)
- feat: add query parameters to Users view [`98f8b67`](https://github.com/coreui/coreui-free-react-admin-template/commit/98f8b677edb96f9175b7d4c20370c3d6744543bd) - feat: add query parameters to Users view [`98f8b67`](https://github.com/coreui/coreui-free-react-admin-template/commit/98f8b677edb96f9175b7d4c20370c3d6744543bd)
- docs: add license [`db85786`](https://github.com/coreui/coreui-free-react-admin-template/commit/db85786be465fdb7a84b7337dbe876afc5e957bc) - docs: add license [`db85786`](https://github.com/coreui/coreui-free-react-admin-template/commit/db85786be465fdb7a84b7337dbe876afc5e957bc)
- chore: update react.md [`5aa0cc3`](https://github.com/coreui/coreui-free-react-admin-template/commit/5aa0cc3ce15c841032cd75392418cfeb2e4d094f) - chore: update react.md [`5aa0cc3`](https://github.com/coreui/coreui-free-react-admin-template/commit/5aa0cc3ce15c841032cd75392418cfeb2e4d094f)
- docs: README cleanup [`82a4351`](https://github.com/coreui/coreui-free-react-admin-template/commit/82a4351daa6c8d452e19c7141dbadecc3f721c1b) - docs: README cleanup [`82a4351`](https://github.com/coreui/coreui-free-react-admin-template/commit/82a4351daa6c8d452e19c7141dbadecc3f721c1b)
- fix: fix Icons views [`1777a09`](https://github.com/coreui/coreui-free-react-admin-template/commit/1777a092f6444497120e85c8852a1e4779640e71) - fix: fix Icons views [`1777a09`](https://github.com/coreui/coreui-free-react-admin-template/commit/1777a092f6444497120e85c8852a1e4779640e71)

View File

@ -1,20 +1,20 @@
Before opening an issue: Before opening an issue:
- [Search for duplicate or closed issues](https://github.com/coreui/coreui-free-react-admin-template/issues?utf8=%E2%9C%93&q=is%3Aissue) - [Search for duplicate or closed issues](https://github.com/coreui/coreui-free-react-admin-template/issues?utf8=%E2%9C%93&q=is%3Aissue)
- Prepare a [reduced test case](https://css-tricks.com/reduced-test-cases/) for any bugs - Prepare a [reduced test case](https://css-tricks.com/reduced-test-cases/) for any bugs
When asking general "how to" questions: When asking general "how to" questions:
- Please do not open an issue here - Please do not open an issue here
When reporting a bug, include: When reporting a bug, include:
- Operating system and version (Windows, Mac OS X, Android, iOS, Win10 Mobile) - Operating system and version (Windows, Mac OS X, Android, iOS, Win10 Mobile)
- Browser and version (Chrome, Firefox, Safari, IE, MS Edge, Opera, Android Browser) - Browser and version (Chrome, Firefox, Safari, IE, MS Edge, Opera, Android Browser)
- Reduced test cases and potential fixes using [CodePen](https://codepen.io/) or [JS Bin](https://jsbin.com/) - Reduced test cases and potential fixes using [CodePen](https://codepen.io/) or [JS Bin](https://jsbin.com/)
When suggesting a feature, include: When suggesting a feature, include:
- As much detail as possible for what we should add and why it's important to CoreUI Admin Template - As much detail as possible for what we should add and why it's important to CoreUI Admin Template
- Relevant links to prior art, screenshots, or live demos whenever possible - Relevant links to prior art, screenshots, or live demos whenever possible

42
LICENSE
View File

@ -1,21 +1,21 @@
The MIT License (MIT) The MIT License (MIT)
Copyright (c) 2020 creativeLabs Łukasz Holeczek. Copyright (c) 2020 creativeLabs Łukasz Holeczek.
Permission is hereby granted, free of charge, to any person obtaining a copy Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions: furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software. all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE. THE SOFTWARE.

View File

@ -1,26 +1,26 @@
{ {
"files": { "files": {
"static/css/0.104de1ea.chunk.css": "./static/css/0.104de1ea.chunk.css", "static/css/0.455ee148.chunk.css": "./static/css/0.455ee148.chunk.css",
"static/js/0.692edbd0.chunk.js": "./static/js/0.692edbd0.chunk.js", "static/js/0.28cc3136.chunk.js": "./static/js/0.28cc3136.chunk.js",
"static/js/0.692edbd0.chunk.js.map": "./static/js/0.692edbd0.chunk.js.map", "static/js/0.28cc3136.chunk.js.map": "./static/js/0.28cc3136.chunk.js.map",
"static/js/1.c34673f1.chunk.js": "./static/js/1.c34673f1.chunk.js", "static/js/1.c34673f1.chunk.js": "./static/js/1.c34673f1.chunk.js",
"static/js/1.c34673f1.chunk.js.map": "./static/js/1.c34673f1.chunk.js.map", "static/js/1.c34673f1.chunk.js.map": "./static/js/1.c34673f1.chunk.js.map",
"main.css": "./static/css/main.91119128.chunk.css", "main.css": "./static/css/main.91119128.chunk.css",
"main.js": "./static/js/main.403e59c4.chunk.js", "main.js": "./static/js/main.432d4603.chunk.js",
"main.js.map": "./static/js/main.403e59c4.chunk.js.map", "main.js.map": "./static/js/main.432d4603.chunk.js.map",
"runtime-main.js": "./static/js/runtime-main.c8280d9f.js", "runtime-main.js": "./static/js/runtime-main.b31b6f30.js",
"runtime-main.js.map": "./static/js/runtime-main.c8280d9f.js.map", "runtime-main.js.map": "./static/js/runtime-main.b31b6f30.js.map",
"static/js/4.666fc590.chunk.js": "./static/js/4.666fc590.chunk.js", "static/js/4.666fc590.chunk.js": "./static/js/4.666fc590.chunk.js",
"static/js/4.666fc590.chunk.js.map": "./static/js/4.666fc590.chunk.js.map", "static/js/4.666fc590.chunk.js.map": "./static/js/4.666fc590.chunk.js.map",
"static/css/5.ecdd39c8.chunk.css": "./static/css/5.ecdd39c8.chunk.css", "static/css/5.ecdd39c8.chunk.css": "./static/css/5.ecdd39c8.chunk.css",
"static/js/5.53d775d4.chunk.js": "./static/js/5.53d775d4.chunk.js", "static/js/5.53d775d4.chunk.js": "./static/js/5.53d775d4.chunk.js",
"static/js/5.53d775d4.chunk.js.map": "./static/js/5.53d775d4.chunk.js.map", "static/js/5.53d775d4.chunk.js.map": "./static/js/5.53d775d4.chunk.js.map",
"static/js/6.af4be2c7.chunk.js": "./static/js/6.af4be2c7.chunk.js", "static/js/6.a60dd29b.chunk.js": "./static/js/6.a60dd29b.chunk.js",
"static/js/6.af4be2c7.chunk.js.map": "./static/js/6.af4be2c7.chunk.js.map", "static/js/6.a60dd29b.chunk.js.map": "./static/js/6.a60dd29b.chunk.js.map",
"static/js/7.e5d7a6dd.chunk.js": "./static/js/7.e5d7a6dd.chunk.js", "static/js/7.3719675b.chunk.js": "./static/js/7.3719675b.chunk.js",
"static/js/7.e5d7a6dd.chunk.js.map": "./static/js/7.e5d7a6dd.chunk.js.map", "static/js/7.3719675b.chunk.js.map": "./static/js/7.3719675b.chunk.js.map",
"static/js/8.cf293431.chunk.js": "./static/js/8.cf293431.chunk.js", "static/js/8.970806ae.chunk.js": "./static/js/8.970806ae.chunk.js",
"static/js/8.cf293431.chunk.js.map": "./static/js/8.cf293431.chunk.js.map", "static/js/8.970806ae.chunk.js.map": "./static/js/8.970806ae.chunk.js.map",
"static/js/9.ce53fb19.chunk.js": "./static/js/9.ce53fb19.chunk.js", "static/js/9.ce53fb19.chunk.js": "./static/js/9.ce53fb19.chunk.js",
"static/js/9.ce53fb19.chunk.js.map": "./static/js/9.ce53fb19.chunk.js.map", "static/js/9.ce53fb19.chunk.js.map": "./static/js/9.ce53fb19.chunk.js.map",
"static/js/10.44c6c5dd.chunk.js": "./static/js/10.44c6c5dd.chunk.js", "static/js/10.44c6c5dd.chunk.js": "./static/js/10.44c6c5dd.chunk.js",
@ -33,20 +33,20 @@
"static/js/13.93c62c57.chunk.js.map": "./static/js/13.93c62c57.chunk.js.map", "static/js/13.93c62c57.chunk.js.map": "./static/js/13.93c62c57.chunk.js.map",
"static/js/14.cb16bc0f.chunk.js": "./static/js/14.cb16bc0f.chunk.js", "static/js/14.cb16bc0f.chunk.js": "./static/js/14.cb16bc0f.chunk.js",
"static/js/14.cb16bc0f.chunk.js.map": "./static/js/14.cb16bc0f.chunk.js.map", "static/js/14.cb16bc0f.chunk.js.map": "./static/js/14.cb16bc0f.chunk.js.map",
"static/js/15.36ea1548.chunk.js": "./static/js/15.36ea1548.chunk.js", "static/js/15.2a3f5eec.chunk.js": "./static/js/15.2a3f5eec.chunk.js",
"static/js/15.36ea1548.chunk.js.map": "./static/js/15.36ea1548.chunk.js.map", "static/js/15.2a3f5eec.chunk.js.map": "./static/js/15.2a3f5eec.chunk.js.map",
"index.html": "./index.html", "index.html": "./index.html",
"static/css/0.104de1ea.chunk.css.map": "./static/css/0.104de1ea.chunk.css.map", "static/css/0.455ee148.chunk.css.map": "./static/css/0.455ee148.chunk.css.map",
"static/css/5.ecdd39c8.chunk.css.map": "./static/css/5.ecdd39c8.chunk.css.map", "static/css/5.ecdd39c8.chunk.css.map": "./static/css/5.ecdd39c8.chunk.css.map",
"static/css/main.91119128.chunk.css.map": "./static/css/main.91119128.chunk.css.map", "static/css/main.91119128.chunk.css.map": "./static/css/main.91119128.chunk.css.map",
"static/js/0.692edbd0.chunk.js.LICENSE.txt": "./static/js/0.692edbd0.chunk.js.LICENSE.txt", "static/js/0.28cc3136.chunk.js.LICENSE.txt": "./static/js/0.28cc3136.chunk.js.LICENSE.txt",
"static/js/4.666fc590.chunk.js.LICENSE.txt": "./static/js/4.666fc590.chunk.js.LICENSE.txt", "static/js/4.666fc590.chunk.js.LICENSE.txt": "./static/js/4.666fc590.chunk.js.LICENSE.txt",
"static/js/6.af4be2c7.chunk.js.LICENSE.txt": "./static/js/6.af4be2c7.chunk.js.LICENSE.txt" "static/js/6.a60dd29b.chunk.js.LICENSE.txt": "./static/js/6.a60dd29b.chunk.js.LICENSE.txt"
}, },
"entrypoints": [ "entrypoints": [
"static/js/runtime-main.c8280d9f.js", "static/js/runtime-main.b31b6f30.js",
"static/js/4.666fc590.chunk.js", "static/js/4.666fc590.chunk.js",
"static/css/main.91119128.chunk.css", "static/css/main.91119128.chunk.css",
"static/js/main.403e59c4.chunk.js" "static/js/main.432d4603.chunk.js"
] ]
} }

View File

@ -1 +1 @@
<!doctype html><html lang="en"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name="description" content="CoreUI for React - Open Source Bootstrap Admin Template"><meta name="author" content="Łukasz Holeczek"><meta name="keyword" content="Bootstrap,Admin,Template,Open,Source,CSS,SCSS,HTML,RWD,Dashboard,React"><title>FBS Admin tool</title><link rel="manifest" href="./manifest.json"><link rel="shortcut icon" href="./favicon.ico"><link href="./static/css/main.91119128.chunk.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div><script>!function(e){function t(t){for(var n,o,u=t[0],i=t[1],f=t[2],d=0,s=[];d<u.length;d++)o=u[d],Object.prototype.hasOwnProperty.call(a,o)&&a[o]&&s.push(a[o][0]),a[o]=0;for(n in i)Object.prototype.hasOwnProperty.call(i,n)&&(e[n]=i[n]);for(l&&l(t);s.length;)s.shift()();return c.push.apply(c,f||[]),r()}function r(){for(var e,t=0;t<c.length;t++){for(var r=c[t],n=!0,o=1;o<r.length;o++){var i=r[o];0!==a[i]&&(n=!1)}n&&(c.splice(t--,1),e=u(u.s=r[0]))}return e}var n={},o={3:0},a={3:0},c=[];function u(t){if(n[t])return n[t].exports;var r=n[t]={i:t,l:!1,exports:{}};return e[t].call(r.exports,r,r.exports,u),r.l=!0,r.exports}u.e=function(e){var t=[];o[e]?t.push(o[e]):0!==o[e]&&{0:1,5:1}[e]&&t.push(o[e]=new Promise((function(t,r){for(var n="static/css/"+({}[e]||e)+"."+{0:"104de1ea",1:"31d6cfe0",5:"ecdd39c8",6:"31d6cfe0",7:"31d6cfe0",8:"31d6cfe0",9:"31d6cfe0",10:"31d6cfe0",11:"31d6cfe0",12:"31d6cfe0",13:"31d6cfe0",14:"31d6cfe0",15:"31d6cfe0"}[e]+".chunk.css",a=u.p+n,c=document.getElementsByTagName("link"),i=0;i<c.length;i++){var f=(l=c[i]).getAttribute("data-href")||l.getAttribute("href");if("stylesheet"===l.rel&&(f===n||f===a))return t()}var d=document.getElementsByTagName("style");for(i=0;i<d.length;i++){var l;if((f=(l=d[i]).getAttribute("data-href"))===n||f===a)return t()}var s=document.createElement("link");s.rel="stylesheet",s.type="text/css",s.onload=t,s.onerror=function(t){var n=t&&t.target&&t.target.src||a,c=new Error("Loading CSS chunk "+e+" failed.\n("+n+")");c.code="CSS_CHUNK_LOAD_FAILED",c.request=n,delete o[e],s.parentNode.removeChild(s),r(c)},s.href=a,document.getElementsByTagName("head")[0].appendChild(s)})).then((function(){o[e]=0})));var r=a[e];if(0!==r)if(r)t.push(r[2]);else{var n=new Promise((function(t,n){r=a[e]=[t,n]}));t.push(r[2]=n);var c,i=document.createElement("script");i.charset="utf-8",i.timeout=120,u.nc&&i.setAttribute("nonce",u.nc),i.src=function(e){return u.p+"static/js/"+({}[e]||e)+"."+{0:"692edbd0",1:"c34673f1",5:"53d775d4",6:"af4be2c7",7:"e5d7a6dd",8:"cf293431",9:"ce53fb19",10:"44c6c5dd",11:"0bafbc33",12:"575a420a",13:"93c62c57",14:"cb16bc0f",15:"36ea1548"}[e]+".chunk.js"}(e);var f=new Error;c=function(t){i.onerror=i.onload=null,clearTimeout(d);var r=a[e];if(0!==r){if(r){var n=t&&("load"===t.type?"missing":t.type),o=t&&t.target&&t.target.src;f.message="Loading chunk "+e+" failed.\n("+n+": "+o+")",f.name="ChunkLoadError",f.type=n,f.request=o,r[1](f)}a[e]=void 0}};var d=setTimeout((function(){c({type:"timeout",target:i})}),12e4);i.onerror=i.onload=c,document.head.appendChild(i)}return Promise.all(t)},u.m=e,u.c=n,u.d=function(e,t,r){u.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},u.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},u.t=function(e,t){if(1&t&&(e=u(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(u.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)u.d(r,n,function(t){return e[t]}.bind(null,n));return r},u.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return u.d(t,"a",t),t},u.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},u.p="./",u.oe=function(e){throw console.error(e),e};var i=this["webpackJsonp@coreui/coreui-free-react-admin-template"]=this["webpackJsonp@coreui/coreui-free-react-admin-template"]||[],f=i.push.bind(i);i.push=t,i=i.slice();for(var d=0;d<i.length;d++)t(i[d]);var l=f;r()}([])</script><script src="./static/js/4.666fc590.chunk.js"></script><script src="./static/js/main.403e59c4.chunk.js"></script></body></html> <!doctype html><html lang="en"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name="description" content="CoreUI for React - Open Source Bootstrap Admin Template"><meta name="author" content="Łukasz Holeczek"><meta name="keyword" content="Bootstrap,Admin,Template,Open,Source,CSS,SCSS,HTML,RWD,Dashboard,React"><title>FBS Admin tool</title><link rel="manifest" href="./manifest.json"><link rel="shortcut icon" href="./favicon.ico"><link href="./static/css/main.91119128.chunk.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div><script>!function(e){function t(t){for(var n,o,u=t[0],i=t[1],f=t[2],l=0,s=[];l<u.length;l++)o=u[l],Object.prototype.hasOwnProperty.call(c,o)&&c[o]&&s.push(c[o][0]),c[o]=0;for(n in i)Object.prototype.hasOwnProperty.call(i,n)&&(e[n]=i[n]);for(d&&d(t);s.length;)s.shift()();return a.push.apply(a,f||[]),r()}function r(){for(var e,t=0;t<a.length;t++){for(var r=a[t],n=!0,o=1;o<r.length;o++){var i=r[o];0!==c[i]&&(n=!1)}n&&(a.splice(t--,1),e=u(u.s=r[0]))}return e}var n={},o={3:0},c={3:0},a=[];function u(t){if(n[t])return n[t].exports;var r=n[t]={i:t,l:!1,exports:{}};return e[t].call(r.exports,r,r.exports,u),r.l=!0,r.exports}u.e=function(e){var t=[];o[e]?t.push(o[e]):0!==o[e]&&{0:1,5:1}[e]&&t.push(o[e]=new Promise((function(t,r){for(var n="static/css/"+({}[e]||e)+"."+{0:"455ee148",1:"31d6cfe0",5:"ecdd39c8",6:"31d6cfe0",7:"31d6cfe0",8:"31d6cfe0",9:"31d6cfe0",10:"31d6cfe0",11:"31d6cfe0",12:"31d6cfe0",13:"31d6cfe0",14:"31d6cfe0",15:"31d6cfe0"}[e]+".chunk.css",c=u.p+n,a=document.getElementsByTagName("link"),i=0;i<a.length;i++){var f=(d=a[i]).getAttribute("data-href")||d.getAttribute("href");if("stylesheet"===d.rel&&(f===n||f===c))return t()}var l=document.getElementsByTagName("style");for(i=0;i<l.length;i++){var d;if((f=(d=l[i]).getAttribute("data-href"))===n||f===c)return t()}var s=document.createElement("link");s.rel="stylesheet",s.type="text/css",s.onload=t,s.onerror=function(t){var n=t&&t.target&&t.target.src||c,a=new Error("Loading CSS chunk "+e+" failed.\n("+n+")");a.code="CSS_CHUNK_LOAD_FAILED",a.request=n,delete o[e],s.parentNode.removeChild(s),r(a)},s.href=c,document.getElementsByTagName("head")[0].appendChild(s)})).then((function(){o[e]=0})));var r=c[e];if(0!==r)if(r)t.push(r[2]);else{var n=new Promise((function(t,n){r=c[e]=[t,n]}));t.push(r[2]=n);var a,i=document.createElement("script");i.charset="utf-8",i.timeout=120,u.nc&&i.setAttribute("nonce",u.nc),i.src=function(e){return u.p+"static/js/"+({}[e]||e)+"."+{0:"28cc3136",1:"c34673f1",5:"53d775d4",6:"a60dd29b",7:"3719675b",8:"970806ae",9:"ce53fb19",10:"44c6c5dd",11:"0bafbc33",12:"575a420a",13:"93c62c57",14:"cb16bc0f",15:"2a3f5eec"}[e]+".chunk.js"}(e);var f=new Error;a=function(t){i.onerror=i.onload=null,clearTimeout(l);var r=c[e];if(0!==r){if(r){var n=t&&("load"===t.type?"missing":t.type),o=t&&t.target&&t.target.src;f.message="Loading chunk "+e+" failed.\n("+n+": "+o+")",f.name="ChunkLoadError",f.type=n,f.request=o,r[1](f)}c[e]=void 0}};var l=setTimeout((function(){a({type:"timeout",target:i})}),12e4);i.onerror=i.onload=a,document.head.appendChild(i)}return Promise.all(t)},u.m=e,u.c=n,u.d=function(e,t,r){u.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},u.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},u.t=function(e,t){if(1&t&&(e=u(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(u.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)u.d(r,n,function(t){return e[t]}.bind(null,n));return r},u.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return u.d(t,"a",t),t},u.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},u.p="./",u.oe=function(e){throw console.error(e),e};var i=this["webpackJsonp@coreui/coreui-free-react-admin-template"]=this["webpackJsonp@coreui/coreui-free-react-admin-template"]||[],f=i.push.bind(i);i.push=t,i=i.slice();for(var l=0;l<i.length;l++)t(i[l]);var d=f;r()}([])</script><script src="./static/js/4.666fc590.chunk.js"></script><script src="./static/js/main.432d4603.chunk.js"></script></body></html>

View File

@ -1,15 +1,15 @@
{ {
"short_name": "CoreUI-React", "short_name": "CoreUI-React",
"name": "CoreUI-React sample", "name": "CoreUI-React sample",
"icons": [ "icons": [
{ {
"src": "./assets/img/favicon.png", "src": "./assets/img/favicon.png",
"sizes": "100x100", "sizes": "100x100",
"type": "image/png" "type": "image/png"
} }
], ],
"start_url": ".", "start_url": ".",
"display": "standalone", "display": "standalone",
"theme_color": "#000000", "theme_color": "#000000",
"background_color": "#ffffff" "background_color": "#ffffff"
} }

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
{"version":3,"sources":["views/pages/login/Login.js"],"names":["Login","className","md","name","type","placeholder","autoComplete","xs","color","style","width","to","active","tabIndex"],"mappings":"6KAAA,mDA6EeA,UA3DD,WACZ,OACE,qBAAKC,UAAU,qDAAf,SACE,cAAC,IAAD,UACE,cAAC,IAAD,CAAMA,UAAU,yBAAhB,SACE,cAAC,IAAD,CAAMC,GAAG,IAAT,SACE,eAAC,IAAD,WACE,cAAC,IAAD,CAAOD,UAAU,MAAjB,SACE,cAAC,IAAD,UACE,eAAC,IAAD,WACE,uCACA,mBAAGA,UAAU,aAAb,qCACA,eAAC,IAAD,CAAaA,UAAU,OAAvB,UACE,cAAC,IAAD,UACE,cAAC,IAAD,UACE,cAAC,IAAD,CAAOE,KAAK,iBAGhB,cAAC,IAAD,CAAQC,KAAK,OAAOC,YAAY,WAAWC,aAAa,gBAE1D,eAAC,IAAD,CAAaL,UAAU,OAAvB,UACE,cAAC,IAAD,UACE,cAAC,IAAD,UACE,cAAC,IAAD,CAAOE,KAAK,wBAGhB,cAAC,IAAD,CAAQC,KAAK,WAAWC,YAAY,WAAWC,aAAa,wBAE9D,eAAC,IAAD,WACE,cAAC,IAAD,CAAMC,GAAG,IAAT,SACE,cAAC,IAAD,CAASC,MAAM,UAAUP,UAAU,OAAnC,qBAEF,cAAC,IAAD,CAAMM,GAAG,IAAIN,UAAU,aAAvB,SACE,cAAC,IAAD,CAASO,MAAM,OAAOP,UAAU,OAAhC,0CAMV,cAAC,IAAD,CAAOA,UAAU,4CAA4CQ,MAAO,CAAEC,MAAO,OAA7E,SACE,cAAC,IAAD,CAAWT,UAAU,cAArB,SACE,gCACE,yCACA,6JAEA,cAAC,IAAD,CAAMU,GAAG,YAAT,SACE,cAAC,IAAD,CAASH,MAAM,UAAUP,UAAU,OAAOW,QAAM,EAACC,UAAW,EAA5D","file":"static/js/10.44c6c5dd.chunk.js","sourcesContent":["import React from 'react'\r\nimport { Link } from 'react-router-dom'\r\nimport {\r\n CButton,\r\n CCard,\r\n CCardBody,\r\n CCardGroup,\r\n CCol,\r\n CContainer,\r\n CForm,\r\n CInput,\r\n CInputGroup,\r\n CInputGroupPrepend,\r\n CInputGroupText,\r\n CRow\r\n} from '@coreui/react'\r\nimport CIcon from '@coreui/icons-react'\r\n\r\nconst Login = () => {\r\n return (\r\n <div className=\"c-app c-default-layout flex-row align-items-center\">\r\n <CContainer>\r\n <CRow className=\"justify-content-center\">\r\n <CCol md=\"8\">\r\n <CCardGroup>\r\n <CCard className=\"p-4\">\r\n <CCardBody>\r\n <CForm>\r\n <h1>Login</h1>\r\n <p className=\"text-muted\">Sign In to your account</p>\r\n <CInputGroup className=\"mb-3\">\r\n <CInputGroupPrepend>\r\n <CInputGroupText>\r\n <CIcon name=\"cil-user\" />\r\n </CInputGroupText>\r\n </CInputGroupPrepend>\r\n <CInput type=\"text\" placeholder=\"Username\" autoComplete=\"username\" />\r\n </CInputGroup>\r\n <CInputGroup className=\"mb-4\">\r\n <CInputGroupPrepend>\r\n <CInputGroupText>\r\n <CIcon name=\"cil-lock-locked\" />\r\n </CInputGroupText>\r\n </CInputGroupPrepend>\r\n <CInput type=\"password\" placeholder=\"Password\" autoComplete=\"current-password\" />\r\n </CInputGroup>\r\n <CRow>\r\n <CCol xs=\"6\">\r\n <CButton color=\"primary\" className=\"px-4\">Login</CButton>\r\n </CCol>\r\n <CCol xs=\"6\" className=\"text-right\">\r\n <CButton color=\"link\" className=\"px-0\">Forgot password?</CButton>\r\n </CCol>\r\n </CRow>\r\n </CForm>\r\n </CCardBody>\r\n </CCard>\r\n <CCard className=\"text-white bg-primary py-5 d-md-down-none\" style={{ width: '44%' }}>\r\n <CCardBody className=\"text-center\">\r\n <div>\r\n <h2>Sign up</h2>\r\n <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut\r\n labore et dolore magna aliqua.</p>\r\n <Link to=\"/register\">\r\n <CButton color=\"primary\" className=\"mt-3\" active tabIndex={-1}>Register Now!</CButton>\r\n </Link>\r\n </div>\r\n </CCardBody>\r\n </CCard>\r\n </CCardGroup>\r\n </CCol>\r\n </CRow>\r\n </CContainer>\r\n </div>\r\n )\r\n}\r\n\r\nexport default Login\r\n"],"sourceRoot":""} {"version":3,"sources":["../C:/Users/mnouf/workspace/AkiraSan/FBSAdminTool/src/views/pages/login/Login.js"],"names":["Login","className","md","name","type","placeholder","autoComplete","xs","color","style","width","to","active","tabIndex"],"mappings":"6KAAA,mDA6EeA,UA3DD,WACZ,OACE,qBAAKC,UAAU,qDAAf,SACE,cAAC,IAAD,UACE,cAAC,IAAD,CAAMA,UAAU,yBAAhB,SACE,cAAC,IAAD,CAAMC,GAAG,IAAT,SACE,eAAC,IAAD,WACE,cAAC,IAAD,CAAOD,UAAU,MAAjB,SACE,cAAC,IAAD,UACE,eAAC,IAAD,WACE,uCACA,mBAAGA,UAAU,aAAb,qCACA,eAAC,IAAD,CAAaA,UAAU,OAAvB,UACE,cAAC,IAAD,UACE,cAAC,IAAD,UACE,cAAC,IAAD,CAAOE,KAAK,iBAGhB,cAAC,IAAD,CAAQC,KAAK,OAAOC,YAAY,WAAWC,aAAa,gBAE1D,eAAC,IAAD,CAAaL,UAAU,OAAvB,UACE,cAAC,IAAD,UACE,cAAC,IAAD,UACE,cAAC,IAAD,CAAOE,KAAK,wBAGhB,cAAC,IAAD,CAAQC,KAAK,WAAWC,YAAY,WAAWC,aAAa,wBAE9D,eAAC,IAAD,WACE,cAAC,IAAD,CAAMC,GAAG,IAAT,SACE,cAAC,IAAD,CAASC,MAAM,UAAUP,UAAU,OAAnC,qBAEF,cAAC,IAAD,CAAMM,GAAG,IAAIN,UAAU,aAAvB,SACE,cAAC,IAAD,CAASO,MAAM,OAAOP,UAAU,OAAhC,0CAMV,cAAC,IAAD,CAAOA,UAAU,4CAA4CQ,MAAO,CAAEC,MAAO,OAA7E,SACE,cAAC,IAAD,CAAWT,UAAU,cAArB,SACE,gCACE,yCACA,6JAEA,cAAC,IAAD,CAAMU,GAAG,YAAT,SACE,cAAC,IAAD,CAASH,MAAM,UAAUP,UAAU,OAAOW,QAAM,EAACC,UAAW,EAA5D","file":"static/js/10.44c6c5dd.chunk.js","sourcesContent":["import React from 'react'\r\nimport { Link } from 'react-router-dom'\r\nimport {\r\n CButton,\r\n CCard,\r\n CCardBody,\r\n CCardGroup,\r\n CCol,\r\n CContainer,\r\n CForm,\r\n CInput,\r\n CInputGroup,\r\n CInputGroupPrepend,\r\n CInputGroupText,\r\n CRow\r\n} from '@coreui/react'\r\nimport CIcon from '@coreui/icons-react'\r\n\r\nconst Login = () => {\r\n return (\r\n <div className=\"c-app c-default-layout flex-row align-items-center\">\r\n <CContainer>\r\n <CRow className=\"justify-content-center\">\r\n <CCol md=\"8\">\r\n <CCardGroup>\r\n <CCard className=\"p-4\">\r\n <CCardBody>\r\n <CForm>\r\n <h1>Login</h1>\r\n <p className=\"text-muted\">Sign In to your account</p>\r\n <CInputGroup className=\"mb-3\">\r\n <CInputGroupPrepend>\r\n <CInputGroupText>\r\n <CIcon name=\"cil-user\" />\r\n </CInputGroupText>\r\n </CInputGroupPrepend>\r\n <CInput type=\"text\" placeholder=\"Username\" autoComplete=\"username\" />\r\n </CInputGroup>\r\n <CInputGroup className=\"mb-4\">\r\n <CInputGroupPrepend>\r\n <CInputGroupText>\r\n <CIcon name=\"cil-lock-locked\" />\r\n </CInputGroupText>\r\n </CInputGroupPrepend>\r\n <CInput type=\"password\" placeholder=\"Password\" autoComplete=\"current-password\" />\r\n </CInputGroup>\r\n <CRow>\r\n <CCol xs=\"6\">\r\n <CButton color=\"primary\" className=\"px-4\">Login</CButton>\r\n </CCol>\r\n <CCol xs=\"6\" className=\"text-right\">\r\n <CButton color=\"link\" className=\"px-0\">Forgot password?</CButton>\r\n </CCol>\r\n </CRow>\r\n </CForm>\r\n </CCardBody>\r\n </CCard>\r\n <CCard className=\"text-white bg-primary py-5 d-md-down-none\" style={{ width: '44%' }}>\r\n <CCardBody className=\"text-center\">\r\n <div>\r\n <h2>Sign up</h2>\r\n <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut\r\n labore et dolore magna aliqua.</p>\r\n <Link to=\"/register\">\r\n <CButton color=\"primary\" className=\"mt-3\" active tabIndex={-1}>Register Now!</CButton>\r\n </Link>\r\n </div>\r\n </CCardBody>\r\n </CCard>\r\n </CCardGroup>\r\n </CCol>\r\n </CRow>\r\n </CContainer>\r\n </div>\r\n )\r\n}\r\n\r\nexport default Login\r\n"],"sourceRoot":""}

View File

@ -1 +1 @@
{"version":3,"sources":["views/pages/page404/Page404.js"],"names":["Page404","className","md","name","size","type","placeholder","color"],"mappings":"6KAAA,0CA2CeA,UA7BC,WACd,OACE,qBAAKC,UAAU,qDAAf,SACE,cAAC,IAAD,UACE,cAAC,IAAD,CAAMA,UAAU,yBAAhB,SACE,eAAC,IAAD,CAAMC,GAAG,IAAT,UACE,sBAAKD,UAAU,WAAf,UACE,oBAAIA,UAAU,4BAAd,iBACA,qBAAIA,UAAU,OAAd,sBAA+B,IAA/B,cACA,mBAAGA,UAAU,wBAAb,4DAEF,eAAC,IAAD,CAAaA,UAAU,gBAAvB,UACE,cAAC,IAAD,UACE,cAAC,IAAD,UACE,cAAC,IAAD,CAAOE,KAAK,6BAGhB,cAAC,IAAD,CAAQC,KAAK,KAAKC,KAAK,OAAOC,YAAY,8BAC1C,cAAC,IAAD,UACE,cAAC,IAAD,CAASC,MAAM,OAAf","file":"static/js/11.0bafbc33.chunk.js","sourcesContent":["import React from 'react'\r\nimport {\r\n CButton,\r\n CCol,\r\n CContainer,\r\n CInput,\r\n CInputGroup,\r\n CInputGroupPrepend,\r\n CInputGroupAppend,\r\n CInputGroupText,\r\n CRow\r\n} from '@coreui/react'\r\nimport CIcon from '@coreui/icons-react'\r\n\r\nconst Page404 = () => {\r\n return (\r\n <div className=\"c-app c-default-layout flex-row align-items-center\">\r\n <CContainer>\r\n <CRow className=\"justify-content-center\">\r\n <CCol md=\"6\">\r\n <div className=\"clearfix\">\r\n <h1 className=\"float-left display-3 mr-4\">404</h1>\r\n <h4 className=\"pt-3\">Oops! You{'\\''}re lost.</h4>\r\n <p className=\"text-muted float-left\">The page you are looking for was not found.</p>\r\n </div>\r\n <CInputGroup className=\"input-prepend\">\r\n <CInputGroupPrepend>\r\n <CInputGroupText>\r\n <CIcon name=\"cil-magnifying-glass\" />\r\n </CInputGroupText>\r\n </CInputGroupPrepend>\r\n <CInput size=\"16\" type=\"text\" placeholder=\"What are you looking for?\" />\r\n <CInputGroupAppend>\r\n <CButton color=\"info\">Search</CButton>\r\n </CInputGroupAppend>\r\n </CInputGroup>\r\n </CCol>\r\n </CRow>\r\n </CContainer>\r\n </div>\r\n )\r\n}\r\n\r\nexport default Page404\r\n"],"sourceRoot":""} {"version":3,"sources":["../C:/Users/mnouf/workspace/AkiraSan/FBSAdminTool/src/views/pages/page404/Page404.js"],"names":["Page404","className","md","name","size","type","placeholder","color"],"mappings":"6KAAA,0CA2CeA,UA7BC,WACd,OACE,qBAAKC,UAAU,qDAAf,SACE,cAAC,IAAD,UACE,cAAC,IAAD,CAAMA,UAAU,yBAAhB,SACE,eAAC,IAAD,CAAMC,GAAG,IAAT,UACE,sBAAKD,UAAU,WAAf,UACE,oBAAIA,UAAU,4BAAd,iBACA,qBAAIA,UAAU,OAAd,sBAA+B,IAA/B,cACA,mBAAGA,UAAU,wBAAb,4DAEF,eAAC,IAAD,CAAaA,UAAU,gBAAvB,UACE,cAAC,IAAD,UACE,cAAC,IAAD,UACE,cAAC,IAAD,CAAOE,KAAK,6BAGhB,cAAC,IAAD,CAAQC,KAAK,KAAKC,KAAK,OAAOC,YAAY,8BAC1C,cAAC,IAAD,UACE,cAAC,IAAD,CAASC,MAAM,OAAf","file":"static/js/11.0bafbc33.chunk.js","sourcesContent":["import React from 'react'\r\nimport {\r\n CButton,\r\n CCol,\r\n CContainer,\r\n CInput,\r\n CInputGroup,\r\n CInputGroupPrepend,\r\n CInputGroupAppend,\r\n CInputGroupText,\r\n CRow\r\n} from '@coreui/react'\r\nimport CIcon from '@coreui/icons-react'\r\n\r\nconst Page404 = () => {\r\n return (\r\n <div className=\"c-app c-default-layout flex-row align-items-center\">\r\n <CContainer>\r\n <CRow className=\"justify-content-center\">\r\n <CCol md=\"6\">\r\n <div className=\"clearfix\">\r\n <h1 className=\"float-left display-3 mr-4\">404</h1>\r\n <h4 className=\"pt-3\">Oops! You{'\\''}re lost.</h4>\r\n <p className=\"text-muted float-left\">The page you are looking for was not found.</p>\r\n </div>\r\n <CInputGroup className=\"input-prepend\">\r\n <CInputGroupPrepend>\r\n <CInputGroupText>\r\n <CIcon name=\"cil-magnifying-glass\" />\r\n </CInputGroupText>\r\n </CInputGroupPrepend>\r\n <CInput size=\"16\" type=\"text\" placeholder=\"What are you looking for?\" />\r\n <CInputGroupAppend>\r\n <CButton color=\"info\">Search</CButton>\r\n </CInputGroupAppend>\r\n </CInputGroup>\r\n </CCol>\r\n </CRow>\r\n </CContainer>\r\n </div>\r\n )\r\n}\r\n\r\nexport default Page404\r\n"],"sourceRoot":""}

View File

@ -1 +1 @@
{"version":3,"sources":["views/pages/page500/Page500.js"],"names":["Page500","className","md","name","size","type","placeholder","color"],"mappings":"6KAAA,0CA2CeA,UA7BC,WACd,OACE,qBAAKC,UAAU,qDAAf,SACE,cAAC,IAAD,UACE,cAAC,IAAD,CAAMA,UAAU,yBAAhB,SACE,eAAC,IAAD,CAAMC,GAAG,IAAT,UACE,uBAAMD,UAAU,WAAhB,UACE,oBAAIA,UAAU,4BAAd,iBACA,oBAAIA,UAAU,OAAd,yCACA,mBAAGA,UAAU,wBAAb,yEAEF,eAAC,IAAD,CAAaA,UAAU,gBAAvB,UACE,cAAC,IAAD,UACE,cAAC,IAAD,UACE,cAAC,IAAD,CAAOE,KAAK,6BAGhB,cAAC,IAAD,CAAQC,KAAK,KAAKC,KAAK,OAAOC,YAAY,8BAC1C,cAAC,IAAD,UACE,cAAC,IAAD,CAASC,MAAM,OAAf","file":"static/js/12.575a420a.chunk.js","sourcesContent":["import React from 'react'\r\nimport {\r\n CButton,\r\n CCol,\r\n CContainer,\r\n CInput,\r\n CInputGroup,\r\n CInputGroupAppend,\r\n CInputGroupPrepend,\r\n CInputGroupText,\r\n CRow\r\n} from '@coreui/react'\r\nimport CIcon from '@coreui/icons-react'\r\n\r\nconst Page500 = () => {\r\n return (\r\n <div className=\"c-app c-default-layout flex-row align-items-center\">\r\n <CContainer>\r\n <CRow className=\"justify-content-center\">\r\n <CCol md=\"6\">\r\n <span className=\"clearfix\">\r\n <h1 className=\"float-left display-3 mr-4\">500</h1>\r\n <h4 className=\"pt-3\">Houston, we have a problem!</h4>\r\n <p className=\"text-muted float-left\">The page you are looking for is temporarily unavailable.</p>\r\n </span>\r\n <CInputGroup className=\"input-prepend\">\r\n <CInputGroupPrepend>\r\n <CInputGroupText>\r\n <CIcon name=\"cil-magnifying-glass\" />\r\n </CInputGroupText>\r\n </CInputGroupPrepend>\r\n <CInput size=\"16\" type=\"text\" placeholder=\"What are you looking for?\" />\r\n <CInputGroupAppend>\r\n <CButton color=\"info\">Search</CButton>\r\n </CInputGroupAppend>\r\n </CInputGroup>\r\n </CCol>\r\n </CRow>\r\n </CContainer>\r\n </div>\r\n )\r\n}\r\n\r\nexport default Page500\r\n"],"sourceRoot":""} {"version":3,"sources":["../C:/Users/mnouf/workspace/AkiraSan/FBSAdminTool/src/views/pages/page500/Page500.js"],"names":["Page500","className","md","name","size","type","placeholder","color"],"mappings":"6KAAA,0CA2CeA,UA7BC,WACd,OACE,qBAAKC,UAAU,qDAAf,SACE,cAAC,IAAD,UACE,cAAC,IAAD,CAAMA,UAAU,yBAAhB,SACE,eAAC,IAAD,CAAMC,GAAG,IAAT,UACE,uBAAMD,UAAU,WAAhB,UACE,oBAAIA,UAAU,4BAAd,iBACA,oBAAIA,UAAU,OAAd,yCACA,mBAAGA,UAAU,wBAAb,yEAEF,eAAC,IAAD,CAAaA,UAAU,gBAAvB,UACE,cAAC,IAAD,UACE,cAAC,IAAD,UACE,cAAC,IAAD,CAAOE,KAAK,6BAGhB,cAAC,IAAD,CAAQC,KAAK,KAAKC,KAAK,OAAOC,YAAY,8BAC1C,cAAC,IAAD,UACE,cAAC,IAAD,CAASC,MAAM,OAAf","file":"static/js/12.575a420a.chunk.js","sourcesContent":["import React from 'react'\r\nimport {\r\n CButton,\r\n CCol,\r\n CContainer,\r\n CInput,\r\n CInputGroup,\r\n CInputGroupAppend,\r\n CInputGroupPrepend,\r\n CInputGroupText,\r\n CRow\r\n} from '@coreui/react'\r\nimport CIcon from '@coreui/icons-react'\r\n\r\nconst Page500 = () => {\r\n return (\r\n <div className=\"c-app c-default-layout flex-row align-items-center\">\r\n <CContainer>\r\n <CRow className=\"justify-content-center\">\r\n <CCol md=\"6\">\r\n <span className=\"clearfix\">\r\n <h1 className=\"float-left display-3 mr-4\">500</h1>\r\n <h4 className=\"pt-3\">Houston, we have a problem!</h4>\r\n <p className=\"text-muted float-left\">The page you are looking for is temporarily unavailable.</p>\r\n </span>\r\n <CInputGroup className=\"input-prepend\">\r\n <CInputGroupPrepend>\r\n <CInputGroupText>\r\n <CIcon name=\"cil-magnifying-glass\" />\r\n </CInputGroupText>\r\n </CInputGroupPrepend>\r\n <CInput size=\"16\" type=\"text\" placeholder=\"What are you looking for?\" />\r\n <CInputGroupAppend>\r\n <CButton color=\"info\">Search</CButton>\r\n </CInputGroupAppend>\r\n </CInputGroup>\r\n </CCol>\r\n </CRow>\r\n </CContainer>\r\n </div>\r\n )\r\n}\r\n\r\nexport default Page500\r\n"],"sourceRoot":""}

View File

@ -1 +1 @@
{"version":3,"sources":["views/pages/register/Register.js"],"names":["Register","className","md","lg","xl","name","type","placeholder","autoComplete","color","block","xs","sm"],"mappings":"6KAAA,0CA+EeA,UA9DE,WACf,OACE,qBAAKC,UAAU,qDAAf,SACE,cAAC,IAAD,UACE,cAAC,IAAD,CAAMA,UAAU,yBAAhB,SACE,cAAC,IAAD,CAAMC,GAAG,IAAIC,GAAG,IAAIC,GAAG,IAAvB,SACE,eAAC,IAAD,CAAOH,UAAU,OAAjB,UACE,cAAC,IAAD,CAAWA,UAAU,MAArB,SACE,eAAC,IAAD,WACE,0CACA,mBAAGA,UAAU,aAAb,iCACA,eAAC,IAAD,CAAaA,UAAU,OAAvB,UACE,cAAC,IAAD,UACE,cAAC,IAAD,UACE,cAAC,IAAD,CAAOI,KAAK,iBAGhB,cAAC,IAAD,CAAQC,KAAK,OAAOC,YAAY,WAAWC,aAAa,gBAE1D,eAAC,IAAD,CAAaP,UAAU,OAAvB,UACE,cAAC,IAAD,UACE,cAAC,IAAD,kBAEF,cAAC,IAAD,CAAQK,KAAK,OAAOC,YAAY,QAAQC,aAAa,aAEvD,eAAC,IAAD,CAAaP,UAAU,OAAvB,UACE,cAAC,IAAD,UACE,cAAC,IAAD,UACE,cAAC,IAAD,CAAOI,KAAK,wBAGhB,cAAC,IAAD,CAAQC,KAAK,WAAWC,YAAY,WAAWC,aAAa,oBAE9D,eAAC,IAAD,CAAaP,UAAU,OAAvB,UACE,cAAC,IAAD,UACE,cAAC,IAAD,UACE,cAAC,IAAD,CAAOI,KAAK,wBAGhB,cAAC,IAAD,CAAQC,KAAK,WAAWC,YAAY,kBAAkBC,aAAa,oBAErE,cAAC,IAAD,CAASC,MAAM,UAAUC,OAAK,EAA9B,iCAGJ,cAAC,IAAD,CAAaT,UAAU,MAAvB,SACE,eAAC,IAAD,WACE,cAAC,IAAD,CAAMU,GAAG,KAAKC,GAAG,IAAjB,SACE,cAAC,IAAD,CAASX,UAAU,oBAAoBS,OAAK,EAA5C,SAA6C,gDAE/C,cAAC,IAAD,CAAMC,GAAG,KAAKC,GAAG,IAAjB,SACE,cAAC,IAAD,CAASX,UAAU,mBAAmBS,OAAK,EAA3C,SAA4C","file":"static/js/13.93c62c57.chunk.js","sourcesContent":["import React from 'react'\r\nimport {\r\n CButton,\r\n CCard,\r\n CCardBody,\r\n CCardFooter,\r\n CCol,\r\n CContainer,\r\n CForm,\r\n CInput,\r\n CInputGroup,\r\n CInputGroupPrepend,\r\n CInputGroupText,\r\n CRow\r\n} from '@coreui/react'\r\nimport CIcon from '@coreui/icons-react'\r\n\r\nconst Register = () => {\r\n return (\r\n <div className=\"c-app c-default-layout flex-row align-items-center\">\r\n <CContainer>\r\n <CRow className=\"justify-content-center\">\r\n <CCol md=\"9\" lg=\"7\" xl=\"6\">\r\n <CCard className=\"mx-4\">\r\n <CCardBody className=\"p-4\">\r\n <CForm>\r\n <h1>Register</h1>\r\n <p className=\"text-muted\">Create your account</p>\r\n <CInputGroup className=\"mb-3\">\r\n <CInputGroupPrepend>\r\n <CInputGroupText>\r\n <CIcon name=\"cil-user\" />\r\n </CInputGroupText>\r\n </CInputGroupPrepend>\r\n <CInput type=\"text\" placeholder=\"Username\" autoComplete=\"username\" />\r\n </CInputGroup>\r\n <CInputGroup className=\"mb-3\">\r\n <CInputGroupPrepend>\r\n <CInputGroupText>@</CInputGroupText>\r\n </CInputGroupPrepend>\r\n <CInput type=\"text\" placeholder=\"Email\" autoComplete=\"email\" />\r\n </CInputGroup>\r\n <CInputGroup className=\"mb-3\">\r\n <CInputGroupPrepend>\r\n <CInputGroupText>\r\n <CIcon name=\"cil-lock-locked\" />\r\n </CInputGroupText>\r\n </CInputGroupPrepend>\r\n <CInput type=\"password\" placeholder=\"Password\" autoComplete=\"new-password\" />\r\n </CInputGroup>\r\n <CInputGroup className=\"mb-4\">\r\n <CInputGroupPrepend>\r\n <CInputGroupText>\r\n <CIcon name=\"cil-lock-locked\" />\r\n </CInputGroupText>\r\n </CInputGroupPrepend>\r\n <CInput type=\"password\" placeholder=\"Repeat password\" autoComplete=\"new-password\" />\r\n </CInputGroup>\r\n <CButton color=\"success\" block>Create Account</CButton>\r\n </CForm>\r\n </CCardBody>\r\n <CCardFooter className=\"p-4\">\r\n <CRow>\r\n <CCol xs=\"12\" sm=\"6\">\r\n <CButton className=\"btn-facebook mb-1\" block><span>facebook</span></CButton>\r\n </CCol>\r\n <CCol xs=\"12\" sm=\"6\">\r\n <CButton className=\"btn-twitter mb-1\" block><span>twitter</span></CButton>\r\n </CCol>\r\n </CRow>\r\n </CCardFooter>\r\n </CCard>\r\n </CCol>\r\n </CRow>\r\n </CContainer>\r\n </div>\r\n )\r\n}\r\n\r\nexport default Register\r\n"],"sourceRoot":""} {"version":3,"sources":["../C:/Users/mnouf/workspace/AkiraSan/FBSAdminTool/src/views/pages/register/Register.js"],"names":["Register","className","md","lg","xl","name","type","placeholder","autoComplete","color","block","xs","sm"],"mappings":"6KAAA,0CA+EeA,UA9DE,WACf,OACE,qBAAKC,UAAU,qDAAf,SACE,cAAC,IAAD,UACE,cAAC,IAAD,CAAMA,UAAU,yBAAhB,SACE,cAAC,IAAD,CAAMC,GAAG,IAAIC,GAAG,IAAIC,GAAG,IAAvB,SACE,eAAC,IAAD,CAAOH,UAAU,OAAjB,UACE,cAAC,IAAD,CAAWA,UAAU,MAArB,SACE,eAAC,IAAD,WACE,0CACA,mBAAGA,UAAU,aAAb,iCACA,eAAC,IAAD,CAAaA,UAAU,OAAvB,UACE,cAAC,IAAD,UACE,cAAC,IAAD,UACE,cAAC,IAAD,CAAOI,KAAK,iBAGhB,cAAC,IAAD,CAAQC,KAAK,OAAOC,YAAY,WAAWC,aAAa,gBAE1D,eAAC,IAAD,CAAaP,UAAU,OAAvB,UACE,cAAC,IAAD,UACE,cAAC,IAAD,kBAEF,cAAC,IAAD,CAAQK,KAAK,OAAOC,YAAY,QAAQC,aAAa,aAEvD,eAAC,IAAD,CAAaP,UAAU,OAAvB,UACE,cAAC,IAAD,UACE,cAAC,IAAD,UACE,cAAC,IAAD,CAAOI,KAAK,wBAGhB,cAAC,IAAD,CAAQC,KAAK,WAAWC,YAAY,WAAWC,aAAa,oBAE9D,eAAC,IAAD,CAAaP,UAAU,OAAvB,UACE,cAAC,IAAD,UACE,cAAC,IAAD,UACE,cAAC,IAAD,CAAOI,KAAK,wBAGhB,cAAC,IAAD,CAAQC,KAAK,WAAWC,YAAY,kBAAkBC,aAAa,oBAErE,cAAC,IAAD,CAASC,MAAM,UAAUC,OAAK,EAA9B,iCAGJ,cAAC,IAAD,CAAaT,UAAU,MAAvB,SACE,eAAC,IAAD,WACE,cAAC,IAAD,CAAMU,GAAG,KAAKC,GAAG,IAAjB,SACE,cAAC,IAAD,CAASX,UAAU,oBAAoBS,OAAK,EAA5C,SAA6C,gDAE/C,cAAC,IAAD,CAAMC,GAAG,KAAKC,GAAG,IAAjB,SACE,cAAC,IAAD,CAASX,UAAU,mBAAmBS,OAAK,EAA3C,SAA4C","file":"static/js/13.93c62c57.chunk.js","sourcesContent":["import React from 'react'\r\nimport {\r\n CButton,\r\n CCard,\r\n CCardBody,\r\n CCardFooter,\r\n CCol,\r\n CContainer,\r\n CForm,\r\n CInput,\r\n CInputGroup,\r\n CInputGroupPrepend,\r\n CInputGroupText,\r\n CRow\r\n} from '@coreui/react'\r\nimport CIcon from '@coreui/icons-react'\r\n\r\nconst Register = () => {\r\n return (\r\n <div className=\"c-app c-default-layout flex-row align-items-center\">\r\n <CContainer>\r\n <CRow className=\"justify-content-center\">\r\n <CCol md=\"9\" lg=\"7\" xl=\"6\">\r\n <CCard className=\"mx-4\">\r\n <CCardBody className=\"p-4\">\r\n <CForm>\r\n <h1>Register</h1>\r\n <p className=\"text-muted\">Create your account</p>\r\n <CInputGroup className=\"mb-3\">\r\n <CInputGroupPrepend>\r\n <CInputGroupText>\r\n <CIcon name=\"cil-user\" />\r\n </CInputGroupText>\r\n </CInputGroupPrepend>\r\n <CInput type=\"text\" placeholder=\"Username\" autoComplete=\"username\" />\r\n </CInputGroup>\r\n <CInputGroup className=\"mb-3\">\r\n <CInputGroupPrepend>\r\n <CInputGroupText>@</CInputGroupText>\r\n </CInputGroupPrepend>\r\n <CInput type=\"text\" placeholder=\"Email\" autoComplete=\"email\" />\r\n </CInputGroup>\r\n <CInputGroup className=\"mb-3\">\r\n <CInputGroupPrepend>\r\n <CInputGroupText>\r\n <CIcon name=\"cil-lock-locked\" />\r\n </CInputGroupText>\r\n </CInputGroupPrepend>\r\n <CInput type=\"password\" placeholder=\"Password\" autoComplete=\"new-password\" />\r\n </CInputGroup>\r\n <CInputGroup className=\"mb-4\">\r\n <CInputGroupPrepend>\r\n <CInputGroupText>\r\n <CIcon name=\"cil-lock-locked\" />\r\n </CInputGroupText>\r\n </CInputGroupPrepend>\r\n <CInput type=\"password\" placeholder=\"Repeat password\" autoComplete=\"new-password\" />\r\n </CInputGroup>\r\n <CButton color=\"success\" block>Create Account</CButton>\r\n </CForm>\r\n </CCardBody>\r\n <CCardFooter className=\"p-4\">\r\n <CRow>\r\n <CCol xs=\"12\" sm=\"6\">\r\n <CButton className=\"btn-facebook mb-1\" block><span>facebook</span></CButton>\r\n </CCol>\r\n <CCol xs=\"12\" sm=\"6\">\r\n <CButton className=\"btn-twitter mb-1\" block><span>twitter</span></CButton>\r\n </CCol>\r\n </CRow>\r\n </CCardFooter>\r\n </CCard>\r\n </CCol>\r\n </CRow>\r\n </CContainer>\r\n </div>\r\n )\r\n}\r\n\r\nexport default Register\r\n"],"sourceRoot":""}

View File

@ -1 +1 @@
{"version":3,"sources":["views/secret/index.js"],"names":["Secret"],"mappings":"6KAAA,wBAUeA,UARf,WACE,OACE","file":"static/js/14.cb16bc0f.chunk.js","sourcesContent":["import React from 'react'\r\n\r\nfunction Secret() {\r\n return (\r\n <div>\r\n This is a protected page\r\n </div>\r\n )\r\n}\r\n\r\nexport default Secret\r\n"],"sourceRoot":""} {"version":3,"sources":["../C:/Users/mnouf/workspace/AkiraSan/FBSAdminTool/src/views/secret/index.js"],"names":["Secret"],"mappings":"6KAAA,wBAUeA,UARf,WACE,OACE","file":"static/js/14.cb16bc0f.chunk.js","sourcesContent":["import React from 'react'\r\n\r\nfunction Secret() {\r\n return (\r\n <div>\r\n This is a protected page\r\n </div>\r\n )\r\n}\r\n\r\nexport default Secret\r\n"],"sourceRoot":""}

View File

@ -1,2 +1,2 @@
(this["webpackJsonp@coreui/coreui-free-react-admin-template"]=this["webpackJsonp@coreui/coreui-free-react-admin-template"]||[]).push([[15],{666:function(e,c,s){"use strict";s.r(c);s(1),s(638);var t=s(633),i=(s(632),s(17));c.default=function(){return Object(i.jsx)("div",{className:"c-app c-default-layout flex-row align-items-center",children:Object(i.jsx)(t.l,{children:Object(i.jsx)(t.K,{className:"justify-content-center",children:Object(i.jsx)(t.k,{md:"8",children:Object(i.jsxs)(t.i,{children:[Object(i.jsx)(t.f,{className:"p-4",children:Object(i.jsx)(t.g,{children:Object(i.jsxs)(t.s,{children:[Object(i.jsx)("h1",{children:"\u30ed\u30b0\u30a4\u30f3"}),Object(i.jsx)("p",{className:"text-muted",children:"SSO\u3067\u30b5\u30a4\u30f3\u30a4\u30f3\u3059\u308b\u306b\u306f\u3001\u3053\u3053\u3092\u30af\u30ea\u30c3\u30af\u3057\u3066\u304f\u3060\u3055\u3044"}),Object(i.jsx)(t.K,{children:Object(i.jsx)(t.k,{children:Object(i.jsx)(t.e,{color:"primary",className:"px-4",onClick:function(){console.log("launch sso"),window.open("https://fbssso.ts.bizside.biz/Shibboleth.sso/Login","_self")},children:"SSO\u3067\u30ed\u30b0\u30a4\u30f3"})})})]})})}),Object(i.jsx)(t.f,{className:"text-white bg-primary py-5 d-md-down-none",style:{width:"44%"},children:Object(i.jsx)(t.g,{className:"text-center",children:Object(i.jsxs)("div",{children:[Object(i.jsx)("h2",{children:"\u30ed\u30b0\u30a4\u30f3\u65b9\u6cd5"}),Object(i.jsx)("p",{children:"\u3053\u308c\u306fSSO\u30ed\u30b0\u30a4\u30f3\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002\u30ea\u30f3\u30af\u3092\u30af\u30ea\u30c3\u30af\u3059\u308b\u3068\u3001SSO\u30ed\u30b0\u30a4\u30f3\u30da\u30fc\u30b8\u306b\u30ea\u30c0\u30a4\u30ec\u30af\u30c8\u3055\u308c\u307e\u3059\u3002"})]})})})]})})})})})}}}]); (this["webpackJsonp@coreui/coreui-free-react-admin-template"]=this["webpackJsonp@coreui/coreui-free-react-admin-template"]||[]).push([[15],{666:function(e,c,s){"use strict";s.r(c);s(1),s(638);var t=s(633),i=(s(632),s(17));c.default=function(){return Object(i.jsx)("div",{className:"c-app c-default-layout flex-row align-items-center",children:Object(i.jsx)(t.l,{children:Object(i.jsx)(t.K,{className:"justify-content-center",children:Object(i.jsx)(t.k,{md:"8",children:Object(i.jsxs)(t.i,{children:[Object(i.jsx)(t.f,{className:"p-4",children:Object(i.jsx)(t.g,{children:Object(i.jsxs)(t.s,{children:[Object(i.jsx)("h1",{children:"\u30ed\u30b0\u30a4\u30f3"}),Object(i.jsx)("p",{className:"text-muted",children:"SSO\u3067\u30b5\u30a4\u30f3\u30a4\u30f3\u3059\u308b\u306b\u306f\u3001\u3053\u3053\u3092\u30af\u30ea\u30c3\u30af\u3057\u3066\u304f\u3060\u3055\u3044"}),Object(i.jsx)(t.K,{children:Object(i.jsx)(t.k,{children:Object(i.jsx)(t.e,{color:"primary",className:"px-4",onClick:function(){console.log("launch sso"),window.open("https://fbssso.bizside.biz/Shibboleth.sso/Login","_self")},children:"SSO\u3067\u30ed\u30b0\u30a4\u30f3"})})})]})})}),Object(i.jsx)(t.f,{className:"text-white bg-primary py-5 d-md-down-none",style:{width:"44%"},children:Object(i.jsx)(t.g,{className:"text-center",children:Object(i.jsxs)("div",{children:[Object(i.jsx)("h2",{children:"\u30ed\u30b0\u30a4\u30f3\u65b9\u6cd5"}),Object(i.jsx)("p",{children:"\u3053\u308c\u306fSSO\u30ed\u30b0\u30a4\u30f3\u3092\u4f7f\u7528\u3057\u307e\u3059\u3002\u30ea\u30f3\u30af\u3092\u30af\u30ea\u30c3\u30af\u3059\u308b\u3068\u3001SSO\u30ed\u30b0\u30a4\u30f3\u30da\u30fc\u30b8\u306b\u30ea\u30c0\u30a4\u30ec\u30af\u30c8\u3055\u308c\u307e\u3059\u3002"})]})})})]})})})})})}}}]);
//# sourceMappingURL=15.36ea1548.chunk.js.map //# sourceMappingURL=15.2a3f5eec.chunk.js.map

View File

@ -0,0 +1 @@
{"version":3,"sources":["views/sso/index.js"],"names":["Sso","className","md","color","onClick","console","log","window","open","style","width"],"mappings":"6KAAA,iDAmEeA,UAhDf,WAaE,OACE,qBAAKC,UAAU,qDAAf,SACE,cAAC,IAAD,UACE,cAAC,IAAD,CAAMA,UAAU,yBAAhB,SACE,cAAC,IAAD,CAAMC,GAAG,IAAT,SACE,eAAC,IAAD,WACE,cAAC,IAAD,CAAOD,UAAU,MAAjB,SACE,cAAC,IAAD,UACE,eAAC,IAAD,WACE,0DACA,mBAAGA,UAAU,aAAb,iKACA,cAAC,IAAD,UACE,cAAC,IAAD,UACE,cAAC,IAAD,CAASE,MAAM,UAAUF,UAAU,OAAOG,QAnBhE,WACEC,QAAQC,IAAI,cACZC,OAAOC,KAAK,kDAAmD,UAiB3C,0DAMV,cAAC,IAAD,CAAOP,UAAU,4CAA4CQ,MAAO,CAAEC,MAAO,OAA7E,SACE,cAAC,IAAD,CAAWT,UAAU,cAArB,SACE,gCACE,sEACA","file":"static/js/15.2a3f5eec.chunk.js","sourcesContent":["import React from 'react'\r\nimport axios from 'axios';\r\nimport { Link } from 'react-router-dom'\r\nimport {\r\n CButton,\r\n CCard,\r\n CCardBody,\r\n CCardGroup,\r\n CCol,\r\n CContainer,\r\n CForm,\r\n CInput,\r\n CInputGroup,\r\n CInputGroupPrepend,\r\n CInputGroupText,\r\n CRow\r\n} from '@coreui/react'\r\nimport CIcon from '@coreui/icons-react'\r\n\r\nfunction Sso() {\r\n\r\n // function launchsso() {\r\n // console.log(\"launch sso\");\r\n // window.open(\"https://fbssso.ts.bizside.biz/Shibboleth.sso/Login\", \"_self\");\r\n // }\r\n\r\n function launchsso() {\r\n console.log(\"launch sso\");\r\n window.open(\"https://fbssso.bizside.biz/Shibboleth.sso/Login\", \"_self\");\r\n }\r\n\r\n\r\n return (\r\n <div className=\"c-app c-default-layout flex-row align-items-center\">\r\n <CContainer>\r\n <CRow className=\"justify-content-center\">\r\n <CCol md=\"8\">\r\n <CCardGroup>\r\n <CCard className=\"p-4\">\r\n <CCardBody>\r\n <CForm>\r\n <h1>ログイン</h1>\r\n <p className=\"text-muted\">SSOでサインインするには、ここをクリックしてください</p>\r\n <CRow>\r\n <CCol>\r\n <CButton color=\"primary\" className=\"px-4\" onClick={launchsso}>SSOでログイン</CButton>\r\n </CCol>\r\n </CRow>\r\n </CForm>\r\n </CCardBody>\r\n </CCard>\r\n <CCard className=\"text-white bg-primary py-5 d-md-down-none\" style={{ width: '44%' }}>\r\n <CCardBody className=\"text-center\">\r\n <div>\r\n <h2>ログイン方法</h2>\r\n <p>これはSSOログインを使用します。リンクをクリックすると、SSOログインページにリダイレクトされます。</p>\r\n </div>\r\n </CCardBody>\r\n </CCard>\r\n </CCardGroup>\r\n </CCol>\r\n </CRow>\r\n </CContainer>\r\n </div>\r\n )\r\n}\r\n\r\nexport default Sso\r\n"],"sourceRoot":""}

View File

@ -1 +0,0 @@
{"version":3,"sources":["views/sso/index.js"],"names":["Sso","className","md","color","onClick","console","log","window","open","style","width"],"mappings":"6KAAA,iDA8DeA,UA3Cf,WAQE,OACE,qBAAKC,UAAU,qDAAf,SACE,cAAC,IAAD,UACE,cAAC,IAAD,CAAMA,UAAU,yBAAhB,SACE,cAAC,IAAD,CAAMC,GAAG,IAAT,SACE,eAAC,IAAD,WACE,cAAC,IAAD,CAAOD,UAAU,MAAjB,SACE,cAAC,IAAD,UACE,eAAC,IAAD,WACE,0DACA,mBAAGA,UAAU,aAAb,iKACA,cAAC,IAAD,UACE,cAAC,IAAD,UACE,cAAC,IAAD,CAASE,MAAM,UAAUF,UAAU,OAAOG,QAnBhE,WACEC,QAAQC,IAAI,cACZC,OAAOC,KAAK,qDAAsD,UAiB9C,0DAMV,cAAC,IAAD,CAAOP,UAAU,4CAA4CQ,MAAO,CAAEC,MAAO,OAA7E,SACE,cAAC,IAAD,CAAWT,UAAU,cAArB,SACE,gCACE,sEACA","file":"static/js/15.36ea1548.chunk.js","sourcesContent":["import React from 'react'\r\nimport axios from 'axios';\r\nimport { Link } from 'react-router-dom'\r\nimport {\r\n CButton,\r\n CCard,\r\n CCardBody,\r\n CCardGroup,\r\n CCol,\r\n CContainer,\r\n CForm,\r\n CInput,\r\n CInputGroup,\r\n CInputGroupPrepend,\r\n CInputGroupText,\r\n CRow\r\n} from '@coreui/react'\r\nimport CIcon from '@coreui/icons-react'\r\n\r\nfunction Sso() {\r\n\r\n function launchsso() {\r\n console.log(\"launch sso\");\r\n window.open(\"https://fbssso.ts.bizside.biz/Shibboleth.sso/Login\", \"_self\");\r\n }\r\n\r\n\r\n return (\r\n <div className=\"c-app c-default-layout flex-row align-items-center\">\r\n <CContainer>\r\n <CRow className=\"justify-content-center\">\r\n <CCol md=\"8\">\r\n <CCardGroup>\r\n <CCard className=\"p-4\">\r\n <CCardBody>\r\n <CForm>\r\n <h1>ログイン</h1>\r\n <p className=\"text-muted\">SSOでサインインするには、ここをクリックしてください</p>\r\n <CRow>\r\n <CCol>\r\n <CButton color=\"primary\" className=\"px-4\" onClick={launchsso}>SSOでログイン</CButton>\r\n </CCol>\r\n </CRow>\r\n </CForm>\r\n </CCardBody>\r\n </CCard>\r\n <CCard className=\"text-white bg-primary py-5 d-md-down-none\" style={{ width: '44%' }}>\r\n <CCardBody className=\"text-center\">\r\n <div>\r\n <h2>ログイン方法</h2>\r\n <p>これはSSOログインを使用します。リンクをクリックすると、SSOログインページにリダイレクトされます。</p>\r\n </div>\r\n </CCardBody>\r\n </CCard>\r\n </CCardGroup>\r\n </CCol>\r\n </CRow>\r\n </CContainer>\r\n </div>\r\n )\r\n}\r\n\r\nexport default Sso\r\n"],"sourceRoot":""}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,2 +1,2 @@
(this["webpackJsonp@coreui/coreui-free-react-admin-template"]=this["webpackJsonp@coreui/coreui-free-react-admin-template"]||[]).push([[8],{769:function(e,t,i){"use strict";i.r(t);var s=i(651),n=i(1),c=i(638),r=i.n(c),a=i(633),l=i(632),j=i(17);t.default=function(e){var t=Object(n.useState)(null),i=Object(s.a)(t,2),c=i[0],o=i[1];return Object(j.jsx)("div",{children:Object(j.jsxs)(a.f,{children:[Object(j.jsx)(a.j,{children:"\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9"}),Object(j.jsxs)(a.g,{children:[Object(j.jsxs)(a.t,{row:!0,children:[Object(j.jsx)(a.k,{md:"3",children:Object(j.jsx)(a.H,{htmlFor:"date-input",children:" \u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u3059\u308b\u30d5\u30a1\u30a4\u30eb\u3092\u9078\u3093\u3067\u304f\u3060\u3055\u3044 "})}),Object(j.jsx)(a.k,{xs:"12",md:"9",children:Object(j.jsx)(a.C,{type:"file",onChange:function(e){o(e.target.files[0])},id:"file-input",name:"file-input"})})]}),Object(j.jsx)(a.h,{children:Object(j.jsxs)(a.e,{type:"submit",onClick:function(t){var i=new FormData;i.append("file",c);var s=c.name.trim(),n=new Intl.Collator("ja"),a=n.compare("ini_\u5de5\u7a0b\u5185\u691c\u67fb\u7968.xlsx",s),l=n.compare("ini_\u30c7\u30fc\u30bf\u5165\u529b\u30b7\u30fc\u30c8.xlsx",s);0===a||0===l?r.a.post("https://fbssso.ts.bizside.biz/upload?email="+e.email,i).then((function(e){console.log(e.statusText),"OK"==e.statusText?alert("\u6b63\u5e38\u306b\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u3055\u308c\u307e\u3057\u305f"):204==e.status&&alert("\u521d\u671f\u8a2d\u5b9a\u306e\u8aad\u307f\u8fbc\u307f\u306b\u5931\u6557\u3057\u307e\u3057\u305f")})):alert("\u6307\u5b9a\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb\u540d"+c.name+"\u304c\u9593\u9055\u3063\u3066\u3044\u307e\u3059\u3002ini_\u5de5\u7a0b\u5185\u691c\u67fb\u8868.xlsx \u307e\u305f\u306f ini_\u30c7\u30fc\u30bf\u5165\u529b\u30b7\u30fc\u30c8.xlsx \u306e\u3069\u3061\u3089\u304b\u306b\u540d\u524d\u3092\u5909\u66f4\u3057\u3066\u304f\u3060\u3055\u3044\u3002")},size:"sm",color:"primary",children:[" ",Object(j.jsx)(l.a,{name:"cil-scrubber"})," \u30a2\u30c3\u30d7\u30ed\u30fc\u30c9 "]})})]})]})})}}}]); (this["webpackJsonp@coreui/coreui-free-react-admin-template"]=this["webpackJsonp@coreui/coreui-free-react-admin-template"]||[]).push([[8],{769:function(e,t,i){"use strict";i.r(t);var s=i(651),n=i(1),c=i(638),r=i.n(c),a=i(633),l=i(632),j=i(17);t.default=function(e){var t=Object(n.useState)(null),i=Object(s.a)(t,2),c=i[0],o=i[1];return Object(j.jsx)("div",{children:Object(j.jsxs)(a.f,{children:[Object(j.jsx)(a.j,{children:"\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9"}),Object(j.jsxs)(a.g,{children:[Object(j.jsxs)(a.t,{row:!0,children:[Object(j.jsx)(a.k,{md:"3",children:Object(j.jsx)(a.H,{htmlFor:"date-input",children:" \u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u3059\u308b\u30d5\u30a1\u30a4\u30eb\u3092\u9078\u3093\u3067\u304f\u3060\u3055\u3044 "})}),Object(j.jsx)(a.k,{xs:"12",md:"9",children:Object(j.jsx)(a.C,{type:"file",onChange:function(e){o(e.target.files[0])},id:"file-input",name:"file-input"})})]}),Object(j.jsx)(a.h,{children:Object(j.jsxs)(a.e,{type:"submit",onClick:function(t){var i=new FormData;i.append("file",c);var s=c.name.trim(),n=new Intl.Collator("ja"),a=n.compare("ini_\u5de5\u7a0b\u5185\u691c\u67fb\u7968.xlsx",s),l=n.compare("ini_\u30c7\u30fc\u30bf\u5165\u529b\u30b7\u30fc\u30c8.xlsx",s);0===a||0===l?r.a.post("https://fbssso.ts.bizside.biz/upload?email="+e.email,i).then((function(e){console.log(e.statusText),"OK"==e.statusText?alert("\u6b63\u5e38\u306b\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u3055\u308c\u307e\u3057\u305f"):204==e.status&&alert("\u521d\u671f\u8a2d\u5b9a\u306e\u8aad\u307f\u8fbc\u307f\u306b\u5931\u6557\u3057\u307e\u3057\u305f")})):alert("\u6307\u5b9a\u3055\u308c\u305f\u30d5\u30a1\u30a4\u30eb\u540d"+c.name+"\u304c\u9593\u9055\u3063\u3066\u3044\u307e\u3059\u3002ini_\u5de5\u7a0b\u5185\u691c\u67fb\u8868.xlsx \u307e\u305f\u306f ini_\u30c7\u30fc\u30bf\u5165\u529b\u30b7\u30fc\u30c8.xlsx \u306e\u3069\u3061\u3089\u304b\u306b\u540d\u524d\u3092\u5909\u66f4\u3057\u3066\u304f\u3060\u3055\u3044\u3002")},size:"sm",color:"primary",children:[" ",Object(j.jsx)(l.a,{name:"cil-scrubber"})," \u30a2\u30c3\u30d7\u30ed\u30fc\u30c9 "]})})]})]})})}}}]);
//# sourceMappingURL=8.cf293431.chunk.js.map //# sourceMappingURL=8.970806ae.chunk.js.map

View File

@ -1 +1 @@
{"version":3,"sources":["views/Uploader/index.js"],"names":["Uploader","props","useState","file","setFile","row","md","htmlFor","xs","type","onChange","e","target","files","id","name","onClick","data","FormData","append","chk","trim","collator","Intl","Collator","order1","compare","order2","axios","post","email","then","res","console","log","statusText","alert","status","size","color"],"mappings":"mPAqFeA,UApEf,SAAkBC,GAEd,MAAwBC,mBAAS,MAAjC,mBAAOC,EAAP,KAAaC,EAAb,KAuCA,OACA,8BACI,eAAC,IAAD,WACA,cAAC,IAAD,mDAGA,eAAC,IAAD,WACA,eAAC,IAAD,CAAYC,KAAG,EAAf,UACA,cAAC,IAAD,CAAMC,GAAK,IAAX,SACA,cAAC,IAAD,CAAQC,QAAU,aAAlB,0IAEA,cAAC,IAAD,CAAMC,GAAK,KAAIF,GAAK,IAApB,SACA,cAAC,IAAD,CAAYG,KAAO,OAAMC,SAjD7B,SAAyBC,GACrBP,EAAQO,EAAEC,OAAOC,MAAM,KAgDiCC,GAAK,aAAaC,KAAO,oBAGjF,cAAC,IAAD,UACA,eAAC,IAAD,CAASN,KAAO,SAChBO,QAlDJ,SAAwBL,GACpB,IAAIM,EAAO,IAAIC,SACfD,EAAKE,OAAO,OAAQhB,GACpB,IAAMiB,EAAMjB,EAAKY,KAAKM,OAChBC,EAAW,IAAIC,KAAKC,SAAS,MAC7BC,EAASH,EAASI,QAAQ,gDAAmBN,GAC7CO,EAASL,EAASI,QAAQ,4DAAqBN,GACvC,IAAXK,GAA2B,IAAXE,EAMfC,IAAMC,KAAK,8CAAgD5B,EAAM6B,MAAOb,GACvEc,MAAK,SAAAC,GACFC,QAAQC,IAAIF,EAAIG,YACM,MAAlBH,EAAIG,WACNC,MAAM,wFAEc,KAAdJ,EAAIK,QACVD,MAAM,uGAKdA,MAAM,+DAAejC,EAAKY,KAAO,kSA0BnCuB,KAAO,KACPC,MAAQ,UAHR,cAGoB,cAAE,IAAF,CAAQxB,KAAO,iBAHnC","file":"static/js/8.cf293431.chunk.js","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport axios from 'axios';\r\nimport {\r\n CCol,\r\n CFormGroup,\r\n CInput,\r\n CInputFile,\r\n CLabel,\r\n CButton,\r\n CCard,\r\n CCardHeader,\r\n CCardBody,\r\n CCardFooter,\r\n} from '@coreui/react'\r\nimport CIcon from '@coreui/icons-react'\r\n\r\n\r\nfunction Uploader(props) {\r\n\r\n const [file, setFile] = useState(null);\r\n \r\n function onChangeHandler(e) {\r\n setFile(e.target.files[0])\r\n }\r\n\r\n function onClickHandler(e) {\r\n let data = new FormData()\r\n data.append('file', file);\r\n const chk = file.name.trim();\r\n const collator = new Intl.Collator('ja'); \r\n const order1 = collator.compare('ini_工程内検査票.xlsx', chk); \r\n const order2 = collator.compare('ini_データ入力シート.xlsx', chk); \r\n if(order1 === 0 || order2 === 0)\r\n {\r\n // axios.post(\"https://fsbsso.sumasen.net/upload?email=\" + props.email, {\r\n // body: data,\r\n // headers: {'Content-Type': 'multipart/form-data' }\r\n // })\r\n axios.post(\"https://fbssso.ts.bizside.biz/upload?email=\" + props.email, data)\r\n .then(res => { // then print response status\r\n console.log(res.statusText)\r\n if (res.statusText == 'OK') {\r\n alert(\"正常にアップロードされました\");\r\n }\r\n else if(res.status == 204){\r\n alert(\"初期設定の読み込みに失敗しました\");\r\n }\r\n });\r\n }\r\n else {\r\n alert(\"指定されたファイル名\" + file.name + \"が間違っています。ini_工程内検査表.xlsx または ini_データ入力シート.xlsx のどちらかに名前を変更してください。\");\r\n return\r\n }\r\n //console.log(file.name);\r\n //console.log('calling upload');\r\n\r\n }\r\n\r\n return ( \r\n <div>\r\n <CCard >\r\n <CCardHeader>\r\n アップロード\r\n </CCardHeader> \r\n <CCardBody >\r\n <CFormGroup row>\r\n <CCol md = \"3\">\r\n <CLabel htmlFor = \"date-input\" > アップロードするファイルを選んでください < /CLabel> \r\n </CCol > \r\n <CCol xs = \"12\"md = \"9\" >\r\n <CInputFile type = \"file\"onChange = { onChangeHandler } id = \"file-input\" name = \"file-input\" / >\r\n </CCol> \r\n </CFormGroup >\r\n <CCardFooter >\r\n <CButton type = \"submit\"\r\n onClick = { onClickHandler }\r\n size = \"sm\"\r\n color = \"primary\" > < CIcon name = \"cil-scrubber\" / > アップロード </CButton> \r\n </CCardFooter>\r\n </CCardBody>\r\n </CCard>\r\n </div>\r\n )\r\n}\r\n\r\nexport default Uploader\r\n"],"sourceRoot":""} {"version":3,"sources":["views/Uploader/index.js"],"names":["Uploader","props","useState","file","setFile","row","md","htmlFor","xs","type","onChange","e","target","files","id","name","onClick","data","FormData","append","chk","trim","collator","Intl","Collator","order1","compare","order2","axios","post","email","then","res","console","log","statusText","alert","status","size","color"],"mappings":"mPAqFeA,UApEf,SAAkBC,GAEd,MAAwBC,mBAAS,MAAjC,mBAAOC,EAAP,KAAaC,EAAb,KAuCA,OACA,8BACI,eAAC,IAAD,WACA,cAAC,IAAD,mDAGA,eAAC,IAAD,WACA,eAAC,IAAD,CAAYC,KAAG,EAAf,UACA,cAAC,IAAD,CAAMC,GAAK,IAAX,SACA,cAAC,IAAD,CAAQC,QAAU,aAAlB,0IAEA,cAAC,IAAD,CAAMC,GAAK,KAAIF,GAAK,IAApB,SACA,cAAC,IAAD,CAAYG,KAAO,OAAMC,SAjD7B,SAAyBC,GACrBP,EAAQO,EAAEC,OAAOC,MAAM,KAgDiCC,GAAK,aAAaC,KAAO,oBAGjF,cAAC,IAAD,UACA,eAAC,IAAD,CAASN,KAAO,SAChBO,QAlDJ,SAAwBL,GACpB,IAAIM,EAAO,IAAIC,SACfD,EAAKE,OAAO,OAAQhB,GACpB,IAAMiB,EAAMjB,EAAKY,KAAKM,OAChBC,EAAW,IAAIC,KAAKC,SAAS,MAC7BC,EAASH,EAASI,QAAQ,gDAAmBN,GAC7CO,EAASL,EAASI,QAAQ,4DAAqBN,GACvC,IAAXK,GAA2B,IAAXE,EAMfC,IAAMC,KAAK,8CAAgD5B,EAAM6B,MAAOb,GACvEc,MAAK,SAAAC,GACFC,QAAQC,IAAIF,EAAIG,YACM,MAAlBH,EAAIG,WACNC,MAAM,wFAEc,KAAdJ,EAAIK,QACVD,MAAM,uGAKdA,MAAM,+DAAejC,EAAKY,KAAO,kSA0BnCuB,KAAO,KACPC,MAAQ,UAHR,cAGoB,cAAE,IAAF,CAAQxB,KAAO,iBAHnC","file":"static/js/8.970806ae.chunk.js","sourcesContent":["import React, { useState, useEffect } from 'react';\r\nimport axios from 'axios';\r\nimport {\r\n CCol,\r\n CFormGroup,\r\n CInput,\r\n CInputFile,\r\n CLabel,\r\n CButton,\r\n CCard,\r\n CCardHeader,\r\n CCardBody,\r\n CCardFooter,\r\n} from '@coreui/react'\r\nimport CIcon from '@coreui/icons-react'\r\n\r\n\r\nfunction Uploader(props) {\r\n\r\n const [file, setFile] = useState(null);\r\n \r\n function onChangeHandler(e) {\r\n setFile(e.target.files[0])\r\n }\r\n\r\n function onClickHandler(e) {\r\n let data = new FormData()\r\n data.append('file', file);\r\n const chk = file.name.trim();\r\n const collator = new Intl.Collator('ja'); \r\n const order1 = collator.compare('ini_工程内検査票.xlsx', chk); \r\n const order2 = collator.compare('ini_データ入力シート.xlsx', chk); \r\n if(order1 === 0 || order2 === 0)\r\n {\r\n // axios.post(\"https://fsbsso.sumasen.net/upload?email=\" + props.email, {\r\n // body: data,\r\n // headers: {'Content-Type': 'multipart/form-data' }\r\n // })\r\n axios.post(\"https://fbssso.ts.bizside.biz/upload?email=\" + props.email, data)\r\n .then(res => { // then print response status\r\n console.log(res.statusText)\r\n if (res.statusText == 'OK') {\r\n alert(\"正常にアップロードされました\");\r\n }\r\n else if(res.status == 204){\r\n alert(\"初期設定の読み込みに失敗しました\");\r\n }\r\n });\r\n }\r\n else {\r\n alert(\"指定されたファイル名\" + file.name + \"が間違っています。ini_工程内検査表.xlsx または ini_データ入力シート.xlsx のどちらかに名前を変更してください。\");\r\n return\r\n }\r\n //console.log(file.name);\r\n //console.log('calling upload');\r\n\r\n }\r\n\r\n return ( \r\n <div>\r\n <CCard >\r\n <CCardHeader>\r\n アップロード\r\n </CCardHeader> \r\n <CCardBody >\r\n <CFormGroup row>\r\n <CCol md = \"3\">\r\n <CLabel htmlFor = \"date-input\" > アップロードするファイルを選んでください < /CLabel> \r\n </CCol > \r\n <CCol xs = \"12\"md = \"9\" >\r\n <CInputFile type = \"file\"onChange = { onChangeHandler } id = \"file-input\" name = \"file-input\" / >\r\n </CCol> \r\n </CFormGroup >\r\n <CCardFooter >\r\n <CButton type = \"submit\"\r\n onClick = { onClickHandler }\r\n size = \"sm\"\r\n color = \"primary\" > < CIcon name = \"cil-scrubber\" / > アップロード </CButton> \r\n </CCardFooter>\r\n </CCardBody>\r\n </CCard>\r\n </div>\r\n )\r\n}\r\n\r\nexport default Uploader\r\n"],"sourceRoot":""}

View File

@ -1 +1 @@
{"version":3,"sources":["views/dashboard/Dashboard.js"],"names":["Dashboard","props","className","userid","target","href"],"mappings":"4KAAA,wCAmCeA,UApBG,SAACC,GACjB,OACE,8BACE,cAAC,IAAD,CAAOC,UAAU,UAAjB,SACE,cAAC,IAAD,UACA,qBAAKA,UAAU,sCAAf,SACP,qBAAKA,UAAU,YAAf,SACC,6BAAYA,UAAU,iBAAtB,UACI,gGAAiBD,EAAME,UAC1B,mBAAGC,OAAO,SAASC,KAAK,sFAAxB,SAA8G","file":"static/js/9.ce53fb19.chunk.js","sourcesContent":["import React, { lazy } from 'react'\r\nimport CIcon from '@coreui/icons-react'\r\nimport {\r\n CCol,\r\n CFormGroup,\r\n CInput,\r\n CInputFile,\r\n CLabel,\r\n CButton,\r\n CCard,\r\n CCardHeader,\r\n CCardBody,\r\n CCardFooter,\r\n} from '@coreui/react'\r\n\r\nconst Dashboard = (props) => {\r\n return (\r\n <div >\r\n <CCard className=\"bg-info\">\r\n <CCardBody >\r\n <div className=\"text-white text-center card bg-info\">\r\n\t<div className=\"card-body\">\r\n\t\t<blockquote className=\"card-bodyquote\">\r\n <h3>ワンタイムパスワード :{props.userid}</h3>\r\n\t\t\t<a target=\"_blank\" href=\"https://natnats.mobilous.com/appexe/natnats/23/bin/mobileweb2/index.html#page_44022\"><h1>FBS Web app</h1></a>\r\n\t\t</blockquote>\r\n\t</div>\r\n</div>\r\n </CCardBody>\r\n </CCard>\r\n </div>\r\n)\r\n\r\n}\r\n\r\nexport default Dashboard\r\n"],"sourceRoot":""} {"version":3,"sources":["../C:/Users/mnouf/workspace/AkiraSan/FBSAdminTool/src/views/dashboard/Dashboard.js"],"names":["Dashboard","props","className","userid","target","href"],"mappings":"4KAAA,wCAmCeA,UApBG,SAACC,GACjB,OACE,8BACE,cAAC,IAAD,CAAOC,UAAU,UAAjB,SACE,cAAC,IAAD,UACA,qBAAKA,UAAU,sCAAf,SACP,qBAAKA,UAAU,YAAf,SACC,6BAAYA,UAAU,iBAAtB,UACI,gGAAiBD,EAAME,UAC1B,mBAAGC,OAAO,SAASC,KAAK,sFAAxB,SAA8G","file":"static/js/9.ce53fb19.chunk.js","sourcesContent":["import React, { lazy } from 'react'\r\nimport CIcon from '@coreui/icons-react'\r\nimport {\r\n CCol,\r\n CFormGroup,\r\n CInput,\r\n CInputFile,\r\n CLabel,\r\n CButton,\r\n CCard,\r\n CCardHeader,\r\n CCardBody,\r\n CCardFooter,\r\n} from '@coreui/react'\r\n\r\nconst Dashboard = (props) => {\r\n return (\r\n <div >\r\n <CCard className=\"bg-info\">\r\n <CCardBody >\r\n <div className=\"text-white text-center card bg-info\">\r\n\t<div className=\"card-body\">\r\n\t\t<blockquote className=\"card-bodyquote\">\r\n <h3>ワンタイムパスワード :{props.userid}</h3>\r\n\t\t\t<a target=\"_blank\" href=\"https://natnats.mobilous.com/appexe/natnats/23/bin/mobileweb2/index.html#page_44022\"><h1>FBS Web app</h1></a>\r\n\t\t</blockquote>\r\n\t</div>\r\n</div>\r\n </CCardBody>\r\n </CCard>\r\n </div>\r\n)\r\n\r\n}\r\n\r\nexport default Dashboard\r\n"],"sourceRoot":""}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,2 @@
!function(e){function t(t){for(var n,o,u=t[0],i=t[1],f=t[2],l=0,s=[];l<u.length;l++)o=u[l],Object.prototype.hasOwnProperty.call(c,o)&&c[o]&&s.push(c[o][0]),c[o]=0;for(n in i)Object.prototype.hasOwnProperty.call(i,n)&&(e[n]=i[n]);for(d&&d(t);s.length;)s.shift()();return a.push.apply(a,f||[]),r()}function r(){for(var e,t=0;t<a.length;t++){for(var r=a[t],n=!0,o=1;o<r.length;o++){var i=r[o];0!==c[i]&&(n=!1)}n&&(a.splice(t--,1),e=u(u.s=r[0]))}return e}var n={},o={3:0},c={3:0},a=[];function u(t){if(n[t])return n[t].exports;var r=n[t]={i:t,l:!1,exports:{}};return e[t].call(r.exports,r,r.exports,u),r.l=!0,r.exports}u.e=function(e){var t=[];o[e]?t.push(o[e]):0!==o[e]&&{0:1,5:1}[e]&&t.push(o[e]=new Promise((function(t,r){for(var n="static/css/"+({}[e]||e)+"."+{0:"455ee148",1:"31d6cfe0",5:"ecdd39c8",6:"31d6cfe0",7:"31d6cfe0",8:"31d6cfe0",9:"31d6cfe0",10:"31d6cfe0",11:"31d6cfe0",12:"31d6cfe0",13:"31d6cfe0",14:"31d6cfe0",15:"31d6cfe0"}[e]+".chunk.css",c=u.p+n,a=document.getElementsByTagName("link"),i=0;i<a.length;i++){var f=(d=a[i]).getAttribute("data-href")||d.getAttribute("href");if("stylesheet"===d.rel&&(f===n||f===c))return t()}var l=document.getElementsByTagName("style");for(i=0;i<l.length;i++){var d;if((f=(d=l[i]).getAttribute("data-href"))===n||f===c)return t()}var s=document.createElement("link");s.rel="stylesheet",s.type="text/css",s.onload=t,s.onerror=function(t){var n=t&&t.target&&t.target.src||c,a=new Error("Loading CSS chunk "+e+" failed.\n("+n+")");a.code="CSS_CHUNK_LOAD_FAILED",a.request=n,delete o[e],s.parentNode.removeChild(s),r(a)},s.href=c,document.getElementsByTagName("head")[0].appendChild(s)})).then((function(){o[e]=0})));var r=c[e];if(0!==r)if(r)t.push(r[2]);else{var n=new Promise((function(t,n){r=c[e]=[t,n]}));t.push(r[2]=n);var a,i=document.createElement("script");i.charset="utf-8",i.timeout=120,u.nc&&i.setAttribute("nonce",u.nc),i.src=function(e){return u.p+"static/js/"+({}[e]||e)+"."+{0:"28cc3136",1:"c34673f1",5:"53d775d4",6:"a60dd29b",7:"3719675b",8:"970806ae",9:"ce53fb19",10:"44c6c5dd",11:"0bafbc33",12:"575a420a",13:"93c62c57",14:"cb16bc0f",15:"2a3f5eec"}[e]+".chunk.js"}(e);var f=new Error;a=function(t){i.onerror=i.onload=null,clearTimeout(l);var r=c[e];if(0!==r){if(r){var n=t&&("load"===t.type?"missing":t.type),o=t&&t.target&&t.target.src;f.message="Loading chunk "+e+" failed.\n("+n+": "+o+")",f.name="ChunkLoadError",f.type=n,f.request=o,r[1](f)}c[e]=void 0}};var l=setTimeout((function(){a({type:"timeout",target:i})}),12e4);i.onerror=i.onload=a,document.head.appendChild(i)}return Promise.all(t)},u.m=e,u.c=n,u.d=function(e,t,r){u.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},u.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},u.t=function(e,t){if(1&t&&(e=u(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(u.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)u.d(r,n,function(t){return e[t]}.bind(null,n));return r},u.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return u.d(t,"a",t),t},u.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},u.p="./",u.oe=function(e){throw console.error(e),e};var i=this["webpackJsonp@coreui/coreui-free-react-admin-template"]=this["webpackJsonp@coreui/coreui-free-react-admin-template"]||[],f=i.push.bind(i);i.push=t,i=i.slice();for(var l=0;l<i.length;l++)t(i[l]);var d=f;r()}([]);
//# sourceMappingURL=runtime-main.b31b6f30.js.map

View File

@ -1,2 +0,0 @@
!function(e){function t(t){for(var n,o,u=t[0],i=t[1],f=t[2],d=0,s=[];d<u.length;d++)o=u[d],Object.prototype.hasOwnProperty.call(a,o)&&a[o]&&s.push(a[o][0]),a[o]=0;for(n in i)Object.prototype.hasOwnProperty.call(i,n)&&(e[n]=i[n]);for(l&&l(t);s.length;)s.shift()();return c.push.apply(c,f||[]),r()}function r(){for(var e,t=0;t<c.length;t++){for(var r=c[t],n=!0,o=1;o<r.length;o++){var i=r[o];0!==a[i]&&(n=!1)}n&&(c.splice(t--,1),e=u(u.s=r[0]))}return e}var n={},o={3:0},a={3:0},c=[];function u(t){if(n[t])return n[t].exports;var r=n[t]={i:t,l:!1,exports:{}};return e[t].call(r.exports,r,r.exports,u),r.l=!0,r.exports}u.e=function(e){var t=[];o[e]?t.push(o[e]):0!==o[e]&&{0:1,5:1}[e]&&t.push(o[e]=new Promise((function(t,r){for(var n="static/css/"+({}[e]||e)+"."+{0:"104de1ea",1:"31d6cfe0",5:"ecdd39c8",6:"31d6cfe0",7:"31d6cfe0",8:"31d6cfe0",9:"31d6cfe0",10:"31d6cfe0",11:"31d6cfe0",12:"31d6cfe0",13:"31d6cfe0",14:"31d6cfe0",15:"31d6cfe0"}[e]+".chunk.css",a=u.p+n,c=document.getElementsByTagName("link"),i=0;i<c.length;i++){var f=(l=c[i]).getAttribute("data-href")||l.getAttribute("href");if("stylesheet"===l.rel&&(f===n||f===a))return t()}var d=document.getElementsByTagName("style");for(i=0;i<d.length;i++){var l;if((f=(l=d[i]).getAttribute("data-href"))===n||f===a)return t()}var s=document.createElement("link");s.rel="stylesheet",s.type="text/css",s.onload=t,s.onerror=function(t){var n=t&&t.target&&t.target.src||a,c=new Error("Loading CSS chunk "+e+" failed.\n("+n+")");c.code="CSS_CHUNK_LOAD_FAILED",c.request=n,delete o[e],s.parentNode.removeChild(s),r(c)},s.href=a,document.getElementsByTagName("head")[0].appendChild(s)})).then((function(){o[e]=0})));var r=a[e];if(0!==r)if(r)t.push(r[2]);else{var n=new Promise((function(t,n){r=a[e]=[t,n]}));t.push(r[2]=n);var c,i=document.createElement("script");i.charset="utf-8",i.timeout=120,u.nc&&i.setAttribute("nonce",u.nc),i.src=function(e){return u.p+"static/js/"+({}[e]||e)+"."+{0:"692edbd0",1:"c34673f1",5:"53d775d4",6:"af4be2c7",7:"e5d7a6dd",8:"cf293431",9:"ce53fb19",10:"44c6c5dd",11:"0bafbc33",12:"575a420a",13:"93c62c57",14:"cb16bc0f",15:"36ea1548"}[e]+".chunk.js"}(e);var f=new Error;c=function(t){i.onerror=i.onload=null,clearTimeout(d);var r=a[e];if(0!==r){if(r){var n=t&&("load"===t.type?"missing":t.type),o=t&&t.target&&t.target.src;f.message="Loading chunk "+e+" failed.\n("+n+": "+o+")",f.name="ChunkLoadError",f.type=n,f.request=o,r[1](f)}a[e]=void 0}};var d=setTimeout((function(){c({type:"timeout",target:i})}),12e4);i.onerror=i.onload=c,document.head.appendChild(i)}return Promise.all(t)},u.m=e,u.c=n,u.d=function(e,t,r){u.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},u.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},u.t=function(e,t){if(1&t&&(e=u(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(u.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)u.d(r,n,function(t){return e[t]}.bind(null,n));return r},u.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return u.d(t,"a",t),t},u.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},u.p="./",u.oe=function(e){throw console.error(e),e};var i=this["webpackJsonp@coreui/coreui-free-react-admin-template"]=this["webpackJsonp@coreui/coreui-free-react-admin-template"]||[],f=i.push.bind(i);i.push=t,i=i.slice();for(var d=0;d<i.length;d++)t(i[d]);var l=f;r()}([]);
//# sourceMappingURL=runtime-main.c8280d9f.js.map

View File

@ -1,6 +1,6 @@
{ {
"compilerOptions": { "compilerOptions": {
"baseUrl": "." "baseUrl": "."
}, },
"include": ["src"] "include": ["src"]
} }

View File

@ -1,34 +1,34 @@
# Migration from version 2 # Migration from version 2
Migration from version 2 must be performed manually because the components library `@coreui/coreui-react` has been completely rewritten. Migration from version 2 must be performed manually because the components library `@coreui/coreui-react` has been completely rewritten.
The docs of the new components are available [here](https://coreui.io/react/docs/) The docs of the new components are available [here](https://coreui.io/react/docs/)
The good news is that most probably it will be sufficient to migrate layout components (Sidebar, Header, Footer, Aside) and `Switch` component The good news is that most probably it will be sufficient to migrate layout components (Sidebar, Header, Footer, Aside) and `Switch` component
The best way to do a migration is: The best way to do a migration is:
1. Install `@coreui/coreui-react` v3 1. Install `@coreui/coreui-react` v3
2. Make a copy of the current `containers` folder 2. Make a copy of the current `containers` folder
2. Paste [containers](https://github.com/coreui/coreui-free-react-admin-template/tree/master/src/containers) folder from v3 template to project 2. Paste [containers](https://github.com/coreui/coreui-free-react-admin-template/tree/master/src/containers) folder from v3 template to project
3. Correct routing paths 3. Correct routing paths
4. Add previous content to new template layout components 4. Add previous content to new template layout components
5. Replace `Switch` components with `CSwitch` 5. Replace `Switch` components with `CSwitch`
Layout components/ corresponding components in version 3 Layout components/ corresponding components in version 3
- Aside -> CSidebar (with prop aside={true}) - Aside -> CSidebar (with prop aside={true})
- AsideToggler -> CToggler - AsideToggler -> CToggler
- Breadcrumb -> CBreadcrumbRouter - Breadcrumb -> CBreadcrumbRouter
- Footer -> CFooter - Footer -> CFooter
- Header -> CHeader - Header -> CHeader
- HeaderDropdown -> CDropdown - HeaderDropdown -> CDropdown
- NavbarBrand -> CSidebarBrand - NavbarBrand -> CSidebarBrand
- Sidebar -> CSidebar - Sidebar -> CSidebar
- SidebarFooter -> CSidebarFooter - SidebarFooter -> CSidebarFooter
- SidebarForm -> CSidebarForm - SidebarForm -> CSidebarForm
- SidebarHeader -> CSidebarHeader - SidebarHeader -> CSidebarHeader
- SidebarMinimizer -> CSidebarMinimizer - SidebarMinimizer -> CSidebarMinimizer
- SidebarNav -> CSidebarNav + CSidebarNavDropdown + CSidebarNavItem - SidebarNav -> CSidebarNav + CSidebarNavDropdown + CSidebarNavItem
- SidebarToggler -> CSidebarToggler - SidebarToggler -> CSidebarToggler
- Switch -> CSwitch - Switch -> CSwitch
After the migration is done, you can start using new components of `@coreui/coreui-react` v3 library. After the migration is done, you can start using new components of `@coreui/coreui-react` v3 library.

View File

@ -1,93 +1,93 @@
{ {
"name": "@coreui/coreui-free-react-admin-template", "name": "@coreui/coreui-free-react-admin-template",
"version": "3.2.1", "version": "3.2.1",
"description": "CoreUI React Open Source Bootstrap 4 Admin Template", "description": "CoreUI React Open Source Bootstrap 4 Admin Template",
"author": { "author": {
"name": "CoreUI", "name": "CoreUI",
"url": "https://coreui.io", "url": "https://coreui.io",
"github": "https://github.com/coreui", "github": "https://github.com/coreui",
"twitter": "https://twitter.com/core_ui" "twitter": "https://twitter.com/core_ui"
}, },
"contributors": [ "contributors": [
{ {
"name": "CoreUI Team", "name": "CoreUI Team",
"url": "https://github.com/orgs/coreui/people" "url": "https://github.com/orgs/coreui/people"
} }
], ],
"homepage": ".", "homepage": ".",
"copyright": "Copyright 2017-2020 creativeLabs Łukasz Holeczek", "copyright": "Copyright 2017-2020 creativeLabs Łukasz Holeczek",
"license": "MIT", "license": "MIT",
"private": true, "private": true,
"repository": { "repository": {
"type": "git", "type": "git",
"url": "git@github.com:coreui/coreui-free-react-admin-template.git" "url": "git@github.com:coreui/coreui-free-react-admin-template.git"
}, },
"dependencies": { "dependencies": {
"@coreui/chartjs": "^2.0.0", "@coreui/chartjs": "^2.0.0",
"@coreui/coreui": "^3.4.0", "@coreui/coreui": "^3.4.0",
"@coreui/icons": "^2.0.0", "@coreui/icons": "^2.0.0",
"@coreui/icons-react": "^1.1.0", "@coreui/icons-react": "^1.1.0",
"@coreui/react": "^3.4.6", "@coreui/react": "^3.4.6",
"@coreui/react-chartjs": "^1.1.0", "@coreui/react-chartjs": "^1.1.0",
"@coreui/utils": "^1.3.1", "@coreui/utils": "^1.3.1",
"@wojtekmaj/enzyme-adapter-react-17": "^0.6.0", "@wojtekmaj/enzyme-adapter-react-17": "^0.6.0",
"axios": "^0.21.1", "axios": "^0.21.1",
"classnames": "^2.2.6", "classnames": "^2.2.6",
"core-js": "^3.9.1", "core-js": "^3.9.1",
"cors": "^2.8.5", "cors": "^2.8.5",
"enzyme": "^3.11.0", "enzyme": "^3.11.0",
"js-cookie": "^3.0.0", "js-cookie": "^3.0.0",
"js-file-download": "^0.4.12", "js-file-download": "^0.4.12",
"json-2-csv": "^3.14.4", "json-2-csv": "^3.14.4",
"multer": "^1.4.2", "multer": "^1.4.2",
"nodemon": "^2.0.12", "nodemon": "^2.0.12",
"prop-types": "^15.7.2", "prop-types": "^15.7.2",
"react": "^17.0.2", "react": "^17.0.2",
"react-app-polyfill": "^2.0.0", "react-app-polyfill": "^2.0.0",
"react-datepicker": "^4.2.0", "react-datepicker": "^4.2.0",
"react-dom": "^17.0.2", "react-dom": "^17.0.2",
"react-redux": "^7.2.3", "react-redux": "^7.2.3",
"react-router-dom": "^5.2.0", "react-router-dom": "^5.2.0",
"redux": "^4.0.5", "redux": "^4.0.5",
"sass": "^1.32.8", "sass": "^1.32.8",
"universal-cookie": "^4.0.4" "universal-cookie": "^4.0.4"
}, },
"devDependencies": { "devDependencies": {
"@babel/core": "^7.13.14", "@babel/core": "^7.13.14",
"auto-changelog": "~2.2.1", "auto-changelog": "~2.2.1",
"react-scripts": "^4.0.3" "react-scripts": "^4.0.3"
}, },
"scripts": { "scripts": {
"start": "react-scripts start", "start": "react-scripts start",
"build": "react-scripts build", "build": "react-scripts build",
"test": "react-scripts test", "test": "react-scripts test",
"test:cov": "npm test -- --coverage --watchAll=false", "test:cov": "npm test -- --coverage --watchAll=false",
"test:debug": "react-scripts --inspect-brk test --runInBand", "test:debug": "react-scripts --inspect-brk test --runInBand",
"eject": "react-scripts eject", "eject": "react-scripts eject",
"changelog": "auto-changelog --starting-version 3.0.0 --commit-limit false --hide-credit" "changelog": "auto-changelog --starting-version 3.0.0 --commit-limit false --hide-credit"
}, },
"bugs": { "bugs": {
"url": "https://github.com/coreui/coreui-free-react-admin-template/issues" "url": "https://github.com/coreui/coreui-free-react-admin-template/issues"
}, },
"eslintConfig": { "eslintConfig": {
"extends": "react-app" "extends": "react-app"
}, },
"browserslist": [ "browserslist": [
">0.2%", ">0.2%",
"not dead", "not dead",
"not ie <= 10", "not ie <= 10",
"not op_mini all" "not op_mini all"
], ],
"jest": { "jest": {
"collectCoverageFrom": [ "collectCoverageFrom": [
"src/**/*.{js,jsx}", "src/**/*.{js,jsx}",
"!**/*index.js", "!**/*index.js",
"!src/serviceWorker.js", "!src/serviceWorker.js",
"!src/polyfill.js" "!src/polyfill.js"
] ]
}, },
"engines": { "engines": {
"node": ">=10", "node": ">=10",
"npm": ">=6" "npm": ">=6"
} }
} }

View File

@ -1,50 +1,50 @@
<!DOCTYPE html> <!DOCTYPE html>
<!-- <!--
* CoreUI Free - React.js Admin Template * CoreUI Free - React.js Admin Template
* @version v3.2.0 * @version v3.2.0
* @link https://coreui.io/pro/react/ * @link https://coreui.io/pro/react/
* Copyright (c) 2020 creativeLabs Łukasz Holeczek * Copyright (c) 2020 creativeLabs Łukasz Holeczek
* License MIT * License MIT
--> -->
<html lang="en"> <html lang="en">
<head> <head>
<meta charset="utf-8"> <meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="description" content="CoreUI for React - Open Source Bootstrap Admin Template"> <meta name="description" content="CoreUI for React - Open Source Bootstrap Admin Template">
<meta name="author" content="Łukasz Holeczek"> <meta name="author" content="Łukasz Holeczek">
<meta name="keyword" content="Bootstrap,Admin,Template,Open,Source,CSS,SCSS,HTML,RWD,Dashboard,React"> <meta name="keyword" content="Bootstrap,Admin,Template,Open,Source,CSS,SCSS,HTML,RWD,Dashboard,React">
<title>FBS Admin tool</title> <title>FBS Admin tool</title>
<!-- <!--
manifest.json provides metadata used when your web app is added to the manifest.json provides metadata used when your web app is added to the
homescreen on Android. See https://developers.google.com/web/fundamentals/engage-and-retain/web-app-manifest/ homescreen on Android. See https://developers.google.com/web/fundamentals/engage-and-retain/web-app-manifest/
--> -->
<link rel="manifest" href="%PUBLIC_URL%/manifest.json"> <link rel="manifest" href="%PUBLIC_URL%/manifest.json">
<link rel="shortcut icon" href="%PUBLIC_URL%/favicon.ico"> <link rel="shortcut icon" href="%PUBLIC_URL%/favicon.ico">
<!-- <!--
Notice the use of %PUBLIC_URL% in the tags above. Notice the use of %PUBLIC_URL% in the tags above.
It will be replaced with the URL of the `public` folder during the build. It will be replaced with the URL of the `public` folder during the build.
Only files inside the `public` folder can be referenced from the HTML. Only files inside the `public` folder can be referenced from the HTML.
Unlike "/favicon.ico" or "favicon.ico", "%PUBLIC_URL%/favicon.ico" will Unlike "/favicon.ico" or "favicon.ico", "%PUBLIC_URL%/favicon.ico" will
work correctly both with client-side routing and a non-root public URL. work correctly both with client-side routing and a non-root public URL.
Learn how to configure a non-root public URL by running `npm run build`. Learn how to configure a non-root public URL by running `npm run build`.
--> -->
</head> </head>
<body> <body>
<noscript> <noscript>
You need to enable JavaScript to run this app. You need to enable JavaScript to run this app.
</noscript> </noscript>
<div id="root"></div> <div id="root"></div>
<!-- <!--
This HTML file is a template. This HTML file is a template.
If you open it directly in the browser, you will see an empty page. If you open it directly in the browser, you will see an empty page.
You can add webfonts, meta tags, or analytics to this file. You can add webfonts, meta tags, or analytics to this file.
The build step will place the bundled scripts into the <body> tag. The build step will place the bundled scripts into the <body> tag.
To begin the development, run `npm start` or `yarn start`. To begin the development, run `npm start` or `yarn start`.
To create a production bundle, use `npm run build` or `yarn build`. To create a production bundle, use `npm run build` or `yarn build`.
--> -->
</body> </body>
</html> </html>

View File

@ -1,15 +1,15 @@
{ {
"short_name": "CoreUI-React", "short_name": "CoreUI-React",
"name": "CoreUI-React sample", "name": "CoreUI-React sample",
"icons": [ "icons": [
{ {
"src": "./assets/img/favicon.png", "src": "./assets/img/favicon.png",
"sizes": "100x100", "sizes": "100x100",
"type": "image/png" "type": "image/png"
} }
], ],
"start_url": ".", "start_url": ".",
"display": "standalone", "display": "standalone",
"theme_color": "#000000", "theme_color": "#000000",
"background_color": "#ffffff" "background_color": "#ffffff"
} }

306
server.js
View File

@ -1,153 +1,153 @@
var express = require('express'); var express = require('express');
var app = express(); var app = express();
var multer = require('multer') var multer = require('multer')
var cors = require('cors'); var cors = require('cors');
var bodyParser = require("body-parser"); var bodyParser = require("body-parser");
var https = require('https') var https = require('https')
const util = require('util'); const util = require('util');
const fs = require('fs'); const fs = require('fs');
var corsOptions = { var corsOptions = {
"origin": "*", "origin": "*",
"methods": "GET,HEAD,PUT,PATCH,POST,DELETE", "methods": "GET,HEAD,PUT,PATCH,POST,DELETE",
"preflightContinue": false, "preflightContinue": false,
"optionsSuccessStatus": 204 "optionsSuccessStatus": 204
} }
app.use(bodyParser.json()); app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true })); app.use(bodyParser.urlencoded({ extended: true }));
app.use(cors(corsOptions)); app.use(cors(corsOptions));
function callLoadInitializeData(req, res, resdata){ function callLoadInitializeData(req, res, resdata){
_email = req.query.email; _email = req.query.email;
let url = `https://natnats.mobilous.com/loadInitializeData?projectid=23&construction_id=${resdata.construction_id}&username=${_email}&sheetname=${resdata.file_type}&filename=${resdata.file_name}` let url = `https://natnats.mobilous.com/loadInitializeData?projectid=23&construction_id=${resdata.construction_id}&username=${_email}&sheetname=${resdata.file_type}&filename=${resdata.file_name}`
console.log(url); console.log(url);
https.get(url, (resp) => { https.get(url, (resp) => {
let data = ''; let data = '';
// A chunk of data has been received. // A chunk of data has been received.
resp.on('data', (chunk) => { resp.on('data', (chunk) => {
data += chunk; data += chunk;
}); });
// The whole response has been received. Print out the result. // The whole response has been received. Print out the result.
resp.on('end', () => { resp.on('end', () => {
if(data !== 'no match'){ if(data !== 'no match'){
resdata = JSON.parse(data); resdata = JSON.parse(data);
console.log(resdata.status); console.log(resdata.status);
if(resdata.status=="complete"){ if(resdata.status=="complete"){
res.status(200).send('OK'); res.status(200).send('OK');
}else if(resdata.status=="INSERT ERROR"){ }else if(resdata.status=="INSERT ERROR"){
console.log("insert error"); console.log("insert error");
res.status(204).send("insert error"); res.status(204).send("insert error");
} }
} }
}); });
}).on("error", (err) => { }).on("error", (err) => {
console.log("Error: " + err.message); console.log("Error: " + err.message);
}); });
} }
function callInitFileMover(req, res) { function callInitFileMover(req, res) {
https.get('https://natnats.mobilous.com/iniFileMover', (resp) => { https.get('https://natnats.mobilous.com/iniFileMover', (resp) => {
let data = ''; let data = '';
// A chunk of data has been received. // A chunk of data has been received.
resp.on('data', (chunk) => { resp.on('data', (chunk) => {
data += chunk; data += chunk;
}); });
// The whole response has been received. Print out the result. // The whole response has been received. Print out the result.
resp.on('end', () => { resp.on('end', () => {
//debug //debug
// data = `{ // data = `{
// "construction_id": 3, // "construction_id": 3,
// "file_name": "ini_データ入力シート.xlsx", // "file_name": "ini_データ入力シート.xlsx",
// "file_type": "dataSheet" // "file_type": "dataSheet"
// }` // }`
if(data !== 'no match'){ if(data !== 'no match'){
resdata = JSON.parse(data); resdata = JSON.parse(data);
console.log(resdata); console.log(resdata);
callLoadInitializeData(req, res, resdata); callLoadInitializeData(req, res, resdata);
} }
}); });
}).on("error", (err) => { }).on("error", (err) => {
console.log("Error: " + err.message); console.log("Error: " + err.message);
}); });
} }
var storage = multer.diskStorage({ var storage = multer.diskStorage({
destination: function(req, file, cb) { destination: function(req, file, cb) {
cb(null, '/var/www/html/FBS') cb(null, '/var/www/html/FBS')
}, },
filename: function(req, file, cb) { filename: function(req, file, cb) {
cb(null, file.originalname) cb(null, file.originalname)
} }
}) })
var upload = multer({ storage: storage }).single('file') var upload = multer({ storage: storage }).single('file')
app.post('/upload', function(req, res, next) { app.post('/upload', function(req, res, next) {
console.log('email is ' + req.query.email); console.log('email is ' + req.query.email);
upload(req, res, function(err) { upload(req, res, function(err) {
if (err instanceof multer.MulterError) { if (err instanceof multer.MulterError) {
return res.status(500).json(err) return res.status(500).json(err)
} else if (err) { } else if (err) {
return res.status(500).json(err) return res.status(500).json(err)
} }
else { else {
var FileName = req.file.filename; var FileName = req.file.filename;
callInitFileMover(req, res); callInitFileMover(req, res);
//res.status(200).send(FileName); //res.status(200).send(FileName);
} }
//return res.status(200).send(req.file) //return res.status(200).send(req.file)
}) })
}); });
const converter = require('json-2-csv'); const converter = require('json-2-csv');
app.post('/csv', (req, res, next) => { app.post('/csv', (req, res, next) => {
const csv = req; const csv = req;
userData = req.body; userData = req.body;
converter.json2csv(userData, (err, csv) => { converter.json2csv(userData, (err, csv) => {
if (err) { if (err) {
throw err; throw err;
} }
writetoFile(csv); writetoFile(csv);
// print CSV string // print CSV string
console.log(csv); console.log(csv);
}); });
res.send("OK"); res.send("OK");
}); });
function writetoFile(csv) { function writetoFile(csv) {
fs.writeFile('/var/www/html/appexe/natnats/23/bin/mobileweb2/resources/database/user_record.csv', csv, err => { fs.writeFile('/var/www/html/appexe/natnats/23/bin/mobileweb2/resources/database/user_record.csv', csv, err => {
if (err) { if (err) {
console.error(err) console.error(err)
return return
} }
}) })
} }
app.listen(8000, function() { app.listen(8000, function() {
console.log('App running on port 8000'); console.log('App running on port 8000');
}); });

View File

@ -1,42 +1,42 @@
import React, { Component } from 'react'; import React, { Component } from 'react';
import { BrowserRouter, Route, Switch } from 'react-router-dom'; import { BrowserRouter, Route, Switch } from 'react-router-dom';
import './scss/style.scss'; import './scss/style.scss';
const loading = ( const loading = (
<div className="pt-3 text-center"> <div className="pt-3 text-center">
<div className="sk-spinner sk-spinner-pulse"></div> <div className="sk-spinner sk-spinner-pulse"></div>
</div> </div>
) )
// Containers // Containers
const TheLayout = React.lazy(() => import('./containers/TheLayout')); const TheLayout = React.lazy(() => import('./containers/TheLayout'));
// Pages // Pages
const Login = React.lazy(() => import('./views/pages/login/Login')); const Login = React.lazy(() => import('./views/pages/login/Login'));
const Register = React.lazy(() => import('./views/pages/register/Register')); const Register = React.lazy(() => import('./views/pages/register/Register'));
const Page404 = React.lazy(() => import('./views/pages/page404/Page404')); const Page404 = React.lazy(() => import('./views/pages/page404/Page404'));
const Page500 = React.lazy(() => import('./views/pages/page500/Page500')); const Page500 = React.lazy(() => import('./views/pages/page500/Page500'));
const Sso = React.lazy(() => import('./views/sso/index')); const Sso = React.lazy(() => import('./views/sso/index'));
class App extends Component { class App extends Component {
render() { render() {
return ( return (
<BrowserRouter> <BrowserRouter>
<React.Suspense fallback={loading}> <React.Suspense fallback={loading}>
<Switch> <Switch>
<Route exact path="/sso" name="SSO Login" render={props => <Sso {...props}/>} /> <Route exact path="/sso" name="SSO Login" render={props => <Sso {...props}/>} />
<Route exact path="/login" name="Login Page" render={props => <Login {...props}/>} /> <Route exact path="/login" name="Login Page" render={props => <Login {...props}/>} />
<Route exact path="/register" name="Register Page" render={props => <Register {...props}/>} /> <Route exact path="/register" name="Register Page" render={props => <Register {...props}/>} />
<Route exact path="/404" name="Page 404" render={props => <Page404 {...props}/>} /> <Route exact path="/404" name="Page 404" render={props => <Page404 {...props}/>} />
<Route exact path="/500" name="Page 500" render={props => <Page500 {...props}/>} /> <Route exact path="/500" name="Page 500" render={props => <Page500 {...props}/>} />
<Route path="/" name="Home" render={props => <TheLayout {...props}/>} /> <Route path="/" name="Home" render={props => <TheLayout {...props}/>} />
</Switch> </Switch>
</React.Suspense> </React.Suspense>
</BrowserRouter> </BrowserRouter>
); );
} }
} }
export default App; export default App;

View File

@ -1,21 +1,21 @@
import React from 'react' import React from 'react'
import { shallow } from 'enzyme/build' import { shallow } from 'enzyme/build'
import App from './App' import App from './App'
import ChartLineSimple from './views/charts/ChartLineSimple' import ChartLineSimple from './views/charts/ChartLineSimple'
import Dashboard from './views/dashboard/Dashboard.js' import Dashboard from './views/dashboard/Dashboard.js'
it('mounts App without crashing', () => { it('mounts App without crashing', () => {
const wrapper = shallow(<App/>) const wrapper = shallow(<App/>)
wrapper.unmount() wrapper.unmount()
}) })
it('mounts Dashboard without crashing', () => { it('mounts Dashboard without crashing', () => {
const wrapper = shallow(<Dashboard/>) const wrapper = shallow(<Dashboard/>)
wrapper.unmount() wrapper.unmount()
}) })
it('mounts Charts without crashing', () => { it('mounts Charts without crashing', () => {
const wrapper = shallow(<ChartLineSimple/> ) const wrapper = shallow(<ChartLineSimple/> )
wrapper.unmount() wrapper.unmount()
}) })

View File

@ -1,263 +1,263 @@
import { sygnet } from './sygnet' import { sygnet } from './sygnet'
import { logo } from './logo' import { logo } from './logo'
import { logoNegative } from './logo-negative' import { logoNegative } from './logo-negative'
import { import {
cibSkype, cibSkype,
cibFacebook, cibFacebook,
cibTwitter, cibTwitter,
cibLinkedin, cibLinkedin,
cibFlickr, cibFlickr,
cibTumblr, cibTumblr,
cibXing, cibXing,
cibGithub, cibGithub,
cibStackoverflow, cibStackoverflow,
cibYoutube, cibYoutube,
cibDribbble, cibDribbble,
cibInstagram, cibInstagram,
cibPinterest, cibPinterest,
cibVk, cibVk,
cibYahoo, cibYahoo,
cibBehance, cibBehance,
cibReddit, cibReddit,
cibVimeo, cibVimeo,
cibCcMastercard, cibCcMastercard,
cibCcVisa, cibCcVisa,
cibStripe, cibStripe,
cibPaypal, cibPaypal,
cibGooglePay, cibGooglePay,
cibCcAmex cibCcAmex
} from '@coreui/icons' } from '@coreui/icons'
import { import {
cifUs, cifUs,
cifBr, cifBr,
cifIn, cifIn,
cifFr, cifFr,
cifEs, cifEs,
cifPl cifPl
} from '@coreui/icons' } from '@coreui/icons'
import { import {
cilAlignCenter, cilAlignCenter,
cilAlignLeft, cilAlignLeft,
cilAlignRight, cilAlignRight,
cilApplicationsSettings, cilApplicationsSettings,
cilArrowRight, cilArrowRight,
cilArrowTop, cilArrowTop,
cilAsterisk, cilAsterisk,
cilBan, cilBan,
cilBasket, cilBasket,
cilBell, cilBell,
cilBold, cilBold,
cilBookmark, cilBookmark,
cilCalculator, cilCalculator,
cilCalendar, cilCalendar,
cilCloudDownload, cilCloudDownload,
cilChartPie, cilChartPie,
cilCheck, cilCheck,
cilChevronBottom, cilChevronBottom,
cilChevronLeft, cilChevronLeft,
cilChevronRight, cilChevronRight,
cilChevronTop, cilChevronTop,
cilCircle, cilCircle,
cilCheckCircle, cilCheckCircle,
cilCode, cilCode,
cilCommentSquare, cilCommentSquare,
cilCreditCard, cilCreditCard,
cilCursor, cilCursor,
cilCursorMove, cilCursorMove,
cilDrop, cilDrop,
cilDollar, cilDollar,
cilEnvelopeClosed, cilEnvelopeClosed,
cilEnvelopeLetter, cilEnvelopeLetter,
cilEnvelopeOpen, cilEnvelopeOpen,
cilEuro, cilEuro,
cilGlobeAlt, cilGlobeAlt,
cilGrid, cilGrid,
cilFile, cilFile,
cilFullscreen, cilFullscreen,
cilFullscreenExit, cilFullscreenExit,
cilGraph, cilGraph,
cilHome, cilHome,
cilInbox, cilInbox,
cilIndentDecrease, cilIndentDecrease,
cilIndentIncrease, cilIndentIncrease,
cilInputPower, cilInputPower,
cilItalic, cilItalic,
cilJustifyCenter, cilJustifyCenter,
cilJustifyLeft, cilJustifyLeft,
cilLaptop, cilLaptop,
cilLayers, cilLayers,
cilLightbulb, cilLightbulb,
cilList, cilList,
cilListNumbered, cilListNumbered,
cilListRich, cilListRich,
cilLocationPin, cilLocationPin,
cilLockLocked, cilLockLocked,
cilMagnifyingGlass, cilMagnifyingGlass,
cilMap, cilMap,
cilMoon, cilMoon,
cilNotes, cilNotes,
cilOptions, cilOptions,
cilPaperclip, cilPaperclip,
cilPaperPlane, cilPaperPlane,
cilPencil, cilPencil,
cilPeople, cilPeople,
cilPhone, cilPhone,
cilPrint, cilPrint,
cilPuzzle, cilPuzzle,
cilSave, cilSave,
cilScrubber, cilScrubber,
cilSettings, cilSettings,
cilShare, cilShare,
cilShareAll, cilShareAll,
cilShareBoxed, cilShareBoxed,
cilShieldAlt, cilShieldAlt,
cilSpeech, cilSpeech,
cilSpeedometer, cilSpeedometer,
cilSpreadsheet, cilSpreadsheet,
cilStar, cilStar,
cilSun, cilSun,
cilTags, cilTags,
cilTask, cilTask,
cilTrash, cilTrash,
cilUnderline, cilUnderline,
cilUser, cilUser,
cilUserFemale, cilUserFemale,
cilUserFollow, cilUserFollow,
cilUserUnfollow, cilUserUnfollow,
cilX, cilX,
cilXCircle, cilXCircle,
cilWarning, cilWarning,
cilEyedropper cilEyedropper
} from '@coreui/icons' } from '@coreui/icons'
export const icons = Object.assign({}, { export const icons = Object.assign({}, {
sygnet, sygnet,
logo, logo,
logoNegative logoNegative
}, { }, {
cilAlignCenter, cilAlignCenter,
cilAlignLeft, cilAlignLeft,
cilAlignRight, cilAlignRight,
cilApplicationsSettings, cilApplicationsSettings,
cilArrowRight, cilArrowRight,
cilArrowTop, cilArrowTop,
cilAsterisk, cilAsterisk,
cilBan, cilBan,
cilBasket, cilBasket,
cilBell, cilBell,
cilBold, cilBold,
cilBookmark, cilBookmark,
cilCalculator, cilCalculator,
cilCalendar, cilCalendar,
cilCloudDownload, cilCloudDownload,
cilChartPie, cilChartPie,
cilCheck, cilCheck,
cilChevronBottom, cilChevronBottom,
cilChevronLeft, cilChevronLeft,
cilChevronRight, cilChevronRight,
cilChevronTop, cilChevronTop,
cilCircle, cilCircle,
cilCheckCircle, cilCheckCircle,
cilCode, cilCode,
cilCommentSquare, cilCommentSquare,
cilCreditCard, cilCreditCard,
cilCursor, cilCursor,
cilCursorMove, cilCursorMove,
cilDrop, cilDrop,
cilDollar, cilDollar,
cilEnvelopeClosed, cilEnvelopeClosed,
cilEnvelopeLetter, cilEnvelopeLetter,
cilEnvelopeOpen, cilEnvelopeOpen,
cilEuro, cilEuro,
cilGlobeAlt, cilGlobeAlt,
cilGrid, cilGrid,
cilFile, cilFile,
cilFullscreen, cilFullscreen,
cilFullscreenExit, cilFullscreenExit,
cilGraph, cilGraph,
cilHome, cilHome,
cilInbox, cilInbox,
cilIndentDecrease, cilIndentDecrease,
cilIndentIncrease, cilIndentIncrease,
cilInputPower, cilInputPower,
cilItalic, cilItalic,
cilJustifyCenter, cilJustifyCenter,
cilJustifyLeft, cilJustifyLeft,
cilLaptop, cilLaptop,
cilLayers, cilLayers,
cilLightbulb, cilLightbulb,
cilList, cilList,
cilListNumbered, cilListNumbered,
cilListRich, cilListRich,
cilLocationPin, cilLocationPin,
cilLockLocked, cilLockLocked,
cilMagnifyingGlass, cilMagnifyingGlass,
cilMap, cilMap,
cilMoon, cilMoon,
cilNotes, cilNotes,
cilOptions, cilOptions,
cilPaperclip, cilPaperclip,
cilPaperPlane, cilPaperPlane,
cilPencil, cilPencil,
cilPeople, cilPeople,
cilPhone, cilPhone,
cilPrint, cilPrint,
cilPuzzle, cilPuzzle,
cilSave, cilSave,
cilScrubber, cilScrubber,
cilSettings, cilSettings,
cilShare, cilShare,
cilShareAll, cilShareAll,
cilShareBoxed, cilShareBoxed,
cilShieldAlt, cilShieldAlt,
cilSpeech, cilSpeech,
cilSpeedometer, cilSpeedometer,
cilSpreadsheet, cilSpreadsheet,
cilStar, cilStar,
cilSun, cilSun,
cilTags, cilTags,
cilTask, cilTask,
cilTrash, cilTrash,
cilUnderline, cilUnderline,
cilUser, cilUser,
cilUserFemale, cilUserFemale,
cilUserFollow, cilUserFollow,
cilUserUnfollow, cilUserUnfollow,
cilX, cilX,
cilXCircle, cilXCircle,
cilWarning cilWarning
}, { }, {
cifUs, cifUs,
cifBr, cifBr,
cifIn, cifIn,
cifFr, cifFr,
cifEs, cifEs,
cifPl cifPl
}, { }, {
cibSkype, cibSkype,
cibFacebook, cibFacebook,
cibTwitter, cibTwitter,
cibLinkedin, cibLinkedin,
cibFlickr, cibFlickr,
cibTumblr, cibTumblr,
cibXing, cibXing,
cibGithub, cibGithub,
cibStackoverflow, cibStackoverflow,
cibYoutube, cibYoutube,
cibDribbble, cibDribbble,
cibInstagram, cibInstagram,
cibPinterest, cibPinterest,
cibVk, cibVk,
cibYahoo, cibYahoo,
cibBehance, cibBehance,
cibReddit, cibReddit,
cibVimeo, cibVimeo,
cibCcMastercard, cibCcMastercard,
cibCcVisa, cibCcVisa,
cibStripe, cibStripe,
cibPaypal, cibPaypal,
cibGooglePay, cibGooglePay,
cibCcAmex, cibCcAmex,
cilEyedropper cilEyedropper
}) })

View File

@ -1,30 +1,30 @@
export const logoNegative = ['608 134', ` export const logoNegative = ['608 134', `
<title>coreui react pro logo</title> <title>coreui react pro logo</title>
<g> <g>
<g style="fill:#80d0ff;"> <g style="fill:#80d0ff;">
<path d="M362.0177,90.1512,353.25,69.4149a.2507.2507,0,0,0-.2559-.1914H343.01a.2263.2263,0,0,0-.2559.2559V90.0233a.5657.5657,0,0,1-.64.64h-1.2163a.5652.5652,0,0,1-.64-.64V46.5028a.5655.5655,0,0,1,.64-.64H353.442a9.9792,9.9792,0,0,1,7.7437,3.2324A12.2,12.2,0,0,1,364.13,57.64a12.4389,12.4389,0,0,1-2.24,7.584,9.37,9.37,0,0,1-6.08,3.7441c-.1709.086-.2139.1915-.128.3194l8.7041,20.6084.064.2558q0,.5127-.5757.5118h-1.1523A.703.703,0,0,1,362.0177,90.1512ZM342.754,48.3593v18.496a.2259.2259,0,0,0,.2559.2559h10.3037a7.6713,7.6713,0,0,0,6.0166-2.5918,9.8807,9.8807,0,0,0,2.3037-6.8164,10.2875,10.2875,0,0,0-2.272-6.9756,7.6033,7.6033,0,0,0-6.0483-2.624H343.01A.2263.2263,0,0,0,342.754,48.3593Z"/> <path d="M362.0177,90.1512,353.25,69.4149a.2507.2507,0,0,0-.2559-.1914H343.01a.2263.2263,0,0,0-.2559.2559V90.0233a.5657.5657,0,0,1-.64.64h-1.2163a.5652.5652,0,0,1-.64-.64V46.5028a.5655.5655,0,0,1,.64-.64H353.442a9.9792,9.9792,0,0,1,7.7437,3.2324A12.2,12.2,0,0,1,364.13,57.64a12.4389,12.4389,0,0,1-2.24,7.584,9.37,9.37,0,0,1-6.08,3.7441c-.1709.086-.2139.1915-.128.3194l8.7041,20.6084.064.2558q0,.5127-.5757.5118h-1.1523A.703.703,0,0,1,362.0177,90.1512ZM342.754,48.3593v18.496a.2259.2259,0,0,0,.2559.2559h10.3037a7.6713,7.6713,0,0,0,6.0166-2.5918,9.8807,9.8807,0,0,0,2.3037-6.8164,10.2875,10.2875,0,0,0-2.272-6.9756,7.6033,7.6033,0,0,0-6.0483-2.624H343.01A.2263.2263,0,0,0,342.754,48.3593Z"/>
<path d="M401.3263,48.1034H381.2945a.2262.2262,0,0,0-.2558.2559v18.496a.2259.2259,0,0,0,.2558.2559h13.8238a.5664.5664,0,0,1,.6406.64v.96a.5663.5663,0,0,1-.6406.6406H381.2945a.2263.2263,0,0,0-.2558.2559v18.56a.2258.2258,0,0,0,.2558.2558h20.0318a.5671.5671,0,0,1,.6406.6407v.96a.566.566,0,0,1-.6406.64H379.1827a.5653.5653,0,0,1-.64-.64V46.5028a.5656.5656,0,0,1,.64-.64h22.1436a.5664.5664,0,0,1,.6406.64v.96A.5663.5663,0,0,1,401.3263,48.1034Z"/> <path d="M401.3263,48.1034H381.2945a.2262.2262,0,0,0-.2558.2559v18.496a.2259.2259,0,0,0,.2558.2559h13.8238a.5664.5664,0,0,1,.6406.64v.96a.5663.5663,0,0,1-.6406.6406H381.2945a.2263.2263,0,0,0-.2558.2559v18.56a.2258.2258,0,0,0,.2558.2558h20.0318a.5671.5671,0,0,1,.6406.6407v.96a.566.566,0,0,1-.6406.64H379.1827a.5653.5653,0,0,1-.64-.64V46.5028a.5656.5656,0,0,1,.64-.64h22.1436a.5664.5664,0,0,1,.6406.64v.96A.5663.5663,0,0,1,401.3263,48.1034Z"/>
<path d="M439.047,90.1512l-2.4317-8.832a.2971.2971,0,0,0-.32-.1924H419.5274a.2957.2957,0,0,0-.32.1924l-2.3681,8.7676a.6577.6577,0,0,1-.7036.5762H414.919a.5385.5385,0,0,1-.5756-.7041l12.0317-43.584a.6436.6436,0,0,1,.7041-.5117h1.6a.6442.6442,0,0,1,.7041.5117l12.16,43.584.0644.1923q0,.5127-.64.5118h-1.2163A.6428.6428,0,0,1,439.047,90.1512ZM419.9435,78.9188a.3031.3031,0,0,0,.2236.0967h15.4883a.3048.3048,0,0,0,.2236-.0967c.0645-.0635.0742-.1162.0322-.1592l-7.872-28.9287c-.043-.0849-.086-.1279-.128-.1279s-.0859.043-.1279.1279L419.9112,78.76C419.8683,78.8026,419.879,78.8553,419.9435,78.9188Z"/> <path d="M439.047,90.1512l-2.4317-8.832a.2971.2971,0,0,0-.32-.1924H419.5274a.2957.2957,0,0,0-.32.1924l-2.3681,8.7676a.6577.6577,0,0,1-.7036.5762H414.919a.5385.5385,0,0,1-.5756-.7041l12.0317-43.584a.6436.6436,0,0,1,.7041-.5117h1.6a.6442.6442,0,0,1,.7041.5117l12.16,43.584.0644.1923q0,.5127-.64.5118h-1.2163A.6428.6428,0,0,1,439.047,90.1512ZM419.9435,78.9188a.3031.3031,0,0,0,.2236.0967h15.4883a.3048.3048,0,0,0,.2236-.0967c.0645-.0635.0742-.1162.0322-.1592l-7.872-28.9287c-.043-.0849-.086-.1279-.128-.1279s-.0859.043-.1279.1279L419.9112,78.76C419.8683,78.8026,419.879,78.8553,419.9435,78.9188Z"/>
<path d="M456.6017,87.911a11.6372,11.6372,0,0,1-3.3277-8.7041V57.1913a11.4158,11.4158,0,0,1,3.36-8.5762,12.0941,12.0941,0,0,1,8.8-3.2637,12.2566,12.2566,0,0,1,8.8643,3.2315,11.3927,11.3927,0,0,1,3.36,8.6084v.64a.5663.5663,0,0,1-.6406.6407l-1.28.0634q-.6408,0-.64-.5761v-.8321a9.289,9.289,0,0,0-2.6558-6.9121,10.6734,10.6734,0,0,0-14.0161,0,9.2854,9.2854,0,0,0-2.6563,6.9121V79.3993a9.2808,9.2808,0,0,0,2.6563,6.9121,10.67,10.67,0,0,0,14.0161,0,9.2843,9.2843,0,0,0,2.6558-6.9121v-.7686q0-.5757.64-.5752l1.28.0635a.5667.5667,0,0,1,.6406.6406v.5118a11.4952,11.4952,0,0,1-3.36,8.64,13.6227,13.6227,0,0,1-17.6963,0Z"/> <path d="M456.6017,87.911a11.6372,11.6372,0,0,1-3.3277-8.7041V57.1913a11.4158,11.4158,0,0,1,3.36-8.5762,12.0941,12.0941,0,0,1,8.8-3.2637,12.2566,12.2566,0,0,1,8.8643,3.2315,11.3927,11.3927,0,0,1,3.36,8.6084v.64a.5663.5663,0,0,1-.6406.6407l-1.28.0634q-.6408,0-.64-.5761v-.8321a9.289,9.289,0,0,0-2.6558-6.9121,10.6734,10.6734,0,0,0-14.0161,0,9.2854,9.2854,0,0,0-2.6563,6.9121V79.3993a9.2808,9.2808,0,0,0,2.6563,6.9121,10.67,10.67,0,0,0,14.0161,0,9.2843,9.2843,0,0,0,2.6558-6.9121v-.7686q0-.5757.64-.5752l1.28.0635a.5667.5667,0,0,1,.6406.6406v.5118a11.4952,11.4952,0,0,1-3.36,8.64,13.6227,13.6227,0,0,1-17.6963,0Z"/>
<path d="M514.4376,46.5028v.96a.5658.5658,0,0,1-.64.6406H503.046a.2263.2263,0,0,0-.2559.2559v41.664a.566.566,0,0,1-.6406.64h-1.2158a.5652.5652,0,0,1-.64-.64V48.3593a.2266.2266,0,0,0-.2558-.2559H489.8619a.5656.5656,0,0,1-.64-.6406v-.96a.5656.5656,0,0,1,.64-.64H513.798A.5658.5658,0,0,1,514.4376,46.5028Z"/> <path d="M514.4376,46.5028v.96a.5658.5658,0,0,1-.64.6406H503.046a.2263.2263,0,0,0-.2559.2559v41.664a.566.566,0,0,1-.6406.64h-1.2158a.5652.5652,0,0,1-.64-.64V48.3593a.2266.2266,0,0,0-.2558-.2559H489.8619a.5656.5656,0,0,1-.64-.6406v-.96a.5656.5656,0,0,1,.64-.64H513.798A.5658.5658,0,0,1,514.4376,46.5028Z"/>
<path d="M522.0665,89.5116a2.8385,2.8385,0,0,1-.8-2.0488,2.9194,2.9194,0,0,1,.8-2.1114,2.7544,2.7544,0,0,1,2.08-.832,2.8465,2.8465,0,0,1,2.9438,2.9434,2.7541,2.7541,0,0,1-.832,2.08,2.9221,2.9221,0,0,1-2.1118.8008A2.754,2.754,0,0,1,522.0665,89.5116Z"/> <path d="M522.0665,89.5116a2.8385,2.8385,0,0,1-.8-2.0488,2.9194,2.9194,0,0,1,.8-2.1114,2.7544,2.7544,0,0,1,2.08-.832,2.8465,2.8465,0,0,1,2.9438,2.9434,2.7541,2.7541,0,0,1-.832,2.08,2.9221,2.9221,0,0,1-2.1118.8008A2.754,2.754,0,0,1,522.0665,89.5116Z"/>
<path d="M542.4054,88.0077a11.3123,11.3123,0,0,1-3.2-8.416v-5.44a.5656.5656,0,0,1,.64-.64h1.2158a.5661.5661,0,0,1,.64.64v5.5039a9.1424,9.1424,0,0,0,2.5283,6.72,8.9745,8.9745,0,0,0,6.6875,2.5605,8.7908,8.7908,0,0,0,9.28-9.28V46.5028a.5655.5655,0,0,1,.64-.64h1.2163a.566.566,0,0,1,.64.64V79.5917a11.2545,11.2545,0,0,1-3.2325,8.416,13.0618,13.0618,0,0,1-17.0556,0Z"/> <path d="M542.4054,88.0077a11.3123,11.3123,0,0,1-3.2-8.416v-5.44a.5656.5656,0,0,1,.64-.64h1.2158a.5661.5661,0,0,1,.64.64v5.5039a9.1424,9.1424,0,0,0,2.5283,6.72,8.9745,8.9745,0,0,0,6.6875,2.5605,8.7908,8.7908,0,0,0,9.28-9.28V46.5028a.5655.5655,0,0,1,.64-.64h1.2163a.566.566,0,0,1,.64.64V79.5917a11.2545,11.2545,0,0,1-3.2325,8.416,13.0618,13.0618,0,0,1-17.0556,0Z"/>
<path d="M580.35,88.1034a10.4859,10.4859,0,0,1-3.36-8.1279v-1.792a.5663.5663,0,0,1,.64-.6407h1.0884a.5668.5668,0,0,1,.64.6407v1.6a8.5459,8.5459,0,0,0,2.752,6.6562,10.5353,10.5353,0,0,0,7.36,2.4961,9.8719,9.8719,0,0,0,6.9761-2.3681,8.2161,8.2161,0,0,0,2.56-6.336,8.4,8.4,0,0,0-1.12-4.416,11.3812,11.3812,0,0,0-3.3281-3.3926,71.6714,71.6714,0,0,0-6.1763-3.7119,71.0479,71.0479,0,0,1-6.24-3.84,12.1711,12.1711,0,0,1-3.4238-3.68,10.2614,10.2614,0,0,1-1.28-5.3438,9.8579,9.8579,0,0,1,3.0718-7.7441,12.0122,12.0122,0,0,1,8.32-2.752q5.6954,0,8.96,3.1036a10.8251,10.8251,0,0,1,3.2642,8.2246v1.6a.5658.5658,0,0,1-.64.64h-1.1519a.5652.5652,0,0,1-.64-.64V56.8075a8.8647,8.8647,0,0,0-2.624-6.6885,9.9933,9.9933,0,0,0-7.232-2.5273,9.37,9.37,0,0,0-6.5278,2.1435,7.8224,7.8224,0,0,0-2.3682,6.1123,7.8006,7.8006,0,0,0,1.0244,4.16,10.387,10.387,0,0,0,3.0078,3.0391,62.8714,62.8714,0,0,0,5.9522,3.4882,71.0575,71.0575,0,0,1,6.72,4.2559,13.4674,13.4674,0,0,1,3.648,3.9365,10.049,10.049,0,0,1,1.28,5.1836,10.7177,10.7177,0,0,1-3.2637,8.1924q-3.2637,3.0717-8.832,3.0723Q583.71,91.1757,580.35,88.1034Z"/> <path d="M580.35,88.1034a10.4859,10.4859,0,0,1-3.36-8.1279v-1.792a.5663.5663,0,0,1,.64-.6407h1.0884a.5668.5668,0,0,1,.64.6407v1.6a8.5459,8.5459,0,0,0,2.752,6.6562,10.5353,10.5353,0,0,0,7.36,2.4961,9.8719,9.8719,0,0,0,6.9761-2.3681,8.2161,8.2161,0,0,0,2.56-6.336,8.4,8.4,0,0,0-1.12-4.416,11.3812,11.3812,0,0,0-3.3281-3.3926,71.6714,71.6714,0,0,0-6.1763-3.7119,71.0479,71.0479,0,0,1-6.24-3.84,12.1711,12.1711,0,0,1-3.4238-3.68,10.2614,10.2614,0,0,1-1.28-5.3438,9.8579,9.8579,0,0,1,3.0718-7.7441,12.0122,12.0122,0,0,1,8.32-2.752q5.6954,0,8.96,3.1036a10.8251,10.8251,0,0,1,3.2642,8.2246v1.6a.5658.5658,0,0,1-.64.64h-1.1519a.5652.5652,0,0,1-.64-.64V56.8075a8.8647,8.8647,0,0,0-2.624-6.6885,9.9933,9.9933,0,0,0-7.232-2.5273,9.37,9.37,0,0,0-6.5278,2.1435,7.8224,7.8224,0,0,0-2.3682,6.1123,7.8006,7.8006,0,0,0,1.0244,4.16,10.387,10.387,0,0,0,3.0078,3.0391,62.8714,62.8714,0,0,0,5.9522,3.4882,71.0575,71.0575,0,0,1,6.72,4.2559,13.4674,13.4674,0,0,1,3.648,3.9365,10.049,10.049,0,0,1,1.28,5.1836,10.7177,10.7177,0,0,1-3.2637,8.1924q-3.2637,3.0717-8.832,3.0723Q583.71,91.1757,580.35,88.1034Z"/>
</g> </g>
<g style="fill:#fff;"> <g style="fill:#fff;">
<g> <g>
<path d="M99.835,36.0577l-39-22.5167a12,12,0,0,0-12,0l-39,22.5166a12.0339,12.0339,0,0,0-6,10.3924V91.4833a12.0333,12.0333,0,0,0,6,10.3923l39,22.5167a12,12,0,0,0,12,0l39-22.5167a12.0331,12.0331,0,0,0,6-10.3923V46.45A12.0334,12.0334,0,0,0,99.835,36.0577Zm-2,55.4256a4,4,0,0,1-2,3.4641l-39,22.5167a4.0006,4.0006,0,0,1-4,0l-39-22.5167a4,4,0,0,1-2-3.4641V46.45a4,4,0,0,1,2-3.4642l39-22.5166a4,4,0,0,1,4,0l39,22.5166a4,4,0,0,1,2,3.4642Z"/> <path d="M99.835,36.0577l-39-22.5167a12,12,0,0,0-12,0l-39,22.5166a12.0339,12.0339,0,0,0-6,10.3924V91.4833a12.0333,12.0333,0,0,0,6,10.3923l39,22.5167a12,12,0,0,0,12,0l39-22.5167a12.0331,12.0331,0,0,0,6-10.3923V46.45A12.0334,12.0334,0,0,0,99.835,36.0577Zm-2,55.4256a4,4,0,0,1-2,3.4641l-39,22.5167a4.0006,4.0006,0,0,1-4,0l-39-22.5167a4,4,0,0,1-2-3.4641V46.45a4,4,0,0,1,2-3.4642l39-22.5166a4,4,0,0,1,4,0l39,22.5166a4,4,0,0,1,2,3.4642Z"/>
<path d="M77.8567,82.0046h-2.866a4,4,0,0,0-1.9247.4934L55.7852,91.9833,35.835,80.4648V57.4872l19.95-11.5185,17.2893,9.4549a3.9993,3.9993,0,0,0,1.9192.4906h2.8632a2,2,0,0,0,2-2V51.2024a2,2,0,0,0-1.04-1.7547L59.628,38.9521a8.0391,8.0391,0,0,0-7.8428.09L31.8346,50.56a8.0246,8.0246,0,0,0-4,6.9287v22.976a8,8,0,0,0,4,6.9283l19.95,11.5186a8.0429,8.0429,0,0,0,7.8433.0879l19.19-10.5312a2,2,0,0,0,1.0378-1.7533v-2.71A2,2,0,0,0,77.8567,82.0046Z"/> <path d="M77.8567,82.0046h-2.866a4,4,0,0,0-1.9247.4934L55.7852,91.9833,35.835,80.4648V57.4872l19.95-11.5185,17.2893,9.4549a3.9993,3.9993,0,0,0,1.9192.4906h2.8632a2,2,0,0,0,2-2V51.2024a2,2,0,0,0-1.04-1.7547L59.628,38.9521a8.0391,8.0391,0,0,0-7.8428.09L31.8346,50.56a8.0246,8.0246,0,0,0-4,6.9287v22.976a8,8,0,0,0,4,6.9283l19.95,11.5186a8.0429,8.0429,0,0,0,7.8433.0879l19.19-10.5312a2,2,0,0,0,1.0378-1.7533v-2.71A2,2,0,0,0,77.8567,82.0046Z"/>
</g> </g>
<g> <g>
<path d="M172.58,45.3618a15.0166,15.0166,0,0,0-15,14.9995V77.6387a15,15,0,0,0,30,0V60.3613A15.0166,15.0166,0,0,0,172.58,45.3618Zm7,32.2769a7,7,0,0,1-14,0V60.3613a7,7,0,0,1,14,0Z"/> <path d="M172.58,45.3618a15.0166,15.0166,0,0,0-15,14.9995V77.6387a15,15,0,0,0,30,0V60.3613A15.0166,15.0166,0,0,0,172.58,45.3618Zm7,32.2769a7,7,0,0,1-14,0V60.3613a7,7,0,0,1,14,0Z"/>
<path d="M135.9138,53.4211a7.01,7.01,0,0,1,7.8681,6.0752.9894.9894,0,0,0,.9843.865h6.03a1.0108,1.0108,0,0,0,.9987-1.0971,15.0182,15.0182,0,0,0-15.7162-13.8837,15.2881,15.2881,0,0,0-14.2441,15.4163V77.2037A15.288,15.288,0,0,0,136.0792,92.62a15.0183,15.0183,0,0,0,15.7162-13.8842,1.0107,1.0107,0,0,0-.9987-1.0971h-6.03a.9894.9894,0,0,0-.9843.865,7.01,7.01,0,0,1-7.8679,6.0757,7.1642,7.1642,0,0,1-6.0789-7.1849V60.6057A7.1638,7.1638,0,0,1,135.9138,53.4211Z"/> <path d="M135.9138,53.4211a7.01,7.01,0,0,1,7.8681,6.0752.9894.9894,0,0,0,.9843.865h6.03a1.0108,1.0108,0,0,0,.9987-1.0971,15.0182,15.0182,0,0,0-15.7162-13.8837,15.2881,15.2881,0,0,0-14.2441,15.4163V77.2037A15.288,15.288,0,0,0,136.0792,92.62a15.0183,15.0183,0,0,0,15.7162-13.8842,1.0107,1.0107,0,0,0-.9987-1.0971h-6.03a.9894.9894,0,0,0-.9843.865,7.01,7.01,0,0,1-7.8679,6.0757,7.1642,7.1642,0,0,1-6.0789-7.1849V60.6057A7.1638,7.1638,0,0,1,135.9138,53.4211Z"/>
<path d="M218.7572,72.9277a12.1585,12.1585,0,0,0,7.1843-11.0771V58.1494A12.1494,12.1494,0,0,0,213.7921,46H196.835a1,1,0,0,0-1,1V91a1,1,0,0,0,1,1h6a1,1,0,0,0,1-1V74h6.6216l7.9154,17.4138a1,1,0,0,0,.91.5862h6.5911a1,1,0,0,0,.91-1.4138Zm-.8157-11.0771A4.1538,4.1538,0,0,1,213.7926,66h-9.8511V54h9.8511a4.1538,4.1538,0,0,1,4.1489,4.1494Z"/> <path d="M218.7572,72.9277a12.1585,12.1585,0,0,0,7.1843-11.0771V58.1494A12.1494,12.1494,0,0,0,213.7921,46H196.835a1,1,0,0,0-1,1V91a1,1,0,0,0,1,1h6a1,1,0,0,0,1-1V74h6.6216l7.9154,17.4138a1,1,0,0,0,.91.5862h6.5911a1,1,0,0,0,.91-1.4138Zm-.8157-11.0771A4.1538,4.1538,0,0,1,213.7926,66h-9.8511V54h9.8511a4.1538,4.1538,0,0,1,4.1489,4.1494Z"/>
<path d="M260.835,46h-26a1,1,0,0,0-1,1V91a1,1,0,0,0,1,1h26a1,1,0,0,0,1-1V85a1,1,0,0,0-1-1h-19V72h13a1,1,0,0,0,1-1V65a1,1,0,0,0-1-1h-13V54h19a1,1,0,0,0,1-1V47A1,1,0,0,0,260.835,46Z"/> <path d="M260.835,46h-26a1,1,0,0,0-1,1V91a1,1,0,0,0,1,1h26a1,1,0,0,0,1-1V85a1,1,0,0,0-1-1h-19V72h13a1,1,0,0,0,1-1V65a1,1,0,0,0-1-1h-13V54h19a1,1,0,0,0,1-1V47A1,1,0,0,0,260.835,46Z"/>
<path d="M298.835,46h-6a1,1,0,0,0-1,1V69.6475a7.0066,7.0066,0,1,1-14,0V47a1,1,0,0,0-1-1h-6a1,1,0,0,0-1,1V69.6475a15.0031,15.0031,0,1,0,30,0V47A1,1,0,0,0,298.835,46Z"/> <path d="M298.835,46h-6a1,1,0,0,0-1,1V69.6475a7.0066,7.0066,0,1,1-14,0V47a1,1,0,0,0-1-1h-6a1,1,0,0,0-1,1V69.6475a15.0031,15.0031,0,1,0,30,0V47A1,1,0,0,0,298.835,46Z"/>
<rect x="307.835" y="46" width="8" height="38" rx="1"/> <rect x="307.835" y="46" width="8" height="38" rx="1"/>
</g> </g>
</g> </g>
</g> </g>
`] `]

View File

@ -1,29 +1,29 @@
export const logo = ['608 134', ` export const logo = ['608 134', `
<title>coreui react pro</title> <title>coreui react pro</title>
<g> <g>
<g style="fill:#00a1ff"> <g style="fill:#00a1ff">
<path d="M362.0177,90.1512,353.25,69.4149a.2507.2507,0,0,0-.2559-.1914H343.01a.2263.2263,0,0,0-.2559.2559V90.0233a.5657.5657,0,0,1-.64.64h-1.2163a.5652.5652,0,0,1-.64-.64V46.5028a.5655.5655,0,0,1,.64-.64H353.442a9.9792,9.9792,0,0,1,7.7437,3.2324A12.2,12.2,0,0,1,364.13,57.64a12.4389,12.4389,0,0,1-2.24,7.584,9.37,9.37,0,0,1-6.08,3.7441c-.1709.086-.2139.1915-.128.3194l8.7041,20.6084.064.2558q0,.5127-.5757.5118h-1.1523A.703.703,0,0,1,362.0177,90.1512ZM342.754,48.3593v18.496a.2259.2259,0,0,0,.2559.2559h10.3037a7.6713,7.6713,0,0,0,6.0166-2.5918,9.8807,9.8807,0,0,0,2.3037-6.8164,10.2875,10.2875,0,0,0-2.272-6.9756,7.6033,7.6033,0,0,0-6.0483-2.624H343.01A.2263.2263,0,0,0,342.754,48.3593Z"/> <path d="M362.0177,90.1512,353.25,69.4149a.2507.2507,0,0,0-.2559-.1914H343.01a.2263.2263,0,0,0-.2559.2559V90.0233a.5657.5657,0,0,1-.64.64h-1.2163a.5652.5652,0,0,1-.64-.64V46.5028a.5655.5655,0,0,1,.64-.64H353.442a9.9792,9.9792,0,0,1,7.7437,3.2324A12.2,12.2,0,0,1,364.13,57.64a12.4389,12.4389,0,0,1-2.24,7.584,9.37,9.37,0,0,1-6.08,3.7441c-.1709.086-.2139.1915-.128.3194l8.7041,20.6084.064.2558q0,.5127-.5757.5118h-1.1523A.703.703,0,0,1,362.0177,90.1512ZM342.754,48.3593v18.496a.2259.2259,0,0,0,.2559.2559h10.3037a7.6713,7.6713,0,0,0,6.0166-2.5918,9.8807,9.8807,0,0,0,2.3037-6.8164,10.2875,10.2875,0,0,0-2.272-6.9756,7.6033,7.6033,0,0,0-6.0483-2.624H343.01A.2263.2263,0,0,0,342.754,48.3593Z"/>
<path d="M401.3263,48.1034H381.2945a.2262.2262,0,0,0-.2558.2559v18.496a.2259.2259,0,0,0,.2558.2559h13.8238a.5664.5664,0,0,1,.6406.64v.96a.5663.5663,0,0,1-.6406.6406H381.2945a.2263.2263,0,0,0-.2558.2559v18.56a.2258.2258,0,0,0,.2558.2558h20.0318a.5671.5671,0,0,1,.6406.6407v.96a.566.566,0,0,1-.6406.64H379.1827a.5653.5653,0,0,1-.64-.64V46.5028a.5656.5656,0,0,1,.64-.64h22.1436a.5664.5664,0,0,1,.6406.64v.96A.5663.5663,0,0,1,401.3263,48.1034Z"/> <path d="M401.3263,48.1034H381.2945a.2262.2262,0,0,0-.2558.2559v18.496a.2259.2259,0,0,0,.2558.2559h13.8238a.5664.5664,0,0,1,.6406.64v.96a.5663.5663,0,0,1-.6406.6406H381.2945a.2263.2263,0,0,0-.2558.2559v18.56a.2258.2258,0,0,0,.2558.2558h20.0318a.5671.5671,0,0,1,.6406.6407v.96a.566.566,0,0,1-.6406.64H379.1827a.5653.5653,0,0,1-.64-.64V46.5028a.5656.5656,0,0,1,.64-.64h22.1436a.5664.5664,0,0,1,.6406.64v.96A.5663.5663,0,0,1,401.3263,48.1034Z"/>
<path d="M439.047,90.1512l-2.4317-8.832a.2971.2971,0,0,0-.32-.1924H419.5274a.2957.2957,0,0,0-.32.1924l-2.3681,8.7676a.6577.6577,0,0,1-.7036.5762H414.919a.5385.5385,0,0,1-.5756-.7041l12.0317-43.584a.6436.6436,0,0,1,.7041-.5117h1.6a.6442.6442,0,0,1,.7041.5117l12.16,43.584.0644.1923q0,.5127-.64.5118h-1.2163A.6428.6428,0,0,1,439.047,90.1512ZM419.9435,78.9188a.3031.3031,0,0,0,.2236.0967h15.4883a.3048.3048,0,0,0,.2236-.0967c.0645-.0635.0742-.1162.0322-.1592l-7.872-28.9287c-.043-.0849-.086-.1279-.128-.1279s-.0859.043-.1279.1279L419.9112,78.76C419.8683,78.8026,419.879,78.8553,419.9435,78.9188Z"/> <path d="M439.047,90.1512l-2.4317-8.832a.2971.2971,0,0,0-.32-.1924H419.5274a.2957.2957,0,0,0-.32.1924l-2.3681,8.7676a.6577.6577,0,0,1-.7036.5762H414.919a.5385.5385,0,0,1-.5756-.7041l12.0317-43.584a.6436.6436,0,0,1,.7041-.5117h1.6a.6442.6442,0,0,1,.7041.5117l12.16,43.584.0644.1923q0,.5127-.64.5118h-1.2163A.6428.6428,0,0,1,439.047,90.1512ZM419.9435,78.9188a.3031.3031,0,0,0,.2236.0967h15.4883a.3048.3048,0,0,0,.2236-.0967c.0645-.0635.0742-.1162.0322-.1592l-7.872-28.9287c-.043-.0849-.086-.1279-.128-.1279s-.0859.043-.1279.1279L419.9112,78.76C419.8683,78.8026,419.879,78.8553,419.9435,78.9188Z"/>
<path d="M456.6017,87.911a11.6372,11.6372,0,0,1-3.3277-8.7041V57.1913a11.4158,11.4158,0,0,1,3.36-8.5762,12.0941,12.0941,0,0,1,8.8-3.2637,12.2566,12.2566,0,0,1,8.8643,3.2315,11.3927,11.3927,0,0,1,3.36,8.6084v.64a.5663.5663,0,0,1-.6406.6407l-1.28.0634q-.6408,0-.64-.5761v-.8321a9.289,9.289,0,0,0-2.6558-6.9121,10.6734,10.6734,0,0,0-14.0161,0,9.2854,9.2854,0,0,0-2.6563,6.9121V79.3993a9.2808,9.2808,0,0,0,2.6563,6.9121,10.67,10.67,0,0,0,14.0161,0,9.2843,9.2843,0,0,0,2.6558-6.9121v-.7686q0-.5757.64-.5752l1.28.0635a.5667.5667,0,0,1,.6406.6406v.5118a11.4952,11.4952,0,0,1-3.36,8.64,13.6227,13.6227,0,0,1-17.6963,0Z"/> <path d="M456.6017,87.911a11.6372,11.6372,0,0,1-3.3277-8.7041V57.1913a11.4158,11.4158,0,0,1,3.36-8.5762,12.0941,12.0941,0,0,1,8.8-3.2637,12.2566,12.2566,0,0,1,8.8643,3.2315,11.3927,11.3927,0,0,1,3.36,8.6084v.64a.5663.5663,0,0,1-.6406.6407l-1.28.0634q-.6408,0-.64-.5761v-.8321a9.289,9.289,0,0,0-2.6558-6.9121,10.6734,10.6734,0,0,0-14.0161,0,9.2854,9.2854,0,0,0-2.6563,6.9121V79.3993a9.2808,9.2808,0,0,0,2.6563,6.9121,10.67,10.67,0,0,0,14.0161,0,9.2843,9.2843,0,0,0,2.6558-6.9121v-.7686q0-.5757.64-.5752l1.28.0635a.5667.5667,0,0,1,.6406.6406v.5118a11.4952,11.4952,0,0,1-3.36,8.64,13.6227,13.6227,0,0,1-17.6963,0Z"/>
<path d="M514.4376,46.5028v.96a.5658.5658,0,0,1-.64.6406H503.046a.2263.2263,0,0,0-.2559.2559v41.664a.566.566,0,0,1-.6406.64h-1.2158a.5652.5652,0,0,1-.64-.64V48.3593a.2266.2266,0,0,0-.2558-.2559H489.8619a.5656.5656,0,0,1-.64-.6406v-.96a.5656.5656,0,0,1,.64-.64H513.798A.5658.5658,0,0,1,514.4376,46.5028Z"/> <path d="M514.4376,46.5028v.96a.5658.5658,0,0,1-.64.6406H503.046a.2263.2263,0,0,0-.2559.2559v41.664a.566.566,0,0,1-.6406.64h-1.2158a.5652.5652,0,0,1-.64-.64V48.3593a.2266.2266,0,0,0-.2558-.2559H489.8619a.5656.5656,0,0,1-.64-.6406v-.96a.5656.5656,0,0,1,.64-.64H513.798A.5658.5658,0,0,1,514.4376,46.5028Z"/>
<path d="M522.0665,89.5116a2.8385,2.8385,0,0,1-.8-2.0488,2.9194,2.9194,0,0,1,.8-2.1114,2.7544,2.7544,0,0,1,2.08-.832,2.8465,2.8465,0,0,1,2.9438,2.9434,2.7541,2.7541,0,0,1-.832,2.08,2.9221,2.9221,0,0,1-2.1118.8008A2.754,2.754,0,0,1,522.0665,89.5116Z"/> <path d="M522.0665,89.5116a2.8385,2.8385,0,0,1-.8-2.0488,2.9194,2.9194,0,0,1,.8-2.1114,2.7544,2.7544,0,0,1,2.08-.832,2.8465,2.8465,0,0,1,2.9438,2.9434,2.7541,2.7541,0,0,1-.832,2.08,2.9221,2.9221,0,0,1-2.1118.8008A2.754,2.754,0,0,1,522.0665,89.5116Z"/>
<path d="M542.4054,88.0077a11.3123,11.3123,0,0,1-3.2-8.416v-5.44a.5656.5656,0,0,1,.64-.64h1.2158a.5661.5661,0,0,1,.64.64v5.5039a9.1424,9.1424,0,0,0,2.5283,6.72,8.9745,8.9745,0,0,0,6.6875,2.5605,8.7908,8.7908,0,0,0,9.28-9.28V46.5028a.5655.5655,0,0,1,.64-.64h1.2163a.566.566,0,0,1,.64.64V79.5917a11.2545,11.2545,0,0,1-3.2325,8.416,13.0618,13.0618,0,0,1-17.0556,0Z"/> <path d="M542.4054,88.0077a11.3123,11.3123,0,0,1-3.2-8.416v-5.44a.5656.5656,0,0,1,.64-.64h1.2158a.5661.5661,0,0,1,.64.64v5.5039a9.1424,9.1424,0,0,0,2.5283,6.72,8.9745,8.9745,0,0,0,6.6875,2.5605,8.7908,8.7908,0,0,0,9.28-9.28V46.5028a.5655.5655,0,0,1,.64-.64h1.2163a.566.566,0,0,1,.64.64V79.5917a11.2545,11.2545,0,0,1-3.2325,8.416,13.0618,13.0618,0,0,1-17.0556,0Z"/>
<path d="M580.35,88.1034a10.4859,10.4859,0,0,1-3.36-8.1279v-1.792a.5663.5663,0,0,1,.64-.6407h1.0884a.5668.5668,0,0,1,.64.6407v1.6a8.5459,8.5459,0,0,0,2.752,6.6562,10.5353,10.5353,0,0,0,7.36,2.4961,9.8719,9.8719,0,0,0,6.9761-2.3681,8.2161,8.2161,0,0,0,2.56-6.336,8.4,8.4,0,0,0-1.12-4.416,11.3812,11.3812,0,0,0-3.3281-3.3926,71.6714,71.6714,0,0,0-6.1763-3.7119,71.0479,71.0479,0,0,1-6.24-3.84,12.1711,12.1711,0,0,1-3.4238-3.68,10.2614,10.2614,0,0,1-1.28-5.3438,9.8579,9.8579,0,0,1,3.0718-7.7441,12.0122,12.0122,0,0,1,8.32-2.752q5.6954,0,8.96,3.1036a10.8251,10.8251,0,0,1,3.2642,8.2246v1.6a.5658.5658,0,0,1-.64.64h-1.1519a.5652.5652,0,0,1-.64-.64V56.8075a8.8647,8.8647,0,0,0-2.624-6.6885,9.9933,9.9933,0,0,0-7.232-2.5273,9.37,9.37,0,0,0-6.5278,2.1435,7.8224,7.8224,0,0,0-2.3682,6.1123,7.8006,7.8006,0,0,0,1.0244,4.16,10.387,10.387,0,0,0,3.0078,3.0391,62.8714,62.8714,0,0,0,5.9522,3.4882,71.0575,71.0575,0,0,1,6.72,4.2559,13.4674,13.4674,0,0,1,3.648,3.9365,10.049,10.049,0,0,1,1.28,5.1836,10.7177,10.7177,0,0,1-3.2637,8.1924q-3.2637,3.0717-8.832,3.0723Q583.71,91.1757,580.35,88.1034Z"/> <path d="M580.35,88.1034a10.4859,10.4859,0,0,1-3.36-8.1279v-1.792a.5663.5663,0,0,1,.64-.6407h1.0884a.5668.5668,0,0,1,.64.6407v1.6a8.5459,8.5459,0,0,0,2.752,6.6562,10.5353,10.5353,0,0,0,7.36,2.4961,9.8719,9.8719,0,0,0,6.9761-2.3681,8.2161,8.2161,0,0,0,2.56-6.336,8.4,8.4,0,0,0-1.12-4.416,11.3812,11.3812,0,0,0-3.3281-3.3926,71.6714,71.6714,0,0,0-6.1763-3.7119,71.0479,71.0479,0,0,1-6.24-3.84,12.1711,12.1711,0,0,1-3.4238-3.68,10.2614,10.2614,0,0,1-1.28-5.3438,9.8579,9.8579,0,0,1,3.0718-7.7441,12.0122,12.0122,0,0,1,8.32-2.752q5.6954,0,8.96,3.1036a10.8251,10.8251,0,0,1,3.2642,8.2246v1.6a.5658.5658,0,0,1-.64.64h-1.1519a.5652.5652,0,0,1-.64-.64V56.8075a8.8647,8.8647,0,0,0-2.624-6.6885,9.9933,9.9933,0,0,0-7.232-2.5273,9.37,9.37,0,0,0-6.5278,2.1435,7.8224,7.8224,0,0,0-2.3682,6.1123,7.8006,7.8006,0,0,0,1.0244,4.16,10.387,10.387,0,0,0,3.0078,3.0391,62.8714,62.8714,0,0,0,5.9522,3.4882,71.0575,71.0575,0,0,1,6.72,4.2559,13.4674,13.4674,0,0,1,3.648,3.9365,10.049,10.049,0,0,1,1.28,5.1836,10.7177,10.7177,0,0,1-3.2637,8.1924q-3.2637,3.0717-8.832,3.0723Q583.71,91.1757,580.35,88.1034Z"/>
</g> </g>
<g style="fill:#3c4b64"> <g style="fill:#3c4b64">
<g> <g>
<path d="M99.835,36.0577l-39-22.5167a12,12,0,0,0-12,0l-39,22.5166a12.0339,12.0339,0,0,0-6,10.3924V91.4833a12.0333,12.0333,0,0,0,6,10.3923l39,22.5167a12,12,0,0,0,12,0l39-22.5167a12.0331,12.0331,0,0,0,6-10.3923V46.45A12.0334,12.0334,0,0,0,99.835,36.0577Zm-2,55.4256a4,4,0,0,1-2,3.4641l-39,22.5167a4.0006,4.0006,0,0,1-4,0l-39-22.5167a4,4,0,0,1-2-3.4641V46.45a4,4,0,0,1,2-3.4642l39-22.5166a4,4,0,0,1,4,0l39,22.5166a4,4,0,0,1,2,3.4642Z"/> <path d="M99.835,36.0577l-39-22.5167a12,12,0,0,0-12,0l-39,22.5166a12.0339,12.0339,0,0,0-6,10.3924V91.4833a12.0333,12.0333,0,0,0,6,10.3923l39,22.5167a12,12,0,0,0,12,0l39-22.5167a12.0331,12.0331,0,0,0,6-10.3923V46.45A12.0334,12.0334,0,0,0,99.835,36.0577Zm-2,55.4256a4,4,0,0,1-2,3.4641l-39,22.5167a4.0006,4.0006,0,0,1-4,0l-39-22.5167a4,4,0,0,1-2-3.4641V46.45a4,4,0,0,1,2-3.4642l39-22.5166a4,4,0,0,1,4,0l39,22.5166a4,4,0,0,1,2,3.4642Z"/>
<path d="M77.8567,82.0046h-2.866a4,4,0,0,0-1.9247.4934L55.7852,91.9833,35.835,80.4648V57.4872l19.95-11.5185,17.2893,9.4549a3.9993,3.9993,0,0,0,1.9192.4906h2.8632a2,2,0,0,0,2-2V51.2024a2,2,0,0,0-1.04-1.7547L59.628,38.9521a8.0391,8.0391,0,0,0-7.8428.09L31.8346,50.56a8.0246,8.0246,0,0,0-4,6.9287v22.976a8,8,0,0,0,4,6.9283l19.95,11.5186a8.0429,8.0429,0,0,0,7.8433.0879l19.19-10.5312a2,2,0,0,0,1.0378-1.7533v-2.71A2,2,0,0,0,77.8567,82.0046Z"/> <path d="M77.8567,82.0046h-2.866a4,4,0,0,0-1.9247.4934L55.7852,91.9833,35.835,80.4648V57.4872l19.95-11.5185,17.2893,9.4549a3.9993,3.9993,0,0,0,1.9192.4906h2.8632a2,2,0,0,0,2-2V51.2024a2,2,0,0,0-1.04-1.7547L59.628,38.9521a8.0391,8.0391,0,0,0-7.8428.09L31.8346,50.56a8.0246,8.0246,0,0,0-4,6.9287v22.976a8,8,0,0,0,4,6.9283l19.95,11.5186a8.0429,8.0429,0,0,0,7.8433.0879l19.19-10.5312a2,2,0,0,0,1.0378-1.7533v-2.71A2,2,0,0,0,77.8567,82.0046Z"/>
</g> </g>
<g> <g>
<path d="M172.58,45.3618a15.0166,15.0166,0,0,0-15,14.9995V77.6387a15,15,0,0,0,30,0V60.3613A15.0166,15.0166,0,0,0,172.58,45.3618Zm7,32.2769a7,7,0,0,1-14,0V60.3613a7,7,0,0,1,14,0Z"/> <path d="M172.58,45.3618a15.0166,15.0166,0,0,0-15,14.9995V77.6387a15,15,0,0,0,30,0V60.3613A15.0166,15.0166,0,0,0,172.58,45.3618Zm7,32.2769a7,7,0,0,1-14,0V60.3613a7,7,0,0,1,14,0Z"/>
<path d="M135.9138,53.4211a7.01,7.01,0,0,1,7.8681,6.0752.9894.9894,0,0,0,.9843.865h6.03a1.0108,1.0108,0,0,0,.9987-1.0971,15.0182,15.0182,0,0,0-15.7162-13.8837,15.2881,15.2881,0,0,0-14.2441,15.4163V77.2037A15.288,15.288,0,0,0,136.0792,92.62a15.0183,15.0183,0,0,0,15.7162-13.8842,1.0107,1.0107,0,0,0-.9987-1.0971h-6.03a.9894.9894,0,0,0-.9843.865,7.01,7.01,0,0,1-7.8679,6.0757,7.1642,7.1642,0,0,1-6.0789-7.1849V60.6057A7.1638,7.1638,0,0,1,135.9138,53.4211Z"/> <path d="M135.9138,53.4211a7.01,7.01,0,0,1,7.8681,6.0752.9894.9894,0,0,0,.9843.865h6.03a1.0108,1.0108,0,0,0,.9987-1.0971,15.0182,15.0182,0,0,0-15.7162-13.8837,15.2881,15.2881,0,0,0-14.2441,15.4163V77.2037A15.288,15.288,0,0,0,136.0792,92.62a15.0183,15.0183,0,0,0,15.7162-13.8842,1.0107,1.0107,0,0,0-.9987-1.0971h-6.03a.9894.9894,0,0,0-.9843.865,7.01,7.01,0,0,1-7.8679,6.0757,7.1642,7.1642,0,0,1-6.0789-7.1849V60.6057A7.1638,7.1638,0,0,1,135.9138,53.4211Z"/>
<path d="M218.7572,72.9277a12.1585,12.1585,0,0,0,7.1843-11.0771V58.1494A12.1494,12.1494,0,0,0,213.7921,46H196.835a1,1,0,0,0-1,1V91a1,1,0,0,0,1,1h6a1,1,0,0,0,1-1V74h6.6216l7.9154,17.4138a1,1,0,0,0,.91.5862h6.5911a1,1,0,0,0,.91-1.4138Zm-.8157-11.0771A4.1538,4.1538,0,0,1,213.7926,66h-9.8511V54h9.8511a4.1538,4.1538,0,0,1,4.1489,4.1494Z"/> <path d="M218.7572,72.9277a12.1585,12.1585,0,0,0,7.1843-11.0771V58.1494A12.1494,12.1494,0,0,0,213.7921,46H196.835a1,1,0,0,0-1,1V91a1,1,0,0,0,1,1h6a1,1,0,0,0,1-1V74h6.6216l7.9154,17.4138a1,1,0,0,0,.91.5862h6.5911a1,1,0,0,0,.91-1.4138Zm-.8157-11.0771A4.1538,4.1538,0,0,1,213.7926,66h-9.8511V54h9.8511a4.1538,4.1538,0,0,1,4.1489,4.1494Z"/>
<path d="M260.835,46h-26a1,1,0,0,0-1,1V91a1,1,0,0,0,1,1h26a1,1,0,0,0,1-1V85a1,1,0,0,0-1-1h-19V72h13a1,1,0,0,0,1-1V65a1,1,0,0,0-1-1h-13V54h19a1,1,0,0,0,1-1V47A1,1,0,0,0,260.835,46Z"/> <path d="M260.835,46h-26a1,1,0,0,0-1,1V91a1,1,0,0,0,1,1h26a1,1,0,0,0,1-1V85a1,1,0,0,0-1-1h-19V72h13a1,1,0,0,0,1-1V65a1,1,0,0,0-1-1h-13V54h19a1,1,0,0,0,1-1V47A1,1,0,0,0,260.835,46Z"/>
<path d="M298.835,46h-6a1,1,0,0,0-1,1V69.6475a7.0066,7.0066,0,1,1-14,0V47a1,1,0,0,0-1-1h-6a1,1,0,0,0-1,1V69.6475a15.0031,15.0031,0,1,0,30,0V47A1,1,0,0,0,298.835,46Z"/> <path d="M298.835,46h-6a1,1,0,0,0-1,1V69.6475a7.0066,7.0066,0,1,1-14,0V47a1,1,0,0,0-1-1h-6a1,1,0,0,0-1,1V69.6475a15.0031,15.0031,0,1,0,30,0V47A1,1,0,0,0,298.835,46Z"/>
<rect x="307.835" y="46" width="8" height="38" rx="1"/> <rect x="307.835" y="46" width="8" height="38" rx="1"/>
</g> </g>
</g> </g>
</g> </g>
`] `]

View File

@ -1,9 +1,9 @@
export const sygnet = ['160 160', ` export const sygnet = ['160 160', `
<title>coreui logo</title> <title>coreui logo</title>
<g> <g>
<g style="fill:#fff;"> <g style="fill:#fff;">
<path d="M125,47.091,86,24.5743a12,12,0,0,0-12,0L35,47.091a12.0336,12.0336,0,0,0-6,10.3923v45.0334a12.0335,12.0335,0,0,0,6,10.3923l39,22.5166a11.9993,11.9993,0,0,0,12,0l39-22.5166a12.0335,12.0335,0,0,0,6-10.3923V57.4833A12.0336,12.0336,0,0,0,125,47.091Zm-2,55.4257a4,4,0,0,1-2,3.464L82,128.4974a4,4,0,0,1-4,0L39,105.9807a4,4,0,0,1-2-3.464V57.4833a4,4,0,0,1,2-3.4641L78,31.5025a4,4,0,0,1,4,0l39,22.5167a4,4,0,0,1,2,3.4641Z"/> <path d="M125,47.091,86,24.5743a12,12,0,0,0-12,0L35,47.091a12.0336,12.0336,0,0,0-6,10.3923v45.0334a12.0335,12.0335,0,0,0,6,10.3923l39,22.5166a11.9993,11.9993,0,0,0,12,0l39-22.5166a12.0335,12.0335,0,0,0,6-10.3923V57.4833A12.0336,12.0336,0,0,0,125,47.091Zm-2,55.4257a4,4,0,0,1-2,3.464L82,128.4974a4,4,0,0,1-4,0L39,105.9807a4,4,0,0,1-2-3.464V57.4833a4,4,0,0,1,2-3.4641L78,31.5025a4,4,0,0,1,4,0l39,22.5167a4,4,0,0,1,2,3.4641Z"/>
<path d="M103.0216,93.0379h-2.866a4,4,0,0,0-1.9246.4935L80.95,103.0167,61,91.4981V68.5206L80.95,57.002l17.2894,9.455a4,4,0,0,0,1.9192.4905h2.8632a2,2,0,0,0,2-2V62.2357a2,2,0,0,0-1.04-1.7547L84.793,49.9854a8.0391,8.0391,0,0,0-7.8428.09L57,61.5929A8.0243,8.0243,0,0,0,53,68.5216v22.976a8,8,0,0,0,4,6.9283l19.95,11.5185a8.0422,8.0422,0,0,0,7.8433.0879l19.19-10.5311a2,2,0,0,0,1.0378-1.7534v-2.71A2,2,0,0,0,103.0216,93.0379Z"/> <path d="M103.0216,93.0379h-2.866a4,4,0,0,0-1.9246.4935L80.95,103.0167,61,91.4981V68.5206L80.95,57.002l17.2894,9.455a4,4,0,0,0,1.9192.4905h2.8632a2,2,0,0,0,2-2V62.2357a2,2,0,0,0-1.04-1.7547L84.793,49.9854a8.0391,8.0391,0,0,0-7.8428.09L57,61.5929A8.0243,8.0243,0,0,0,53,68.5216v22.976a8,8,0,0,0,4,6.9283l19.95,11.5185a8.0422,8.0422,0,0,0,7.8433.0879l19.19-10.5311a2,2,0,0,0,1.0378-1.7534v-2.71A2,2,0,0,0,103.0216,93.0379Z"/>
</g> </g>
</g> </g>
`] `]

View File

@ -1,185 +1,185 @@
import React, { Suspense, useState, useEffect } from 'react' import React, { Suspense, useState, useEffect } from 'react'
import axios from 'axios'; import axios from 'axios';
//import Cookies from 'js-cookie'; //import Cookies from 'js-cookie';
import Cookies from 'universal-cookie'; import Cookies from 'universal-cookie';
import { import {
Redirect, Redirect,
Route, Route,
useLocation, useLocation,
Switch Switch
} from 'react-router-dom' } from 'react-router-dom'
import { CContainer, CFade } from '@coreui/react' import { CContainer, CFade } from '@coreui/react'
// routes config // routes config
import routes from '../routes' import routes from '../routes'
import Sso from 'src/views/sso'; import Sso from 'src/views/sso';
const loading = ( < const loading = ( <
div className = "pt-3 text-center" > div className = "pt-3 text-center" >
<div className = "sk-spinner sk-spinner-pulse" > </div> <div className = "sk-spinner sk-spinner-pulse" > </div>
</div> </div>
) )
const TheContent = () => { const TheContent = () => {
const [SsoSession, setSsoSession] = useState(''); const [SsoSession, setSsoSession] = useState('');
const [UserData, setUserData] = useState(''); const [UserData, setUserData] = useState('');
const [UserId, setUserId] = useState(''); const [UserId, setUserId] = useState('');
async function fetchSession() { async function fetchSession() {
//setSsoSession('{ "expiration": 468, "client_address": "111.223.144.163", "protocol": "urn:oasis:names:tc:SAML:2.0:protocol", "identity_provider": "https://sso.ts.bizside.biz/idp/shibboleth", "authn_instant": "2021-09-03T08:26:41.248Z", "authncontext_class": "urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport", "attributes": [ { "name": "mail", "values": [ "akira.miyata@mobilous.com" ] } ] }') //setSsoSession('{ "expiration": 468, "client_address": "111.223.144.163", "protocol": "urn:oasis:names:tc:SAML:2.0:protocol", "identity_provider": "https://sso.ts.bizside.biz/idp/shibboleth", "authn_instant": "2021-09-03T08:26:41.248Z", "authncontext_class": "urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport", "attributes": [ { "name": "mail", "values": [ "akira.miyata@mobilous.com" ] } ] }')
const result = await axios('https://fbssso.ts.bizside.biz/Shibboleth.sso/Session'); const result = await axios('https://fbssso.ts.bizside.biz/Shibboleth.sso/Session');
if(JSON.stringify(SsoSession) !== JSON.stringify(result.data)) { if(JSON.stringify(SsoSession) !== JSON.stringify(result.data)) {
console.log(result.data); console.log(result.data);
setSsoSession(result.data); setSsoSession(result.data);
} }
} }
useEffect(() => { useEffect(() => {
fetchSession() fetchSession()
}, []); }, []);
async function postUserData(data) { async function postUserData(data) {
let axiosConfig = { let axiosConfig = {
headers: { headers: {
'Content-Type': 'application/json;charset=UTF-8', 'Content-Type': 'application/json;charset=UTF-8',
"Access-Control-Allow-Origin": "*", "Access-Control-Allow-Origin": "*",
} }
}; };
const result = await axios.post('https://fbssso.ts.bizside.biz/csv', data, axiosConfig) const result = await axios.post('https://fbssso.ts.bizside.biz/csv', data, axiosConfig)
.catch((err) => { .catch((err) => {
console.log("AXIOS ERROR: ", err); console.log("AXIOS ERROR: ", err);
}); });
console.log("user data posted"); console.log("user data posted");
} }
async function fetchUser() { async function fetchUser() {
if(SsoSession.attributes == null || SsoSession.attributes[0] === undefined) { if(SsoSession.attributes == null || SsoSession.attributes[0] === undefined) {
return false; return false;
} }
const user_email = SsoSession.attributes[0].values[0] const user_email = SsoSession.attributes[0].values[0]
//console.log(user_email); //console.log(user_email);
const company_code = "FBS"; const company_code = "FBS";
const key = "api" const key = "api"
const pwd = "c558a56c63c44f65956adde8863ecc3558f3e55a465d4338bb2e7d2692866fd8"; const pwd = "c558a56c63c44f65956adde8863ecc3558f3e55a465d4338bb2e7d2692866fd8";
const result = await axios.get('https://fbssso.ts.bizside.biz/users?email=' + user_email, { const result = await axios.get('https://fbssso.ts.bizside.biz/users?email=' + user_email, {
auth: { auth: {
username: key, username: key,
password: pwd password: pwd
} }
}).catch((err) => { }).catch((err) => {
console.log(err); console.log(err);
return false; return false;
}); });
//console.log(result.data); //console.log(result.data);
if(JSON.stringify(UserData) !== JSON.stringify(result.data[0])) { if(JSON.stringify(UserData) !== JSON.stringify(result.data[0])) {
setUserData(result.data[0]); setUserData(result.data[0]);
} }
return true; return true;
} }
function isCSVPath(){ function isCSVPath(){
const url =window.location.href; const url =window.location.href;
if(url.includes('dashboard')) { if(url.includes('dashboard')) {
return true; return true;
} }
else { else {
return false; return false;
} }
} }
function get_token_from_storage_or_cookie() { function get_token_from_storage_or_cookie() {
//return true; //return true;
const cookies = new Cookies(); const cookies = new Cookies();
const shib = cookies.get('_shibsession_64656661756c7468747470733a2f2f66627373736f2e74732e62697a736964652e62697a2f73686962626f6c657468') const shib = cookies.get('_shibsession_64656661756c7468747470733a2f2f66627373736f2e74732e62697a736964652e62697a2f73686962626f6c657468')
if (shib !== undefined) { if (shib !== undefined) {
fetchSession().then(() => { fetchSession().then(() => {
if (SsoSession !== null) { if (SsoSession !== null) {
console.log(shib); console.log(shib);
fetchUser().then(() => { fetchUser().then(() => {
if(UserId === ''){ if(UserId === ''){
let id = Math.floor(100000 + Math.random() * 900000) let id = Math.floor(100000 + Math.random() * 900000)
setUserId(id); setUserId(id);
} }
const _firstname = UserData.firstname; const _firstname = UserData.firstname;
const _lastname = UserData.lastname; const _lastname = UserData.lastname;
const _email = UserData.email; const _email = UserData.email;
const _empcode = UserData.employee_code; const _empcode = UserData.employee_code;
const json_str = `[ const json_str = `[
{ {
"mailadress": "${_email}", "mailadress": "${_email}",
"name": "${_lastname} ${_firstname}", "name": "${_lastname} ${_firstname}",
"jsessionid": ${UserId}, "jsessionid": ${UserId},
"_idp_session": "", "_idp_session": "",
"_opensaml_key": "_shibsession_64656661756c7468747470733a2f2f66627373736f2e74732e62697a736964652e62697a2f73686962626f6c657468", "_opensaml_key": "_shibsession_64656661756c7468747470733a2f2f66627373736f2e74732e62697a736964652e62697a2f73686962626f6c657468",
"_opensaml_value": "${shib}" "_opensaml_value": "${shib}"
} }
]`; ]`;
//const json_str = '[{"jsessonid": "' + UserId + '" , "name": "' + _firstname + ' ' +_lastname+ '", "mailadress":" ' + _email + '", "empcode": "' + _empcode + '"}]'; //const json_str = '[{"jsessonid": "' + UserId + '" , "name": "' + _firstname + ' ' +_lastname+ '", "mailadress":" ' + _email + '", "empcode": "' + _empcode + '"}]';
if(_empcode !== null && _empcode !== undefined){ if(_empcode !== null && _empcode !== undefined){
if(isCSVPath()){ if(isCSVPath()){
postUserData(json_str); postUserData(json_str);
} }
} }
return true; return true;
}); });
} }
}); });
} else { } else {
return null; return null;
} }
} }
return ( return (
<main className = "c-main"> <main className = "c-main">
<CContainer fluid > <CContainer fluid >
<Suspense fallback = { loading }> <Suspense fallback = { loading }>
<Switch > { <Switch > {
routes.map((route, idx) => { routes.map((route, idx) => {
return route.component && ( return route.component && (
<Route key = { idx } <Route key = { idx }
path = { route.path } path = { route.path }
exact = { route.exact } exact = { route.exact }
name = { route.name } name = { route.name }
// render = { // render = {
// props => // props =>
// ( <route.component {...props} userid={1} email={"akira.miyata@mobilous.com"}/> // ( <route.component {...props} userid={1} email={"akira.miyata@mobilous.com"}/>
// ) // )
// } // }
render = { render = {
props => props =>
get_token_from_storage_or_cookie() !== null ? get_token_from_storage_or_cookie() !== null ?
( <route.component {...props} userid={UserId} email={UserData.email}/> ( <route.component {...props} userid={UserId} email={UserData.email}/>
) : ( <Redirect to = { ) : ( <Redirect to = {
{ pathname: "/sso" } { pathname: "/sso" }
} }
/> />
) )
} }
/> />
) )
}) })
} }
<Redirect <Redirect
from = "/" from = "/"
to = "/dashboard" / > to = "/dashboard" / >
</Switch> </Suspense > </Switch> </Suspense >
</CContainer> </main > </CContainer> </main >
) )
} }
export default React.memo(TheContent) export default React.memo(TheContent)

View File

@ -1,19 +1,19 @@
import React from 'react' import React from 'react'
import { CFooter } from '@coreui/react' import { CFooter } from '@coreui/react'
const TheFooter = () => { const TheFooter = () => {
return ( return (
<CFooter fixed={false}> <CFooter fixed={false}>
<div> <div>
<a href="sumasen.net" target="_blank" rel="noopener noreferrer">FBS</a> <a href="sumasen.net" target="_blank" rel="noopener noreferrer">FBS</a>
<span className="ml-1">&copy; 2021 DigitalVox.</span> <span className="ml-1">&copy; 2021 DigitalVox.</span>
</div> </div>
<div className="mfs-auto"> <div className="mfs-auto">
<span className="mr-1">搭載</span> <span className="mr-1">搭載</span>
<a href="#" target="_blank" rel="noopener noreferrer">DigitalVox</a> <a href="#" target="_blank" rel="noopener noreferrer">DigitalVox</a>
</div> </div>
</CFooter> </CFooter>
) )
} }
export default React.memo(TheFooter) export default React.memo(TheFooter)

View File

@ -1,77 +1,77 @@
import React from 'react' import React from 'react'
import { useSelector, useDispatch } from 'react-redux' import { useSelector, useDispatch } from 'react-redux'
import { import {
CHeader, CHeader,
CToggler, CToggler,
CHeaderBrand, CHeaderBrand,
CHeaderNav, CHeaderNav,
CHeaderNavItem, CHeaderNavItem,
CHeaderNavLink, CHeaderNavLink,
CSubheader, CSubheader,
CBreadcrumbRouter, CBreadcrumbRouter,
CLink CLink
} from '@coreui/react' } from '@coreui/react'
import CIcon from '@coreui/icons-react' import CIcon from '@coreui/icons-react'
// routes config // routes config
import routes from '../routes' import routes from '../routes'
import { import {
TheHeaderDropdown, TheHeaderDropdown,
TheHeaderDropdownMssg, TheHeaderDropdownMssg,
TheHeaderDropdownNotif, TheHeaderDropdownNotif,
TheHeaderDropdownTasks TheHeaderDropdownTasks
} from './index' } from './index'
const TheHeader = () => { const TheHeader = () => {
const dispatch = useDispatch() const dispatch = useDispatch()
const sidebarShow = useSelector(state => state.sidebarShow) const sidebarShow = useSelector(state => state.sidebarShow)
const toggleSidebar = () => { const toggleSidebar = () => {
const val = [true, 'responsive'].includes(sidebarShow) ? false : 'responsive' const val = [true, 'responsive'].includes(sidebarShow) ? false : 'responsive'
dispatch({type: 'set', sidebarShow: val}) dispatch({type: 'set', sidebarShow: val})
} }
const toggleSidebarMobile = () => { const toggleSidebarMobile = () => {
const val = [false, 'responsive'].includes(sidebarShow) ? true : 'responsive' const val = [false, 'responsive'].includes(sidebarShow) ? true : 'responsive'
dispatch({type: 'set', sidebarShow: val}) dispatch({type: 'set', sidebarShow: val})
} }
return ( return (
<CHeader withSubheader> <CHeader withSubheader>
<CToggler <CToggler
inHeader inHeader
className="ml-md-3 d-lg-none" className="ml-md-3 d-lg-none"
onClick={toggleSidebarMobile} onClick={toggleSidebarMobile}
/> />
<CToggler <CToggler
inHeader inHeader
className="ml-3 d-md-down-none" className="ml-3 d-md-down-none"
onClick={toggleSidebar} onClick={toggleSidebar}
/> />
<CHeaderBrand className="mx-auto d-lg-none" to="/"> <CHeaderBrand className="mx-auto d-lg-none" to="/">
{/* <CIcon name="logo" height="48" alt="Logo"/> */} {/* <CIcon name="logo" height="48" alt="Logo"/> */}
<h2>FBS</h2> <h2>FBS</h2>
</CHeaderBrand> </CHeaderBrand>
<CHeaderNav className="d-md-down-none mr-auto"> <CHeaderNav className="d-md-down-none mr-auto">
<CHeaderNavItem className="px-3" > <CHeaderNavItem className="px-3" >
<CHeaderNavLink to="/dashboard">ダッシュボード</CHeaderNavLink> <CHeaderNavLink to="/dashboard">ダッシュボード</CHeaderNavLink>
</CHeaderNavItem> </CHeaderNavItem>
</CHeaderNav> </CHeaderNav>
<CHeaderNav className="px-3"> <CHeaderNav className="px-3">
<TheHeaderDropdown/> <TheHeaderDropdown/>
</CHeaderNav> </CHeaderNav>
<CSubheader className="px-3 justify-content-between"> <CSubheader className="px-3 justify-content-between">
<CBreadcrumbRouter <CBreadcrumbRouter
className="border-0 c-subheader-nav m-0 px-0 px-md-3" className="border-0 c-subheader-nav m-0 px-0 px-md-3"
routes={routes} routes={routes}
/> />
</CSubheader> </CSubheader>
</CHeader> </CHeader>
) )
} }
export default TheHeader export default TheHeader

View File

@ -1,46 +1,46 @@
import React from 'react' import React from 'react'
import { import {
CBadge, CBadge,
CDropdown, CDropdown,
CDropdownItem, CDropdownItem,
CDropdownMenu, CDropdownMenu,
CDropdownToggle, CDropdownToggle,
CImg CImg
} from '@coreui/react' } from '@coreui/react'
import CIcon from '@coreui/icons-react' import CIcon from '@coreui/icons-react'
const TheHeaderDropdown = () => { const TheHeaderDropdown = () => {
function launchsso() { function launchsso() {
console.log("launch sso"); console.log("launch sso");
window.open("https://fbssso.ts.bizside.biz/Shibboleth.sso/Login", "_self"); window.open("https://fbssso.ts.bizside.biz/Shibboleth.sso/Login", "_self");
} }
return ( return (
<CDropdown <CDropdown
inNav inNav
className="c-header-nav-items mx-2" className="c-header-nav-items mx-2"
direction="down" direction="down"
> >
<CDropdownToggle className="c-header-nav-link" caret={false}> <CDropdownToggle className="c-header-nav-link" caret={false}>
アカウント アカウント
</CDropdownToggle> </CDropdownToggle>
<CDropdownMenu className="pt-0" placement="bottom-end"> <CDropdownMenu className="pt-0" placement="bottom-end">
<CDropdownItem <CDropdownItem
header header
tag="div" tag="div"
color="light" color="light"
className="text-center" className="text-center"
> >
<strong>アカウント</strong> <strong>アカウント</strong>
</CDropdownItem> </CDropdownItem>
<CDropdownItem onClick={launchsso}> <CDropdownItem onClick={launchsso}>
<CIcon name="cil-bell" className="mfe-2" /> <CIcon name="cil-bell" className="mfe-2" />
SSO ログイン SSO ログイン
</CDropdownItem> </CDropdownItem>
</CDropdownMenu> </CDropdownMenu>
</CDropdown> </CDropdown>
) )
} }
export default TheHeaderDropdown export default TheHeaderDropdown

View File

@ -1,127 +1,127 @@
import React from 'react' import React from 'react'
import { import {
CBadge, CBadge,
CDropdown, CDropdown,
CDropdownItem, CDropdownItem,
CDropdownMenu, CDropdownMenu,
CDropdownToggle, CDropdownToggle,
CImg CImg
} from '@coreui/react' } from '@coreui/react'
import CIcon from '@coreui/icons-react' import CIcon from '@coreui/icons-react'
const TheHeaderDropdownMssg = () => { const TheHeaderDropdownMssg = () => {
const itemsCount = 4 const itemsCount = 4
return ( return (
<CDropdown <CDropdown
inNav inNav
className="c-header-nav-item mx-2" className="c-header-nav-item mx-2"
direction="down" direction="down"
> >
<CDropdownToggle className="c-header-nav-link" caret={false}> <CDropdownToggle className="c-header-nav-link" caret={false}>
<CIcon name="cil-envelope-open" /><CBadge shape="pill" color="info">{itemsCount}</CBadge> <CIcon name="cil-envelope-open" /><CBadge shape="pill" color="info">{itemsCount}</CBadge>
</CDropdownToggle> </CDropdownToggle>
<CDropdownMenu className="pt-0" placement="bottom-end"> <CDropdownMenu className="pt-0" placement="bottom-end">
<CDropdownItem <CDropdownItem
header header
tag="div" tag="div"
color="light" color="light"
> >
<strong>You have {itemsCount} messages</strong> <strong>You have {itemsCount} messages</strong>
</CDropdownItem> </CDropdownItem>
<CDropdownItem href="#"> <CDropdownItem href="#">
<div className="message"> <div className="message">
<div className="pt-3 mr-3 float-left"> <div className="pt-3 mr-3 float-left">
<div className="c-avatar"> <div className="c-avatar">
<CImg <CImg
src={'avatars/7.jpg'} src={'avatars/7.jpg'}
className="c-avatar-img" className="c-avatar-img"
alt="admin@bootstrapmaster.com" alt="admin@bootstrapmaster.com"
/> />
<span className="c-avatar-status bg-success"></span> <span className="c-avatar-status bg-success"></span>
</div> </div>
</div> </div>
<div> <div>
<small className="text-muted">John Doe</small> <small className="text-muted">John Doe</small>
<small className="text-muted float-right mt-1">Just now</small> <small className="text-muted float-right mt-1">Just now</small>
</div> </div>
<div className="text-truncate font-weight-bold"> <div className="text-truncate font-weight-bold">
<span className="fa fa-exclamation text-danger"></span> Important message <span className="fa fa-exclamation text-danger"></span> Important message
</div> </div>
<div className="small text-muted text-truncate"> <div className="small text-muted text-truncate">
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt... Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt...
</div> </div>
</div> </div>
</CDropdownItem> </CDropdownItem>
<CDropdownItem href="#"> <CDropdownItem href="#">
<div className="message"> <div className="message">
<div className="pt-3 mr-3 float-left"> <div className="pt-3 mr-3 float-left">
<div className="c-avatar"> <div className="c-avatar">
<CImg <CImg
src={'avatars/6.jpg'} src={'avatars/6.jpg'}
className="c-avatar-img" className="c-avatar-img"
alt="admin@bootstrapmaster.com" alt="admin@bootstrapmaster.com"
/> />
<span className="c-avatar-status bg-warning"></span> <span className="c-avatar-status bg-warning"></span>
</div> </div>
</div> </div>
<div> <div>
<small className="text-muted">Jane Dovve</small> <small className="text-muted">Jane Dovve</small>
<small className="text-muted float-right mt-1">5 minutes ago</small> <small className="text-muted float-right mt-1">5 minutes ago</small>
</div> </div>
<div className="text-truncate font-weight-bold">Lorem ipsum dolor sit amet</div> <div className="text-truncate font-weight-bold">Lorem ipsum dolor sit amet</div>
<div className="small text-muted text-truncate">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt... <div className="small text-muted text-truncate">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt...
</div> </div>
</div> </div>
</CDropdownItem> </CDropdownItem>
<CDropdownItem href="#"> <CDropdownItem href="#">
<div className="message"> <div className="message">
<div className="pt-3 mr-3 float-left"> <div className="pt-3 mr-3 float-left">
<div className="c-avatar"> <div className="c-avatar">
<CImg <CImg
src={'avatars/5.jpg'} src={'avatars/5.jpg'}
className="c-avatar-img" className="c-avatar-img"
alt="admin@bootstrapmaster.com" alt="admin@bootstrapmaster.com"
/> />
<span className="c-avatar-status bg-danger"></span> <span className="c-avatar-status bg-danger"></span>
</div> </div>
</div> </div>
<div> <div>
<small className="text-muted">Janet Doe</small> <small className="text-muted">Janet Doe</small>
<small className="text-muted float-right mt-1">1:52 PM</small> <small className="text-muted float-right mt-1">1:52 PM</small>
</div> </div>
<div className="text-truncate font-weight-bold">Lorem ipsum dolor sit amet</div> <div className="text-truncate font-weight-bold">Lorem ipsum dolor sit amet</div>
<div className="small text-muted text-truncate">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt... <div className="small text-muted text-truncate">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt...
</div> </div>
</div> </div>
</CDropdownItem> </CDropdownItem>
<CDropdownItem href="#"> <CDropdownItem href="#">
<div className="message"> <div className="message">
<div className="pt-3 mr-3 float-left"> <div className="pt-3 mr-3 float-left">
<div className="c-avatar"> <div className="c-avatar">
<CImg <CImg
src={'avatars/4.jpg'} src={'avatars/4.jpg'}
className="c-avatar-img" className="c-avatar-img"
alt="admin@bootstrapmaster.com" alt="admin@bootstrapmaster.com"
/> />
<span className="c-avatar-status bg-info"></span> <span className="c-avatar-status bg-info"></span>
</div> </div>
</div> </div>
<div> <div>
<small className="text-muted">Joe Doe</small> <small className="text-muted">Joe Doe</small>
<small className="text-muted float-right mt-1">4:03 AM</small> <small className="text-muted float-right mt-1">4:03 AM</small>
</div> </div>
<div className="text-truncate font-weight-bold">Lorem ipsum dolor sit amet</div> <div className="text-truncate font-weight-bold">Lorem ipsum dolor sit amet</div>
<div className="small text-muted text-truncate">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt... <div className="small text-muted text-truncate">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt...
</div> </div>
</div> </div>
</CDropdownItem> </CDropdownItem>
<CDropdownItem href="#" className="text-center border-top"><strong>View all messages</strong></CDropdownItem> <CDropdownItem href="#" className="text-center border-top"><strong>View all messages</strong></CDropdownItem>
</CDropdownMenu> </CDropdownMenu>
</CDropdown> </CDropdown>
) )
} }
export default TheHeaderDropdownMssg export default TheHeaderDropdownMssg

View File

@ -1,70 +1,70 @@
import React from 'react' import React from 'react'
import { import {
CBadge, CBadge,
CDropdown, CDropdown,
CDropdownItem, CDropdownItem,
CDropdownMenu, CDropdownMenu,
CDropdownToggle, CDropdownToggle,
CProgress CProgress
} from '@coreui/react' } from '@coreui/react'
import CIcon from '@coreui/icons-react' import CIcon from '@coreui/icons-react'
const TheHeaderDropdownNotif = () => { const TheHeaderDropdownNotif = () => {
const itemsCount = 5 const itemsCount = 5
return ( return (
<CDropdown <CDropdown
inNav inNav
className="c-header-nav-item mx-2" className="c-header-nav-item mx-2"
> >
<CDropdownToggle className="c-header-nav-link" caret={false}> <CDropdownToggle className="c-header-nav-link" caret={false}>
<CIcon name="cil-bell"/> <CIcon name="cil-bell"/>
<CBadge shape="pill" color="danger">{itemsCount}</CBadge> <CBadge shape="pill" color="danger">{itemsCount}</CBadge>
</CDropdownToggle> </CDropdownToggle>
<CDropdownMenu placement="bottom-end" className="pt-0"> <CDropdownMenu placement="bottom-end" className="pt-0">
<CDropdownItem <CDropdownItem
header header
tag="div" tag="div"
className="text-center" className="text-center"
color="light" color="light"
> >
<strong>You have {itemsCount} notifications</strong> <strong>You have {itemsCount} notifications</strong>
</CDropdownItem> </CDropdownItem>
<CDropdownItem><CIcon name="cil-user-follow" className="mr-2 text-success" /> New user registered</CDropdownItem> <CDropdownItem><CIcon name="cil-user-follow" className="mr-2 text-success" /> New user registered</CDropdownItem>
<CDropdownItem><CIcon name="cil-user-unfollow" className="mr-2 text-danger" /> User deleted</CDropdownItem> <CDropdownItem><CIcon name="cil-user-unfollow" className="mr-2 text-danger" /> User deleted</CDropdownItem>
<CDropdownItem><CIcon name="cil-chart-pie" className="mr-2 text-info" /> Sales report is ready</CDropdownItem> <CDropdownItem><CIcon name="cil-chart-pie" className="mr-2 text-info" /> Sales report is ready</CDropdownItem>
<CDropdownItem><CIcon name="cil-basket" className="mr-2 text-primary" /> New client</CDropdownItem> <CDropdownItem><CIcon name="cil-basket" className="mr-2 text-primary" /> New client</CDropdownItem>
<CDropdownItem><CIcon name="cil-speedometer" className="mr-2 text-warning" /> Server overloaded</CDropdownItem> <CDropdownItem><CIcon name="cil-speedometer" className="mr-2 text-warning" /> Server overloaded</CDropdownItem>
<CDropdownItem <CDropdownItem
header header
tag="div" tag="div"
color="light" color="light"
> >
<strong>Server</strong> <strong>Server</strong>
</CDropdownItem> </CDropdownItem>
<CDropdownItem className="d-block"> <CDropdownItem className="d-block">
<div className="text-uppercase mb-1"> <div className="text-uppercase mb-1">
<small><b>CPU Usage</b></small> <small><b>CPU Usage</b></small>
</div> </div>
<CProgress size="xs" color="info" value={25} /> <CProgress size="xs" color="info" value={25} />
<small className="text-muted">348 Processes. 1/4 Cores.</small> <small className="text-muted">348 Processes. 1/4 Cores.</small>
</CDropdownItem> </CDropdownItem>
<CDropdownItem className="d-block"> <CDropdownItem className="d-block">
<div className="text-uppercase mb-1"> <div className="text-uppercase mb-1">
<small><b>Memory Usage</b></small> <small><b>Memory Usage</b></small>
</div> </div>
<CProgress size="xs" color="warning" value={70} /> <CProgress size="xs" color="warning" value={70} />
<small className="text-muted">11444GB/16384MB</small> <small className="text-muted">11444GB/16384MB</small>
</CDropdownItem> </CDropdownItem>
<CDropdownItem className="d-block"> <CDropdownItem className="d-block">
<div className="text-uppercase mb-1"> <div className="text-uppercase mb-1">
<small><b>SSD 1 Usage</b></small> <small><b>SSD 1 Usage</b></small>
</div> </div>
<CProgress size="xs" color="danger" value={90} /> <CProgress size="xs" color="danger" value={90} />
<small className="text-muted">243GB/256GB</small> <small className="text-muted">243GB/256GB</small>
</CDropdownItem> </CDropdownItem>
</CDropdownMenu> </CDropdownMenu>
</CDropdown> </CDropdown>
) )
} }
export default TheHeaderDropdownNotif export default TheHeaderDropdownNotif

View File

@ -1,59 +1,59 @@
import React from 'react' import React from 'react'
import { import {
CBadge, CBadge,
CDropdown, CDropdown,
CDropdownItem, CDropdownItem,
CDropdownMenu, CDropdownMenu,
CDropdownToggle, CDropdownToggle,
CProgress CProgress
} from '@coreui/react' } from '@coreui/react'
import CIcon from '@coreui/icons-react' import CIcon from '@coreui/icons-react'
const TheHeaderDropdownTasks = () => { const TheHeaderDropdownTasks = () => {
const itemsCount = 5 const itemsCount = 5
return ( return (
<CDropdown <CDropdown
inNav inNav
className="c-header-nav-item mx-2" className="c-header-nav-item mx-2"
> >
<CDropdownToggle className="c-header-nav-link" caret={false}> <CDropdownToggle className="c-header-nav-link" caret={false}>
<CIcon name="cil-list" /> <CIcon name="cil-list" />
<CBadge shape="pill" color="warning">{itemsCount}</CBadge> <CBadge shape="pill" color="warning">{itemsCount}</CBadge>
</CDropdownToggle> </CDropdownToggle>
<CDropdownMenu placement="bottom-end" className="pt-0"> <CDropdownMenu placement="bottom-end" className="pt-0">
<CDropdownItem <CDropdownItem
header header
tag="div" tag="div"
className="text-center" className="text-center"
color="light" color="light"
> >
<strong>You have {itemsCount} pending tasks</strong> <strong>You have {itemsCount} pending tasks</strong>
</CDropdownItem> </CDropdownItem>
<CDropdownItem className="d-block"> <CDropdownItem className="d-block">
<div className="small mb-1">Upgrade NPM &amp; Bower <span <div className="small mb-1">Upgrade NPM &amp; Bower <span
className="float-right"><strong>0%</strong></span></div> className="float-right"><strong>0%</strong></span></div>
<CProgress size="xs" color="info" value={0} /> <CProgress size="xs" color="info" value={0} />
</CDropdownItem> </CDropdownItem>
<CDropdownItem className="d-block"> <CDropdownItem className="d-block">
<div className="small mb-1">ReactJS Version <span className="float-right"><strong>25%</strong></span></div> <div className="small mb-1">ReactJS Version <span className="float-right"><strong>25%</strong></span></div>
<CProgress size="xs" color="danger" value={25} /> <CProgress size="xs" color="danger" value={25} />
</CDropdownItem> </CDropdownItem>
<CDropdownItem className="d-block"> <CDropdownItem className="d-block">
<div className="small mb-1">VueJS Version <span className="float-right"><strong>50%</strong></span></div> <div className="small mb-1">VueJS Version <span className="float-right"><strong>50%</strong></span></div>
<CProgress size="xs" color="warning" value={50} /> <CProgress size="xs" color="warning" value={50} />
</CDropdownItem> </CDropdownItem>
<CDropdownItem className="d-block"> <CDropdownItem className="d-block">
<div className="small mb-1">Add new layouts <span className="float-right"><strong>75%</strong></span></div> <div className="small mb-1">Add new layouts <span className="float-right"><strong>75%</strong></span></div>
<CProgress size="xs" color="info" value={75} /> <CProgress size="xs" color="info" value={75} />
</CDropdownItem> </CDropdownItem>
<CDropdownItem className="d-block"> <CDropdownItem className="d-block">
<div className="small mb-1">Angular 2 Cli Version <span className="float-right"><strong>100%</strong></span></div> <div className="small mb-1">Angular 2 Cli Version <span className="float-right"><strong>100%</strong></span></div>
<CProgress size="xs" color="success" value={100} /> <CProgress size="xs" color="success" value={100} />
</CDropdownItem> </CDropdownItem>
<CDropdownItem className="text-center border-top"><strong>View all tasks</strong></CDropdownItem> <CDropdownItem className="text-center border-top"><strong>View all tasks</strong></CDropdownItem>
</CDropdownMenu> </CDropdownMenu>
</CDropdown> </CDropdown>
) )
} }
export default TheHeaderDropdownTasks export default TheHeaderDropdownTasks

View File

@ -1,25 +1,25 @@
import React from 'react' import React from 'react'
import { import {
TheContent, TheContent,
TheSidebar, TheSidebar,
TheFooter, TheFooter,
TheHeader TheHeader
} from './index' } from './index'
const TheLayout = () => { const TheLayout = () => {
return ( return (
<div className="c-app c-default-layout"> <div className="c-app c-default-layout">
<TheSidebar/> <TheSidebar/>
<div className="c-wrapper"> <div className="c-wrapper">
<TheHeader/> <TheHeader/>
<div className="c-body"> <div className="c-body">
<TheContent/> <TheContent/>
</div> </div>
<TheFooter/> <TheFooter/>
</div> </div>
</div> </div>
) )
} }
export default TheLayout export default TheLayout

View File

@ -1,54 +1,54 @@
import React from 'react' import React from 'react'
import { useSelector, useDispatch } from 'react-redux' import { useSelector, useDispatch } from 'react-redux'
import { import {
CCreateElement, CCreateElement,
CSidebar, CSidebar,
CSidebarBrand, CSidebarBrand,
CSidebarNav, CSidebarNav,
CSidebarNavDivider, CSidebarNavDivider,
CSidebarNavTitle, CSidebarNavTitle,
CSidebarMinimizer, CSidebarMinimizer,
CSidebarNavDropdown, CSidebarNavDropdown,
CSidebarNavItem, CSidebarNavItem,
} from '@coreui/react' } from '@coreui/react'
import CIcon from '@coreui/icons-react' import CIcon from '@coreui/icons-react'
// sidebar nav config // sidebar nav config
import navigation from './_nav' import navigation from './_nav'
const TheSidebar = () => { const TheSidebar = () => {
const dispatch = useDispatch() const dispatch = useDispatch()
const show = useSelector(state => state.sidebarShow) const show = useSelector(state => state.sidebarShow)
return ( return (
<CSidebar <CSidebar
show={show} show={show}
onShowChange={(val) => dispatch({type: 'set', sidebarShow: val })} onShowChange={(val) => dispatch({type: 'set', sidebarShow: val })}
> >
<CSidebarBrand className="d-md-down-none" to="/"> <CSidebarBrand className="d-md-down-none" to="/">
<h2>FBS</h2> <h2>FBS</h2>
<CIcon <CIcon
className="c-sidebar-brand-minimized" className="c-sidebar-brand-minimized"
name="sygnet" name="sygnet"
height={35} height={35}
/> />
</CSidebarBrand> </CSidebarBrand>
<CSidebarNav> <CSidebarNav>
<CCreateElement <CCreateElement
items={navigation} items={navigation}
components={{ components={{
CSidebarNavDivider, CSidebarNavDivider,
CSidebarNavDropdown, CSidebarNavDropdown,
CSidebarNavItem, CSidebarNavItem,
CSidebarNavTitle CSidebarNavTitle
}} }}
/> />
</CSidebarNav> </CSidebarNav>
<CSidebarMinimizer className="c-d-md-down-none"/> <CSidebarMinimizer className="c-d-md-down-none"/>
</CSidebar> </CSidebar>
) )
} }
export default React.memo(TheSidebar) export default React.memo(TheSidebar)

View File

@ -1,51 +1,51 @@
import React from 'react' import React from 'react'
import CIcon from '@coreui/icons-react' import CIcon from '@coreui/icons-react'
const _nav = [{ const _nav = [{
_tag: 'CSidebarNavItem', _tag: 'CSidebarNavItem',
name: 'ダッシュボード', name: 'ダッシュボード',
to: '/dashboard', to: '/dashboard',
icon: < CIcon name = "cil-speedometer" icon: < CIcon name = "cil-speedometer"
customClasses = "c-sidebar-nav-icon" / > customClasses = "c-sidebar-nav-icon" / >
}, },
{ {
_tag: 'CSidebarNavTitle', _tag: 'CSidebarNavTitle',
_children: ['レポート'] _children: ['レポート']
}, },
{ {
_tag: 'CSidebarNavItem', _tag: 'CSidebarNavItem',
name: '報告書', name: '報告書',
to: '/reports', to: '/reports',
icon: 'cil-drop', icon: 'cil-drop',
}, },
{ {
_tag: 'CSidebarNavItem', _tag: 'CSidebarNavItem',
name: 'アップロード', name: 'アップロード',
to: '/uploader', to: '/uploader',
icon: 'cil-drop', icon: 'cil-drop',
}, },
// { // {
// _tag: 'CSidebarNavTitle', // _tag: 'CSidebarNavTitle',
// _children: ['Components'] // _children: ['Components']
// }, // },
// { // {
// _tag: 'CSidebarNavDropdown', // _tag: 'CSidebarNavDropdown',
// name: 'Base', // name: 'Base',
// route: '/base', // route: '/base',
// icon: 'cil-puzzle', // icon: 'cil-puzzle',
// _children: [ // _children: [
// { // {
// _tag: 'CSidebarNavItem', // _tag: 'CSidebarNavItem',
// name: 'Breadcrumb', // name: 'Breadcrumb',
// to: '/base/breadcrumbs', // to: '/base/breadcrumbs',
// }, // },
// { // {
// _tag: 'CSidebarNavItem', // _tag: 'CSidebarNavItem',
// name: 'Tooltips', // name: 'Tooltips',
// to: '/base/tooltips', // to: '/base/tooltips',
// }, // },
// ], // ],
// } // }
] ]
export default _nav export default _nav

View File

@ -1,21 +1,21 @@
import TheContent from './TheContent' import TheContent from './TheContent'
import TheFooter from './TheFooter' import TheFooter from './TheFooter'
import TheHeader from './TheHeader' import TheHeader from './TheHeader'
import TheHeaderDropdown from './TheHeaderDropdown' import TheHeaderDropdown from './TheHeaderDropdown'
import TheHeaderDropdownMssg from './TheHeaderDropdownMssg' import TheHeaderDropdownMssg from './TheHeaderDropdownMssg'
import TheHeaderDropdownNotif from './TheHeaderDropdownNotif' import TheHeaderDropdownNotif from './TheHeaderDropdownNotif'
import TheHeaderDropdownTasks from './TheHeaderDropdownTasks' import TheHeaderDropdownTasks from './TheHeaderDropdownTasks'
import TheLayout from './TheLayout' import TheLayout from './TheLayout'
import TheSidebar from './TheSidebar' import TheSidebar from './TheSidebar'
export { export {
TheContent, TheContent,
TheFooter, TheFooter,
TheHeader, TheHeader,
TheHeaderDropdown, TheHeaderDropdown,
TheHeaderDropdownMssg, TheHeaderDropdownMssg,
TheHeaderDropdownNotif, TheHeaderDropdownNotif,
TheHeaderDropdownTasks, TheHeaderDropdownTasks,
TheLayout, TheLayout,
TheSidebar TheSidebar
} }

View File

@ -1,27 +1,27 @@
import 'react-app-polyfill/ie11'; // For IE 11 support import 'react-app-polyfill/ie11'; // For IE 11 support
import 'react-app-polyfill/stable'; import 'react-app-polyfill/stable';
import 'core-js'; import 'core-js';
import './polyfill' import './polyfill'
import React from 'react'; import React from 'react';
import ReactDOM from 'react-dom'; import ReactDOM from 'react-dom';
import App from './App'; import App from './App';
import * as serviceWorker from './serviceWorker'; import * as serviceWorker from './serviceWorker';
import { icons } from './assets/icons' import { icons } from './assets/icons'
import { Provider } from 'react-redux' import { Provider } from 'react-redux'
import store from './store' import store from './store'
React.icons = icons React.icons = icons
ReactDOM.render( ReactDOM.render(
<Provider store={store}> <Provider store={store}>
<App/> <App/>
</Provider>, </Provider>,
document.getElementById('root') document.getElementById('root')
); );
// If you want your app to work offline and load faster, you can change // If you want your app to work offline and load faster, you can change
// unregister() to register() below. Note this comes with some pitfalls. // unregister() to register() below. Note this comes with some pitfalls.
// Learn more about service workers: http://bit.ly/CRA-PWA // Learn more about service workers: http://bit.ly/CRA-PWA
serviceWorker.unregister(); serviceWorker.unregister();

View File

@ -1,63 +1,63 @@
/* /*
* required polyfills * required polyfills
*/ */
/** IE9, IE10 and IE11 requires all of the following polyfills. **/ /** IE9, IE10 and IE11 requires all of the following polyfills. **/
// import "core-js"; // import "core-js";
// import 'core-js/features/symbol' // import 'core-js/features/symbol'
// import 'core-js/features/object' // import 'core-js/features/object'
// import 'core-js/features/function' // import 'core-js/features/function'
// import 'core-js/features/parse-int' // import 'core-js/features/parse-int'
// import 'core-js/features/parse-float' // import 'core-js/features/parse-float'
// import 'core-js/features/number' // import 'core-js/features/number'
// import 'core-js/features/math' // import 'core-js/features/math'
// import 'core-js/features/string' // import 'core-js/features/string'
// import 'core-js/features/date' // import 'core-js/features/date'
// import 'core-js/features/array' // import 'core-js/features/array'
// import 'core-js/features/regexp' // import 'core-js/features/regexp'
// import 'core-js/features/map' // import 'core-js/features/map'
// import 'core-js/features/weak-map' // import 'core-js/features/weak-map'
// import 'core-js/features/set' // import 'core-js/features/set'
// import 'core-js/features/set/map'; // import 'core-js/features/set/map';
/** IE10 and IE11 requires the following for the Reflect API. */ /** IE10 and IE11 requires the following for the Reflect API. */
// import 'core-js/features/reflect'; // import 'core-js/features/reflect';
/** Evergreen browsers require these. **/ /** Evergreen browsers require these. **/
// Used for reflect-metadata in JIT. If you use AOT (and only Angular decorators), you can remove. // Used for reflect-metadata in JIT. If you use AOT (and only Angular decorators), you can remove.
// import 'core-js/features/reflect' // import 'core-js/features/reflect'
// CustomEvent() constructor functionality in IE9, IE10, IE11 // CustomEvent() constructor functionality in IE9, IE10, IE11
(function () { (function () {
if ( typeof window.CustomEvent === "function" ) return false if ( typeof window.CustomEvent === "function" ) return false
function CustomEvent ( event, params ) { function CustomEvent ( event, params ) {
params = params || { bubbles: false, cancelable: false, detail: undefined } params = params || { bubbles: false, cancelable: false, detail: undefined }
var evt = document.createEvent( 'CustomEvent' ) var evt = document.createEvent( 'CustomEvent' )
evt.initCustomEvent( event, params.bubbles, params.cancelable, params.detail ) evt.initCustomEvent( event, params.bubbles, params.cancelable, params.detail )
return evt return evt
} }
CustomEvent.prototype = window.Event.prototype CustomEvent.prototype = window.Event.prototype
window.CustomEvent = CustomEvent window.CustomEvent = CustomEvent
})() })()
if (!Element.prototype.matches) { if (!Element.prototype.matches) {
Element.prototype.matches = Element.prototype.matches =
Element.prototype.msMatchesSelector || Element.prototype.msMatchesSelector ||
Element.prototype.webkitMatchesSelector; Element.prototype.webkitMatchesSelector;
} }
if (!Element.prototype.closest) { if (!Element.prototype.closest) {
Element.prototype.closest = function(s) { Element.prototype.closest = function(s) {
var el = this; var el = this;
do { do {
if (Element.prototype.matches.call(el, s)) return el; if (Element.prototype.matches.call(el, s)) return el;
el = el.parentElement || el.parentNode; el = el.parentElement || el.parentNode;
} while (el !== null && el.nodeType === 1); } while (el !== null && el.nodeType === 1);
return null; return null;
}; };
} }

View File

@ -1,28 +1,28 @@
import React from 'react' import React from 'react'
import { CLink } from '@coreui/react' import { CLink } from '@coreui/react'
const DocsLink = props => { const DocsLink = props => {
const { const {
name, name,
text, text,
...rest ...rest
} = props } = props
const href = name ? `https://coreui.io/react/docs/components/${name}` : props.href const href = name ? `https://coreui.io/react/docs/components/${name}` : props.href
return ( return (
<div className="card-header-actions"> <div className="card-header-actions">
<CLink <CLink
{...rest} {...rest}
href={href} href={href}
rel="noreferrer noopener" rel="noreferrer noopener"
target="_blank" target="_blank"
className="card-header-action" className="card-header-action"
> >
<small className="text-muted">{ text || 'docs' }</small> <small className="text-muted">{ text || 'docs' }</small>
</CLink> </CLink>
</div> </div>
) )
} }
export default React.memo(DocsLink) export default React.memo(DocsLink)

View File

@ -1,5 +1,5 @@
import DocsLink from './DocsLink' import DocsLink from './DocsLink'
export { export {
DocsLink DocsLink
} }

View File

@ -1,18 +1,18 @@
import React from 'react'; import React from 'react';
const Dashboard = React.lazy(() => import('./views/dashboard/Dashboard')); const Dashboard = React.lazy(() => import('./views/dashboard/Dashboard'));
const BoxDisplacemen = React.lazy(() => import('./views/BoxDisplacemen/index')); const BoxDisplacemen = React.lazy(() => import('./views/BoxDisplacemen/index'));
const Uploader = React.lazy(() => import('./views/Uploader/index')); const Uploader = React.lazy(() => import('./views/Uploader/index'));
const Secret = React.lazy(() => import('./views/secret/index')); const Secret = React.lazy(() => import('./views/secret/index'));
const Sso = React.lazy(() => import('./views/sso/index')); const Sso = React.lazy(() => import('./views/sso/index'));
const routes = [ const routes = [
{ path: '/', exact: true, name: 'Home' }, { path: '/', exact: true, name: 'Home' },
{ path: '/dashboard', name: 'ダッシュボード', component: Dashboard }, { path: '/dashboard', name: 'ダッシュボード', component: Dashboard },
{ path: '/reports', exact: true, name: 'レポート', component: BoxDisplacemen }, { path: '/reports', exact: true, name: 'レポート', component: BoxDisplacemen },
{ path: '/uploader', exact: true, name: 'アップロード', component: Uploader }, { path: '/uploader', exact: true, name: 'アップロード', component: Uploader },
{ path: '/secret', exact: true, name: 'アップロード', component: Secret }, { path: '/secret', exact: true, name: 'アップロード', component: Secret },
]; ];
export default routes; export default routes;

View File

@ -1 +1 @@
// Here you can add other styles // Here you can add other styles

View File

@ -1,16 +1,16 @@
// todo: disabled button styles // todo: disabled button styles
button { button {
&:disabled { &:disabled {
cursor: default; cursor: default;
} }
&.disabled { &.disabled {
cursor: default; cursor: default;
} }
} }
// todo: brand button icon margin // todo: brand button icon margin
.btn-brand:not(:only-child) { .btn-brand:not(:only-child) {
.c-icon { .c-icon {
margin-top: 0 !important; margin-top: 0 !important;
} }
} }

View File

@ -1 +1 @@
// Variable overrides // Variable overrides

View File

@ -1,11 +1,11 @@
// If you want to override variables do it here // If you want to override variables do it here
@import "variables"; @import "variables";
// Import CoreUI styles // Import CoreUI styles
@import "~@coreui/coreui/scss/coreui.scss"; @import "~@coreui/coreui/scss/coreui.scss";
// Some temp fixes // Some temp fixes
@import "fixes"; @import "fixes";
// If you want to add something do it here // If you want to add something do it here
@import "custom"; @import "custom";

View File

@ -1,127 +1,127 @@
// In production, we register a service worker to serve assets from local cache. // In production, we register a service worker to serve assets from local cache.
// This lets the app load faster on subsequent visits in production, and gives // This lets the app load faster on subsequent visits in production, and gives
// it offline capabilities. However, it also means that developers (and users) // it offline capabilities. However, it also means that developers (and users)
// will only see deployed updates on the "N+1" visit to a page, since previously // will only see deployed updates on the "N+1" visit to a page, since previously
// cached resources are updated in the background. // cached resources are updated in the background.
// To learn more about the benefits of this model, read https://goo.gl/KwvDNy. // To learn more about the benefits of this model, read https://goo.gl/KwvDNy.
// This link also includes instructions on opting out of this behavior. // This link also includes instructions on opting out of this behavior.
const isLocalhost = Boolean( const isLocalhost = Boolean(
window.location.hostname === 'localhost' || window.location.hostname === 'localhost' ||
// [::1] is the IPv6 localhost address. // [::1] is the IPv6 localhost address.
window.location.hostname === '[::1]' || window.location.hostname === '[::1]' ||
// 127.0.0.1/8 is considered localhost for IPv4. // 127.0.0.1/8 is considered localhost for IPv4.
window.location.hostname.match( window.location.hostname.match(
/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/ /^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/
) )
); );
export function register(config) { export function register(config) {
if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) { if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {
// The URL constructor is available in all browsers that support SW. // The URL constructor is available in all browsers that support SW.
const publicUrl = new URL(process.env.PUBLIC_URL, window.location); const publicUrl = new URL(process.env.PUBLIC_URL, window.location);
if (publicUrl.origin !== window.location.origin) { if (publicUrl.origin !== window.location.origin) {
// Our service worker won't work if PUBLIC_URL is on a different origin // Our service worker won't work if PUBLIC_URL is on a different origin
// from what our page is served on. This might happen if a CDN is used to // from what our page is served on. This might happen if a CDN is used to
// serve assets; see https://github.com/facebook/create-react-app/issues/2374 // serve assets; see https://github.com/facebook/create-react-app/issues/2374
return; return;
} }
window.addEventListener('load', () => { window.addEventListener('load', () => {
const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`; const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;
if (isLocalhost) { if (isLocalhost) {
// This is running on localhost. Let's check if a service worker still exists or not. // This is running on localhost. Let's check if a service worker still exists or not.
checkValidServiceWorker(swUrl, config); checkValidServiceWorker(swUrl, config);
// Add some additional logging to localhost, pointing developers to the // Add some additional logging to localhost, pointing developers to the
// service worker/PWA documentation. // service worker/PWA documentation.
navigator.serviceWorker.ready.then(() => { navigator.serviceWorker.ready.then(() => {
console.log( console.log(
'This web app is being served cache-first by a service ' + 'This web app is being served cache-first by a service ' +
'worker. To learn more, visit https://goo.gl/SC7cgQ' 'worker. To learn more, visit https://goo.gl/SC7cgQ'
); );
}); });
} else { } else {
// Is not local host. Just register service worker // Is not local host. Just register service worker
registerValidSW(swUrl, config); registerValidSW(swUrl, config);
} }
}); });
} }
} }
function registerValidSW(swUrl, config) { function registerValidSW(swUrl, config) {
navigator.serviceWorker navigator.serviceWorker
.register(swUrl) .register(swUrl)
.then(registration => { .then(registration => {
registration.onupdatefound = () => { registration.onupdatefound = () => {
const installingWorker = registration.installing; const installingWorker = registration.installing;
installingWorker.onstatechange = () => { installingWorker.onstatechange = () => {
if (installingWorker.state === 'installed') { if (installingWorker.state === 'installed') {
if (navigator.serviceWorker.controller) { if (navigator.serviceWorker.controller) {
// At this point, the old content will have been purged and // At this point, the old content will have been purged and
// the fresh content will have been added to the cache. // the fresh content will have been added to the cache.
// It's the perfect time to display a "New content is // It's the perfect time to display a "New content is
// available; please refresh." message in your web app. // available; please refresh." message in your web app.
console.log('New content is available; please refresh.'); console.log('New content is available; please refresh.');
// Execute callback // Execute callback
if (config.onUpdate) { if (config.onUpdate) {
config.onUpdate(registration); config.onUpdate(registration);
} }
} else { } else {
// At this point, everything has been precached. // At this point, everything has been precached.
// It's the perfect time to display a // It's the perfect time to display a
// "Content is cached for offline use." message. // "Content is cached for offline use." message.
console.log('Content is cached for offline use.'); console.log('Content is cached for offline use.');
// Execute callback // Execute callback
if (config.onSuccess) { if (config.onSuccess) {
config.onSuccess(registration); config.onSuccess(registration);
} }
} }
} }
}; };
}; };
}) })
.catch(error => { .catch(error => {
console.error('Error during service worker registration:', error); console.error('Error during service worker registration:', error);
}); });
} }
function checkValidServiceWorker(swUrl, config) { function checkValidServiceWorker(swUrl, config) {
// Check if the service worker can be found. If it can't reload the page. // Check if the service worker can be found. If it can't reload the page.
fetch(swUrl) fetch(swUrl)
.then(response => { .then(response => {
// Ensure service worker exists, and that we really are getting a JS file. // Ensure service worker exists, and that we really are getting a JS file.
if ( if (
response.status === 404 || response.status === 404 ||
response.headers.get('content-type').indexOf('javascript') === -1 response.headers.get('content-type').indexOf('javascript') === -1
) { ) {
// No service worker found. Probably a different app. Reload the page. // No service worker found. Probably a different app. Reload the page.
navigator.serviceWorker.ready.then(registration => { navigator.serviceWorker.ready.then(registration => {
registration.unregister().then(() => { registration.unregister().then(() => {
window.location.reload(); window.location.reload();
}); });
}); });
} else { } else {
// Service worker found. Proceed as normal. // Service worker found. Proceed as normal.
registerValidSW(swUrl, config); registerValidSW(swUrl, config);
} }
}) })
.catch(() => { .catch(() => {
console.log( console.log(
'No internet connection found. App is running in offline mode.' 'No internet connection found. App is running in offline mode.'
); );
}); });
} }
export function unregister() { export function unregister() {
if ('serviceWorker' in navigator) { if ('serviceWorker' in navigator) {
navigator.serviceWorker.ready.then(registration => { navigator.serviceWorker.ready.then(registration => {
registration.unregister(); registration.unregister();
}); });
} }
} }

View File

@ -1,15 +1,15 @@
import {configure} from 'enzyme'; import {configure} from 'enzyme';
import Adapter from '@wojtekmaj/enzyme-adapter-react-17'; import Adapter from '@wojtekmaj/enzyme-adapter-react-17';
configure({adapter: new Adapter()}); configure({adapter: new Adapter()});
if (global.document) { if (global.document) {
document.createRange = () => ({ document.createRange = () => ({
setStart: () => {}, setStart: () => {},
setEnd: () => {}, setEnd: () => {},
commonAncestorContainer: { commonAncestorContainer: {
nodeName: 'BODY', nodeName: 'BODY',
ownerDocument: document, ownerDocument: document,
}, },
}); });
} }

View File

@ -1,17 +1,17 @@
import { createStore } from 'redux' import { createStore } from 'redux'
const initialState = { const initialState = {
sidebarShow: 'responsive' sidebarShow: 'responsive'
} }
const changeState = (state = initialState, { type, ...rest }) => { const changeState = (state = initialState, { type, ...rest }) => {
switch (type) { switch (type) {
case 'set': case 'set':
return {...state, ...rest } return {...state, ...rest }
default: default:
return state return state
} }
} }
const store = createStore(changeState) const store = createStore(changeState)
export default store export default store

View File

@ -1,300 +1,300 @@
import React, { useState, useEffect } from 'react'; import React, { useState, useEffect } from 'react';
import axios from 'axios'; import axios from 'axios';
import { import {
CCard, CCard,
CCardBody, CCardBody,
CCardHeader, CCardHeader,
CCol, CCol,
CRow, CRow,
CDropdown, CDropdown,
CDropdownDivider, CDropdownDivider,
CDropdownItem, CDropdownItem,
CDropdownMenu, CDropdownMenu,
CDropdownToggle, CDropdownToggle,
///// /////
CButton, CButton,
CCardFooter, CCardFooter,
CForm, CForm,
CFormGroup, CFormGroup,
CFormText, CFormText,
CTextarea, CTextarea,
CInput, CInput,
CInputFile, CInputFile,
CInputCheckbox, CInputCheckbox,
CInputRadio, CInputRadio,
CLabel, CLabel,
CSelect, CSelect,
CSwitch, CSwitch,
} from '@coreui/react' } from '@coreui/react'
import CIcon from '@coreui/icons-react' import CIcon from '@coreui/icons-react'
import DatePicker from "react-datepicker"; import DatePicker from "react-datepicker";
import "react-datepicker/dist/react-datepicker.css"; import "react-datepicker/dist/react-datepicker.css";
function Index() { function Index() {
const baseUrl = "https://natnats.mobilous.com/"; const baseUrl = "https://natnats.mobilous.com/";
const [data, setData] = useState([]); const [data, setData] = useState([]);
const [report, setReport] = useState(''); const [report, setReport] = useState('');
const [selectedcons, setSelectedCons] = useState(''); const [selectedcons, setSelectedCons] = useState('');
const [graph, setGraph] = useState(false); const [graph, setGraph] = useState(false);
const [startDate, setStartDate] = useState(null); const [startDate, setStartDate] = useState(null);
const [validDates, setValidDates] = useState([]); const [validDates, setValidDates] = useState([]);
const [downloadUrl, setDownloadUrl] = useState(''); const [downloadUrl, setDownloadUrl] = useState('');
useEffect(() => { useEffect(() => {
async function fetchData() { async function fetchData() {
// You can await here // You can await here
const result = await axios('https://natnats.mobilous.com/getConstructionList'); const result = await axios('https://natnats.mobilous.com/getConstructionList');
setData(result.data); setData(result.data);
} }
fetchData(); fetchData();
}, []); }, []);
useEffect(() => { useEffect(() => {
async function fetchData() { async function fetchData() {
// You can await here // You can await here
if(selectedcons !== "" && report !== "" && isDate() == true) { if(selectedcons !== "" && report !== "" && isDate() == true) {
const result = await axios('https://fbssso.ts.bizside.biz/getDateToHaveData?construction_id=' + selectedcons + '&sheetname=' + report); const result = await axios('https://fbssso.ts.bizside.biz/getDateToHaveData?construction_id=' + selectedcons + '&sheetname=' + report);
setValidDates(result.data.record); setValidDates(result.data.record);
} }
} }
fetchData(); fetchData();
}, [report, selectedcons]); }, [report, selectedcons]);
function getDateWithFormat(date) { function getDateWithFormat(date) {
var thisDate = date; var thisDate = date;
var dd = String(date.getDate()).padStart(2, '0'); var dd = String(date.getDate()).padStart(2, '0');
var mm = String(date.getMonth() + 1).padStart(2, '0'); //January is 0! var mm = String(date.getMonth() + 1).padStart(2, '0'); //January is 0!
var yyyy = date.getFullYear(); var yyyy = date.getFullYear();
thisDate = yyyy + '-' + mm + '-' + dd thisDate = yyyy + '-' + mm + '-' + dd
return thisDate; return thisDate;
} }
function setingReport(e){ function setingReport(e){
setReport(e.target.value); setReport(e.target.value);
setStartDate(null); setStartDate(null);
setDownloadUrl(''); setDownloadUrl('');
} }
function setingSelectedCons(e) { function setingSelectedCons(e) {
setSelectedCons(e.target.value); setSelectedCons(e.target.value);
setStartDate(null); setStartDate(null);
setDownloadUrl(''); setDownloadUrl('');
} }
function setingGraph(e){ function setingGraph(e){
console.log("setting report" + downloadUrl); console.log("setting report" + downloadUrl);
setGraph(e.target.checked); setGraph(e.target.checked);
setDownloadUrl(''); setDownloadUrl('');
} }
function doGetReport(){ function doGetReport(){
console.log(isDownload()); console.log(isDownload());
console.log(downloadUrl); console.log(downloadUrl);
if(report == "" || selectedcons == ""){ if(report == "" || selectedcons == ""){
alert("建設とレポートの両方を選択してください"); alert("建設とレポートの両方を選択してください");
return; return;
} }
var url = ""; var url = "";
if(startDate !== null){ if(startDate !== null){
if(graph){ if(graph){
url = baseUrl + "/generate" + report + "?construction_id=" +selectedcons+ "&construction_date="+getDateWithFormat(startDate)+"&graph=true"; url = baseUrl + "/generate" + report + "?construction_id=" +selectedcons+ "&construction_date="+getDateWithFormat(startDate)+"&graph=true";
} }
else{ else{
url = baseUrl + "/generate" + report + "?construction_id=" +selectedcons+ "&construction_date="+getDateWithFormat(startDate); url = baseUrl + "/generate" + report + "?construction_id=" +selectedcons+ "&construction_date="+getDateWithFormat(startDate);
} }
setDownloadUrl(url); setDownloadUrl(url);
//downloadReport(url); //downloadReport(url);
} }
else { else {
if(graph){ if(graph){
url = baseUrl + "/generate" + report + "?construction_id=" +selectedcons+"&graph=true"; url = baseUrl + "/generate" + report + "?construction_id=" +selectedcons+"&graph=true";
} }
else{ else{
url = baseUrl + "/generate" + report + "?construction_id=" +selectedcons; url = baseUrl + "/generate" + report + "?construction_id=" +selectedcons;
} }
setDownloadUrl(url); setDownloadUrl(url);
//downloadReport(url); //downloadReport(url);
} }
} }
// function downloadReport(url) { // function downloadReport(url) {
// console.log(url); // console.log(url);
// fetch(url) // fetch(url)
// .then(response => { // .then(response => {
// console.log(response) // console.log(response)
// const filename = response.headers.get('Content-Disposition').split('filename=')[1]; // const filename = response.headers.get('Content-Disposition').split('filename=')[1];
// response.blob().then(blob => { // response.blob().then(blob => {
// let url = window.URL.createObjectURL(blob); // let url = window.URL.createObjectURL(blob);
// let a = document.createElement('a'); // let a = document.createElement('a');
// a.href = url; // a.href = url;
// a.download = filename; // a.download = filename;
// a.click(); // a.click();
// }); // });
// }); // });
// } // }
// function downloadReport(url) { // function downloadReport(url) {
// axios({ // axios({
// url: url, //your url // url: url, //your url
// method: 'GET', // method: 'GET',
// responseType: 'blob', // important // responseType: 'blob', // important
// }).then((response) => { // }).then((response) => {
// // const url = window.URL.createObjectURL(new Blob([response.data])); // // const url = window.URL.createObjectURL(new Blob([response.data]));
// // const link = document.createElement('a'); // // const link = document.createElement('a');
// // link.href = url; // // link.href = url;
// // //link.setAttribute('download', 'file.xls'); //or any other extension // // //link.setAttribute('download', 'file.xls'); //or any other extension
// // //document.body.appendChild(link); // // //document.body.appendChild(link);
// // link.click(); // // link.click();
// const filename = response.headers // const filename = response.headers
// .get("content-disposition") // .get("content-disposition")
// .split('"')[1]; // .split('"')[1];
// const text = response.text(); // const text = response.text();
// console.log(filename) // console.log(filename)
// console.log(text) // console.log(text)
// //return { filename, text }; // //return { filename, text };
// }); // });
// } // }
const checkAvilable = (date) => { const checkAvilable = (date) => {
if(validDates === undefined){ if(validDates === undefined){
return false; return false;
} }
var thisDate = getDateWithFormat(date); var thisDate = getDateWithFormat(date);
if(validDates.includes(thisDate)){ if(validDates.includes(thisDate)){
return true; return true;
} }
else{ else{
return false; return false;
} }
}; };
function isDownload() { function isDownload() {
if(isDate() === false && report !== '' && selectedcons !== '') { if(isDate() === false && report !== '' && selectedcons !== '') {
return true; return true;
} }
else{ else{
if(startDate !== null) { if(startDate !== null) {
return true; return true;
} }
} }
return false; return false;
} }
function isDate() { function isDate() {
if(report === 'BoxDisplacement' || report === 'MachineControl' || report === 'MachineSheet'){ if(report === 'BoxDisplacement' || report === 'MachineControl' || report === 'MachineSheet'){
return true; return true;
} }
else { else {
return false; return false;
} }
} }
return ( return (
<CRow> <CRow>
<CCol xs="12" sm="12" md="12"> <CCol xs="12" sm="12" md="12">
<CCard> <CCard>
<CCardHeader> <CCardHeader>
レポート レポート
</CCardHeader> </CCardHeader>
<CCardBody> <CCardBody>
<CSelect custom name="cons_select" id="cons_select" onChange={setingSelectedCons}> <CSelect custom name="cons_select" id="cons_select" onChange={setingSelectedCons}>
" <option value=''>-- 工事名 --</option>"+ " <option value=''>-- 工事名 --</option>"+
{ {
data.map((cc, index) => { data.map((cc, index) => {
return( return(
<option key={cc.construction_id} value={cc.construction_id}>{cc.construction_name}</option> <option key={cc.construction_id} value={cc.construction_id}>{cc.construction_name}</option>
) )
}) })
} }
</CSelect> </CSelect>
<CCard> <CCard>
<CCardBody> <CCardBody>
<CForm action="" method="post" encType="multipart/form-data" className="form-horizontal"> <CForm action="" method="post" encType="multipart/form-data" className="form-horizontal">
<CFormGroup row> <CFormGroup row>
<CCol md="3"> <CCol md="3">
<CLabel htmlFor="select">レポート種類</CLabel> <CLabel htmlFor="select">レポート種類</CLabel>
</CCol> </CCol>
<CCol xs="12" md="9"> <CCol xs="12" md="9">
<CSelect custom name="select" id="select" onChange={setingReport} value={report}> <CSelect custom name="select" id="select" onChange={setingReport} value={report}>
<option value="">-- レポート種類 --</option> <option value="">-- レポート種類 --</option>
<option value="BoxDisplacement">函体変位表</option> <option value="BoxDisplacement">函体変位表</option>
<option value="MachineControl">オープンシールドマシン管理日報</option> <option value="MachineControl">オープンシールドマシン管理日報</option>
<option value="Measurement">函底高偏位量測定一覧表</option> <option value="Measurement">函底高偏位量測定一覧表</option>
<option value="CheckSheet">工程内検査表</option> <option value="CheckSheet">工程内検査表</option>
<option value="Injection">裏込注入材料受払い簿</option> <option value="Injection">裏込注入材料受払い簿</option>
</CSelect> </CSelect>
</CCol> </CCol>
</CFormGroup> </CFormGroup>
{isDate() === true ? {isDate() === true ?
<CFormGroup row> <CFormGroup row>
<CCol md="3"> <CCol md="3">
<CLabel htmlFor="select">報告日</CLabel> <CLabel htmlFor="select">報告日</CLabel>
</CCol> </CCol>
<CCol xs="12" md="9"> <CCol xs="12" md="9">
<DatePicker <DatePicker
dateFormat="yyyy/MM/dd" dateFormat="yyyy/MM/dd"
selected={startDate} selected={startDate}
onChange={(date) => setStartDate(date)} onChange={(date) => setStartDate(date)}
filterDate={checkAvilable} filterDate={checkAvilable}
placeholderText='日付を選択' placeholderText='日付を選択'
/> />
</CCol> </CCol>
</CFormGroup> </CFormGroup>
: :
<div></div> <div></div>
} }
{report == 'MachineControl' ? {report == 'MachineControl' ?
<CFormGroup variant="checkbox" className="checkbox"> <CFormGroup variant="checkbox" className="checkbox">
<CInputCheckbox <CInputCheckbox
id="checkbox1" id="checkbox1"
name="checkbox1" name="checkbox1"
checked = {graph} checked = {graph}
value='graph' value='graph'
onChange={setingGraph} onChange={setingGraph}
/> />
<CLabel variant="checkbox" className="form-check-label" htmlFor="checkbox1">グラフの有無</CLabel> <CLabel variant="checkbox" className="form-check-label" htmlFor="checkbox1">グラフの有無</CLabel>
</CFormGroup> </CFormGroup>
: :
("")} ("")}
</CForm> </CForm>
</CCardBody> </CCardBody>
<CCardFooter> <CCardFooter>
{isDownload() === true ? {isDownload() === true ?
<p> <p>
<CButton type="submit" size="sm" color="primary" onClick={doGetReport}><CIcon name="cil-scrubber" /> ダウンロード</CButton> <CButton type="submit" size="sm" color="primary" onClick={doGetReport}><CIcon name="cil-scrubber" /> ダウンロード</CButton>
<br/> <br/>
{downloadUrl === '' ? {downloadUrl === '' ?
<p></p> <p></p>
: :
<a href={downloadUrl}>Download</a> <a href={downloadUrl}>Download</a>
} }
</p> </p>
: :
<CButton disabled type="submit" size="sm" color="primary" onClick={doGetReport}><CIcon name="cil-scrubber" /> ダウンロード</CButton> <CButton disabled type="submit" size="sm" color="primary" onClick={doGetReport}><CIcon name="cil-scrubber" /> ダウンロード</CButton>
} }
</CCardFooter> </CCardFooter>
</CCard> </CCard>
</CCardBody> </CCardBody>
</CCard> </CCard>
</CCol> </CCol>
<CCol xs="1" sm="1" md="1"> <CCol xs="1" sm="1" md="1">
</CCol> </CCol>
</CRow> </CRow>
); );
} }
export default Index export default Index

View File

@ -1,17 +1,17 @@
import React from 'react' import React from 'react'
import PropTypes from 'prop-types' import PropTypes from 'prop-types'
function Injecttion(props) { function Injecttion(props) {
return ( return (
<div> <div>
Injection Injection
</div> </div>
) )
} }
Injecttion.propTypes = { Injecttion.propTypes = {
} }
export default Injecttion export default Injecttion

View File

@ -1,11 +1,11 @@
import React from 'react' import React from 'react'
function MachineControl() { function MachineControl() {
return ( return (
<div> <div>
Machine Control Machine Control
</div> </div>
) )
} }
export default MachineControl export default MachineControl

View File

@ -1,11 +1,11 @@
import React from 'react' import React from 'react'
function MachineSheet() { function MachineSheet() {
return ( return (
<div> <div>
Machine Sheet Machine Sheet
</div> </div>
) )
} }
export default MachineSheet export default MachineSheet

View File

@ -1,11 +1,11 @@
import React from 'react' import React from 'react'
function index() { function index() {
return ( return (
<div> <div>
Measurement Measurement
</div> </div>
) )
} }
export default index export default index

View File

@ -1,86 +1,86 @@
import React, { useState, useEffect } from 'react'; import React, { useState, useEffect } from 'react';
import axios from 'axios'; import axios from 'axios';
import { import {
CCol, CCol,
CFormGroup, CFormGroup,
CInput, CInput,
CInputFile, CInputFile,
CLabel, CLabel,
CButton, CButton,
CCard, CCard,
CCardHeader, CCardHeader,
CCardBody, CCardBody,
CCardFooter, CCardFooter,
} from '@coreui/react' } from '@coreui/react'
import CIcon from '@coreui/icons-react' import CIcon from '@coreui/icons-react'
function Uploader(props) { function Uploader(props) {
const [file, setFile] = useState(null); const [file, setFile] = useState(null);
function onChangeHandler(e) { function onChangeHandler(e) {
setFile(e.target.files[0]) setFile(e.target.files[0])
} }
function onClickHandler(e) { function onClickHandler(e) {
let data = new FormData() let data = new FormData()
data.append('file', file); data.append('file', file);
const chk = file.name.trim(); const chk = file.name.trim();
const collator = new Intl.Collator('ja'); const collator = new Intl.Collator('ja');
const order1 = collator.compare('ini_工程内検査票.xlsx', chk); const order1 = collator.compare('ini_工程内検査票.xlsx', chk);
const order2 = collator.compare('ini_データ入力シート.xlsx', chk); const order2 = collator.compare('ini_データ入力シート.xlsx', chk);
if(order1 === 0 || order2 === 0) if(order1 === 0 || order2 === 0)
{ {
// axios.post("https://fsbsso.sumasen.net/upload?email=" + props.email, { // axios.post("https://fsbsso.sumasen.net/upload?email=" + props.email, {
// body: data, // body: data,
// headers: {'Content-Type': 'multipart/form-data' } // headers: {'Content-Type': 'multipart/form-data' }
// }) // })
axios.post("https://fbssso.ts.bizside.biz/upload?email=" + props.email, data) axios.post("https://fbssso.ts.bizside.biz/upload?email=" + props.email, data)
.then(res => { // then print response status .then(res => { // then print response status
console.log(res.statusText) console.log(res.statusText)
if (res.statusText == 'OK') { if (res.statusText == 'OK') {
alert("正常にアップロードされました"); alert("正常にアップロードされました");
} }
else if(res.status == 204){ else if(res.status == 204){
alert("初期設定の読み込みに失敗しました"); alert("初期設定の読み込みに失敗しました");
} }
}); });
} }
else { else {
alert("指定されたファイル名" + file.name + "が間違っています。ini_工程内検査表.xlsx または ini_データ入力シート.xlsx のどちらかに名前を変更してください。"); alert("指定されたファイル名" + file.name + "が間違っています。ini_工程内検査表.xlsx または ini_データ入力シート.xlsx のどちらかに名前を変更してください。");
return return
} }
//console.log(file.name); //console.log(file.name);
//console.log('calling upload'); //console.log('calling upload');
} }
return ( return (
<div> <div>
<CCard > <CCard >
<CCardHeader> <CCardHeader>
アップロード アップロード
</CCardHeader> </CCardHeader>
<CCardBody > <CCardBody >
<CFormGroup row> <CFormGroup row>
<CCol md = "3"> <CCol md = "3">
<CLabel htmlFor = "date-input" > アップロードするファイルを選んでください < /CLabel> <CLabel htmlFor = "date-input" > アップロードするファイルを選んでください < /CLabel>
</CCol > </CCol >
<CCol xs = "12"md = "9" > <CCol xs = "12"md = "9" >
<CInputFile type = "file"onChange = { onChangeHandler } id = "file-input" name = "file-input" / > <CInputFile type = "file"onChange = { onChangeHandler } id = "file-input" name = "file-input" / >
</CCol> </CCol>
</CFormGroup > </CFormGroup >
<CCardFooter > <CCardFooter >
<CButton type = "submit" <CButton type = "submit"
onClick = { onClickHandler } onClick = { onClickHandler }
size = "sm" size = "sm"
color = "primary" > < CIcon name = "cil-scrubber" / > アップロード </CButton> color = "primary" > < CIcon name = "cil-scrubber" / > アップロード </CButton>
</CCardFooter> </CCardFooter>
</CCardBody> </CCardBody>
</CCard> </CCard>
</div> </div>
) )
} }
export default Uploader export default Uploader

View File

@ -1,36 +1,36 @@
import React, { lazy } from 'react' import React, { lazy } from 'react'
import CIcon from '@coreui/icons-react' import CIcon from '@coreui/icons-react'
import { import {
CCol, CCol,
CFormGroup, CFormGroup,
CInput, CInput,
CInputFile, CInputFile,
CLabel, CLabel,
CButton, CButton,
CCard, CCard,
CCardHeader, CCardHeader,
CCardBody, CCardBody,
CCardFooter, CCardFooter,
} from '@coreui/react' } from '@coreui/react'
const Dashboard = (props) => { const Dashboard = (props) => {
return ( return (
<div > <div >
<CCard className="bg-info"> <CCard className="bg-info">
<CCardBody > <CCardBody >
<div className="text-white text-center card bg-info"> <div className="text-white text-center card bg-info">
<div className="card-body"> <div className="card-body">
<blockquote className="card-bodyquote"> <blockquote className="card-bodyquote">
<h3>ワンタイムパスワード :{props.userid}</h3> <h3>ワンタイムパスワード :{props.userid}</h3>
<a target="_blank" href="https://natnats.mobilous.com/appexe/natnats/23/bin/mobileweb2/index.html#page_44022"><h1>FBS Web app</h1></a> <a target="_blank" href="https://natnats.mobilous.com/appexe/natnats/23/bin/mobileweb2/index.html#page_44022"><h1>FBS Web app</h1></a>
</blockquote> </blockquote>
</div> </div>
</div> </div>
</CCardBody> </CCardBody>
</CCard> </CCard>
</div> </div>
) )
} }
export default Dashboard export default Dashboard

View File

@ -1,10 +1,10 @@
import * as React from 'react'; import * as React from 'react';
function Downloader(props) { function Downloader(props) {
return ( return (
<div style={{display: 'none'}}> <div style={{display: 'none'}}>
<iframe src={props.iframeSrc} /> <iframe src={props.iframeSrc} />
</div> </div>
); );
} }
export default Downloader export default Downloader

View File

@ -1,78 +1,78 @@
import React from 'react' import React from 'react'
import { Link } from 'react-router-dom' import { Link } from 'react-router-dom'
import { import {
CButton, CButton,
CCard, CCard,
CCardBody, CCardBody,
CCardGroup, CCardGroup,
CCol, CCol,
CContainer, CContainer,
CForm, CForm,
CInput, CInput,
CInputGroup, CInputGroup,
CInputGroupPrepend, CInputGroupPrepend,
CInputGroupText, CInputGroupText,
CRow CRow
} from '@coreui/react' } from '@coreui/react'
import CIcon from '@coreui/icons-react' import CIcon from '@coreui/icons-react'
const Login = () => { const Login = () => {
return ( return (
<div className="c-app c-default-layout flex-row align-items-center"> <div className="c-app c-default-layout flex-row align-items-center">
<CContainer> <CContainer>
<CRow className="justify-content-center"> <CRow className="justify-content-center">
<CCol md="8"> <CCol md="8">
<CCardGroup> <CCardGroup>
<CCard className="p-4"> <CCard className="p-4">
<CCardBody> <CCardBody>
<CForm> <CForm>
<h1>Login</h1> <h1>Login</h1>
<p className="text-muted">Sign In to your account</p> <p className="text-muted">Sign In to your account</p>
<CInputGroup className="mb-3"> <CInputGroup className="mb-3">
<CInputGroupPrepend> <CInputGroupPrepend>
<CInputGroupText> <CInputGroupText>
<CIcon name="cil-user" /> <CIcon name="cil-user" />
</CInputGroupText> </CInputGroupText>
</CInputGroupPrepend> </CInputGroupPrepend>
<CInput type="text" placeholder="Username" autoComplete="username" /> <CInput type="text" placeholder="Username" autoComplete="username" />
</CInputGroup> </CInputGroup>
<CInputGroup className="mb-4"> <CInputGroup className="mb-4">
<CInputGroupPrepend> <CInputGroupPrepend>
<CInputGroupText> <CInputGroupText>
<CIcon name="cil-lock-locked" /> <CIcon name="cil-lock-locked" />
</CInputGroupText> </CInputGroupText>
</CInputGroupPrepend> </CInputGroupPrepend>
<CInput type="password" placeholder="Password" autoComplete="current-password" /> <CInput type="password" placeholder="Password" autoComplete="current-password" />
</CInputGroup> </CInputGroup>
<CRow> <CRow>
<CCol xs="6"> <CCol xs="6">
<CButton color="primary" className="px-4">Login</CButton> <CButton color="primary" className="px-4">Login</CButton>
</CCol> </CCol>
<CCol xs="6" className="text-right"> <CCol xs="6" className="text-right">
<CButton color="link" className="px-0">Forgot password?</CButton> <CButton color="link" className="px-0">Forgot password?</CButton>
</CCol> </CCol>
</CRow> </CRow>
</CForm> </CForm>
</CCardBody> </CCardBody>
</CCard> </CCard>
<CCard className="text-white bg-primary py-5 d-md-down-none" style={{ width: '44%' }}> <CCard className="text-white bg-primary py-5 d-md-down-none" style={{ width: '44%' }}>
<CCardBody className="text-center"> <CCardBody className="text-center">
<div> <div>
<h2>Sign up</h2> <h2>Sign up</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut
labore et dolore magna aliqua.</p> labore et dolore magna aliqua.</p>
<Link to="/register"> <Link to="/register">
<CButton color="primary" className="mt-3" active tabIndex={-1}>Register Now!</CButton> <CButton color="primary" className="mt-3" active tabIndex={-1}>Register Now!</CButton>
</Link> </Link>
</div> </div>
</CCardBody> </CCardBody>
</CCard> </CCard>
</CCardGroup> </CCardGroup>
</CCol> </CCol>
</CRow> </CRow>
</CContainer> </CContainer>
</div> </div>
) )
} }
export default Login export default Login

View File

@ -1,44 +1,44 @@
import React from 'react' import React from 'react'
import { import {
CButton, CButton,
CCol, CCol,
CContainer, CContainer,
CInput, CInput,
CInputGroup, CInputGroup,
CInputGroupPrepend, CInputGroupPrepend,
CInputGroupAppend, CInputGroupAppend,
CInputGroupText, CInputGroupText,
CRow CRow
} from '@coreui/react' } from '@coreui/react'
import CIcon from '@coreui/icons-react' import CIcon from '@coreui/icons-react'
const Page404 = () => { const Page404 = () => {
return ( return (
<div className="c-app c-default-layout flex-row align-items-center"> <div className="c-app c-default-layout flex-row align-items-center">
<CContainer> <CContainer>
<CRow className="justify-content-center"> <CRow className="justify-content-center">
<CCol md="6"> <CCol md="6">
<div className="clearfix"> <div className="clearfix">
<h1 className="float-left display-3 mr-4">404</h1> <h1 className="float-left display-3 mr-4">404</h1>
<h4 className="pt-3">Oops! You{'\''}re lost.</h4> <h4 className="pt-3">Oops! You{'\''}re lost.</h4>
<p className="text-muted float-left">The page you are looking for was not found.</p> <p className="text-muted float-left">The page you are looking for was not found.</p>
</div> </div>
<CInputGroup className="input-prepend"> <CInputGroup className="input-prepend">
<CInputGroupPrepend> <CInputGroupPrepend>
<CInputGroupText> <CInputGroupText>
<CIcon name="cil-magnifying-glass" /> <CIcon name="cil-magnifying-glass" />
</CInputGroupText> </CInputGroupText>
</CInputGroupPrepend> </CInputGroupPrepend>
<CInput size="16" type="text" placeholder="What are you looking for?" /> <CInput size="16" type="text" placeholder="What are you looking for?" />
<CInputGroupAppend> <CInputGroupAppend>
<CButton color="info">Search</CButton> <CButton color="info">Search</CButton>
</CInputGroupAppend> </CInputGroupAppend>
</CInputGroup> </CInputGroup>
</CCol> </CCol>
</CRow> </CRow>
</CContainer> </CContainer>
</div> </div>
) )
} }
export default Page404 export default Page404

View File

@ -1,44 +1,44 @@
import React from 'react' import React from 'react'
import { import {
CButton, CButton,
CCol, CCol,
CContainer, CContainer,
CInput, CInput,
CInputGroup, CInputGroup,
CInputGroupAppend, CInputGroupAppend,
CInputGroupPrepend, CInputGroupPrepend,
CInputGroupText, CInputGroupText,
CRow CRow
} from '@coreui/react' } from '@coreui/react'
import CIcon from '@coreui/icons-react' import CIcon from '@coreui/icons-react'
const Page500 = () => { const Page500 = () => {
return ( return (
<div className="c-app c-default-layout flex-row align-items-center"> <div className="c-app c-default-layout flex-row align-items-center">
<CContainer> <CContainer>
<CRow className="justify-content-center"> <CRow className="justify-content-center">
<CCol md="6"> <CCol md="6">
<span className="clearfix"> <span className="clearfix">
<h1 className="float-left display-3 mr-4">500</h1> <h1 className="float-left display-3 mr-4">500</h1>
<h4 className="pt-3">Houston, we have a problem!</h4> <h4 className="pt-3">Houston, we have a problem!</h4>
<p className="text-muted float-left">The page you are looking for is temporarily unavailable.</p> <p className="text-muted float-left">The page you are looking for is temporarily unavailable.</p>
</span> </span>
<CInputGroup className="input-prepend"> <CInputGroup className="input-prepend">
<CInputGroupPrepend> <CInputGroupPrepend>
<CInputGroupText> <CInputGroupText>
<CIcon name="cil-magnifying-glass" /> <CIcon name="cil-magnifying-glass" />
</CInputGroupText> </CInputGroupText>
</CInputGroupPrepend> </CInputGroupPrepend>
<CInput size="16" type="text" placeholder="What are you looking for?" /> <CInput size="16" type="text" placeholder="What are you looking for?" />
<CInputGroupAppend> <CInputGroupAppend>
<CButton color="info">Search</CButton> <CButton color="info">Search</CButton>
</CInputGroupAppend> </CInputGroupAppend>
</CInputGroup> </CInputGroup>
</CCol> </CCol>
</CRow> </CRow>
</CContainer> </CContainer>
</div> </div>
) )
} }
export default Page500 export default Page500

View File

@ -1,80 +1,80 @@
import React from 'react' import React from 'react'
import { import {
CButton, CButton,
CCard, CCard,
CCardBody, CCardBody,
CCardFooter, CCardFooter,
CCol, CCol,
CContainer, CContainer,
CForm, CForm,
CInput, CInput,
CInputGroup, CInputGroup,
CInputGroupPrepend, CInputGroupPrepend,
CInputGroupText, CInputGroupText,
CRow CRow
} from '@coreui/react' } from '@coreui/react'
import CIcon from '@coreui/icons-react' import CIcon from '@coreui/icons-react'
const Register = () => { const Register = () => {
return ( return (
<div className="c-app c-default-layout flex-row align-items-center"> <div className="c-app c-default-layout flex-row align-items-center">
<CContainer> <CContainer>
<CRow className="justify-content-center"> <CRow className="justify-content-center">
<CCol md="9" lg="7" xl="6"> <CCol md="9" lg="7" xl="6">
<CCard className="mx-4"> <CCard className="mx-4">
<CCardBody className="p-4"> <CCardBody className="p-4">
<CForm> <CForm>
<h1>Register</h1> <h1>Register</h1>
<p className="text-muted">Create your account</p> <p className="text-muted">Create your account</p>
<CInputGroup className="mb-3"> <CInputGroup className="mb-3">
<CInputGroupPrepend> <CInputGroupPrepend>
<CInputGroupText> <CInputGroupText>
<CIcon name="cil-user" /> <CIcon name="cil-user" />
</CInputGroupText> </CInputGroupText>
</CInputGroupPrepend> </CInputGroupPrepend>
<CInput type="text" placeholder="Username" autoComplete="username" /> <CInput type="text" placeholder="Username" autoComplete="username" />
</CInputGroup> </CInputGroup>
<CInputGroup className="mb-3"> <CInputGroup className="mb-3">
<CInputGroupPrepend> <CInputGroupPrepend>
<CInputGroupText>@</CInputGroupText> <CInputGroupText>@</CInputGroupText>
</CInputGroupPrepend> </CInputGroupPrepend>
<CInput type="text" placeholder="Email" autoComplete="email" /> <CInput type="text" placeholder="Email" autoComplete="email" />
</CInputGroup> </CInputGroup>
<CInputGroup className="mb-3"> <CInputGroup className="mb-3">
<CInputGroupPrepend> <CInputGroupPrepend>
<CInputGroupText> <CInputGroupText>
<CIcon name="cil-lock-locked" /> <CIcon name="cil-lock-locked" />
</CInputGroupText> </CInputGroupText>
</CInputGroupPrepend> </CInputGroupPrepend>
<CInput type="password" placeholder="Password" autoComplete="new-password" /> <CInput type="password" placeholder="Password" autoComplete="new-password" />
</CInputGroup> </CInputGroup>
<CInputGroup className="mb-4"> <CInputGroup className="mb-4">
<CInputGroupPrepend> <CInputGroupPrepend>
<CInputGroupText> <CInputGroupText>
<CIcon name="cil-lock-locked" /> <CIcon name="cil-lock-locked" />
</CInputGroupText> </CInputGroupText>
</CInputGroupPrepend> </CInputGroupPrepend>
<CInput type="password" placeholder="Repeat password" autoComplete="new-password" /> <CInput type="password" placeholder="Repeat password" autoComplete="new-password" />
</CInputGroup> </CInputGroup>
<CButton color="success" block>Create Account</CButton> <CButton color="success" block>Create Account</CButton>
</CForm> </CForm>
</CCardBody> </CCardBody>
<CCardFooter className="p-4"> <CCardFooter className="p-4">
<CRow> <CRow>
<CCol xs="12" sm="6"> <CCol xs="12" sm="6">
<CButton className="btn-facebook mb-1" block><span>facebook</span></CButton> <CButton className="btn-facebook mb-1" block><span>facebook</span></CButton>
</CCol> </CCol>
<CCol xs="12" sm="6"> <CCol xs="12" sm="6">
<CButton className="btn-twitter mb-1" block><span>twitter</span></CButton> <CButton className="btn-twitter mb-1" block><span>twitter</span></CButton>
</CCol> </CCol>
</CRow> </CRow>
</CCardFooter> </CCardFooter>
</CCard> </CCard>
</CCol> </CCol>
</CRow> </CRow>
</CContainer> </CContainer>
</div> </div>
) )
} }
export default Register export default Register

View File

@ -1,11 +1,11 @@
import React from 'react' import React from 'react'
function Secret() { function Secret() {
return ( return (
<div> <div>
This is a protected page This is a protected page
</div> </div>
) )
} }
export default Secret export default Secret

View File

@ -1,63 +1,68 @@
import React from 'react' import React from 'react'
import axios from 'axios'; import axios from 'axios';
import { Link } from 'react-router-dom' import { Link } from 'react-router-dom'
import { import {
CButton, CButton,
CCard, CCard,
CCardBody, CCardBody,
CCardGroup, CCardGroup,
CCol, CCol,
CContainer, CContainer,
CForm, CForm,
CInput, CInput,
CInputGroup, CInputGroup,
CInputGroupPrepend, CInputGroupPrepend,
CInputGroupText, CInputGroupText,
CRow CRow
} from '@coreui/react' } from '@coreui/react'
import CIcon from '@coreui/icons-react' import CIcon from '@coreui/icons-react'
function Sso() { function Sso() {
function launchsso() { // function launchsso() {
console.log("launch sso"); // console.log("launch sso");
window.open("https://fbssso.ts.bizside.biz/Shibboleth.sso/Login", "_self"); // window.open("https://fbssso.ts.bizside.biz/Shibboleth.sso/Login", "_self");
} // }
function launchsso() {
return ( console.log("launch sso");
<div className="c-app c-default-layout flex-row align-items-center"> window.open("https://fbssso.bizside.biz/Shibboleth.sso/Login", "_self");
<CContainer> }
<CRow className="justify-content-center">
<CCol md="8">
<CCardGroup> return (
<CCard className="p-4"> <div className="c-app c-default-layout flex-row align-items-center">
<CCardBody> <CContainer>
<CForm> <CRow className="justify-content-center">
<h1>ログイン</h1> <CCol md="8">
<p className="text-muted">SSOでサインインするにはここをクリックしてください</p> <CCardGroup>
<CRow> <CCard className="p-4">
<CCol> <CCardBody>
<CButton color="primary" className="px-4" onClick={launchsso}>SSOでログイン</CButton> <CForm>
</CCol> <h1>ログイン</h1>
</CRow> <p className="text-muted">SSOでサインインするにはここをクリックしてください</p>
</CForm> <CRow>
</CCardBody> <CCol>
</CCard> <CButton color="primary" className="px-4" onClick={launchsso}>SSOでログイン</CButton>
<CCard className="text-white bg-primary py-5 d-md-down-none" style={{ width: '44%' }}> </CCol>
<CCardBody className="text-center"> </CRow>
<div> </CForm>
<h2>ログイン方法</h2> </CCardBody>
<p>これはSSOログインを使用しますリンクをクリックするとSSOログインページにリダイレクトされます</p> </CCard>
</div> <CCard className="text-white bg-primary py-5 d-md-down-none" style={{ width: '44%' }}>
</CCardBody> <CCardBody className="text-center">
</CCard> <div>
</CCardGroup> <h2>ログイン方法</h2>
</CCol> <p>これはSSOログインを使用しますリンクをクリックするとSSOログインページにリダイレクトされます</p>
</CRow> </div>
</CContainer> </CCardBody>
</div> </CCard>
) </CCardGroup>
} </CCol>
</CRow>
export default Sso </CContainer>
</div>
)
}
export default Sso

View File

@ -1,41 +1,41 @@
import React from 'react' import React from 'react'
import { CCard, CCardBody, CCardHeader, CCol, CRow } from '@coreui/react' import { CCard, CCardBody, CCardHeader, CCol, CRow } from '@coreui/react'
import CIcon from '@coreui/icons-react' import CIcon from '@coreui/icons-react'
import usersData from './UsersData' import usersData from './UsersData'
const User = ({match}) => { const User = ({match}) => {
const user = usersData.find( user => user.id.toString() === match.params.id) const user = usersData.find( user => user.id.toString() === match.params.id)
const userDetails = user ? Object.entries(user) : const userDetails = user ? Object.entries(user) :
[['id', (<span><CIcon className="text-muted" name="cui-icon-ban" /> Not found</span>)]] [['id', (<span><CIcon className="text-muted" name="cui-icon-ban" /> Not found</span>)]]
return ( return (
<CRow> <CRow>
<CCol lg={6}> <CCol lg={6}>
<CCard> <CCard>
<CCardHeader> <CCardHeader>
User id: {match.params.id} User id: {match.params.id}
</CCardHeader> </CCardHeader>
<CCardBody> <CCardBody>
<table className="table table-striped table-hover"> <table className="table table-striped table-hover">
<tbody> <tbody>
{ {
userDetails.map(([key, value], index) => { userDetails.map(([key, value], index) => {
return ( return (
<tr key={index.toString()}> <tr key={index.toString()}>
<td>{`${key}:`}</td> <td>{`${key}:`}</td>
<td><strong>{value}</strong></td> <td><strong>{value}</strong></td>
</tr> </tr>
) )
}) })
} }
</tbody> </tbody>
</table> </table>
</CCardBody> </CCardBody>
</CCard> </CCard>
</CCol> </CCol>
</CRow> </CRow>
) )
} }
export default User export default User

View File

@ -1,86 +1,86 @@
import React, { useState, useEffect } from 'react' import React, { useState, useEffect } from 'react'
import { useHistory, useLocation } from 'react-router-dom' import { useHistory, useLocation } from 'react-router-dom'
import { import {
CBadge, CBadge,
CCard, CCard,
CCardBody, CCardBody,
CCardHeader, CCardHeader,
CCol, CCol,
CDataTable, CDataTable,
CRow, CRow,
CPagination CPagination
} from '@coreui/react' } from '@coreui/react'
import usersData from './UsersData' import usersData from './UsersData'
const getBadge = status => { const getBadge = status => {
switch (status) { switch (status) {
case 'Active': return 'success' case 'Active': return 'success'
case 'Inactive': return 'secondary' case 'Inactive': return 'secondary'
case 'Pending': return 'warning' case 'Pending': return 'warning'
case 'Banned': return 'danger' case 'Banned': return 'danger'
default: return 'primary' default: return 'primary'
} }
} }
const Users = () => { const Users = () => {
const history = useHistory() const history = useHistory()
const queryPage = useLocation().search.match(/page=([0-9]+)/, '') const queryPage = useLocation().search.match(/page=([0-9]+)/, '')
const currentPage = Number(queryPage && queryPage[1] ? queryPage[1] : 1) const currentPage = Number(queryPage && queryPage[1] ? queryPage[1] : 1)
const [page, setPage] = useState(currentPage) const [page, setPage] = useState(currentPage)
const pageChange = newPage => { const pageChange = newPage => {
currentPage !== newPage && history.push(`/users?page=${newPage}`) currentPage !== newPage && history.push(`/users?page=${newPage}`)
} }
useEffect(() => { useEffect(() => {
currentPage !== page && setPage(currentPage) currentPage !== page && setPage(currentPage)
}, [currentPage, page]) }, [currentPage, page])
return ( return (
<CRow> <CRow>
<CCol xl={6}> <CCol xl={6}>
<CCard> <CCard>
<CCardHeader> <CCardHeader>
Users Users
<small className="text-muted"> example</small> <small className="text-muted"> example</small>
</CCardHeader> </CCardHeader>
<CCardBody> <CCardBody>
<CDataTable <CDataTable
items={usersData} items={usersData}
fields={[ fields={[
{ key: 'name', _classes: 'font-weight-bold' }, { key: 'name', _classes: 'font-weight-bold' },
'registered', 'role', 'status' 'registered', 'role', 'status'
]} ]}
hover hover
striped striped
itemsPerPage={5} itemsPerPage={5}
activePage={page} activePage={page}
clickableRows clickableRows
onRowClick={(item) => history.push(`/users/${item.id}`)} onRowClick={(item) => history.push(`/users/${item.id}`)}
scopedSlots = {{ scopedSlots = {{
'status': 'status':
(item)=>( (item)=>(
<td> <td>
<CBadge color={getBadge(item.status)}> <CBadge color={getBadge(item.status)}>
{item.status} {item.status}
</CBadge> </CBadge>
</td> </td>
) )
}} }}
/> />
<CPagination <CPagination
activePage={page} activePage={page}
onActivePageChange={pageChange} onActivePageChange={pageChange}
pages={5} pages={5}
doubleArrows={false} doubleArrows={false}
align="center" align="center"
/> />
</CCardBody> </CCardBody>
</CCard> </CCard>
</CCol> </CCol>
</CRow> </CRow>
) )
} }
export default Users export default Users

View File

@ -1,29 +1,29 @@
const usersData = [ const usersData = [
{id: 0, name: 'John Doe', registered: '2018/01/01', role: 'Guest', status: 'Pending'}, {id: 0, name: 'John Doe', registered: '2018/01/01', role: 'Guest', status: 'Pending'},
{id: 1, name: 'Samppa Nori', registered: '2018/01/01', role: 'Member', status: 'Active'}, {id: 1, name: 'Samppa Nori', registered: '2018/01/01', role: 'Member', status: 'Active'},
{id: 2, name: 'Estavan Lykos', registered: '2018/02/01', role: 'Staff', status: 'Banned'}, {id: 2, name: 'Estavan Lykos', registered: '2018/02/01', role: 'Staff', status: 'Banned'},
{id: 3, name: 'Chetan Mohamed', registered: '2018/02/01', role: 'Admin', status: 'Inactive'}, {id: 3, name: 'Chetan Mohamed', registered: '2018/02/01', role: 'Admin', status: 'Inactive'},
{id: 4, name: 'Derick Maximinus', registered: '2018/03/01', role: 'Member', status: 'Pending'}, {id: 4, name: 'Derick Maximinus', registered: '2018/03/01', role: 'Member', status: 'Pending'},
{id: 5, name: 'Friderik Dávid', registered: '2018/01/21', role: 'Staff', status: 'Active'}, {id: 5, name: 'Friderik Dávid', registered: '2018/01/21', role: 'Staff', status: 'Active'},
{id: 6, name: 'Yiorgos Avraamu', registered: '2018/01/01', role: 'Member', status: 'Active'}, {id: 6, name: 'Yiorgos Avraamu', registered: '2018/01/01', role: 'Member', status: 'Active'},
{id: 7, name: 'Avram Tarasios', registered: '2018/02/01', role: 'Staff', status: 'Banned'}, {id: 7, name: 'Avram Tarasios', registered: '2018/02/01', role: 'Staff', status: 'Banned'},
{id: 8, name: 'Quintin Ed', registered: '2018/02/01', role: 'Admin', status: 'Inactive'}, {id: 8, name: 'Quintin Ed', registered: '2018/02/01', role: 'Admin', status: 'Inactive'},
{id: 9, name: 'Enéas Kwadwo', registered: '2018/03/01', role: 'Member', status: 'Pending'}, {id: 9, name: 'Enéas Kwadwo', registered: '2018/03/01', role: 'Member', status: 'Pending'},
{id: 10, name: 'Agapetus Tadeáš', registered: '2018/01/21', role: 'Staff', status: 'Active'}, {id: 10, name: 'Agapetus Tadeáš', registered: '2018/01/21', role: 'Staff', status: 'Active'},
{id: 11, name: 'Carwyn Fachtna', registered: '2018/01/01', role: 'Member', status: 'Active'}, {id: 11, name: 'Carwyn Fachtna', registered: '2018/01/01', role: 'Member', status: 'Active'},
{id: 12, name: 'Nehemiah Tatius', registered: '2018/02/01', role: 'Staff', status: 'Banned'}, {id: 12, name: 'Nehemiah Tatius', registered: '2018/02/01', role: 'Staff', status: 'Banned'},
{id: 13, name: 'Ebbe Gemariah', registered: '2018/02/01', role: 'Admin', status: 'Inactive'}, {id: 13, name: 'Ebbe Gemariah', registered: '2018/02/01', role: 'Admin', status: 'Inactive'},
{id: 14, name: 'Eustorgios Amulius', registered: '2018/03/01', role: 'Member', status: 'Pending'}, {id: 14, name: 'Eustorgios Amulius', registered: '2018/03/01', role: 'Member', status: 'Pending'},
{id: 15, name: 'Leopold Gáspár', registered: '2018/01/21', role: 'Staff', status: 'Active'}, {id: 15, name: 'Leopold Gáspár', registered: '2018/01/21', role: 'Staff', status: 'Active'},
{id: 16, name: 'Pompeius René', registered: '2018/01/01', role: 'Member', status: 'Active'}, {id: 16, name: 'Pompeius René', registered: '2018/01/01', role: 'Member', status: 'Active'},
{id: 17, name: 'Paĉjo Jadon', registered: '2018/02/01', role: 'Staff', status: 'Banned'}, {id: 17, name: 'Paĉjo Jadon', registered: '2018/02/01', role: 'Staff', status: 'Banned'},
{id: 18, name: 'Micheal Mercurius', registered: '2018/02/01', role: 'Admin', status: 'Inactive'}, {id: 18, name: 'Micheal Mercurius', registered: '2018/02/01', role: 'Admin', status: 'Inactive'},
{id: 19, name: 'Ganesha Dubhghall', registered: '2018/03/01', role: 'Member', status: 'Pending'}, {id: 19, name: 'Ganesha Dubhghall', registered: '2018/03/01', role: 'Member', status: 'Pending'},
{id: 20, name: 'Hiroto Šimun', registered: '2018/01/21', role: 'Staff', status: 'Active'}, {id: 20, name: 'Hiroto Šimun', registered: '2018/01/21', role: 'Staff', status: 'Active'},
{id: 21, name: 'Vishnu Serghei', registered: '2018/01/01', role: 'Member', status: 'Active'}, {id: 21, name: 'Vishnu Serghei', registered: '2018/01/01', role: 'Member', status: 'Active'},
{id: 22, name: 'Zbyněk Phoibos', registered: '2018/02/01', role: 'Staff', status: 'Banned'}, {id: 22, name: 'Zbyněk Phoibos', registered: '2018/02/01', role: 'Staff', status: 'Banned'},
{id: 23, name: 'Aulus Agmundr', registered: '2018/01/01', role: 'Member', status: 'Pending'}, {id: 23, name: 'Aulus Agmundr', registered: '2018/01/01', role: 'Member', status: 'Pending'},
{id: 42, name: 'Ford Prefect', registered: '2001/05/25', role: 'Alien', status: 'Don\'t panic!'} {id: 42, name: 'Ford Prefect', registered: '2001/05/25', role: 'Alien', status: 'Don\'t panic!'}
] ]
export default usersData export default usersData

View File

@ -2935,6 +2935,13 @@
"resolved" "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz" "resolved" "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz"
"version" "2.2.0" "version" "2.2.0"
"bindings@^1.5.0":
"integrity" "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ=="
"resolved" "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz"
"version" "1.5.0"
dependencies:
"file-uri-to-path" "1.0.0"
"bluebird@^3.5.5": "bluebird@^3.5.5":
"integrity" "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" "integrity" "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg=="
"resolved" "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz" "resolved" "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz"
@ -5612,6 +5619,19 @@
"resolved" "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" "resolved" "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz"
"version" "1.0.0" "version" "1.0.0"
"fsevents@^1.2.7":
"integrity" "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw=="
"resolved" "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz"
"version" "1.2.13"
dependencies:
"bindings" "^1.5.0"
"nan" "^2.12.1"
"fsevents@^2.1.2", "fsevents@^2.1.3", "fsevents@~2.3.2":
"integrity" "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA=="
"resolved" "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz"
"version" "2.3.2"
"function-bind@^1.1.1": "function-bind@^1.1.1":
"integrity" "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" "integrity" "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
"resolved" "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz" "resolved" "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz"
@ -8030,6 +8050,11 @@
"dns-packet" "^1.3.1" "dns-packet" "^1.3.1"
"thunky" "^1.0.2" "thunky" "^1.0.2"
"nan@^2.12.1":
"integrity" "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ=="
"resolved" "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz"
"version" "2.14.2"
"nanoid@^3.1.23": "nanoid@^3.1.23":
"integrity" "sha512-FiB0kzdP0FFVGDKlRLEQ1BgDzU87dy5NnzjeW9YZNt+/c3+q82EQDUwniSAUxp/F0gFNI1ZhKU1FqYsMuqZVnw==" "integrity" "sha512-FiB0kzdP0FFVGDKlRLEQ1BgDzU87dy5NnzjeW9YZNt+/c3+q82EQDUwniSAUxp/F0gFNI1ZhKU1FqYsMuqZVnw=="
"resolved" "https://registry.npmjs.org/nanoid/-/nanoid-3.1.23.tgz" "resolved" "https://registry.npmjs.org/nanoid/-/nanoid-3.1.23.tgz"