parent
d1eee6cb26
commit
61e90459d6
@ -1,4 +1,4 @@
|
||||
# CardProject
|
||||
# FashionLogica
|
||||
|
||||
This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 14.0.6.
|
||||
|
||||
|
||||
12
angular.json
12
angular.json
@ -3,7 +3,7 @@
|
||||
"version": 1,
|
||||
"newProjectRoot": "projects",
|
||||
"projects": {
|
||||
"card-project": {
|
||||
"fashion-logica": {
|
||||
"projectType": "application",
|
||||
"schematics": {
|
||||
"@schematics/angular:component": {
|
||||
@ -17,7 +17,7 @@
|
||||
"build": {
|
||||
"builder": "@angular-devkit/build-angular:browser",
|
||||
"options": {
|
||||
"outputPath": "dist/card-project",
|
||||
"outputPath": "dist/fashion-logica",
|
||||
"index": "src/index.html",
|
||||
"main": "src/main.ts",
|
||||
"polyfills": "src/polyfills.ts",
|
||||
@ -32,6 +32,8 @@
|
||||
"node_modules/primeng/resources/themes/bootstrap4-light-blue/theme.css",
|
||||
"node_modules/primeicons/primeicons.css",
|
||||
"node_modules/primeng/resources/primeng.min.css",
|
||||
"node_modules/ngx-sharebuttons/themes/modern.scss",
|
||||
"node_modules/ngx-sharebuttons/themes/material.scss",
|
||||
"src/styles.scss"
|
||||
],
|
||||
"scripts": [],
|
||||
@ -75,10 +77,10 @@
|
||||
"builder": "@angular-devkit/build-angular:dev-server",
|
||||
"configurations": {
|
||||
"production": {
|
||||
"browserTarget": "card-project:build:production"
|
||||
"browserTarget": "fashion-logica:build:production"
|
||||
},
|
||||
"development": {
|
||||
"browserTarget": "card-project:build:development"
|
||||
"browserTarget": "fashion-logica:build:development"
|
||||
}
|
||||
},
|
||||
"defaultConfiguration": "development"
|
||||
@ -86,7 +88,7 @@
|
||||
"extract-i18n": {
|
||||
"builder": "@angular-devkit/build-angular:extract-i18n",
|
||||
"options": {
|
||||
"browserTarget": "card-project:build"
|
||||
"browserTarget": "fashion-logica:build"
|
||||
}
|
||||
},
|
||||
"test": {
|
||||
|
||||
251
package-lock.json
generated
251
package-lock.json
generated
@ -1,14 +1,15 @@
|
||||
{
|
||||
"name": "card-project",
|
||||
"name": "fashion-logica",
|
||||
"version": "0.0.0",
|
||||
"lockfileVersion": 2,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "card-project",
|
||||
"name": "fashion-logica",
|
||||
"version": "0.0.0",
|
||||
"dependencies": {
|
||||
"@angular/animations": "^14.0.0",
|
||||
"@angular/cdk": "^14.2.1",
|
||||
"@angular/common": "^14.0.0",
|
||||
"@angular/compiler": "^14.0.0",
|
||||
"@angular/core": "^14.0.0",
|
||||
@ -18,12 +19,18 @@
|
||||
"@angular/platform-browser-dynamic": "^14.0.0",
|
||||
"@angular/router": "^14.0.0",
|
||||
"@angular/service-worker": "^14.0.0",
|
||||
"@fortawesome/angular-fontawesome": "^0.11.1",
|
||||
"@fortawesome/fontawesome-svg-core": "^6.2.0",
|
||||
"@fortawesome/free-brands-svg-icons": "^6.2.0",
|
||||
"@fortawesome/free-solid-svg-icons": "^6.2.0",
|
||||
"@types/uuid": "^8.3.4",
|
||||
"angular-moment-timezone": "^1.7.1",
|
||||
"angularx-qrcode": "^14.0.0",
|
||||
"barcode-2-svg": "^0.3.3",
|
||||
"firebase": "^9.9.3",
|
||||
"google-libphonenumber": "^3.2.30",
|
||||
"jsbarcode": "^3.11.5",
|
||||
"ngx-sharebuttons": "^11.0.0",
|
||||
"primeicons": "^5.0.0",
|
||||
"primeng": "^14.0.1",
|
||||
"rxjs": "~7.5.0",
|
||||
@ -384,6 +391,28 @@
|
||||
"@angular/core": "14.1.3"
|
||||
}
|
||||
},
|
||||
"node_modules/@angular/cdk": {
|
||||
"version": "14.2.1",
|
||||
"resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-14.2.1.tgz",
|
||||
"integrity": "sha512-saLFOZeyYQ6ELvPYqePsC8yXzDYjrCXGKGLtwAG/1mUlXcVTC0V1c3SabU4JR7Z+Zo1tOmzkWxuUkrw7uvaJHA==",
|
||||
"dependencies": {
|
||||
"tslib": "^2.3.0"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"parse5": "^5.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@angular/common": "^14.0.0 || ^15.0.0",
|
||||
"@angular/core": "^14.0.0 || ^15.0.0",
|
||||
"rxjs": "^6.5.3 || ^7.4.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@angular/cdk/node_modules/parse5": {
|
||||
"version": "5.1.1",
|
||||
"resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz",
|
||||
"integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==",
|
||||
"optional": true
|
||||
},
|
||||
"node_modules/@angular/cli": {
|
||||
"version": "14.0.7",
|
||||
"resolved": "https://registry.npmjs.org/@angular/cli/-/cli-14.0.7.tgz",
|
||||
@ -2415,6 +2444,20 @@
|
||||
"node": ">=0.1.90"
|
||||
}
|
||||
},
|
||||
"node_modules/@cordobo/qrcode": {
|
||||
"version": "1.5.0",
|
||||
"resolved": "https://registry.npmjs.org/@cordobo/qrcode/-/qrcode-1.5.0.tgz",
|
||||
"integrity": "sha512-aZ5n3MYw10t4v68EGvRGE1DL7iWfAiTUy4MSZRoqjHTRYdjX40sYgJf48NZa6zZeXVuJOEB/1Ni9KzS+C/EC0w==",
|
||||
"dependencies": {
|
||||
"dijkstrajs": "^1.0.1",
|
||||
"encode-utf8": "^1.0.3",
|
||||
"pngjs": "^5.0.0",
|
||||
"yargs": "^17.3.1"
|
||||
},
|
||||
"bin": {
|
||||
"qrcode": "bin/qrcode"
|
||||
}
|
||||
},
|
||||
"node_modules/@csstools/postcss-cascade-layers": {
|
||||
"version": "1.0.5",
|
||||
"resolved": "https://registry.npmjs.org/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.0.5.tgz",
|
||||
@ -3161,6 +3204,63 @@
|
||||
"resolved": "https://registry.npmjs.org/@firebase/webchannel-wrapper/-/webchannel-wrapper-0.6.2.tgz",
|
||||
"integrity": "sha512-zThUKcqIU6utWzM93uEvhlh8qj8A5LMPFJPvk/ODb+8GSSif19xM2Lw1M2ijyBy8+6skSkQBbavPzOU5Oh/8tQ=="
|
||||
},
|
||||
"node_modules/@fortawesome/angular-fontawesome": {
|
||||
"version": "0.11.1",
|
||||
"resolved": "https://registry.npmjs.org/@fortawesome/angular-fontawesome/-/angular-fontawesome-0.11.1.tgz",
|
||||
"integrity": "sha512-Ngzm5MVxk76ZhYpPTNOI/mpYNz9bzwfBXC5L9mktLgOONjBuYBPVt+bH8lny8hNtDk0ppZzXsMN6CO7hckdfnw==",
|
||||
"dependencies": {
|
||||
"tslib": "^2.4.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@angular/core": "^14.0.0",
|
||||
"@fortawesome/fontawesome-svg-core": "~1.2.27 || ~1.3.0-beta2 || ^6.1.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@fortawesome/fontawesome-common-types": {
|
||||
"version": "6.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.2.0.tgz",
|
||||
"integrity": "sha512-rBevIsj2nclStJ7AxTdfsa3ovHb1H+qApwrxcTVo+NNdeJiB9V75hsKfrkG5AwNcRUNxrPPiScGYCNmLMoh8pg==",
|
||||
"hasInstallScript": true,
|
||||
"engines": {
|
||||
"node": ">=6"
|
||||
}
|
||||
},
|
||||
"node_modules/@fortawesome/fontawesome-svg-core": {
|
||||
"version": "6.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.2.0.tgz",
|
||||
"integrity": "sha512-Cf2mAAeMWFMzpLC7Y9H1I4o3wEU+XovVJhTiNG8ZNgSQj53yl7OCJaS80K4YjrABWZzbAHVaoHE1dVJ27AAYXw==",
|
||||
"hasInstallScript": true,
|
||||
"dependencies": {
|
||||
"@fortawesome/fontawesome-common-types": "6.2.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=6"
|
||||
}
|
||||
},
|
||||
"node_modules/@fortawesome/free-brands-svg-icons": {
|
||||
"version": "6.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@fortawesome/free-brands-svg-icons/-/free-brands-svg-icons-6.2.0.tgz",
|
||||
"integrity": "sha512-fm1y4NyZ2qKYNmYhdMz9VAWRw1Et7PMHNunSw3W0SVAwKwv6o0qiJworLH3Y9SnmhHzAymXJwCX1op22FFvGiA==",
|
||||
"hasInstallScript": true,
|
||||
"dependencies": {
|
||||
"@fortawesome/fontawesome-common-types": "6.2.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=6"
|
||||
}
|
||||
},
|
||||
"node_modules/@fortawesome/free-solid-svg-icons": {
|
||||
"version": "6.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-6.2.0.tgz",
|
||||
"integrity": "sha512-UjCILHIQ4I8cN46EiQn0CZL/h8AwCGgR//1c4R96Q5viSRwuKVo0NdQEc4bm+69ZwC0dUvjbDqAHF1RR5FA3XA==",
|
||||
"hasInstallScript": true,
|
||||
"dependencies": {
|
||||
"@fortawesome/fontawesome-common-types": "6.2.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=6"
|
||||
}
|
||||
},
|
||||
"node_modules/@gar/promisify": {
|
||||
"version": "1.1.3",
|
||||
"resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz",
|
||||
@ -4380,6 +4480,18 @@
|
||||
"resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.8.29.tgz",
|
||||
"integrity": "sha512-mla2acNCMkWXBD+c+yeUrBUrzOxYMNFdQ6FGfigGGtEVBPJx07BQeJekjt9DmH1FtZek4E9rE1eRR9qQpxACOQ=="
|
||||
},
|
||||
"node_modules/angularx-qrcode": {
|
||||
"version": "14.0.0",
|
||||
"resolved": "https://registry.npmjs.org/angularx-qrcode/-/angularx-qrcode-14.0.0.tgz",
|
||||
"integrity": "sha512-PfWPz6YpKnTeIYzBjLniKXy/Y4/id0v/dDASQi4756+WYLu94cUMYFndGTFigjeBuk8i5BG0Q8ePHgYYvHbk2w==",
|
||||
"dependencies": {
|
||||
"@cordobo/qrcode": "1.5.0",
|
||||
"tslib": "^2.3.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@angular/core": "^14.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/ansi-colors": {
|
||||
"version": "4.1.3",
|
||||
"resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz",
|
||||
@ -5832,6 +5944,11 @@
|
||||
"integrity": "sha512-uJaamHkagcZtHPqCIHZxnFrXlunQXgBOsZSUOWwFw31QJCAbyTBoHMW75YOTur5ZNx8pIeAKgf6GWIgaqqiLhA==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/dijkstrajs": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/dijkstrajs/-/dijkstrajs-1.0.2.tgz",
|
||||
"integrity": "sha512-QV6PMaHTCNmKSeP6QoXhVTw9snc9VD8MulTT0Bd99Pacp4SS1cjcrYPgBPmibqKVtMJJfqC6XvOXgPMEEPH/fg=="
|
||||
},
|
||||
"node_modules/dir-glob": {
|
||||
"version": "3.0.1",
|
||||
"resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
|
||||
@ -5958,6 +6075,11 @@
|
||||
"resolved": "https://registry.npmjs.org/enabled/-/enabled-2.0.0.tgz",
|
||||
"integrity": "sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ=="
|
||||
},
|
||||
"node_modules/encode-utf8": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/encode-utf8/-/encode-utf8-1.0.3.tgz",
|
||||
"integrity": "sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw=="
|
||||
},
|
||||
"node_modules/encodeurl": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
|
||||
@ -9504,6 +9626,20 @@
|
||||
"resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz",
|
||||
"integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw=="
|
||||
},
|
||||
"node_modules/ngx-sharebuttons": {
|
||||
"version": "11.0.0",
|
||||
"resolved": "https://registry.npmjs.org/ngx-sharebuttons/-/ngx-sharebuttons-11.0.0.tgz",
|
||||
"integrity": "sha512-uvFQgQ6VtJu901iKcsbXFt/9jk9fWGKKD8ZQdOYK9a7HBd8z/Bmb6x1Hly1roF7AbMvCE2fYwOcbRHsEvTecbg==",
|
||||
"dependencies": {
|
||||
"tslib": "^2.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@angular/cdk": ">=14.0.0",
|
||||
"@angular/common": ">=14.0.0",
|
||||
"@angular/core": ">=14.0.0",
|
||||
"rxjs": ">=6.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/nice-napi": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/nice-napi/-/nice-napi-1.0.2.tgz",
|
||||
@ -10418,6 +10554,14 @@
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/pngjs": {
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/pngjs/-/pngjs-5.0.0.tgz",
|
||||
"integrity": "sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==",
|
||||
"engines": {
|
||||
"node": ">=10.13.0"
|
||||
}
|
||||
},
|
||||
"node_modules/postcss": {
|
||||
"version": "8.4.14",
|
||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz",
|
||||
@ -13564,7 +13708,6 @@
|
||||
"version": "17.4.1",
|
||||
"resolved": "https://registry.npmjs.org/yargs/-/yargs-17.4.1.tgz",
|
||||
"integrity": "sha512-WSZD9jgobAg3ZKuCQZSa3g9QOJeCCqLoLAykiWgmXnDo9EPnn4RPf5qVTtzgOx66o6/oqhcA5tHtJXpG8pMt3g==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"cliui": "^7.0.2",
|
||||
"escalade": "^3.1.1",
|
||||
@ -13582,7 +13725,6 @@
|
||||
"version": "21.1.1",
|
||||
"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
|
||||
"integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
}
|
||||
@ -13838,6 +13980,23 @@
|
||||
"tslib": "^2.3.0"
|
||||
}
|
||||
},
|
||||
"@angular/cdk": {
|
||||
"version": "14.2.1",
|
||||
"resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-14.2.1.tgz",
|
||||
"integrity": "sha512-saLFOZeyYQ6ELvPYqePsC8yXzDYjrCXGKGLtwAG/1mUlXcVTC0V1c3SabU4JR7Z+Zo1tOmzkWxuUkrw7uvaJHA==",
|
||||
"requires": {
|
||||
"parse5": "^5.0.0",
|
||||
"tslib": "^2.3.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"parse5": {
|
||||
"version": "5.1.1",
|
||||
"resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz",
|
||||
"integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==",
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"@angular/cli": {
|
||||
"version": "14.0.7",
|
||||
"resolved": "https://registry.npmjs.org/@angular/cli/-/cli-14.0.7.tgz",
|
||||
@ -15232,6 +15391,17 @@
|
||||
"resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz",
|
||||
"integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ=="
|
||||
},
|
||||
"@cordobo/qrcode": {
|
||||
"version": "1.5.0",
|
||||
"resolved": "https://registry.npmjs.org/@cordobo/qrcode/-/qrcode-1.5.0.tgz",
|
||||
"integrity": "sha512-aZ5n3MYw10t4v68EGvRGE1DL7iWfAiTUy4MSZRoqjHTRYdjX40sYgJf48NZa6zZeXVuJOEB/1Ni9KzS+C/EC0w==",
|
||||
"requires": {
|
||||
"dijkstrajs": "^1.0.1",
|
||||
"encode-utf8": "^1.0.3",
|
||||
"pngjs": "^5.0.0",
|
||||
"yargs": "^17.3.1"
|
||||
}
|
||||
},
|
||||
"@csstools/postcss-cascade-layers": {
|
||||
"version": "1.0.5",
|
||||
"resolved": "https://registry.npmjs.org/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.0.5.tgz",
|
||||
@ -15773,6 +15943,43 @@
|
||||
"resolved": "https://registry.npmjs.org/@firebase/webchannel-wrapper/-/webchannel-wrapper-0.6.2.tgz",
|
||||
"integrity": "sha512-zThUKcqIU6utWzM93uEvhlh8qj8A5LMPFJPvk/ODb+8GSSif19xM2Lw1M2ijyBy8+6skSkQBbavPzOU5Oh/8tQ=="
|
||||
},
|
||||
"@fortawesome/angular-fontawesome": {
|
||||
"version": "0.11.1",
|
||||
"resolved": "https://registry.npmjs.org/@fortawesome/angular-fontawesome/-/angular-fontawesome-0.11.1.tgz",
|
||||
"integrity": "sha512-Ngzm5MVxk76ZhYpPTNOI/mpYNz9bzwfBXC5L9mktLgOONjBuYBPVt+bH8lny8hNtDk0ppZzXsMN6CO7hckdfnw==",
|
||||
"requires": {
|
||||
"tslib": "^2.4.0"
|
||||
}
|
||||
},
|
||||
"@fortawesome/fontawesome-common-types": {
|
||||
"version": "6.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.2.0.tgz",
|
||||
"integrity": "sha512-rBevIsj2nclStJ7AxTdfsa3ovHb1H+qApwrxcTVo+NNdeJiB9V75hsKfrkG5AwNcRUNxrPPiScGYCNmLMoh8pg=="
|
||||
},
|
||||
"@fortawesome/fontawesome-svg-core": {
|
||||
"version": "6.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.2.0.tgz",
|
||||
"integrity": "sha512-Cf2mAAeMWFMzpLC7Y9H1I4o3wEU+XovVJhTiNG8ZNgSQj53yl7OCJaS80K4YjrABWZzbAHVaoHE1dVJ27AAYXw==",
|
||||
"requires": {
|
||||
"@fortawesome/fontawesome-common-types": "6.2.0"
|
||||
}
|
||||
},
|
||||
"@fortawesome/free-brands-svg-icons": {
|
||||
"version": "6.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@fortawesome/free-brands-svg-icons/-/free-brands-svg-icons-6.2.0.tgz",
|
||||
"integrity": "sha512-fm1y4NyZ2qKYNmYhdMz9VAWRw1Et7PMHNunSw3W0SVAwKwv6o0qiJworLH3Y9SnmhHzAymXJwCX1op22FFvGiA==",
|
||||
"requires": {
|
||||
"@fortawesome/fontawesome-common-types": "6.2.0"
|
||||
}
|
||||
},
|
||||
"@fortawesome/free-solid-svg-icons": {
|
||||
"version": "6.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-6.2.0.tgz",
|
||||
"integrity": "sha512-UjCILHIQ4I8cN46EiQn0CZL/h8AwCGgR//1c4R96Q5viSRwuKVo0NdQEc4bm+69ZwC0dUvjbDqAHF1RR5FA3XA==",
|
||||
"requires": {
|
||||
"@fortawesome/fontawesome-common-types": "6.2.0"
|
||||
}
|
||||
},
|
||||
"@gar/promisify": {
|
||||
"version": "1.1.3",
|
||||
"resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz",
|
||||
@ -16792,6 +16999,15 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"angularx-qrcode": {
|
||||
"version": "14.0.0",
|
||||
"resolved": "https://registry.npmjs.org/angularx-qrcode/-/angularx-qrcode-14.0.0.tgz",
|
||||
"integrity": "sha512-PfWPz6YpKnTeIYzBjLniKXy/Y4/id0v/dDASQi4756+WYLu94cUMYFndGTFigjeBuk8i5BG0Q8ePHgYYvHbk2w==",
|
||||
"requires": {
|
||||
"@cordobo/qrcode": "1.5.0",
|
||||
"tslib": "^2.3.0"
|
||||
}
|
||||
},
|
||||
"ansi-colors": {
|
||||
"version": "4.1.3",
|
||||
"resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz",
|
||||
@ -17860,6 +18076,11 @@
|
||||
"integrity": "sha512-uJaamHkagcZtHPqCIHZxnFrXlunQXgBOsZSUOWwFw31QJCAbyTBoHMW75YOTur5ZNx8pIeAKgf6GWIgaqqiLhA==",
|
||||
"dev": true
|
||||
},
|
||||
"dijkstrajs": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/dijkstrajs/-/dijkstrajs-1.0.2.tgz",
|
||||
"integrity": "sha512-QV6PMaHTCNmKSeP6QoXhVTw9snc9VD8MulTT0Bd99Pacp4SS1cjcrYPgBPmibqKVtMJJfqC6XvOXgPMEEPH/fg=="
|
||||
},
|
||||
"dir-glob": {
|
||||
"version": "3.0.1",
|
||||
"resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
|
||||
@ -17959,6 +18180,11 @@
|
||||
"resolved": "https://registry.npmjs.org/enabled/-/enabled-2.0.0.tgz",
|
||||
"integrity": "sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ=="
|
||||
},
|
||||
"encode-utf8": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/encode-utf8/-/encode-utf8-1.0.3.tgz",
|
||||
"integrity": "sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw=="
|
||||
},
|
||||
"encodeurl": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
|
||||
@ -20512,6 +20738,14 @@
|
||||
"resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz",
|
||||
"integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw=="
|
||||
},
|
||||
"ngx-sharebuttons": {
|
||||
"version": "11.0.0",
|
||||
"resolved": "https://registry.npmjs.org/ngx-sharebuttons/-/ngx-sharebuttons-11.0.0.tgz",
|
||||
"integrity": "sha512-uvFQgQ6VtJu901iKcsbXFt/9jk9fWGKKD8ZQdOYK9a7HBd8z/Bmb6x1Hly1roF7AbMvCE2fYwOcbRHsEvTecbg==",
|
||||
"requires": {
|
||||
"tslib": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"nice-napi": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/nice-napi/-/nice-napi-1.0.2.tgz",
|
||||
@ -21197,6 +21431,11 @@
|
||||
"find-up": "^4.0.0"
|
||||
}
|
||||
},
|
||||
"pngjs": {
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/pngjs/-/pngjs-5.0.0.tgz",
|
||||
"integrity": "sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw=="
|
||||
},
|
||||
"postcss": {
|
||||
"version": "8.4.14",
|
||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz",
|
||||
@ -23408,7 +23647,6 @@
|
||||
"version": "17.4.1",
|
||||
"resolved": "https://registry.npmjs.org/yargs/-/yargs-17.4.1.tgz",
|
||||
"integrity": "sha512-WSZD9jgobAg3ZKuCQZSa3g9QOJeCCqLoLAykiWgmXnDo9EPnn4RPf5qVTtzgOx66o6/oqhcA5tHtJXpG8pMt3g==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"cliui": "^7.0.2",
|
||||
"escalade": "^3.1.1",
|
||||
@ -23422,8 +23660,7 @@
|
||||
"yargs-parser": {
|
||||
"version": "21.1.1",
|
||||
"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
|
||||
"integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
|
||||
"dev": true
|
||||
"integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw=="
|
||||
},
|
||||
"zone.js": {
|
||||
"version": "0.11.8",
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
{
|
||||
"name": "card-project",
|
||||
"name": "fashion-logica",
|
||||
"version": "0.0.0",
|
||||
"scripts": {
|
||||
"ng": "ng",
|
||||
@ -11,6 +11,7 @@
|
||||
"private": true,
|
||||
"dependencies": {
|
||||
"@angular/animations": "^14.0.0",
|
||||
"@angular/cdk": "^14.2.1",
|
||||
"@angular/common": "^14.0.0",
|
||||
"@angular/compiler": "^14.0.0",
|
||||
"@angular/core": "^14.0.0",
|
||||
@ -20,12 +21,18 @@
|
||||
"@angular/platform-browser-dynamic": "^14.0.0",
|
||||
"@angular/router": "^14.0.0",
|
||||
"@angular/service-worker": "^14.0.0",
|
||||
"@fortawesome/angular-fontawesome": "^0.11.1",
|
||||
"@fortawesome/fontawesome-svg-core": "^6.2.0",
|
||||
"@fortawesome/free-brands-svg-icons": "^6.2.0",
|
||||
"@fortawesome/free-solid-svg-icons": "^6.2.0",
|
||||
"@types/uuid": "^8.3.4",
|
||||
"angular-moment-timezone": "^1.7.1",
|
||||
"angularx-qrcode": "^14.0.0",
|
||||
"barcode-2-svg": "^0.3.3",
|
||||
"firebase": "^9.9.3",
|
||||
"google-libphonenumber": "^3.2.30",
|
||||
"jsbarcode": "^3.11.5",
|
||||
"ngx-sharebuttons": "^11.0.0",
|
||||
"primeicons": "^5.0.0",
|
||||
"primeng": "^14.0.1",
|
||||
"rxjs": "~7.5.0",
|
||||
|
||||
@ -20,16 +20,16 @@ describe('AppComponent', () => {
|
||||
expect(app).toBeTruthy();
|
||||
});
|
||||
|
||||
it(`should have as title 'card-project'`, () => {
|
||||
it(`should have as title 'fashion-logica'`, () => {
|
||||
const fixture = TestBed.createComponent(AppComponent);
|
||||
const app = fixture.componentInstance;
|
||||
expect(app.title).toEqual('card-project');
|
||||
expect(app.title).toEqual('fashion-logica');
|
||||
});
|
||||
|
||||
it('should render title', () => {
|
||||
const fixture = TestBed.createComponent(AppComponent);
|
||||
fixture.detectChanges();
|
||||
const compiled = fixture.nativeElement as HTMLElement;
|
||||
expect(compiled.querySelector('.content span')?.textContent).toContain('card-project app is running!');
|
||||
expect(compiled.querySelector('.content span')?.textContent).toContain('fashion-logica app is running!');
|
||||
});
|
||||
});
|
||||
|
||||
@ -6,5 +6,5 @@ import { Component } from '@angular/core';
|
||||
styleUrls: ['./app.component.scss']
|
||||
})
|
||||
export class AppComponent {
|
||||
title = 'card-project';
|
||||
title = 'fashion-logica';
|
||||
}
|
||||
|
||||
@ -27,6 +27,10 @@ import {ToastModule} from 'primeng/toast';
|
||||
import { MessageService } from 'primeng/api';
|
||||
import { FooterButtonsComponent } from './components/footer-buttons/footer-buttons.component';
|
||||
import { UserDataComponent } from './pages/account/user-data/user-data.component';
|
||||
import { RefSystemComponent } from './pages/account/ref-system/ref-system.component';
|
||||
import { QRCodeModule } from 'angularx-qrcode';
|
||||
import { ShareButtonsModule } from 'ngx-sharebuttons/buttons';
|
||||
import { ShareIconsModule } from 'ngx-sharebuttons/icons';
|
||||
|
||||
@NgModule({
|
||||
declarations: [
|
||||
@ -42,6 +46,7 @@ import { UserDataComponent } from './pages/account/user-data/user-data.component
|
||||
OrderInfoComponent,
|
||||
FooterButtonsComponent,
|
||||
UserDataComponent,
|
||||
RefSystemComponent
|
||||
],
|
||||
imports: [
|
||||
BrowserModule,
|
||||
@ -67,9 +72,14 @@ import { UserDataComponent } from './pages/account/user-data/user-data.component
|
||||
AngularFireModule.initializeApp(environment.firebase),
|
||||
AngularFireMessagingModule,
|
||||
ToastModule,
|
||||
ReactiveFormsModule
|
||||
ReactiveFormsModule,
|
||||
QRCodeModule,
|
||||
ShareButtonsModule.withConfig({
|
||||
debug: true
|
||||
}),
|
||||
ShareIconsModule
|
||||
],
|
||||
providers: [DialogService, MessageService],
|
||||
providers: [DialogService, MessageService, ],
|
||||
bootstrap: [AppComponent]
|
||||
})
|
||||
export class AppModule { }
|
||||
|
||||
@ -1,23 +1,3 @@
|
||||
<div class="container">
|
||||
<!-- <svg version="1.0" xmlns="http://www.w3.org/2000/svg" style="height: 100%; width: fit-content;"
|
||||
width="512.000000pt" height="512.000000pt" viewBox="0 0 512.000000 512.000000"
|
||||
preserveAspectRatio="xMidYMid meet">
|
||||
|
||||
<g transform="translate(0.000000,512.000000) scale(0.100000,-0.100000)"
|
||||
fill="#fff" stroke="none">
|
||||
<path d="M530 4151 c-55 -17 -110 -52 -144 -93 -70 -81 -66 5 -66 -1499 0
|
||||
-1547 -7 -1422 86 -1516 90 -91 -109 -83 2154 -83 2211 0 2056 -5 2138 66 24
|
||||
20 55 59 70 88 l27 51 0 1395 0 1395 -27 50 c-31 59 -67 94 -128 126 l-45 24
|
||||
-2020 2 c-1111 1 -2031 -2 -2045 -6z m3876 -327 c57 -27 74 -74 74 -199 l0
|
||||
-105 -1920 0 -1920 0 0 108 c0 124 15 166 71 194 32 17 141 18 1847 18 1660 0
|
||||
1817 -1 1848 -16z m74 -1852 c0 -550 -1 -589 -18 -621 -10 -19 -34 -43 -53
|
||||
-53 -32 -17 -110 -18 -1849 -18 -1708 0 -1817 1 -1850 18 -72 35 -70 17 -70
|
||||
675 l0 587 1920 0 1920 0 0 -588z"/>
|
||||
<path d="M960 2000 l0 -80 960 0 960 0 0 80 0 80 -960 0 -960 0 0 -80z"/>
|
||||
<path d="M3520 1840 l0 -240 320 0 320 0 0 240 0 240 -320 0 -320 0 0 -240z"/>
|
||||
<path d="M960 1680 l0 -80 480 0 480 0 0 80 0 80 -480 0 -480 0 0 -80z"/>
|
||||
</g>
|
||||
</svg>
|
||||
<h1 class="title">Card Project</h1> -->
|
||||
<img src="../../../assets/logo.svg" alt="Логотип">
|
||||
<img src="./assets/logo.svg" alt="Логотип">
|
||||
</div>
|
||||
|
||||
@ -19,7 +19,7 @@ export interface Page {
|
||||
}
|
||||
|
||||
export interface UserDataForm {
|
||||
name: string;
|
||||
first_name: string;
|
||||
birthdate: string;
|
||||
gender: string;
|
||||
}
|
||||
|
||||
@ -1,5 +1,8 @@
|
||||
<div class="woocommerce">
|
||||
<div *ngIf="currentPage.code !== PageCode.Auth" class="top-left-attribute"></div>
|
||||
<div
|
||||
*ngIf="currentPage.code !== PageCode.Auth"
|
||||
class="top-left-attribute"
|
||||
></div>
|
||||
<div [ngSwitch]="currentPage.code" class="">
|
||||
<ng-container *ngSwitchCase="PageCode.Auth">
|
||||
<app-auth
|
||||
@ -16,6 +19,9 @@
|
||||
<ng-container *ngSwitchCase="PageCode.UserData">
|
||||
<app-user-data></app-user-data>
|
||||
</ng-container>
|
||||
<ng-container *ngSwitchCase="PageCode.RefSystem">
|
||||
<app-ref-system></app-ref-system>
|
||||
</ng-container>
|
||||
</div>
|
||||
<nav
|
||||
*ngIf="currentPage.code !== PageCode.Auth"
|
||||
@ -34,7 +40,7 @@
|
||||
>
|
||||
<div class="container">
|
||||
<img
|
||||
src="{{ '../../../assets/menu-icons/' + page.resName + '.png' }}"
|
||||
src="{{ './assets/menu-icons/' + page.resName + '.png' }}"
|
||||
alt="Иконка меню"
|
||||
/>
|
||||
<div class="menu-item-info">
|
||||
@ -44,14 +50,14 @@
|
||||
</div>
|
||||
</li>
|
||||
</ng-container>
|
||||
<li class="woocommerce-MyAccount-navigation-link">
|
||||
<li
|
||||
class="woocommerce-MyAccount-navigation-link"
|
||||
(click)="logout($event)"
|
||||
>
|
||||
<div class="container">
|
||||
<img
|
||||
src="../../../assets/menu-icons/exit.png"
|
||||
alt="Иконка меню"
|
||||
/>
|
||||
<img src="./assets/menu-icons/exit.png" alt="Иконка меню" />
|
||||
<div class="menu-item-info">
|
||||
<a href="#" (click)="logout($event)">Выход</a>
|
||||
<a href="#">Выход</a>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
@ -26,8 +26,8 @@
|
||||
color: #000;
|
||||
border-radius: 15px;
|
||||
&.is-active {
|
||||
// background-color: #009688;
|
||||
display: none;
|
||||
border: solid #09467f 1px;
|
||||
// display: none;
|
||||
}
|
||||
&.first {
|
||||
// border-radius: 7px 0 0 7px;
|
||||
|
||||
@ -1,27 +1,32 @@
|
||||
import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
|
||||
import {CookiesService} from "../../services/cookies.service";
|
||||
import {ActivatedRoute, Router} from "@angular/router";
|
||||
import {Page, PageCode} from "../../interface/data";
|
||||
import {environment} from "../../../environments/environment";
|
||||
import {PageList, PageListWithBonus} from "../../app.constants";
|
||||
import {HttpErrorResponse} from "@angular/common/http";
|
||||
import {ExitComponent} from "../../components/exit/exit.component";
|
||||
import { CookiesService } from '../../services/cookies.service';
|
||||
import { ActivatedRoute, Router } from '@angular/router';
|
||||
import { Page, PageCode } from '../../interface/data';
|
||||
import { environment } from '../../../environments/environment';
|
||||
import { PageList, PageListWithBonus } from '../../app.constants';
|
||||
import { HttpErrorResponse, HttpParams } from '@angular/common/http';
|
||||
import { ExitComponent } from '../../components/exit/exit.component';
|
||||
import { DialogService, DynamicDialogRef } from 'primeng/dynamicdialog';
|
||||
import { JsonrpcService, RpcService } from 'src/app/services/jsonrpc.service';
|
||||
import { MessageService } from 'primeng/api';
|
||||
|
||||
@Component({
|
||||
selector: 'app-account',
|
||||
templateUrl: './account.component.html',
|
||||
styleUrls: ['./account.component.scss'],
|
||||
providers:[DialogService],
|
||||
providers: [DialogService],
|
||||
})
|
||||
export class AccountComponent implements OnInit {
|
||||
@Output() setUserDataOrderPage = new EventEmitter<null>();
|
||||
public refSystemId: string = '';
|
||||
|
||||
constructor(
|
||||
private cookiesService: CookiesService,
|
||||
private router: Router,
|
||||
private route: ActivatedRoute,
|
||||
private dialogService: DialogService,
|
||||
private jsonRpcService: JsonrpcService,
|
||||
private messageService: MessageService
|
||||
) {}
|
||||
|
||||
public currentPage!: Page;
|
||||
@ -29,20 +34,101 @@ export class AccountComponent implements OnInit {
|
||||
private ref!: DynamicDialogRef;
|
||||
|
||||
readonly PageCode = PageCode;
|
||||
readonly pageList = environment.hasBonusProgram ? PageListWithBonus : PageList;
|
||||
readonly pageList = environment.hasBonusProgram
|
||||
? PageListWithBonus
|
||||
: PageList;
|
||||
|
||||
ngOnInit(): void {
|
||||
this.currentPage = this.getToken() ? this.pageList[1] : this.pageList[0];
|
||||
document.body.classList.add('woocommerce-account', 'woocommerce-page', 'woocommerce-orders');
|
||||
if (!this.getToken()) {
|
||||
this.currentPage = this.pageList[0];
|
||||
} else {
|
||||
this.route.queryParams.subscribe((params) => {
|
||||
if (!params['activePage']) {
|
||||
this.currentPage = this.pageList[1];
|
||||
return;
|
||||
}
|
||||
const currentPage = this.pageList.find((page) => {
|
||||
return page.code === Number(params['activePage']);
|
||||
});
|
||||
if (!currentPage) {
|
||||
this.currentPage = this.pageList[1];
|
||||
} else {
|
||||
this.currentPage = currentPage;
|
||||
}
|
||||
});
|
||||
}
|
||||
document.body.classList.add(
|
||||
'woocommerce-account',
|
||||
'woocommerce-page',
|
||||
'woocommerce-orders'
|
||||
);
|
||||
}
|
||||
|
||||
phoneConfirmed(): void{
|
||||
this.currentPage = this.pageList[1];
|
||||
phoneConfirmed(): void {
|
||||
this.refSystem();
|
||||
this.currentPage = this.pageList[1];
|
||||
}
|
||||
|
||||
changePage(event: MouseEvent, page: Page): void{
|
||||
refSystem() {
|
||||
this.route.queryParams.subscribe((params) => {
|
||||
if (params['refCardNumber']) {
|
||||
this.refSystemId = params['refCardNumber'];
|
||||
this.jsonRpcService
|
||||
.rpc(
|
||||
{
|
||||
method: 'updateAdditionalInfo',
|
||||
params: [
|
||||
{
|
||||
refSystem: {
|
||||
code: this.refSystemId,
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
RpcService.authService,
|
||||
true
|
||||
)
|
||||
.subscribe({
|
||||
next: () => {
|
||||
this.router.navigate([], {
|
||||
queryParams: {
|
||||
refCardNumber: null,
|
||||
},
|
||||
queryParamsHandling: 'merge',
|
||||
});
|
||||
this.messageService.add({
|
||||
severity: 'custom',
|
||||
summary:
|
||||
'Регистрация прошла успешна! Бонусы скоро будут начислены',
|
||||
});
|
||||
},
|
||||
error: (err) => {
|
||||
console.error('Error: ', err);
|
||||
this.messageService.add({
|
||||
severity: 'error',
|
||||
summary: 'Произошла ошибка, попробуйте позже',
|
||||
});
|
||||
},
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
changePage(event: MouseEvent, page: Page): void {
|
||||
event.preventDefault();
|
||||
this.currentPage = page;
|
||||
// let params = new HttpParams();
|
||||
// params = params.append('activePage', this.currentPage.code);
|
||||
this.router.navigate(['.'], {
|
||||
relativeTo: this.route,
|
||||
queryParams: {
|
||||
activePage: this.currentPage.code,
|
||||
},
|
||||
queryParamsHandling: 'merge',
|
||||
// preserve the existing query params in the route
|
||||
// skipLocationChange: true
|
||||
// do not trigger navigation
|
||||
});
|
||||
}
|
||||
|
||||
handleHttpError(error: HttpErrorResponse): void {
|
||||
@ -51,23 +137,23 @@ export class AccountComponent implements OnInit {
|
||||
}
|
||||
}
|
||||
|
||||
setToken(token: string): void{
|
||||
setToken(token: string): void {
|
||||
this.cookiesService.setCookie('token', token);
|
||||
}
|
||||
|
||||
getToken(): string|void{
|
||||
return this.cookiesService.getItem('token');
|
||||
getToken(): string | void {
|
||||
return this.cookiesService.getItem('token');
|
||||
}
|
||||
|
||||
deleteToken(): void{
|
||||
deleteToken(): void {
|
||||
this.cookiesService.deleteCookie('token');
|
||||
this.router.navigate([''], {
|
||||
queryParams: {},
|
||||
});
|
||||
// this.router.navigate(['.'], {
|
||||
// queryParams: {},
|
||||
// });
|
||||
}
|
||||
|
||||
logout(event?: MouseEvent){
|
||||
if(event){
|
||||
logout(event?: MouseEvent) {
|
||||
if (event) {
|
||||
event.preventDefault();
|
||||
}
|
||||
this.ref = this.dialogService.open(ExitComponent, {
|
||||
@ -89,14 +175,11 @@ export class AccountComponent implements OnInit {
|
||||
closeOnEscape: true,
|
||||
showHeader: false,
|
||||
});
|
||||
this.ref.onClose.subscribe(
|
||||
result => {
|
||||
if (result) {
|
||||
this.currentPage = this.pageList[0];
|
||||
this.deleteToken();
|
||||
}
|
||||
this.ref.onClose.subscribe((result) => {
|
||||
if (result) {
|
||||
this.deleteToken();
|
||||
this.currentPage = this.pageList[0];
|
||||
}
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -91,6 +91,6 @@
|
||||
.decoration-pattern {
|
||||
width: 100%;
|
||||
height: 34px;
|
||||
background: url("../../../../assets/card-decorative-pattern.png") repeat-x;
|
||||
background: url("./assets/card-decorative-pattern.png") repeat-x;
|
||||
}
|
||||
}
|
||||
|
||||
@ -4,14 +4,14 @@
|
||||
<div style="display: flex;justify-content: center;">
|
||||
<div class="card-container">
|
||||
<div class="card-container__header">
|
||||
<img src="../../../../assets/logo.svg" alt="Логотип карта">
|
||||
<img src="./assets/logo.svg" alt="Логотип карта">
|
||||
<span *ngIf="accountData">#{{accountData.CardNumber}}</span>
|
||||
</div>
|
||||
<div class="card-container__decorative-pattern">
|
||||
<!-- <div class="imgs-row"></div>
|
||||
<div class="imgs-row" style="background-position-x: -22px;"></div>
|
||||
<div class="imgs-row"></div> -->
|
||||
<img src="../../../../assets/card-decorative-pattern.svg" alt="">
|
||||
<img src="./assets/card-decorative-pattern.svg" alt="">
|
||||
</div>
|
||||
<div class="card-container__content">
|
||||
<div class="info" *ngIf="accountData">
|
||||
|
||||
21
src/app/pages/account/ref-system/ref-system.component.html
Normal file
21
src/app/pages/account/ref-system/ref-system.component.html
Normal file
@ -0,0 +1,21 @@
|
||||
<div class="ref-system">
|
||||
<qrcode
|
||||
*ngIf="!loading"
|
||||
[qrdata]="refUrl"
|
||||
[width]="256"
|
||||
[errorCorrectionLevel]="'M'"
|
||||
></qrcode>
|
||||
<p-progressSpinner
|
||||
*ngIf="loading"
|
||||
[style]="{ width: '100%' }"
|
||||
strokeWidth="2"
|
||||
styleClass="angular-spinner"
|
||||
></p-progressSpinner>
|
||||
<share-buttons
|
||||
[theme]="'modern-dark'"
|
||||
[include]="['facebook', 'twitter', 'whatsapp', 'vk', 'copy']"
|
||||
[show]="5"
|
||||
[url]="refUrl"
|
||||
style="display: flex; justify-content: center;"
|
||||
></share-buttons>
|
||||
</div>
|
||||
@ -0,0 +1,5 @@
|
||||
:host {
|
||||
.ref-system {
|
||||
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,23 @@
|
||||
import { ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
|
||||
import { RefSystemComponent } from './ref-system.component';
|
||||
|
||||
describe('RefSystemComponent', () => {
|
||||
let component: RefSystemComponent;
|
||||
let fixture: ComponentFixture<RefSystemComponent>;
|
||||
|
||||
beforeEach(async () => {
|
||||
await TestBed.configureTestingModule({
|
||||
declarations: [ RefSystemComponent ]
|
||||
})
|
||||
.compileComponents();
|
||||
|
||||
fixture = TestBed.createComponent(RefSystemComponent);
|
||||
component = fixture.componentInstance;
|
||||
fixture.detectChanges();
|
||||
});
|
||||
|
||||
it('should create', () => {
|
||||
expect(component).toBeTruthy();
|
||||
});
|
||||
});
|
||||
32
src/app/pages/account/ref-system/ref-system.component.ts
Normal file
32
src/app/pages/account/ref-system/ref-system.component.ts
Normal file
@ -0,0 +1,32 @@
|
||||
import { Component, OnInit } from '@angular/core';
|
||||
import * as barcode from 'jsbarcode';
|
||||
import { lastValueFrom } from 'rxjs';
|
||||
import { JsonrpcService, RpcService } from 'src/app/services/jsonrpc.service';
|
||||
import { environment } from 'src/environments/environment';
|
||||
|
||||
@Component({
|
||||
selector: 'app-ref-system',
|
||||
templateUrl: './ref-system.component.html',
|
||||
styleUrls: ['./ref-system.component.scss']
|
||||
})
|
||||
export class RefSystemComponent implements OnInit {
|
||||
public refUrl: string = `${environment.defaultUrl}/?refCardNumber=`
|
||||
public loading: boolean = true;
|
||||
|
||||
constructor(
|
||||
private jsonrpc: JsonrpcService,
|
||||
) { }
|
||||
|
||||
async ngOnInit() {
|
||||
const accountData = (await lastValueFrom(
|
||||
this.jsonrpc.rpc({
|
||||
method: 'GetAccounts',
|
||||
params: []
|
||||
},
|
||||
RpcService.bonusService
|
||||
)))['Cards'][0]
|
||||
this.loading = false
|
||||
this.refUrl += accountData.CardNumber
|
||||
}
|
||||
|
||||
}
|
||||
@ -18,6 +18,9 @@ table{border-collapse:collapse;border-spacing:0}
|
||||
border-radius: 15px;
|
||||
height: 45px;
|
||||
}
|
||||
.p-inputtext.invalid {
|
||||
border-color: red;
|
||||
}
|
||||
|
||||
mark {
|
||||
padding: 4px;
|
||||
@ -27,4 +30,33 @@ mark {
|
||||
|
||||
::-webkit-scrollbar {
|
||||
width: 0;
|
||||
}
|
||||
}
|
||||
|
||||
button {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.p-toast-message-custom {
|
||||
background-color: #fff;
|
||||
border: solid #09467F;
|
||||
border-width: 0 0 0 6px;
|
||||
color: #09467F;
|
||||
.p-toast-icon-close {
|
||||
color: #09467F;
|
||||
}
|
||||
}
|
||||
|
||||
.p-toast.p-component.p-toast-top-center {
|
||||
max-width: 96vw;
|
||||
}
|
||||
|
||||
.qrcode {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.sb-group {
|
||||
width: 100%;
|
||||
justify-content: space-between;
|
||||
max-width: 400px;
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user