From 5bfa8013c719b5a3497fe83d4c58be6b386ec0ca Mon Sep 17 00:00:00 2001 From: geun1416 <1416geun@naver.com> Date: Tue, 24 Oct 2023 18:03:46 +0900 Subject: [PATCH 1/9] . --- package-lock.json | 238 +-------------- src/assets/css/custom.css | 51 +++- src/views/control/setting/ControlFsm.js | 55 ++++ .../control/setting/ControlReservation.js | 278 +++-------------- src/views/control/setting/ControlSetting.js | 33 +- src/views/control/setting/steps/Step1.js | 286 ++++-------------- src/views/control/setting/steps/Step2.js | 205 ++----------- src/views/control/setting/steps/Step3.js | 58 +--- src/views/control/setting/steps/Step4.js | 212 +++---------- 9 files changed, 294 insertions(+), 1122 deletions(-) create mode 100644 src/views/control/setting/ControlFsm.js diff --git a/package-lock.json b/package-lock.json index 894a75c..89128c2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1947,70 +1947,6 @@ "chalk": "^4.0.0" } }, - "@mapbox/geojson-rewind": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/@mapbox/geojson-rewind/-/geojson-rewind-0.5.2.tgz", - "integrity": "sha512-tJaT+RbYGJYStt7wI3cq4Nl4SXxG8W7JDG5DMJu97V25RnbNg3QtQtf+KD+VLjNpWKYsRvXDNmNrBgEETr1ifA==", - "requires": { - "get-stream": "^6.0.1", - "minimist": "^1.2.6" - }, - "dependencies": { - "get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==" - }, - "minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==" - } - } - }, - "@mapbox/jsonlint-lines-primitives": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@mapbox/jsonlint-lines-primitives/-/jsonlint-lines-primitives-2.0.2.tgz", - "integrity": "sha512-rY0o9A5ECsTQRVhv7tL/OyDpGAoUB4tTvLiW1DSzQGq4bvTPhNw1VpSNjDJc5GFZ2XuyOtSWSVN05qOtcD71qQ==" - }, - "@mapbox/mapbox-gl-language": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@mapbox/mapbox-gl-language/-/mapbox-gl-language-1.0.1.tgz", - "integrity": "sha512-gL58ojl7gaWLfbSISoB2QJEfTK3j+NKvPH9og0r+c3bd5BNqhY19Eb4OPfDc5+dGmjW03LhtZBc4n2b7Xn8kjA==" - }, - "@mapbox/mapbox-gl-supported": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@mapbox/mapbox-gl-supported/-/mapbox-gl-supported-2.0.1.tgz", - "integrity": "sha512-HP6XvfNIzfoMVfyGjBckjiAOQK9WfX0ywdLubuPMPv+Vqf5fj0uCbgBQYpiqcWZT6cbyyRnTSXDheT1ugvF6UQ==" - }, - "@mapbox/point-geometry": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/@mapbox/point-geometry/-/point-geometry-0.1.0.tgz", - "integrity": "sha512-6j56HdLTwWGO0fJPlrZtdU/B13q8Uwmo18Ck2GnGgN9PCFyKTZ3UbXeEdRFh18i9XQ92eH2VdtpJHpBD3aripQ==" - }, - "@mapbox/tiny-sdf": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@mapbox/tiny-sdf/-/tiny-sdf-2.0.6.tgz", - "integrity": "sha512-qMqa27TLw+ZQz5Jk+RcwZGH7BQf5G/TrutJhspsca/3SHwmgKQ1iq+d3Jxz5oysPVYTGP6aXxCo5Lk9Er6YBAA==" - }, - "@mapbox/unitbezier": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/@mapbox/unitbezier/-/unitbezier-0.0.1.tgz", - "integrity": "sha512-nMkuDXFv60aBr9soUG5q+GvZYL+2KZHVvsqFCzqnkGEf46U2fvmytHaEVc1/YZbiLn8X+eR3QzX1+dwDO1lxlw==" - }, - "@mapbox/vector-tile": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@mapbox/vector-tile/-/vector-tile-1.3.1.tgz", - "integrity": "sha512-MCEddb8u44/xfQ3oD+Srl/tNcQoqTw3goGk2oLsrFxOTc3dUp+kAnby3PvAeeBYSMSjSPD1nd1AJA6W49WnoUw==", - "requires": { - "@mapbox/point-geometry": "~0.1.0" - } - }, - "@mapbox/whoots-js": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@mapbox/whoots-js/-/whoots-js-3.1.0.tgz", - "integrity": "sha512-Es6WcD0nO5l+2BOQS4uLfNPYQaNDfbot3X1XUoloz+x0mPDS3eeORZJl06HXjwBG1fOGwCRnzK88LMdxKRrd6Q==" - }, "@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -3881,14 +3817,6 @@ "@types/node": "*" } }, - "@types/supercluster": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/@types/supercluster/-/supercluster-5.0.3.tgz", - "integrity": "sha512-XMSqQEr7YDuNtFwSgaHHOjsbi0ZGL62V9Js4CW45RBuRYlNWSW/KDqN+RFFE7HdHcGhJPtN0klKvw06r9Kg7rg==", - "requires": { - "@types/geojson": "*" - } - }, "@types/tapable": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.8.tgz", @@ -7511,11 +7439,6 @@ "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==" }, - "csscolorparser": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/csscolorparser/-/csscolorparser-1.0.3.tgz", - "integrity": "sha512-umPSgYwZkdFoUrH5hIq5kf0wPSXiro51nPw0j2K/c83KflkPSTBGMz6NJvMB+07VlL0y7VPo6QJcDjcgKTTm3w==" - }, "cssdb": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-4.4.0.tgz", @@ -10428,11 +10351,6 @@ "rbush": "^3.0.1" } }, - "geojson-vt": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/geojson-vt/-/geojson-vt-3.2.1.tgz", - "integrity": "sha512-EvGQQi/zPrDA6zr6BnJD/YhwAkBP8nnJ9emh3EnHQKVMfg/MRVtPbMYdgVy/IaEmn4UfagD2a6fafPDL5hbtwg==" - }, "get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", @@ -10491,11 +10409,6 @@ "assert-plus": "^1.0.0" } }, - "gl-matrix": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/gl-matrix/-/gl-matrix-3.4.3.tgz", - "integrity": "sha512-wcCp8vu8FT22BnvKVPjXa/ICBWRq/zjFfdofZy1WSpQZpphblv12/bOQLBC1rMM7SGOFS9ltVmKOHil5+Ml7gA==" - }, "glob": { "version": "7.1.7", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", @@ -10593,11 +10506,6 @@ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==" }, - "grid-index": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/grid-index/-/grid-index-1.1.0.tgz", - "integrity": "sha512-HZRwumpOGUrHyxO5bqKZL0B0GlUpwtCAzZ42sgxUPniu33R1LSFH5yrIcBCHjkctCAh3mtWKcKd9J4vDDdeVHA==" - }, "growly": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", @@ -12759,11 +12667,6 @@ "resolved": "https://registry.npmjs.org/jwt-decode/-/jwt-decode-3.1.2.tgz", "integrity": "sha512-UfpWE/VZn0iP50d8cz9NrZLM9lSWhcJ+0Gt/nm4by88UL+J1SiKN8/5dkjMmbEzwL2CAe+67GsegCbIKtbp75A==" }, - "kdbush": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/kdbush/-/kdbush-4.0.2.tgz", - "integrity": "sha512-WbCVYJ27Sz8zi9Q7Q0xHC+05iwkm3Znipc2XTlrnJbsHMYktW4hPhXUE8Ys1engBrvffoSCqbil1JQAa7clRpA==" - }, "killable": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", @@ -12868,7 +12771,7 @@ "load-script": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/load-script/-/load-script-1.0.0.tgz", - "integrity": "sha512-kPEjMFtZvwL9TaZo0uZ2ml+Ye9HUMmPwbYRJ324qF9tqMejwykJ5ggTyvzmrbBeapCAbk98BSbTeovHEEP1uCA==" + "integrity": "sha1-BJGTngvuVkPuSUp+PaPSuscMbKQ=" }, "loader-runner": { "version": "2.4.0", @@ -13139,35 +13042,6 @@ "object-visit": "^1.0.0" } }, - "mapbox-gl": { - "version": "2.15.0", - "resolved": "https://registry.npmjs.org/mapbox-gl/-/mapbox-gl-2.15.0.tgz", - "integrity": "sha512-fjv+aYrd5TIHiL7wRa+W7KjtUqKWziJMZUkK5hm8TvJ3OLeNPx4NmW/DgfYhd/jHej8wWL+QJBDbdMMAKvNC0A==", - "requires": { - "@mapbox/geojson-rewind": "^0.5.2", - "@mapbox/jsonlint-lines-primitives": "^2.0.2", - "@mapbox/mapbox-gl-supported": "^2.0.1", - "@mapbox/point-geometry": "^0.1.0", - "@mapbox/tiny-sdf": "^2.0.6", - "@mapbox/unitbezier": "^0.0.1", - "@mapbox/vector-tile": "^1.3.1", - "@mapbox/whoots-js": "^3.1.0", - "csscolorparser": "~1.0.3", - "earcut": "^2.2.4", - "geojson-vt": "^3.2.1", - "gl-matrix": "^3.4.3", - "grid-index": "^1.1.0", - "kdbush": "^4.0.1", - "murmurhash-js": "^1.0.0", - "pbf": "^3.2.1", - "potpack": "^2.0.0", - "quickselect": "^2.0.0", - "rw": "^1.3.3", - "supercluster": "^8.0.0", - "tinyqueue": "^2.0.3", - "vt-pbf": "^3.1.3" - } - }, "marker-clusterer-plus": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/marker-clusterer-plus/-/marker-clusterer-plus-2.1.4.tgz", @@ -13616,11 +13490,6 @@ "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=" }, - "murmurhash-js": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/murmurhash-js/-/murmurhash-js-1.0.0.tgz", - "integrity": "sha512-TvmkNhkv8yct0SVBSy+o8wYzXjE4Zz3PCesbfs8HiCXXdcTuocApFv11UWlNFWKYsP2okqrhb7JNlSm9InBhIw==" - }, "namespace-emitter": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/namespace-emitter/-/namespace-emitter-2.0.1.tgz", @@ -14495,15 +14364,6 @@ "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" }, - "pbf": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/pbf/-/pbf-3.2.1.tgz", - "integrity": "sha512-ClrV7pNOn7rtmoQVF4TS1vyU0WhYRnP92fzbfF75jAIwpnzdJXf8iTd4CMEqO4yUenH6NDqLiwjqlh6QgZzgLQ==", - "requires": { - "ieee754": "^1.1.12", - "resolve-protobuf-schema": "^2.1.0" - } - }, "pbkdf2": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", @@ -20307,11 +20167,6 @@ "uniq": "^1.0.1" } }, - "potpack": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/potpack/-/potpack-2.0.0.tgz", - "integrity": "sha512-Q+/tYsFU9r7xoOJ+y/ZTtdVQwTWfzjbiXBDMM/JKUux3+QPP02iUuIoeBQ+Ot6oEDlC+/PGjB/5A3K7KKb7hcw==" - }, "preact": { "version": "10.5.14", "resolved": "https://registry.npmjs.org/preact/-/preact-10.5.14.tgz", @@ -20464,11 +20319,6 @@ "resolved": "https://registry.npmjs.org/property-expr/-/property-expr-2.0.4.tgz", "integrity": "sha512-sFPkHQjVKheDNnPvotjQmm3KD3uk1fWKUN7CrpdbwmUx3CrG3QiM8QpTSimvig5vTXmTvjz7+TDvXOI9+4rkcg==" }, - "protocol-buffers-schema": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/protocol-buffers-schema/-/protocol-buffers-schema-3.6.0.tgz", - "integrity": "sha512-TdDRD+/QNdrCGCE7v8340QyuXd4kIWIgapsE2+n/SaGiSSbomYl4TjHlvIoCWRpE7wFt02EpB35VVA2ImcBVqw==" - }, "proxy-addr": { "version": "2.0.7", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", @@ -21273,56 +21123,6 @@ "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" }, - "react-mapbox-gl": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/react-mapbox-gl/-/react-mapbox-gl-5.1.1.tgz", - "integrity": "sha512-8vGldFQf7pW8T5ZV2OOhwXoaBvfigB2F7dnhzaZ/bD5/KJzP9zprMbn0xMX95W3eqbKzGGHnwyD5DyTTwR6wGw==", - "requires": { - "@turf/bbox": "4.7.3", - "@turf/helpers": "4.7.3", - "@types/supercluster": "^5.0.1", - "deep-equal": "1.0.1", - "supercluster": "^7.0.0" - }, - "dependencies": { - "@turf/bbox": { - "version": "4.7.3", - "resolved": "https://registry.npmjs.org/@turf/bbox/-/bbox-4.7.3.tgz", - "integrity": "sha512-78lSzSQuLHq0363sVlmkX9uxBejeWGyZhQBAh7oc1ucnsYsem1m4ynjDXG8/hKP4nG/yUFWPdV9xklezKdvzKw==", - "requires": { - "@turf/meta": "^4.7.3" - } - }, - "@turf/helpers": { - "version": "4.7.3", - "resolved": "https://registry.npmjs.org/@turf/helpers/-/helpers-4.7.3.tgz", - "integrity": "sha512-hk5ANVazb80zK6tjJYAG76oCRTWMQo6SAFu5E1dVnlb2kT3FHLoPcOB9P11duwDafMwywz24KZ+FUorB5e728w==" - }, - "@turf/meta": { - "version": "4.7.4", - "resolved": "https://registry.npmjs.org/@turf/meta/-/meta-4.7.4.tgz", - "integrity": "sha512-cvwz4EI9BjrgRHxmJ3Z3HKxq6k/fj/V95kwNZ8uWNLncCvrb7x1jUBDkQUo1tShnYdZ8eBgA+a2bvJmAM+MJ0A==" - }, - "deep-equal": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz", - "integrity": "sha512-bHtC0iYvWhyaTzvV3CZgPeZQqCOBGyGsVV7v4eevpdkLHfiSrXUdBG+qAuSz4RI70sszvjQ1QSZ98An1yNwpSw==" - }, - "kdbush": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/kdbush/-/kdbush-3.0.0.tgz", - "integrity": "sha512-hRkd6/XW4HTsA9vjVpY9tuXJYLSlelnkTmVFu4M9/7MIYQtFcHpbugAU7UbOfjOiVSVYl2fqgBuJ32JUmRo5Ew==" - }, - "supercluster": { - "version": "7.1.5", - "resolved": "https://registry.npmjs.org/supercluster/-/supercluster-7.1.5.tgz", - "integrity": "sha512-EulshI3pGUM66o6ZdH3ReiFcvHpM3vAigyK+vcxdjpJyEbIIrtbmBdY23mGgnI24uXiGFvrGq9Gkum/8U7vJWg==", - "requires": { - "kdbush": "^3.0.0" - } - } - } - }, "react-onclickoutside": { "version": "6.11.2", "resolved": "https://registry.npmjs.org/react-onclickoutside/-/react-onclickoutside-6.11.2.tgz", @@ -22621,14 +22421,6 @@ "resolved": "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-3.0.0.tgz", "integrity": "sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==" }, - "resolve-protobuf-schema": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/resolve-protobuf-schema/-/resolve-protobuf-schema-2.1.0.tgz", - "integrity": "sha512-kI5ffTiZWmJaS/huM8wZfEMer1eRd7oJQhDuxeCLe3t7N7mX3z94CN0xPxBQxFYQTSNz9T0i+v6inKqSdK8xrQ==", - "requires": { - "protocol-buffers-schema": "^3.3.1" - } - }, "resolve-url": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", @@ -22983,11 +22775,6 @@ "aproba": "^1.1.1" } }, - "rw": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz", - "integrity": "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==" - }, "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", @@ -24508,14 +24295,6 @@ "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.0.10.tgz", "integrity": "sha512-m3k+dk7QeJw660eIKRRn3xPF6uuvHs/FFzjX3HQ5ove0qYsiygoAhwn5a3IYKaZPo5LrYD0rfVmtv1gNY1uYwg==" }, - "supercluster": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/supercluster/-/supercluster-8.0.1.tgz", - "integrity": "sha512-IiOea5kJ9iqzD2t7QJq/cREyLHTtSmUT6gQsweojg9WH2sYJqZK9SswTu6jrscO6D1G5v5vYZ9ru/eq85lXeZQ==", - "requires": { - "kdbush": "^4.0.2" - } - }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -24900,11 +24679,6 @@ "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=" }, - "threebox-plugin": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/threebox-plugin/-/threebox-plugin-2.2.7.tgz", - "integrity": "sha512-H87Nm4w1PfisHPHzavTGXlwIoJpx2+QU57GooQYIhF51lsg+U5A0KGf3Jrv/HWsLCGOwV2BTnv7UTLfpO1EccQ==" - }, "throat": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", @@ -25643,16 +25417,6 @@ "resolved": "https://registry.npmjs.org/voc/-/voc-1.2.0.tgz", "integrity": "sha512-BOuDjFFYvJdZO6e/N65AlaDItXo2TgyLjeyRYcqgAPkXpp5yTJcvkL2n+syO1r9Qc5g96tfBD2tuiMhYDmaGcA==" }, - "vt-pbf": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/vt-pbf/-/vt-pbf-3.1.3.tgz", - "integrity": "sha512-2LzDFzt0mZKZ9IpVF2r69G9bXaP2Q2sArJCmcCgvfTdCCZzSyz4aCLoQyUilu37Ll56tCblIZrXFIjNUpGIlmA==", - "requires": { - "@mapbox/point-geometry": "0.1.0", - "@mapbox/vector-tile": "^1.3.1", - "pbf": "^3.2.1" - } - }, "w3c-hr-time": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", diff --git a/src/assets/css/custom.css b/src/assets/css/custom.css index 08254ec..5b76038 100644 --- a/src/assets/css/custom.css +++ b/src/assets/css/custom.css @@ -406,9 +406,9 @@ h1.logo span{display:block;color:#f4f4f4;font-weight:bold;letter-spacing:2px;fon .tooltip-test{position:absolute;left:500px;top:500px;} .tooltip-box{background:#283046;padding:10px;border-radius:6px;position:relative;max-width:150px;word-break: break-all;} /* .tooltip-box div{text-align:left;font-size:13px;} */ -.tooltip-ti{border-bottom:1px solid #bbb;padding-bottom:4px;} +.tooltip-ti{border-bottom:1px solid #bbb;padding-bottom:2px;font-size:0.875rem;color:#f4f4f4} /* .tooltip-ti span, .tooltip-txt .ti{color:#f4f4f4;font-weight:400;} */ -.tooltip-txt{color:#f4f4f4;font-weight:400;font-size:12px} +.tooltip-txt{font-weight:400;font-size:12px;padding-top:4px;word-break: keep-all;} .tooltip-txt-list + .tooltip-txt-list{margin-top:4px;} .tooltip-box .arrow {position:absolute;bottom:-10px;left:50%;transform: translateX(-50%);display:block;width: 0px;height: 0px;border-top:10px solid #283046;border-bottom:10px solid none;border-right: 10px solid transparent;border-left: 10px solid transparent;} .tooltip-txt-list .ti:before{content:'/';margin:0 2px;} @@ -845,4 +845,49 @@ background-size: 75% auto; .box_4n div{width:50%;height:50vh;} .modal-video{display:flex;align-items: center;justify-content: center;} -.modal-video>.modal-content{height:90vh;} \ No newline at end of file +.modal-video>.modal-content{height:90vh;} + +.modal-uam-reservation{min-width:1200px} +.modal-uam-reservation .modal-title{width:100%;} +.modal-uam-reservation .modal-body{padding:1.4rem} +.modal-uam-reservation .nav-link{transition:0.3s ease;-webkit-transition:0.3s ease;} +.modal-uam-reservation .nav-link{border:0px;background-color:#242b3d} +.modal-uam-reservation .nav-link.active span{font-weight:500} +.uam-reservation-header{display:flex;width:100%;align-items:center;justify-content:space-between;} +.uam-reservation-header h5{font-weight:500;} +.uam-reservation-header .step{display:flex;} +.uam-reservation-header .step li{font-size:0.875rem} +.uam-reservation-header .step li + li{margin-left:0.5rem} +.uam-reservation-tab-list{display:flex;} +.uam-reservation-tab-list .list{display: flex;justify-content:center;align-items:center;flex:1;background-color:#242b3d;padding:0.5rem;font-size:0.875rem;text-align:center;border-radius: 0.357rem;cursor:pointer;} +.uam-reservation-tab-list .list + .list{margin-left:0.5rem} +.step-wrap{margin-top:1rem;border-radius: 0.357rem;} +.step-box{padding:1rem;background-color:#242b3d;} +.step-box + .step-box{margin-top:1rem} +.step-box-ti{border-bottom:1px solid #404656;padding-bottom:0.5rem;margin-bottom:1rem;display:flex;align-items:center;justify-content: space-between;} +.step-box-ti h5{font-weight:500;font-size:1rem} +.step-box-city{display:flex;width:100%;} +.step-box-city-list{flex:1;} +.step-box-city-list .step-city-ti{background:#283046;border:1px solid #404656;padding:0.8rem 1.7rem;font-weight:500;text-align:center;} +.step-box-city-list + .step-box-city-list{margin-left:1rem} +.step-box-city-list ul li{padding:0.8rem 1.7rem;border:1px solid #404656;border-top:none;cursor: pointer;font-size:0.875rem} +.step-box-city-list ul li:hover{background:#2a3247;transition: 0.3s ease;-webkit-transition: 0.3s ease;} +.search-box-city{display:flex;width:100%;} +.search-city{display:flex;flex:1;justify-content:space-between;align-items:center;background:#404656;padding:0.8rem;font-size:0.875rem;border-radius:0.357rem;} +.search-city + .search-city{margin-left:1rem;} +.search-city .arrow svg{width:18px;margin-top:-2px;margin-left:4px;margin-right:4px} +.search-city .delete:hover svg{color:#ea5455;cursor: pointer;transition:0.3s ease;-webkit-transition:0.3s ease;} +.step-wrap .calendar{display:flex;justify-content:center;} +.step-wrap .calendar .dayContainer + .dayContainer{box-shadow:none;} +.step-wrap .passengers ul{display:flex;} +.step-wrap .passengers ul li{flex:1;} +.step-wrap .passengers ul li + li{margin-left:1rem;} +.step-wrap .passengers h6{font-size:0.875rem;font-weight:500;margin-bottom:0.5rem} +.step-wrap .passengers .btn-icon svg{margin-top:4px;} +.step-wrap .finish-btn{text-align:right;margin-top:1rem;} + + +.active-step{color:rgba(255,255,255,0.8);font-weight:500;} +.inactive-step{color:rgba(255,255,255,0.4);} +.list.active {background-color: #7367f0;color:#fff;font-weight:500;} +.finish.active{background-color: #ff9f43;color: #fff;} diff --git a/src/views/control/setting/ControlFsm.js b/src/views/control/setting/ControlFsm.js new file mode 100644 index 0000000..0b0c9c2 --- /dev/null +++ b/src/views/control/setting/ControlFsm.js @@ -0,0 +1,55 @@ +import { useState } from 'react'; +import { + Badge, + Button, + Input, + InputGroup, + Modal, + ModalHeader, + ModalBody, + Nav, + NavItem, + NavLink +} from 'reactstrap'; +import { + Step1, + Step2, + Step3, + Step4, + ReserveStep1, + ReserveStep2, + ReserveStep3, + ReserveStep4 +} from './steps'; + +export default function ControlReservation({ modal, handler }) { + const [activeTab, setActiveTab] = useState(1); + const [step, setStep] = useState(1); + const [airTraficCheck, setAirTraficCheck] = useState(1); + const [isChoise, setIsChoise] = useState(false); + const [search, setSearch] = useState(false); + const [reserveStep, setReserveStep] = useState(1); + + return ( +
+ + + FSM 비행계획서 작성 + + + ddd + + +
+ ); +} diff --git a/src/views/control/setting/ControlReservation.js b/src/views/control/setting/ControlReservation.js index 7dd1d58..1af937a 100644 --- a/src/views/control/setting/ControlReservation.js +++ b/src/views/control/setting/ControlReservation.js @@ -30,297 +30,95 @@ export default function ControlReservation({ modal, handler }) { const [search, setSearch] = useState(false); const [reserveStep, setReserveStep] = useState(1); + function getStepColorClass(stepNumber, currentStep) { + return stepNumber === currentStep ? 'active-step' : 'inactive-step'; + } return (
{search ? ( reserveStep !== 4 ? ( -
-
도심항공교통(UAM) 예약
-
-
    -
  • - ➀ 항공교통 조회 -
  • -
  • - ➁ 항공교통 선택{' '} -
  • -
  • - ➂ 탑승정보 입력{' '} -
  • -
  • - ➃ 결제 -
  • +
    +
    도심항공교통(UAM) 예약
    +
    +
      +
    • ➀ 항공교통 조회
    • +
    • ➁ 항공교통 선택
    • +
    • ➂ 탑승정보 입력
    • +
    • ➃ 결제
    ) : ( -
    -
    도심항공교통(UAM) 예약
    -
    +
    +

    도심항공교통(UAM) 예약

    +
    결제완료
    ) ) : ( - '도심항공교통(UAM) 예약' +
    +
    도심항공교통(UAM) 예약
    +
      +
    • ➀ 항공교통 조회
    • +
    • ➁ 항공교통 선택
    • +
    • ➂ 탑승정보 입력
    • +
    • ➃ 결제
    • +
    +
    )} - + {!search ? ( -
    -
    -
      -
    • - ➀ 항공교통 조회 -
    • -
    • - ➁ 항공교통 선택{' '} -
    • -
    • - ➂ 탑승정보 입력{' '} -
    • -
    • - ➃ 결제 -
    • -
    -
    -
    - {/*
    diff --git a/src/navigation/reservation/index.js b/src/navigation/reservation/index.js new file mode 100644 index 0000000..c9e39d0 --- /dev/null +++ b/src/navigation/reservation/index.js @@ -0,0 +1,13 @@ +export default [ + { + id: 'reservation_001', + title: '도심항공교통(UAM) 예약', + navLink: '#' + }, + { + id: 'reservation_001_01', + type: 'item', + title: '도심항공교통(UAM) 예약', + navLink: '/reservation' + } +]; diff --git a/src/router/routes/RouteReservation.js b/src/router/routes/RouteReservation.js new file mode 100644 index 0000000..0eec4e7 --- /dev/null +++ b/src/router/routes/RouteReservation.js @@ -0,0 +1,10 @@ +import { lazy } from 'react'; + +const RouteReservation = [ + { + path: '/reservation', + component: lazy(() => import('../../views/reservation/ReservationView')) + } +]; + +export default RouteReservation; diff --git a/src/router/routes/index.js b/src/router/routes/index.js index f557a51..bcf1d06 100644 --- a/src/router/routes/index.js +++ b/src/router/routes/index.js @@ -5,6 +5,7 @@ import RouteBasis from './RouteBasis'; import RouteDashboard from './RouteDashboard'; import RouteSystem from './RouteSystem'; import RouteWeather from './RouteWeather'; +import RouteReservation from './RouteReservation'; // ** Document title const TemplateTitle = '%s - Dron Control System'; @@ -20,6 +21,7 @@ const Routes = [ ...RouteBasis, ...RouteSystem, ...RouteWeather, + ...RouteReservation, { path: '/home', component: lazy(() => import('../../views/Home')) diff --git a/src/views/control/setting/ControlReservation.js b/src/views/control/setting/ControlReservation.js index 665a88d..788ac15 100644 --- a/src/views/control/setting/ControlReservation.js +++ b/src/views/control/setting/ControlReservation.js @@ -34,152 +34,166 @@ export default function ControlReservation({ modal, handler }) { return stepNumber === currentStep ? 'active-step' : 'inactive-step'; } return ( -
    - + {/* - */} + {/* - {search ? ( - reserveStep !== 4 ? ( -
    -
    도심항공교통(UAM) 예약
    -
    -
      -
    • ➀ 항공교통 조회
    • -
    • ➁ 항공교통 선택
    • -
    • ➂ 탑승정보 입력
    • -
    • ➃ 결제
    • -
    -
    -
    - ) : ( -
    -

    도심항공교통(UAM) 예약

    -
    - 결제완료 -
    -
    - ) - ) : ( -
    -
    도심항공교통(UAM) 예약
    + > */} + {search ? ( + reserveStep !== 4 ? ( +
    +
    도심항공교통(UAM) 예약
    +
    • ➀ 항공교통 조회
    • ➁ 항공교통 선택
    • ➂ 탑승정보 입력
    • ➃ 결제
    -
    - )} - - - {!search ? ( +
    +
    + ) : ( +
    +

    도심항공교통(UAM) 예약

    +
    결제완료
    +
    + ) + ) : ( +
    +
    도심항공교통(UAM) 예약
    +
      +
    • ➀ 항공교통 조회
    • +
    • ➁ 항공교통 선택
    • +
    • ➂ 탑승정보 입력
    • +
    • ➃ 결제
    • +
    +
    + )} + {/*
    */} + {/* */} + {!search ? ( +
    +
    + +
    +
    +
    { + setAirTraficCheck(1); + }} + > + 출발지 +
    +
    { + setAirTraficCheck(2); + }} + > + 도착지 +
    +
    { + setAirTraficCheck(3); + }} + > + 탑승일 +
    +
    { + setAirTraficCheck(4); + }} + > + 탑승객 +
    +
    { + setSearch(true); + setStep(2); + }} + > + 항공교통 조회 +
    +
    + + <> + {airTraficCheck === 1 && } + {airTraficCheck === 2 && } + {airTraficCheck === 3 && } + {airTraficCheck === 4 && } + +
    + ) : ( + <> + {reserveStep === 1 && } + {reserveStep === 2 && } + {reserveStep === 3 && } + {reserveStep === 4 && } + {reserveStep !== 4 ? (
    - +
    -
    -
    {setAirTraficCheck(1);}}> - 출발지 -
    -
    {setAirTraficCheck(2);}}> - 도착지 -
    -
    {setAirTraficCheck(3);}}> - 탑승일 -
    -
    {setAirTraficCheck(4);}}> - 탑승객 -
    -
    {setSearch(true); setStep(2);}}> - 항공교통 조회 -
    +
    +
    - - <> - {airTraficCheck === 1 && } - {airTraficCheck === 2 && } - {airTraficCheck === 3 && } - {airTraficCheck === 4 && } -
    ) : ( - <> - {reserveStep === 1 && } - {reserveStep === 2 && } - {reserveStep === 3 && } - {reserveStep === 4 && } - {reserveStep !== 4 ? ( -
    -
    - -
    -
    - -
    -
    - ) : ( -
    -
    - -
    -
    - )} - +
    +
    + +
    +
    )} - - + + )} + {/* */} + {/* */}
    ); } diff --git a/src/views/control/setting/ControlSetting.js b/src/views/control/setting/ControlSetting.js index 28deb54..9c93a29 100644 --- a/src/views/control/setting/ControlSetting.js +++ b/src/views/control/setting/ControlSetting.js @@ -4,6 +4,7 @@ import { BiBuildings, BiGridAlt } from 'react-icons/bi'; import { CgTrees } from 'react-icons/cg'; import { VscRadioTower } from 'react-icons/vsc'; import { useDispatch, useSelector } from 'react-redux'; +import { useHistory } from 'react-router-dom'; import { Button, InputGroup, @@ -24,6 +25,7 @@ import ControlFsm from './ControlFsm'; const ControlSetting = props => { const [modal, setModal] = useState(false); const dispatch = useDispatch(); + const history = useHistory(); const mapControl = useSelector(state => state.controlMapReducer); @@ -39,7 +41,7 @@ const ControlSetting = props => { // setModal(!modal); // }; - const handlerModal = (modalName) => { + const handlerModal = modalName => { setModal(modalName); }; @@ -188,8 +190,13 @@ const ControlSetting = props => {
    -
    @@ -203,7 +210,7 @@ const ControlSetting = props => {
    diff --git a/src/views/reservation/ReservationView.js b/src/views/reservation/ReservationView.js new file mode 100644 index 0000000..d90d3f6 --- /dev/null +++ b/src/views/reservation/ReservationView.js @@ -0,0 +1,6 @@ +import ControlReservation from '../control/setting/ControlReservation'; +import '../../assets/css/custom.css'; + +export default function ReservationView() { + return ; +} From 8fb4f118517b9424095c7803694f3a6b21189281 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?junh=5Feee=28=EC=9D=B4=EC=A4=80=ED=9D=AC=29?= Date: Fri, 27 Oct 2023 11:19:27 +0900 Subject: [PATCH 9/9] =?UTF-8?q?=EB=A0=88=EC=9D=B4=EC=95=84=EC=9B=83?= =?UTF-8?q?=EC=A0=95=EB=A6=AC-eun?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/assets/css/custom.css | 10 +- .../control/setting/ControlReservation.js | 279 +++++++++--------- 2 files changed, 143 insertions(+), 146 deletions(-) diff --git a/src/assets/css/custom.css b/src/assets/css/custom.css index e7432b4..e8341f0 100644 --- a/src/assets/css/custom.css +++ b/src/assets/css/custom.css @@ -847,12 +847,10 @@ background-size: 75% auto; .modal-video{display:flex;align-items: center;justify-content: center;} .modal-video>.modal-content{height:90vh;} -.modal-uam-reservation{min-width:1200px} -.modal-uam-reservation .modal-title{width:100%;} -.modal-uam-reservation .modal-body{padding:1.4rem} -.modal-uam-reservation .nav-link{transition:0.3s ease;-webkit-transition:0.3s ease;} -.modal-uam-reservation .nav-link{border:0px;background-color:#242b3d} -.modal-uam-reservation .nav-link.active span{font-weight:500} +.uam-reservation{min-width:1200px} +.uam-reservation .nav-link{transition:0.3s ease;-webkit-transition:0.3s ease;} +.uam-reservation .nav-link{border:0px;background-color:#242b3d} +.uam-reservation .nav-link.active span{font-weight:500} .uam-reservation-header{display:flex;width:100%;align-items:center;justify-content:space-between;} .uam-reservation-header h5{font-weight:500;} .uam-reservation-header .step{display:flex;} diff --git a/src/views/control/setting/ControlReservation.js b/src/views/control/setting/ControlReservation.js index 788ac15..1040193 100644 --- a/src/views/control/setting/ControlReservation.js +++ b/src/views/control/setting/ControlReservation.js @@ -21,6 +21,7 @@ import { ReserveStep3, ReserveStep4 } from './steps'; +import { CustomMainLayout } from '../../../components/layout/CustomMainLayout'; export default function ControlReservation({ modal, handler }) { const [activeTab, setActiveTab] = useState(1); @@ -29,25 +30,40 @@ export default function ControlReservation({ modal, handler }) { const [isChoise, setIsChoise] = useState(false); const [search, setSearch] = useState(false); const [reserveStep, setReserveStep] = useState(1); + const titleName = '도심항공교통(UAM) 예약'; function getStepColorClass(stepNumber, currentStep) { return stepNumber === currentStep ? 'active-step' : 'inactive-step'; } return ( -
    - {/* */} - {/* */} - {search ? ( - reserveStep !== 4 ? ( -
    -
    도심항공교통(UAM) 예약
    -
    + +
    +
    + {search ? ( + reserveStep !== 4 ? ( +
    +
    +
      +
    • + ➀ 항공교통 조회 +
    • +
    • + ➁ 항공교통 선택 +
    • +
    • + ➂ 탑승정보 입력 +
    • +
    • ➃ 결제
    • +
    +
    +
    + ) : ( +
    +
    결제완료
    +
    + ) + ) : ( +
    • ➀ 항공교통 조회
    • ➁ 항공교통 선택
    • @@ -55,145 +71,128 @@ export default function ControlReservation({ modal, handler }) {
    • ➃ 결제
    -
    - ) : ( -
    -

    도심항공교통(UAM) 예약

    -
    결제완료
    -
    - ) - ) : ( -
    -
    도심항공교통(UAM) 예약
    -
      -
    • ➀ 항공교통 조회
    • -
    • ➁ 항공교통 선택
    • -
    • ➂ 탑승정보 입력
    • -
    • ➃ 결제
    • -
    + )}
    - )} - {/* */} - {/* */} - {!search ? (
    -
    - -
    -
    -
    { - setAirTraficCheck(1); - }} - > - 출발지 -
    -
    { - setAirTraficCheck(2); - }} - > - 도착지 -
    -
    { - setAirTraficCheck(3); - }} - > - 탑승일 -
    -
    { - setAirTraficCheck(4); - }} - > - 탑승객 -
    -
    { - setSearch(true); - setStep(2); - }} - > - 항공교통 조회 -
    -
    - - <> - {airTraficCheck === 1 && } - {airTraficCheck === 2 && } - {airTraficCheck === 3 && } - {airTraficCheck === 4 && } - -
    - ) : ( - <> - {reserveStep === 1 && } - {reserveStep === 2 && } - {reserveStep === 3 && } - {reserveStep === 4 && } - {reserveStep !== 4 ? ( + {!search ? (
    -
    +
    +
    { - if (reserveStep === 1) { - setIsChoise(false); - setSearch(false); - setAirTraficCheck(1); - } else { - setReserveStep(reserveStep - 1); - setStep(step - 1); - } + setAirTraficCheck(1); }} > - 취소 - -
    -
    - + 항공교통 조회 +
    + + <> + {airTraficCheck === 1 && } + {airTraficCheck === 2 && } + {airTraficCheck === 3 && } + {airTraficCheck === 4 && } +
    ) : ( -
    -
    - -
    -
    + <> + {reserveStep === 1 && } + {reserveStep === 2 && } + {reserveStep === 3 && } + {reserveStep === 4 && } + {reserveStep !== 4 ? ( +
    +
    + +
    +
    + +
    +
    + ) : ( +
    +
    + +
    +
    + )} + )} - - )} - {/*
    */} - {/* */} -
    +
    +
    + ); }