├── .bowerrc
├── .circleci
└── config.yml
├── .dockerignore
├── .eslintrc.js
├── .gitignore
├── .travis.yml
├── Dockerfile
├── README.md
├── bower.json
├── config.xml
├── crowdin.yaml
├── default.conf
├── electron-pkg.js
├── gulpfile.js
├── hooks
├── README.md
└── after_prepare
│ ├── 010_add_platform_class.js
│ ├── 011_add_adaptive_icon.js
│ └── 01_clrea_junk.js
├── ionic.config.json
├── karma.conf.js
├── main.js
├── package.json
├── resources
├── Thumbs.db
├── android
│ ├── icon
│ │ ├── Thumbs.db
│ │ ├── 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
│ │ ├── Thumbs.db
│ │ ├── 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
├── anydpi-v26-icon.xml
├── binary-logo-1024.png
├── foreground
│ ├── foreground-hdpi.png
│ ├── foreground-mdpi.png
│ ├── foreground-xhdpi.png
│ ├── foreground-xxhdpi.png
│ └── foreground-xxxhdpi.png
├── icon-old.png
├── icon-transparent
│ ├── drawable-hdpi-icon.png
│ ├── drawable-ldpi-icon.png
│ ├── drawable-mdpi-icon.png
│ ├── drawable-xhdpi-icon.png
│ ├── drawable-xxhdpi-icon.png
│ └── drawable-xxxhdpi-icon.png
├── icon.png
├── ios
│ ├── icon
│ │ ├── Thumbs.db
│ │ ├── 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~ipad.png
│ │ ├── Default-Portrait@2x~ipad.png
│ │ ├── Default-Portrait~ipad.png
│ │ ├── Default@2x~iphone.png
│ │ ├── Default~iphone.png
│ │ └── Thumbs.db
├── splash.png
└── values
│ └── colors.xml
├── scripts
└── after_prepare
│ ├── 011_add_cert_fingerprint.js
│ └── es5-compatible.js
├── scss
├── core
│ ├── _fonts.scss
│ └── _variables.scss
├── ionic.app.scss
├── pages
│ ├── _accounts-management.scss
│ ├── _asset-index.scss
│ ├── _connectivity.scss
│ ├── _home.scss
│ ├── _ios-pwa-prompt.scss
│ ├── _limits.scss
│ ├── _meta-trader.scss
│ ├── _mt5-web.scss
│ ├── _new-account.scss
│ ├── _notification.scss
│ ├── _profile.scss
│ ├── _profit-table.scss
│ ├── _reality-check.scss
│ ├── _settings.scss
│ ├── _signin.scss
│ ├── _tax-information.scss
│ ├── _terms-and-conditions.scss
│ ├── _trade.scss
│ ├── _trading-times.scss
│ └── _update-page.scss
└── shared
│ ├── _general.scss
│ ├── _header.scss
│ ├── _language.scss
│ └── _menu.scss
├── sw-precache-config.js
└── www
├── binary.appcache
├── css
└── style.css
├── fonts
└── Roboto
│ ├── LICENSE.txt
│ ├── Roboto-Black.ttf
│ ├── Roboto-BlackItalic.ttf
│ ├── Roboto-Bold.ttf
│ ├── Roboto-BoldItalic.ttf
│ ├── Roboto-Italic.ttf
│ ├── Roboto-Light.ttf
│ ├── Roboto-LightItalic.ttf
│ ├── Roboto-Medium.ttf
│ ├── Roboto-MediumItalic.ttf
│ ├── Roboto-Regular.ttf
│ ├── Roboto-Thin.ttf
│ └── Roboto-ThinItalic.ttf
├── i18n
├── ach.json
├── ar.json
├── de.json
├── en.json
├── es.json
├── fr.json
├── id.json
├── it.json
├── pl.json
├── pt.json
├── ru.json
├── th.json
├── vi.json
├── zh_cn.json
└── zh_tw.json
├── img
├── appstore
│ ├── de.svg
│ ├── en.svg
│ ├── es.svg
│ ├── fr.svg
│ ├── id.svg
│ ├── it.svg
│ ├── pl.svg
│ ├── pt.svg
│ ├── ru.svg
│ ├── th.svg
│ ├── vi.svg
│ ├── zh_cn.svg
│ └── zh_tw.svg
├── binary-logo-blue.svg
├── binary.svg
├── binary_logo_dark.svg
├── binary_logo_light.svg
├── chart.png
├── currency
│ ├── aud.svg
│ ├── bch.svg
│ ├── btc.svg
│ ├── dai.svg
│ ├── etc.svg
│ ├── eth.svg
│ ├── eur.svg
│ ├── gbp.svg
│ ├── ltc.svg
│ └── usd.svg
├── gamstop.svg
├── googleplay
│ ├── de.svg
│ ├── en.svg
│ ├── es.svg
│ ├── fr.svg
│ ├── id.svg
│ ├── it.svg
│ ├── pl.svg
│ ├── pt.svg
│ ├── ru.svg
│ ├── th.svg
│ ├── vi.svg
│ ├── zh_cn.svg
│ └── zh_tw.svg
├── icons
│ ├── apple-touch-icon-114x114.png
│ ├── apple-touch-icon-120x120.png
│ ├── apple-touch-icon-144x144.png
│ ├── apple-touch-icon-152x152.png
│ ├── apple-touch-icon-180x180.png
│ ├── apple-touch-icon-57x57.png
│ ├── apple-touch-icon-60x60.png
│ ├── apple-touch-icon-72x72.png
│ ├── apple-touch-icon-76x76.png
│ ├── binary.icns
│ ├── favicon-160x160.png
│ ├── favicon-16x16.png
│ ├── favicon-192x192.png
│ ├── favicon-32x32.png
│ ├── favicon-512x512.png
│ └── favicon-96x96.png
├── ionic.png
├── logo.svg
├── logomark.svg
├── logotype_dark.svg
├── logotype_light.svg
├── old-logo.svg
└── trade-icon
│ ├── asiand.svg
│ ├── asianu.svg
│ ├── call.png
│ ├── call.svg
│ ├── digitdiff.svg
│ ├── digiteven.svg
│ ├── digitmatch.svg
│ ├── digitodd.svg
│ ├── digitover.svg
│ ├── digitunder.svg
│ ├── endbetween.png
│ ├── endoutside.png
│ ├── fall_1.png
│ ├── falls_1.svg
│ ├── google-play-badge.png
│ ├── higher.svg
│ ├── lower.svg
│ ├── no-touch_1.png
│ ├── put.png
│ ├── put.svg
│ ├── rise_1.png
│ ├── rise_1.svg
│ ├── spreadbet.svg
│ ├── spreads.svg
│ ├── spreads_1.svg
│ ├── stay-in-between_1.png
│ ├── stay-out_1.png
│ ├── tickhigh.svg
│ ├── ticklow.svg
│ └── touch_1.png
├── index.html
├── js
├── app.js
├── app.run.js
├── body.controller.js
├── config.json
├── configs
│ ├── angular-ios9-uiwebview.patch.js
│ ├── app.config.js
│ ├── currency.decorator.js
│ ├── deep-link.config.js
│ ├── options
│ │ ├── account.options.js
│ │ └── financial-information.options.js
│ ├── state.decorator.js
│ ├── states.config.js
│ ├── test
│ │ └── currency.spec.js
│ └── translation.config.js
├── main-layout.controller.js
├── pages
│ ├── account-categorisation
│ │ ├── account-categorisation.controller.js
│ │ ├── account-categorisation.module.js
│ │ └── account-categorisation.template.html
│ ├── accounts-management
│ │ ├── accounts-management.controller.js
│ │ ├── accounts-management.module.js
│ │ └── accounts-management.template.html
│ ├── asset-index
│ │ ├── asset-index.controller.js
│ │ ├── asset-index.module.js
│ │ └── asset-index.template.html
│ ├── authentication
│ │ ├── authentication.controller.js
│ │ ├── authentication.module.js
│ │ └── authentication.template.html
│ ├── change-password
│ │ ├── change-password.controller.js
│ │ ├── change-password.module.js
│ │ └── change-password.template.html
│ ├── contact
│ │ ├── contact.controller.js
│ │ ├── contact.module.js
│ │ └── contact.template.html
│ ├── financial-assessment
│ │ ├── financial-assessment.controller.js
│ │ ├── financial-assessment.module.js
│ │ └── financial-assessment.template.html
│ ├── home
│ │ ├── home.controller.js
│ │ ├── home.module.js
│ │ └── home.template.html
│ ├── language
│ │ └── language.template.html
│ ├── limits
│ │ ├── limits.controller.js
│ │ ├── limits.module.js
│ │ └── limits.template.html
│ ├── maltainvest-account-opening
│ │ ├── maltainvest-account-opening.controller.js
│ │ ├── maltainvest-account-opening.module.js
│ │ ├── maltainvest-account-opening.template.html
│ │ └── tax-residence.modal.html
│ ├── meta-trader
│ │ ├── meta-trader.controller.js
│ │ ├── meta-trader.module.js
│ │ ├── meta-trader.template.html
│ │ ├── mt5-web.controller.js
│ │ └── mt5-web.template.html
│ ├── notifications
│ │ ├── notifications.controller.js
│ │ ├── notifications.module.js
│ │ └── notifications.template.html
│ ├── profile
│ │ ├── profile.controller.js
│ │ ├── profile.module.js
│ │ ├── profile.template.html
│ │ └── tax-residence.modal.html
│ ├── profit-table
│ │ ├── profit-table.controller.js
│ │ ├── profit-table.filter.js
│ │ ├── profit-table.module.js
│ │ └── profit-table.template.html
│ ├── real-account-opening
│ │ ├── real-account-opening.controller.js
│ │ ├── real-account-opening.module.js
│ │ └── real-account-opening.template.html
│ ├── redirect
│ │ ├── redirect.controller.js
│ │ ├── redirect.module.js
│ │ └── redirect.template.html
│ ├── resources
│ │ ├── resources.controller.js
│ │ ├── resources.module.js
│ │ └── resources.template.html
│ ├── self-exclusion
│ │ ├── self-exclusion.controller.js
│ │ ├── self-exclusion.module.js
│ │ ├── self-exclusion.template.html
│ │ ├── session-timeout.controller.js
│ │ └── session-timeout.directive.js
│ ├── set-currency
│ │ ├── set-currency.controller.js
│ │ ├── set-currency.module.js
│ │ └── set-currency.template.html
│ ├── settings
│ │ ├── settings.controller.js
│ │ ├── settings.module.js
│ │ └── settings.template.html
│ ├── sign-in
│ │ ├── components
│ │ │ └── oauth
│ │ │ │ ├── oauth.controller.js
│ │ │ │ ├── oauth.directive.js
│ │ │ │ ├── oauth.module.js
│ │ │ │ └── oauth.template.html
│ │ ├── sign-in.controller.js
│ │ ├── sign-in.module.js
│ │ └── sign-in.template.html
│ ├── statement
│ │ ├── statement.controller.js
│ │ ├── statement.filter.js
│ │ ├── statement.module.js
│ │ └── statement.template.html
│ ├── terms-and-conditions
│ │ ├── terms-and-conditions.controller.js
│ │ ├── terms-and-conditions.module.js
│ │ └── terms-and-conditions.template.html
│ ├── trade
│ │ ├── components
│ │ │ ├── chart
│ │ │ │ ├── chart.controller.js
│ │ │ │ ├── chart.directive.js
│ │ │ │ ├── chart.module.js
│ │ │ │ ├── chart.template.html
│ │ │ │ ├── digit-result.controller.js
│ │ │ │ ├── digit-result.directive.js
│ │ │ │ ├── digit-result.template.html
│ │ │ │ ├── tick-result.controller.js
│ │ │ │ ├── tick-result.directive.js
│ │ │ │ └── tick-result.template.html
│ │ │ ├── longcode
│ │ │ │ ├── longcode.controller.js
│ │ │ │ ├── longcode.directive.js
│ │ │ │ ├── longcode.module.js
│ │ │ │ └── longcode.template.html
│ │ │ ├── options
│ │ │ │ ├── barrier.controller.js
│ │ │ │ ├── barrier.directive.js
│ │ │ │ ├── barrier.template.html
│ │ │ │ ├── digits.controller.js
│ │ │ │ ├── digits.directive.js
│ │ │ │ ├── digits.template.html
│ │ │ │ ├── markets.controller.js
│ │ │ │ ├── markets.directive.js
│ │ │ │ ├── markets.service.js
│ │ │ │ ├── markets.template.html
│ │ │ │ ├── options-modal.html
│ │ │ │ ├── options.controller.js
│ │ │ │ ├── options.directive.js
│ │ │ │ ├── options.module.js
│ │ │ │ ├── options.service.js
│ │ │ │ ├── options.template.html
│ │ │ │ ├── selected-tick.controller.js
│ │ │ │ ├── selected-tick.directive.js
│ │ │ │ ├── selected-tick.template.html
│ │ │ │ ├── ticks.controller.js
│ │ │ │ ├── ticks.directive.js
│ │ │ │ ├── ticks.template.html
│ │ │ │ ├── trade-types.controller.js
│ │ │ │ ├── trade-types.directive.js
│ │ │ │ ├── trade-types.service.js
│ │ │ │ ├── trade-types.template.html
│ │ │ │ ├── underlyings.controller.js
│ │ │ │ ├── underlyings.directive.js
│ │ │ │ └── underlyings.template.html
│ │ │ ├── payout
│ │ │ │ ├── payout.controller.js
│ │ │ │ ├── payout.directive.js
│ │ │ │ ├── payout.module.js
│ │ │ │ └── payout.template.html
│ │ │ └── purchase
│ │ │ │ ├── contract-summary.controller.js
│ │ │ │ ├── contract-summary.directive.js
│ │ │ │ ├── contract-summary.template.html
│ │ │ │ ├── purchase.controller.js
│ │ │ │ ├── purchase.directive.js
│ │ │ │ ├── purchase.module.js
│ │ │ │ └── purchase.template.html
│ │ ├── proposal.service.js
│ │ ├── trade.controller.js
│ │ ├── trade.module.js
│ │ ├── trade.service.js
│ │ └── trade.template.html
│ ├── trading-times
│ │ ├── trading-times.controller.js
│ │ ├── trading-times.module.js
│ │ └── trading-times.template.html
│ ├── transaction-detail
│ │ ├── transaction-detail.controller.js
│ │ ├── transaction-detail.module.js
│ │ └── transaction-detail.template.html
│ └── update
│ │ ├── update.controller.js
│ │ ├── update.module.js
│ │ └── update.template.html
├── service-worker-registration.js
└── share
│ ├── components
│ ├── accounts
│ │ ├── accounts.controller.js
│ │ ├── accounts.directive.js
│ │ ├── accounts.module.js
│ │ └── accounts.template.html
│ ├── app-version
│ │ ├── app-version.controller.js
│ │ ├── app-version.directive.js
│ │ ├── app-version.module.js
│ │ ├── app-version.template.html
│ │ └── test
│ │ │ └── app-version.controller.spec.js
│ ├── balance
│ │ ├── balance.controller.js
│ │ ├── balance.directive.js
│ │ ├── balance.module.js
│ │ └── balance.template.html
│ ├── big-number
│ │ ├── big-number.directive.js
│ │ └── big-number.module.js
│ ├── check-user-status
│ │ ├── check-user-status.controller.js
│ │ ├── check-user-status.directive.js
│ │ ├── check-user-status.module.js
│ │ └── check-user-status.template.html
│ ├── connectivity
│ │ ├── connection-lost.controller.js
│ │ ├── connection-lost.directive.js
│ │ ├── connection-lost.template.html
│ │ ├── connectivity.controller.js
│ │ ├── connectivity.directive.js
│ │ ├── connectivity.module.js
│ │ └── connectivity.template.html
│ ├── header
│ │ ├── header.controller.js
│ │ ├── header.directive.js
│ │ └── header.template.html
│ ├── ios-pwa-prompt
│ │ ├── ios-pwa-prompt.controller.js
│ │ ├── ios-pwa-prompt.directive.js
│ │ ├── ios-pwa-prompt.module.js
│ │ └── ios-pwa-prompt.template.html
│ ├── language
│ │ ├── language-list.directive.js
│ │ ├── language-list.template.html
│ │ ├── language.controller.js
│ │ ├── language.directive.js
│ │ ├── language.module.js
│ │ └── language.template.html
│ ├── logout
│ │ ├── logout.controller.js
│ │ ├── logout.directive.js
│ │ ├── logout.module.js
│ │ └── logout.template.html
│ ├── long-press
│ │ ├── long-press.directive.js
│ │ └── long-press.module.js
│ ├── notification-icon
│ │ ├── notification-icon.controller.js
│ │ ├── notification-icon.directive.js
│ │ ├── notification-icon.module.js
│ │ └── notification-icon.template.html
│ ├── number
│ │ ├── number.directive.js
│ │ └── number.module.js
│ ├── ping
│ │ ├── ping.controller.js
│ │ ├── ping.directive.js
│ │ └── ping.module.js
│ ├── reality-check
│ │ ├── interval-popup.template.html
│ │ ├── reality-check-result.template.html
│ │ ├── reality-check.controller.js
│ │ ├── reality-check.directive.js
│ │ ├── reality-check.module.js
│ │ └── reality-check.template.html
│ ├── regex-validate
│ │ ├── regex-validate.directive.js
│ │ └── regex-validate.module.js
│ ├── service-outage
│ │ ├── service-outage-page.controller.js
│ │ ├── service-outage.controller.js
│ │ ├── service-outage.directive.js
│ │ ├── service-outage.module.js
│ │ └── service-outage.template.html
│ ├── side-menu
│ │ ├── side-menu.directive.js
│ │ └── side-menu.template.html
│ ├── spinner-logo
│ │ ├── spinner-logo.controller.js
│ │ ├── spinner-logo.directive.js
│ │ ├── spinner-logo.module.js
│ │ └── spinner-logo.template.html
│ └── updater
│ │ ├── updater.controller.js
│ │ ├── updater.directive.js
│ │ └── updater.module.js
│ ├── services
│ ├── account.service.js
│ ├── alert.service.js
│ ├── analytics.service.js
│ ├── app-state.service.js
│ ├── app-version.service.js
│ ├── chart.service.js
│ ├── cleanup.service.js
│ ├── client.service.js
│ ├── delay.service.js
│ ├── language.service.js
│ ├── local-storage.service.js
│ ├── market.service.js
│ ├── notification.service.js
│ ├── session-storage.service.js
│ ├── supported-languages.service.js
│ ├── table-state.service.js
│ ├── utils.service.js
│ ├── validation.service.js
│ └── websocket.service.js
│ └── templates
│ ├── layout
│ └── main-layout.template.html
│ ├── pep-information
│ └── pep-information.template.html
│ ├── professional-client
│ ├── professional-client-confirmation.template.html
│ └── professional-client-information.template.html
│ └── tax-information
│ └── tax-information.template.html
├── redirect.html
├── site.webmanifest
└── versions.json
/.bowerrc:
--------------------------------------------------------------------------------
1 | {
2 | "directory": "www/lib"
3 | }
4 |
--------------------------------------------------------------------------------
/.dockerignore:
--------------------------------------------------------------------------------
1 | .git
2 | Dockerfile
3 |
--------------------------------------------------------------------------------
/.eslintrc.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | "extends": ["airbnb-base", "prettier"],
3 | "plugins": ["angular", "jasmine"],
4 | "env": {
5 | "browser": true,
6 | "es6": true,
7 | "jquery": true,
8 | "jasmine": true,
9 | },
10 | "globals": {
11 | "window": true,
12 | "angular": true,
13 | "ionic": true,
14 | "cordova": true,
15 | "_": true,
16 | "localStorage": true,
17 | "sessionStorage": true,
18 | "isIOS9UIWebView": true,
19 | "ga": true,
20 | "Chart": true,
21 | "trackJs": true
22 | },
23 | rules: {
24 | "no-extend-native": "off",
25 | indent: ["error", 4, {SwitchCase: 1}],
26 | "key-spacing": ["error", {align: "colon"}],
27 | "max-len": [
28 | "error",
29 | 120,
30 | 4,
31 | {
32 | ignoreUrls: true,
33 | ignoreComments: true,
34 | ignoreRegExpLiterals: true,
35 | ignoreStrings: true,
36 | ignoreTemplateLiterals: true,
37 | },
38 | ],
39 | "func-names": "off",
40 | "no-use-before-define": "off",
41 | "no-plusplus": "off",
42 | "no-return-assign": "off",
43 | "prefer-rest-params": "off",
44 | "no-param-reassign": "off",
45 | "radix": ['error', 'as-needed'],
46 | "no-prototype-builtins" : "off",
47 |
48 | //TODO Should be removed later
49 | "no-unused-vars": 0,
50 | "camelcase": 0,
51 | "no-underscore-dangle": 0,
52 | "no-shadow": 0,
53 | 'no-restricted-properties': ['error', { object: 'arguments', property: 'callee', message: 'arguments.callee is deprecated' }],
54 | }
55 | };
56 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | git .architect
2 | bootstrap.json
3 | build/node_modules/
4 | build/dist/
5 | build/.publish/
6 | ext/
7 | node_modules/
8 | bower_components/
9 | platforms/
10 | plugins/
11 | www/lib
12 | *.log
13 | .*.log
14 | *.sw*
15 | dist/
16 | .publish/
17 | *.crx
18 | *.pem
19 | .editorconfig
20 | .io-config.json
21 | www/css/ionic.app*.css
22 | res
23 | resources/android
24 | Thumbs.db
25 | CNAME
26 | .npmignore
27 | tmp
28 | build
29 | *.provisionprofile
30 | package-lock.json
31 |
--------------------------------------------------------------------------------
/.travis.yml:
--------------------------------------------------------------------------------
1 | language: node_js
2 | node_js:
3 | - 7
4 | notification:
5 | email: false
6 | cache:
7 | directories:
8 | - "node_modules"
9 |
--------------------------------------------------------------------------------
/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM nginx:alpine
2 | COPY ./www /usr/share/nginx/html
3 | COPY ./default.conf /etc/nginx/conf.d/default.conf
4 |
--------------------------------------------------------------------------------
/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "binay-ticktrade",
3 | "private": "true",
4 | "devDependencies": {
5 | "ionic": "1.3.1",
6 | "angular-translate": "*",
7 | "angular-translate-loader-static-files": "*",
8 | "jquery": "^2.1",
9 | "hammerjs": "~2.0.4",
10 | "AngularHammer": "ryanmullins-angular-hammer#~2.1.10",
11 | "Chart.js": "~1.0.2",
12 | "angular-messages": "~1.5.8",
13 | "intl": "~1.2.5"
14 | },
15 | "dependencies": {
16 | "validate": "validate.js#^0.10.0",
17 | "ngCordova": "^0.1.27-alpha",
18 | "ionic-native": "^2.0.3",
19 | "lodash": "^4.17.13"
20 | },
21 | "resolutions": {
22 | "angular": ">=1.2.0",
23 | "angular-translate": "2.15.1"
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/crowdin.yaml:
--------------------------------------------------------------------------------
1 | files:
2 | - source: /www/i18n/en.json
3 | translation: /www/i18n/%two_letters_code%.json
4 | languages_mapping:
5 | two_letters_code:
6 | zh-CN: zh_cn
7 | zh-TW: zh_tw
8 |
--------------------------------------------------------------------------------
/default.conf:
--------------------------------------------------------------------------------
1 | server {
2 | listen 80;
3 | server_name localhost;
4 |
5 | add_header Cache-Control "public, max-age=7200, s-maxage=600, must-revalidate";
6 | charset UTF-8;
7 |
8 | error_page 404 /404.html;
9 |
10 | location @custom_error_503 {
11 | return 503;
12 | }
13 |
14 | location ~ /\.git {
15 | return 404;
16 | }
17 |
18 | location / {
19 | root /usr/share/nginx/html;
20 | index index.html index.htm;
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/ionic.config.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "tickTrade",
3 | "integrations": {
4 | "cordova": {}
5 | },
6 | "gulpStartupTasks": [
7 | "sass",
8 | "watch"
9 | ],
10 | "type": "ionic1",
11 | "watchPatterns": []
12 | }
--------------------------------------------------------------------------------
/resources/Thumbs.db:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/resources/Thumbs.db
--------------------------------------------------------------------------------
/resources/android/icon/Thumbs.db:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/resources/android/icon/Thumbs.db
--------------------------------------------------------------------------------
/resources/android/icon/drawable-hdpi-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/resources/android/icon/drawable-hdpi-icon.png
--------------------------------------------------------------------------------
/resources/android/icon/drawable-ldpi-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/resources/android/icon/drawable-ldpi-icon.png
--------------------------------------------------------------------------------
/resources/android/icon/drawable-mdpi-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/resources/android/icon/drawable-mdpi-icon.png
--------------------------------------------------------------------------------
/resources/android/icon/drawable-xhdpi-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/resources/android/icon/drawable-xhdpi-icon.png
--------------------------------------------------------------------------------
/resources/android/icon/drawable-xxhdpi-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/resources/android/icon/drawable-xxhdpi-icon.png
--------------------------------------------------------------------------------
/resources/android/icon/drawable-xxxhdpi-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/resources/android/icon/drawable-xxxhdpi-icon.png
--------------------------------------------------------------------------------
/resources/android/splash/Thumbs.db:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/resources/android/splash/Thumbs.db
--------------------------------------------------------------------------------
/resources/android/splash/drawable-land-hdpi-screen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/resources/android/splash/drawable-land-hdpi-screen.png
--------------------------------------------------------------------------------
/resources/android/splash/drawable-land-ldpi-screen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/resources/android/splash/drawable-land-ldpi-screen.png
--------------------------------------------------------------------------------
/resources/android/splash/drawable-land-mdpi-screen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/resources/android/splash/drawable-land-mdpi-screen.png
--------------------------------------------------------------------------------
/resources/android/splash/drawable-land-xhdpi-screen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/resources/android/splash/drawable-land-xhdpi-screen.png
--------------------------------------------------------------------------------
/resources/android/splash/drawable-land-xxhdpi-screen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/resources/android/splash/drawable-land-xxhdpi-screen.png
--------------------------------------------------------------------------------
/resources/android/splash/drawable-land-xxxhdpi-screen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/resources/android/splash/drawable-land-xxxhdpi-screen.png
--------------------------------------------------------------------------------
/resources/android/splash/drawable-port-hdpi-screen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/resources/android/splash/drawable-port-hdpi-screen.png
--------------------------------------------------------------------------------
/resources/android/splash/drawable-port-ldpi-screen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/resources/android/splash/drawable-port-ldpi-screen.png
--------------------------------------------------------------------------------
/resources/android/splash/drawable-port-mdpi-screen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/resources/android/splash/drawable-port-mdpi-screen.png
--------------------------------------------------------------------------------
/resources/android/splash/drawable-port-xhdpi-screen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/resources/android/splash/drawable-port-xhdpi-screen.png
--------------------------------------------------------------------------------
/resources/android/splash/drawable-port-xxhdpi-screen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/resources/android/splash/drawable-port-xxhdpi-screen.png
--------------------------------------------------------------------------------
/resources/android/splash/drawable-port-xxxhdpi-screen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/resources/android/splash/drawable-port-xxxhdpi-screen.png
--------------------------------------------------------------------------------
/resources/anydpi-v26-icon.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/resources/binary-logo-1024.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/resources/binary-logo-1024.png
--------------------------------------------------------------------------------
/resources/foreground/foreground-hdpi.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/resources/foreground/foreground-hdpi.png
--------------------------------------------------------------------------------
/resources/foreground/foreground-mdpi.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/resources/foreground/foreground-mdpi.png
--------------------------------------------------------------------------------
/resources/foreground/foreground-xhdpi.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/resources/foreground/foreground-xhdpi.png
--------------------------------------------------------------------------------
/resources/foreground/foreground-xxhdpi.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/resources/foreground/foreground-xxhdpi.png
--------------------------------------------------------------------------------
/resources/foreground/foreground-xxxhdpi.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/resources/foreground/foreground-xxxhdpi.png
--------------------------------------------------------------------------------
/resources/icon-old.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/resources/icon-old.png
--------------------------------------------------------------------------------
/resources/icon-transparent/drawable-hdpi-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/resources/icon-transparent/drawable-hdpi-icon.png
--------------------------------------------------------------------------------
/resources/icon-transparent/drawable-ldpi-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/resources/icon-transparent/drawable-ldpi-icon.png
--------------------------------------------------------------------------------
/resources/icon-transparent/drawable-mdpi-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/resources/icon-transparent/drawable-mdpi-icon.png
--------------------------------------------------------------------------------
/resources/icon-transparent/drawable-xhdpi-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/resources/icon-transparent/drawable-xhdpi-icon.png
--------------------------------------------------------------------------------
/resources/icon-transparent/drawable-xxhdpi-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/resources/icon-transparent/drawable-xxhdpi-icon.png
--------------------------------------------------------------------------------
/resources/icon-transparent/drawable-xxxhdpi-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/resources/icon-transparent/drawable-xxxhdpi-icon.png
--------------------------------------------------------------------------------
/resources/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/resources/icon.png
--------------------------------------------------------------------------------
/resources/ios/icon/Thumbs.db:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/resources/ios/icon/Thumbs.db
--------------------------------------------------------------------------------
/resources/ios/icon/icon-40.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/resources/ios/icon/icon-40.png
--------------------------------------------------------------------------------
/resources/ios/icon/icon-40@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/resources/ios/icon/icon-40@2x.png
--------------------------------------------------------------------------------
/resources/ios/icon/icon-40@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/resources/ios/icon/icon-40@3x.png
--------------------------------------------------------------------------------
/resources/ios/icon/icon-50.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/resources/ios/icon/icon-50.png
--------------------------------------------------------------------------------
/resources/ios/icon/icon-50@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/resources/ios/icon/icon-50@2x.png
--------------------------------------------------------------------------------
/resources/ios/icon/icon-60.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/resources/ios/icon/icon-60.png
--------------------------------------------------------------------------------
/resources/ios/icon/icon-60@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/resources/ios/icon/icon-60@2x.png
--------------------------------------------------------------------------------
/resources/ios/icon/icon-60@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/resources/ios/icon/icon-60@3x.png
--------------------------------------------------------------------------------
/resources/ios/icon/icon-72.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/resources/ios/icon/icon-72.png
--------------------------------------------------------------------------------
/resources/ios/icon/icon-72@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/resources/ios/icon/icon-72@2x.png
--------------------------------------------------------------------------------
/resources/ios/icon/icon-76.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/resources/ios/icon/icon-76.png
--------------------------------------------------------------------------------
/resources/ios/icon/icon-76@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/resources/ios/icon/icon-76@2x.png
--------------------------------------------------------------------------------
/resources/ios/icon/icon-83.5@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/resources/ios/icon/icon-83.5@2x.png
--------------------------------------------------------------------------------
/resources/ios/icon/icon-small.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/resources/ios/icon/icon-small.png
--------------------------------------------------------------------------------
/resources/ios/icon/icon-small@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/resources/ios/icon/icon-small@2x.png
--------------------------------------------------------------------------------
/resources/ios/icon/icon-small@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/resources/ios/icon/icon-small@3x.png
--------------------------------------------------------------------------------
/resources/ios/icon/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/resources/ios/icon/icon.png
--------------------------------------------------------------------------------
/resources/ios/icon/icon@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/resources/ios/icon/icon@2x.png
--------------------------------------------------------------------------------
/resources/ios/splash/Default-568h@2x~iphone.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/resources/ios/splash/Default-568h@2x~iphone.png
--------------------------------------------------------------------------------
/resources/ios/splash/Default-667h.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/resources/ios/splash/Default-667h.png
--------------------------------------------------------------------------------
/resources/ios/splash/Default-736h.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/resources/ios/splash/Default-736h.png
--------------------------------------------------------------------------------
/resources/ios/splash/Default-Landscape-736h.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/resources/ios/splash/Default-Landscape-736h.png
--------------------------------------------------------------------------------
/resources/ios/splash/Default-Landscape@2x~ipad.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/resources/ios/splash/Default-Landscape@2x~ipad.png
--------------------------------------------------------------------------------
/resources/ios/splash/Default-Landscape~ipad.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/resources/ios/splash/Default-Landscape~ipad.png
--------------------------------------------------------------------------------
/resources/ios/splash/Default-Portrait@2x~ipad.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/resources/ios/splash/Default-Portrait@2x~ipad.png
--------------------------------------------------------------------------------
/resources/ios/splash/Default-Portrait~ipad.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/resources/ios/splash/Default-Portrait~ipad.png
--------------------------------------------------------------------------------
/resources/ios/splash/Default@2x~iphone.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/resources/ios/splash/Default@2x~iphone.png
--------------------------------------------------------------------------------
/resources/ios/splash/Default~iphone.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/resources/ios/splash/Default~iphone.png
--------------------------------------------------------------------------------
/resources/ios/splash/Thumbs.db:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/resources/ios/splash/Thumbs.db
--------------------------------------------------------------------------------
/resources/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/resources/splash.png
--------------------------------------------------------------------------------
/resources/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #ffffffff
4 |
--------------------------------------------------------------------------------
/scss/core/_fonts.scss:
--------------------------------------------------------------------------------
1 | @font-face {
2 | font-family: roboto;
3 | src: url(../fonts/Roboto/Roboto-Thin.ttf);
4 | font-weight: 100;
5 | }
6 |
7 | @font-face {
8 | font-family: roboto;
9 | src: url(../fonts/Roboto/Roboto-Regular.ttf);
10 | font-weight: 400;
11 | }
12 |
13 | @font-face {
14 | font-family: roboto;
15 | src: url(../fonts/Roboto/Roboto-Bold.ttf);
16 | font-weight: 700;
17 | }
18 |
--------------------------------------------------------------------------------
/scss/core/_variables.scss:
--------------------------------------------------------------------------------
1 | // colors
2 | $black: #000;
3 | $white: #fff;
4 | $primaryBrandColor: #2A3052;
5 | $darkPrimaryBrandColor: #15212D;
6 | $secondaryBrandColor: #E98024;
7 | $contentColor: #000;
8 | $contentInverseColor: #FFF;
9 | $secondaryContentColor: #C2C2C2;
10 | $borderColor: #DEDEDE;
11 | $fillColor: #F2F2F2;
12 | $positiveColor: #2E8836;
13 | $darkPositiveColor: #14602B;
14 | $negativeColor: #C03;
15 | $noticeColor: #FEF1CF;
16 | $disabledColor: #f8f8f8;
17 | $chartColor: #6B8Fb9;
18 | $chartAreaColor: rgba(128,179,236,0.3);
19 |
20 | // Typography
21 | $FONT_SIZE_XL: 1.5rem;
22 | $FONT_SIZE_L: 1.1rem;
23 | $FONT_SIZE_N: 1rem;
24 | $FONT_SIZE_S: 0.9rem;
25 | $FONT_SIZE_XS: 0.8rem;
26 | $FONT_SIZE_XSS: 0.7rem;
27 |
28 | @media only screen and (max-width: 480px) {
29 | html, body{
30 | font-size: 4vw;
31 | }
32 | }
33 | @media only screen and (min-width: 480px) {
34 | html, body{
35 | font-size: 3vw;
36 | }
37 | }
38 | @media only screen and (min-width: 780px) {
39 | html, body{
40 | font-size: 2vw;
41 | }
42 | }
43 | @media only screen and (min-width: 960px) {
44 | html, body{
45 | font-size: 16px;
46 | }
47 | }
48 |
--------------------------------------------------------------------------------
/scss/pages/_accounts-management.scss:
--------------------------------------------------------------------------------
1 | .accounts-management {
2 | ul {
3 | display: table;
4 | width: 100%;
5 |
6 | li {
7 | display: table-row;
8 | width: 100%;
9 | &.list-title {
10 | background: $fillColor;
11 | }
12 | &.disabled {
13 | color: $secondaryContentColor;
14 | }
15 | .list-element {
16 | display: table-cell;
17 | padding: 5px;
18 | font-size: $FONT_SIZE_XS;
19 | vertical-align: middle;
20 | }
21 | }
22 | }
23 | }
--------------------------------------------------------------------------------
/scss/pages/_asset-index.scss:
--------------------------------------------------------------------------------
1 | .asset-index {
2 | form {
3 | display: inline-block;
4 | width: 49%;
5 | width: calc((100% - 10px) / 2);
6 |
7 | select {
8 | height: 34px;
9 | text-transform: capitalize;
10 |
11 | option {
12 | text-transform: capitalize;
13 | }
14 | }
15 |
16 | label,
17 | select {
18 | line-height: normal;
19 | }
20 | }
21 |
22 | .table-container {
23 | overflow-x: scroll;
24 |
25 | &::-webkit-scrollbar {
26 | display: none;
27 | }
28 | }
29 |
30 | .asset-index-table {
31 | width: 100%;
32 | font-size: $FONT_SIZE_XSS;
33 | table-layout: fixed;
34 |
35 | tbody {
36 | tr {
37 | border-bottom: 1px solid $borderColor;
38 |
39 | td {
40 | padding: 5px;
41 | font-size: $FONT_SIZE_XS;
42 | vertical-align:top;
43 | word-break:break-word;
44 | }
45 |
46 | &.title-row {
47 | padding-left: 15px;
48 | border-top: 1px solid $black;
49 | border-bottom: 1px solid $black;
50 | background: $secondaryContentColor;
51 | }
52 |
53 | &.market-row {
54 | background: $fillColor;
55 | font-size: $FONT_SIZE_XS;
56 |
57 | &.limits-by-market {
58 | margin-top: 20px;
59 | }
60 |
61 | tr {
62 | th {
63 | padding: 5px;
64 |
65 | td {
66 | vertical-align:top;
67 | word-break:break-word;
68 | }
69 | }
70 | }
71 | }
72 | }
73 | }
74 | }
75 | }
76 |
--------------------------------------------------------------------------------
/scss/pages/_connectivity.scss:
--------------------------------------------------------------------------------
1 | .connectivity{
2 | align-items: center;
3 | display: flex;
4 | font-size: $FONT_SIZE_L;
5 | justify-content: center;
6 | .no-connection {
7 | margin-top: 15px;
8 | }
9 | .logo {
10 | display: block;
11 | margin: 0 auto;
12 | width: 40%;
13 | }
14 | .slogan {
15 | display: block;
16 | margin: 5% auto 0;
17 | width: 60%;
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/scss/pages/_home.scss:
--------------------------------------------------------------------------------
1 | .home {
2 | background-color: $fillColor;
3 | &.branding {
4 | align-items: center;
5 | display: flex;
6 | font-size: $FONT_SIZE_L;
7 | justify-content: center;
8 | .logo {
9 | display: block;
10 | margin: 0 auto;
11 | width: 40%;
12 | }
13 | .slogan {
14 | display: block;
15 | margin: 5% auto 0;
16 | width: 60%;
17 | }
18 | }
19 |
20 | .spinner-container {
21 | margin-top: 15px;
22 | }
23 |
24 | .spinner {
25 | svg {
26 | display: block;
27 | stroke: $primaryBrandColor;
28 | }
29 | }
30 | span {
31 | display: block;
32 | margin: -50px auto 0;
33 | color: $primaryBrandColor;
34 | text-align: center;
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/scss/pages/_ios-pwa-prompt.scss:
--------------------------------------------------------------------------------
1 | .ios-pwa-prompt {
2 | .logo {
3 | width: 50%;
4 | }
5 | .slogan {
6 | width: 50%
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/scss/pages/_limits.scss:
--------------------------------------------------------------------------------
1 | .limits {
2 | .sub-title{
3 | font-size: $FONT_SIZE_N;
4 | color: $primaryBrandColor;
5 | }
6 | .limits-table {
7 | width: 100%;
8 | thead{
9 | background: $fillColor;
10 | font-size: $FONT_SIZE_XS;
11 | &.limits-by-market{
12 | margin-top: 20px;
13 | }
14 | tr{
15 | th{
16 | padding: 5px;
17 | }
18 | }
19 | }
20 | tbody{
21 | tr{
22 | border-bottom: 1px solid $borderColor;
23 | td{
24 | padding: 5px;
25 | font-size: $FONT_SIZE_XS;
26 | &.title-row {
27 | padding-left: 15px;
28 | }
29 | }
30 | }
31 | }
32 | }
33 | p {
34 | font-size: $FONT_SIZE_XS;
35 | padding: 0 5px;
36 | }
37 | .withdrawal-limits{
38 | margin-top: 10px;
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/scss/pages/_meta-trader.scss:
--------------------------------------------------------------------------------
1 | .meta-trader {
2 | .meta-trader-accounts {
3 | .meta-trader-accounts-list {
4 | .meta-trader-account-title {
5 | background: $primaryBrandColor;
6 | color: $white;
7 | }
8 | .meta-trader-account-info {
9 | span {
10 | font-size: $FONT_SIZE_XS;
11 | &.right {
12 | float: right;
13 | }
14 | }
15 | }
16 | }
17 | }
18 | }
--------------------------------------------------------------------------------
/scss/pages/_mt5-web.scss:
--------------------------------------------------------------------------------
1 | .mt5-web {
2 | ion-content {
3 | height: 93%;
4 |
5 | iframe{
6 | width: 100%;
7 | height: 100%;
8 |
9 | }
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/scss/pages/_new-account.scss:
--------------------------------------------------------------------------------
1 | .new-account {
2 | .new-real-account {
3 | .accept {
4 | font-size: $FONT_SIZE_XS;
5 | }
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/scss/pages/_notification.scss:
--------------------------------------------------------------------------------
1 | .notification {
2 | padding: 5px 10px;
3 | box-shadow: none;
4 | .bordered {
5 | border-bottom: 1px solid $borderColor;
6 | }
7 | }
--------------------------------------------------------------------------------
/scss/pages/_profile.scss:
--------------------------------------------------------------------------------
1 | .profile {
2 | ion-content {
3 | form {
4 | .row {
5 | margin: 0;
6 | padding:0 5px;
7 | .button {
8 | margin-top: 0;
9 | }
10 | }
11 | }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/scss/pages/_reality-check.scss:
--------------------------------------------------------------------------------
1 | .reality-check {
2 | .popup {
3 | background: $white;
4 | width: 90vw;
5 | padding: 0;
6 | font-size: $FONT_SIZE_N;
7 | }
8 | .popup-body {
9 | background: $white;
10 | padding: 5px;
11 | .item {
12 | font-size: $FONT_SIZE_N;
13 | padding: 5px;
14 | background: $white;
15 | p {
16 | white-space: normal;
17 | color: $contentColor;
18 | }
19 | .row {
20 | white-space: normal;
21 | &.reality-check-text {
22 | padding: 15px 0 0 !important;
23 | }
24 | .col:nth-child(2n) {
25 | text-align: center;
26 | }
27 | &.interval {
28 | padding: 10px 5px;
29 | }
30 | }
31 | .interval-text {
32 | padding: 10px 5px;
33 | }
34 | }
35 | }
36 | }
37 | .get-interval {
38 | .popup {
39 | width: 40vw;
40 | }
41 | }
42 | .get-interval,
43 | .result-popup {
44 | .popup {
45 | width: 40vw;
46 | }
47 | }
48 |
49 | @media screen and (max-width: 480px) {
50 | .reality-check .popup-body .item {
51 | font-size: $FONT_SIZE_N;
52 | }
53 | .reality-check {
54 | .popup-body {
55 | .item {
56 | .row {
57 | padding: 0;
58 | .interval-text {
59 | padding: 0;
60 | width: 100%;
61 | }
62 | }
63 | }
64 | p {
65 | font-size: $FONT_SIZE_N;
66 | }
67 | }
68 | }
69 | .get-interval {
70 | .popup {
71 | width: 90vw!important;
72 | }
73 | }
74 | .result-popup {
75 | .popup {
76 | width: 90vw!important;
77 | }
78 | }
79 | }
80 |
81 | @media screen and (max-width: 960px) {
82 | .get-interval,
83 | .result-popup {
84 | .popup {
85 | width: 95vw!important;
86 | }
87 | }
88 | }
89 |
--------------------------------------------------------------------------------
/scss/pages/_settings.scss:
--------------------------------------------------------------------------------
1 | .settings {
2 | ion-content {
3 | a{
4 | font-size: $FONT_SIZE_N;
5 | font-weight: normal;
6 | }
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/scss/pages/_tax-information.scss:
--------------------------------------------------------------------------------
1 | .tax-residence-modal {
2 | .item-checkbox {
3 | font-size: $FONT_SIZE_XS;
4 | }
5 |
6 | .disabled {
7 | color: $secondaryContentColor;
8 | }
9 |
10 | .checkbox input:checked + .checkbox-icon:before,
11 | .checkbox input:checked:before {
12 | background: $positiveColor;
13 | border-color: $positiveColor;
14 | }
15 | }
16 | .tax-residence {
17 | font-size: 14px;
18 | color: #333;
19 | .tax-residence-select {
20 | position: relative;
21 | width: 100%;
22 | padding: 5px;
23 | border: 1px solid #DEDEDE;
24 | border-radius: 3px;
25 | background: #fff;
26 | direction: ltr;
27 | font-size: $FONT_SIZE_XS;
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/scss/pages/_terms-and-conditions.scss:
--------------------------------------------------------------------------------
1 | .accept-terms-and-conditions {
2 | .logout {
3 | a {
4 | background: $fillColor;
5 | color: $contentColor;
6 | margin-top: 10px;
7 | margin-bottom: 10px;
8 | width: 100%;
9 | position: relative;
10 | padding: 0 12px;
11 | min-width: 52px;
12 | min-height: 45px;
13 | border-radius: 4px;
14 | vertical-align: top;
15 | text-align: center;
16 | text-overflow: ellipsis;
17 | line-height: 47px;
18 | cursor: pointer;
19 | font-weight: normal;
20 | display: block;
21 | clear: both;
22 | text-transform: none;
23 | outline-offset: 0;
24 | outline-style: none;
25 | outline-width: 0;
26 | -webkit-font-smoothing: inherit;
27 | outline: 0;
28 | align-items: flex-start;
29 | }
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/scss/pages/_trading-times.scss:
--------------------------------------------------------------------------------
1 | .trading-times{
2 | form {
3 | display: inline-block;
4 | width: 49%;
5 | width: calc((100% - 10px) / 2);
6 | select {
7 | height: 34px;
8 | }
9 | label, select{
10 | line-height: inherit!important;
11 | }
12 | }
13 | .trading-times-table {
14 | width: 100%;
15 | font-size: $FONT_SIZE_XSS;
16 | table-layout: fixed;
17 |
18 | thead {
19 | background: $fillColor;
20 | font-size: $FONT_SIZE_XS;
21 |
22 | &.limits-by-market {
23 | margin-top: 20px;
24 | }
25 |
26 | tr {
27 | th {
28 | padding: 5px;
29 | vertical-align:top;
30 | word-break:break-word;
31 | }
32 |
33 | &.title-row {
34 | padding-left: 15px;
35 | border-top: 1px solid $black;
36 | border-bottom: 1px solid $black;
37 | background: $secondaryContentColor;
38 | }
39 | }
40 | }
41 |
42 | tbody {
43 | tr {
44 | border-bottom: 1px solid $borderColor;
45 |
46 | td {
47 | padding: 5px;
48 | font-size: $FONT_SIZE_XS;
49 | vertical-align:top;
50 | word-break:break-word;
51 | }
52 | }
53 | }
54 | }
55 | }
56 |
--------------------------------------------------------------------------------
/scss/pages/_update-page.scss:
--------------------------------------------------------------------------------
1 | .update-page {
2 | background-color: #F2F2F2;
3 | .message {
4 | padding: 20px;
5 | padding-top: 30%;
6 | }
7 | .features {
8 | .update-link {
9 | padding-top: 10px !important;
10 | }
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/scss/shared/_language.scss:
--------------------------------------------------------------------------------
1 | .language {
2 | bg-language-list {
3 | ion-content {
4 | .item-content {
5 | font-size: $FONT_SIZE_N;
6 | background: $white;
7 | }
8 | }
9 | }
10 | }
11 | @media only screen and (max-device-width: 480px) {
12 | /*RU Language*/
13 | body#ru {
14 | .trade .buy-again {
15 | button {
16 | font-size: 12px;
17 | }
18 | .price-des {
19 | font-size: 3vw;
20 | }
21 | }
22 | }
23 | body#pt {
24 | .trade .buy-again {
25 | button {
26 | font-size: 12px;
27 | line-height: 12px;
28 | min-height: 32px;
29 | }
30 | }
31 | }
32 | }
33 |
34 | body#ru .trade #trade-container bg-purchase .purchase .contract .row .col .button ,
35 | body#de .trade #trade-container bg-purchase .purchase .contract .row .col .button {
36 | font-size: $FONT_SIZE_XS!important;
37 | white-space: wrap;
38 | }
39 | body#ru .trade #trade-container bg-longcode .longcode .row .col ,
40 | body#de .trade #trade-container bg-longcode .longcode .row .col {
41 | font-size: $FONT_SIZE_XS!important;
42 | }
43 | body#ru .trade #trade-container bg-longcode .longcode ,
44 | body#de .trade #trade-container bg-longcode .longcode {
45 | max-height: 100px;
46 | }
47 |
--------------------------------------------------------------------------------
/sw-precache-config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | staticFileGlobs: [
3 | 'dist/css/**.css',
4 | 'dist/**.html',
5 | 'dist/images/**.*',
6 | 'dist/js/**.js',
7 | 'dist/js/**/*.html',
8 | ],
9 | stripPrefix: 'dist/',
10 | verbose : true
11 | };
12 |
--------------------------------------------------------------------------------
/www/binary.appcache:
--------------------------------------------------------------------------------
1 | CACHE MANIFEST
2 |
3 | # Version 0.1
4 |
5 | NETWORK:
6 | *
7 |
8 | CACHE:
9 | css/ionic.app.css
10 | lib/ionic/js/ionic.bundle.js
11 | lib/jquery/dist/jquery.min.js
12 | lib/angular-translate/angular-translate.min.js
13 | lib/angular-translate-loader-static-files/angular-translate-loader-static-files.min.js
14 | lib/lodash/lodash.min.js
15 | lib/Chart.js/Chart.min.js
16 | lib/hammerjs/hammer.min.js
17 | lib/AngularHammer/angular.hammer.min.js
18 | css/style.css
19 | js/app.js
20 |
--------------------------------------------------------------------------------
/www/css/style.css:
--------------------------------------------------------------------------------
1 | /* Empty. Add your own CSS if you like */
2 |
--------------------------------------------------------------------------------
/www/fonts/Roboto/Roboto-Black.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/www/fonts/Roboto/Roboto-Black.ttf
--------------------------------------------------------------------------------
/www/fonts/Roboto/Roboto-BlackItalic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/www/fonts/Roboto/Roboto-BlackItalic.ttf
--------------------------------------------------------------------------------
/www/fonts/Roboto/Roboto-Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/www/fonts/Roboto/Roboto-Bold.ttf
--------------------------------------------------------------------------------
/www/fonts/Roboto/Roboto-BoldItalic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/www/fonts/Roboto/Roboto-BoldItalic.ttf
--------------------------------------------------------------------------------
/www/fonts/Roboto/Roboto-Italic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/www/fonts/Roboto/Roboto-Italic.ttf
--------------------------------------------------------------------------------
/www/fonts/Roboto/Roboto-Light.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/www/fonts/Roboto/Roboto-Light.ttf
--------------------------------------------------------------------------------
/www/fonts/Roboto/Roboto-LightItalic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/www/fonts/Roboto/Roboto-LightItalic.ttf
--------------------------------------------------------------------------------
/www/fonts/Roboto/Roboto-Medium.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/www/fonts/Roboto/Roboto-Medium.ttf
--------------------------------------------------------------------------------
/www/fonts/Roboto/Roboto-MediumItalic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/www/fonts/Roboto/Roboto-MediumItalic.ttf
--------------------------------------------------------------------------------
/www/fonts/Roboto/Roboto-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/www/fonts/Roboto/Roboto-Regular.ttf
--------------------------------------------------------------------------------
/www/fonts/Roboto/Roboto-Thin.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/www/fonts/Roboto/Roboto-Thin.ttf
--------------------------------------------------------------------------------
/www/fonts/Roboto/Roboto-ThinItalic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/www/fonts/Roboto/Roboto-ThinItalic.ttf
--------------------------------------------------------------------------------
/www/img/chart.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/www/img/chart.png
--------------------------------------------------------------------------------
/www/img/currency/bch.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/www/img/currency/btc.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/www/img/currency/dai.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/www/img/currency/etc.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/www/img/currency/eth.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/www/img/currency/eur.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/www/img/currency/gbp.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/www/img/currency/ltc.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/www/img/icons/apple-touch-icon-114x114.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/www/img/icons/apple-touch-icon-114x114.png
--------------------------------------------------------------------------------
/www/img/icons/apple-touch-icon-120x120.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/www/img/icons/apple-touch-icon-120x120.png
--------------------------------------------------------------------------------
/www/img/icons/apple-touch-icon-144x144.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/www/img/icons/apple-touch-icon-144x144.png
--------------------------------------------------------------------------------
/www/img/icons/apple-touch-icon-152x152.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/www/img/icons/apple-touch-icon-152x152.png
--------------------------------------------------------------------------------
/www/img/icons/apple-touch-icon-180x180.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/www/img/icons/apple-touch-icon-180x180.png
--------------------------------------------------------------------------------
/www/img/icons/apple-touch-icon-57x57.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/www/img/icons/apple-touch-icon-57x57.png
--------------------------------------------------------------------------------
/www/img/icons/apple-touch-icon-60x60.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/www/img/icons/apple-touch-icon-60x60.png
--------------------------------------------------------------------------------
/www/img/icons/apple-touch-icon-72x72.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/www/img/icons/apple-touch-icon-72x72.png
--------------------------------------------------------------------------------
/www/img/icons/apple-touch-icon-76x76.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/www/img/icons/apple-touch-icon-76x76.png
--------------------------------------------------------------------------------
/www/img/icons/binary.icns:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/www/img/icons/binary.icns
--------------------------------------------------------------------------------
/www/img/icons/favicon-160x160.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/www/img/icons/favicon-160x160.png
--------------------------------------------------------------------------------
/www/img/icons/favicon-16x16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/www/img/icons/favicon-16x16.png
--------------------------------------------------------------------------------
/www/img/icons/favicon-192x192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/www/img/icons/favicon-192x192.png
--------------------------------------------------------------------------------
/www/img/icons/favicon-32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/www/img/icons/favicon-32x32.png
--------------------------------------------------------------------------------
/www/img/icons/favicon-512x512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/www/img/icons/favicon-512x512.png
--------------------------------------------------------------------------------
/www/img/icons/favicon-96x96.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/www/img/icons/favicon-96x96.png
--------------------------------------------------------------------------------
/www/img/ionic.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/www/img/ionic.png
--------------------------------------------------------------------------------
/www/img/logomark.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/www/img/trade-icon/asiand.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/www/img/trade-icon/asianu.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/www/img/trade-icon/call.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/www/img/trade-icon/call.png
--------------------------------------------------------------------------------
/www/img/trade-icon/call.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
13 |
--------------------------------------------------------------------------------
/www/img/trade-icon/digitdiff.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/www/img/trade-icon/digitmatch.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/www/img/trade-icon/digitodd.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
22 |
--------------------------------------------------------------------------------
/www/img/trade-icon/digitover.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
15 |
--------------------------------------------------------------------------------
/www/img/trade-icon/digitunder.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
14 |
--------------------------------------------------------------------------------
/www/img/trade-icon/endbetween.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/www/img/trade-icon/endbetween.png
--------------------------------------------------------------------------------
/www/img/trade-icon/endoutside.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/www/img/trade-icon/endoutside.png
--------------------------------------------------------------------------------
/www/img/trade-icon/fall_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/www/img/trade-icon/fall_1.png
--------------------------------------------------------------------------------
/www/img/trade-icon/falls_1.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
13 |
--------------------------------------------------------------------------------
/www/img/trade-icon/google-play-badge.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/www/img/trade-icon/google-play-badge.png
--------------------------------------------------------------------------------
/www/img/trade-icon/higher.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
12 |
--------------------------------------------------------------------------------
/www/img/trade-icon/lower.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
12 |
--------------------------------------------------------------------------------
/www/img/trade-icon/no-touch_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/www/img/trade-icon/no-touch_1.png
--------------------------------------------------------------------------------
/www/img/trade-icon/put.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/www/img/trade-icon/put.png
--------------------------------------------------------------------------------
/www/img/trade-icon/put.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
13 |
--------------------------------------------------------------------------------
/www/img/trade-icon/rise_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/www/img/trade-icon/rise_1.png
--------------------------------------------------------------------------------
/www/img/trade-icon/rise_1.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
13 |
--------------------------------------------------------------------------------
/www/img/trade-icon/spreadbet.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
13 |
--------------------------------------------------------------------------------
/www/img/trade-icon/spreads.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
13 |
--------------------------------------------------------------------------------
/www/img/trade-icon/spreads_1.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
20 |
--------------------------------------------------------------------------------
/www/img/trade-icon/stay-in-between_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/www/img/trade-icon/stay-in-between_1.png
--------------------------------------------------------------------------------
/www/img/trade-icon/stay-out_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/www/img/trade-icon/stay-out_1.png
--------------------------------------------------------------------------------
/www/img/trade-icon/tickhigh.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/www/img/trade-icon/ticklow.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/www/img/trade-icon/touch_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/binary-com/mobile/c0b2eb493380d31053ae8e1e8a16841e33b0a44e/www/img/trade-icon/touch_1.png
--------------------------------------------------------------------------------
/www/js/body.controller.js:
--------------------------------------------------------------------------------
1 | angular.module("binary").controller("BodyController", function($scope, languageService) {
2 | const vm = this;
3 | vm.getLanguage = function() {
4 | return languageService.read();
5 | };
6 | });
7 |
--------------------------------------------------------------------------------
/www/js/config.json:
--------------------------------------------------------------------------------
1 | {"version":"2.5.0"}
2 |
--------------------------------------------------------------------------------
/www/js/configs/state.decorator.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name angular-ui $state decorator
3 | * @author Morteza Tavanarad
4 | * @contributors []
5 | * @since 11/07/2016
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary").config(StateDecorator);
11 |
12 | function StateDecorator($provide) {
13 | $provide.decorator("$state", [
14 | "$delegate",
15 | "$rootScope",
16 | function($delegate, $rootScope) {
17 | const $state = $delegate;
18 | $state.previous = undefined;
19 |
20 | $state.goBack = function() {
21 | if ($state.previous) {
22 | $state.go($state.previous.name);
23 | }
24 | };
25 |
26 | $rootScope.$on("$stateChangeSuccess", (e, to, toParams, from, fromParams) => {
27 | $state.previous = {
28 | name : from,
29 | params: fromParams
30 | };
31 | });
32 |
33 | return $state;
34 | }
35 | ]);
36 | }
37 | })();
38 |
--------------------------------------------------------------------------------
/www/js/configs/test/currency.spec.js:
--------------------------------------------------------------------------------
1 | describe('custom currency filter', () => {
2 |
3 | let $filter;
4 | let currency;
5 |
6 | beforeEach(() => {
7 | module('binary');
8 | });
9 |
10 | beforeEach(angular.mock.inject((_$filter_) => {
11 | $filter = _$filter_;
12 | currency = $filter('currency');
13 | }));
14 |
15 | it ('returns -- when given a non-numerical', () => {
16 | expect(currency(undefined)).toEqual('--');
17 | });
18 |
19 | it ('returns empty string when given a null currency', () => {
20 | expect(currency(1232)).toEqual('');
21 | });
22 |
23 | it ('sets 2 decimal points for fiants', () => {
24 | expect(/\d+\.\d{2}/.test(currency(1232.2131, 'USD'))).toBeTruthy();
25 | });
26 |
27 | it ('set 8 decimal points for crypto currensies', () => {
28 | expect(/\d+\.\d{8}/.test(currency(0.0005, 'BTC'))).toBeTruthy();
29 | });
30 | });
31 |
--------------------------------------------------------------------------------
/www/js/configs/translation.config.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name translation.config
3 | * @author Morteza Tavanarad
4 | * @contributors []
5 | * @since 8/7/2016
6 | * @copyright Binary Ltd
7 | */
8 |
9 | angular.module("binary").config([
10 | "$translateProvider",
11 | function($translateProvider) {
12 | const language = localStorage.language || "en";
13 | $translateProvider.fallbackLanguage("en");
14 | $translateProvider.preferredLanguage(language);
15 | $translateProvider.useStaticFilesLoader({
16 | prefix: "i18n/",
17 | suffix: ".json"
18 | });
19 | }
20 | ]);
21 |
--------------------------------------------------------------------------------
/www/js/pages/account-categorisation/account-categorisation.module.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name account categorisation module
3 | * @author Nazanin Reihani Haghighi
4 | * @contributors []
5 | * @since 06/17/2018
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.pages.account-categorisation", ["binary.pages.account-categorisation.controllers"]);
11 |
12 | angular.module("binary.pages.account-categorisation.controllers", []);
13 | })();
14 |
--------------------------------------------------------------------------------
/www/js/pages/accounts-management/accounts-management.module.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name Account management module
3 | * @author Nazanin Reihani Haghighi
4 | * @contributors []
5 | * @since 10/28/2017
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.pages.accounts-management", ["binary.pages.accounts-management.controllers"]);
11 |
12 | angular.module("binary.pages.accounts-management.controllers", []);
13 | })();
14 |
--------------------------------------------------------------------------------
/www/js/pages/asset-index/asset-index.module.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name Asset Index module
3 | * @author Nazanin Reihani Haghighi
4 | * @contributors []
5 | * @since 01/26/2017
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.pages.asset-index", ["binary.pages.asset-index.controllers"]);
11 |
12 | angular.module("binary.pages.asset-index.controllers", []);
13 | })();
14 |
--------------------------------------------------------------------------------
/www/js/pages/authentication/authentication.controller.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name authentication controller
3 | * @author Nazanin Reihani Haghighi
4 | * @contributors []
5 | * @since 04/27/2017
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.pages.authentication.controllers").controller("AuthenticationController", Authentication);
11 |
12 | Authentication.$inject = [];
13 |
14 | function Authentication() {
15 | const vm = this;
16 | }
17 | })();
18 |
--------------------------------------------------------------------------------
/www/js/pages/authentication/authentication.module.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name authentication module
3 | * @author Nazanin Reihani Haghighi
4 | * @contributors []
5 | * @since 04/27/2017
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.pages.authentication", ["binary.pages.authentication.controllers"]);
11 |
12 | angular.module("binary.pages.authentication.controllers", []);
13 | })();
14 |
--------------------------------------------------------------------------------
/www/js/pages/authentication/authentication.template.html:
--------------------------------------------------------------------------------
1 |
2 |
38 |
39 |
--------------------------------------------------------------------------------
/www/js/pages/change-password/change-password.module.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name Change Password module
3 | * @author Nazanin Reihani Haghighi
4 | * @contributors []
5 | * @since 01/11/2017
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.pages.change-password", ["binary.pages.change-password.controllers"]);
11 |
12 | angular.module("binary.pages.change-password.controllers", []);
13 | })();
14 |
--------------------------------------------------------------------------------
/www/js/pages/contact/contact.module.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name Contact module
3 | * @author Nazanin Reihani Haghighi
4 | * @contributors []
5 | * @since 04/29/2017
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.pages.contact", ["binary.pages.contact.controllers"]);
11 |
12 | angular.module("binary.pages.contact.controllers", []);
13 | })();
14 |
--------------------------------------------------------------------------------
/www/js/pages/financial-assessment/financial-assessment.module.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name Financial Assessment module
3 | * @author Nazanin Reihani Haghighi
4 | * @contributors []
5 | * @since 01/15/2017
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.pages.financial-assessment", ["binary.pages.financial-assessment.controllers"]);
11 |
12 | angular.module("binary.pages.financial-assessment.controllers", []);
13 | })();
14 |
--------------------------------------------------------------------------------
/www/js/pages/home/home.module.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name Home Module
3 | * @author Morteza Tavanarad
4 | * @contributors []
5 | * @since 8/10/2016
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.pages.home", ["binary.pages.home.controllers"]);
11 |
12 | angular.module("binary.pages.home.controllers", []);
13 | })();
14 |
--------------------------------------------------------------------------------
/www/js/pages/home/home.template.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |

