├── .gitignore
├── Files.txt
├── README.md
├── config
└── copy.config.js
├── ionic.config.json
├── resources
├── README.md
├── android
│ ├── icon
│ │ ├── drawable-hdpi-icon.png
│ │ ├── drawable-ldpi-icon.png
│ │ ├── drawable-mdpi-icon.png
│ │ ├── drawable-xhdpi-icon.png
│ │ ├── drawable-xxhdpi-icon.png
│ │ └── drawable-xxxhdpi-icon.png
│ └── splash
│ │ ├── drawable-land-hdpi-screen.png
│ │ ├── drawable-land-ldpi-screen.png
│ │ ├── drawable-land-mdpi-screen.png
│ │ ├── drawable-land-xhdpi-screen.png
│ │ ├── drawable-land-xxhdpi-screen.png
│ │ ├── drawable-land-xxxhdpi-screen.png
│ │ ├── drawable-port-hdpi-screen.png
│ │ ├── drawable-port-ldpi-screen.png
│ │ ├── drawable-port-mdpi-screen.png
│ │ ├── drawable-port-xhdpi-screen.png
│ │ ├── drawable-port-xxhdpi-screen.png
│ │ └── drawable-port-xxxhdpi-screen.png
├── icon.png
├── ios
│ ├── icon
│ │ ├── icon-1024.png
│ │ ├── icon-40.png
│ │ ├── icon-40@2x.png
│ │ ├── icon-40@3x.png
│ │ ├── icon-50.png
│ │ ├── icon-50@2x.png
│ │ ├── icon-60.png
│ │ ├── icon-60@2x.png
│ │ ├── icon-60@3x.png
│ │ ├── icon-72.png
│ │ ├── icon-72@2x.png
│ │ ├── icon-76.png
│ │ ├── icon-76@2x.png
│ │ ├── icon-83.5@2x.png
│ │ ├── icon-small.png
│ │ ├── icon-small@2x.png
│ │ ├── icon-small@3x.png
│ │ ├── icon.png
│ │ └── icon@2x.png
│ └── splash
│ │ ├── Default-568h@2x~iphone.png
│ │ ├── Default-667h.png
│ │ ├── Default-736h.png
│ │ ├── Default-Landscape-736h.png
│ │ ├── Default-Landscape@2x~ipad.png
│ │ ├── Default-Landscape@~ipadpro.png
│ │ ├── Default-Landscape~ipad.png
│ │ ├── Default-Portrait@2x~ipad.png
│ │ ├── Default-Portrait@~ipadpro.png
│ │ ├── Default-Portrait~ipad.png
│ │ ├── Default@2x~iphone.png
│ │ ├── Default@2x~universal~anyany.png
│ │ └── Default~iphone.png
└── splash.png
├── src
├── app
│ ├── app.component.ts
│ ├── app.html
│ ├── app.module.ts
│ ├── app.scss
│ └── main.ts
├── assets
│ ├── data
│ │ └── deals_db.json
│ ├── fonts
│ │ ├── initializeItems
│ │ ├── lato.woff2
│ │ └── ubuntu.woff2
│ ├── icon
│ │ └── favicon.ico
│ ├── imgs
│ │ ├── atomix_user31.png
│ │ ├── baskets
│ │ │ └── basket-1.jpg
│ │ ├── buy-cart-ecommernce-shopping-icon-29.png
│ │ ├── empty-cart.png
│ │ ├── icons
│ │ │ ├── canned.png
│ │ │ ├── fb.png
│ │ │ ├── food.png
│ │ │ ├── google.png
│ │ │ ├── homecare.png
│ │ │ ├── personal.png
│ │ │ └── snap-inner.png
│ │ ├── logo.png
│ │ ├── logos.png
│ │ └── main-bg.png
│ └── js
│ │ ├── web-animations-next-lite.min.js
│ │ ├── web-animations-next-lite.min.js.map
│ │ ├── web-animations-next.min.js
│ │ ├── web-animations-next.min.js.map
│ │ ├── web-animations.min.js
│ │ └── web-animations.min.js.map
├── components
│ ├── accordian
│ │ ├── accordian.html
│ │ ├── accordian.scss
│ │ └── accordian.ts
│ ├── components.module.ts
│ └── expandable-header
│ │ ├── expandable-header.html
│ │ ├── expandable-header.scss
│ │ └── expandable-header.ts
├── directives
│ ├── directives.module.ts
│ └── hide-header
│ │ └── hide-header.ts
├── index.html
├── manifest.json
├── pages
│ ├── about
│ │ ├── SelectModel.ts
│ │ ├── about.html
│ │ ├── about.scss
│ │ ├── about.ts
│ │ └── cart_Data_Model.ts
│ ├── cart
│ │ ├── CheckOut.ts
│ │ ├── cart.html
│ │ ├── cart.module.ts
│ │ ├── cart.scss
│ │ ├── cart.ts
│ │ └── sendModel.ts
│ ├── contact
│ │ ├── contact.html
│ │ ├── contact.scss
│ │ └── contact.ts
│ ├── details
│ │ ├── CartForServer.ts
│ │ ├── CartForServerDetails.ts
│ │ ├── details.html
│ │ ├── details.module.ts
│ │ ├── details.scss
│ │ └── details.ts
│ ├── home-search
│ │ ├── home-search.html
│ │ ├── home-search.module.ts
│ │ ├── home-search.scss
│ │ └── home-search.ts
│ ├── home
│ │ ├── home.html
│ │ ├── home.scss
│ │ └── home.ts
│ ├── list
│ │ ├── item.ts
│ │ ├── item_details.ts
│ │ ├── list.html
│ │ ├── list.module.ts
│ │ ├── list.scss
│ │ └── list.ts
│ ├── login
│ │ ├── login.html
│ │ ├── login.module.ts
│ │ ├── login.scss
│ │ └── login.ts
│ ├── notification
│ │ ├── notification.html
│ │ ├── notification.module.ts
│ │ ├── notification.scss
│ │ └── notification.ts
│ ├── offer-load
│ │ ├── offer-load.html
│ │ ├── offer-load.module.ts
│ │ ├── offer-load.scss
│ │ └── offer-load.ts
│ ├── orders
│ │ ├── orders.html
│ │ ├── orders.module.ts
│ │ ├── orders.scss
│ │ └── orders.ts
│ ├── profile-edit
│ │ ├── profile-edit.html
│ │ ├── profile-edit.module.ts
│ │ ├── profile-edit.scss
│ │ └── profile-edit.ts
│ ├── profile-popover
│ │ ├── profile-popover.html
│ │ ├── profile-popover.module.ts
│ │ ├── profile-popover.scss
│ │ └── profile-popover.ts
│ ├── single-purchase
│ │ ├── single-purchase.html
│ │ ├── single-purchase.module.ts
│ │ ├── single-purchase.scss
│ │ └── single-purchase.ts
│ ├── tabs
│ │ ├── tabs.html
│ │ └── tabs.ts
│ └── user-registration
│ │ ├── user-registration.html
│ │ ├── user-registration.module.ts
│ │ ├── user-registration.scss
│ │ └── user-registration.ts
├── pipes
│ ├── notificatons
│ │ └── notificatons.ts
│ ├── order
│ │ └── order.ts
│ ├── pipes.module.ts
│ └── segment-filter
│ │ └── segment-filter.ts
├── providers
│ ├── cart
│ │ └── cart.ts
│ ├── final-cart-for-server
│ │ └── final-cart-for-server.ts
│ └── select-cart
│ │ └── select-cart.ts
├── service-worker.js
└── theme
│ ├── custom.scss
│ └── variables.scss
├── tsconfig.json
├── tslint.json
└── www
├── .gitkeep
├── assets
├── data
│ ├── deals2_db.json
│ ├── deals_db.json
│ └── sss.son
├── fonts
│ ├── initializeItems
│ ├── ionicons.eot
│ ├── ionicons.scss
│ ├── ionicons.svg
│ ├── ionicons.ttf
│ ├── ionicons.woff
│ ├── ionicons.woff2
│ ├── lato.woff2
│ ├── noto-sans-bold.ttf
│ ├── noto-sans-bold.woff
│ ├── noto-sans-regular.ttf
│ ├── noto-sans-regular.woff
│ ├── noto-sans.scss
│ ├── roboto-bold.ttf
│ ├── roboto-bold.woff
│ ├── roboto-bold.woff2
│ ├── roboto-light.ttf
│ ├── roboto-light.woff
│ ├── roboto-light.woff2
│ ├── roboto-medium.ttf
│ ├── roboto-medium.woff
│ ├── roboto-medium.woff2
│ ├── roboto-regular.ttf
│ ├── roboto-regular.woff
│ ├── roboto-regular.woff2
│ ├── roboto.scss
│ └── ubuntu.woff2
├── icon
│ └── favicon.ico
├── imgs
│ ├── atomix_user31.png
│ ├── baskets
│ │ └── basket-1.jpg
│ ├── bg
│ │ └── main-bg.png
│ ├── buy-cart-ecommernce-shopping-icon-29.png
│ ├── empty-cart.png
│ ├── icons
│ │ ├── canned.png
│ │ ├── fb.png
│ │ ├── food.png
│ │ ├── google.png
│ │ ├── homecare.png
│ │ ├── personal.png
│ │ └── snap-inner.png
│ ├── item.png
│ ├── logo.png
│ ├── logos.png
│ ├── main-bg.png
│ ├── sample-images
│ │ ├── deals
│ │ │ ├── Deals1-4.1.png
│ │ │ ├── Deals2-4.1.png
│ │ │ ├── Deals3-4.1.png
│ │ │ └── Deals4-4.1.png
│ │ ├── fashion
│ │ │ ├── Fashion1-1.1.png
│ │ │ ├── Fashion1-3.4.png
│ │ │ ├── Fashion2-1.1.png
│ │ │ ├── Fashion2-3.4.png
│ │ │ ├── Fashion3-1.1.png
│ │ │ ├── Fashion3-3.4.png
│ │ │ ├── Fashion4-1.1.png
│ │ │ ├── Fashion4-3.4.png
│ │ │ ├── Fashion5-1.1.png
│ │ │ ├── Fashion5-3.4.png
│ │ │ ├── Fashion6-1.1.png
│ │ │ ├── Fashion6-3.4.png
│ │ │ ├── Fashion7-1.1.png
│ │ │ ├── Fashion7-3.4.png
│ │ │ ├── Fashion8-1.1.png
│ │ │ └── Fashion8-3.4.png
│ │ ├── fashion_content
│ │ │ ├── Fashion1_2-3.4.png
│ │ │ ├── Fashion1_3-3.4.png
│ │ │ ├── Fashion2_2-3.4.png
│ │ │ ├── Fashion2_3-3.4.png
│ │ │ ├── Fashion3_2-3.4.png
│ │ │ ├── Fashion3_3-3.4.png
│ │ │ ├── Fashion4_2-3.4.png
│ │ │ ├── Fashion4_3-3.4.png
│ │ │ ├── Fashion5_2-3.4.png
│ │ │ ├── Fashion5_3-3.4.png
│ │ │ ├── Fashion6_2-3.4.png
│ │ │ ├── Fashion6_3-3.4.png
│ │ │ ├── Fashion7_2-3.4.png
│ │ │ ├── Fashion7_3-3.4.png
│ │ │ ├── Fashion8_2-3.4.png
│ │ │ └── Fashion8_3-3.4.png
│ │ ├── food
│ │ │ ├── Cat1Foto1-1.1.png
│ │ │ ├── Cat1Foto2-1.1.png
│ │ │ ├── Cat1Foto3-1.1.png
│ │ │ ├── Cat1Foto4-1.1.png
│ │ │ ├── Cat1Foto5-1.1.png
│ │ │ ├── Cat2Foto1-1.1.png
│ │ │ ├── Cat2Foto2-1.1.png
│ │ │ ├── Cat2Foto3-1.1.png
│ │ │ ├── Cat2Foto4-1.1.png
│ │ │ ├── Cat2Foto5-1.1.png
│ │ │ ├── Cat3Foto1-1.1.png
│ │ │ ├── Cat3Foto2-1.1.png
│ │ │ ├── Cat3Foto3-1.1.png
│ │ │ ├── Cat3Foto4-1.1.png
│ │ │ ├── Cat3Foto5-1.1.png
│ │ │ ├── Cat4Foto1-1.1.png
│ │ │ ├── Cat4Foto2-1.1.png
│ │ │ ├── Cat4Foto3-1.1.png
│ │ │ ├── Cat4Foto4-1.1.png
│ │ │ ├── Cat4Foto5-1.1.png
│ │ │ ├── foodlogo1.png
│ │ │ ├── foodlogo2.png
│ │ │ ├── foodlogo3.png
│ │ │ └── foodlogo4.png
│ │ ├── getting-started
│ │ │ ├── category1-1.1.png
│ │ │ ├── category2-1.1.png
│ │ │ ├── category3-1.1.png
│ │ │ ├── category4-1.1.png
│ │ │ ├── category5-1.1.png
│ │ │ └── category6-1.1.png
│ │ ├── real-state
│ │ │ ├── RealState1-64.25.png
│ │ │ ├── RealState2-64.25.png
│ │ │ ├── RealState3-64.25.png
│ │ │ ├── RealState4-64.25.png
│ │ │ └── RealState5-64.25.png
│ │ └── travel
│ │ │ ├── Travel1-64.47.png
│ │ │ ├── Travel2-64.47.png
│ │ │ ├── Travel3-64.47.png
│ │ │ ├── Travel4-64.47.png
│ │ │ ├── Travel5-64.47.png
│ │ │ ├── TravelIcon1.png
│ │ │ ├── TravelIcon2.png
│ │ │ ├── TravelIcon3.png
│ │ │ ├── TravelIcon4.png
│ │ │ └── TravelIcon5.png
│ ├── snap.png
│ ├── welcome.png
│ └── welcome_illustration.png
└── js
│ ├── web-animations-next-lite.min.js
│ ├── web-animations-next-lite.min.js.map
│ ├── web-animations-next.min.js
│ ├── web-animations-next.min.js.map
│ ├── web-animations.min.js
│ └── web-animations.min.js.map
├── index.html
├── manifest.json
└── service-worker.js
/.gitignore:
--------------------------------------------------------------------------------
1 | # Specifies intentionally untracked files to ignore when using Git
2 | # http://git-scm.com/docs/gitignore
3 |
4 | *~
5 | *.sw[mnpcod]
6 | *.log
7 | *.tmp
8 | *.tmp.*
9 | log.txt
10 | *.sublime-project
11 | *.sublime-workspace
12 | .vscode/
13 | npm-debug.log*
14 |
15 | .idea/
16 | .sourcemaps/
17 | .sass-cache/
18 | .tmp/
19 | .versions/
20 | coverage/
21 | dist/
22 | node_modules/
23 | tmp/
24 | temp/
25 | hooks/
26 | platforms/
27 | plugins/
28 | plugins/android.json
29 | plugins/ios.json
30 | $RECYCLE.BIN/
31 |
32 | .DS_Store
33 | Thumbs.db
34 | UserInterfaceState.xcuserstate
35 | package.json
36 | config.xml
37 | www/build/.ion-diagnostic-typescript.html
38 | www/build/
39 |
--------------------------------------------------------------------------------
/Files.txt:
--------------------------------------------------------------------------------
1 | Ionic Framework: 3.7.1
2 | Ionic App Scripts: 3.0.0
3 | Angular Core: 4.4.3
4 | Angular Compiler CLI: 4.4.3
5 | Node: 6.9.5
6 | OS Platform: Windows 8.1
7 | Navigator Platform: Win32
8 | User Agent: Mozilla/5.0 (Linux; Android 5.1.1; Nexus 6 Build/LYZ28E) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.84 Mobile Safari/537.36
9 |
10 | Start new ionic project using ionic start myApp tabs command in terminal
11 | Press Y for the message
12 | "Looks like a fresh checkout! No ./node_modules directory found. Would you like to install project dependencies?"
13 |
14 |
15 | install node modules using following commands in termnial
16 |
17 | npm install @angular/animations@latest --save
18 |
19 | install android keyboard plugin using following command
20 |
21 | ionic cordova plugin add ionic-plugin-keyboard
22 | npm install --save @ionic-native/keyboard
23 |
24 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # README #
2 |
3 | This README would normally document whatever steps are necessary to get your application up and running.
4 |
5 | ### What is this repository for? ###
6 |
7 | * Quick summary
8 | * Version
9 | * [Learn Markdown](https://bitbucket.org/tutorials/markdowndemo)
10 |
11 | ### How do I get set up? ###
12 |
13 | * Summary of set up
14 | * Configuration
15 | * Dependencies
16 | * Database configuration
17 | * How to run tests
18 | * Deployment instructions
19 |
20 | ### Contribution guidelines ###
21 |
22 | * Writing tests
23 | * Code review
24 | * Other guidelines
25 |
26 | ### Who do I talk to? ###
27 |
28 | * Repo owner or admin
29 | * Other community or team contact
--------------------------------------------------------------------------------
/config/copy.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | copyDragulaCss: {
3 | src: './node_modules/dragula/dist/dragula.css',
4 | dest: '{{BUILD}}'
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/ionic.config.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Grocery",
3 | "app_id": "d2ed10f4",
4 | "type": "ionic-angular",
5 | "integrations": {
6 | "cordova": {}
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/resources/README.md:
--------------------------------------------------------------------------------
1 | These are Cordova resources. You can replace icon.png and splash.png and run
2 | `ionic cordova resources` to generate custom icons and splash screens for your
3 | app. See `ionic cordova resources --help` for details.
4 |
5 | Cordova reference documentation:
6 |
7 | - Icons: https://cordova.apache.org/docs/en/latest/config_ref/images.html
8 | - Splash Screens: https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-splashscreen/
9 |
--------------------------------------------------------------------------------
/resources/android/icon/drawable-hdpi-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/resources/android/icon/drawable-hdpi-icon.png
--------------------------------------------------------------------------------
/resources/android/icon/drawable-ldpi-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/resources/android/icon/drawable-ldpi-icon.png
--------------------------------------------------------------------------------
/resources/android/icon/drawable-mdpi-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/resources/android/icon/drawable-mdpi-icon.png
--------------------------------------------------------------------------------
/resources/android/icon/drawable-xhdpi-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/resources/android/icon/drawable-xhdpi-icon.png
--------------------------------------------------------------------------------
/resources/android/icon/drawable-xxhdpi-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/resources/android/icon/drawable-xxhdpi-icon.png
--------------------------------------------------------------------------------
/resources/android/icon/drawable-xxxhdpi-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/resources/android/icon/drawable-xxxhdpi-icon.png
--------------------------------------------------------------------------------
/resources/android/splash/drawable-land-hdpi-screen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/resources/android/splash/drawable-land-hdpi-screen.png
--------------------------------------------------------------------------------
/resources/android/splash/drawable-land-ldpi-screen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/resources/android/splash/drawable-land-ldpi-screen.png
--------------------------------------------------------------------------------
/resources/android/splash/drawable-land-mdpi-screen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/resources/android/splash/drawable-land-mdpi-screen.png
--------------------------------------------------------------------------------
/resources/android/splash/drawable-land-xhdpi-screen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/resources/android/splash/drawable-land-xhdpi-screen.png
--------------------------------------------------------------------------------
/resources/android/splash/drawable-land-xxhdpi-screen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/resources/android/splash/drawable-land-xxhdpi-screen.png
--------------------------------------------------------------------------------
/resources/android/splash/drawable-land-xxxhdpi-screen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/resources/android/splash/drawable-land-xxxhdpi-screen.png
--------------------------------------------------------------------------------
/resources/android/splash/drawable-port-hdpi-screen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/resources/android/splash/drawable-port-hdpi-screen.png
--------------------------------------------------------------------------------
/resources/android/splash/drawable-port-ldpi-screen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/resources/android/splash/drawable-port-ldpi-screen.png
--------------------------------------------------------------------------------
/resources/android/splash/drawable-port-mdpi-screen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/resources/android/splash/drawable-port-mdpi-screen.png
--------------------------------------------------------------------------------
/resources/android/splash/drawable-port-xhdpi-screen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/resources/android/splash/drawable-port-xhdpi-screen.png
--------------------------------------------------------------------------------
/resources/android/splash/drawable-port-xxhdpi-screen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/resources/android/splash/drawable-port-xxhdpi-screen.png
--------------------------------------------------------------------------------
/resources/android/splash/drawable-port-xxxhdpi-screen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/resources/android/splash/drawable-port-xxxhdpi-screen.png
--------------------------------------------------------------------------------
/resources/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/resources/icon.png
--------------------------------------------------------------------------------
/resources/ios/icon/icon-1024.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/resources/ios/icon/icon-1024.png
--------------------------------------------------------------------------------
/resources/ios/icon/icon-40.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/resources/ios/icon/icon-40.png
--------------------------------------------------------------------------------
/resources/ios/icon/icon-40@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/resources/ios/icon/icon-40@2x.png
--------------------------------------------------------------------------------
/resources/ios/icon/icon-40@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/resources/ios/icon/icon-40@3x.png
--------------------------------------------------------------------------------
/resources/ios/icon/icon-50.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/resources/ios/icon/icon-50.png
--------------------------------------------------------------------------------
/resources/ios/icon/icon-50@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/resources/ios/icon/icon-50@2x.png
--------------------------------------------------------------------------------
/resources/ios/icon/icon-60.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/resources/ios/icon/icon-60.png
--------------------------------------------------------------------------------
/resources/ios/icon/icon-60@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/resources/ios/icon/icon-60@2x.png
--------------------------------------------------------------------------------
/resources/ios/icon/icon-60@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/resources/ios/icon/icon-60@3x.png
--------------------------------------------------------------------------------
/resources/ios/icon/icon-72.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/resources/ios/icon/icon-72.png
--------------------------------------------------------------------------------
/resources/ios/icon/icon-72@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/resources/ios/icon/icon-72@2x.png
--------------------------------------------------------------------------------
/resources/ios/icon/icon-76.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/resources/ios/icon/icon-76.png
--------------------------------------------------------------------------------
/resources/ios/icon/icon-76@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/resources/ios/icon/icon-76@2x.png
--------------------------------------------------------------------------------
/resources/ios/icon/icon-83.5@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/resources/ios/icon/icon-83.5@2x.png
--------------------------------------------------------------------------------
/resources/ios/icon/icon-small.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/resources/ios/icon/icon-small.png
--------------------------------------------------------------------------------
/resources/ios/icon/icon-small@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/resources/ios/icon/icon-small@2x.png
--------------------------------------------------------------------------------
/resources/ios/icon/icon-small@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/resources/ios/icon/icon-small@3x.png
--------------------------------------------------------------------------------
/resources/ios/icon/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/resources/ios/icon/icon.png
--------------------------------------------------------------------------------
/resources/ios/icon/icon@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/resources/ios/icon/icon@2x.png
--------------------------------------------------------------------------------
/resources/ios/splash/Default-568h@2x~iphone.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/resources/ios/splash/Default-568h@2x~iphone.png
--------------------------------------------------------------------------------
/resources/ios/splash/Default-667h.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/resources/ios/splash/Default-667h.png
--------------------------------------------------------------------------------
/resources/ios/splash/Default-736h.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/resources/ios/splash/Default-736h.png
--------------------------------------------------------------------------------
/resources/ios/splash/Default-Landscape-736h.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/resources/ios/splash/Default-Landscape-736h.png
--------------------------------------------------------------------------------
/resources/ios/splash/Default-Landscape@2x~ipad.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/resources/ios/splash/Default-Landscape@2x~ipad.png
--------------------------------------------------------------------------------
/resources/ios/splash/Default-Landscape@~ipadpro.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/resources/ios/splash/Default-Landscape@~ipadpro.png
--------------------------------------------------------------------------------
/resources/ios/splash/Default-Landscape~ipad.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/resources/ios/splash/Default-Landscape~ipad.png
--------------------------------------------------------------------------------
/resources/ios/splash/Default-Portrait@2x~ipad.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/resources/ios/splash/Default-Portrait@2x~ipad.png
--------------------------------------------------------------------------------
/resources/ios/splash/Default-Portrait@~ipadpro.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/resources/ios/splash/Default-Portrait@~ipadpro.png
--------------------------------------------------------------------------------
/resources/ios/splash/Default-Portrait~ipad.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/resources/ios/splash/Default-Portrait~ipad.png
--------------------------------------------------------------------------------
/resources/ios/splash/Default@2x~iphone.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/resources/ios/splash/Default@2x~iphone.png
--------------------------------------------------------------------------------
/resources/ios/splash/Default@2x~universal~anyany.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/resources/ios/splash/Default@2x~universal~anyany.png
--------------------------------------------------------------------------------
/resources/ios/splash/Default~iphone.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/resources/ios/splash/Default~iphone.png
--------------------------------------------------------------------------------
/resources/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/resources/splash.png
--------------------------------------------------------------------------------
/src/app/app.component.ts:
--------------------------------------------------------------------------------
1 | import { Component,ViewChild } from '@angular/core';
2 | import {Nav, Platform } from 'ionic-angular';
3 | import { StatusBar } from '@ionic-native/status-bar';
4 | import { SplashScreen } from '@ionic-native/splash-screen';
5 | import {LoginPage} from '../pages/login/login';
6 | import { TabsPage } from '../pages/tabs/tabs';
7 |
8 | @Component({
9 | templateUrl: 'app.html'
10 | })
11 | export class MyApp {
12 | //rootPage:any = TabsPage;
13 | @ViewChild(Nav) nav: Nav;
14 | rootPage:any =LoginPage;
15 | isList: boolean = true;
16 | isLocation: boolean = false;
17 | isSelf: boolean = false;
18 | isNotifications: boolean = false;
19 | isSearch: boolean = false;
20 | isCamera: boolean = false;
21 |
22 | constructor(platform: Platform, statusBar: StatusBar, splashScreen: SplashScreen) {
23 | platform.ready().then(() => {
24 | // Okay, so the platform is ready and our plugins are available.
25 | // Here you can do any higher level native things you might need.
26 | statusBar.styleDefault();
27 | splashScreen.hide();
28 | });
29 | }
30 |
31 |
32 | togglePage(whichPage: string): void {
33 | this.isList=false;
34 | this.isLocation=false;
35 | this.isSelf=false;
36 | this.isNotifications=false;
37 | this.isSearch=false;
38 | this.isCamera=false;
39 |
40 | let newTab:string='';
41 |
42 | switch (whichPage) {
43 | case'List':
44 | this.isList=true;
45 | newTab='PhotosPage';
46 | break;
47 | case'Location':
48 | this.isLocation=true;
49 | newTab='LocationsPage';
50 | break;
51 | case'Self':
52 | this.isSelf=true;
53 | newTab='SelfPage';
54 | break;
55 | case'Notifications':
56 | this.isNotifications=true;
57 | newTab='NotificationsPage';
58 | break;
59 | case'Search':
60 | this.isSearch=true;
61 | newTab='SearchPage';
62 | break;
63 | case'Camera':
64 | this.isCamera=true;
65 | newTab='CameraPage';
66 | break;
67 | }
68 |
69 | this.nav.setRoot(newTab);
70 | }
71 | }
72 |
--------------------------------------------------------------------------------
/src/app/app.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/app/app.module.ts:
--------------------------------------------------------------------------------
1 | import { NgModule, ErrorHandler } from '@angular/core';
2 | import { BrowserModule } from '@angular/platform-browser';
3 | import { HttpModule } from '@angular/http';
4 | import { IonicApp, IonicModule, IonicErrorHandler } from 'ionic-angular';
5 | import { MyApp } from './app.component';
6 | import { TextMaskModule } from 'angular2-text-mask';
7 | import { CommonModule } from '@angular/common';
8 | import { Facebook, FacebookLoginResponse } from '@ionic-native/facebook';
9 | import firebase from 'firebase';
10 | import { IonicStorageModule } from '@ionic/storage';
11 | import {HomeSearchPage} from '../pages/home-search/home-search';
12 | import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
13 | import { AboutPage } from '../pages/about/about';
14 | import { ContactPage } from '../pages/contact/contact';
15 | import { HomePage } from '../pages/home/home';
16 | import { TabsPage } from '../pages/tabs/tabs';
17 | import { DetailsPage } from '../pages/details/details';
18 | import {LoginPage} from '../pages/login/login';
19 | import { StatusBar } from '@ionic-native/status-bar';
20 | import { SplashScreen } from '@ionic-native/splash-screen';
21 | import {UserRegistrationPage} from '../pages/user-registration/user-registration';
22 | import {CartPage} from '../pages/cart/cart';
23 | import {NotificationPage} from '../pages/notification/notification';
24 | import { CartProvider } from '../providers/cart/cart';
25 | import { SelectCartProvider } from '../providers/select-cart/select-cart';
26 | import {ListPage} from '../pages/list/list';
27 | import { DragulaModule } from 'ng2-dragula';
28 | import {AccordianComponent} from '../components/accordian/accordian';
29 | import {HideHeaderDirective} from '../directives/hide-header/hide-header';
30 | import {SegmentFilterPipe} from '../pipes/segment-filter/segment-filter';
31 | import { FinalCartForServerProvider } from '../providers/final-cart-for-server/final-cart-for-server';
32 | import {ExpandableHeaderComponent} from '../components/expandable-header/expandable-header';
33 | import {ProfilePopoverPage} from '../pages/profile-popover/profile-popover';
34 | import {ProfileEditPage} from '../pages/profile-edit/profile-edit';
35 | import {InlineEditorModule} from 'ng2-inline-editor';
36 | import {OrdersPage} from '../pages/orders/orders';
37 | import {SinglePurchasePage} from '../pages/single-purchase/single-purchase';
38 | import { Keyboard } from '@ionic-native/keyboard';
39 | import {OfferLoadPage} from '../pages/offer-load/offer-load';
40 |
41 | //firebase config file
42 | export const firebaseConfig={
43 | apiKey: "AIzaSyATR-VWhw4o-I79yyg9u_Dn1IMBj0aggLQ",
44 | authDomain: "iq-social-login.firebaseapp.com",
45 | databaseURL: "https://iq-social-login.firebaseio.com",
46 | projectId: "iq-social-login",
47 | storageBucket: "iq-social-login.appspot.com",
48 | messagingSenderId: "1086149147249"
49 | }
50 |
51 | firebase.initializeApp(firebaseConfig)
52 |
53 | @NgModule({
54 | declarations: [
55 | MyApp,
56 | AboutPage,
57 | ContactPage,
58 | HomePage,
59 | TabsPage,
60 | DetailsPage,
61 | SinglePurchasePage,
62 | LoginPage,
63 | UserRegistrationPage,
64 | CartPage,
65 | OfferLoadPage,
66 | ProfilePopoverPage,
67 | ProfileEditPage,
68 | HomeSearchPage,
69 | NotificationPage,
70 | AccordianComponent,
71 | HideHeaderDirective,
72 | OrdersPage,
73 | ExpandableHeaderComponent,
74 | SegmentFilterPipe,
75 | ListPage
76 | ],
77 | imports: [
78 | BrowserModule,
79 | CommonModule,
80 | InlineEditorModule,
81 | BrowserAnimationsModule,
82 | HttpModule,
83 | TextMaskModule,
84 | DragulaModule,
85 | IonicStorageModule.forRoot(),
86 | IonicModule.forRoot(MyApp,{
87 | // mode: 'ios',
88 | // backButtonIcon: 'arrow-back',
89 | // iconMode: 'ios',
90 | // pageTransition: 'ios',
91 | })
92 | ],
93 | bootstrap: [IonicApp],
94 | entryComponents: [
95 | MyApp,
96 | AboutPage,
97 | ContactPage,
98 | HomePage,
99 | TabsPage,
100 | DetailsPage,
101 | SinglePurchasePage,
102 | ProfilePopoverPage,
103 | ProfileEditPage,
104 | LoginPage,
105 | HomeSearchPage,
106 | UserRegistrationPage,
107 | CartPage,
108 | OfferLoadPage,
109 | OrdersPage,
110 | NotificationPage,
111 | ListPage
112 |
113 | ],
114 | providers: [
115 | StatusBar,
116 | HttpModule,
117 | Facebook,
118 | Keyboard,
119 | SplashScreen,
120 | CartProvider,
121 | {provide: ErrorHandler, useClass: IonicErrorHandler},
122 | SelectCartProvider,
123 | FinalCartForServerProvider,
124 |
125 | ]
126 | })
127 | export class AppModule {}
128 |
--------------------------------------------------------------------------------
/src/app/app.scss:
--------------------------------------------------------------------------------
1 | // http://ionicframework.com/docs/theming/
2 |
3 |
4 | // App Global Sass
5 | // --------------------------------------------------
6 | // Put style rules here that you want to apply globally. These
7 | // styles are for the entire app and not just one component.
8 | // Additionally, this file can be also used as an entry point
9 | // to import other Sass files to be included in the output CSS.
10 | //
11 | // Shared Sass variables, which can be used to adjust Ionic's
12 | // default Sass variables, belong in "theme/variables.scss".
13 | //
14 | // To declare rules for a specific mode, create a child rule
15 | // for the .md, .ios, or .wp mode classes. The mode class is
16 | // automatically applied to the
element in the app.
17 |
18 |
19 | //font-face
20 | // @font-face{
21 | // font-family:Shrikhand;
22 | // src:url('../assets/fonts/Roberto.woff2');
23 | // }
24 |
25 | // *{
26 | // font-family:Shrikhand;
27 | // }
28 |
29 |
30 | //change tabs top active color
31 | .tabs-md[tabsHighlight="true"] .tab-highlight {
32 | // background-color: #fe770a;
33 | // background-color:#472F8F;
34 | background-color:#FEC817;
35 | }
36 |
37 | .checkbox-ios .checkbox-checked {
38 | border-color: $checkbox-ios-icon-border-color-on;
39 | background-color: $checkbox-ios-background-color-on;
40 | }
41 |
42 |
43 |
44 |
45 | // iOS Checkbox Inner Checkmark: Checked
46 | // -----------------------------------------
47 |
48 | .checkbox-ios .checkbox-checked .checkbox-inner {
49 | position: absolute;
50 | top: 10px;
51 | left: 13px;
52 |
53 | width: 10px;
54 | height: 15px;
55 |
56 | border-width: $checkbox-ios-icon-checkmark-width;
57 | border-top-width: 0;
58 | border-left-width: 0;
59 | border-style: $checkbox-ios-icon-checkmark-style;
60 | border-color: $checkbox-ios-icon-checkmark-color;
61 | transform: rotate(45deg);
62 | }
63 |
--------------------------------------------------------------------------------
/src/app/main.ts:
--------------------------------------------------------------------------------
1 | import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
2 | import { AppModule } from './app.module';
3 |
4 | platformBrowserDynamic().bootstrapModule(AppModule);
5 |
--------------------------------------------------------------------------------
/src/assets/data/deals_db.json:
--------------------------------------------------------------------------------
1 | {
2 | "products":[
3 | {
4 | "id": 1,
5 | "code": "CHOC4LIFE",
6 | "description": "Lindt Excellence 70% Cocoa Chocolate Diamonds 60ct Box with Lancaster for $10.26",
7 | "name": "50% OFF Lindt",
8 | "expiration_date": "05/01/2016",
9 | "picture": "https://www.keellssuper.com/ItemImages/Big/Pic27256.jpg"
10 | }, {
11 | "id": 2,
12 | "code": "20LIGHT25",
13 | "description": "20% off Landscape Lighting and 25% off Outdoor Wall Light Fixtures with Coupon Code",
14 | "name": "20% OFF Landscape Lighting",
15 | "expiration_date": "07/07/2016",
16 | "picture": "https://www.keellssuper.com/ItemImages/Big/Pic15345.jpg"
17 | }, {
18 | "id": 3,
19 | "code": "MORETVPLZ3",
20 | "description": "Starz HD free trial extended for 3 months, in time for the new seasons of your favourite shows",
21 | "name": "3 Months FREE (Trial)",
22 | "expiration_date": "09/08/2016",
23 | "picture": "https://www.keellssuper.com/ItemImages/Big/Pic95756.jpg"
24 | }, {
25 | "id": 4,
26 | "code": "GETTHATPHONE212",
27 | "description": "Free 4 Month Notevault Subscription With Cat® Phones worth $578",
28 | "name": "CAT Limited Time Offer",
29 | "expiration_date": "04/30/2016",
30 | "picture": "https://www.keellssuper.com/ItemImages/Big/Pic97590.jpg"
31 | }
32 | ]
33 | }
34 |
--------------------------------------------------------------------------------
/src/assets/fonts/initializeItems:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/src/assets/fonts/initializeItems
--------------------------------------------------------------------------------
/src/assets/fonts/lato.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/src/assets/fonts/lato.woff2
--------------------------------------------------------------------------------
/src/assets/fonts/ubuntu.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/src/assets/fonts/ubuntu.woff2
--------------------------------------------------------------------------------
/src/assets/icon/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/src/assets/icon/favicon.ico
--------------------------------------------------------------------------------
/src/assets/imgs/atomix_user31.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/src/assets/imgs/atomix_user31.png
--------------------------------------------------------------------------------
/src/assets/imgs/baskets/basket-1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/src/assets/imgs/baskets/basket-1.jpg
--------------------------------------------------------------------------------
/src/assets/imgs/buy-cart-ecommernce-shopping-icon-29.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/src/assets/imgs/buy-cart-ecommernce-shopping-icon-29.png
--------------------------------------------------------------------------------
/src/assets/imgs/empty-cart.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/src/assets/imgs/empty-cart.png
--------------------------------------------------------------------------------
/src/assets/imgs/icons/canned.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/src/assets/imgs/icons/canned.png
--------------------------------------------------------------------------------
/src/assets/imgs/icons/fb.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/src/assets/imgs/icons/fb.png
--------------------------------------------------------------------------------
/src/assets/imgs/icons/food.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/src/assets/imgs/icons/food.png
--------------------------------------------------------------------------------
/src/assets/imgs/icons/google.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/src/assets/imgs/icons/google.png
--------------------------------------------------------------------------------
/src/assets/imgs/icons/homecare.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/src/assets/imgs/icons/homecare.png
--------------------------------------------------------------------------------
/src/assets/imgs/icons/personal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/src/assets/imgs/icons/personal.png
--------------------------------------------------------------------------------
/src/assets/imgs/icons/snap-inner.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/src/assets/imgs/icons/snap-inner.png
--------------------------------------------------------------------------------
/src/assets/imgs/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/src/assets/imgs/logo.png
--------------------------------------------------------------------------------
/src/assets/imgs/logos.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/src/assets/imgs/logos.png
--------------------------------------------------------------------------------
/src/assets/imgs/main-bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/src/assets/imgs/main-bg.png
--------------------------------------------------------------------------------
/src/components/accordian/accordian.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
10 | {{title}}
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/src/components/accordian/accordian.scss:
--------------------------------------------------------------------------------
1 | accordian {
2 |
3 | .card-header{
4 | background-color:map-get($colors,primary);
5 | color:#fff;
6 | }
7 |
8 | .card-content{
9 | padding:0px 16px;
10 | max-height:0px;
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/src/components/accordian/accordian.ts:
--------------------------------------------------------------------------------
1 | import { Component,ViewChild,OnInit,Renderer,Input } from '@angular/core';
2 |
3 | /**
4 | * Generated class for the AccordianComponent component.
5 | *
6 | * See https://angular.io/api/core/Component for more info on Angular
7 | * Components.
8 | */
9 | @Component({
10 | selector: 'accordian',
11 | templateUrl: 'accordian.html'
12 | })
13 | export class AccordianComponent implements OnInit{
14 |
15 | text: string;
16 |
17 | accordianExpanded =false;
18 | icon:string ="arrow-forward";
19 |
20 |
21 | @ViewChild("cc") cardContent:any;
22 | @Input('title') title:string;
23 | @Input()
24 |
25 | ngOnInit(){
26 | this.renderer.setElementStyle(this.cardContent.nativeElement,"webkitTransition","max-height 500ms ,padding 500ms");
27 | }
28 |
29 |
30 | constructor( public renderer:Renderer) {
31 |
32 | }
33 |
34 | toggleAccordian(){
35 | if(this.accordianExpanded){
36 | this.renderer.setElementStyle(this.cardContent.nativeElement,"max-height","0px");
37 | this.renderer.setElementStyle(this.cardContent.nativeElement,"padding","0px 16px");
38 | }else{
39 | this.renderer.setElementStyle(this.cardContent.nativeElement,"max-height","1000px");
40 | this.renderer.setElementStyle(this.cardContent.nativeElement,"padding","13px 16px");
41 | }
42 | this.accordianExpanded =! this.accordianExpanded;
43 | this.icon =this.icon=="arrow-forward" ? "arrow-down" : "arrow-forward";
44 | }
45 |
46 | }
47 |
--------------------------------------------------------------------------------
/src/components/components.module.ts:
--------------------------------------------------------------------------------
1 | import { NgModule } from '@angular/core';
2 | import { AccordianComponent } from './accordian/accordian';
3 | import { ExpandableHeaderComponent } from './expandable-header/expandable-header';
4 | @NgModule({
5 | declarations: [AccordianComponent,
6 | ExpandableHeaderComponent],
7 | imports: [],
8 | exports: [AccordianComponent,
9 | ExpandableHeaderComponent]
10 | })
11 | export class ComponentsModule {}
12 |
--------------------------------------------------------------------------------
/src/components/expandable-header/expandable-header.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/src/components/expandable-header/expandable-header.scss:
--------------------------------------------------------------------------------
1 | expandable-header {
2 |
3 | display: block;
4 | // background-color: map-get($colors, primary);
5 | overflow: hidden;
6 |
7 | }
--------------------------------------------------------------------------------
/src/components/expandable-header/expandable-header.ts:
--------------------------------------------------------------------------------
1 | import { Component,Input, ElementRef, Renderer,ContentChildren } from '@angular/core';
2 | import { Item } from 'ionic-angular';
3 |
4 | /**
5 | * Generated class for the ExpandableHeaderComponent component.
6 | *
7 | * See https://angular.io/api/core/Component for more info on Angular
8 | * Components.
9 | */
10 | @Component({
11 | selector: 'expandable-header',
12 | templateUrl: 'expandable-header.html'
13 | })
14 | export class ExpandableHeaderComponent {
15 |
16 |
17 | @Input('scrollArea') scrollArea: any;
18 | @Input('headerHeight') headerHeight: number;
19 |
20 | @ContentChildren(Headers, {read: ElementRef}) children: any;
21 |
22 | newHeaderHeight: any;
23 |
24 | constructor(public element:ElementRef,public render:Renderer) {
25 |
26 | }
27 |
28 |
29 | ngAfterViewInit(){
30 |
31 | this.render.setElementStyle(this.element.nativeElement, 'height', this.headerHeight + 'px');
32 |
33 | this.scrollArea.ionScroll.subscribe((ev) => {
34 | this.resizeHeader(ev);
35 | });
36 |
37 | }
38 |
39 | resizeHeader(ev){
40 |
41 | ev.domWrite(() => {
42 |
43 | this.newHeaderHeight = this.headerHeight - ev.scrollTop;
44 |
45 | if(this.newHeaderHeight < 0){
46 | this.newHeaderHeight = 0;
47 | }
48 |
49 | this.render.setElementStyle(this.element.nativeElement, 'height', this.newHeaderHeight + 'px');
50 |
51 | this.children.forEach((child) => {
52 |
53 | let headerElement = child.nativeElement;
54 | let totalHeight = headerElement.offsetTop + headerElement.clientHeight;
55 |
56 | if(totalHeight > this.newHeaderHeight && !headerElement.isHidden){
57 | headerElement.isHidden = true;
58 | this.render.setElementStyle(headerElement, 'opacity', '0');
59 | } else if (totalHeight <= this.newHeaderHeight && headerElement.isHidden) {
60 | headerElement.isHidden = false;
61 | this.render.setElementStyle(headerElement, 'opacity', '0.7');
62 | }
63 |
64 | });
65 |
66 | });
67 |
68 | }
69 |
70 |
71 | }
72 |
--------------------------------------------------------------------------------
/src/directives/directives.module.ts:
--------------------------------------------------------------------------------
1 | import { NgModule } from '@angular/core';
2 | import { HideHeaderDirective } from './hide-header/hide-header';
3 | @NgModule({
4 | declarations: [HideHeaderDirective],
5 | imports: [],
6 | exports: [HideHeaderDirective]
7 | })
8 | export class DirectivesModule {}
9 |
--------------------------------------------------------------------------------
/src/directives/hide-header/hide-header.ts:
--------------------------------------------------------------------------------
1 | import { Directive,Input,ElementRef,Renderer } from '@angular/core';
2 |
3 | /**
4 | * Generated class for the HideHeaderDirective directive.
5 | *
6 | * See https://angular.io/api/core/Directive for more info on Angular
7 | * Directives.
8 | */
9 | @Directive({
10 | selector: '[hide-header]',// Attribute selector
11 | host:{
12 | '(ionScroll)': 'onContentScroll($event)'
13 | }
14 | })
15 | export class HideHeaderDirective {
16 |
17 | headerHeight;
18 | scrollContent;
19 | @Input("header") header :HTMLElement;
20 |
21 | constructor(public element:ElementRef,public render:Renderer) {
22 | console.log('Hello HideHeaderDirective Directive');
23 | }
24 |
25 |
26 | ngOninit(){
27 | this.headerHeight =this.header.clientHeight;
28 | this.render.setElementStyle(this.header,"webkitTransition","top 700ms");
29 | this.scrollContent.element.nativeElement.getElementByclassName("scroll-content")[0];
30 | this.render.setElementStyle(this.scrollContent,"webkitTransition","margin-top 700ms");
31 | }
32 |
33 | onContentScroll(event){
34 | if(event.scrollTop >56){
35 | this.render.setElementStyle(this.header,"top","-56px");
36 | }else{
37 | this.render.setElementStyle(this.header,"top","0px");
38 | }
39 | }
40 |
41 | }
42 |
--------------------------------------------------------------------------------
/src/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Ionic App
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
31 |
32 |
33 |
34 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
--------------------------------------------------------------------------------
/src/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Ionic",
3 | "short_name": "Ionic",
4 | "start_url": "index.html",
5 | "display": "standalone",
6 | "icons": [{
7 | "src": "assets/imgs/logo.png",
8 | "sizes": "512x512",
9 | "type": "image/png"
10 | }],
11 | "background_color": "#4e8ef7",
12 | "theme_color": "#4e8ef7"
13 | }
--------------------------------------------------------------------------------
/src/pages/about/SelectModel.ts:
--------------------------------------------------------------------------------
1 | export class SelectModel{
2 |
3 | // id:string = null;
4 | // userId:string = null ;
5 | // qty:number =null;
6 | // price:number=null;
7 | // img:any =null;
8 |
9 |
10 | // constructor(data){
11 |
12 | // this.id = data.group_id;
13 | // this.userId = data.group_id;
14 | // this.qty = data.group_items[0].qty;
15 | // this.price =data.group_items[0].price;
16 | // this.img = data.group_items[0].picture;
17 |
18 | // }
19 |
20 |
21 | catid:number =null;
22 | catname:string=null;
23 | itmcode:any=null;
24 | itmname: any=null;
25 | itmprice:number =null;
26 | qty:number=null;
27 | description:any=null;
28 | itmimgpath:any=null;
29 | availableqty:number=null;
30 |
31 |
32 | constructor(data){
33 | console.log('item',data);
34 | this.catid = data.catid;
35 | this.catname=data.catname;
36 | this.itmcode=data.itmcode;
37 | this.itmname=data.itmname;
38 | this.qty=data.qty;
39 | this.itmprice=data.itmprice;
40 | this.description=data.description;
41 | this.availableqty=data.availableqty;
42 | this.itmimgpath=data.itmimgpath;
43 | }
44 |
45 |
46 | }
--------------------------------------------------------------------------------
/src/pages/about/cart_Data_Model.ts:
--------------------------------------------------------------------------------
1 | /* Data model definition for cart - Sampath Dissanayake */
2 |
3 | export class CartDataModel{
4 |
5 | id:string = null;
6 | userId:string = null ;
7 | qty:number =null;
8 | price:number=null;
9 | img : any = null;
10 |
11 |
12 | constructor(data){
13 |
14 | this.id = data.group_id;
15 | this.userId = data.group_id;
16 | this.qty = data.group_items[0].qty;
17 | this.price =data.group_items[0].price;
18 | this.img = data.group_items[0].picture;
19 |
20 |
21 | }
22 | }
--------------------------------------------------------------------------------
/src/pages/cart/CheckOut.ts:
--------------------------------------------------------------------------------
1 | export class checkout{
2 |
3 |
4 | group_id:string = null;
5 | userId:string = null ;
6 | qty:number =null;
7 |
8 | constructor(data){
9 |
10 |
11 | }
12 | }
--------------------------------------------------------------------------------
/src/pages/cart/cart.html:
--------------------------------------------------------------------------------
1 |
7 |
8 |
9 |
10 | SNAP APP
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 | 0">
40 |
41 |
42 |
43 |
47 | {{item.group_items.name}}
48 | {{item.group_items.qty}} X {{item.group_items.itemprice}} = Rs {{item.group_items.qty*item.group_items.itemprice}}
49 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
61 |
62 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 | TOTAL
83 |
84 |
85 |
86 |
87 |
88 | Rs {{T_Amt}}
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 |
110 |
111 |
112 |
113 |
114 |
115 |
--------------------------------------------------------------------------------
/src/pages/cart/cart.module.ts:
--------------------------------------------------------------------------------
1 | import { NgModule } from '@angular/core';
2 | import { IonicPageModule } from 'ionic-angular';
3 | import { CartPage } from './cart';
4 |
5 | @NgModule({
6 | declarations: [
7 | CartPage,
8 | ],
9 | imports: [
10 | IonicPageModule.forChild(CartPage),
11 | ],
12 | })
13 | export class CartPageModule {}
14 |
--------------------------------------------------------------------------------
/src/pages/cart/cart.scss:
--------------------------------------------------------------------------------
1 | page-cart {
2 |
3 | .innerHTML {
4 | width: 50%;
5 | margin: 0 auto;
6 | }
7 |
8 |
9 |
10 | // No Item Found
11 |
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/src/pages/cart/sendModel.ts:
--------------------------------------------------------------------------------
1 | export class SendModel {
2 | id:string = null;
3 | group_id:string=null;
4 | itmcode:string = null ;
5 | description:any =null;
6 | name:any=null;
7 | itmprice:any =null;
8 | picture:any= null;
9 | amount:any=null;
10 | active:any=null;
11 |
12 |
13 |
14 | constructor(data){
15 | this.id=data.id;
16 | this.group_id=data.group_id;
17 | this.itmcode =data.code;
18 | this.description=data.description;
19 | this.name=data.name;
20 | this.itmprice=data.itemprice;
21 | this.picture=data.picture;
22 | this.amount=data.qty;
23 | this.active=data.active;
24 | }
25 | }
--------------------------------------------------------------------------------
/src/pages/contact/contact.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Profile
5 |
6 |
7 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |

20 |
{{user_name}}
21 |
Developer from @prismdevteam
22 |
23 |
24 |
25 |
26 | Account
27 |
28 | Orders Awaiting Shipments
29 | Leave Feedback
30 |
31 |
32 | Password
33 |
34 | Change Password
35 |
36 |
37 |
38 |
39 | Logout
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
--------------------------------------------------------------------------------
/src/pages/contact/contact.scss:
--------------------------------------------------------------------------------
1 | page-contact {
2 |
3 |
4 |
5 | //ionic profile
6 |
7 | #profile-bg {
8 | position: fixed;
9 | left: 0;
10 | top: 44px;
11 | width: 100%;
12 | height: 150px;
13 |
14 | background: url('https://s3-us-west-2.amazonaws.com/s.cdpn.io/94311/bg.jpg') no-repeat transparent;
15 | background-size: 100%;
16 | background-position: 50% 20%;
17 |
18 | text-align: center;
19 | }
20 |
21 | #content {
22 | position: relative;
23 | margin-top: 150px;
24 | background-color: white;
25 | box-shadow: 0px -1px 10px rgba(0,0,0,0.4);
26 | padding-top: 200px;
27 | }
28 |
29 | #profile-info {
30 | position: absolute;
31 | top: -95px;
32 | width: 100%;
33 | z-index: 2;
34 | text-align: center;
35 | }
36 | #profile-name {
37 | color: #444;
38 | font-size: 26px;
39 | }
40 | #profile-description {
41 | font-size: 15px;
42 | color: #888;
43 | }
44 | #profile-description a {
45 | color: #888;
46 | }
47 |
48 | #profile-image {
49 | display: block;
50 | border-radius: 100px;
51 | border: 1px solid #fff;
52 | width: 128px;
53 | height: 128px;
54 | margin: 30px auto 0;
55 | box-shadow: 0px 0px 4px rgba(0,0,0,0.7);
56 | }
57 |
58 | .list-item-content {
59 | padding: 5px;
60 | }
61 |
62 | .list-item {
63 | color: #666666;
64 | }
65 |
66 | .post {
67 | color: #444;
68 | }
69 |
70 | .post-time {
71 | position: absolute;
72 | right: 10px;
73 | top: 5px;
74 | font-size: 11px;
75 | color: #888;
76 | }
77 |
78 | .post-profile-image {
79 | display: inline-block;
80 | vertical-align: top;
81 | width: 48px;
82 | height: 48px;
83 | margin-right: 10px;
84 | }
85 | .post-options {
86 | position: absolute;
87 | font-size: 16px;
88 | right: 5px;
89 | bottom: 5px;
90 | color: #888;
91 | }
92 |
93 | }
94 |
--------------------------------------------------------------------------------
/src/pages/contact/contact.ts:
--------------------------------------------------------------------------------
1 | import { Component } from '@angular/core';
2 | import { NavController,PopoverController,AlertController,ToastController,App } from 'ionic-angular';
3 | import {ProfilePopoverPage} from '../../pages/profile-popover/profile-popover';
4 | import { Http,Response } from '@angular/http';
5 | import {OrdersPage} from '../../pages/orders/orders';
6 | import {LoginPage} from '../../pages/login/login';
7 | import { Storage } from '@ionic/storage';
8 |
9 | @Component({
10 | selector: 'page-contact',
11 | templateUrl: 'contact.html'
12 | })
13 | export class ContactPage {
14 |
15 | public _htmlProperty: string = " 26 février 2016
52, rue des Paquerette";
16 |
17 | user_name;
18 | user_id;
19 | welcome_msg;
20 | user_pic;
21 |
22 |
23 | constructor(public _app:App,public storage:Storage,public navCtrl: NavController,public PopCtrl:PopoverController,public http:Http,public AlertCtrl:AlertController,public ToastCtrl:ToastController) {
24 | this.storage.ready()
25 | .then(() => this.temp_activities())
26 |
27 | }
28 |
29 | //call popover methods
30 | presentPopover(myEvent) {
31 | let popover = this.PopCtrl.create(ProfilePopoverPage);
32 | popover.present({
33 | ev: myEvent
34 | });
35 | }
36 |
37 |
38 | //load user ativities
39 |
40 | public temp_activities(){
41 |
42 | this.storage.get('profile_data').then((val) => {
43 |
44 | let profile=JSON.parse(val);
45 | console.log(profile);
46 |
47 |
48 | this.user_name = profile.user_name;
49 | this.user_id = profile.user_id;
50 | this.welcome_msg = profile.msg;
51 | this.user_pic = profile.picture;
52 |
53 |
54 |
55 | });
56 |
57 | }
58 |
59 | access_orderAwaiting(){
60 | this.navCtrl.push(OrdersPage);
61 | }
62 |
63 | logout(){
64 |
65 | // your logout code whatevers
66 | this.storage.clear();
67 | localStorage.clear();
68 | this._app.getRootNav().setRoot(LoginPage);
69 | // this.navCtrl.push(LoginPage);
70 |
71 |
72 | }
73 |
74 |
75 |
76 |
77 | updatePassword(){
78 | let alert = this.AlertCtrl.create({
79 | title: 'Password Change',
80 | message: 'Are you sure, you want to update your password?',
81 | buttons: [
82 | {
83 | text: 'Cancel',
84 | role: 'cancel',
85 | handler: () => {
86 | console.log('Cancel clicked');
87 | }
88 | },
89 | {
90 | text: 'Yes',
91 | handler: () => {
92 |
93 | let alert = this.AlertCtrl.create({
94 | title: 'Update your password',
95 | inputs: [
96 | {
97 | name: 'Password',
98 | placeholder: 'password'
99 | },
100 | {
101 | name: 'Confirm_Password',
102 | placeholder: 'password'
103 | }
104 |
105 | ],
106 | buttons: [
107 | {
108 | text: 'Cancel',
109 | role: 'cancel',
110 | handler: data => {
111 | console.log('Cancel clicked');
112 | }
113 | },
114 | {
115 | text: 'Send',
116 | handler: data => {
117 | if(this.validatePass(data)){
118 | console.log('Data logic',data);
119 | }else{
120 | this.showErrorToast();
121 | }
122 | console.log('Password',data);
123 |
124 | }
125 | }
126 | ]
127 | });
128 | alert.present();
129 |
130 |
131 |
132 |
133 | }
134 | }
135 | ]
136 | });
137 | alert.present();
138 |
139 |
140 | }
141 |
142 |
143 |
144 | showErrorToast() {
145 | let toast = this.ToastCtrl.create({
146 | message:'Password do not match',
147 | duration: 3000,
148 | position: 'top'
149 | });
150 |
151 | toast.onDidDismiss(() => {
152 | console.log('Dismissed toast');
153 | });
154 |
155 | toast.present();
156 | }
157 |
158 |
159 |
160 |
161 | validatePass(data) {
162 |
163 | var base_url="";
164 |
165 |
166 | this.http.get(base_url).map(res => res.json()).subscribe(data => {
167 | let items = data.products;
168 |
169 | // your logic for password reset
170 |
171 |
172 |
173 | },
174 | err => {
175 | console.log('error in Json');
176 |
177 | });
178 | }
179 |
180 | leaveFeedback(){
181 |
182 | let alert = this.AlertCtrl.create({
183 | title: 'Feedback',
184 | inputs: [
185 | {
186 | name: 'Feedback',
187 | placeholder: 'What do you think about us !'
188 | }
189 | ],
190 | buttons: [
191 | {
192 | text: 'Cancel',
193 | role: 'cancel',
194 | handler: data => {
195 | console.log('Cancel clicked');
196 | }
197 | },
198 | {
199 | text: 'Send',
200 | handler: data => {
201 |
202 |
203 | var obj= {
204 | user_name:'Sampaththeman',
205 | feedback:data.Feedback
206 | }
207 | console.log('Santizne',obj);
208 | }
209 | }
210 | ]
211 | });
212 | alert.present();
213 | }
214 |
215 | }
216 |
--------------------------------------------------------------------------------
/src/pages/details/CartForServer.ts:
--------------------------------------------------------------------------------
1 | import {DetailsPage} from '../../pages/details/details';
2 |
3 | export class CartForServerModel {
4 | // group_id:number =null;
5 | group_items:DetailsPage;
6 |
7 | constructor(data,group_items:DetailsPage){
8 | this.group_items =group_items;
9 |
10 | }
11 |
12 | }
--------------------------------------------------------------------------------
/src/pages/details/CartForServerDetails.ts:
--------------------------------------------------------------------------------
1 |
2 |
3 | export class CartForServerDetails{
4 | id:string = null;
5 | group_id:string=null;
6 | itmcode:string = null ;
7 | description:any =null;
8 | name:any=null;
9 | itmprice:any =null;
10 | picture:any= null;
11 | amount:any=null;
12 | active:any=null;
13 |
14 |
15 |
16 | constructor(data){
17 | this.id=data.id;
18 | this.group_id=data.group_id;
19 | this.itmcode =data.code;
20 | this.description=data.description;
21 | this.name=data.name;
22 | this.itmprice=data.itemprice;
23 | this.picture=data.picture;
24 | this.amount=data.qty;
25 | this.active=data.active;
26 | }
27 |
28 |
29 | }
--------------------------------------------------------------------------------
/src/pages/details/details.html:
--------------------------------------------------------------------------------
1 |
7 |
8 |
9 |
10 | {{item.group_items[0].group_name}}
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 | {{item.group_items[0].name}}
28 | {{item.group_items[0].description | slice:0:100}}
29 |
30 |
31 | £199
32 | {{item.group_items[0].itemprice}}
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
{{item.group_items[0].qty}}
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
54 |
55 |
Add to Bag
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 | 1 ">
65 |
66 |
67 |
68 |
69 |
81 |
82 |
83 |
84 | {{item.name| slice:0:30}}
85 |
86 | {{item.description}}
87 |
88 |
89 |
90 |
91 |
92 | {{item.itemprice}}
93 |
94 |
95 | {{item.code}}
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
{{item.qty}}
108 |
109 |
110 |
111 |
112 |
113 |
114 |
115 |
116 |
117 | 1 ">
118 |
119 |
123 |
124 |
125 |
129 |
130 |
131 |
132 |
133 |
134 |
135 |
--------------------------------------------------------------------------------
/src/pages/details/details.module.ts:
--------------------------------------------------------------------------------
1 | import { NgModule } from '@angular/core';
2 | import { IonicPageModule } from 'ionic-angular';
3 | import { DetailsPage } from './details';
4 |
5 | @NgModule({
6 | declarations: [
7 | DetailsPage,
8 | ],
9 | imports: [
10 | IonicPageModule.forChild(DetailsPage),
11 | ],
12 | })
13 | export class DetailsPageModule {}
14 |
--------------------------------------------------------------------------------
/src/pages/home-search/home-search.html:
--------------------------------------------------------------------------------
1 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 | {{ item.itmname| slice:0:30}}
31 |
32 |
33 |
34 |
35 |
36 | Price: LKR
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 | {{item.qty}}
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
--------------------------------------------------------------------------------
/src/pages/home-search/home-search.module.ts:
--------------------------------------------------------------------------------
1 | import { NgModule } from '@angular/core';
2 | import { IonicPageModule } from 'ionic-angular';
3 | import { HomeSearchPage } from './home-search';
4 |
5 | @NgModule({
6 | declarations: [
7 | HomeSearchPage,
8 | ],
9 | imports: [
10 | IonicPageModule.forChild(HomeSearchPage),
11 | ],
12 | })
13 | export class HomeSearchPageModule {}
14 |
--------------------------------------------------------------------------------
/src/pages/home-search/home-search.scss:
--------------------------------------------------------------------------------
1 | page-home-search {
2 |
3 | }
4 |
--------------------------------------------------------------------------------
/src/pages/home-search/home-search.ts:
--------------------------------------------------------------------------------
1 | import { Component } from '@angular/core';
2 | import { Http,Response } from '@angular/http';
3 | import { IonicPage, NavController, NavParams } from 'ionic-angular';
4 | import {SelectCartProvider} from '../../providers/select-cart/select-cart';
5 | import { ObjModel } from '../../pages/list/item';
6 | import {ListPage} from '../../pages/list/list';
7 | import { Storage } from '@ionic/storage';
8 | import { Keyboard } from '@ionic-native/keyboard';
9 | import { SegmentFilterPipe } from '../../pipes/segment-filter/segment-filter';
10 |
11 |
12 | /**
13 | * Generated class for the HomeSearchPage page.
14 | *
15 | * See https://ionicframework.com/docs/components/#navigation for more info on
16 | * Ionic pages and navigation.
17 | */
18 |
19 | @IonicPage()
20 | @Component({
21 | selector: 'page-home-search',
22 | templateUrl: 'home-search.html',
23 | })
24 | export class HomeSearchPage {
25 |
26 | public ShopItems2 = [];
27 | public Categories:any;
28 | public keys:any;
29 | Items:any = [];
30 | Clicked:any=[];
31 | public buttonClicked: boolean = false;
32 |
33 | ITEM: string = ""; // initializing item Segments
34 |
35 | First :Array = new Array ();
36 |
37 | constructor(private keyboard: Keyboard,public select:SelectCartProvider,public storage:Storage,public http:Http,public navCtrl: NavController, public navParams: NavParams) {
38 | this.storage.ready()
39 | .then(() => this.getKeys())
40 | .then(() => this.onToggleSelected())
41 | .then(() => this.Categories=this.ShopItems2)
42 | .then(()=>this.ITEM = navParams.data.item)
43 | this.keyboard.close();
44 |
45 |
46 | }
47 |
48 | ionViewDidLoad() {
49 | console.log('ionViewDidLoad HomeSearchPage');
50 | }
51 |
52 | ionViewWillEnter() {
53 |
54 | this.storage.ready()
55 | .then(() => this.getKeys())
56 | .then(() => this.onToggleSelected())
57 | .then(()=> this.loadAvatar())
58 | .then(() => this.CheckButtonClicked())
59 | }
60 |
61 | loadAvatar(){
62 | if(this.ITEM != null){
63 | console.log('item',this.ITEM);
64 | this.Categories=SegmentFilterPipe.prototype.transform(this.ShopItems2,this.ITEM)
65 | }else{
66 | this.Categories = this.ShopItems2;
67 | console.log('item',this.Categories);
68 | }
69 |
70 | }
71 |
72 |
73 | initializeItems() {
74 | this.ShopItems2;
75 | }
76 |
77 | CheckButtonClicked(){
78 |
79 | if (this.select.SelectArray.length>0) {
80 | this.buttonClicked=true;
81 | }else{
82 | this.buttonClicked =false;
83 | }
84 |
85 |
86 | }
87 |
88 |
89 |
90 |
91 | private async getKeys(){
92 | this.ShopItems2=[];
93 | this.keys = await this.storage.get('Item_List').then((val) => {
94 | let value = JSON.parse(val);
95 | this.ShopItems2=(value);
96 | });
97 | }
98 |
99 |
100 |
101 |
102 |
103 | getItems1(ev: any) {
104 | this.initializeItems()
105 | let val = ev.target.value;
106 |
107 | if (val && val.trim() != '') {
108 |
109 | this.Categories = this.Categories.filter((item) => {
110 | return (item.itmname.toLowerCase().indexOf(val.toLowerCase()) > -1);
111 | })
112 |
113 | }
114 | }
115 |
116 | setDecrement(item: any){
117 | if(item.qty > 0) {
118 | item.qty--;
119 | }
120 | }
121 |
122 | //increment items
123 | setIncrement(item: any){
124 | item.qty++;
125 | }
126 |
127 | notify(event,item)
128 | {
129 | if(item.qty != 0){
130 | this.select.notify(event,item);
131 | this.CheckButtonClicked();
132 | this.First.push(new ObjModel(item));
133 | }
134 | }
135 |
136 | navigateTolistPage(){
137 | this.navCtrl.push(ListPage);
138 | }
139 |
140 |
141 |
142 | ionViewDidLeave () {
143 | this.Categories=this.ShopItems2;
144 | console.log( 'view did leave' );
145 | }
146 |
147 |
148 |
149 |
150 | //
151 | onToggleSelected() {
152 |
153 | this.ShopItems2.forEach((i) => {
154 | {i.selected=false;}
155 | {i.Checked =false;}
156 | {i.qty=1}
157 | });
158 |
159 | this.Items.length=0;
160 | this.Clicked.length=0;
161 | }
162 |
163 | }
--------------------------------------------------------------------------------
/src/pages/home/home.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 | My Pics
37 |
38 |
39 |
40 |
41 |
42 |
43 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 | Snap suggestions
74 |
75 |
76 |
77 |
78 |
79 |
86 |
87 |
88 |
89 |
90 |
91 |
--------------------------------------------------------------------------------
/src/pages/home/home.scss:
--------------------------------------------------------------------------------
1 |
2 | //page home slider for ios
3 | .ios{
4 | page-home {
5 | .slider{
6 | height:189px;
7 | margin-top:-22px;
8 | }
9 |
10 | }
11 | }
12 |
13 |
14 | //page home slider for android
15 |
16 | page-home {
17 | .slider{
18 | height:180px;
19 | }
20 |
21 |
22 |
23 |
24 |
25 |
26 | // New Box Items
27 |
28 | .container{
29 | margin: auto;
30 | flex-wrap: wrap;
31 | max-width: 1440px;
32 | text-align: center;
33 | }
34 | .box{
35 | flex: 1;
36 | width: 30%;
37 | float: left;
38 | border-radius: 12px;
39 | margin: 1.66%;
40 | min-height: 60px;
41 | background: #fbfbfb85;
42 | display: inline-block;
43 | box-shadow: 0 10px 12px rgba(0,0,0, .4);
44 | }
45 | @media (max-width: 425px){
46 | .box{
47 | flex: 1;
48 | width: 30%;
49 | float: left;
50 | border-radius: 12px;
51 | margin: 1.66%;
52 | min-height: 60px;
53 | background: #fbfbfb85;
54 | display: inline-block;
55 | box-shadow: 0 10px 12px rgba(0,0,0, .4);
56 |
57 | }
58 | }
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 | }
67 |
68 | .ios, .md {
69 |
70 | page-home {
71 |
72 |
73 |
74 | ion-scroll[scrollX] {
75 | white-space: nowrap;
76 | height: 120px;
77 | overflow: hidden;
78 |
79 | .scroll-item {
80 | display: inline-block;
81 | }
82 |
83 | .selectable-icon{
84 | margin: 10px 20px 10px 20px;
85 | color: red;
86 | font-size: 100px;
87 | }
88 |
89 | ion-avatar img{
90 | margin: 10px;
91 | }
92 | }
93 |
94 | ion-scroll[scroll-avatar]{
95 | height: 60px;
96 | }
97 |
98 | /* Hide ion-content scrollbar */
99 | ::-webkit-scrollbar{
100 | display:none;
101 | }
102 |
103 | ion-item {
104 | width: 92%;
105 | margin: 4%;
106 | padding-left: 10px !important;
107 | margin-bottom: 10px;
108 | background-color: #fff;
109 | opacity: 0.7;
110 | font-size: 0.9em;
111 | transition: 0.2s linear;
112 | }
113 |
114 | ion-scroll[scrollX] {
115 | white-space: nowrap;
116 | height: 120px;
117 | overflow: hidden;
118 |
119 | .scroll-item {
120 | display: inline-block;
121 | }
122 |
123 | .selectable-icon{
124 | margin: 10px 20px 10px 20px;
125 | color: red;
126 | font-size: 100px;
127 | }
128 |
129 | ion-avatar img{
130 | margin: 10px;
131 | }
132 | }
133 |
134 | ion-scroll[scroll-avatar]{
135 | height: 60px;
136 | }
137 |
138 | /* Hide ion-content scrollbar */
139 | ::-webkit-scrollbar{
140 | display:none;
141 | }
142 |
143 | }
144 |
145 | }
146 |
147 |
148 |
--------------------------------------------------------------------------------
/src/pages/list/item.ts:
--------------------------------------------------------------------------------
1 | import {ItemDetails} from '../../pages/list/item_details';
2 |
3 |
4 | export class ObjModel{
5 |
6 | // group_id:number =null;
7 | // group_items:ItemDetails;
8 |
9 |
10 | // constructor(data, group_items:ItemDetails){
11 | // this.group_id = data.group_id;
12 |
13 | // this.group_items =group_items;
14 | // }
15 |
16 | catid:number =null;
17 | catname:string=null;
18 | itmcode:any=null;
19 | itmname: any=null;
20 | itmprice:number =null;
21 | qty:number=null;
22 | description:any=null;
23 | availableqty:number=null;
24 |
25 |
26 | constructor(data){
27 | console.log('item',data);
28 | this.catid = data.catid;
29 | this.catname=data.catname;
30 | this.itmcode=data.itmcode;
31 | this.itmname=data.itmprice;
32 | this.itmprice=data.itmprice;
33 | this.description=data.description;
34 | this.qty=data.qty;
35 | this.availableqty=data.availableqty;
36 | }
37 |
38 |
39 | }
--------------------------------------------------------------------------------
/src/pages/list/item_details.ts:
--------------------------------------------------------------------------------
1 | export class ItemDetails{
2 |
3 | id:string = null;
4 | code:string = null ;
5 | description:any =null;
6 | name:any=null;
7 | price:any =null;
8 | picture:any= null;
9 | qty:any=null;
10 | active:any=null;
11 |
12 | constructor(data){
13 | console.log('ss',data);
14 | this.id=data.group_items[0].id;
15 | this.code =data.group_items[0].code;
16 | this.description=data.group_items[0].description;
17 | this.name=data.group_items[0].name;
18 | this.price=data.group_items[0].price;
19 | this.picture=data.group_items[0].picture;
20 | this.qty=data.group_items[0].qty;
21 | this.active=data.group_items[0].active;
22 | }
23 |
24 |
25 | }
--------------------------------------------------------------------------------
/src/pages/list/list.html:
--------------------------------------------------------------------------------
1 |
7 |
8 |
9 |
10 | List
11 |
12 |
13 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 | Your Cart Description
30 |
31 |
32 | There are no products in your cart!
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
45 |
46 |
47 |
48 | {{item.itmname}}
49 | {{item.qty}} X {{item.itmprice}} = Rs {{item.qty*item.itmprice}}
50 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
62 |
63 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 | TOTAL
84 |
85 |
86 |
87 |
88 |
89 | Rs {{T_Amt}}
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 |
110 |
111 |
112 |
113 |
114 |
115 |
--------------------------------------------------------------------------------
/src/pages/list/list.module.ts:
--------------------------------------------------------------------------------
1 | import { NgModule } from '@angular/core';
2 | import { IonicPageModule } from 'ionic-angular';
3 | import { ListPage } from './list';
4 |
5 | @NgModule({
6 | declarations: [
7 | ListPage,
8 | ],
9 | imports: [
10 | IonicPageModule.forChild(ListPage),
11 | ],
12 | })
13 | export class ListPageModule {}
14 |
--------------------------------------------------------------------------------
/src/pages/list/list.scss:
--------------------------------------------------------------------------------
1 | page-list {
2 |
3 | // $color-border--card: #F4F4F4;
4 | // $color-border--image: #E8E8E8;
5 | // $color-bkgrd--image: #F4F4F4;
6 | // $color-text: #333333;
7 |
8 | // $color-bkgrd--cta: #6FD830;
9 | // $color-text--cta: #FFF;
10 | // $color-bkgrd--flag: #5CC1DE;
11 | // $color-text--flag: #FFF;
12 |
13 | // $break: 0rem;
14 |
15 |
16 | // .fontlable{
17 | // font-size: 15px;
18 | // }
19 |
20 | // .hide {
21 | // display: none;
22 | // }
23 |
24 | // .active{
25 | // background-color:whitesmoke;
26 | // }
27 |
28 | // .red:before {
29 | // color: red;
30 | // }
31 |
32 | // .green:before {
33 | // color: green;
34 | // }
35 |
36 | // .flex_row {
37 | // display: -webkit-flex;
38 | // display: flex;
39 | // -webkit-flex-direction: row;
40 | // flex-direction: row;
41 | // }
42 |
43 |
44 | // .no-padding {
45 | // padding: 2px !important;
46 | // }
47 |
48 | // .card {
49 | // border: 0px solid $color-border--card;
50 | // border-radius: 0.0rem;
51 |
52 | // box-sizing: border-box;
53 | // color: $color-text;
54 | // display: flex;
55 | // flex-direction: column;
56 | // font-family: 'Avenir', 'Lato', sans-serif;
57 | // font-weight: 300;
58 | // margin: 0rem;
59 | // padding: {
60 | // top: 1rem;
61 | // right: 0;
62 | // bottom: 1rem;
63 | // left: 0;
64 | // }
65 | // @media screen and (min-width: $break) {
66 | // flex-direction: row;
67 | // }
68 |
69 |
70 |
71 |
72 |
73 | // &__right {
74 | // order: 2;
75 | // width: 100%;
76 | // box-sizing: border-box;
77 | // padding: 1.5rem;
78 | // @media screen and (min-width: $break) {
79 | // width: 55%;
80 | // }
81 | // }
82 |
83 | // &__left {
84 | // order: 1;
85 | // width: 100%;
86 | // margin: 0;
87 | // box-sizing: border-box;
88 | // padding: 1.5rem;
89 | // height: auto;
90 |
91 | // @media screen and (min-width: $break) {
92 | // width: 45%;
93 | // }
94 | // }
95 |
96 | // &__sale-flag, &__cta {
97 | // font-weight: 700;
98 | // text-transform: uppercase;
99 | // border-radius: 0.25rem;
100 | // text-align: center;
101 | // display: inline-block;
102 | // }
103 |
104 | // &__sale-flag {
105 | // color: $color-text--flag;
106 | // background-color: $color-bkgrd--flag;
107 | // font-size: 0.90rem;
108 | // padding: 0.25rem 0.75rem;
109 | // }
110 |
111 | // &__cta {
112 | // font-size: 1.25rem;
113 | // letter-spacing: 1.25px;
114 | // padding: 0.5rem 1rem;
115 | // border: none;
116 | // cursor: pointer;
117 | // color: $color-text--cta;
118 | // background-color: $color-bkgrd--cta;
119 | // }
120 |
121 | // &__name {
122 | // letter-spacing: 10px;
123 | // font-weight: 300;
124 | // margin-top: 0.75rem;
125 | // margin-bottom: 0.25rem;
126 | // font-size: 2.25rem;
127 | // }
128 |
129 | // &__price {
130 | // font-size: 3rem;
131 | // font-weight: 700;
132 | // margin-top: 0.25rem;
133 | // margin-bottom: 0;
134 | // }
135 |
136 | // &__info {
137 |
138 | // }
139 |
140 | // &__image {
141 | // box-sizing: border-box;
142 |
143 | // img {
144 | // width: 100%;
145 | // background-color: $color-bkgrd--image;
146 | // border: 1px solid $color-border--image;
147 | // border-radius: 0.5rem;
148 | // }
149 | // }
150 | // }
151 |
152 |
153 | }
154 |
--------------------------------------------------------------------------------
/src/pages/list/list.ts:
--------------------------------------------------------------------------------
1 | import { Component } from '@angular/core';
2 | import { IonicPage, NavController, NavParams,AlertController } from 'ionic-angular';
3 | import {SelectModel} from '../../pages/about/SelectModel';
4 | import { SelectCartProvider} from '../../providers/select-cart/select-cart';
5 | import { ObjModel } from '../../pages/list/item';
6 | import { ItemDetails} from '../../pages/list/item_details';
7 | import { Http,Response,RequestOptions,Headers } from '@angular/http';
8 | import { Storage } from '@ionic/storage';
9 | import { HomePage} from '../../pages/home/home';
10 |
11 | /**
12 | * Generated class for the ListPage page.
13 | *
14 | * See https://ionicframework.com/docs/components/#navigation for more info on
15 | * Ionic pages and navigation.
16 | */
17 |
18 | @IonicPage()
19 | @Component({
20 | selector: 'page-list',
21 | templateUrl: 'list.html',
22 | })
23 | export class ListPage {
24 | public Cart:any;
25 | T_Amt : number=0.00;
26 | Temp_List:any = [];
27 | showEmptyCartMessage: boolean = false;
28 | user_id;
29 |
30 | constructor(public storage:Storage,public navCtrl: NavController, public navParams: NavParams,public Select:SelectCartProvider,public AlertCtrl:AlertController,public http:Http) {
31 | this.storage.get('user_id').then((val) => {
32 | this.user_id = JSON.parse(val);
33 | });
34 |
35 | }
36 |
37 | ionViewDidLoad() {
38 | console.log('ionViewDidLoad ListPage');
39 | }
40 |
41 | EmptyOrNo(){
42 | if(this.Select.SelectArray.length>0){
43 | this.showEmptyCartMessage=false;
44 | }else{
45 | this.showEmptyCartMessage=true;
46 | }
47 | }
48 |
49 |
50 | //eqal function for NgInit()
51 | ionViewWillEnter() {
52 | this.loadData();
53 | this.EmptyOrNo();
54 | }
55 |
56 | // load data
57 | public loadData(){
58 | this.Cart = this.Select.SelectArray;
59 | console.log('s',this.Cart);
60 | this.calcTotalAmount();
61 | }
62 |
63 |
64 |
65 | //decrement items
66 | setDecrement(item: any){
67 | if(item.qty > 0 && item.qty !== 1) {
68 | item.qty--;
69 | if(this.checkItem(item) === true){
70 | let itemIndex = this.Select.SelectArray.findIndex(obj => obj.itmcode == item.itmcode);
71 | this.Select.SelectArray[itemIndex] = item;
72 | this.calcTotalAmount();
73 | }
74 |
75 | }
76 | }
77 |
78 | //increment items
79 | setIncrement(item: any){
80 | item.qty++;
81 | if(this.checkItem(item) === true){
82 | let itemIndex = this.Select.SelectArray.findIndex(obj => obj.itmcode == item.itmcode);
83 | this.Select.SelectArray[itemIndex] = item;
84 | this.calcTotalAmount();
85 |
86 | }
87 | }
88 |
89 | //checking items
90 | checkItem(item){
91 | var isAvailable =false;
92 | for(var i = 0; i < this.Select.SelectArray.length; i++) {
93 | if(this.Select.SelectArray[i].itmcode === item.itmcode){
94 | isAvailable=true;
95 | break;
96 | }
97 | }
98 | return isAvailable;
99 | }
100 |
101 |
102 | //remove item form item
103 | setRemoveItems(item:any){
104 | if(this.checkItem(item) === true ){
105 | this.Select.SelectArray = this.Select.SelectArray.filter(obj => obj.itmcode !== item.itmcode);
106 | this.Cart =this.Cart.filter(obj=>obj.itmcode!==item.itmcode);
107 | this.calcTotalAmount();
108 |
109 | }
110 | }
111 |
112 |
113 | //calculate Total
114 | public calcTotalAmount(){
115 | this.T_Amt=0;
116 | for(var i=0;i {
159 | console.log('Cancel clicked');
160 | }
161 | },
162 | {
163 | text: 'Create',
164 | handler: data => {
165 | obj.list_name=data.List;
166 | // pass data array
167 | console.log('check array',obj);
168 |
169 | let list=JSON.stringify(obj);
170 |
171 | var base_url = "http://snap.iqmedialabs.com/create_basket";
172 |
173 | let headers = new Headers({ 'Content-Type': 'application/json' });
174 | let options = new RequestOptions({ headers: headers });
175 |
176 |
177 |
178 | this.http.post(base_url,list,options)
179 | .subscribe(data => {
180 | let body = data.json()
181 | console.log(body);
182 |
183 | if(body.status === true){
184 | let alert = this.AlertCtrl.create({
185 | title: 'Success',
186 | subTitle: ''+body.message,
187 | buttons: ['Dismiss']
188 | });
189 | alert.present();
190 | this.Select.SelectArray.length = 0;
191 | localStorage.removeItem('TempCartItems');
192 | this.navCtrl.push(HomePage);
193 | }else{
194 | let alert = this.AlertCtrl.create({
195 | title: 'Error',
196 | subTitle: 'Something went wrong.please check again!',
197 | buttons: ['Dismiss']
198 | });
199 | alert.present();
200 |
201 | }
202 |
203 |
204 | }, error => {
205 | console.log("Oooops!");
206 | });
207 |
208 |
209 |
210 | console.log(list);
211 | }
212 | }
213 | ]
214 | });
215 | alert.present();
216 |
217 | }
218 |
219 |
220 |
221 |
222 |
223 | }
224 |
--------------------------------------------------------------------------------
/src/pages/login/login.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 | or login using
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
--------------------------------------------------------------------------------
/src/pages/login/login.module.ts:
--------------------------------------------------------------------------------
1 | import { NgModule } from '@angular/core';
2 | import { IonicPageModule } from 'ionic-angular';
3 | import { LoginPage } from './login';
4 |
5 | @NgModule({
6 | declarations: [
7 | LoginPage,
8 | ],
9 | imports: [
10 | IonicPageModule.forChild(LoginPage),
11 | ],
12 | })
13 | export class LoginPageModule {}
14 |
--------------------------------------------------------------------------------
/src/pages/login/login.scss:
--------------------------------------------------------------------------------
1 | .ios, .md {
2 |
3 | page-login {
4 |
5 | .scroll-content {
6 | background-color: #00a3d5;
7 | background-image: url(../assets/imgs/main-bg.png);
8 | display: flex;
9 | flex-direction: column;
10 | overflow: hidden;
11 | }
12 |
13 | img {
14 | max-width: 100%;
15 | height: auto;
16 | margin: 0 auto;
17 | }
18 |
19 | #cloud-layer {
20 | background-image: url(../assets/imgs/cloud-layer.png);
21 | background-size: cover;
22 | width: 100%;
23 | height: 100%;
24 | }
25 |
26 | ion-row {
27 | align-items: center;
28 | text-align: center;
29 | }
30 |
31 | ion-item {
32 | border-radius: 30px !important;
33 | padding-left: 10px !important;
34 | margin-bottom: 10px;
35 | background-color: #ffffff;
36 | opacity: 0.7;
37 | font-size: 0.9em;
38 | }
39 |
40 | ion-list {
41 | margin: 0;
42 | }
43 |
44 | .login-button {
45 | width: 100%;
46 | border-radius: 30px;
47 | font-size: 0.9em;
48 | border: 1px solid #fff;
49 | background-color: #4C301B;
50 | }
51 |
52 | .facebook-button{
53 | width:100%;
54 | border-radius:30px;
55 | font-size:0.9em;
56 | border:1px solid #fff;
57 | background-color:#366dd0;
58 | }
59 |
60 | .google-button{
61 | width:100%;
62 | border-radius:30px;
63 | font-size:0.9em;
64 | border:1px solid #fff;
65 | background-color:#D62D20;
66 | }
67 |
68 |
69 | }
70 | .login-error {
71 | .toast-wrapper {
72 | background:#f64539;
73 |
74 | }
75 | .toast-message {
76 | font-size:12px;
77 | }
78 | }
79 |
80 |
81 | }
--------------------------------------------------------------------------------
/src/pages/notification/notification.html:
--------------------------------------------------------------------------------
1 |
7 |
8 |
9 |
10 | Notification
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 | Status: {{ product.status }}
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
--------------------------------------------------------------------------------
/src/pages/notification/notification.module.ts:
--------------------------------------------------------------------------------
1 | import { NgModule } from '@angular/core';
2 | import { IonicPageModule } from 'ionic-angular';
3 | import { NotificationPage } from './notification';
4 |
5 | @NgModule({
6 | declarations: [
7 | NotificationPage,
8 | ],
9 | imports: [
10 | IonicPageModule.forChild(NotificationPage),
11 | ],
12 | })
13 | export class NotificationPageModule {}
14 |
--------------------------------------------------------------------------------
/src/pages/notification/notification.scss:
--------------------------------------------------------------------------------
1 | page-notification {
2 |
3 |
4 |
5 |
6 |
7 | }
8 |
--------------------------------------------------------------------------------
/src/pages/notification/notification.ts:
--------------------------------------------------------------------------------
1 | import { Component } from '@angular/core';
2 | import { IonicPage, NavController, NavParams,AlertController,LoadingController } from 'ionic-angular';
3 | import { Http,Response,RequestOptions,Headers } from '@angular/http';
4 | import { Storage } from '@ionic/storage';
5 | import{NotificatonsPipe} from '../../pipes/notificatons/notificatons';
6 |
7 | /**
8 | * Generated class for the NotificationPage page.
9 | *
10 | * See https://ionicframework.com/docs/components/#navigation for more info on
11 | * Ionic pages and navigation.
12 | */
13 |
14 | @IonicPage()
15 | @Component({
16 | selector: 'page-notification',
17 | templateUrl: 'notification.html',
18 | })
19 | export class NotificationPage {
20 | user_id;
21 | Notification=[];
22 | Final=[];
23 |
24 |
25 |
26 | constructor(public loading:LoadingController,public AlertCtrl:AlertController,public storage:Storage,public navCtrl: NavController, public navParams: NavParams,public http:Http) {
27 | this.storage.ready()
28 | .then(() => this.getuser())
29 | .then(() => this.get_notifications())
30 | // this.get_notifications();
31 |
32 | }
33 |
34 | ionViewWillEnter(){
35 | this.storage.ready()
36 | .then(() => this.get_notifications())
37 | }
38 |
39 |
40 |
41 | ionViewDidLoad() {
42 | console.log('ionViewDidLoad NotificationPage');
43 | }
44 |
45 | //load user_id
46 | getuser(){
47 | this.storage.get('user_id').then((val) => {
48 | this.user_id = JSON.parse(val);
49 | console.log('user',this.user_id);
50 | });
51 | }
52 |
53 |
54 | // Methods for get Notifications
55 |
56 | public get_notifications(){
57 |
58 | var base_url="http://snap.iqmedialabs.com/notifications";
59 |
60 | let headers = new Headers({ 'Content-Type': 'application/json' });
61 | let options = new RequestOptions({ headers: headers });
62 |
63 |
64 | let dataz = JSON.stringify({
65 | user_id:this.user_id
66 |
67 | });
68 |
69 | this.http.post(base_url,dataz,options)
70 | .subscribe(data => {
71 | let body = data.json();
72 | this.Notification= body;
73 | console.log(body);
74 | }, error => {
75 | console.log("Oooops!");
76 |
77 | });
78 |
79 | }
80 |
81 |
82 | loadItemInside(item_id){
83 |
84 | let loading = this.loading.create({
85 | content: 'Loading Orders ! Please wait...',
86 | spinner: 'crescent'
87 |
88 | });
89 |
90 | this.Final=NotificatonsPipe.prototype.transform(this.Notification,item_id);
91 | console.log(this.Final);
92 |
93 | setTimeout(() => {
94 | loading.dismiss();
95 | }, 5000);
96 | }
97 |
98 |
99 | }
100 |
--------------------------------------------------------------------------------
/src/pages/offer-load/offer-load.html:
--------------------------------------------------------------------------------
1 |
7 |
8 |
9 |
10 | {{item.itmname}}
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 | {{item.itmname}}
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 | Specifications
42 |
43 |
44 |
45 |
46 |
47 | NAME
48 |
49 |
50 | Features
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 | {{item.qty}}
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 | Reviews
83 |
84 |
85 |
86 |
87 |
88 | Name
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 |
110 |
111 |
112 |
113 |
114 |
115 |
116 |
117 |
118 |
119 |
120 |
--------------------------------------------------------------------------------
/src/pages/offer-load/offer-load.module.ts:
--------------------------------------------------------------------------------
1 | import { NgModule } from '@angular/core';
2 | import { IonicPageModule } from 'ionic-angular';
3 | import { OfferLoadPage } from './offer-load';
4 |
5 | @NgModule({
6 | declarations: [
7 | OfferLoadPage,
8 | ],
9 | imports: [
10 | IonicPageModule.forChild(OfferLoadPage),
11 | ],
12 | })
13 | export class OfferLoadPageModule {}
14 |
--------------------------------------------------------------------------------
/src/pages/offer-load/offer-load.scss:
--------------------------------------------------------------------------------
1 | page-offer-load {
2 |
3 |
4 | }
5 |
--------------------------------------------------------------------------------
/src/pages/offer-load/offer-load.ts:
--------------------------------------------------------------------------------
1 | import { Component } from '@angular/core';
2 | import { IonicPage, NavController, NavParams } from 'ionic-angular';
3 | import {SelectCartProvider} from '../../providers/select-cart/select-cart';
4 | import {ListPage} from '../../pages/list/list';
5 | import { ObjModel } from '../../pages/list/item';
6 |
7 | /**
8 | * Generated class for the OfferLoadPage page.
9 | *
10 | * See https://ionicframework.com/docs/components/#navigation for more info on
11 | * Ionic pages and navigation.
12 | */
13 |
14 | @IonicPage()
15 | @Component({
16 | selector: 'page-offer-load',
17 | templateUrl: 'offer-load.html',
18 | })
19 | export class OfferLoadPage {
20 | item;
21 | public buttonClicked: boolean = false;
22 | First :Array = new Array ();
23 |
24 | constructor(public select:SelectCartProvider,public navCtrl: NavController, public navParams: NavParams) {
25 | this.item= navParams.data.item;
26 | }
27 |
28 | ionViewDidLoad() {
29 | console.log('ionViewDidLoad OfferLoadPage');
30 | }
31 |
32 | setDecrement(item: any){
33 | if(item.qty > 0) {
34 | item.qty--;
35 | }
36 | }
37 |
38 | //increment items
39 | setIncrement(item: any){
40 | item.qty++;
41 | }
42 |
43 | CheckButtonClicked(){
44 |
45 | if (this.select.SelectArray.length>0) {
46 | this.buttonClicked=true;
47 | }else{
48 | this.buttonClicked =false;
49 | }
50 |
51 |
52 | }
53 |
54 |
55 | notify(event,item)
56 | {
57 | if(item.qty != 0){
58 | this.select.notify(event,item);
59 | this.CheckButtonClicked();
60 | this.First.push(new ObjModel(item));
61 | }
62 | }
63 |
64 | navigateTolistPage(){
65 | this.navCtrl.push(ListPage);
66 | }
67 |
68 | ionViewWillEnter() {
69 | this.CheckButtonClicked();
70 |
71 | }
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 | }
85 |
--------------------------------------------------------------------------------
/src/pages/orders/orders.html:
--------------------------------------------------------------------------------
1 |
7 |
8 |
9 |
10 | Orders
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 | Your Cart Description
24 |
25 |
26 | There are no products in your cart!
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 | {{ product.itmname }}
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
--------------------------------------------------------------------------------
/src/pages/orders/orders.module.ts:
--------------------------------------------------------------------------------
1 | import { NgModule } from '@angular/core';
2 | import { IonicPageModule } from 'ionic-angular';
3 | import { OrdersPage } from './orders';
4 |
5 | @NgModule({
6 | declarations: [
7 | OrdersPage,
8 | ],
9 | imports: [
10 | IonicPageModule.forChild(OrdersPage),
11 | ],
12 | })
13 | export class OrdersPageModule {}
14 |
--------------------------------------------------------------------------------
/src/pages/orders/orders.scss:
--------------------------------------------------------------------------------
1 | page-orders {
2 |
3 | }
4 |
--------------------------------------------------------------------------------
/src/pages/orders/orders.ts:
--------------------------------------------------------------------------------
1 | import { Component } from '@angular/core';
2 | import { IonicPage, NavController, NavParams } from 'ionic-angular';
3 | import { Http,Response,RequestOptions,Headers} from '@angular/http';
4 | import { Storage } from '@ionic/storage';
5 | import { LoadingController } from 'ionic-angular';
6 | import { OrderPipe} from '../../pipes/order/order'
7 | import 'rxjs/add/operator/debounceTime';
8 | import 'rxjs/Rx';
9 |
10 |
11 | /**
12 | * Generated class for the OrdersPage page.
13 | *
14 | * See https://ionicframework.com/docs/components/#navigation for more info on
15 | * Ionic pages and navigation.
16 | */
17 |
18 | @IonicPage()
19 | @Component({
20 | selector: 'page-orders',
21 | templateUrl: 'orders.html',
22 | })
23 | export class OrdersPage {
24 | OrderList =[];
25 | user_id;
26 | Final =[];
27 | showEmptyCartMessage: boolean = false;
28 |
29 | constructor(public storage:Storage,public http:Http,public navCtrl: NavController, public navParams: NavParams,public loadingCtrl:LoadingController) {
30 | this.storage.ready()
31 | .then(() => this.loadOrders())
32 | }
33 |
34 | ionViewDidLoad() {
35 | console.log('ionViewDidLoad OrdersPage');
36 | }
37 |
38 | ionViewWillEnter() {
39 | this.storage.ready()
40 | .then(() => this.loadOrders())
41 | // .then(()=> this.EmptyOrNot())
42 | }
43 |
44 |
45 | loadOrders(){
46 |
47 | this.storage.get('user_id').then((val) => {
48 | let profile=JSON.parse(val);
49 | this.user_id = profile
50 | if(this.user_id != null){
51 | this.loadCart();
52 | }
53 |
54 | }).catch((empty) => {
55 | console.log('ERROR');
56 |
57 | });
58 |
59 | }
60 |
61 |
62 | EmptyOrNot(){
63 | if(this.OrderList.length>0){
64 | this.showEmptyCartMessage=false;
65 | }else{
66 | this.showEmptyCartMessage=true;
67 | }
68 | }
69 |
70 |
71 | loadItemInside(item_id){
72 |
73 | let loading = this.loadingCtrl.create({
74 | content: 'Loading Orders ! Please wait...',
75 | spinner: 'crescent'
76 |
77 | });
78 |
79 | this.Final=OrderPipe.prototype.transform(this.OrderList,item_id);
80 |
81 | setTimeout(() => {
82 | loading.dismiss();
83 | }, 5000);
84 | }
85 |
86 |
87 | loadCart(){
88 |
89 | var base_url="http://snap.iqmedialabs.com/order_history";
90 |
91 | let headers = new Headers({ 'Content-Type': 'application/json' });
92 | let options = new RequestOptions({ headers: headers });
93 |
94 |
95 |
96 | let obj=JSON.stringify({
97 | user_id:this.user_id
98 | });
99 |
100 | let loading = this.loadingCtrl.create({
101 | content: 'Loading Orders ! Please wait...',
102 | spinner: 'crescent'
103 | });
104 | loading.present();
105 |
106 |
107 |
108 | this.http.post(base_url,obj,options)
109 | .subscribe(data => {
110 | let body = data.json()
111 |
112 | if(body.status===false){
113 | this.EmptyOrNot();
114 | loading.dismiss();
115 | }else{
116 | this.OrderList = body;
117 | loading.dismiss();
118 |
119 | }
120 | }, error => {
121 | let loading = this.loadingCtrl.create({
122 | content: 'Loading Orders ! Please wait...',
123 | spinner: 'crescent'
124 | });
125 | loading.present();
126 |
127 | console.log("Oooops!");
128 |
129 | });
130 |
131 |
132 |
133 |
134 | }
135 |
136 | }
137 |
--------------------------------------------------------------------------------
/src/pages/profile-edit/profile-edit.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Profile
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |

