├── .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 | Bitcoin Cash logo -------------------------------------------------------------------------------- /www/img/currency/btc.svg: -------------------------------------------------------------------------------- 1 | currency/ic-btc -------------------------------------------------------------------------------- /www/img/currency/dai.svg: -------------------------------------------------------------------------------- 1 | icons/currencies/dai -------------------------------------------------------------------------------- /www/img/currency/etc.svg: -------------------------------------------------------------------------------- 1 | currency/ic-etc -------------------------------------------------------------------------------- /www/img/currency/eth.svg: -------------------------------------------------------------------------------- 1 | currency/ic-eth -------------------------------------------------------------------------------- /www/img/currency/eur.svg: -------------------------------------------------------------------------------- 1 | currency/ic-eur -------------------------------------------------------------------------------- /www/img/currency/gbp.svg: -------------------------------------------------------------------------------- 1 | currency/ic-gbp -------------------------------------------------------------------------------- /www/img/currency/ltc.svg: -------------------------------------------------------------------------------- 1 | currency/ic-ltc -------------------------------------------------------------------------------- /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 | logomark -------------------------------------------------------------------------------- /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 | 6 | 7 | 8 | 9 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /www/img/trade-icon/digitdiff.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /www/img/trade-icon/digitmatch.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /www/img/trade-icon/digitodd.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 8 | 9 | 14 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /www/img/trade-icon/digitover.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 8 | 9 | 10 | 11 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /www/img/trade-icon/digitunder.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 8 | 9 | 10 | 12 | 13 | 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 | 6 | 7 | 8 | 9 | 11 | 12 | 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 | 6 | 7 | 8 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /www/img/trade-icon/lower.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 10 | 11 | 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 | 6 | 7 | 8 | 9 | 11 | 12 | 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 | 6 | 7 | 8 | 9 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /www/img/trade-icon/spreadbet.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /www/img/trade-icon/spreads.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /www/img/trade-icon/spreads_1.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 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 | Group 6 -------------------------------------------------------------------------------- /www/img/trade-icon/ticklow.svg: -------------------------------------------------------------------------------- 1 | Group 6 -------------------------------------------------------------------------------- /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 | 3 |
4 |
5 |

6 | {{ 'authentication.authentication' | translate }} 7 |

8 |
9 |
10 |
11 |
12 |
13 |
14 | {{ 'authentication.documents' | translate }} 15 | support@binary.com 16 |
17 |
18 | 19 | {{ 'authentication.proof_of_identity' | translate }} 20 |
21 |
22 | 23 | {{ 'authentication.proof_of_address' | translate }} 24 |
25 |
26 |

27 | {{'authentication.questions' | translate}} 28 | 29 | {{'authentication.contact' | translate}} 30 | 31 | {{'authentication.help' | translate}} 32 |

33 |
34 |
35 |
36 |
37 |
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 | Binary.com 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 | 3 | 4 | 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 | 3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |

11 | 12 | 13 |

14 |
15 |
16 |
17 |
18 |
19 |
20 |

21 | {{'notifications.no_notification' | translate}} 22 |

23 |
24 |
25 |
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 | Binary.com 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 | 3 |
4 |
5 |

6 | {{ 'resources.resources' | translate }} 7 |

8 |
9 |
10 | 20 |
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 | 3 |
4 |
5 |

6 | {{ 'settings.settings' | translate }} 7 |

8 |
9 |
10 |
11 |
12 | 16 | {{ s.name | translate }} 17 | 18 | 19 |
21 | {{ s.name | translate}} 22 |
23 | 28 | {{ m.name | translate }} 29 | 30 |
31 |
32 |
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 | 3 |
4 |
5 |
6 |
7 | {{vm.data.landingCompanyName}} {{'accept-terms-and-conditions.has_updated_its' | translate}} 8 | {{'accept-terms-and-conditions.terms_and_conditions' | 9 | translate}}{{'accept-terms-and-conditions.confirm_phrase' | translate}}. 10 |
11 |
12 | 13 |
14 |
15 | 16 |
17 |
18 | 21 |
22 |
23 |
24 |
25 |
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 |
2 |
3 | 13 | 14 |
15 |
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 |
2 |
3 | 6 |
7 | 16 | 25 |
26 |
27 | 33 |
34 |
35 |
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 | 3 |
4 | 5 | 7 | 9 | 10 | 11 | 13 | 15 | 18 |
19 |
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 | 3 |

4 | 5 | Binary.com 6 |

7 |
8 |
9 |

{{ 'update.your_version_is_out_of_date_please_update' | translate }}

10 |
11 | 12 |
13 | 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 |
11 |
12 | 13 |
14 |
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 |
2 |

{{ vm.message | translate }}

3 |
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 | Binary.com 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 | 2 |
3 | 6 |
7 | 10 | 11 |

12 | Binary.com 13 | Binary.com 14 | Binary.com 15 |

16 | 17 |
18 | 21 | 22 | 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 | Binary.com 6 |
7 |
8 |
9 |
10 |

11 | {{ "ios-pwa-prompt.installation_text" | translate }} 12 |

13 |
14 |
15 |
16 |
17 |

18 |

19 |
20 |
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 | 2 |
3 |
4 |

{{ 'signin.language' | translate }}

5 |
6 |
7 |
8 |
9 | 10 |
11 |
12 |
13 | 17 | {{language.title}} 18 | 19 |
20 |
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 |
9 |
10 | 11 | 12 |
13 |
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 |
17 |
18 |
19 | 20 |
21 | {{ 'reality-check.integer_error' | translate }} 22 |
23 |
24 | {{ 'reality-check.interval_error' | translate }} 25 |
26 |
27 |
28 |
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 | Binary.com 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 | Binary.com logo 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 |
10 |
11 |

12 | {{ 'what-is-tax-information.please_enter' | translate }} 13 | 14 | {{ 'what-is-tax-information.tax_information' | translate }} 15 | 16 | {{ 'what-is-tax-information.to_continue' | translate }} 17 |

18 |
19 |
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 | --------------------------------------------------------------------------------