5 |

6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/www/js/pages/language/language.template.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/www/js/pages/limits/limits.module.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name Limits module
3 | * @author Nazanin Reihani Haghighi
4 | * @contributors []
5 | * @since 01/18/2017
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.pages.limits", ["binary.pages.limits.controllers"]);
11 |
12 | angular.module("binary.pages.limits.controllers", []);
13 | })();
14 |
--------------------------------------------------------------------------------
/www/js/pages/maltainvest-account-opening/maltainvest-account-opening.module.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name new-account-maltainvest module
3 | * @author Nazanin Reihanib Haghighi
4 | * @contributors []
5 | * @since 08/14/2016
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.pages.maltainvest-account-opening", []);
11 |
12 | angular.module("binary.pages.maltainvest-account-opening.controllers", []);
13 | })();
14 |
--------------------------------------------------------------------------------
/www/js/pages/maltainvest-account-opening/tax-residence.modal.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 | {{'new-account-maltainvest.tax_residence' | translate}}
7 |
10 |
11 |
12 |
17 | {{ residence.text }}
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/www/js/pages/meta-trader/meta-trader.module.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name MetaTrader Module
3 | * @author Morteza Tavanarad
4 | * @contributors []
5 | * @since 04/15/2017
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.pages.meta-trader", [
11 | "binary.pages.meta-trader.controllers",
12 | "binary.pages.meta-trader.directives"
13 | ]);
14 |
15 | angular.module("binary.pages.meta-trader.controllers", []);
16 |
17 | angular.module("binary.pages.meta-trader.directives", []);
18 | })();
19 |
--------------------------------------------------------------------------------
/www/js/pages/meta-trader/mt5-web.controller.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name MT5 Web Controller
3 | * @author Morteza Tavanarad
4 | * @contributors []
5 | * @since 04/15/2017
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.pages.meta-trader.controllers").controller("MT5WebController", MTWeb);
11 |
12 | MTWeb.$inject = ["$sce", "$stateParams"];
13 |
14 | function MTWeb($sce, $stateParams) {
15 | const vm = this;
16 | vm.url = "https://trade.mql5.com/trade?servers=Binary.com-Server&trade_server=Binary.com-Server&login=";
17 |
18 | vm.url += $stateParams.id;
19 |
20 | vm.url = $sce.trustAsResourceUrl(vm.url);
21 | }
22 | })();
23 |
--------------------------------------------------------------------------------
/www/js/pages/meta-trader/mt5-web.template.html:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/www/js/pages/notifications/notifications.controller.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name Notifications controller
3 | * @author Nazanin Reihani Haghighi
4 | * @contributors []
5 | * @since 05/02/2017
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.pages.notifications.controllers").controller("NotificationsController", Notifications);
11 |
12 | Notifications.$inject = ["$scope", "notificationService"];
13 |
14 | function Notifications($scope, notificationService) {
15 | const vm = this;
16 | $scope.$watch(
17 | () => notificationService.notices,
18 | () => {
19 | vm.notices = notificationService.notices;
20 | }
21 | );
22 | }
23 | })();
24 |
--------------------------------------------------------------------------------
/www/js/pages/notifications/notifications.module.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name Notifications module
3 | * @author Nazanin Reihani Haghighi
4 | * @contributors []
5 | * @since 05/02/2017
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.pages.notifications", ["binary.pages.notifications.controllers"]);
11 |
12 | angular.module("binary.pages.notifications.controllers", []);
13 | })();
14 |
--------------------------------------------------------------------------------
/www/js/pages/notifications/notifications.template.html:
--------------------------------------------------------------------------------
1 |
2 |
26 |
27 |
--------------------------------------------------------------------------------
/www/js/pages/profile/profile.module.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name Profile Module
3 | * @author Morteza Tavanarad
4 | * @contributors []
5 | * @since 11/21/2016
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.pages.profile", ["binary.pages.profile.controllers"]);
11 |
12 | angular.module("binary.pages.profile.controllers", []);
13 | })();
14 |
--------------------------------------------------------------------------------
/www/js/pages/profile/tax-residence.modal.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
7 | {{'profile.tax_residence' | translate}}
8 |
9 |
12 |
13 |
14 |
19 | {{ residence.text }}
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/www/js/pages/profit-table/profit-table.filter.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name profit-table filter
3 | * @author Nazanin Reihani Haghighi
4 | * @contributors []
5 | * @since 08/14/2016
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.pages.profit-table.filters").filter("DataFilter", DataFilter);
11 |
12 | DataFilter.$inject = ["$filter"];
13 |
14 | function DataFilter(transactions, appID, appIdAllowed) {
15 | function DataChange(transactions, appID, appIdAllowed) {
16 | const filtered = [];
17 |
18 | transactions.forEach((value, i) => {
19 | const item = transactions[i];
20 | const itemId = item.app_id;
21 | if (appID === "allApps" || (appID === "tickTradeApp" && itemId === appIdAllowed.toString())) {
22 | filtered.push(item);
23 | }
24 | });
25 | return filtered;
26 | }
27 | return DataChange;
28 | }
29 | })();
30 |
--------------------------------------------------------------------------------
/www/js/pages/profit-table/profit-table.module.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name profit-table module
3 | * @author Nazanin Reihani Haghighi
4 | * @contributors []
5 | * @since 08/14/2016
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.pages.profit-table", [
11 | "binary.pages.profit-table.controllers",
12 | "binary.pages.profit-table.filters"
13 | ]);
14 |
15 | angular.module("binary.pages.profit-table.controllers", []);
16 |
17 | angular.module("binary.pages.profit-table.filters", []);
18 | })();
19 |
--------------------------------------------------------------------------------
/www/js/pages/real-account-opening/real-account-opening.module.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name new-account-real module
3 | * @author Nazanin Reihani Haghighi
4 | * @contributors []
5 | * @since 08/14/2016
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.pages.real-account-opening", []);
11 |
12 | angular.module("binary.pages.real-account-opening.controllers", []);
13 | })();
14 |
--------------------------------------------------------------------------------
/www/js/pages/redirect/redirect.controller.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name Redirect Controller
3 | * @author Morteza Tavanarad
4 | * @contributors []
5 | * @since 03/03/2018
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function(){
10 | angular
11 | .module('binary.pages.redirect.controllers')
12 | .controller("RedirectController", Redirect);
13 |
14 | Redirect.$inject = ['$state'];
15 |
16 | function Redirect($state) {
17 | const vm = this;
18 |
19 | vm.init = () => {
20 | const url = window.location.href;
21 | const result = /^.*\?(.*)$/g.exec(url);
22 |
23 | if (result) {
24 | $state.go('signin', {accountTokens: url});
25 | } else {
26 | $state.go('home');
27 | }
28 | }
29 |
30 | vm.init();
31 | }
32 |
33 | })();
34 |
--------------------------------------------------------------------------------
/www/js/pages/redirect/redirect.module.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name Redirect Module
3 | * @author Morteza Tavanarad
4 | * @contributors []
5 | * @since 03/03/2018
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.pages.redirect", ["binary.pages.redirect.controllers"]);
11 |
12 | angular.module("binary.pages.redirect.controllers", []);
13 |
14 | })();
15 |
--------------------------------------------------------------------------------
/www/js/pages/redirect/redirect.template.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |

