diff --git a/package-lock.json b/package-lock.json index 1404fb954..b5e95e459 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3181,7 +3181,6 @@ "version": "1.3.7", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", - "dev": true, "requires": { "mime-types": "~2.1.24", "negotiator": "0.6.2" @@ -3202,8 +3201,7 @@ "after": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz", - "integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=", - "dev": true + "integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=" }, "agent-base": { "version": "4.3.0", @@ -3426,8 +3424,7 @@ "arraybuffer.slice": { "version": "0.0.7", "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz", - "integrity": "sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog==", - "dev": true + "integrity": "sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog==" }, "arrify": { "version": "1.0.1", @@ -3537,8 +3534,7 @@ "async-limiter": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", - "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", - "dev": true + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==" }, "asynckit": { "version": "0.4.0", @@ -3681,8 +3677,7 @@ "backo2": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", - "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=", - "dev": true + "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=" }, "balanced-match": { "version": "1.0.0", @@ -3747,8 +3742,7 @@ "base64-arraybuffer": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz", - "integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg=", - "dev": true + "integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg=" }, "base64-js": { "version": "1.3.1", @@ -3758,8 +3752,7 @@ "base64id": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", - "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==", - "dev": true + "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==" }, "batch": { "version": "0.6.1", @@ -3780,7 +3773,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz", "integrity": "sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI=", - "dev": true, "requires": { "callsite": "1.0.0" } @@ -3846,8 +3838,7 @@ "blob": { "version": "0.0.5", "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.5.tgz", - "integrity": "sha512-gaqbzQPqOoamawKg0LGVd7SzLgXS+JH61oWprSLH+P+abTczqJbhTR8CmJ2u9/bUYNmHTGJx/UEmn6doAvvuig==", - "dev": true + "integrity": "sha512-gaqbzQPqOoamawKg0LGVd7SzLgXS+JH61oWprSLH+P+abTczqJbhTR8CmJ2u9/bUYNmHTGJx/UEmn6doAvvuig==" }, "blocking-proxy": { "version": "1.0.1", @@ -4230,8 +4221,7 @@ "callsite": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", - "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=", - "dev": true + "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=" }, "callsites": { "version": "2.0.0", @@ -4646,20 +4636,17 @@ "component-bind": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz", - "integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=", - "dev": true + "integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=" }, "component-emitter": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", - "dev": true + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" }, "component-inherit": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz", - "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=", - "dev": true + "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=" }, "compressible": { "version": "2.0.18", @@ -5269,8 +5256,7 @@ "core-js": { "version": "3.6.4", "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.6.4.tgz", - "integrity": "sha512-4paDGScNgZP2IXXilaffL9X7968RuvwlkK3xWtZRVqgd8SYNiVKRJvkFd1aqqEuPfN7E68ZHEp9hDj6lHj4Hyw==", - "dev": true + "integrity": "sha512-4paDGScNgZP2IXXilaffL9X7968RuvwlkK3xWtZRVqgd8SYNiVKRJvkFd1aqqEuPfN7E68ZHEp9hDj6lHj4Hyw==" }, "core-js-compat": { "version": "3.6.5", @@ -6226,7 +6212,6 @@ "version": "3.4.2", "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.4.2.tgz", "integrity": "sha512-b4Q85dFkGw+TqgytGPrGgACRUhsdKc9S9ErRAXpPGy/CXKs4tYoHDkvIRdsseAF7NjfVwjRFIn6KTnbw7LwJZg==", - "dev": true, "requires": { "accepts": "~1.3.4", "base64id": "2.0.0", @@ -6239,14 +6224,12 @@ "cookie": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", - "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=", - "dev": true + "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=" }, "ws": { "version": "7.3.1", "resolved": "https://registry.npmjs.org/ws/-/ws-7.3.1.tgz", - "integrity": "sha512-D3RuNkynyHmEJIpD2qrgVkc9DQ23OrN/moAwZX4L8DfvszsJxpjQuUq3LMx6HoYji9fbIOBY18XWBsAux1ZZUA==", - "dev": true + "integrity": "sha512-D3RuNkynyHmEJIpD2qrgVkc9DQ23OrN/moAwZX4L8DfvszsJxpjQuUq3LMx6HoYji9fbIOBY18XWBsAux1ZZUA==" } } }, @@ -6254,7 +6237,6 @@ "version": "3.4.3", "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.4.3.tgz", "integrity": "sha512-0NGY+9hioejTEJCaSJZfWZLk4FPI9dN+1H1C4+wj2iuFba47UgZbJzfWs4aNFajnX/qAaYKbe2lLTfEEWzCmcw==", - "dev": true, "requires": { "component-emitter": "~1.3.0", "component-inherit": "0.0.3", @@ -6273,7 +6255,6 @@ "version": "6.1.4", "resolved": "https://registry.npmjs.org/ws/-/ws-6.1.4.tgz", "integrity": "sha512-eqZfL+NE/YQc1/ZynhojeV8q+H050oR8AZ2uIev7RU10svA9ZnJUddHcOUZTJLinZ9yEfdA2kSATS2qZK5fhJA==", - "dev": true, "requires": { "async-limiter": "~1.0.0" } @@ -6284,7 +6265,6 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.2.0.tgz", "integrity": "sha512-6I3qD9iUxotsC5HEMuuGsKA0cXerGz+4uGcXQEkfBidgKf0amsjrrtwcbwK/nzpZBxclXlV7gGl9dgWvu4LF6w==", - "dev": true, "requires": { "after": "0.8.2", "arraybuffer.slice": "~0.0.7", @@ -7266,7 +7246,6 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.3.tgz", "integrity": "sha512-G1LWKhDSvhGeAQ8mPVQlqNcOB2sJdwATtZKl2pDKKHfpf/rYj24lkinxf69blJbnsvtqqNU+L3SL50vzZhXOnw==", - "dev": true, "requires": { "isarray": "2.0.1" }, @@ -7274,16 +7253,14 @@ "isarray": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", - "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=", - "dev": true + "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=" } } }, "has-cors": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz", - "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=", - "dev": true + "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=" }, "has-flag": { "version": "3.0.0", @@ -7863,8 +7840,7 @@ "indexof": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", - "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=", - "dev": true + "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=" }, "infer-owner": { "version": "1.0.4", @@ -9449,14 +9425,12 @@ "mime-db": { "version": "1.44.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", - "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==", - "dev": true + "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==" }, "mime-types": { "version": "2.1.27", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", - "dev": true, "requires": { "mime-db": "1.44.0" } @@ -9741,8 +9715,7 @@ "negotiator": { "version": "0.6.2", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", - "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", - "dev": true + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" }, "neo-async": { "version": "2.6.2", @@ -9750,6 +9723,19 @@ "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", "dev": true }, + "ngx-socket-io": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ngx-socket-io/-/ngx-socket-io-3.2.0.tgz", + "integrity": "sha512-gxphw9yiHvnCavZutCRG6JCYNeguIon5Fxo4+8VCnMThtEy45vrZ3UmczR1ZH9vjJTkoaAS8YtqG8TdqDu5DkQ==", + "requires": { + "core-js": "^3.0.0", + "reflect-metadata": "^0.1.10", + "socket.io": "^2.2.0", + "socket.io-client": "^2.2.0", + "tslib": "^1.9.0", + "zone.js": "^0.10.1" + } + }, "nice-try": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", @@ -10059,8 +10045,7 @@ "object-component": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz", - "integrity": "sha1-8MaapQ78lbhmwYb0AKM3acsvEpE=", - "dev": true + "integrity": "sha1-8MaapQ78lbhmwYb0AKM3acsvEpE=" }, "object-copy": { "version": "0.1.0", @@ -10530,7 +10515,6 @@ "version": "0.0.5", "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz", "integrity": "sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0=", - "dev": true, "requires": { "better-assert": "~1.0.0" } @@ -10539,7 +10523,6 @@ "version": "0.0.5", "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz", "integrity": "sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo=", - "dev": true, "requires": { "better-assert": "~1.0.0" } @@ -12134,8 +12117,7 @@ "reflect-metadata": { "version": "0.1.13", "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz", - "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==", - "dev": true + "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==" }, "regenerate": { "version": "1.4.1", @@ -13073,7 +13055,6 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.3.0.tgz", "integrity": "sha512-2A892lrj0GcgR/9Qk81EaY2gYhCBxurV0PfmmESO6p27QPrUK1J3zdns+5QPqvUYK2q657nSj0guoIil9+7eFg==", - "dev": true, "requires": { "debug": "~4.1.0", "engine.io": "~3.4.0", @@ -13086,14 +13067,12 @@ "socket.io-adapter": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-1.1.2.tgz", - "integrity": "sha512-WzZRUj1kUjrTIrUKpZLEzFZ1OLj5FwLlAFQs9kuZJzJi5DKdU7FsWc36SNmA8iDOtwBQyT8FkrriRM8vXLYz8g==", - "dev": true + "integrity": "sha512-WzZRUj1kUjrTIrUKpZLEzFZ1OLj5FwLlAFQs9kuZJzJi5DKdU7FsWc36SNmA8iDOtwBQyT8FkrriRM8vXLYz8g==" }, "socket.io-client": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.3.0.tgz", "integrity": "sha512-cEQQf24gET3rfhxZ2jJ5xzAOo/xhZwK+mOqtGRg5IowZsMgwvHwnf/mCRapAAkadhM26y+iydgwsXGObBB5ZdA==", - "dev": true, "requires": { "backo2": "1.0.2", "base64-arraybuffer": "0.1.5", @@ -13114,26 +13093,22 @@ "component-emitter": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", - "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", - "dev": true + "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=" }, "isarray": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", - "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=", - "dev": true + "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=" }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" }, "socket.io-parser": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.3.0.tgz", "integrity": "sha512-hczmV6bDgdaEbVqhAeVMM/jfUfzuEZHsQg6eOmLgJht6G3mPKMxYm75w2+qhAQZ+4X+1+ATZ+QFKeOZD5riHng==", - "dev": true, "requires": { "component-emitter": "1.2.1", "debug": "~3.1.0", @@ -13144,7 +13119,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, "requires": { "ms": "2.0.0" } @@ -13157,7 +13131,6 @@ "version": "3.4.1", "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.4.1.tgz", "integrity": "sha512-11hMgzL+WCLWf1uFtHSNvliI++tcRUWdoeYuwIl+Axvwy9z2gQM+7nJyN3STj1tLj5JyIUH8/gpDGxzAlDdi0A==", - "dev": true, "requires": { "component-emitter": "1.2.1", "debug": "~4.1.0", @@ -13167,14 +13140,12 @@ "component-emitter": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", - "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", - "dev": true + "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=" }, "isarray": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", - "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=", - "dev": true + "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=" } } }, @@ -14119,8 +14090,7 @@ "to-array": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz", - "integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA=", - "dev": true + "integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA=" }, "to-arraybuffer": { "version": "1.0.1", @@ -15746,8 +15716,7 @@ "xmlhttprequest-ssl": { "version": "1.5.5", "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz", - "integrity": "sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4=", - "dev": true + "integrity": "sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4=" }, "xtend": { "version": "4.0.2", @@ -15810,8 +15779,7 @@ "yeast": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz", - "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=", - "dev": true + "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=" }, "yn": { "version": "3.1.1", diff --git a/package.json b/package.json index 011e748d5..e77a54e8a 100644 --- a/package.json +++ b/package.json @@ -38,8 +38,10 @@ "ionic-selectable": "^4.5.0", "ionic2-calendar": "^0.6.6", "moment": "^2.27.0", + "ngx-socket-io": "^3.2.0", "rxjs": "~6.5.1", "sharp": "^0.25.4", + "socket.io-client": "^2.3.0", "tslib": "^1.10.0", "zone.js": "~0.10.2" }, @@ -94,4 +96,4 @@ "android" ] } -} \ No newline at end of file +} diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts index 2bf35e96a..b60ed7505 100644 --- a/src/app/app-routing.module.ts +++ b/src/app/app-routing.module.ts @@ -1,42 +1,46 @@ -import { NgModule } from '@angular/core'; -import { PreloadAllModules, RouterModule, Routes } from '@angular/router'; - -const routes: Routes = [ - { - path: '', - loadChildren: () => import('./index/index.module').then(m => m.IndexPageModule) - }, - { - path: '', - loadChildren: () => import('./home/home.module').then( m => m.HomePageModule) +import { NgModule } from '@angular/core'; +import { PreloadAllModules, RouterModule, Routes } from '@angular/router'; + +const routes: Routes = [ + { + path: '', + loadChildren: () => import('./index/index.module').then(m => m.IndexPageModule) + }, + { + path: '', + loadChildren: () => import('./home/home.module').then( m => m.HomePageModule) + }, { + path: 'chat', + loadChildren: () => import('./pages/chat/chat.module').then( m => m.ChatPageModule) }, - /* { - path: 'cal-modal', - loadChildren: () => import('./pages/cal-modal/cal-modal.module').then( m => m.CalModalPageModule) - }, */ - /* { - path: 'events', - loadChildren: () => import('./pages/events/events.module').then( m => m.EventsPageModule) - }, */ - - /* - { - path: 'gabinete-digital-menu', - loadChildren: () => import('./pages/gabinete-digital-menu/gabinete-digital-menu.module').then( m => m.GabineteDigitalMenuPageModule) - }, - - - { - path: 'view-event', - loadChildren: () => import('./pages/view-event/view-event.module').then( m => m.ViewEventPageModule) - }, */ - -]; -@NgModule({ - imports: [ - RouterModule.forRoot(routes, { preloadingStrategy: PreloadAllModules }) - ], - exports: [RouterModule] -}) -export class AppRoutingModule {} + + /* { + path: 'cal-modal', + loadChildren: () => import('./pages/cal-modal/cal-modal.module').then( m => m.CalModalPageModule) + }, */ + /* { + path: 'events', + loadChildren: () => import('./pages/events/events.module').then( m => m.EventsPageModule) + }, */ + + /* + { + path: 'gabinete-digital-menu', + loadChildren: () => import('./pages/gabinete-digital-menu/gabinete-digital-menu.module').then( m => m.GabineteDigitalMenuPageModule) + }, + + + { + path: 'view-event', + loadChildren: () => import('./pages/view-event/view-event.module').then( m => m.ViewEventPageModule) + }, */ + +]; +@NgModule({ + imports: [ + RouterModule.forRoot(routes, { preloadingStrategy: PreloadAllModules }) + ], + exports: [RouterModule] +}) +export class AppRoutingModule {} diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 43639987b..3fce2edb7 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -12,10 +12,13 @@ import { HttpClientModule } from '@angular/common/http'; import { InAppBrowser } from '@ionic-native/in-app-browser/ngx'; +import { SocketIoModule, SocketIoConfig } from 'ngx-socket-io'; +const config: SocketIoConfig = { url: 'http://localhost:3001', options: {} }; + @NgModule({ declarations: [AppComponent], entryComponents: [], - imports: [BrowserModule, IonicModule.forRoot(), AppRoutingModule, HttpClientModule], + imports: [BrowserModule, IonicModule.forRoot(), AppRoutingModule, HttpClientModule, SocketIoModule.forRoot(config)], providers: [ StatusBar, SplashScreen, diff --git a/src/app/components/calendar/calendar.component.html b/src/app/components/calendar/calendar.component.html index 130b6ab1b..a23ca3d0c 100644 --- a/src/app/components/calendar/calendar.component.html +++ b/src/app/components/calendar/calendar.component.html @@ -1,22 +1,2 @@
-
-
- -
-

Janeiro de 2020

-

Segunda-feira, 7 de Stembro

-
- -
-
-
D
-
S
-
T
-
Q
-
Q
-
S
-
S
-
-
-
diff --git a/src/app/components/calendar/calendar.component.scss b/src/app/components/calendar/calendar.component.scss index e69de29bb..ef8de7ae7 100644 --- a/src/app/components/calendar/calendar.component.scss +++ b/src/app/components/calendar/calendar.component.scss @@ -0,0 +1,20 @@ +* { + margin: 0; + padding: 0; + box-sizing: border-box; + font-family: "Quicksand", sans-serif; + } + + html { + font-size: 62.5%; + } + + .container { + width: 100%; + height: 100vh; + background-color: #12121f; + color: #eee; + display: flex; + justify-content: center; + align-items: center; + } \ No newline at end of file diff --git a/src/app/components/calendar/calendar.component.ts b/src/app/components/calendar/calendar.component.ts index 160041d29..f2a841df3 100644 --- a/src/app/components/calendar/calendar.component.ts +++ b/src/app/components/calendar/calendar.component.ts @@ -7,8 +7,35 @@ import { Component, OnInit } from '@angular/core'; }) export class CalendarComponent implements OnInit { + date = new Date(); + months = [ + "Janeiro", + "Fevereiro", + "Março", + "Abril", + "Maio", + "Junho", + "Julho", + "Agosto", + "Setembro", + "Outubro", + "Novembro", + "Dezembro", + ]; + weekdays = [ + "Domingo", + "Segunda-feira", + "Terça-feira", + "Quarta-feira", + "Quinta-feira", + "Sexta-feira", + "Sábado" + ]; + currentMonth = this.months[this.date.getMonth()]; + customDate = this.weekdays[this.date.getDay()]+ ", " + this.date.getDate() +" de " + ( this.months[this.date.getMonth()]); + constructor() { } - ngOnInit() {} - + ngOnInit() { + } } diff --git a/src/app/home/home-routing.module.ts b/src/app/home/home-routing.module.ts index ea9eb57db..670731f0a 100644 --- a/src/app/home/home-routing.module.ts +++ b/src/app/home/home-routing.module.ts @@ -103,7 +103,7 @@ const routes: Routes = [ } ] }, - { + /* { path: 'expediente', children: [ { @@ -111,12 +111,16 @@ const routes: Routes = [ loadChildren: ()=> import('../pages/gabinete-digital/expediente/expediente.module').then(m => m.ExpedientePageModule) } ] - }, - /* PROVISORIO */ - /* { - path: 'view-event', - loadChildren: ()=> import('../pages/view-event/view-event.module').then(m => m.ViewEventPageModule) }, */ + { + path: 'chat', + children: [ + { + path:'', + loadChildren: ()=> import('../pages/chat/chat.module').then(m => m.ChatPageModule) + } + ] + }, ] }, { diff --git a/src/app/home/home.page.html b/src/app/home/home.page.html index 55b3fb3cc..efc733c78 100644 --- a/src/app/home/home.page.html +++ b/src/app/home/home.page.html @@ -14,9 +14,13 @@ Gabinete Digital + + Pesquisa + --> + + + Chat + diff --git a/src/app/pages/agenda/agenda.page.html b/src/app/pages/agenda/agenda.page.html index 5dd821f0c..ea048c715 100644 --- a/src/app/pages/agenda/agenda.page.html +++ b/src/app/pages/agenda/agenda.page.html @@ -27,8 +27,9 @@ - - + + + @@ -55,7 +56,6 @@ - + + chat + + + + + + +

{{message.user}}

+ {{message.msg}} +
{{message.createdAt | date: 'HH:mm'}}
+
+ + +

{{message.user}}

+ {{message.msg}} +
{{message.createdAt | date: 'HH:mm'}}
+
+
+ +
+ +
+ + + + + + + + + + + + + + diff --git a/src/app/pages/chat/chat.page.scss b/src/app/pages/chat/chat.page.scss new file mode 100644 index 000000000..89c4e3b15 --- /dev/null +++ b/src/app/pages/chat/chat.page.scss @@ -0,0 +1,50 @@ +ion-content{ + background-color:#fefefe; +} +.chat-container{ + margin: 10px 10px 0 10px; +} +.message { + padding: 5px 5px 5px 10px; + border-radius: 10px; + margin-bottom: 10px; + white-space: pre-wrap; + } + + .my-message { + background: var(--ion-color-primary); + color: #fff; + } + .my-message p{ + margin: 0; + padding: 0; + color: #9ab8e9; + } + .message-date{ + font-size: 10px; + text-align: right; + margin-right: 5px; + } + + .other-message { + background: #f2f3f7; + color: #333; + } + .other-message p{ + margin: 0; + padding: 0; + color:#959ba7; +} + + .message-input { + margin-top: 0px; + border: 1px solid var(--ion-color-medium); + border-radius: 20px; + background: #fff; + padding: 0; + margin: 0; + } + + + + diff --git a/src/app/pages/chat/chat.page.spec.ts b/src/app/pages/chat/chat.page.spec.ts new file mode 100644 index 000000000..d499f6bfc --- /dev/null +++ b/src/app/pages/chat/chat.page.spec.ts @@ -0,0 +1,24 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { IonicModule } from '@ionic/angular'; + +import { ChatPage } from './chat.page'; + +describe('ChatPage', () => { + let component: ChatPage; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ ChatPage ], + imports: [IonicModule.forRoot()] + }).compileComponents(); + + fixture = TestBed.createComponent(ChatPage); + component = fixture.componentInstance; + fixture.detectChanges(); + })); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/pages/chat/chat.page.ts b/src/app/pages/chat/chat.page.ts new file mode 100644 index 000000000..b6cee9d1e --- /dev/null +++ b/src/app/pages/chat/chat.page.ts @@ -0,0 +1,52 @@ +import { Component, OnInit } from '@angular/core'; +import { Socket } from 'ngx-socket-io'; +import { ToastController } from '@ionic/angular'; +import { WebsocketService } from 'src/app/services/websocket.service'; +import { fromEvent } from 'rxjs'; + +@Component({ + selector: 'app-chat', + templateUrl: './chat.page.html', + styleUrls: ['./chat.page.scss'], +}) +export class ChatPage implements OnInit { + + message = ''; + messages = []; + currentUser = ''; + + constructor(private websocket:WebsocketService, private socket: Socket) { } + + ngOnInit() { + console.log("ON"); + this.socket.connect(); + + /* Set current user */ + let name = `User-${new Date().getTime()}`; + this.currentUser=name; + + this.socket.emit('set-name', name); + + /* Reat from event calling "fromEvent" */ + this.socket.fromEvent('users-changed').subscribe(data =>{ + console.log('gOT data:', data); + }); + + /* Add message to the array of messages */ + this.socket.fromEvent('message').subscribe(message =>{ + console.log('New:', message); + this.messages.push(message); + }); + + + } + sendMessage(){ + this.socket.emit('send-message', {text: this.message}); + this.message=""; + } + + ionViewWillLeave(){ + this.socket.disconnect(); + } + +} diff --git a/src/app/services/websocket.service.spec.ts b/src/app/services/websocket.service.spec.ts new file mode 100644 index 000000000..bf797727f --- /dev/null +++ b/src/app/services/websocket.service.spec.ts @@ -0,0 +1,16 @@ +import { TestBed } from '@angular/core/testing'; + +import { WebsocketService } from './websocket.service'; + +describe('WebsocketService', () => { + let service: WebsocketService; + + beforeEach(() => { + TestBed.configureTestingModule({}); + service = TestBed.inject(WebsocketService); + }); + + it('should be created', () => { + expect(service).toBeTruthy(); + }); +}); diff --git a/src/app/services/websocket.service.ts b/src/app/services/websocket.service.ts new file mode 100644 index 000000000..5235b65f5 --- /dev/null +++ b/src/app/services/websocket.service.ts @@ -0,0 +1,21 @@ +import { Injectable } from '@angular/core'; +import * as io from 'socket.io-client'; +import { Observable } from 'rxjs'; +import { Socket } from 'ngx-socket-io'; + +@Injectable({ + providedIn: 'root' +}) +export class WebsocketService { + + message = ''; + messages = []; + currentUser = ''; + + constructor(private socket: Socket) { } + + connect(){ + return this.socket.connect(); + } + +} diff --git a/src/polyfills.ts b/src/polyfills.ts index 316184e78..4978c5cf6 100644 --- a/src/polyfills.ts +++ b/src/polyfills.ts @@ -64,3 +64,4 @@ import 'zone.js/dist/zone'; // Included with Angular CLI. /*************************************************************************************************** * APPLICATION IMPORTS */ +(window as any).global = window; \ No newline at end of file