21 |
Sampath Dissanayake
22 |
Developer from @prismdevteam
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 | Gender
51 |
52 | Female
53 | Male
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
--------------------------------------------------------------------------------
/src/pages/profile-edit/profile-edit.module.ts:
--------------------------------------------------------------------------------
1 | import { NgModule } from '@angular/core';
2 | import { IonicPageModule } from 'ionic-angular';
3 | import { ProfileEditPage } from './profile-edit';
4 |
5 | @NgModule({
6 | declarations: [
7 | ProfileEditPage,
8 | ],
9 | imports: [
10 | IonicPageModule.forChild(ProfileEditPage),
11 | ],
12 | })
13 | export class ProfileEditPageModule {}
14 |
--------------------------------------------------------------------------------
/src/pages/profile-edit/profile-edit.scss:
--------------------------------------------------------------------------------
1 | page-profile-edit {
2 | #profile-bg {
3 | position: fixed;
4 | left: 0;
5 | top: 44px;
6 | width: 100%;
7 | height: 150px;
8 |
9 | background: url('https://s3-us-west-2.amazonaws.com/s.cdpn.io/94311/bg.jpg') no-repeat transparent;
10 | background-size: 100%;
11 | background-position: 50% 20%;
12 |
13 | text-align: center;
14 | }
15 |
16 | #content {
17 | position: relative;
18 | margin-top: 150px;
19 | background-color: white;
20 | box-shadow: 0px -1px 10px rgba(0,0,0,0.4);
21 | padding-top: 200px;
22 | }
23 |
24 | #profile-info {
25 | position: absolute;
26 | top: -95px;
27 | width: 100%;
28 | z-index: 2;
29 | text-align: center;
30 | }
31 | #profile-name {
32 | color: #444;
33 | font-size: 26px;
34 | }
35 | #profile-description {
36 | font-size: 15px;
37 | color: #888;
38 | }
39 | #profile-description a {
40 | color: #888;
41 | }
42 |
43 | #profile-image {
44 | display: block;
45 | border-radius: 100px;
46 | border: 1px solid #fff;
47 | width: 128px;
48 | height: 128px;
49 | margin: 30px auto 0;
50 | box-shadow: 0px 0px 4px rgba(0,0,0,0.7);
51 | }
52 |
53 | .list-item-content {
54 | padding: 5px;
55 | }
56 |
57 | .list-item {
58 | color: #666666;
59 | }
60 |
61 | .post {
62 | color: #444;
63 | }
64 |
65 | .post-time {
66 | position: absolute;
67 | right: 5px;
68 | top: 5px;
69 | font-size: 11px;
70 | color: #888;
71 | }
72 |
73 | .post-profile-image {
74 | display: inline-block;
75 | vertical-align: top;
76 | width: 48px;
77 | height: 48px;
78 | margin-right: 10px;
79 | }
80 | .post-options {
81 | position: absolute;
82 | font-size: 16px;
83 | right: 5px;
84 | bottom: 5px;
85 | color: #888;
86 | }
87 |
88 | .center_text {
89 | text-align: center;
90 | }
91 |
92 |
93 | //inline editor SCSS
94 |
95 |
96 |
97 |
98 | }
99 |
--------------------------------------------------------------------------------
/src/pages/profile-popover/profile-popover.html:
--------------------------------------------------------------------------------
1 |
9 |
10 |
11 |
12 |
13 | {{welcome_msg}}
14 |
17 |
18 |
--------------------------------------------------------------------------------
/src/pages/profile-popover/profile-popover.module.ts:
--------------------------------------------------------------------------------
1 | import { NgModule } from '@angular/core';
2 | import { IonicPageModule } from 'ionic-angular';
3 | import { ProfilePopoverPage } from './profile-popover';
4 |
5 | @NgModule({
6 | declarations: [
7 | ProfilePopoverPage,
8 | ],
9 | imports: [
10 | IonicPageModule.forChild(ProfilePopoverPage),
11 | ],
12 | })
13 | export class ProfilePopoverPageModule {}
14 |
--------------------------------------------------------------------------------
/src/pages/profile-popover/profile-popover.scss:
--------------------------------------------------------------------------------
1 | page-profile-popover {
2 |
3 | }
4 |
--------------------------------------------------------------------------------
/src/pages/profile-popover/profile-popover.ts:
--------------------------------------------------------------------------------
1 | import { Component } from '@angular/core';
2 | import { IonicPage, NavController, NavParams,ViewController } from 'ionic-angular';
3 | import {ProfileEditPage} from '../../pages/profile-edit/profile-edit';
4 | import { Storage } from '@ionic/storage';
5 |
6 | /**
7 | * Generated class for the ProfilePopoverPage page.
8 | *
9 | * See https://ionicframework.com/docs/components/#navigation for more info on
10 | * Ionic pages and navigation.
11 | */
12 |
13 | @IonicPage()
14 | @Component({
15 | selector: 'page-profile-popover',
16 | templateUrl: 'profile-popover.html',
17 |
18 | })
19 | export class ProfilePopoverPage {
20 | user_name;
21 | user_id;
22 | welcome_msg;
23 |
24 | constructor(public storage:Storage,public navCtrl: NavController, public navParams: NavParams,public viewCtrl:ViewController) {
25 | this.loadData();
26 | }
27 |
28 | ionViewDidLoad() {
29 | console.log('ionViewDidLoad ProfilePopoverPage');
30 | this.loadData();
31 | }
32 |
33 | //navigate to edit pages
34 | FireEditPages(){
35 | this.navCtrl.push(ProfileEditPage);
36 | }
37 |
38 |
39 | loadData(){
40 |
41 |
42 |
43 | this.storage.get('profile_data').then((val) => {
44 |
45 | let profile = JSON.parse(val);
46 |
47 |
48 | this.user_name = profile.user_name;
49 | this.user_id = profile.user_id;
50 | this.welcome_msg = profile.message;
51 |
52 | });
53 |
54 |
55 |
56 | }
57 |
58 |
59 | //close view
60 | close(){
61 | this.viewCtrl.dismiss();
62 | }
63 |
64 | }
65 |
--------------------------------------------------------------------------------
/src/pages/single-purchase/single-purchase.html:
--------------------------------------------------------------------------------
1 |
7 |
8 |
9 |
10 | Details Page
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 | {{item.itmname}}
32 |
35 |
36 |
37 |
38 |
39 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 | Specifications
52 |
53 |
54 |
55 |
56 |
57 | NAME
58 |
59 |
60 | Features
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 | {{item.qty}}
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 | Reviews
90 |
91 |
92 |
93 |
94 |
95 | Name
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 |
110 |
111 |
112 |
113 |
114 |
115 |
116 |
117 |
118 |
119 |
120 |
121 |
122 |
--------------------------------------------------------------------------------
/src/pages/single-purchase/single-purchase.module.ts:
--------------------------------------------------------------------------------
1 | import { NgModule } from '@angular/core';
2 | import { IonicPageModule } from 'ionic-angular';
3 | import { SinglePurchasePage } from './single-purchase';
4 |
5 | @NgModule({
6 | declarations: [
7 | SinglePurchasePage,
8 | ],
9 | imports: [
10 | IonicPageModule.forChild(SinglePurchasePage),
11 | ],
12 | })
13 | export class SinglePurchasePageModule {}
14 |
--------------------------------------------------------------------------------
/src/pages/single-purchase/single-purchase.scss:
--------------------------------------------------------------------------------
1 | page-single-purchase {
2 |
3 | }
4 |
--------------------------------------------------------------------------------
/src/pages/single-purchase/single-purchase.ts:
--------------------------------------------------------------------------------
1 | import { Component } from '@angular/core';
2 | import { IonicPage, NavController, NavParams } from 'ionic-angular';
3 | import {SelectCartProvider} from '../../providers/select-cart/select-cart';
4 | import {ListPage} from '../../pages/list/list';
5 | import { ObjModel } from '../../pages/list/item';
6 |
7 |
8 | /**
9 | * Generated class for the SinglePurchasePage page.
10 | *
11 | * See https://ionicframework.com/docs/components/#navigation for more info on
12 | * Ionic pages and navigation.
13 | */
14 |
15 | @IonicPage()
16 | @Component({
17 | selector: 'page-single-purchase',
18 | templateUrl: 'single-purchase.html',
19 | })
20 | export class SinglePurchasePage {
21 |
22 | item;
23 | First :Array = new Array ();
24 | public buttonClicked: boolean = false;
25 |
26 | constructor(public select:SelectCartProvider, public navCtrl: NavController, public navParams: NavParams) {
27 | this.item = this.navParams.data.item;
28 | console.log('V',this.item);
29 |
30 | }
31 |
32 | ionViewDidLoad() {
33 | console.log('ionViewDidLoad SinglePurchasePage');
34 | }
35 |
36 | setDecrement(item: any){
37 | if(item.qty > 0) {
38 | item.qty--;
39 | }
40 | }
41 |
42 | //increment items
43 | setIncrement(item: any){
44 | item.qty++;
45 | }
46 |
47 | CheckButtonClicked(){
48 |
49 | if (this.select.SelectArray.length>0) {
50 | this.buttonClicked=true;
51 | }else{
52 | this.buttonClicked =false;
53 | }
54 |
55 |
56 | }
57 |
58 |
59 | notify(event,item)
60 | {
61 | if(item.qty != 0){
62 | this.select.notify(event,item);
63 | this.CheckButtonClicked();
64 | this.First.push(new ObjModel(item));
65 | }
66 | }
67 |
68 | navigateTolistPage(){
69 | this.navCtrl.push(ListPage);
70 | }
71 |
72 |
73 |
74 |
75 | }
76 |
--------------------------------------------------------------------------------
/src/pages/tabs/tabs.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/src/pages/tabs/tabs.ts:
--------------------------------------------------------------------------------
1 | import { Component } from '@angular/core';
2 |
3 | import { AboutPage } from '../about/about';
4 | import { ContactPage } from '../contact/contact';
5 | import { HomePage } from '../home/home';
6 | import { CartPage} from '../cart/cart';
7 | import { NotificationPage } from '../notification/notification';
8 | import {FinalCartForServerProvider} from '../../providers/final-cart-for-server/final-cart-for-server'
9 |
10 | @Component({
11 | templateUrl: 'tabs.html'
12 | })
13 | export class TabsPage {
14 | CartBadgeCount : number = 0; // default 0
15 | tab1Root = HomePage;
16 | tab2Root = AboutPage;
17 | tab3Root = ContactPage;
18 | tab4Root = CartPage;
19 | tab5Root = NotificationPage;
20 |
21 | constructor(public FinalCart:FinalCartForServerProvider) {
22 |
23 | }
24 |
25 | load(){
26 | return this.CartBadgeCount = this.FinalCart.CartBadgeCount;
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/src/pages/user-registration/user-registration.html:
--------------------------------------------------------------------------------
1 |
7 |
8 |
9 |
10 | User Registration
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
85 |
86 |
87 |
88 |
--------------------------------------------------------------------------------
/src/pages/user-registration/user-registration.module.ts:
--------------------------------------------------------------------------------
1 | import { NgModule } from '@angular/core';
2 | import { IonicPageModule } from 'ionic-angular';
3 | import { UserRegistrationPage } from './user-registration';
4 |
5 | @NgModule({
6 | declarations: [
7 | UserRegistrationPage,
8 | ],
9 | imports: [
10 | IonicPageModule.forChild(UserRegistrationPage),
11 | ],
12 | })
13 | export class UserRegistrationPageModule {}
14 |
--------------------------------------------------------------------------------
/src/pages/user-registration/user-registration.scss:
--------------------------------------------------------------------------------
1 | page-user-registration {
2 |
3 | }
4 |
--------------------------------------------------------------------------------
/src/pages/user-registration/user-registration.ts:
--------------------------------------------------------------------------------
1 | import { Component } from '@angular/core';
2 | import { IonicPage, NavController, NavParams,AlertController } from 'ionic-angular';
3 | import { FormBuilder, FormGroup, Validators, AbstractControl } from '@angular/forms';
4 | import { Http,Response,Headers, RequestOptions } from '@angular/http';
5 | import {LoginPage} from '../../pages/login/login';
6 | import 'rxjs/Rx';
7 | /**
8 | * Generated class for the UserRegistrationPage page.
9 | *
10 | * See https://ionicframework.com/docs/components/#navigation for more info on
11 | * Ionic pages and navigation.
12 | */
13 |
14 | @IonicPage()
15 | @Component({
16 | selector: 'page-user-registration',
17 | templateUrl: 'user-registration.html',
18 | })
19 | export class UserRegistrationPage {
20 |
21 | authForm: FormGroup;
22 |
23 | masks:any;
24 | phoneNumber: any = "";
25 |
26 | //generate controllers
27 | fname: AbstractControl;
28 | lname: AbstractControl;
29 | password: AbstractControl;
30 | street: AbstractControl;
31 | address: AbstractControl;
32 | town: AbstractControl;
33 | telephone: AbstractControl;
34 | email:AbstractControl;
35 | gender:AbstractControl;
36 |
37 |
38 | constructor(public navCtrl: NavController, public navParams: NavParams,public formBuilder:FormBuilder , public http:Http,public AlertCtrl:AlertController ) {
39 | this.masks={
40 | phoneNumber: ['(', /[1-9]/, /\d/, /\d/, ')', ' ', /\d/, /\d/, /\d/, '-', /\d/, /\d/, /\d/]
41 |
42 | };
43 |
44 | this.authForm = formBuilder.group({
45 | fname: ['', Validators.compose([Validators.required, Validators.minLength(3)])],
46 | lname: ['', Validators.compose([Validators.required, Validators.minLength(3)])],
47 | password: ['', Validators.compose([Validators.required, Validators.minLength(8)])],
48 | street: ['', Validators.compose([Validators.required, Validators.minLength(8)])],
49 | address: ['', Validators.compose([Validators.required, Validators.minLength(8)])],
50 | town: ['', Validators.compose([Validators.required, Validators.minLength(4)])],
51 | gender: ['', Validators.compose([Validators.required, Validators.minLength(1)])],
52 | telephone: ['', Validators.compose([Validators.required, Validators.minLength(10)])],
53 | email:['',Validators.compose([Validators.maxLength(70), Validators.pattern('^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$'), Validators.required])]
54 | });
55 |
56 |
57 |
58 | }
59 |
60 | onSubmit(value: any):void{
61 |
62 | // base url definition
63 | var base_url="http://snap.iqmedialabs.com/reg";
64 |
65 | //Object Definition
66 | interface Name {
67 | inpt_fname: string;
68 | inpt_lname: string;
69 | inpt_passwd:string;
70 | inpt_street:string,
71 | inpt_addrss:string,
72 | inpt_town:string,
73 | inpt_email:string,
74 | inpt_contact:number,
75 | inpt_gender:string
76 | }
77 |
78 |
79 | let dataz = JSON.stringify({
80 | inpt_fname: value.fname,
81 | inpt_lname: value.lname,
82 | inpt_passwd: value.password,
83 | inpt_street:value.street,
84 | inpt_addrss:value.address,
85 | inpt_town:value.town,
86 | inpt_email:value.email,
87 | inpt_contact:value.telephone,
88 | inpt_gender:value.gender
89 | });
90 |
91 | console.log('Gender',dataz);
92 |
93 |
94 |
95 |
96 | let headers = new Headers({ 'Content-Type': 'application/json' });
97 | let options = new RequestOptions({ headers: headers });
98 |
99 |
100 | // POST METHOD TO SERVER
101 | this.http.post(base_url,dataz,options)
102 | .subscribe(data => {
103 | let body = data.json()
104 | console.log(body);
105 | if(body.status===true){
106 | let alert = this.AlertCtrl.create({
107 | title: 'Sucsess',
108 | subTitle: 'Sucessfully Registerd!',
109 | buttons: [
110 | {
111 | text: 'Ok',
112 | handler: () => {
113 | this.navCtrl.push(LoginPage);
114 | this.navCtrl.popToRoot();
115 | }
116 | }
117 | ]
118 | });
119 | alert.present();
120 |
121 | }else{
122 | let alert = this.AlertCtrl.create({
123 | title: 'Error',
124 | subTitle: ''+body. message+'! Please try again.',
125 | buttons: ['Dismiss']
126 | });
127 | alert.present();
128 |
129 | }
130 |
131 | }, error => {
132 | console.log("Oooops!");
133 | });
134 |
135 |
136 |
137 |
138 |
139 | }
140 |
141 | ionViewDidLoad() {
142 | console.log('ionViewDidLoad UserRegistrationPage');
143 | }
144 |
145 | }
146 |
--------------------------------------------------------------------------------
/src/pipes/notificatons/notificatons.ts:
--------------------------------------------------------------------------------
1 | import { Pipe, PipeTransform } from '@angular/core';
2 |
3 | /**
4 | * Generated class for the NotificatonsPipe pipe.
5 | *
6 | * See https://angular.io/api/core/Pipe for more info on Angular Pipes.
7 | */
8 | @Pipe({
9 | name: 'notificatons',
10 | })
11 | export class NotificatonsPipe implements PipeTransform {
12 |
13 |
14 | public servfiltered:any[];
15 | serv2filterd: any[] = [];
16 |
17 | public transform(values: any[], item_name: string) {
18 | if (!values || !values.length) return [];
19 | if (!item_name) return values;
20 | this.servfiltered =values.filter(servl => servl.orderid==item_name);
21 |
22 | this.servfiltered.forEach( item => {
23 | this.serv2filterd=item.notifications;
24 | });
25 |
26 | return this.serv2filterd;
27 | }
28 |
29 | }
30 |
--------------------------------------------------------------------------------
/src/pipes/order/order.ts:
--------------------------------------------------------------------------------
1 | import { Pipe, PipeTransform } from '@angular/core';
2 |
3 | /**
4 | * Generated class for the OrderPipe pipe.
5 | *
6 | * See https://angular.io/api/core/Pipe for more info on Angular Pipes.
7 | */
8 | @Pipe({
9 | name: 'order',
10 | })
11 | export class OrderPipe implements PipeTransform {
12 | /**
13 | * Takes a value and makes it lowercase.
14 | */
15 | public servfiltered:any[];
16 | serv2filterd: any[] = [];
17 |
18 | public transform(values: any[], item_name: string) {
19 | if (!values || !values.length) return [];
20 | if (!item_name) return values;
21 | this.servfiltered =values.filter(servl => servl.id==item_name);
22 |
23 | this.servfiltered.forEach( item => {
24 | this.serv2filterd=item.order;
25 | });
26 |
27 | return this.serv2filterd;
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/src/pipes/pipes.module.ts:
--------------------------------------------------------------------------------
1 | import { NgModule } from '@angular/core';
2 | import { SegmentFilterPipe } from './segment-filter/segment-filter';
3 | import { OrderPipe } from './order/order';
4 | import { NotificatonsPipe } from './notificatons/notificatons';
5 | @NgModule({
6 | declarations: [SegmentFilterPipe,
7 | OrderPipe,
8 | NotificatonsPipe],
9 | imports: [],
10 | exports: [SegmentFilterPipe,
11 | OrderPipe,
12 | NotificatonsPipe]
13 | })
14 | export class PipesModule {}
15 |
--------------------------------------------------------------------------------
/src/pipes/segment-filter/segment-filter.ts:
--------------------------------------------------------------------------------
1 | import { Pipe, PipeTransform } from '@angular/core';
2 |
3 | /**
4 | * Generated class for the SegmentFilterPipe pipe.
5 | *
6 | * See https://angular.io/api/core/Pipe for more info on Angular Pipes.
7 | */
8 | @Pipe({
9 | name: 'segmentFilter',
10 | })
11 | export class SegmentFilterPipe implements PipeTransform {
12 | /**
13 | * Takes a value and makes it lowercase.
14 | */
15 | public servfiltered:any[];
16 |
17 | public transform(values: any[], item_name: string) {
18 | if (!values || !values.length) return [];
19 | if (!item_name) return values;
20 | this.servfiltered =values.filter(servl => servl.catname==item_name);
21 |
22 | this.servfiltered.forEach((i) => {
23 | {i.selected=false;}
24 | {i.Checked =false;}
25 | });
26 |
27 | return this.servfiltered;
28 | }
29 |
30 |
31 |
32 |
33 | }
34 |
--------------------------------------------------------------------------------
/src/providers/cart/cart.ts:
--------------------------------------------------------------------------------
1 | import { Component,Input,OnInit,Injectable } from '@angular/core';
2 | import { IonicPage, NavController, NavParams,AlertController,Platform } from 'ionic-angular';
3 | import { Http,Response } from '@angular/http';
4 | import 'rxjs/add/operator/map';
5 | import {HomePage} from '../../pages/home/home';
6 | import {CartDataModel} from '../../pages/about/cart_Data_Model';
7 | import * as $ from 'jquery';
8 | import { Storage } from '@ionic/storage';
9 | import { LoadingController } from 'ionic-angular';
10 |
11 |
12 | /*
13 | Generated class for the CartProvider provider.
14 |
15 | See https://angular.io/guide/dependency-injection for more info on providers
16 | and Angular DI.
17 | */
18 | @Injectable()
19 | export class CartProvider {
20 | public ShopItems2: any;
21 | Items:any = [];
22 | Clicked:any=[];
23 |
24 | showEmptyCartMessage: boolean = false;
25 | //Cart Array Definition
26 | CartDataArray :Array = new Array ();
27 |
28 | CartBadgeCount : number = 0; // default 0
29 |
30 |
31 | constructor(public loading:LoadingController,private http:Http,private platform:Platform,public storage: Storage) {
32 | // console.log('ShowEm',this.CartDataArray);
33 | }
34 |
35 |
36 |
37 |
38 |
39 | // public getItems()
40 | // {
41 |
42 | // var base_url = "http://snap.iqmedialabs.com/";
43 | // if(localStorage.getItem("ShopItems2") === null){
44 | // this.http.get(base_url+'itemlist').map(res => res.json()).subscribe(data => {
45 | // let items = data;
46 | // this.ShopItems2=data;
47 | // localStorage["ShopItems2"] = JSON.stringify(data);
48 | // },
49 | // err => {
50 | // console.log('error in Json');
51 |
52 | // });
53 |
54 | // }else{
55 | // this.ShopItems2 = JSON.parse(localStorage.getItem("ShopItems2"));
56 | // }
57 | // }
58 |
59 |
60 | //load item list
61 |
62 |
63 | load() {
64 | if (this.ShopItems2) {
65 | // already loaded data
66 | return Promise.resolve(this.ShopItems2);
67 | }
68 |
69 | // don't have the data yet
70 | return new Promise(resolve => {
71 |
72 | var base_url="http://snap.iqmedialabs.com/itemlist";
73 |
74 | let loading = this.loading.create({
75 | content: 'Please wait...',
76 | spinner: 'crescent'
77 | });
78 | loading.present();
79 |
80 | this.http.get(base_url).map(res => res.json()).subscribe(data => {
81 | let items = data;
82 | this.ShopItems2 = data;
83 | resolve(this.ShopItems2);
84 |
85 |
86 | this.storage.set('Item_List',JSON.stringify(this.ShopItems2));
87 | loading.dismiss();
88 | },
89 | err => {
90 | console.log('error in Json');
91 |
92 | });
93 |
94 | });
95 | }
96 |
97 |
98 | //add items to cart
99 | setCartItems(item:any){
100 | if(!this.checkItem(item)){
101 |
102 | this.CartDataArray.push( new CartDataModel(item));
103 | this.incrementBadgeCount();
104 | localStorage["Cart"] = JSON.stringify(this.CartDataArray);
105 |
106 | }
107 | }
108 |
109 | //remove items from cart
110 | setRemoveItems(item:any){
111 | if(this.checkItem(item) === true ){
112 | this.CartDataArray = this.CartDataArray.filter(obj => obj.id !== item.group_id);
113 |
114 | this.decrementBadgeCount();
115 | localStorage["Cart"] = JSON.stringify(this.CartDataArray);
116 | this.onCancelClick(item);
117 |
118 | }
119 | }
120 |
121 |
122 | //decrement items
123 | setDecrement(item: any){
124 | if(item.group_items[0].qty > 0) {
125 | item.group_items[0].qty--;
126 | }
127 | ;
128 | }
129 |
130 | //increment items
131 | setIncrement(item: any){
132 | item.group_items[0].qty++;
133 | }
134 |
135 |
136 | //increment badge count
137 | incrementBadgeCount(){
138 | this.CartBadgeCount = this.CartBadgeCount+1;
139 | }
140 |
141 | //decrement badge count
142 | decrementBadgeCount(){
143 | this.CartBadgeCount = this.CartBadgeCount-1;
144 | }
145 |
146 |
147 | //checking items
148 | checkItem(item){
149 | var isAvailable =false;
150 | for(var i = 0; i < this.CartDataArray.length; i++) {
151 | if(this.CartDataArray[i].id === item.group_id){
152 | isAvailable=true;
153 | break;
154 | }
155 | }
156 | return isAvailable;
157 | }
158 |
159 |
160 | //Items Array
161 | ActivateItems(items){
162 | if(items.group_items[0].qty !=0){
163 | var i = this.Items.indexOf(items);
164 | if (i > -1) {
165 |
166 | } else {
167 | this.Items.push(items);
168 | items.selected = true;
169 | }
170 | }else{
171 |
172 | }
173 | }
174 |
175 | DeactivateItems(items){
176 | if(items.group_items[0].qty !=0){
177 | var i = this.Items.indexOf(items);
178 | if (i > -1) {
179 | this.Items.splice(i, 1);
180 | items.selected = false;
181 |
182 | } else {
183 |
184 | }
185 | }else{
186 |
187 | }
188 | }
189 |
190 |
191 |
192 | //Onbutton click
193 | onButtonClick(item){
194 | if(item.group_items[0].qty !=0){
195 | var i = this.Clicked.indexOf(item);
196 | if(i>-1){
197 |
198 | }else{
199 | this.Clicked.push(item);
200 | item.Checked = true;
201 |
202 | }
203 |
204 | }else{
205 |
206 | }
207 | }
208 |
209 |
210 |
211 | onCancelClick(item){
212 |
213 | for(var i = 0; i < this.Clicked.length; i++) {
214 | if(this.Clicked[i].group_id === item.id){
215 | this.Clicked = this.Clicked.filter(obj => obj.group_id !== item.id);
216 | break;
217 | }
218 |
219 | }
220 |
221 |
222 | }
223 |
224 |
225 |
226 |
227 |
228 |
229 |
230 |
231 |
232 | }
233 |
234 |
235 |
236 |
237 |
238 |
239 |
240 |
241 |
242 |
--------------------------------------------------------------------------------
/src/providers/final-cart-for-server/final-cart-for-server.ts:
--------------------------------------------------------------------------------
1 | import { Injectable } from '@angular/core';
2 | import { ToastController } from 'ionic-angular';
3 | import { Http } from '@angular/http';
4 | import 'rxjs/add/operator/map';
5 | import { CartForServerModel } from '../../pages/details/CartForServer';
6 | /*
7 | Generated class for the FinalCartForServerProvider provider.
8 |
9 | See https://angular.io/guide/dependency-injection for more info on providers
10 | and Angular DI.
11 | */
12 | @Injectable()
13 | export class FinalCartForServerProvider {
14 |
15 | //Final Array For Server
16 | FinalArrayForServer : Array = new Array ();
17 | // default 0
18 | CartBadgeCount : number = 0;
19 | stringArr = [];
20 |
21 |
22 |
23 | constructor(public http: Http,public Toast:ToastController) {
24 | console.log('Hello FinalCartForServerProvider Provider');
25 | }
26 |
27 |
28 |
29 |
30 |
31 | //add items to cart
32 | setCartItems(item:any){
33 | if(!this.checkItem(item) && item.qty !=0){
34 | this.FinalArrayForServer.push( new CartForServerModel(item,item));
35 | this.incrementBadgeCount();
36 | this.presentToast();
37 | }
38 | console.log('badge count',this.CartBadgeCount);
39 | }
40 |
41 |
42 | setCartItemsSingle(item:any){
43 | console.log('itemSetcat',item);
44 | if(!this.checkItemSingle(item)){
45 | this.FinalArrayForServer.push( new CartForServerModel(item.group_id,item.group_items));
46 | console.log('set cart',this.FinalArrayForServer);
47 | this.incrementBadgeCount();
48 | this.presentToast();
49 | }
50 | console.log('badge count',this.CartBadgeCount);
51 | }
52 |
53 |
54 | presentToast() {
55 | let toast = this.Toast.create({
56 | message: 'successfully added to your cart',
57 | duration: 3000,
58 | position: 'top'
59 | });
60 |
61 | toast.onDidDismiss(() => {
62 | // console.log('Dismissed toast');
63 | });
64 |
65 | toast.present();
66 | }
67 |
68 |
69 |
70 |
71 | //Increment Badge count
72 | incrementBadgeCount(){
73 | this.CartBadgeCount = this.CartBadgeCount+1;
74 | }
75 |
76 | //decrement badge count
77 | decrementBadgeCount(){
78 | if(this.CartBadgeCount !=0 ){
79 | this.CartBadgeCount = this.CartBadgeCount-1;
80 | }
81 | }
82 |
83 | //checking items
84 | checkItem(item){
85 | var isAvailable =false;
86 | for(var i = 0; i < this.FinalArrayForServer.length; i++) {
87 | console.log('Check',this.FinalArrayForServer[i]);
88 | if(this.FinalArrayForServer[i].group_items === item){
89 | isAvailable=true;
90 | break;
91 | }
92 | }
93 | return isAvailable;
94 | }
95 |
96 |
97 | //checking items
98 | checkItemSingle(item){
99 |
100 | const obj = {
101 |
102 | code:item.group_items.code,
103 | description:item.group_items.description,
104 | id:item.group_items.id,
105 | name:item.group_items.name,
106 | picture:item.group_items.picture,
107 | qty:item.group_items.qty,
108 | price:item.group_items.price,
109 |
110 | }
111 |
112 |
113 |
114 | for(let result of this.FinalArrayForServer){
115 | this.stringArr.push(result.group_items);
116 |
117 | }
118 |
119 | var isAvailable =false;
120 | for(var i = 0; i < this.stringArr.length; i++) {
121 | if(this.stringArr[i].id === obj.id){
122 | isAvailable=true;
123 | break;
124 | }
125 | }
126 | return isAvailable;
127 |
128 | }
129 |
130 |
131 |
132 |
133 |
134 | }
135 |
136 |
137 |
138 |
--------------------------------------------------------------------------------
/src/providers/select-cart/select-cart.ts:
--------------------------------------------------------------------------------
1 | import { Injectable } from '@angular/core';
2 | import { Http } from '@angular/http';
3 | import 'rxjs/add/operator/map';
4 | import {SelectModel} from '../../pages/about/SelectModel'
5 |
6 | /*
7 | Generated class for the SelectCartProvider provider.
8 |
9 | See https://angular.io/guide/dependency-injection for more info on providers
10 | and Angular DI.
11 | */
12 | @Injectable()
13 | export class SelectCartProvider {
14 | //Select Model
15 |
16 | SelectArray : Array = new Array ();
17 | Clicked:any=[];
18 | Items:any=[];
19 | public buttonClicked: boolean = false;
20 | constructor(public http: Http) {
21 |
22 | }
23 |
24 |
25 | // Cart Data Model
26 |
27 | notify(event,item)
28 | {
29 |
30 | console.log(this.SelectArray);
31 | if(item.qty !=0){
32 | var i = this.Clicked.indexOf(item);
33 | if(i>-1){
34 | this.Clicked.splice(i, 1);
35 | item.Checked = false;
36 | this.setRemoveItems(item);
37 | this.DeactivateItems(item);
38 |
39 |
40 | }else{
41 | this.Clicked.push(item);
42 | item.Checked = true;
43 | this.setCartItems(item);
44 | this.ActivateItems(item);
45 | }
46 |
47 | }else{
48 |
49 | }
50 | }
51 |
52 |
53 | set_qty(item){
54 | if(item.qty !=0 && this.checkItem(item)){
55 | for(var i = 0; i < this.SelectArray.length; i++) {
56 | if(this.SelectArray[i].itmcode === item.itmcode){
57 | this.SelectArray[i].qty === item.qty;
58 | console.log(this.SelectArray[i]);
59 | break;
60 | }
61 | }
62 | }
63 | }
64 |
65 |
66 | //checking items
67 | checkItem(item){
68 | console.log('checkingItem',this.SelectArray);
69 | var isAvailable =false;
70 | for(var i = 0; i < this.SelectArray.length; i++) {
71 | if(this.SelectArray[i].itmcode === item.itmcode){
72 | isAvailable=true;
73 | break;
74 | }
75 | }
76 | return isAvailable;
77 | }
78 |
79 |
80 |
81 | //add items to cart
82 | setCartItems(item:any){
83 | if(!this.checkItem(item) && item.qty !=0){
84 | this.SelectArray.push( new SelectModel(item));
85 | }
86 | }
87 |
88 |
89 |
90 | //remove items from cart
91 | setRemoveItems(item:any){
92 | if(this.checkItem(item) === true ){
93 | this.SelectArray = this.SelectArray.filter(obj => obj.itmcode !== item.itmcode);
94 | }
95 | }
96 |
97 |
98 | //Items Array
99 | ActivateItems(items){
100 | if(items.qty !=0){
101 | var i = this.Items.indexOf(items);
102 | if (i > -1) {
103 |
104 | } else {
105 | this.Items.push(items);
106 | items.selected = true;
107 | }
108 | }else{
109 |
110 | }
111 | }
112 |
113 | DeactivateItems(items){
114 | if(items.qty !=0){
115 | var i = this.Items.indexOf(items);
116 | if (i > -1) {
117 | this.Items.splice(i, 1);
118 | items.selected = false;
119 |
120 | } else {
121 |
122 | }
123 | }else{
124 |
125 | }
126 | }
127 |
128 |
129 |
130 |
131 |
132 |
133 |
134 |
135 |
136 |
137 |
138 |
139 |
140 |
141 |
142 |
143 |
144 |
145 |
146 |
147 |
148 |
149 |
150 |
151 |
152 |
153 |
154 |
155 | }
156 |
--------------------------------------------------------------------------------
/src/service-worker.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Check out https://googlechromelabs.github.io/sw-toolbox/ for
3 | * more info on how to use sw-toolbox to custom configure your service worker.
4 | */
5 |
6 |
7 | 'use strict';
8 | importScripts('./build/sw-toolbox.js');
9 |
10 | self.toolbox.options.cache = {
11 | name: 'ionic-cache'
12 | };
13 |
14 | // pre-cache our key assets
15 | self.toolbox.precache(
16 | [
17 | './build/main.js',
18 | './build/vendor.js',
19 | './build/main.css',
20 | './build/polyfills.js',
21 | 'index.html',
22 | 'manifest.json'
23 | ]
24 | );
25 |
26 | // dynamically cache any other local assets
27 | self.toolbox.router.any('/*', self.toolbox.fastest);
28 |
29 | // for any other requests go to the network, cache,
30 | // and then only use that cached resource if your user goes offline
31 | self.toolbox.router.default = self.toolbox.networkFirst;
32 |
--------------------------------------------------------------------------------
/src/theme/variables.scss:
--------------------------------------------------------------------------------
1 | // Ionic Variables and Theming. For more info, please see:
2 | // http://ionicframework.com/docs/theming/
3 |
4 | // Font path is used to include ionicons,
5 | // roboto, and noto sans fonts
6 | $font-path: "../assets/fonts/";
7 |
8 | @font-face {
9 | font-family: Ubuntu;
10 | src: url("../assets/fonts/ubuntu.woff2");
11 | }
12 |
13 | *{
14 | font-family: "Ubuntu";
15 | }
16 |
17 |
18 | // The app direction is used to include
19 | // rtl styles in your app. For more info, please see:
20 | // http://ionicframework.com/docs/theming/rtl-support/
21 | $app-direction: ltr;
22 |
23 |
24 | @import "ionic.globals";
25 |
26 |
27 | //custom styles
28 |
29 | @import "custom.scss";
30 |
31 |
32 | // Shared Variables
33 | // --------------------------------------------------
34 | // To customize the look and feel of this app, you can override
35 | // the Sass variables found in Ionic's source scss files.
36 | // To view all the possible Ionic variables, see:
37 | // http://ionicframework.com/docs/theming/overriding-ionic-variables/
38 |
39 |
40 |
41 |
42 | // Named Color Variables
43 | // --------------------------------------------------
44 | // Named colors makes it easy to reuse colors on various components.
45 | // It's highly recommended to change the default colors
46 | // to match your app's branding. Ionic uses a Sass map of
47 | // colors so you can add, rename and remove colors as needed.
48 | // The "primary" color is the only required color in the map.
49 |
50 | $colors: (
51 | primary: #00a3d5,
52 | secondary: #32db64,
53 | danger: #f53d3d,
54 | light: #f4f4f4,
55 | dark: #222,
56 | iqcolor: #f4f4f4,
57 | royal: #FEC817,
58 | save : #2EDA66,
59 | fedex_secondry: #F37823,
60 | snowwhite: #ffffff
61 | );
62 |
63 |
64 | // App iOS Variables
65 | // --------------------------------------------------
66 | // iOS only Sass variables can go here
67 |
68 |
69 |
70 |
71 | // App Material Design Variables
72 | // --------------------------------------------------
73 | // Material Design only Sass variables can go here
74 | $tabs-border-color:iqcolor;
75 | $tabs-md-tab-icon-color-active:royal;
76 | $tabs-md-tab-text-color: #222;
77 | $tabs-md-tab-text-color-active:royal;
78 | $checkbox-ios-icon-size:40px;
79 |
80 |
81 |
82 |
83 |
84 | // App Windows Variables
85 | // --------------------------------------------------
86 | // Windows only Sass variables can go here
87 |
88 |
89 |
90 |
91 | // App Theme
92 | // --------------------------------------------------
93 | // Ionic apps can have different themes applied, which can
94 | // then be future customized. This import comes last
95 | // so that the above variables are used and Ionic's
96 | // default are overridden.
97 |
98 | @import "ionic.theme.default";
99 |
100 |
101 | // Ionicons
102 | // --------------------------------------------------
103 | // The premium icon font for Ionic. For more info, please see:
104 | // http://ionicframework.com/docs/ionicons/
105 |
106 | @import "ionic.ionicons";
107 |
108 |
109 | // Fonts
110 | // --------------------------------------------------
111 |
112 | //@import "Lato";
113 | @import "noto-sans";
114 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "allowSyntheticDefaultImports": true,
4 | "allowJs":true,
5 | "declaration": false,
6 | "emitDecoratorMetadata": true,
7 | "experimentalDecorators": true,
8 | "lib": [
9 | "dom",
10 | "es2015"
11 | ],
12 | "module": "es2015",
13 | "moduleResolution": "node",
14 | "sourceMap": true,
15 | "target": "es5"
16 | },
17 | "include": [
18 | "src/**/*.ts"
19 | ],
20 | "exclude": [
21 | "node_modules"
22 | ],
23 | "compileOnSave": false,
24 | "atom": {
25 | "rewriteTsconfig": false
26 | }
27 | }
--------------------------------------------------------------------------------
/tslint.json:
--------------------------------------------------------------------------------
1 | {
2 | "rules": {
3 | "no-duplicate-variable": true,
4 | "no-unused-variable": [
5 | true
6 | ]
7 | },
8 | "rulesDirectory": [
9 | "node_modules/tslint-eslint-rules/dist/rules"
10 | ]
11 | }
12 |
--------------------------------------------------------------------------------
/www/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/.gitkeep
--------------------------------------------------------------------------------
/www/assets/data/deals_db.json:
--------------------------------------------------------------------------------
1 | {
2 | "products":[
3 | {
4 | "id": 1,
5 | "code": "CHOC4LIFE",
6 | "description": "Lindt Excellence 70% Cocoa Chocolate Diamonds 60ct Box with Lancaster for $10.26",
7 | "name": "50% OFF Lindt",
8 | "expiration_date": "05/01/2016",
9 | "picture": "https://www.keellssuper.com/ItemImages/Big/Pic27256.jpg"
10 | }, {
11 | "id": 2,
12 | "code": "20LIGHT25",
13 | "description": "20% off Landscape Lighting and 25% off Outdoor Wall Light Fixtures with Coupon Code",
14 | "name": "20% OFF Landscape Lighting",
15 | "expiration_date": "07/07/2016",
16 | "picture": "https://www.keellssuper.com/ItemImages/Big/Pic15345.jpg"
17 | }, {
18 | "id": 3,
19 | "code": "MORETVPLZ3",
20 | "description": "Starz HD free trial extended for 3 months, in time for the new seasons of your favourite shows",
21 | "name": "3 Months FREE (Trial)",
22 | "expiration_date": "09/08/2016",
23 | "picture": "https://www.keellssuper.com/ItemImages/Big/Pic95756.jpg"
24 | }, {
25 | "id": 4,
26 | "code": "GETTHATPHONE212",
27 | "description": "Free 4 Month Notevault Subscription With Cat® Phones worth $578",
28 | "name": "CAT Limited Time Offer",
29 | "expiration_date": "04/30/2016",
30 | "picture": "https://www.keellssuper.com/ItemImages/Big/Pic97590.jpg"
31 | }
32 | ]
33 | }
34 |
--------------------------------------------------------------------------------
/www/assets/fonts/initializeItems:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/fonts/initializeItems
--------------------------------------------------------------------------------
/www/assets/fonts/ionicons.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/fonts/ionicons.eot
--------------------------------------------------------------------------------
/www/assets/fonts/ionicons.scss:
--------------------------------------------------------------------------------
1 |
2 | // Ionicons Icon Font CSS
3 | // --------------------------
4 | // Ionicons CSS for Ionic's element
5 | // ionicons-icons.scss has the icons and their unicode characters
6 |
7 | $ionicons-font-path: $font-path !default;
8 |
9 | @import "ionicons-icons";
10 | @import "ionicons-variables";
11 |
12 |
13 | @font-face {
14 | font-family: "Ionicons";
15 | src: url("#{$ionicons-font-path}/ionicons.woff2?v=#{$ionicons-version}") format("woff2"),
16 | url("#{$ionicons-font-path}/ionicons.woff?v=#{$ionicons-version}") format("woff"),
17 | url("#{$ionicons-font-path}/ionicons.ttf?v=#{$ionicons-version}") format("truetype");
18 | font-weight: normal;
19 | font-style: normal;
20 | }
21 |
22 | ion-icon {
23 | display: inline-block;
24 |
25 | font-family: "Ionicons";
26 | -moz-osx-font-smoothing: grayscale;
27 | -webkit-font-smoothing: antialiased;
28 | font-style: normal;
29 | font-variant: normal;
30 | font-weight: normal;
31 | line-height: 1;
32 | text-rendering: auto;
33 | text-transform: none;
34 | speak: none;
35 |
36 | @include rtl() {
37 | &[aria-label^="arrow"]::before,
38 | &[flip-rtl]::before {
39 | transform: scaleX(-1);
40 | }
41 |
42 | &[unflip-rtl]::before {
43 | transform: scaleX(1);
44 | }
45 | }
46 |
47 | &::before {
48 | display: inline-block;
49 | }
50 | }
51 |
--------------------------------------------------------------------------------
/www/assets/fonts/ionicons.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/fonts/ionicons.ttf
--------------------------------------------------------------------------------
/www/assets/fonts/ionicons.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/fonts/ionicons.woff
--------------------------------------------------------------------------------
/www/assets/fonts/ionicons.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/fonts/ionicons.woff2
--------------------------------------------------------------------------------
/www/assets/fonts/lato.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/fonts/lato.woff2
--------------------------------------------------------------------------------
/www/assets/fonts/noto-sans-bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/fonts/noto-sans-bold.ttf
--------------------------------------------------------------------------------
/www/assets/fonts/noto-sans-bold.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/fonts/noto-sans-bold.woff
--------------------------------------------------------------------------------
/www/assets/fonts/noto-sans-regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/fonts/noto-sans-regular.ttf
--------------------------------------------------------------------------------
/www/assets/fonts/noto-sans-regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/fonts/noto-sans-regular.woff
--------------------------------------------------------------------------------
/www/assets/fonts/noto-sans.scss:
--------------------------------------------------------------------------------
1 | // Noto Sans Font
2 | // Google
3 | // Apache License, version 2.0
4 | // http://www.apache.org/licenses/LICENSE-2.0.html
5 |
6 | $noto-sans-font-path: $font-path !default;
7 |
8 | @font-face {
9 | font-family: "Noto Sans";
10 | font-style: normal;
11 | font-weight: 300;
12 | src: local("Noto Sans"), local("Noto-Sans-Regular"), url("#{$noto-sans-font-path}/noto-sans-regular.woff") format("woff"), url("#{$noto-sans-font-path}/noto-sans-regular.ttf") format("truetype");
13 | }
14 |
15 | @font-face {
16 | font-family: "Noto Sans";
17 | font-style: normal;
18 | font-weight: 400;
19 | src: local("Noto Sans"), local("Noto-Sans-Regular"), url("#{$noto-sans-font-path}/noto-sans-regular.woff") format("woff"), url("#{$noto-sans-font-path}/noto-sans-regular.ttf") format("truetype");
20 | }
21 |
22 | @font-face {
23 | font-family: "Noto Sans";
24 | font-style: normal;
25 | font-weight: 500;
26 | src: local("Noto Sans Bold"), local("Noto-Sans-Bold"), url("#{$noto-sans-font-path}/noto-sans-bold.woff") format("woff"), url("#{$noto-sans-font-path}/noto-sans-bold.ttf") format("truetype");
27 | }
28 |
29 | @font-face {
30 | font-family: "Noto Sans";
31 | font-style: normal;
32 | font-weight: 700;
33 | src: local("Noto Sans Bold"), local("Noto-Sans-Bold"), url("#{$noto-sans-font-path}/noto-sans-bold.woff") format("woff"), url("#{$noto-sans-font-path}/noto-sans-bold.ttf") format("truetype");
34 | }
35 |
--------------------------------------------------------------------------------
/www/assets/fonts/roboto-bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/fonts/roboto-bold.ttf
--------------------------------------------------------------------------------
/www/assets/fonts/roboto-bold.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/fonts/roboto-bold.woff
--------------------------------------------------------------------------------
/www/assets/fonts/roboto-bold.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/fonts/roboto-bold.woff2
--------------------------------------------------------------------------------
/www/assets/fonts/roboto-light.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/fonts/roboto-light.ttf
--------------------------------------------------------------------------------
/www/assets/fonts/roboto-light.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/fonts/roboto-light.woff
--------------------------------------------------------------------------------
/www/assets/fonts/roboto-light.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/fonts/roboto-light.woff2
--------------------------------------------------------------------------------
/www/assets/fonts/roboto-medium.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/fonts/roboto-medium.ttf
--------------------------------------------------------------------------------
/www/assets/fonts/roboto-medium.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/fonts/roboto-medium.woff
--------------------------------------------------------------------------------
/www/assets/fonts/roboto-medium.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/fonts/roboto-medium.woff2
--------------------------------------------------------------------------------
/www/assets/fonts/roboto-regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/fonts/roboto-regular.ttf
--------------------------------------------------------------------------------
/www/assets/fonts/roboto-regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/fonts/roboto-regular.woff
--------------------------------------------------------------------------------
/www/assets/fonts/roboto-regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/fonts/roboto-regular.woff2
--------------------------------------------------------------------------------
/www/assets/fonts/roboto.scss:
--------------------------------------------------------------------------------
1 | // Roboto Font
2 | // Google
3 | // Apache License, version 2.0
4 | // http://www.apache.org/licenses/LICENSE-2.0.html
5 |
6 | $roboto-font-path: $font-path !default;
7 |
8 | @font-face {
9 | font-family: "Roboto";
10 | font-style: normal;
11 | font-weight: 300;
12 | src: local("Roboto Light"), local("Roboto-Light"), url("#{$roboto-font-path}/roboto-light.woff2") format("woff2"), url("#{$roboto-font-path}/roboto-light.woff") format("woff"), url("#{$roboto-font-path}/roboto-light.ttf") format("truetype");
13 | }
14 |
15 | @font-face {
16 | font-family: "Roboto";
17 | font-style: normal;
18 | font-weight: 400;
19 | src: local("Roboto"), local("Roboto-Regular"), url("#{$roboto-font-path}/roboto-regular.woff2") format("woff2"), url("#{$roboto-font-path}/roboto-regular.woff") format("woff"), url("#{$roboto-font-path}/roboto-regular.ttf") format("truetype");
20 | }
21 |
22 | @font-face {
23 | font-family: "Roboto";
24 | font-style: normal;
25 | font-weight: 500;
26 | src: local("Roboto Medium"), local("Roboto-Medium"), url("#{$roboto-font-path}/roboto-medium.woff2") format("woff2"), url("#{$roboto-font-path}/roboto-medium.woff") format("woff"), url("#{$roboto-font-path}/roboto-medium.ttf") format("truetype");
27 | }
28 |
29 | @font-face {
30 | font-family: "Roboto";
31 | font-style: normal;
32 | font-weight: 700;
33 | src: local("Roboto Bold"), local("Roboto-Bold"), url("#{$roboto-font-path}/roboto-bold.woff2") format("woff2"), url("#{$roboto-font-path}/roboto-bold.woff") format("woff"), url("#{$roboto-font-path}/roboto-bold.ttf") format("truetype");
34 | }
35 |
--------------------------------------------------------------------------------
/www/assets/fonts/ubuntu.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/fonts/ubuntu.woff2
--------------------------------------------------------------------------------
/www/assets/icon/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/icon/favicon.ico
--------------------------------------------------------------------------------
/www/assets/imgs/atomix_user31.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/atomix_user31.png
--------------------------------------------------------------------------------
/www/assets/imgs/baskets/basket-1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/baskets/basket-1.jpg
--------------------------------------------------------------------------------
/www/assets/imgs/bg/main-bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/bg/main-bg.png
--------------------------------------------------------------------------------
/www/assets/imgs/buy-cart-ecommernce-shopping-icon-29.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/buy-cart-ecommernce-shopping-icon-29.png
--------------------------------------------------------------------------------
/www/assets/imgs/empty-cart.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/empty-cart.png
--------------------------------------------------------------------------------
/www/assets/imgs/icons/canned.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/icons/canned.png
--------------------------------------------------------------------------------
/www/assets/imgs/icons/fb.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/icons/fb.png
--------------------------------------------------------------------------------
/www/assets/imgs/icons/food.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/icons/food.png
--------------------------------------------------------------------------------
/www/assets/imgs/icons/google.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/icons/google.png
--------------------------------------------------------------------------------
/www/assets/imgs/icons/homecare.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/icons/homecare.png
--------------------------------------------------------------------------------
/www/assets/imgs/icons/personal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/icons/personal.png
--------------------------------------------------------------------------------
/www/assets/imgs/icons/snap-inner.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/icons/snap-inner.png
--------------------------------------------------------------------------------
/www/assets/imgs/item.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/item.png
--------------------------------------------------------------------------------
/www/assets/imgs/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/logo.png
--------------------------------------------------------------------------------
/www/assets/imgs/logos.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/logos.png
--------------------------------------------------------------------------------
/www/assets/imgs/main-bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/main-bg.png
--------------------------------------------------------------------------------
/www/assets/imgs/sample-images/deals/Deals1-4.1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/sample-images/deals/Deals1-4.1.png
--------------------------------------------------------------------------------
/www/assets/imgs/sample-images/deals/Deals2-4.1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/sample-images/deals/Deals2-4.1.png
--------------------------------------------------------------------------------
/www/assets/imgs/sample-images/deals/Deals3-4.1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/sample-images/deals/Deals3-4.1.png
--------------------------------------------------------------------------------
/www/assets/imgs/sample-images/deals/Deals4-4.1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/sample-images/deals/Deals4-4.1.png
--------------------------------------------------------------------------------
/www/assets/imgs/sample-images/fashion/Fashion1-1.1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/sample-images/fashion/Fashion1-1.1.png
--------------------------------------------------------------------------------
/www/assets/imgs/sample-images/fashion/Fashion1-3.4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/sample-images/fashion/Fashion1-3.4.png
--------------------------------------------------------------------------------
/www/assets/imgs/sample-images/fashion/Fashion2-1.1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/sample-images/fashion/Fashion2-1.1.png
--------------------------------------------------------------------------------
/www/assets/imgs/sample-images/fashion/Fashion2-3.4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/sample-images/fashion/Fashion2-3.4.png
--------------------------------------------------------------------------------
/www/assets/imgs/sample-images/fashion/Fashion3-1.1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/sample-images/fashion/Fashion3-1.1.png
--------------------------------------------------------------------------------
/www/assets/imgs/sample-images/fashion/Fashion3-3.4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/sample-images/fashion/Fashion3-3.4.png
--------------------------------------------------------------------------------
/www/assets/imgs/sample-images/fashion/Fashion4-1.1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/sample-images/fashion/Fashion4-1.1.png
--------------------------------------------------------------------------------
/www/assets/imgs/sample-images/fashion/Fashion4-3.4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/sample-images/fashion/Fashion4-3.4.png
--------------------------------------------------------------------------------
/www/assets/imgs/sample-images/fashion/Fashion5-1.1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/sample-images/fashion/Fashion5-1.1.png
--------------------------------------------------------------------------------
/www/assets/imgs/sample-images/fashion/Fashion5-3.4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/sample-images/fashion/Fashion5-3.4.png
--------------------------------------------------------------------------------
/www/assets/imgs/sample-images/fashion/Fashion6-1.1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/sample-images/fashion/Fashion6-1.1.png
--------------------------------------------------------------------------------
/www/assets/imgs/sample-images/fashion/Fashion6-3.4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/sample-images/fashion/Fashion6-3.4.png
--------------------------------------------------------------------------------
/www/assets/imgs/sample-images/fashion/Fashion7-1.1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/sample-images/fashion/Fashion7-1.1.png
--------------------------------------------------------------------------------
/www/assets/imgs/sample-images/fashion/Fashion7-3.4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/sample-images/fashion/Fashion7-3.4.png
--------------------------------------------------------------------------------
/www/assets/imgs/sample-images/fashion/Fashion8-1.1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/sample-images/fashion/Fashion8-1.1.png
--------------------------------------------------------------------------------
/www/assets/imgs/sample-images/fashion/Fashion8-3.4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/sample-images/fashion/Fashion8-3.4.png
--------------------------------------------------------------------------------
/www/assets/imgs/sample-images/fashion_content/Fashion1_2-3.4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/sample-images/fashion_content/Fashion1_2-3.4.png
--------------------------------------------------------------------------------
/www/assets/imgs/sample-images/fashion_content/Fashion1_3-3.4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/sample-images/fashion_content/Fashion1_3-3.4.png
--------------------------------------------------------------------------------
/www/assets/imgs/sample-images/fashion_content/Fashion2_2-3.4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/sample-images/fashion_content/Fashion2_2-3.4.png
--------------------------------------------------------------------------------
/www/assets/imgs/sample-images/fashion_content/Fashion2_3-3.4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/sample-images/fashion_content/Fashion2_3-3.4.png
--------------------------------------------------------------------------------
/www/assets/imgs/sample-images/fashion_content/Fashion3_2-3.4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/sample-images/fashion_content/Fashion3_2-3.4.png
--------------------------------------------------------------------------------
/www/assets/imgs/sample-images/fashion_content/Fashion3_3-3.4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/sample-images/fashion_content/Fashion3_3-3.4.png
--------------------------------------------------------------------------------
/www/assets/imgs/sample-images/fashion_content/Fashion4_2-3.4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/sample-images/fashion_content/Fashion4_2-3.4.png
--------------------------------------------------------------------------------
/www/assets/imgs/sample-images/fashion_content/Fashion4_3-3.4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/sample-images/fashion_content/Fashion4_3-3.4.png
--------------------------------------------------------------------------------
/www/assets/imgs/sample-images/fashion_content/Fashion5_2-3.4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/sample-images/fashion_content/Fashion5_2-3.4.png
--------------------------------------------------------------------------------
/www/assets/imgs/sample-images/fashion_content/Fashion5_3-3.4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/sample-images/fashion_content/Fashion5_3-3.4.png
--------------------------------------------------------------------------------
/www/assets/imgs/sample-images/fashion_content/Fashion6_2-3.4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/sample-images/fashion_content/Fashion6_2-3.4.png
--------------------------------------------------------------------------------
/www/assets/imgs/sample-images/fashion_content/Fashion6_3-3.4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/sample-images/fashion_content/Fashion6_3-3.4.png
--------------------------------------------------------------------------------
/www/assets/imgs/sample-images/fashion_content/Fashion7_2-3.4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/sample-images/fashion_content/Fashion7_2-3.4.png
--------------------------------------------------------------------------------
/www/assets/imgs/sample-images/fashion_content/Fashion7_3-3.4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/sample-images/fashion_content/Fashion7_3-3.4.png
--------------------------------------------------------------------------------
/www/assets/imgs/sample-images/fashion_content/Fashion8_2-3.4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/sample-images/fashion_content/Fashion8_2-3.4.png
--------------------------------------------------------------------------------
/www/assets/imgs/sample-images/fashion_content/Fashion8_3-3.4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/sample-images/fashion_content/Fashion8_3-3.4.png
--------------------------------------------------------------------------------
/www/assets/imgs/sample-images/food/Cat1Foto1-1.1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/sample-images/food/Cat1Foto1-1.1.png
--------------------------------------------------------------------------------
/www/assets/imgs/sample-images/food/Cat1Foto2-1.1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/sample-images/food/Cat1Foto2-1.1.png
--------------------------------------------------------------------------------
/www/assets/imgs/sample-images/food/Cat1Foto3-1.1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/sample-images/food/Cat1Foto3-1.1.png
--------------------------------------------------------------------------------
/www/assets/imgs/sample-images/food/Cat1Foto4-1.1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/sample-images/food/Cat1Foto4-1.1.png
--------------------------------------------------------------------------------
/www/assets/imgs/sample-images/food/Cat1Foto5-1.1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/sample-images/food/Cat1Foto5-1.1.png
--------------------------------------------------------------------------------
/www/assets/imgs/sample-images/food/Cat2Foto1-1.1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/sample-images/food/Cat2Foto1-1.1.png
--------------------------------------------------------------------------------
/www/assets/imgs/sample-images/food/Cat2Foto2-1.1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/sample-images/food/Cat2Foto2-1.1.png
--------------------------------------------------------------------------------
/www/assets/imgs/sample-images/food/Cat2Foto3-1.1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/sample-images/food/Cat2Foto3-1.1.png
--------------------------------------------------------------------------------
/www/assets/imgs/sample-images/food/Cat2Foto4-1.1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/sample-images/food/Cat2Foto4-1.1.png
--------------------------------------------------------------------------------
/www/assets/imgs/sample-images/food/Cat2Foto5-1.1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/sample-images/food/Cat2Foto5-1.1.png
--------------------------------------------------------------------------------
/www/assets/imgs/sample-images/food/Cat3Foto1-1.1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/sample-images/food/Cat3Foto1-1.1.png
--------------------------------------------------------------------------------
/www/assets/imgs/sample-images/food/Cat3Foto2-1.1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/sample-images/food/Cat3Foto2-1.1.png
--------------------------------------------------------------------------------
/www/assets/imgs/sample-images/food/Cat3Foto3-1.1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/sample-images/food/Cat3Foto3-1.1.png
--------------------------------------------------------------------------------
/www/assets/imgs/sample-images/food/Cat3Foto4-1.1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/sample-images/food/Cat3Foto4-1.1.png
--------------------------------------------------------------------------------
/www/assets/imgs/sample-images/food/Cat3Foto5-1.1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/sample-images/food/Cat3Foto5-1.1.png
--------------------------------------------------------------------------------
/www/assets/imgs/sample-images/food/Cat4Foto1-1.1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/sample-images/food/Cat4Foto1-1.1.png
--------------------------------------------------------------------------------
/www/assets/imgs/sample-images/food/Cat4Foto2-1.1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/sample-images/food/Cat4Foto2-1.1.png
--------------------------------------------------------------------------------
/www/assets/imgs/sample-images/food/Cat4Foto3-1.1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/sample-images/food/Cat4Foto3-1.1.png
--------------------------------------------------------------------------------
/www/assets/imgs/sample-images/food/Cat4Foto4-1.1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/sample-images/food/Cat4Foto4-1.1.png
--------------------------------------------------------------------------------
/www/assets/imgs/sample-images/food/Cat4Foto5-1.1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/sample-images/food/Cat4Foto5-1.1.png
--------------------------------------------------------------------------------
/www/assets/imgs/sample-images/food/foodlogo1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/sample-images/food/foodlogo1.png
--------------------------------------------------------------------------------
/www/assets/imgs/sample-images/food/foodlogo2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/sample-images/food/foodlogo2.png
--------------------------------------------------------------------------------
/www/assets/imgs/sample-images/food/foodlogo3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/sample-images/food/foodlogo3.png
--------------------------------------------------------------------------------
/www/assets/imgs/sample-images/food/foodlogo4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/sample-images/food/foodlogo4.png
--------------------------------------------------------------------------------
/www/assets/imgs/sample-images/getting-started/category1-1.1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/sample-images/getting-started/category1-1.1.png
--------------------------------------------------------------------------------
/www/assets/imgs/sample-images/getting-started/category2-1.1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/sample-images/getting-started/category2-1.1.png
--------------------------------------------------------------------------------
/www/assets/imgs/sample-images/getting-started/category3-1.1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/sample-images/getting-started/category3-1.1.png
--------------------------------------------------------------------------------
/www/assets/imgs/sample-images/getting-started/category4-1.1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/sample-images/getting-started/category4-1.1.png
--------------------------------------------------------------------------------
/www/assets/imgs/sample-images/getting-started/category5-1.1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/sample-images/getting-started/category5-1.1.png
--------------------------------------------------------------------------------
/www/assets/imgs/sample-images/getting-started/category6-1.1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/sample-images/getting-started/category6-1.1.png
--------------------------------------------------------------------------------
/www/assets/imgs/sample-images/real-state/RealState1-64.25.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/sample-images/real-state/RealState1-64.25.png
--------------------------------------------------------------------------------
/www/assets/imgs/sample-images/real-state/RealState2-64.25.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/sample-images/real-state/RealState2-64.25.png
--------------------------------------------------------------------------------
/www/assets/imgs/sample-images/real-state/RealState3-64.25.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/sample-images/real-state/RealState3-64.25.png
--------------------------------------------------------------------------------
/www/assets/imgs/sample-images/real-state/RealState4-64.25.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/sample-images/real-state/RealState4-64.25.png
--------------------------------------------------------------------------------
/www/assets/imgs/sample-images/real-state/RealState5-64.25.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/sample-images/real-state/RealState5-64.25.png
--------------------------------------------------------------------------------
/www/assets/imgs/sample-images/travel/Travel1-64.47.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/sample-images/travel/Travel1-64.47.png
--------------------------------------------------------------------------------
/www/assets/imgs/sample-images/travel/Travel2-64.47.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/sample-images/travel/Travel2-64.47.png
--------------------------------------------------------------------------------
/www/assets/imgs/sample-images/travel/Travel3-64.47.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/sample-images/travel/Travel3-64.47.png
--------------------------------------------------------------------------------
/www/assets/imgs/sample-images/travel/Travel4-64.47.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/sample-images/travel/Travel4-64.47.png
--------------------------------------------------------------------------------
/www/assets/imgs/sample-images/travel/Travel5-64.47.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/sample-images/travel/Travel5-64.47.png
--------------------------------------------------------------------------------
/www/assets/imgs/sample-images/travel/TravelIcon1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/sample-images/travel/TravelIcon1.png
--------------------------------------------------------------------------------
/www/assets/imgs/sample-images/travel/TravelIcon2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/sample-images/travel/TravelIcon2.png
--------------------------------------------------------------------------------
/www/assets/imgs/sample-images/travel/TravelIcon3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/sample-images/travel/TravelIcon3.png
--------------------------------------------------------------------------------
/www/assets/imgs/sample-images/travel/TravelIcon4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/sample-images/travel/TravelIcon4.png
--------------------------------------------------------------------------------
/www/assets/imgs/sample-images/travel/TravelIcon5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/sample-images/travel/TravelIcon5.png
--------------------------------------------------------------------------------
/www/assets/imgs/snap.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/snap.png
--------------------------------------------------------------------------------
/www/assets/imgs/welcome.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/welcome.png
--------------------------------------------------------------------------------
/www/assets/imgs/welcome_illustration.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sampaththeman/IQ-TEST/986ebad987688aaac897e17b1b0aa8392de1bf06/www/assets/imgs/welcome_illustration.png
--------------------------------------------------------------------------------
/www/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
7 |
8 | Ionic App
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
34 |
35 |
36 |
37 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
--------------------------------------------------------------------------------
/www/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Ionic",
3 | "short_name": "Ionic",
4 | "start_url": "index.html",
5 | "display": "standalone",
6 | "icons": [{
7 | "src": "assets/imgs/logo.png",
8 | "sizes": "512x512",
9 | "type": "image/png"
10 | }],
11 | "background_color": "#4e8ef7",
12 | "theme_color": "#4e8ef7"
13 | }
--------------------------------------------------------------------------------
/www/service-worker.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Check out https://googlechromelabs.github.io/sw-toolbox/ for
3 | * more info on how to use sw-toolbox to custom configure your service worker.
4 | */
5 |
6 |
7 | 'use strict';
8 | importScripts('./build/sw-toolbox.js');
9 |
10 | self.toolbox.options.cache = {
11 | name: 'ionic-cache'
12 | };
13 |
14 | // pre-cache our key assets
15 | self.toolbox.precache(
16 | [
17 | './build/main.js',
18 | './build/vendor.js',
19 | './build/main.css',
20 | './build/polyfills.js',
21 | 'index.html',
22 | 'manifest.json'
23 | ]
24 | );
25 |
26 | // dynamically cache any other local assets
27 | self.toolbox.router.any('/*', self.toolbox.fastest);
28 |
29 | // for any other requests go to the network, cache,
30 | // and then only use that cached resource if your user goes offline
31 | self.toolbox.router.default = self.toolbox.networkFirst;
32 |
--------------------------------------------------------------------------------