5 |

6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/www/js/pages/resources/resources.controller.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name resources controller
3 | * @author Nazanin Reihani Haghighi
4 | * @contributors []
5 | * @since 01/24/2017
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.pages.resources.controllers").controller("ResourcesController", Resources);
11 |
12 | Resources.$inject = [];
13 |
14 | function Resources() {
15 | const vm = this;
16 | vm.ios = ionic.Platform.isIOS();
17 | vm.android = ionic.Platform.isAndroid();
18 |
19 | vm.resources = [
20 | {
21 | name: "resources.trading_times",
22 | url : "trading-times"
23 | },
24 | {
25 | name: "resources.asset_index",
26 | url : "asset-index"
27 | }
28 | ];
29 | }
30 | })();
31 |
--------------------------------------------------------------------------------
/www/js/pages/resources/resources.module.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name resources module
3 | * @author Nazanin Reihani Haghighi
4 | * @contributors []
5 | * @since 01/24/2016
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.pages.resources", ["binary.pages.resources.controllers"]);
11 |
12 | angular.module("binary.pages.resources.controllers", []);
13 | })();
14 |
--------------------------------------------------------------------------------
/www/js/pages/resources/resources.template.html:
--------------------------------------------------------------------------------
1 |
2 |
21 |
22 |
--------------------------------------------------------------------------------
/www/js/pages/self-exclusion/self-exclusion.module.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name self-exclusion module
3 | * @author Morteza Tavnarad
4 | * @contributors []
5 | * @since 11/12/2016
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.pages.self-exclusion", [
11 | "binary.pages.self-exclusion.controllers",
12 | "binary.pages.self-exclusion.directives"
13 | ]);
14 |
15 | angular.module("binary.pages.self-exclusion.controllers", []);
16 |
17 | angular.module("binary.pages.self-exclusion.directives", []);
18 | })();
19 |
--------------------------------------------------------------------------------
/www/js/pages/self-exclusion/session-timeout.directive.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name session-timout directive
3 | * @author Morteza Tavnarad
4 | * @contributors []
5 | * @since 02/04/2017
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.pages.self-exclusion.directives").directive("bgSessionTimeout", SessionTimeout);
11 |
12 | function SessionTimeout() {
13 | const directive = {
14 | restrict : "E",
15 | scope : {},
16 | controller : "SessionTimeoutController",
17 | controllerAs: "vm"
18 | };
19 |
20 | return directive;
21 | }
22 | })();
23 |
--------------------------------------------------------------------------------
/www/js/pages/set-currency/set-currency.module.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name set currency module
3 | * @author Nazanin Reihani Haghighi
4 | * @contributors []
5 | * @since 10/18/2017
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.pages.set-currency", ["binary.pages.set-currency.controllers"]);
11 |
12 | angular.module("binary.pages.set-currency.controllers", []);
13 | })();
14 |
--------------------------------------------------------------------------------
/www/js/pages/settings/settings.module.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name settings module
3 | * @author Morteza Tavnarad
4 | * @contributors []
5 | * @since 11/11/2016
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.pages.settings", ["binary.pages.settings.controllers"]);
11 |
12 | angular.module("binary.pages.settings.controllers", []);
13 | })();
14 |
--------------------------------------------------------------------------------
/www/js/pages/settings/settings.template.html:
--------------------------------------------------------------------------------
1 |
2 |
33 |
34 |
--------------------------------------------------------------------------------
/www/js/pages/sign-in/components/oauth/oauth.directive.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name Oauth directive
3 | * @author Morteza Tavanarad
4 | * @contributors []
5 | * @since 8/13/2016
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.pages.signin.components.oauth").directive("oauth", Oauth);
11 |
12 | function Oauth() {
13 | const directive = {
14 | restrict : "E",
15 | scope : { accountTokens: "=", },
16 | templateUrl : "js/pages/sign-in/components/oauth/oauth.template.html",
17 | controller : "OauthController",
18 | controllerAs : "vm",
19 | bindToController: true
20 | };
21 |
22 | return directive;
23 | }
24 | })();
25 |
--------------------------------------------------------------------------------
/www/js/pages/sign-in/components/oauth/oauth.module.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name Oauth module
3 | * @author Morteza Tavanarad
4 | * @contributors []
5 | * @since 8/13/2016
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.pages.signin.components.oauth", []);
11 | })();
12 |
--------------------------------------------------------------------------------
/www/js/pages/sign-in/components/oauth/oauth.template.html:
--------------------------------------------------------------------------------
1 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/www/js/pages/sign-in/sign-in.module.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name Singin Module
3 | * @author Morteza Tavanarad
4 | * @contributors []
5 | * @since 8/10/2016
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.pages.signin", ["binary.pages.signin.components", "binary.pages.signin.controllers"]);
11 |
12 | angular.module("binary.pages.signin.controllers", []);
13 |
14 | angular.module("binary.pages.signin.components", ["binary.pages.signin.components.oauth"]);
15 | })();
16 |
--------------------------------------------------------------------------------
/www/js/pages/statement/statement.filter.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name profit-table filter
3 | * @author Nazanin Reihani Haghighi
4 | * @contributors []
5 | * @since 08/14/2016
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.pages.statement.filters").filter("StatementDataFilter", StatementDataFilter);
11 |
12 | StatementDataFilter.$inject = ["$filter"];
13 |
14 | function StatementDataFilter(transactions, appID, appIdAllowed) {
15 | function DataChange(transactions, appID, appIdAllowed) {
16 | const filtered = [];
17 |
18 | transactions.forEach((value, i) => {
19 | const item = transactions[i];
20 | const itemId = item.app_id;
21 | if (appID === "allApps" || (appID === "tickTradeApp" && itemId === appIdAllowed.toString())) {
22 | filtered.push(item);
23 | }
24 | });
25 | return filtered;
26 | }
27 | return DataChange;
28 | }
29 | return StatementDataFilter;
30 | })();
31 |
--------------------------------------------------------------------------------
/www/js/pages/statement/statement.module.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name statement module
3 | * @author Nazanin Reihani Haghighi
4 | * @contributors []
5 | * @since 08/14/2016
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.pages.statement", ["binary.pages.statement.controllers", "binary.pages.statement.filters"]);
11 |
12 | angular.module("binary.pages.statement.controllers", []);
13 |
14 | angular.module("binary.pages.statement.filters", []);
15 | })();
16 |
--------------------------------------------------------------------------------
/www/js/pages/terms-and-conditions/terms-and-conditions.controller.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name accept terms and conditions controller
3 | * @author Nazanin Reihani Haghighi
4 | * @contributors []
5 | * @since 12/14/2016
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular
11 | .module("binary.pages.terms-and-conditions.controllers")
12 | .controller("TermsAndConditionsController", TermsAndConditions);
13 |
14 | TermsAndConditions.$inject = ["$scope", "$state", "websocketService", "alertService"];
15 |
16 | function TermsAndConditions($scope, $state, websocketService, alertService) {
17 | const vm = this;
18 | vm.data = {};
19 | vm.data.landingCompanyName = localStorage.getItem("landingCompanyName");
20 | vm.data.linkToTermAndConditions = `https://www.binary.com/${localStorage.getItem("language") ||
21 | "en"}/terms-and-conditions.html`;
22 |
23 | vm.updateUserTermsAndConditions = () =>
24 | websocketService.sendRequestFor.TAndCApprovalSend();
25 |
26 | vm.openTermsAndConditions = () => {
27 | window.open(vm.data.linkToTermAndConditions, "_blank");
28 | }
29 |
30 | $scope.$on("tnc_approval", (e, tnc_approval) => {
31 | if (tnc_approval === 1) {
32 | $state.go("trade");
33 | }
34 | });
35 |
36 | $scope.$on("tnc_approval:error", (e, error) => {
37 | alertService.displayError(error.message);
38 | });
39 | }
40 | })();
41 |
--------------------------------------------------------------------------------
/www/js/pages/terms-and-conditions/terms-and-conditions.module.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name accept terms and conditions module
3 | * @author Nazanin Reihani Haghighi
4 | * @contributors []
5 | * @since 12/14/2016
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.pages.terms-and-conditions", ["binary.pages.terms-and-conditions.controllers"]);
11 |
12 | angular.module("binary.pages.terms-and-conditions.controllers", []);
13 | })();
14 |
--------------------------------------------------------------------------------
/www/js/pages/terms-and-conditions/terms-and-conditions.template.html:
--------------------------------------------------------------------------------
1 |
2 |
26 |
27 |
--------------------------------------------------------------------------------
/www/js/pages/trade/components/chart/chart.directive.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name chart directive
3 | * @author Morteza Tavanarad
4 | * @contributors []
5 | * @since 08/29/2015
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.pages.trade.components.chart.directives").directive("bgChart", Chart);
11 |
12 | function Chart() {
13 | const directive = {
14 | restrict : "E",
15 | templateUrl : "js/pages/trade/components/chart/chart.template.html",
16 | controller : "ChartController",
17 | controllerAs : "vm",
18 | bindToController: true,
19 | scope : {
20 | proposal : "=",
21 | purchasedContract: "="
22 | }
23 | };
24 |
25 | return directive;
26 | }
27 | })();
28 |
--------------------------------------------------------------------------------
/www/js/pages/trade/components/chart/chart.module.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name chart module
3 | * @author morteza tavnarad
4 | * @contributors []
5 | * @since 08/29/2016
6 | * @copyright binary ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.pages.trade.components.chart", [
11 | "binary.pages.trade.components.chart.controllers",
12 | "binary.pages.trade.components.chart.directives",
13 | "binary.pages.trade.components.chart.services"
14 | ]);
15 |
16 | angular.module("binary.pages.trade.components.chart.controllers", []);
17 |
18 | angular.module("binary.pages.trade.components.chart.directives", []);
19 |
20 | angular.module("binary.pages.trade.components.chart.services", []);
21 | })();
22 |
--------------------------------------------------------------------------------
/www/js/pages/trade/components/chart/chart.template.html:
--------------------------------------------------------------------------------
1 |
16 |
--------------------------------------------------------------------------------
/www/js/pages/trade/components/chart/digit-result.controller.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name digit-result controller
3 | * @author Morteza Tavanarad
4 | * @contributors []
5 | * @since 10/01/2016
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.pages.trade.components.chart.controllers").controller("DigitResultController", Result);
11 |
12 | Result.$inject = ["$scope"];
13 |
14 | function Result($scope) {
15 | const vm = this;
16 |
17 | vm.spots = [];
18 | vm.reset = true;
19 | vm.counter = 0;
20 |
21 | $scope.$on("contract:spot", (e, contract, lastPrice) => {
22 | if (vm.reset) {
23 | // vm.spots = new Array(contract.duration+1).fill().map((e, i) => { return {}});
24 | vm.spots = new Array(contract.duration + 1);
25 | for (let i = 0; i < vm.spots.length; i++) {
26 | vm.spots[i] = {};
27 | }
28 | vm.reset = false;
29 | vm.counter = 0;
30 | }
31 |
32 | const localContract = _.clone(contract);
33 |
34 | $scope.$applyAsync(() => {
35 | vm.spots[vm.counter++] = {
36 | result: localContract.result,
37 | value : lastPrice.toString().slice(-1)
38 | };
39 | });
40 | });
41 |
42 | $scope.$on("contract:finished", (e, contract) => {
43 | vm.reset = true;
44 | });
45 | }
46 | })();
47 |
--------------------------------------------------------------------------------
/www/js/pages/trade/components/chart/digit-result.directive.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name digit-result directive
3 | * @author Morteza Tavanarad
4 | * @contributors []
5 | * @since 10/01/2016
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.pages.trade.components.chart.directives").directive("bgDigitResult", Result);
11 |
12 | function Result() {
13 | const directive = {
14 | restrict : "E",
15 | templateUrl : "js/pages/trade/components/chart/digit-result.template.html",
16 | controller : "DigitResultController",
17 | controllerAs : "vm",
18 | bindToController: true,
19 | scope : {}
20 | };
21 |
22 | return directive;
23 | }
24 | })();
25 |
--------------------------------------------------------------------------------
/www/js/pages/trade/components/chart/digit-result.template.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
5 |
8 | {{ spot.value }}
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/www/js/pages/trade/components/chart/tick-result.controller.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name tick result controller
3 | * @author Nazanin Reihani Haghighi
4 | * @contributors []
5 | * @since 06/30/2018
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.pages.trade.components.chart.controllers").controller("TickResultController", TickResult);
11 |
12 | TickResult.$inject = ["$scope"];
13 |
14 | function TickResult($scope) {
15 | const vm = this;
16 |
17 | vm.spots = [];
18 | vm.reset = true;
19 | vm.counter = 0;
20 | vm.selectedTick = 0;
21 |
22 | $scope.$on("contract:spot", (e, contract, lastPrice) => {
23 | if (vm.reset) {
24 | vm.spots = new Array(contract.duration + 1);
25 | _.map(vm.spots, (val, i) => {
26 | vm.spots[i] = {}
27 | });
28 | vm.reset = false;
29 | vm.counter = 0;
30 | }
31 | const localContract = _.clone(contract);
32 |
33 | $scope.$applyAsync(() => {
34 | vm.selectedTick = contract.selectedTick - 1;
35 | if (vm.counter < vm.spots.length) {
36 | vm.spots[vm.counter++] = {
37 | result: localContract.result,
38 | value : lastPrice
39 | };
40 | }
41 | });
42 | });
43 |
44 | $scope.$on("contract:finished", (e, contract) => {
45 | vm.reset = true;
46 | });
47 | }
48 | })();
49 |
--------------------------------------------------------------------------------
/www/js/pages/trade/components/chart/tick-result.directive.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name tick result directive
3 | * @author Nazanin Reihani Haghighi
4 | * @contributors []
5 | * @since 06/30/2018
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.pages.trade.components.chart.directives").directive("bgTickResult", TickResult);
11 |
12 | function TickResult() {
13 | const directive = {
14 | restrict : "E",
15 | templateUrl : "js/pages/trade/components/chart/tick-result.template.html",
16 | controller : "TickResultController",
17 | controllerAs : "vm",
18 | bindToController: true,
19 | scope : {}
20 | };
21 |
22 | return directive;
23 | }
24 | })();
25 |
--------------------------------------------------------------------------------
/www/js/pages/trade/components/chart/tick-result.template.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
5 |
6 |
7 |
8 | {{ 'trade.tick' | translate }} {{ $index + 1}}
9 |
10 |
11 |
12 |
13 | {{ spot.value }}
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/www/js/pages/trade/components/longcode/longcode.controller.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name longcode controller
3 | * @author Morteza Tavnarad
4 | * @contributors []
5 | * @since 09/27/2016
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.pages.trade.components.longcode.controllers").controller("LongcodeController", Longcode);
11 |
12 | function Longcode() {
13 | const vm = this;
14 | }
15 | })();
16 |
--------------------------------------------------------------------------------
/www/js/pages/trade/components/longcode/longcode.directive.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name longcode direciive
3 | * @author Morteza Tavnarad
4 | * @contributors []
5 | * @since 09/27/2016
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.pages.trade.components.longcode.directives").directive("bgLongcode", Longcode);
11 |
12 | function Longcode() {
13 | const direciive = {
14 | restrict : "E",
15 | templateUrl : "js/pages/trade/components/longcode/longcode.template.html",
16 | controller : "LongcodeController",
17 | controllerAs : "vm",
18 | bindToController: true,
19 | scope : {
20 | purchasedContract: "="
21 | }
22 | };
23 |
24 | return direciive;
25 | }
26 | })();
27 |
--------------------------------------------------------------------------------
/www/js/pages/trade/components/longcode/longcode.module.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name longcode module
3 | * @author Morteza Tavnarad
4 | * @contributors []
5 | * @since 09/22/2016
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.pages.trade.components.longcode", [
11 | "binary.pages.trade.components.longcode.controllers",
12 | "binary.pages.trade.components.longcode.directives"
13 | ]);
14 |
15 | angular.module("binary.pages.trade.components.longcode.controllers", []);
16 |
17 | angular.module("binary.pages.trade.components.longcode.directives", []);
18 | })();
19 |
--------------------------------------------------------------------------------
/www/js/pages/trade/components/longcode/longcode.template.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {{ vm.purchasedContract.longcode }}
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/www/js/pages/trade/components/options/barrier.controller.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name barrier controller
3 | * @author Morteza Tavnarad
4 | * @contributors []
5 | * @since 09/19/2016
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.pages.trade.components.options.controllers").controller("BarrierController", Barrier);
11 |
12 | Barrier.$inject = ['proposalService'];
13 |
14 | function Barrier(proposalService) {
15 | const vm = this;
16 | const pattern = /[+,-]\d+(\.\d{1,5})?|\d+(\.\d{1,5})?/;
17 | vm.regex = "^([+,-]?(\\d+)?(\\.)?\\d*)$";
18 |
19 | vm.changeBarrier = () => {
20 | proposalService.setPropertyValue('barrier', vm.proposal.barrier);
21 | };
22 | }
23 | })();
24 |
--------------------------------------------------------------------------------
/www/js/pages/trade/components/options/barrier.directive.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name barrier directive
3 | * @author Morteza Tavnarad
4 | * @contributors []
5 | * @since 09/19/2016
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.pages.trade.components.options.directives").directive("bgBarrier", Barrier);
11 |
12 | function Barrier() {
13 | const directive = {
14 | restrict : "E",
15 | templateUrl : "js/pages/trade/components/options/barrier.template.html",
16 | controller : "BarrierController",
17 | controllerAs : "vm",
18 | bindToController: true,
19 | scope : {
20 | proposal: "="
21 | }
22 | };
23 |
24 | return directive;
25 | }
26 | })();
27 |
--------------------------------------------------------------------------------
/www/js/pages/trade/components/options/barrier.template.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {{ 'trade.barrier' | translate }}
5 |
6 |
7 |
11 |
12 |
13 | {{ vm.spot }}
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/www/js/pages/trade/components/options/digits.controller.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name digits controller
3 | * @author Morteza Tavnarad
4 | * @contributors []
5 | * @since 08/26/2016
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.pages.trade.components.options.controllers").controller("DigitsController", Digits);
11 |
12 | Digits.$inject = [];
13 |
14 | function Digits() {
15 | const vm = this;
16 |
17 | vm.digits = [];
18 |
19 | vm.selectDigit = function(digit) {
20 | vm.select()(digit);
21 | };
22 |
23 | function init() {
24 | const tradeTypes = JSON.parse(sessionStorage.tradeTypes)[vm.tradeType];
25 | vm.digits = _.union(tradeTypes[0].last_digit_range, tradeTypes[1].last_digit_range);
26 | }
27 |
28 | init();
29 | }
30 | })();
31 |
--------------------------------------------------------------------------------
/www/js/pages/trade/components/options/digits.directive.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name digits directvie
3 | * @author Morteza Tavnarad
4 | * @contributors []
5 | * @since 08/26/2016
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.pages.trade.components.options.directives").directive("bgDigits", Digits);
11 |
12 | function Digits() {
13 | const directive = {
14 | restrict : "E",
15 | templateUrl : "js/pages/trade/components/options/digits.template.html",
16 | controller : "DigitsController",
17 | controllerAs : "vm",
18 | bindToController: true,
19 | scope : {
20 | select : "&",
21 | tradeType: "="
22 | }
23 | };
24 |
25 | return directive;
26 | }
27 | })();
28 |
--------------------------------------------------------------------------------
/www/js/pages/trade/components/options/digits.template.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/www/js/pages/trade/components/options/markets.controller.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name markets controller
3 | * @author Morteza Tavnarad
4 | * @contributors []
5 | * @since 08/20/2016
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.pages.trade.components.options.controllers").controller("MarketsController", Markets);
11 |
12 | Markets.$inject = ["$scope", "websocketService"];
13 |
14 | function Markets($scope, websocketService) {
15 | const vm = this;
16 | vm.markets = {};
17 |
18 | function init() {
19 | if (_.isEmpty(sessionStorage.markets)) {
20 | setTimeout(init, 500);
21 | return;
22 | }
23 |
24 | $scope.$applyAsync(() => {
25 | vm.markets = JSON.parse(sessionStorage.markets);
26 | });
27 | }
28 |
29 | vm.selectMarket = function(market) {
30 | vm.select()(market);
31 | };
32 |
33 | init();
34 | }
35 | })();
36 |
--------------------------------------------------------------------------------
/www/js/pages/trade/components/options/markets.directive.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name markets directive
3 | * @author Morteza Tavnarad
4 | * @contributors []
5 | * @since 08/20/2016
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.pages.trade.components.options.directives").directive("bgMarkets", Markets);
11 |
12 | function Markets() {
13 | const directive = {
14 | restrict : "E",
15 | templateUrl : "js/pages/trade/components/options/markets.template.html",
16 | controller : "MarketsController",
17 | controllerAs : "vm",
18 | bindToController: true,
19 | scope : {
20 | select: "&"
21 | }
22 | };
23 |
24 | return directive;
25 | }
26 | })();
27 |
--------------------------------------------------------------------------------
/www/js/pages/trade/components/options/markets.template.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/www/js/pages/trade/components/options/options.directive.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name options directive
3 | * @author Morteza Tavnarad
4 | * @contributors []
5 | * @since 08/21/2016
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.pages.trade.components.options.directives").directive("bgOptions", Options);
11 |
12 | function Options() {
13 | const directive = {
14 | restrict : "E",
15 | templateUrl : "js/pages/trade/components/options/options.template.html",
16 | controller : "OptionsController",
17 | controllerAs : "vm",
18 | bindToController: true,
19 | scope : {
20 | proposal: "="
21 | }
22 | };
23 |
24 | return directive;
25 | }
26 | })();
27 |
--------------------------------------------------------------------------------
/www/js/pages/trade/components/options/options.module.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name options module
3 | * @author Morteza Tavnarad
4 | * @contributors []
5 | * @since 08/21/2016
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.pages.trade.components.options", [
11 | "binary.pages.trade.components.options.controllers",
12 | "binary.pages.trade.components.options.directives",
13 | "binary.pages.trade.components.options.services"
14 | ]);
15 |
16 | angular.module("binary.pages.trade.components.options.controllers", []);
17 |
18 | angular.module("binary.pages.trade.components.options.directives", []);
19 |
20 | angular.module("binary.pages.trade.components.options.services", []);
21 | })();
22 |
--------------------------------------------------------------------------------
/www/js/pages/trade/components/options/options.service.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name options service
3 | * @author Morteza Tavnarad
4 | * @contributors []
5 | * @since 08/31/2016
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.pages.trade.components.options.services").factory("optionsService", Options);
11 |
12 | function Options() {
13 | const factory = {};
14 |
15 | factory.get = function() {
16 | if (_.isEmpty(localStorage.options)) {
17 | return null;
18 | }
19 |
20 | return JSON.parse(localStorage.options);
21 | };
22 |
23 | factory.set = function(options) {
24 | if (!_.isEmpty(options)) {
25 | localStorage.options = JSON.stringify(options);
26 | return true;
27 | }
28 |
29 | return false;
30 | };
31 |
32 | return factory;
33 | }
34 | })();
35 |
--------------------------------------------------------------------------------
/www/js/pages/trade/components/options/selected-tick.controller.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name selected tick controller
3 | * @author Nazanin Reihani Haghighi
4 | * @contributors []
5 | * @since 06/23/2018
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.pages.trade.components.options.controllers").controller("SelectedTickController", SelectedTick);
11 |
12 | SelectedTick.$inject = [];
13 |
14 | function SelectedTick() {
15 | const vm = this;
16 |
17 | vm.selectableTicksRange = [];
18 |
19 | vm.selectSelectedTick = selectedTick => {
20 | vm.select()(selectedTick);
21 | };
22 |
23 | const init = () => {
24 | if (!_.isEmpty(sessionStorage.tradeTypes)) {
25 | const tick = vm.tick ? parseInt(vm.tick) : 0;
26 | vm.selectableTicksRange = _.range(1, tick + 1);
27 | } else {
28 | setTimeout(init, 5);
29 | }
30 | }
31 |
32 | init();
33 | }
34 | })();
35 |
--------------------------------------------------------------------------------
/www/js/pages/trade/components/options/selected-tick.directive.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name selected tick directvie
3 | * @author Nazanin Reihani Haghighi
4 | * @contributors []
5 | * @since 06/23/2016
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.pages.trade.components.options.directives").directive("bgSelectedTick", SelectedTick);
11 |
12 | function SelectedTick() {
13 | const directive = {
14 | restrict : "E",
15 | templateUrl : "js/pages/trade/components/options/selected-tick.template.html",
16 | controller : "SelectedTickController",
17 | controllerAs : "vm",
18 | bindToController: true,
19 | scope : {
20 | select: "&",
21 | tick : "="
22 | }
23 | };
24 |
25 | return directive;
26 | }
27 | })();
--------------------------------------------------------------------------------
/www/js/pages/trade/components/options/selected-tick.template.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/www/js/pages/trade/components/options/ticks.controller.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name ticks directive
3 | * @author Morteza Tavnarad
4 | * @contributors []
5 | * @since 08/26/2016
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.pages.trade.components.options.controllers").controller("TicksController", Ticks);
11 |
12 | Ticks.$inject = [];
13 |
14 | function Ticks() {
15 | const vm = this;
16 |
17 | let min = 0;
18 | let max = 0;
19 | vm.tickRange = [];
20 |
21 | vm.selectTick = tick => {
22 | vm.select()(tick);
23 | };
24 |
25 | const getTickValue = tick => tick.slice(0, -1);
26 |
27 | const init = () => {
28 | if (!_.isEmpty(sessionStorage.tradeTypes)) {
29 | const tradeType = JSON.parse(sessionStorage.tradeTypes)[vm.tradeType][0];
30 | min = parseInt(getTickValue(tradeType.min_contract_duration));
31 | max = parseInt(getTickValue(tradeType.max_contract_duration));
32 | vm.tickRange = _.range(min, max + 1);
33 | } else {
34 | setTimeout(init, 5);
35 | }
36 | };
37 |
38 | init();
39 | }
40 | })();
41 |
--------------------------------------------------------------------------------
/www/js/pages/trade/components/options/ticks.directive.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name ticks directive
3 | * @author Morteza Tavnarad
4 | * @contributors []
5 | * @since 08/26/2016
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.pages.trade.components.options.directives").directive("bgTicks", Ticks);
11 |
12 | function Ticks() {
13 | const directive = {
14 | restrict : "E",
15 | templateUrl : "js/pages/trade/components/options/ticks.template.html",
16 | controller : "TicksController",
17 | controllerAs : "vm",
18 | bindToController: true,
19 | scope : {
20 | select : "&",
21 | tradeType: "="
22 | }
23 | };
24 |
25 | return directive;
26 | }
27 | })();
28 |
--------------------------------------------------------------------------------
/www/js/pages/trade/components/options/ticks.template.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/www/js/pages/trade/components/options/trade-types.controller.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name trayeTypes directive
3 | * @author Morteza Tavnarad
4 | * @contributors []
5 | * @since 08/24/2016
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.pages.trade.components.options.controllers").controller("TradeTypesController", TradeTypes);
11 |
12 | TradeTypes.$inject = [];
13 |
14 | function TradeTypes() {
15 | const vm = this;
16 |
17 | vm.tradeTypes = {};
18 | vm.supportedTradeTypes = [];
19 |
20 | vm.selectTradeType = function(tradeType) {
21 | vm.select()(tradeType);
22 | };
23 |
24 | vm.getLanguageId = function (title) {
25 | return `options.${title.replace(/[\s,/]/g, '_').toLowerCase()}`;
26 | }
27 |
28 | function init() {
29 | vm.tradeTypes = JSON.parse(sessionStorage.tradeTypes);
30 | }
31 |
32 | init();
33 | }
34 | })();
35 |
--------------------------------------------------------------------------------
/www/js/pages/trade/components/options/trade-types.directive.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name trayeTypes directive
3 | * @author Morteza Tavnarad
4 | * @contributors []
5 | * @since 08/24/2016
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.pages.trade.components.options.directives").directive("bgTradetypes", TradeTypes);
11 |
12 | function TradeTypes() {
13 | const directive = {
14 | restrict : "E",
15 | templateUrl : "js/pages/trade/components/options/trade-types.template.html",
16 | controller : "TradeTypesController",
17 | controllerAs : "vm",
18 | bindToController: true,
19 | scope : {
20 | select: "&"
21 | }
22 | };
23 |
24 | return directive;
25 | }
26 | })();
27 |
--------------------------------------------------------------------------------
/www/js/pages/trade/components/options/trade-types.template.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/www/js/pages/trade/components/options/underlyings.controller.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name underlyings controller
3 | * @author Morteza Tavnarad
4 | * @contributors []
5 | * @since 08/25/2016
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.pages.trade.components.options.controllers").controller("UnderlyingsController", Underlying);
11 |
12 | Underlying.$inject = [];
13 |
14 | function Underlying() {
15 | const vm = this;
16 | vm.underlyings = [];
17 |
18 | vm.selectUnderlying = function(underlying) {
19 | vm.select()(underlying);
20 | };
21 |
22 | function init() {
23 | vm.underlyings = vm.market.underlying;
24 | }
25 |
26 | init();
27 | }
28 | })();
29 |
--------------------------------------------------------------------------------
/www/js/pages/trade/components/options/underlyings.directive.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name underlyings directive
3 | * @author Morteza Tavnarad
4 | * @contributors []
5 | * @since 08/25/2016
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.pages.trade.components.options.directives").directive("bgUnderlyings", Underlying);
11 |
12 | function Underlying() {
13 | const directive = {
14 | restrict : "E",
15 | templateUrl : "js/pages/trade/components/options/underlyings.template.html",
16 | controller : "UnderlyingsController",
17 | controllerAs : "vm",
18 | bindToController: true,
19 | scope : {
20 | market: "=",
21 | select: "&"
22 | }
23 | };
24 |
25 | return directive;
26 | }
27 | })();
28 |
--------------------------------------------------------------------------------
/www/js/pages/trade/components/options/underlyings.template.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/www/js/pages/trade/components/payout/payout.directive.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name payout directive
3 | * @author Morteza Tavnarad
4 | * @contributors []
5 | * @since 08/27/2016
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.pages.trade.components.payout.directives").directive("bgPayout", Payout);
11 |
12 | function Payout() {
13 | const directive = {
14 | restrict : "E",
15 | templateUrl : "js/pages/trade/components/payout/payout.template.html",
16 | controller : "PayoutController",
17 | controllerAs : "vm",
18 | bindToController: true,
19 | scope : {
20 | proposal: "="
21 | }
22 | };
23 |
24 | return directive;
25 | }
26 | })();
27 |
--------------------------------------------------------------------------------
/www/js/pages/trade/components/payout/payout.module.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name payout module
3 | * @author Morteza Tavnarad
4 | * @contributors []
5 | * @since 08/27/2016
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.pages.trade.components.payout", [
11 | "binary.pages.trade.components.payout.controllers",
12 | "binary.pages.trade.components.payout.directives"
13 | ]);
14 |
15 | angular.module("binary.pages.trade.components.payout.controllers", []);
16 |
17 | angular.module("binary.pages.trade.components.payout.directives", []);
18 | })();
19 |
--------------------------------------------------------------------------------
/www/js/pages/trade/components/payout/payout.template.html:
--------------------------------------------------------------------------------
1 |
36 |
--------------------------------------------------------------------------------
/www/js/pages/trade/components/purchase/contract-summary.controller.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name contract-summary controller
3 | * @author Morteza Tavnarad
4 | * @contributors []
5 | * @since 09/07/2016
6 | * @copyright binary ltd
7 | */
8 |
9 | (function() {
10 | angular
11 | .module("binary.pages.trade.components.purchase.controllers")
12 | .controller("ContractSummaryController", Summary);
13 |
14 | Summary.$inject = ['$scope', 'appStateService'];
15 |
16 | function Summary($scope, appStateService) {
17 | const vm = this;
18 | vm.currencyType = 'fiat';
19 | let currency = sessionStorage.getItem('currency');
20 | let currencyConfig = appStateService.currenciesConfig[currency];
21 |
22 | if (currencyConfig) {
23 | vm.currencyType = currencyConfig.type;
24 | }
25 |
26 | $scope.$watch(
27 | () => vm.proposal,
28 | () => {
29 | currency = sessionStorage.getItem('currency');
30 | currencyConfig = appStateService.currenciesConfig[currency];
31 | if (currencyConfig) {
32 | vm.currencyType = currencyConfig.type;
33 | }
34 | }
35 | );
36 | }
37 | })();
38 |
--------------------------------------------------------------------------------
/www/js/pages/trade/components/purchase/contract-summary.directive.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name contract-summary directive
3 | * @author Morteza Tavnarad
4 | * @contributors []
5 | * @since 09/07/2016
6 | * @copyright binary ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.pages.trade.components.purchase.directives").directive("bgContractSummary", Summary);
11 |
12 | function Summary() {
13 | const directive = {
14 | restrict : "E",
15 | templateUrl : "js/pages/trade/components/purchase/contract-summary.template.html",
16 | controller : "ContractSummaryController",
17 | controllerAs : "vm",
18 | bindToController: true,
19 | scope : {
20 | proposal : "=",
21 | purchasedContract: "="
22 | }
23 | };
24 |
25 | return directive;
26 | }
27 | })();
28 |
--------------------------------------------------------------------------------
/www/js/pages/trade/components/purchase/purchase.directive.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name purchase directive
3 | * @author morteza tavnarad
4 | * @contributors []
5 | * @since 08/27/2016
6 | * @copyright binary ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.pages.trade.components.purchase.directives").directive("bgPurchase", Purchase);
11 |
12 | function Purchase() {
13 | const directive = {
14 | restrict : "E",
15 | templateUrl : "js/pages/trade/components/purchase/purchase.template.html",
16 | controller : "PurchaseController",
17 | controllerAs : "vm",
18 | bindToController: true,
19 | scope : {
20 | proposal : "=",
21 | purchasedContract: "=",
22 | showSummary : "=inPurchaseMode"
23 | }
24 | };
25 |
26 | return directive;
27 | }
28 | })();
29 |
--------------------------------------------------------------------------------
/www/js/pages/trade/components/purchase/purchase.module.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name purchase module
3 | * @author Morteza Tavnarad
4 | * @contributors []
5 | * @since 08/27/2016
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.pages.trade.components.purchase", [
11 | "binary.pages.trade.components.purchase.controllers",
12 | "binary.pages.trade.components.purchase.directives"
13 | ]);
14 |
15 | angular.module("binary.pages.trade.components.purchase.controllers", []);
16 |
17 | angular.module("binary.pages.trade.components.purchase.directives", []);
18 | })();
19 |
--------------------------------------------------------------------------------
/www/js/pages/trade/trade.module.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name options controller
3 | * @author Morteza Tavnarad
4 | * @contributors []
5 | * @since 08/21/2016
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.pages.trade", [
11 | "binary.pages.trade.components",
12 | "binary.pages.trade.controllers",
13 | "binary.pages.trade.services"
14 | ]);
15 |
16 | angular.module("binary.pages.trade.components", [
17 | "binary.pages.trade.components.options",
18 | "binary.pages.trade.components.chart",
19 | "binary.pages.trade.components.payout",
20 | "binary.pages.trade.components.purchase",
21 | "binary.pages.trade.components.longcode"
22 | ]);
23 |
24 | angular.module("binary.pages.trade.controllers", []);
25 |
26 | angular.module("binary.pages.trade.services", []);
27 | })();
28 |
--------------------------------------------------------------------------------
/www/js/pages/trade/trade.service.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name trade save
3 | * @author Morteza Tavnarad
4 | * @contributors []
5 | * @since 08/27/2016
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.pages.trade.services").factory("tradeService", Trade);
11 |
12 | function Trade() {
13 | const factory = {};
14 |
15 | factory.proposalIsReady = false;
16 |
17 | return factory;
18 | }
19 | })();
20 |
--------------------------------------------------------------------------------
/www/js/pages/trade/trade.template.html:
--------------------------------------------------------------------------------
1 |
2 |
20 |
21 |
--------------------------------------------------------------------------------
/www/js/pages/trading-times/trading-times.module.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name Trading Times module
3 | * @author Nazanin Reihani Haghighi
4 | * @contributors []
5 | * @since 01/24/2017
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.pages.trading-times", ["binary.pages.trading-times.controllers"]);
11 |
12 | angular.module("binary.pages.trading-times.controllers", []);
13 | })();
14 |
--------------------------------------------------------------------------------
/www/js/pages/transaction-detail/transaction-detail.module.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name transaction-detail module
3 | * @author Nazanin Reihani Haghighi
4 | * @contributors []
5 | * @since 08/14/2016
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.pages.transaction-detail", ["binary.pages.transaction-detail.controllers"]);
11 |
12 | angular.module("binary.pages.transaction-detail.controllers", []);
13 | })();
14 |
--------------------------------------------------------------------------------
/www/js/pages/update/update.module.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name update module
3 | * @author Morteza Tavanarad
4 | * @contributors []
5 | * @since 12/26/2015
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.pages.update", ["binary.pages.update.controllers"]);
11 |
12 | angular.module("binary.pages.update.controllers", []);
13 | })();
14 |
--------------------------------------------------------------------------------
/www/js/pages/update/update.template.html:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
{{ 'update.your_version_is_out_of_date_please_update' | translate }}
10 |
11 |
12 |
13 |
15 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/www/js/share/components/accounts/accounts.directive.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name accounts directive
3 | * @author Morteza Tavnarad
4 | * @contributors []
5 | * @since 08/15/2016
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.share.components.accounts.directives").directive("bgAccounts", Accounts);
11 |
12 | function Accounts() {
13 | const directive = {
14 | restrict : "E",
15 | templateUrl : "js/share/components/accounts/accounts.template.html",
16 | controller : "AccountsController",
17 | controllerAs : "vm",
18 | bindToContoller: true,
19 | scope : {}
20 | };
21 |
22 | return directive;
23 | }
24 | })();
25 |
--------------------------------------------------------------------------------
/www/js/share/components/accounts/accounts.module.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name accounts module
3 | * @author Morteza Tavnarad
4 | * @contributors []
5 | * @since 08/15/2016
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.share.components.accounts", [
11 | "binary.share.components.accounts.controllers",
12 | "binary.share.components.accounts.directives"
13 | ]);
14 |
15 | angular.module("binary.share.components.accounts.controllers", []);
16 |
17 | angular.module("binary.share.components.accounts.directives", []);
18 | })();
19 |
--------------------------------------------------------------------------------
/www/js/share/components/accounts/accounts.template.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
13 |
14 |
--------------------------------------------------------------------------------
/www/js/share/components/app-version/app-version.directive.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name app version directive
3 | * @author Nazanin Reihani Haghighi
4 | * @contributors []
5 | * @since 12/19/2016
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.share.components.app-version.directives").directive("bgAppVersion", AppVersion);
11 |
12 | function AppVersion() {
13 | const directive = {
14 | restrict : "E",
15 | templateUrl : "js/share/components/app-version/app-version.template.html",
16 | controller : "AppVersionController",
17 | controllerAs : "vm",
18 | bindToController: true,
19 | scope : {}
20 | };
21 | return directive;
22 | }
23 | })();
24 |
--------------------------------------------------------------------------------
/www/js/share/components/app-version/app-version.module.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name app version module
3 | * @author Nazanin Reihani Haghighi
4 | * @contributors []
5 | * @since 12/19/2016
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.share.components.app-version", [
11 | "binary.share.components.app-version.controllers",
12 | "binary.share.components.app-version.directives"
13 | ]);
14 |
15 | angular.module("binary.share.components.app-version.controllers", []);
16 |
17 | angular.module("binary.share.components.app-version.directives", []);
18 | })();
19 |
--------------------------------------------------------------------------------
/www/js/share/components/app-version/app-version.template.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | {{ 'app-version.version' | translate }} {{ vm.appVersion }}
4 |
5 |
6 |
--------------------------------------------------------------------------------
/www/js/share/components/app-version/test/app-version.controller.spec.js:
--------------------------------------------------------------------------------
1 | describe('app-version controller', () => {
2 |
3 | let $ionicPlatform;
4 | let $controller;
5 | let $rootScope;
6 | let $scope;
7 | let AppVersion;
8 |
9 | beforeEach(module('binary'));
10 |
11 | beforeEach(angular.mock.inject((_$controller_, _$rootScope_, _$ionicPlatform_) => {
12 | $ionicPlatform = _$ionicPlatform_;
13 | $controller = _$controller_;
14 | $rootScope = _$rootScope_;
15 | }));
16 |
17 | beforeEach(() => {
18 | $scope = $rootScope.$new();
19 | spyOn($ionicPlatform, 'ready').and.callThrough();
20 | AppVersion = $controller('AppVersionController', {
21 | $scope,
22 | $ionicPlatform,
23 | });
24 | });
25 |
26 | it ('should be defined', () => {
27 |
28 | expect(AppVersion).toBeDefined();
29 | });
30 |
31 | it ('vm.appVersion should be like x.y.z', () => {
32 | expect($ionicPlatform.ready).toHaveBeenCalled();
33 |
34 | expect(/\d+\.\d+\.\d+/.test(AppVersion.appVersion,)).toBeTruthy();
35 | });
36 | });
37 |
--------------------------------------------------------------------------------
/www/js/share/components/balance/balance.directive.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name balance directive
3 | * @author Morteza Tavnarad
4 | * @contributors []
5 | * @since 08/15/2016
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.share.components.balance.directives").directive("bgBalance", Balance);
11 |
12 | Balance.$inject = ["websocketService"];
13 |
14 | function Balance(websocketService) {
15 | const directive = {
16 | restrict : "E",
17 | templateUrl : "js/share/components/balance/balance.template.html",
18 | controller : "BalanceController",
19 | controllerAs : "vm",
20 | bindToController: true,
21 | scope : {
22 | proposal: "=?"
23 | },
24 | link
25 | };
26 |
27 | function link(scope, element, attributes, vm) {
28 | scope.$on("$destroy", () => {
29 | if (vm.balance && vm.balance.id) {
30 | websocketService.sendRequestFor.forgetStream(vm.balance.id);
31 | }
32 | });
33 | }
34 |
35 | return directive;
36 | }
37 | })();
38 |
--------------------------------------------------------------------------------
/www/js/share/components/balance/balance.module.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name balance module
3 | * @author Morteza Tavnarad
4 | * @contributors []
5 | * @since 08/15/2016
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.share.components.balance", [
11 | "binary.share.components.balance.directives",
12 | "binary.share.components.balance.controllers"
13 | ]);
14 |
15 | angular.module("binary.share.components.balance.controllers", []);
16 |
17 | angular.module("binary.share.components.balance.directives", []);
18 | })();
19 |
--------------------------------------------------------------------------------
/www/js/share/components/balance/balance.template.html:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 | {{vm.balance.balance | currency:vm.balance.currency:2}}
6 |
7 |
{{vm.balance.loginid}}
8 |
9 |
15 |
16 |
--------------------------------------------------------------------------------
/www/js/share/components/big-number/big-number.module.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name big number Module
3 | * @author Morteza Tavanarad
4 | * @contributors []
5 | * @since 06/09/2017
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.share.components.big-number", ["binary.share.components.big-number.directives"]);
11 |
12 | angular.module("binary.share.components.big-number.directives", []);
13 | })();
14 |
--------------------------------------------------------------------------------
/www/js/share/components/check-user-status/check-user-status.directive.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name Check User Status directive
3 | * @author Nazanin Reihani Haghighi
4 | * @contributors []
5 | * @since 02/15/2017
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular
11 | .module("binary.share.components.check-user-status.directives")
12 | .directive("bgCheckUserStatus", CheckUserStatus);
13 |
14 | function CheckUserStatus() {
15 | const directive = {
16 | restrict : "E",
17 | templateUrl : "js/share/components/check-user-status/check-user-status.template.html",
18 | controller : "CheckUserStatusController",
19 | controllerAs : "vm",
20 | bindToController: true,
21 | scope : {}
22 | };
23 | return directive;
24 | }
25 | })();
26 |
--------------------------------------------------------------------------------
/www/js/share/components/check-user-status/check-user-status.module.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name Check User Status module
3 | * @author Nazanin Reihani Haghighi
4 | * @contributors []
5 | * @since 02/15/2017
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.share.components.check-user-status", [
11 | "binary.share.components.check-user-status.controllers",
12 | "binary.share.components.check-user-status.directives"
13 | ]);
14 |
15 | angular.module("binary.share.components.check-user-status.controllers", []);
16 |
17 | angular.module("binary.share.components.check-user-status.directives", []);
18 | })();
19 |
--------------------------------------------------------------------------------
/www/js/share/components/check-user-status/check-user-status.template.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/www/js/share/components/connectivity/connection-lost.controller.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name Connection Lost Controller
3 | * @author Morteza Tavanarad
4 | * @contributors []
5 | * @since 12/19/2016
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular
11 | .module("binary.share.components.connectivity.controllers")
12 | .controller("ConnectionLostController", ConnectionLost);
13 |
14 | ConnectionLost.$inject = ["$scope"];
15 |
16 | function ConnectionLost($scope) {
17 | const vm = this;
18 |
19 | vm.showMessage = false;
20 |
21 | $scope.$on("connection:ready", e => {
22 | $scope.$applyAsync(() => {
23 | vm.showMessage = false;
24 | });
25 | });
26 |
27 | $scope.$on("connection:error", (e, isSSLFailed) => {
28 | $scope.$applyAsync(() => {
29 | vm.showMessage = true;
30 |
31 | if (isSSLFailed ) {
32 | vm.message = 'app.ssl_cert_failed';
33 | } else {
34 | vm.message = 'app.connection_error';
35 | }
36 | });
37 | });
38 | }
39 | })();
40 |
--------------------------------------------------------------------------------
/www/js/share/components/connectivity/connection-lost.directive.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name Connection Lost directive
3 | * @author Morteza Tavanarad
4 | * @contributors []
5 | * @since 12/19/2016
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.share.components.connectivity.directives").directive("bgConnectionLost", ConnectionLost);
11 |
12 | function ConnectionLost() {
13 | const directive = {
14 | restrict : "E",
15 | templateUrl : "js/share/components/connectivity/connection-lost.template.html",
16 | controller : "ConnectionLostController",
17 | controllerAs: "vm",
18 | scope : {}
19 | };
20 |
21 | return directive;
22 | }
23 | })();
24 |
--------------------------------------------------------------------------------
/www/js/share/components/connectivity/connection-lost.template.html:
--------------------------------------------------------------------------------
1 |
4 |
5 |
--------------------------------------------------------------------------------
/www/js/share/components/connectivity/connectivity.directive.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name Connectivity Directive
3 | * @author Morteza Tavanarad
4 | * @contributors []
5 | * @since 10/22/2016
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.share.components.connectivity.directives").directive("bgConnectivity", Connectivity);
11 |
12 | function Connectivity() {
13 | const directive = {
14 | restrict : "E",
15 | controller : "ConnectivityController",
16 | controllerAs : "vm",
17 | bindToController: true,
18 | scope : {}
19 | };
20 |
21 | return directive;
22 | }
23 | })();
24 |
--------------------------------------------------------------------------------
/www/js/share/components/connectivity/connectivity.module.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name Connectivity Module
3 | * @author Morteza Tavanarad
4 | * @contributors []
5 | * @since 10/22/2016
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.share.components.connectivity", [
11 | "binary.share.components.connectivity.controllers",
12 | "binary.share.components.connectivity.directives"
13 | ]);
14 |
15 | angular.module("binary.share.components.connectivity.controllers", []);
16 |
17 | angular.module("binary.share.components.connectivity.directives", []);
18 | })();
19 |
--------------------------------------------------------------------------------
/www/js/share/components/connectivity/connectivity.template.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |

5 |

6 |
7 |
8 | {{ 'connectivity.no_connection' | translate }}
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/www/js/share/components/header/header.directive.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name header directive
3 | * @author Morteza Tavnarad
4 | * @contributors []
5 | * @since 08/07/2016
6 | * @copyright Binary Ltd
7 | * Application Header
8 | */
9 |
10 | (function() {
11 | angular.module("binary.share.components").directive("bgHeader", Header);
12 |
13 | function Header() {
14 | const directive = {
15 | link,
16 | templateUrl : "js/share/components/header/header.template.html",
17 | retrict : "A",
18 | controller : "HeaderController",
19 | controllerAs : "vm",
20 | bindToController: true,
21 | scope : {
22 | spinLogo: "="
23 | }
24 | };
25 |
26 | function link() {}
27 |
28 | return directive;
29 | }
30 | })();
31 |
--------------------------------------------------------------------------------
/www/js/share/components/header/header.template.html:
--------------------------------------------------------------------------------
1 |
18 |
23 |
24 |
--------------------------------------------------------------------------------
/www/js/share/components/ios-pwa-prompt/ios-pwa-prompt.directive.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name iOS PWA Prompt Directive
3 | * @author Morteza Tavanarad
4 | * @contributors []
5 | * @since 03/11/2018
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular
11 | .module('binary.share.components.ios-pwa-prompt.directives')
12 | .directive('iosPwaPrompt', PWAPrompt);
13 |
14 | function PWAPrompt() {
15 | const directive = {
16 | restrict : 'E',
17 | controller : 'IosPwaPromptController',
18 | controllerAs : 'vm',
19 | bindToController: true,
20 | scope : {}
21 | };
22 |
23 | return directive;
24 | }
25 | })();
26 |
--------------------------------------------------------------------------------
/www/js/share/components/ios-pwa-prompt/ios-pwa-prompt.module.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name iOS PWA Prompt Module
3 | * @author Morteza Tavanarad
4 | * @contributors []
5 | * @since 03/11/2018
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular
11 | .module('binary.share.components.ios-pwa-prompt', [
12 | 'binary.share.components.ios-pwa-prompt.controllers',
13 | 'binary.share.components.ios-pwa-prompt.directives'
14 | ]);
15 |
16 | angular
17 | .module('binary.share.components.ios-pwa-prompt.controllers', []);
18 |
19 | angular
20 | .module('binary.share.components.ios-pwa-prompt.directives', []);
21 | })();
22 |
--------------------------------------------------------------------------------
/www/js/share/components/ios-pwa-prompt/ios-pwa-prompt.template.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |

5 |

6 |
7 |
8 |
9 |
10 |
11 | {{ "ios-pwa-prompt.installation_text" | translate }}
12 |
13 |
14 |
15 |
21 |
22 |
--------------------------------------------------------------------------------
/www/js/share/components/language/language-list.directive.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name language-list directive
3 | * @author Morteza Tavnarad
4 | * @contributors []
5 | * @since 10/13/2016
6 | * @copyright Binary Ltd
7 | * Application Header
8 | */
9 |
10 | (function() {
11 | angular.module("binary.share.components.language.directives").directive("bgLanguageList", LanguageList);
12 |
13 | function LanguageList() {
14 | const directive = {
15 | restrict : "E",
16 | templateUrl : "js/share/components/language/language-list.template.html",
17 | controller : "LanguageController",
18 | controllerAs: "vm",
19 | scope : {}
20 | };
21 |
22 | return directive;
23 | }
24 | })();
25 |
--------------------------------------------------------------------------------
/www/js/share/components/language/language-list.template.html:
--------------------------------------------------------------------------------
1 |
21 |
--------------------------------------------------------------------------------
/www/js/share/components/language/language.directive.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name language directive
3 | * @author Morteza Tavnarad
4 | * @contributors []
5 | * @since 08/14/2016
6 | * @copyright Binary Ltd
7 | * Application Header
8 | */
9 |
10 | (function() {
11 | angular.module("binary.share.components.language.directives").directive("language", Language);
12 |
13 | function Language() {
14 | const directive = {
15 | restrict : "E",
16 | templateUrl : "js/share/components/language/language.template.html",
17 | controller : "LanguageController",
18 | controllerAs : "vm",
19 | scope : {},
20 | bindToController: true
21 | };
22 |
23 | return directive;
24 | }
25 | })();
26 |
--------------------------------------------------------------------------------
/www/js/share/components/language/language.module.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name language module
3 | * @author Morteza Tavnarad
4 | * @contributors []
5 | * @since 08/14/2016
6 | * @copyright Binary Ltd
7 | * Application Header
8 | */
9 |
10 | (function() {
11 | angular.module("binary.share.components.language", [
12 | "binary.share.components.language.directives",
13 | "binary.share.components.language.controllers"
14 | ]);
15 |
16 | angular.module("binary.share.components.language.directives", []);
17 |
18 | angular.module("binary.share.components.language.controllers", []);
19 | })();
20 |
--------------------------------------------------------------------------------
/www/js/share/components/language/language.template.html:
--------------------------------------------------------------------------------
1 |
8 |
14 |
--------------------------------------------------------------------------------
/www/js/share/components/logout/logout.controller.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name logout controller
3 | * @author Nazanin Reihani Haghighi
4 | * @contributors []
5 | * @since 08/15/2016
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.share.components.logout.controllers").controller("LogoutController", Logout);
11 |
12 | Logout.$inject = ["websocketService", "alertService"];
13 |
14 | function Logout(websocketService, alertService) {
15 | const vm = this;
16 | vm.logout = function(res) {
17 | alertService.confirmRemoveAllAccount(res => {
18 | if (typeof res !== "boolean") {
19 | if (res === 1) res = true;
20 | else res = false;
21 | }
22 |
23 | if (res) {
24 | websocketService.logout();
25 | }
26 | });
27 | };
28 | }
29 | })();
30 |
--------------------------------------------------------------------------------
/www/js/share/components/logout/logout.directive.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name logout directive
3 | * @author Nazanin Reihani Haghighi
4 | * @contributors []
5 | * @since 08/14/2016
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.share.components.logout.directives").directive("bgLogout", Logout);
11 |
12 | function Logout() {
13 | const directive = {
14 | restrict : "E",
15 | templateUrl : "js/share/components/logout/logout.template.html",
16 | controller : "LogoutController",
17 | controllerAs : "vm",
18 | bindToController: true,
19 | scope : {}
20 | };
21 | return directive;
22 | }
23 | })();
24 |
--------------------------------------------------------------------------------
/www/js/share/components/logout/logout.module.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name logout module
3 | * @author
4 | * @contributors []
5 | * @since 08/14/2016
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.share.components.logout", [
11 | "binary.share.components.logout.controllers",
12 | "binary.share.components.logout.directives"
13 | ]);
14 |
15 | angular.module("binary.share.components.logout.controllers", []);
16 |
17 | angular.module("binary.share.components.logout.directives", []);
18 | })();
19 |
--------------------------------------------------------------------------------
/www/js/share/components/logout/logout.template.html:
--------------------------------------------------------------------------------
1 |
2 | {{'app.sign_out' | translate}}
3 |
4 |
--------------------------------------------------------------------------------
/www/js/share/components/long-press/long-press.module.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name long-press module
3 | * @author Morteza Tavnarad
4 | * @contributors []
5 | * @since 09/05/2016
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.share.components.long-press", ["binary.share.components.long-press.directives"]);
11 |
12 | angular.module("binary.share.components.long-press.directives", []);
13 | })();
14 |
--------------------------------------------------------------------------------
/www/js/share/components/notification-icon/notification-icon.controller.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name Notification Icon controller
3 | * @author Nazanin Reihani Haghighi
4 | * @contributors []
5 | * @since 05/03/2017
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular
11 | .module("binary.share.components.notification-icon.controllers")
12 | .controller("NotificationIconController", NotificationIcon);
13 |
14 | NotificationIcon.$inject = ["$scope", "$state", "$ionicHistory", "notificationService", "appStateService"];
15 |
16 | function NotificationIcon($scope, $state, $ionicHistory, notificationService, appStateService) {
17 | const vm = this;
18 | $scope.$watch(
19 | () => notificationService.notices,
20 | () => {
21 | vm.notices = notificationService.notices;
22 | }
23 | );
24 |
25 | $scope.$watch(
26 | () => appStateService.purchaseMode,
27 | () => {
28 | vm.disableMenuButton = appStateService.purchaseMode;
29 | }
30 | );
31 |
32 | vm.goToNotifications = function() {
33 | if ($state.current.name === "notifications") {
34 | $ionicHistory.goBack();
35 | } else {
36 | $state.go("notifications");
37 | }
38 | };
39 | }
40 | })();
41 |
--------------------------------------------------------------------------------
/www/js/share/components/notification-icon/notification-icon.directive.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name Notification Icon directive
3 | * @author Nazanin Reihani Haghighi
4 | * @contributors []
5 | * @since 05/03/2017
6 | * @copyright Binary Ltd
7 | * Application NotificationIcon
8 | */
9 |
10 | (function() {
11 | angular
12 | .module("binary.share.components.notification-icon.directives")
13 | .directive("bgNotificationIcon", NotificationIcon);
14 |
15 | function NotificationIcon() {
16 | const directive = {
17 | restrict : "E",
18 | templateUrl : "js/share/components/notification-icon/notification-icon.template.html",
19 | controller : "NotificationIconController",
20 | controllerAs : "vm",
21 | scope : {},
22 | bindToController: true
23 | };
24 |
25 | return directive;
26 | }
27 | })();
28 |
--------------------------------------------------------------------------------
/www/js/share/components/notification-icon/notification-icon.module.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name Notification Icon module
3 | * @author Nazanin Reihani Haghighi
4 | * @contributors []
5 | * @since 05/03/2017
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.share.components.notification-icon", [
11 | "binary.share.components.notification-icon.controllers",
12 | "binary.share.components.notification-icon.directives"
13 | ]);
14 |
15 | angular.module("binary.share.components.notification-icon.controllers", []);
16 |
17 | angular.module("binary.share.components.notification-icon.directives", []);
18 | })();
19 |
--------------------------------------------------------------------------------
/www/js/share/components/notification-icon/notification-icon.template.html:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/www/js/share/components/number/number.directive.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name number directive
3 | * @author Morteza Tavanarad
4 | * @contributors []
5 | * @since 12/02/2016
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.share.components.number.directives").directive("bgNumber", BgNumber);
11 |
12 | function BgNumber() {
13 | const directive = {
14 | restrict: "A",
15 | require : "?ngModel",
16 | link
17 | };
18 |
19 | function link(scope, element, attrs, ngModel) {
20 | if (ngModel) {
21 | // remove all default angular's validator for input[number]
22 | ngModel.$formatters = [];
23 | ngModel.$parsers = [];
24 |
25 | ngModel.$formatters.push(modelValue => {
26 | if(ngModel.$isEmpty(modelValue)) {
27 | return null;
28 | }
29 | return modelValue;
30 | });
31 |
32 | ngModel.$parsers.push(viewValue => {
33 | if(ngModel.$isEmpty(viewValue)) {
34 | return null;
35 | }
36 | return viewValue;
37 | });
38 | }
39 | }
40 |
41 | return directive;
42 | }
43 | })();
44 |
--------------------------------------------------------------------------------
/www/js/share/components/number/number.module.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name number Module
3 | * @author Morteza Tavanarad
4 | * @contributors []
5 | * @since 12/02/2016
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.share.components.number", ["binary.share.components.number.directives"]);
11 |
12 | angular.module("binary.share.components.number.directives", []);
13 | })();
14 |
--------------------------------------------------------------------------------
/www/js/share/components/ping/ping.controller.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name ping controller
3 | * @author Morteza Tavnarad
4 | * @contributors []
5 | * @since 08/14/2016
6 | * @copyright Binary Ltd
7 | * Application Header
8 | */
9 |
10 | (function() {
11 | angular.module("binary.share.components.ping.controllers").controller("PingController", Ping);
12 |
13 | Ping.$inject = ["$timeout", "appStateService", "websocketService"];
14 |
15 | function Ping($timeout, appStateService, websocketService) {
16 | function init() {
17 | ping();
18 | }
19 |
20 | function ping() {
21 | if (appStateService.isLoggedin) {
22 | websocketService.sendRequestFor.ping();
23 | }
24 |
25 | $timeout(ping, 60000);
26 | }
27 |
28 | init();
29 | }
30 | })();
31 |
--------------------------------------------------------------------------------
/www/js/share/components/ping/ping.directive.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name ping directive
3 | * @author Morteza Tavnarad
4 | * @contributors []
5 | * @since 08/14/2016
6 | * @copyright Binary Ltd
7 | * Application Header
8 | */
9 |
10 | (function() {
11 | angular.module("binary.share.components.ping.directives").directive("ping", Ping);
12 |
13 | function Ping() {
14 | const directive = {
15 | restrict : "E",
16 | controller : "PingController",
17 | controllerAs: "vm",
18 | scope : {}
19 | };
20 |
21 | return directive;
22 | }
23 | })();
24 |
--------------------------------------------------------------------------------
/www/js/share/components/ping/ping.module.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name ping module
3 | * @author Morteza Tavnarad
4 | * @contributors []
5 | * @since 08/14/2016
6 | * @copyright Binary Ltd
7 | * Application Header
8 | */
9 |
10 | (function() {
11 | angular.module("binary.share.components.ping", [
12 | "binary.share.components.ping.controllers",
13 | "binary.share.components.ping.directives"
14 | ]);
15 |
16 | angular.module("binary.share.components.ping.controllers", []);
17 |
18 | angular.module("binary.share.components.ping.directives", []);
19 | })();
20 |
--------------------------------------------------------------------------------
/www/js/share/components/reality-check/interval-popup.template.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {{ 'reality-check.about' | translate }}
6 |
7 |
8 |
9 |
10 |
11 |
12 | {{ 'reality-check.interval_question' | translate }}
13 |
14 |
15 |
16 |
29 |
30 |
--------------------------------------------------------------------------------
/www/js/share/components/reality-check/reality-check.directive.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name reality-check directive
3 | * @author Nazanin Reihani Haghighi
4 | * @contributors []
5 | * @since 08/14/2016
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.share.components.reality-check.directives").directive("bgRealityCheck", RealityCheck);
11 |
12 | function RealityCheck() {
13 | const directive = {
14 | restrict : "E",
15 | templateUrl : "js/share/components/reality-check/reality-check.template.html",
16 | controller : "RealityCheckController",
17 | controllerAs : "vm",
18 | bindToController: true,
19 | scope : {}
20 | };
21 | return directive;
22 | }
23 | })();
24 |
--------------------------------------------------------------------------------
/www/js/share/components/reality-check/reality-check.module.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name reality-check module
3 | * @author Nazanin Reihani Haghighi
4 | * @contributors []
5 | * @since 08/14/2016
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.share.components.reality-check", [
11 | "binary.share.components.reality-check.controllers",
12 | "binary.share.components.reality-check.directives"
13 | ]);
14 |
15 | angular.module("binary.share.components.reality-check.controllers", []);
16 |
17 | angular.module("binary.share.components.reality-check.directives", []);
18 | })();
19 |
--------------------------------------------------------------------------------
/www/js/share/components/reality-check/reality-check.template.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/www/js/share/components/regex-validate/regex-validate.directive.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name bgRegexValidate directive
3 | * @author Morteza Tavnarad
4 | * @contributors []
5 | * @since 11/02/2016
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.share.components.regex-validate.directives").directive("bgRegexValidate", Validate);
11 |
12 | function Validate() {
13 | const directive = {
14 | restrict: "A",
15 | link,
16 | require : "ngModel",
17 | scope : {
18 | regex: "=bgRegexValidate"
19 | }
20 | };
21 |
22 | return directive;
23 |
24 | function link(scope, elements, attrs, ngModel) {
25 | scope.$watch(
26 | () => ngModel.$viewValue,
27 | (newVal, oldVal) => {
28 | if (_.isEmpty(scope.regex) || _.isEmpty(ngModel.$viewValue)) {
29 | return;
30 | }
31 |
32 | const regex = RegExp(scope.regex);
33 |
34 | if (!regex.test(ngModel.$viewValue)) {
35 | ngModel.$setViewValue(oldVal);
36 | ngModel.$render();
37 | } else {
38 | ngModel.$setViewValue(regex.exec(ngModel.$viewValue)[0]);
39 | ngModel.$render();
40 | }
41 | }
42 | );
43 | }
44 | }
45 | })();
46 |
--------------------------------------------------------------------------------
/www/js/share/components/regex-validate/regex-validate.module.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name Regex Validate Module
3 | * @author Morteza Tavnarad
4 | * @contributors []
5 | * @since 11/02/2016
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.share.components.regex-validate", ["binary.share.components.regex-validate.directives"]);
11 |
12 | angular.module("binary.share.components.regex-validate.directives", []);
13 | })();
14 |
--------------------------------------------------------------------------------
/www/js/share/components/service-outage/service-outage-page.controller.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name Service Outage Page Controller
3 | * @author Morteza Tavanarad
4 | * @contributors []
5 | * @since 05/06/2017
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular
11 | .module("binary.share.components.service-outage.controllers")
12 | .controller("ServiceOutagePageController", ServiceOutage);
13 |
14 | ServiceOutage.$inject = ["$stateParams"];
15 |
16 | function ServiceOutage($stateParams) {
17 | const vm = this;
18 |
19 | vm.message = $stateParams.message;
20 | }
21 | })();
22 |
--------------------------------------------------------------------------------
/www/js/share/components/service-outage/service-outage.directive.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name Service Outage directive
3 | * @author Morteza Tavanarad
4 | * @contributors []
5 | * @since 05/06/2017
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.share.components.service-outage.directives").directive("bgServiceOutage", ServiceOutage);
11 |
12 | function ServiceOutage() {
13 | const directive = {
14 | restrict : "E",
15 | scope : {},
16 | controller: "ServiceOutageController"
17 | };
18 |
19 | return directive;
20 | }
21 | })();
22 |
--------------------------------------------------------------------------------
/www/js/share/components/service-outage/service-outage.module.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name Service Outage Module
3 | * @author Morteza Tavanarad
4 | * @contributors []
5 | * @since 05/06/2017
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.share.components.service-outage", [
11 | "binary.share.components.service-outage.controllers",
12 | "binary.share.components.service-outage.directives"
13 | ]);
14 |
15 | angular.module("binary.share.components.service-outage.controllers", []);
16 |
17 | angular.module("binary.share.components.service-outage.directives", []);
18 | })();
19 |
--------------------------------------------------------------------------------
/www/js/share/components/service-outage/service-outage.template.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |

5 |

6 |
7 |
8 | {{ vm.message }}
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/www/js/share/components/side-menu/side-menu.directive.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name side-menu directive
3 | * @author Morteza Tavnarad
4 | * @contributors []
5 | * @since 08/08/2016
6 | * @copyright Binary Ltd
7 | * Application Side Menu
8 | */
9 |
10 | (function() {
11 | angular.module("binary.share.components").directive("bgSideMenu", SideMenu);
12 |
13 | function SideMenu() {
14 | const directive = {
15 | link,
16 | templateUrl: "js/share/components/side-menu/side-menu.template.html",
17 | retrict : "A",
18 | scope : {}
19 | };
20 |
21 | function link() {}
22 |
23 | return directive;
24 | }
25 | })();
26 |
--------------------------------------------------------------------------------
/www/js/share/components/side-menu/side-menu.template.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Content
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/www/js/share/components/spinner-logo/spinner-logo.controller.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name spinner-logo controller
3 | * @author Morteza Tavnarad
4 | * @contributors []
5 | * @since 08/17/2016
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.share.components.spinner-logo.controllers").controller("SpinnerLogoController", SpinnerLogo);
11 |
12 | SpinnerLogo.$inject = ["$scope"];
13 |
14 | function SpinnerLogo($scope) {
15 | const vm = this;
16 | vm.start = false;
17 |
18 | $scope.$on("spinner-logo:start", () => {
19 | vm.start = true;
20 | });
21 |
22 | $scope.$on("spinner-logo:stop", () => {
23 | vm.start = false;
24 | });
25 | }
26 | })();
27 |
--------------------------------------------------------------------------------
/www/js/share/components/spinner-logo/spinner-logo.directive.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name spinner-logo direcvtive
3 | * @author Morteza Tavnarad
4 | * @contributors []
5 | * @since 08/17/2016
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.share.components.spinner-logo.directives").directive("bgSpinnerLogo", SpinnerLogo);
11 |
12 | function SpinnerLogo() {
13 | const directive = {
14 | restrict : "E",
15 | templateUrl : "js/share/components/spinner-logo/spinner-logo.template.html",
16 | replace : true,
17 | controller : "SpinnerLogoController",
18 | controllerAs : "vm",
19 | bindToController: true,
20 | scope : {}
21 | };
22 |
23 | return directive;
24 | }
25 | })();
26 |
--------------------------------------------------------------------------------
/www/js/share/components/spinner-logo/spinner-logo.module.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name spinner-logo module
3 | * @author Morteza Tavnarad
4 | * @contributors []
5 | * @since 08/17/2016
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.share.components.spinner-logo", [
11 | "binary.share.components.spinner-logo.directives",
12 | "binary.share.components.spinner-logo.controllers"
13 | ]);
14 |
15 | angular.module("binary.share.components.spinner-logo.directives", []);
16 |
17 | angular.module("binary.share.components.spinner-logo.controllers", []);
18 | })();
19 |
--------------------------------------------------------------------------------
/www/js/share/components/spinner-logo/spinner-logo.template.html:
--------------------------------------------------------------------------------
1 |
4 |
5 |
--------------------------------------------------------------------------------
/www/js/share/components/updater/updater.controller.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name updater module
3 | * @author Morteza Tavanarad
4 | * @contributors []
5 | * @since 12/20/2015
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.share.components.updater.controllers").controller("UpdaterController", Updater);
11 |
12 | Updater.$inject = ["$ionicPlatform"];
13 |
14 | function Updater($ionicPlatform) {
15 | $ionicPlatform.ready(() => {
16 | if (window.codePush) {
17 | window.codePush.sync();
18 | }
19 | });
20 | }
21 | })();
22 |
--------------------------------------------------------------------------------
/www/js/share/components/updater/updater.directive.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name updater directive
3 | * @author Morteza Tavanarad
4 | * @contributors []
5 | * @since 12/26/2015
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.share.components.updater.directives").directive("bgUpdater", Updater);
11 |
12 | function Updater() {
13 | const directive = {
14 | restrict : "E",
15 | controller : "UpdaterController",
16 | controllerAs: "vm",
17 | scope : {}
18 | };
19 |
20 | return directive;
21 | }
22 | })();
23 |
--------------------------------------------------------------------------------
/www/js/share/components/updater/updater.module.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name updater module
3 | * @author Morteza Tavanarad
4 | * @contributors []
5 | * @since 12/20/2015
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.share.components.updater", [
11 | "binary.share.components.updater.controllers",
12 | "binary.share.components.updater.directives"
13 | ]);
14 |
15 | angular.module("binary.share.components.updater.controllers", []);
16 |
17 | angular.module("binary.share.components.updater.directives", []);
18 | })();
19 |
--------------------------------------------------------------------------------
/www/js/share/services/analytics.service.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name analyticsService
3 | * @author Morteza Tavanarad
4 | * @contributors []
5 | * @since 07/17/2016
6 | * @copyright Binary Ltd
7 | * Send information to all analytics services
8 | */
9 |
10 | angular.module("binary").factory("analyticsService", accountService => {
11 | const factory = {};
12 | factory.google = {
13 | addUser() {
14 | const user = accountService.getDefault();
15 | const userId = user && user.id ? user.id : null;
16 | window.ga.setUserId(userId);
17 | },
18 | trackView(_view) {
19 | if (typeof ga !== "undefined") {
20 | this.addUser();
21 | ga.trackView(_view);
22 | }
23 | },
24 | trackEvent(market, contractType, symbole, payout) {
25 | if (typeof ga !== "undefined") {
26 | this.addUser();
27 | ga.trackEvent(market, contractType, symbole, payout);
28 | }
29 | }
30 | };
31 |
32 | return factory;
33 | });
34 |
--------------------------------------------------------------------------------
/www/js/share/services/app-version.service.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name appVersionService
3 | * @author Morteza Tavanarad
4 | * @contributors []
5 | * @since 01/20/2016
6 | * @copyright Binary Ltd
7 | */
8 |
9 | angular.module("binary").factory("appVersionService", $http => {
10 | const appVersion = {};
11 |
12 | function getAppVersion() {
13 | return $http.get("js/config.json");
14 | }
15 |
16 | appVersion.getAppVersion = getAppVersion;
17 |
18 | return appVersion;
19 | });
20 |
--------------------------------------------------------------------------------
/www/js/share/services/cleanup.service.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name cleanupService
3 | * @author Morteza Tavanarad
4 | * @contributors []
5 | * @since 12/22/2015
6 | * @copyright Binary Ltd
7 | *
8 | */
9 |
10 | angular.module("binary").service("cleanupService", function($translate, proposalService) {
11 | this.run = function() {
12 | proposalService.forget();
13 | };
14 | });
15 |
--------------------------------------------------------------------------------
/www/js/share/services/session-storage.service.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name session-storage service
3 | * @author Morteza Tavanarad
4 | * @contributors []
5 | * @since 03/24/2017
6 | * @copyright Binary Ltd
7 | *
8 | */
9 |
10 | (function() {
11 | angular.module("binary").factory("sessionStorageService", SessionStorage);
12 |
13 | function SessionStorage() {
14 | const factory = {};
15 |
16 | factory.getItem = function(itemName) {
17 | const item = sessionStorage.getItem(itemName);
18 | if (_.isEmpty(item) || item === "undefined") {
19 | return null;
20 | }
21 | return item;
22 | };
23 |
24 | return factory;
25 | }
26 | })();
27 |
--------------------------------------------------------------------------------
/www/js/share/services/supported-languages.service.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name supportedLanguagesService
3 | * @author Nazanin Reihani Haghighi
4 | * @contributors []
5 | * @since 06/05/2019
6 | * @copyright Binary Ltd
7 | */
8 |
9 | angular.module("binary").service("supportedLanguagesService", function() {
10 | this.supportedLanguages = ["en"];
11 |
12 | this.setSupportedLanguages = langs => this.supportedLanguages = langs;
13 | });
14 |
--------------------------------------------------------------------------------
/www/js/share/services/table-state.service.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name tableStateService
3 | * @author Nazanin Reihani Haghighi
4 | * @contributors []
5 | * @since 05/02/2016
6 | * @copyright Binary Ltd
7 | * Keeping state of the app in this factory
8 | */
9 |
10 | angular.module("binary").factory("tableStateService", () => {
11 | const factory = {};
12 | factory.dateType = "allTime";
13 | factory.dateFrom = "";
14 | factory.dateTo = "";
15 | factory.currentPage = 0;
16 | factory.appID = "allApps";
17 | factory.batchNum = 0;
18 | factory.batchLimit = 0;
19 | factory.batchSize = 20;
20 | factory.completedGroup = true;
21 | factory.statementDateType = "allTime";
22 | factory.statementDateFrom = "";
23 | factory.statementDateTo = "";
24 | factory.statementCurrentPage = 0;
25 | factory.statementAppID = "allApps";
26 | factory.statementBatchNum = 0;
27 | factory.statementBatchLimit = 0;
28 | factory.statementBatchSize = 20;
29 | factory.statementCompletedGroup = true;
30 |
31 | return factory;
32 | });
33 |
--------------------------------------------------------------------------------
/www/js/share/services/utils.service.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @name utils service
3 | * @author Morteza Tavnarad
4 | * @contributors []
5 | * @since 08/17/2016
6 | * @copyright Binary Ltd
7 | */
8 |
9 | (function() {
10 | angular.module("binary.share.services").factory("utilsService", Utils);
11 |
12 | Utils.$inject = ["$rootScope"];
13 |
14 | function Utils($rootScope) {
15 | const factory = {};
16 |
17 | factory.spinnerLogo = {
18 | start: () => {
19 | $rootScope.$broadcast("spinner-logo:start");
20 | },
21 | stop: () => {
22 | $rootScope.$broadcast("spinner-logo:stop");
23 | }
24 | };
25 |
26 | return factory;
27 | }
28 | })();
29 |
--------------------------------------------------------------------------------
/www/js/share/templates/pep-information/pep-information.template.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {{ 'pep-information.what_is_pep' | translate }}
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/www/js/share/templates/professional-client/professional-client-confirmation.template.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | {{ 'professional-client-confirmation.professional_clients_receive' | translate }}
7 |
8 |
9 |
10 |
11 |
12 |
13 | -
14 |
15 | {{ 'professional-client-confirmation.posses_of_experience' | translate }}
16 |
17 | -
18 |
19 | {{ 'professional-client-confirmation.appropriateness_test' | translate }}
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 | {{ 'professional-client-confirmation.keep_informed' | translate }}
28 |
29 |
30 |
31 |
32 |
33 |
34 | {{ 'professional-client-confirmation.you_may_decline' | translate }}
35 |
36 |
37 |
38 |
39 |
--------------------------------------------------------------------------------
/www/js/share/templates/tax-information/tax-information.template.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {{ 'what-is-tax-information.required_by' | translate }}
6 |
7 |
8 |
9 |
20 |
21 |
22 |
23 | {{ 'what-is-tax-information.information_will_be_safe' | translate }}
24 |
25 |
26 |
27 |
28 |
29 |
30 | {{ 'what-is-tax-information.contact_for_clarification' | translate }}
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/www/redirect.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Binary App
7 |
8 |
9 |
10 |
11 | Loading ...
12 |
13 |
14 |
22 |
23 |
24 |
52 |
53 |
54 |
55 |
--------------------------------------------------------------------------------
/www/site.webmanifest:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Binary.com TickTrade",
3 | "short_name": "TickTrade",
4 | "theme_color": "#2A3052",
5 | "background_color": "#ffffff",
6 | "start_url": "/",
7 | "display": "standalone",
8 | "orientation": "portrait",
9 | "icons": [
10 | {
11 | "src": "img/icons/favicon-192x192.png",
12 | "sizes": "192x192",
13 | "type": "image/png"
14 | },
15 | {
16 | "src": "img/icons/favicon-512x512.png",
17 | "sizes": "512x512",
18 | "type": "image/png"
19 | }
20 |
21 | ]
22 | }
23 |
--------------------------------------------------------------------------------
/www/versions.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "version": "2.1.0",
4 | "googleplay": "https://play.google.com/store/apps/details?id=com.binary.ticktrade",
5 | "appstore": "https://itunes.apple.com/us/app/binary.com-tick-trade/id1091187567?ls=1&mt=8",
6 | "features": [
7 | "Bug fixes"
8 | ]
9 | },
10 | {
11 | "version": "2.3.9",
12 | "googleplay": "https://binary.la/downloads/ticktrade-app.apk",
13 | "appstore": "https://itunes.apple.com/us/app/binary.com-tick-trade/id1091187567?ls=1&mt=8",
14 | "features": [
15 | "Bug fixes"
16 | ]
17 | },
18 | {
19 | "version": "2.4.1",
20 | "googleplay": "https://binary.la/downloads/ticktrade-app.apk",
21 | "appstore": "https://itunes.apple.com/us/app/binary.com-tick-trade/id1091187567?ls=1&mt=8",
22 | "features": [
23 | "Bug fixes"
24 | ]
25 | }
26 | ]
27 |
--------------------------------------------------------------------------------