├── .gitignore ├── .gitmodules ├── .local └── build_deb.sh ├── .yarnrc ├── LICENSE ├── README.md ├── app └── config.json ├── build.json ├── config.xml ├── dist └── cesium ├── doc ├── PrivacyPolicy.md ├── build_android.md ├── build_web.md ├── build_web_extension.md ├── changelog │ └── changelog.md ├── development_guide.md ├── feed │ ├── draft │ │ └── feed-en.json │ └── history │ │ ├── 2020-12-18 │ │ ├── feed-fr.json │ │ └── home_search-fr.png │ │ └── 2021-06-21 │ │ └── feed-fr.json ├── fr │ └── img │ │ ├── 04e64b769cbd45b9d275cd5f81002a399a1a7684.png │ │ ├── 3b8fa2f5c0465b13ae5ce74d49702e0c9f027866.png │ │ ├── ceb75301172038e75f5c43b328dd7febd7bedc7e.png │ │ └── fef4f4dfe7c2168cb27c9e7f5e399fd547ce774a.png ├── installation.md └── mozilla │ ├── README.md │ ├── describe_extenstion-en.html │ └── describe_extenstion-fr.html ├── gulpfile.js ├── install.sh ├── ionic.config.json ├── jsconfig.json ├── package.json ├── resources ├── android │ ├── build │ │ ├── app │ │ │ ├── build-extras.gradle │ │ │ └── libs │ │ │ │ └── libsodium-jni-release.aar │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ └── gradle-wrapper.properties │ │ └── tools │ │ │ └── android-accept-licenses.sh │ ├── icon │ │ ├── drawable-hdpi-icon.png │ │ ├── drawable-ldpi-icon.png │ │ ├── drawable-mdpi-icon.png │ │ ├── drawable-xhdpi-icon.png │ │ ├── drawable-xxhdpi-icon.png │ │ └── drawable-xxxhdpi-icon.png │ ├── playstore │ │ ├── gchange-annonce_bureau.png │ │ ├── gchange-capture-accueil.png │ │ ├── gchange-capture-liste_annonces.png │ │ ├── gchange-capture-mes_annonces.png │ │ ├── gchange-capture-nouvelle_annonce.png │ │ ├── gchange_1024x500_fr.png │ │ └── gchange_1024x500_fr.xcf │ └── splash │ │ ├── drawable-land-hdpi-screen.png │ │ ├── drawable-land-ldpi-screen.png │ │ ├── drawable-land-mdpi-screen.png │ │ ├── drawable-land-xhdpi-screen.png │ │ ├── drawable-land-xxhdpi-screen.png │ │ ├── drawable-land-xxxhdpi-screen.png │ │ ├── drawable-port-hdpi-screen.png │ │ ├── drawable-port-ldpi-screen.png │ │ ├── drawable-port-mdpi-screen.png │ │ ├── drawable-port-xhdpi-screen.png │ │ ├── drawable-port-xxhdpi-screen.png │ │ └── drawable-port-xxxhdpi-screen.png ├── icon.png ├── ios │ ├── icon │ │ ├── Icon-App-20x20@1x.png │ │ ├── Icon-App-20x20@2x.png │ │ ├── Icon-App-20x20@3x.png │ │ ├── Icon-App-29x29@1x.png │ │ ├── Icon-App-29x29@2x.png │ │ ├── Icon-App-29x29@3x.png │ │ ├── Icon-App-40x40@1x.png │ │ ├── Icon-App-40x40@2x.png │ │ ├── Icon-App-40x40@3x.png │ │ ├── Icon-App-60x60@2x.png │ │ ├── Icon-App-60x60@3x.png │ │ ├── Icon-App-76x76@1x.png │ │ ├── Icon-App-76x76@2x.png │ │ ├── Icon-App-83.5x83.5@2x.png │ │ └── ItunesArtwork@2x.png │ └── splash │ │ ├── Default-2436h.png │ │ ├── Default-568h@2x~iphone.png │ │ ├── Default-667h.png │ │ ├── Default-736h.png │ │ ├── Default-Landscape-2436h.png │ │ ├── Default-Landscape-736h.png │ │ ├── Default-Landscape@2x~ipad.png │ │ ├── Default-Landscape@~ipadpro.png │ │ ├── Default-Landscape~ipad.png │ │ ├── Default-Portrait@2x~ipad.png │ │ ├── Default-Portrait@~ipadpro.png │ │ ├── Default-Portrait~ipad.png │ │ ├── Default@2x~iphone.png │ │ ├── Default@2x~universal~anyany.png │ │ └── Default~iphone.png ├── logos │ └── logo-512px.png ├── maps │ ├── be.svg │ ├── es.svg │ ├── fr.geojson │ ├── gb.svg │ ├── pt.svg │ ├── test_rect_with_hole.svg │ └── us.svg ├── splash.png └── web-ext │ ├── background.js │ └── manifest.json ├── scripts ├── build-android.sh ├── build-desktop.sh ├── check-reproducible-build.sh ├── docker-build.sh ├── docker-start.sh ├── emulate-android.sh ├── env-android.sh ├── env-clean.sh ├── env-global.sh ├── hooks │ ├── README.md │ ├── after_prepare.js │ ├── before_compile.js │ └── before_prepare.js ├── install-android-sdk.sh ├── ionic-update.sh ├── node │ ├── jshint-utils.js │ ├── jshint.js │ └── postinstall.js ├── release-android-sign.sh ├── release-android-sources.sh ├── release-android.sh ├── release-desktop.sh ├── release-sign-extension.sh ├── release-to-github.sh ├── release.sh └── run-android.sh ├── scss ├── cesium.app.scss ├── converse.app.scss ├── icons │ ├── _cesiumicons-font.scss │ ├── _cesiumicons-icons.scss │ ├── _cesiumicons-variables.scss │ └── cesiumicons.scss ├── ionic.app.scss ├── leaflet.app.scss ├── leaflet │ └── images │ │ ├── layers-2x.png │ │ ├── layers.png │ │ ├── loader.gif │ │ ├── marker-icon-2x.png │ │ ├── marker-icon.png │ │ ├── marker-shadow.png │ │ ├── markers-matte.png │ │ ├── markers-matte@2x.png │ │ ├── markers-plain.png │ │ ├── markers-shadow.png │ │ ├── markers-shadow@2x.png │ │ ├── markers-soft.png │ │ ├── markers-soft@2x.png │ │ └── search-icon.png └── variables.app.scss ├── typings └── cordova-typings.d.ts └── www ├── .well-known └── assetlinks.json ├── css ├── style-no-device.css └── style.css ├── fonts ├── cesiumicons.eot ├── cesiumicons.svg ├── cesiumicons.ttf ├── cesiumicons.woff ├── icomoon.eot ├── icomoon.svg ├── icomoon.ttf └── icomoon.woff ├── i18n ├── locale-en-GB.json ├── locale-en.json ├── locale-eo-EO.json ├── locale-es-ES.json └── locale-fr-FR.json ├── img ├── arrow.svg ├── background.jpg ├── bg │ ├── autumn-1.jpg │ ├── autumn-2.jpg │ ├── autumn-3.jpg │ ├── autumn-4.jpg │ ├── autumn-5.jpg │ ├── autumn-6.jpg │ ├── autumn-7.jpg │ ├── service-1.jpg │ ├── service-10.jpg │ ├── service-11.jpg │ ├── service-12.jpg │ ├── service-2.jpg │ ├── service-3.jpg │ ├── service-4.jpg │ ├── service-5.jpg │ ├── service-6.jpg │ ├── service-7.jpg │ ├── service-8.jpg │ ├── service-9.jpg │ ├── spring-1.jpg │ ├── spring-2.jpg │ ├── spring-3.jpg │ ├── spring-4.jpg │ ├── spring-5.jpg │ ├── spring-6.jpg │ ├── spring-7.jpg │ ├── summer-1.jpg │ ├── summer-10.jpg │ ├── summer-11.jpg │ ├── summer-2.jpg │ ├── summer-3.jpg │ ├── summer-4.jpg │ ├── summer-5.jpg │ ├── summer-6.jpg │ ├── summer-7.jpg │ ├── summer-8.jpg │ ├── summer-9.jpg │ ├── winter-1.jpg │ ├── winter-2.jpg │ ├── winter-3.jpg │ ├── winter-4.jpg │ └── winter-5.jpg ├── bgbl.svg ├── bgtr.svg ├── dark-arrow.svg ├── delivery.svg ├── favicon.ico ├── flag-be.png ├── flag-eo.png ├── flag-es.png ├── flag-fr.png ├── flag-gb.png ├── flag-it.png ├── flag-nl.png ├── flag-us.png ├── header_bg.jpg ├── logo.png ├── logo.small.svg ├── logo.svg ├── logo_128px.png ├── logo_152px.png ├── logo_167px.png ├── logo_180px.png ├── logo_200px.png ├── logo_256px.png ├── logo_32px.png ├── logo_48px.png ├── logo_512px.png ├── logo_64px.png ├── mastodon.svg ├── overlay.png ├── person.png └── user.png ├── index.html ├── js ├── app.js ├── components.js ├── config.js ├── controllers.js ├── controllers │ ├── app-controllers.js │ ├── help-controllers.js │ ├── home-controllers.js │ ├── join-controllers.js │ ├── login-controllers.js │ ├── settings-controllers.js │ ├── wallet-controllers.js │ └── wot-controllers.js ├── directives.js ├── entities │ ├── block.js │ └── peer.js ├── filters.js ├── platform.js ├── plugins.js ├── services.js ├── services │ ├── bma-services.js │ ├── cache-services.js │ ├── crypto-services.js │ ├── currency-services.js │ ├── device-services.js │ ├── http-services.js │ ├── modal-services.js │ ├── plugin-services.js │ ├── settings-services.js │ ├── storage-services.js │ ├── tx-services.js │ ├── utils-services.js │ ├── wallet-services.js │ └── wot-services.js └── vendor │ ├── base58.js │ ├── base64.js │ ├── numeral.eo.js │ └── sha256.min.js ├── manifest.json ├── plugins ├── es │ ├── css │ │ └── style.css │ ├── i18n │ │ ├── locale-en-GB.json │ │ ├── locale-en.json │ │ ├── locale-eo-EO.json │ │ ├── locale-es-ES.json │ │ ├── locale-fr-FR.json │ │ └── locale-nl-NL.json │ ├── js │ │ ├── controllers │ │ │ ├── app-controllers.js │ │ │ ├── common-controllers.js │ │ │ ├── document-controllers.js │ │ │ ├── like-controllers.js │ │ │ ├── message-controllers.js │ │ │ ├── network-controllers.js │ │ │ ├── notification-controllers.js │ │ │ ├── profile-controllers.js │ │ │ ├── registry-controllers.js │ │ │ ├── settings-controllers.js │ │ │ ├── subscription-controllers.js │ │ │ ├── wallet-controllers.js │ │ │ └── wot-controllers.js │ │ ├── entities │ │ │ ├── comment.js │ │ │ ├── notification.js │ │ │ └── peer.js │ │ ├── plugin.js │ │ ├── services.js │ │ └── services │ │ │ ├── blockchain-services.js │ │ │ ├── comment-services.js │ │ │ ├── crypto-services.js │ │ │ ├── document-services.js │ │ │ ├── geo-services.js │ │ │ ├── group-services.js │ │ │ ├── http-services.js │ │ │ ├── like-services.js │ │ │ ├── message-services.js │ │ │ ├── modal-services.js │ │ │ ├── network-services.js │ │ │ ├── notification-services.js │ │ │ ├── profile-services.js │ │ │ ├── registry-services.js │ │ │ ├── settings-services.js │ │ │ ├── social-services.js │ │ │ ├── subscription-services.js │ │ │ └── wallet-services.js │ └── templates │ │ ├── common │ │ ├── dropdown_locations.html │ │ ├── edit_pictures.html │ │ ├── edit_position.html │ │ ├── edit_socials.html │ │ ├── item_comment.html │ │ ├── item_comment_content.html │ │ ├── item_location_search.html │ │ ├── modal_category.html │ │ ├── modal_edit_avatar.html │ │ ├── modal_location.html │ │ ├── popover_distances.html │ │ ├── popover_profile_extend.html │ │ ├── popover_star.html │ │ ├── popup_report_abuse.html │ │ ├── view_comments.html │ │ ├── view_likes.html │ │ └── view_pictures.html │ │ ├── document │ │ ├── item_document.html │ │ ├── item_document_comment.html │ │ ├── item_document_like.html │ │ ├── item_document_page.html │ │ ├── item_document_profile.html │ │ ├── items_documents.html │ │ ├── lookup.html │ │ ├── lookup_form.html │ │ └── lookup_popover_actions.html │ │ ├── group │ │ ├── edit_group.html │ │ ├── item_group.html │ │ ├── items_groups.html │ │ ├── list.html │ │ ├── lookup.html │ │ ├── lookup_form.html │ │ ├── modal_record_type.html │ │ └── view_record.html │ │ ├── home │ │ └── home_extend.html │ │ ├── join │ │ └── modal_join_extend.html │ │ ├── menu_extend.html │ │ ├── message │ │ ├── compose.html │ │ ├── compose_form.html │ │ ├── list.html │ │ ├── lookup_popover_actions.html │ │ ├── modal_compose.html │ │ ├── popover_message.html │ │ ├── view_message.html │ │ └── view_popover_actions.html │ │ ├── network │ │ ├── item_content_peer.html │ │ ├── items_peers.html │ │ ├── lookup_popover_actions.html │ │ ├── modal_network.html │ │ ├── popover_endpoints.html │ │ ├── popover_network.html │ │ ├── popover_peer_info.html │ │ ├── view_es_network.html │ │ └── view_es_peer.html │ │ ├── notification │ │ ├── list_notification.html │ │ ├── popover_actions.html │ │ ├── popover_notification.html │ │ └── view_notifications.html │ │ ├── registry │ │ ├── edit_record.html │ │ ├── item_record.html │ │ ├── lookup.html │ │ ├── lookup_form.html │ │ ├── lookup_form_options.html │ │ ├── lookup_lg.html │ │ ├── lookup_list.html │ │ ├── lookup_list_lg.html │ │ ├── lookup_popover_actions.html │ │ ├── lookup_popover_filters.html │ │ ├── modal_record_type.html │ │ ├── view_popover_actions.html │ │ ├── view_record.html │ │ └── view_wallet_pages.html │ │ ├── settings │ │ └── plugin_settings.html │ │ ├── subscription │ │ ├── edit_subscriptions.html │ │ ├── item_email_subscription.html │ │ └── modal_email.html │ │ ├── user │ │ ├── edit_popover_actions.html │ │ ├── edit_profile.html │ │ └── items_profile.html │ │ ├── wallet │ │ └── view_wallet_extend.html │ │ └── wot │ │ ├── view_identity_extend.html │ │ └── view_popover_actions.html ├── graph │ ├── css │ │ └── style.css │ ├── i18n │ │ ├── locale-en-GB.json │ │ ├── locale-en.json │ │ ├── locale-eo-EO.json │ │ ├── locale-es-ES.json │ │ ├── locale-fr-FR.json │ │ ├── locale-it-IT.json │ │ └── locale-nl-NL.json │ ├── js │ │ ├── controllers │ │ │ ├── common-controllers.js │ │ │ ├── docstats-controllers.js │ │ │ ├── network-controllers.js │ │ │ └── synchro-controllers.js │ │ ├── plugin.js │ │ ├── services.js │ │ └── services │ │ │ ├── color-services.js │ │ │ └── data-services.js │ └── templates │ │ ├── account │ │ ├── graph_balance.html │ │ ├── graph_certifications.html │ │ ├── graph_sum_tx.html │ │ └── view_stats.html │ │ ├── common │ │ ├── graph_range_bar.html │ │ └── popover_range_actions.html │ │ ├── docstats │ │ ├── graph.html │ │ └── view_stats.html │ │ ├── network │ │ ├── view_es_network_extend.html │ │ └── view_es_peer_extend.html │ │ └── synchro │ │ ├── graph.html │ │ └── view_stats.html ├── map │ ├── css │ │ └── style.css │ ├── i18n │ │ ├── locale-en-GB.json │ │ ├── locale-en.json │ │ ├── locale-eo-EO.json │ │ └── locale-fr-FR.json │ ├── js │ │ ├── controllers │ │ │ ├── home-controllers.js │ │ │ ├── shape-controllers.js │ │ │ └── user-controllers.js │ │ ├── plugin.js │ │ ├── services.js │ │ └── services │ │ │ ├── shape-services.js │ │ │ └── utils-services.js │ └── templates │ │ ├── shape │ │ ├── edit_shape.html │ │ └── view_shape.html │ │ └── user │ │ └── edit_profile_extend.html └── market │ ├── css │ └── style.css │ ├── i18n │ ├── locale-en-GB.json │ ├── locale-en.json │ ├── locale-eo-EO.json │ ├── locale-es-ES.json │ ├── locale-fr-FR.json │ └── locale-nl-NL.json │ ├── js │ ├── controllers │ │ ├── app-controllers.js │ │ ├── category-controllers.js │ │ ├── document-controllers.js │ │ ├── gallery-controllers.js │ │ ├── home-controllers.js │ │ ├── join-controllers.js │ │ ├── login-controllers.js │ │ ├── record-controllers.js │ │ ├── search-controllers.js │ │ ├── wallet-controllers.js │ │ └── wot-controllers.js │ ├── plugin.js │ └── services │ │ ├── category-services.js │ │ ├── converse-services.js │ │ ├── modal-services.js │ │ ├── profile-services.js │ │ ├── record-services.js │ │ ├── settings-services.js │ │ ├── tx-services.js │ │ └── wallet-services.js │ └── templates │ ├── category │ ├── card_category_lg.html │ ├── edit_categories.html │ ├── list_categories_lg.html │ ├── popup_edit_category.html │ ├── view_categories.html │ └── view_categories_lg.html │ ├── document │ ├── item_document_comment.html │ ├── item_document_profile.html │ ├── item_document_record.html │ └── list_documents.html │ ├── gallery │ ├── modal_slideshow.html │ └── view_gallery.html │ ├── help │ ├── help.html │ ├── modal_help.html │ └── view_help.html │ ├── home │ └── home_buttons.html │ ├── join │ └── modal_join.html │ ├── login │ ├── modal_event_login.html │ └── modal_login.html │ ├── map │ └── map_country.html │ ├── menu_extend.html │ ├── record │ ├── edit_record.html │ ├── form_record_auction.html │ ├── form_record_crowdfunding.html │ ├── form_record_need.html │ ├── form_record_offer.html │ ├── modal_payment.html │ ├── modal_record_type.html │ ├── popover_unit.html │ ├── view_popover_actions.html │ └── view_record.html │ ├── search │ ├── item_record.html │ ├── list_records.html │ ├── list_records_lg.html │ ├── lookup.html │ ├── lookup_actions_popover.html │ ├── lookup_lg.html │ ├── lookup_options.html │ └── lookup_sort_popover.html │ ├── wallet │ ├── view_wallet_extend.html │ ├── view_wallet_favorites.html │ └── view_wallet_records.html │ └── wot │ ├── view_identity_extend.html │ └── view_identity_records.html └── templates ├── common ├── form_error_messages.html ├── popover_copy.html ├── popover_helptip.html ├── popover_instance_address.html ├── popover_locales.html ├── popover_profile.html ├── popover_share.html └── qrcode.html ├── help ├── help.html ├── modal_help.html └── view_help.html ├── home └── home.html ├── join └── modal_join.html ├── login └── modal_login.html ├── menu.html ├── modal_about.html ├── settings ├── popover_actions.html ├── popup_node.html └── settings.html ├── wallet ├── popover_actions.html ├── popover_unit.html └── view_wallet.html └── wot ├── identity.html ├── lookup.html ├── lookup_form.html ├── lookup_popover_actions.html ├── modal_lookup.html ├── view_identity.html └── view_identity_tx.html /.gitignore: -------------------------------------------------------------------------------- 1 | # Specifies intentionally untracked files to ignore when using Git 2 | # http://git-scm.com/docs/gitignore 3 | 4 | /node_modules/ 5 | /platforms/* 6 | #!/platforms/android 7 | /resources/android/build/local.properties 8 | /resources/android/build/*.keystore 9 | /resources/android/build/release-signing.properties 10 | /plugins/ 11 | .idea/ 12 | .vscode/ 13 | .local/ 14 | .directory 15 | /*.iml 16 | /npm-debug.log 17 | /package-lock.json 18 | /yarn-error.log 19 | /yarn.lock 20 | 21 | /dist/web 22 | /dist/android 23 | 24 | /hooks/uglify-config.json 25 | /hooks/after_prepare/uglify.js 26 | 27 | /www/js/config.js 28 | /www/js/vendor/d3*.js 29 | /www/dist 30 | /www/lib 31 | 32 | # Converse JS files 33 | /www/sounds 34 | /www/locale 35 | 36 | # Generated CSS 37 | /www/css/ionic.app.css 38 | /www/css/ionic.app.min.css 39 | /www/css/leaflet.app.css 40 | /www/css/leaflet.app.min.css 41 | /www/css/converse.app.css 42 | /www/css/converse.app.min.css 43 | /www/img/layers*.png 44 | /www/img/marker*.png 45 | /www/img/loader.gif 46 | /www/img/search-icon.png 47 | /www/img/search-icon-mobile.png 48 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "dist/desktop"] 2 | path = dist/desktop 3 | url = git@github.com:duniter-gchange/gchange-client-desktop.git 4 | -------------------------------------------------------------------------------- /.local/build_deb.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | cd ../platforms/desktop 4 | 5 | 6 | VERSION=0.8.3 7 | 8 | EXPECTED_ASSETS="cesium-desktop-v$VERSION-linux-x64.deb" 9 | export EXPECTED_ASSETS 10 | 11 | ./release.sh $VERSION 12 | if [[ $? -ne 0 ]]; then 13 | exit 2 14 | fi 15 | -------------------------------------------------------------------------------- /.yarnrc: -------------------------------------------------------------------------------- 1 | --install.ignore-engines true 2 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # ğchange 2 | 3 | ğchange is a market place application (web and mobile), compatible with [Duniter crypto-currencies](http://www.duniter.org) like Ğ1. 4 | 5 | ## Install 6 | 7 | - Read the [installation guide](./doc/installation.md); 8 | 9 | ## Contribute 10 | 11 | A [Development Guide](doc/development_guide.md) is available to learn : 12 | - How to install your development environment. 13 | - Development best practices. 14 | 15 | ## Donate 16 | 17 | To help developers with donation, use the [Gchange Ğ1 account](https://demo.cesium.app#/app/wot/AxiQgMT5fKwSD8CB1i2fepj4R5ubBAaEj1VSQiEiy48e/) (public key: `AxiQgMT5fKwSD8CB1i2fepj4R5ubBAaEj1VSQiEiy48e`) 18 | 19 | ## License 20 | 21 | This software is distributed under [GNU AGPL-3.0](https://raw.github.com/duniter/cesium/master/LICENSE). 22 | 23 | Please read also our [privacy policy](./doc/PrivacyPolicy.md). 24 | -------------------------------------------------------------------------------- /build.json: -------------------------------------------------------------------------------- 1 | { 2 | "android": { 3 | }, 4 | "ios": { 5 | "debug": { 6 | "codeSignIdentity": "iPhone Developer", 7 | "developmentTeam": "3TH8P5JJ9J", 8 | "automaticProvisioning": true, 9 | "packageType": "development" 10 | }, 11 | "release": { 12 | "codeSignIdentity": "iPhone Developer", 13 | "developmentTeam": "3TH8P5JJ9J", 14 | "automaticProvisioning": true, 15 | "packageType": "app-store" 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /dist/cesium: -------------------------------------------------------------------------------- 1 | /home/blavenie/git/cesium -------------------------------------------------------------------------------- /doc/PrivacyPolicy.md: -------------------------------------------------------------------------------- 1 | # Privacy Policy 2 | 3 | ## Use of camera (Android devices) 4 | 5 | > Privacy Policy document is [a requirement of Google PlayStore](https://support.google.com/googleplay/android-developer/answer/113469#privacy), to enable use if Camera. 6 | 7 | In the application, the user can use camera (photo or gallery) to add pictures on a Ad, or for his own profile (avatar). 8 | This pictures are stored in P2P network (decentralized way). See subproject [gchange-pod](https://github.com/duniter-gchange/gchange-pod) for additionnal informations. 9 | 10 | ## Document storage (all devices) 11 | 12 | > Where my Ads (or profile, comments, etc.) are stored ? 13 | 14 | Gchange use a P2P network (see [gchange-pod](https://github.com/duniter-gchange/gchange-pod/) to store each emitted documents in a decentralized way. 15 | The document owner can delete any emitted document, but *be aware that a node administrator can ignore deletion, and choose to keep this data*. 16 | 17 | So consider that your issued documents are on the permanent web. 18 | -------------------------------------------------------------------------------- /doc/build_web.md: -------------------------------------------------------------------------------- 1 | # Build Gchange as an unhosted web application 2 | 3 | Gchange can be build as a simple web application, portable and runnable anywhere. 4 | 5 | ## Prerequisites 6 | 7 | ### Install the development environment 8 | 9 | Follow all the steps defined in the [Development guide](./development_guide.md). 10 | 11 | After that you should be able to start the application using `npm start`or `yarn run start`, and to test it. 12 | 13 | ## Build the unhosted web application 14 | 15 | 16 | - To create a compressed ZIP artifact, run: 17 | ```bash 18 | cd gchange-client 19 | gulp webBuild --release 20 | ``` 21 | 22 | A ZIP archive will be visible `dist/web/build/gchange-vx.y.z.zip` 23 | 24 | ## Publishing to a web site 25 | 26 | Uncompress the web archive, then open the `ìndex.html` file in your web browser. 27 | -------------------------------------------------------------------------------- /doc/build_web_extension.md: -------------------------------------------------------------------------------- 1 | # Build Gchange as a Web extension 2 | 3 | Gchange can be build as Web extension, for Mozilla Firefox extension (`.xpi`) and Chrome/Chromium (`.crx`). 4 | 5 | ## Prerequisites 6 | 7 | ### Install the development environment 8 | 9 | Follow all the steps defined in the [Development guide](./development_guide.md). 10 | 11 | After that you should be able to start the application using `npm start`or `yarn run start`, and to test it. 12 | 13 | ## Build the web extension 14 | 15 | - To create an uncompressed extension, use : 16 | ```bash 17 | cd gchange 18 | gulp build 19 | gulp webExtCompile --release 20 | ``` 21 | 22 | The uncompressed web extension will be visible `dist/web/ext` 23 | 24 | - To create a portable and compressed ZIP extension : 25 | ```bash 26 | cd gchange 27 | gulp build 28 | gulp webExtBuild --release 29 | ``` 30 | 31 | The web extension is visible at `dist/web/build/gchange-vx.y.z-extension.zip` 32 | 33 | > Remove the option `--release` to skip creation of minified CSS and JS files (and source maps) 34 | 35 | ## Publishing to Mozilla Addons 36 | 37 | - Make sure you have `web-ext` installed. If not, run: 38 | ```bash 39 | npm install -g web-ext 40 | ``` 41 | 42 | - Sign your extension : 43 | ```bash 44 | 45 | # Define your credentials on addons.mozilla.org (your developer account) 46 | export AMO_JWT_ISSUER = // username 47 | export AMO_JWT_SECRET = // password 48 | 49 | # Will archive and upload your extension 50 | cd gchange-client 51 | web-ext sign "--api-key=${AMO_JWT_ISSUER}" "--api-secret=${AMO_JWT_SECRET}" "--source-dir=dist/web/ext" "--artifacts-dir=${PROJECT_DIR}/dist/web/build" --id=${WEB_EXT_ID} --channel=listed 52 | ``` 53 | -------------------------------------------------------------------------------- /doc/changelog/changelog.md: -------------------------------------------------------------------------------- 1 | # v1.2.0 2 | 3 | - Crowdfunding campaigns; 4 | 5 | - Ad: 6 | * Allow free offers 7 | * Allow "free price", on offers 8 | * Mobile: display location 9 | 10 | - Share an Ad: 11 | * Display price in title 12 | * New button "share on mastodon" 13 | * Remove button google+ 14 | 15 | - Categories: 16 | * Add i18n capabilities 17 | * An admin or moderators can edit categories 18 | 19 | - Home: 20 | * Display all categories 21 | * Add a country map 22 | * Admin can add and edit country maps (SVG or GeoJSON) 23 | 24 | - New artefacts: 25 | * Firefox/Chrome extension 26 | 27 | - Android : 28 | * Fix compatibility with Android 10 29 | -------------------------------------------------------------------------------- /doc/feed/draft/feed-en.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "https://jsonfeed.org/version/1", 3 | "user_comment": "Feed that use the jsonFeed format (see jsonFeed.org for details).", 4 | "title": "News", 5 | "description": "ğchange news", 6 | "home_page_url": "https://forum.monnaie-libre.fr/tag/gchange", 7 | "feed_url": "https://raw.githubusercontent.com/duniter-gchange/gchange-client/master/doc/feed/feed-en.json", 8 | "author": { 9 | "name": "Benoit Lavenier", 10 | "url": "@BenoitLavenier", 11 | "avatar": "https://data.gchange.fr/user/profile/8PTThXiUSwwuPoqQWw3tuAn4MpvzQzpKhs6LMuiozS7Z/_image/avatar.png" 12 | }, 13 | "items": [ 14 | { 15 | "title": "New features", 16 | "author": { 17 | "name": "Benoit Lavenier", 18 | "url": "@8PTThXiUSwwuPoqQWw3tuAn4MpvzQzpKhs6LMuiozS7Z", 19 | "avatar": "https://data.gchange.fr/user/profile/8PTThXiUSwwuPoqQWw3tuAn4MpvzQzpKhs6LMuiozS7Z/_image/avatar.png" 20 | }, 21 | "date_published": "2020-03-07T19:42:00+01:00", 22 | "id": "https://forum.monnaie-libre.fr/t/cesium-evolue-aie-ca-va-piquer-mais/10015", 23 | "url": "https://forum.monnaie-libre.fr/t/cesium-evolue-aie-ca-va-piquer-mais/10015", 24 | "content_html": "

What's new?

\n" 25 | } 26 | ] 27 | } 28 | -------------------------------------------------------------------------------- /doc/feed/history/2020-12-18/home_search-fr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/doc/feed/history/2020-12-18/home_search-fr.png -------------------------------------------------------------------------------- /doc/feed/history/2021-06-21/feed-fr.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "https://jsonfeed.org/version/1", 3 | "user_comment": "Feed that use the jsonFeed format (see jsonFeed.org for details).", 4 | "title": "Actualités", 5 | "description": "Actualités de ğchange", 6 | "home_page_url": "https://forum.monnaie-libre.fr/tag/gchange", 7 | "feed_url": "https://raw.githubusercontent.com/duniter-gchange/gchange-client/master/doc/feed/feed-fr.json", 8 | "author": { 9 | "name": "Benoit Lavenier", 10 | "url": "https://www.gchange.fr/#/app/wot/8PTThXiUSwwuPoqQWw3tuAn4MpvzQzpKhs6LMuiozS7Z/", 11 | "avatar": "https://data.gchange.fr/user/profile/8PTThXiUSwwuPoqQWw3tuAn4MpvzQzpKhs6LMuiozS7Z/_image/avatar.png" 12 | }, 13 | "items": [ 14 | { 15 | "title": "Charte d'utilisation", 16 | "author": { 17 | "name": "Benoit Lavenier", 18 | "url": "https://www.gchange.fr/#/app/wot/8PTThXiUSwwuPoqQWw3tuAn4MpvzQzpKhs6LMuiozS7Z/", 19 | "avatar": "https://data.gchange.fr/user/profile/8PTThXiUSwwuPoqQWw3tuAn4MpvzQzpKhs6LMuiozS7Z/_image/avatar.png" 20 | }, 21 | "date_published": "2021-06-21T14:35:00+01:00", 22 | "id": "", 23 | "url": "", 24 | "content_html": "" 25 | } 26 | ] 27 | } 28 | -------------------------------------------------------------------------------- /doc/fr/img/04e64b769cbd45b9d275cd5f81002a399a1a7684.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/doc/fr/img/04e64b769cbd45b9d275cd5f81002a399a1a7684.png -------------------------------------------------------------------------------- /doc/fr/img/3b8fa2f5c0465b13ae5ce74d49702e0c9f027866.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/doc/fr/img/3b8fa2f5c0465b13ae5ce74d49702e0c9f027866.png -------------------------------------------------------------------------------- /doc/fr/img/ceb75301172038e75f5c43b328dd7febd7bedc7e.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/doc/fr/img/ceb75301172038e75f5c43b328dd7febd7bedc7e.png -------------------------------------------------------------------------------- /doc/fr/img/fef4f4dfe7c2168cb27c9e7f5e399fd547ce774a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/doc/fr/img/fef4f4dfe7c2168cb27c9e7f5e399fd547ce774a.png -------------------------------------------------------------------------------- /doc/installation.md: -------------------------------------------------------------------------------- 1 | # Installation guide 2 | 3 | ### As a web extension (Firefox, Chrome) 4 | 5 | - Download the [latest extension release](https://github.com/duniter-gchange/gchange-client/releases/latest) 6 | 7 | - Drag/drop the file into your browser; 8 | 9 | - Confirm the installation. 10 | 11 | That's it! A new button is appeared, in the top right corner. 12 | 13 | ### On smartphone 14 | 15 | - Android: 16 | * Manual installation: download then install the `.apk` from your smartphone ([latest release](https://github.com/duniter-gchange/gchange-client/releases/latest)); 17 | * Google [Play Store](https://play.google.com/store/apps/details?id=fr.gchange); 18 | - iOS: 19 | * Apple [App Store](https://apps.apple.com/us/app/%C4%9Fchange/id1479252045); 20 | 21 | ## From the web archive 22 | 23 | - Download ZIP web archive ([latest release](https://github.com/duniter-gchange/gchange-client/releases/latest); 24 | - Unzip into an empty folder; 25 | - Open the file `index.html` with your web browser. 26 | 27 | -------------------------------------------------------------------------------- /doc/mozilla/README.md: -------------------------------------------------------------------------------- 1 | Need node 12, and yarn (/!\ and NOT NPM!) 2 | 3 | # Steps to build from sources 4 | 5 | - Install node JS v12: 6 | `nvm use 12` 7 | 8 | - Clone the project (or use attached sources) 9 | ``` 10 | git clone git@github.com:duniter-gchange/gchange-client.git 11 | cd gchange-client 12 | ``` 13 | 14 | - Install global deps 15 | `npm install -g gulp @ionic/cli web-ext` 16 | 17 | - Install project deps: /!\ do NOT used NPM!! 18 | `yarn install` 19 | 20 | - Compile sources /!\ This step was missing in last version - sorry !! 21 | `gulp build` 22 | 23 | - Build the extension: 24 | `gulp webExtBuild --release` 25 | 26 | Artifacts should be inside: 'dist/web/build' 27 | 28 | 29 | -------------------------------------------------------------------------------- /doc/mozilla/describe_extenstion-en.html: -------------------------------------------------------------------------------- 1 | 9 | -------------------------------------------------------------------------------- /doc/mozilla/describe_extenstion-fr.html: -------------------------------------------------------------------------------- 1 | 9 | -------------------------------------------------------------------------------- /ionic.config.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "gchange-client", 3 | "type": "ionic1", 4 | "integrations": { 5 | "cordova": {} 6 | }, 7 | "watchPatterns": [ 8 | "www/index.html", 9 | "www/dist/**/*", 10 | "www/css/*.css" 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /jsconfig.json: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /resources/android/build/app/build-extras.gradle: -------------------------------------------------------------------------------- 1 | configurations.all { 2 | resolutionStrategy { 3 | force 'androidx.legacy:legacy-support-v4:1.0.0' 4 | force 'androidx.appcompat:appcompat:1.2.0' 5 | } 6 | } 7 | dependencies { 8 | implementation(project(path: ":CordovaLib")) { 9 | exclude group: 'com.android.support', module:'support-v4' 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /resources/android/build/app/libs/libsodium-jni-release.aar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/resources/android/build/app/libs/libsodium-jni-release.aar -------------------------------------------------------------------------------- /resources/android/build/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | zipStoreBase=GRADLE_USER_HOME 4 | zipStorePath=wrapper/dists 5 | distributionUrl=https://services.gradle.org/distributions/gradle-6.5.1-all.zip 6 | -------------------------------------------------------------------------------- /resources/android/build/tools/android-accept-licenses.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/expect -f 2 | 3 | set timeout 1800 4 | set cmd [lindex $argv 0] 5 | set licenses [lindex $argv 1] 6 | 7 | spawn {*}$cmd 8 | expect { 9 | "Do you accept the license '*'*" { 10 | exp_send "y\r" 11 | exp_continue 12 | } 13 | eof 14 | } 15 | -------------------------------------------------------------------------------- /resources/android/icon/drawable-hdpi-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/resources/android/icon/drawable-hdpi-icon.png -------------------------------------------------------------------------------- /resources/android/icon/drawable-ldpi-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/resources/android/icon/drawable-ldpi-icon.png -------------------------------------------------------------------------------- /resources/android/icon/drawable-mdpi-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/resources/android/icon/drawable-mdpi-icon.png -------------------------------------------------------------------------------- /resources/android/icon/drawable-xhdpi-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/resources/android/icon/drawable-xhdpi-icon.png -------------------------------------------------------------------------------- /resources/android/icon/drawable-xxhdpi-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/resources/android/icon/drawable-xxhdpi-icon.png -------------------------------------------------------------------------------- /resources/android/icon/drawable-xxxhdpi-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/resources/android/icon/drawable-xxxhdpi-icon.png -------------------------------------------------------------------------------- /resources/android/playstore/gchange-annonce_bureau.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/resources/android/playstore/gchange-annonce_bureau.png -------------------------------------------------------------------------------- /resources/android/playstore/gchange-capture-accueil.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/resources/android/playstore/gchange-capture-accueil.png -------------------------------------------------------------------------------- /resources/android/playstore/gchange-capture-liste_annonces.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/resources/android/playstore/gchange-capture-liste_annonces.png -------------------------------------------------------------------------------- /resources/android/playstore/gchange-capture-mes_annonces.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/resources/android/playstore/gchange-capture-mes_annonces.png -------------------------------------------------------------------------------- /resources/android/playstore/gchange-capture-nouvelle_annonce.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/resources/android/playstore/gchange-capture-nouvelle_annonce.png -------------------------------------------------------------------------------- /resources/android/playstore/gchange_1024x500_fr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/resources/android/playstore/gchange_1024x500_fr.png -------------------------------------------------------------------------------- /resources/android/playstore/gchange_1024x500_fr.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/resources/android/playstore/gchange_1024x500_fr.xcf -------------------------------------------------------------------------------- /resources/android/splash/drawable-land-hdpi-screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/resources/android/splash/drawable-land-hdpi-screen.png -------------------------------------------------------------------------------- /resources/android/splash/drawable-land-ldpi-screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/resources/android/splash/drawable-land-ldpi-screen.png -------------------------------------------------------------------------------- /resources/android/splash/drawable-land-mdpi-screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/resources/android/splash/drawable-land-mdpi-screen.png -------------------------------------------------------------------------------- /resources/android/splash/drawable-land-xhdpi-screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/resources/android/splash/drawable-land-xhdpi-screen.png -------------------------------------------------------------------------------- /resources/android/splash/drawable-land-xxhdpi-screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/resources/android/splash/drawable-land-xxhdpi-screen.png -------------------------------------------------------------------------------- /resources/android/splash/drawable-land-xxxhdpi-screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/resources/android/splash/drawable-land-xxxhdpi-screen.png -------------------------------------------------------------------------------- /resources/android/splash/drawable-port-hdpi-screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/resources/android/splash/drawable-port-hdpi-screen.png -------------------------------------------------------------------------------- /resources/android/splash/drawable-port-ldpi-screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/resources/android/splash/drawable-port-ldpi-screen.png -------------------------------------------------------------------------------- /resources/android/splash/drawable-port-mdpi-screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/resources/android/splash/drawable-port-mdpi-screen.png -------------------------------------------------------------------------------- /resources/android/splash/drawable-port-xhdpi-screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/resources/android/splash/drawable-port-xhdpi-screen.png -------------------------------------------------------------------------------- /resources/android/splash/drawable-port-xxhdpi-screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/resources/android/splash/drawable-port-xxhdpi-screen.png -------------------------------------------------------------------------------- /resources/android/splash/drawable-port-xxxhdpi-screen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/resources/android/splash/drawable-port-xxxhdpi-screen.png -------------------------------------------------------------------------------- /resources/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/resources/icon.png -------------------------------------------------------------------------------- /resources/ios/icon/Icon-App-20x20@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/resources/ios/icon/Icon-App-20x20@1x.png -------------------------------------------------------------------------------- /resources/ios/icon/Icon-App-20x20@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/resources/ios/icon/Icon-App-20x20@2x.png -------------------------------------------------------------------------------- /resources/ios/icon/Icon-App-20x20@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/resources/ios/icon/Icon-App-20x20@3x.png -------------------------------------------------------------------------------- /resources/ios/icon/Icon-App-29x29@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/resources/ios/icon/Icon-App-29x29@1x.png -------------------------------------------------------------------------------- /resources/ios/icon/Icon-App-29x29@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/resources/ios/icon/Icon-App-29x29@2x.png -------------------------------------------------------------------------------- /resources/ios/icon/Icon-App-29x29@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/resources/ios/icon/Icon-App-29x29@3x.png -------------------------------------------------------------------------------- /resources/ios/icon/Icon-App-40x40@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/resources/ios/icon/Icon-App-40x40@1x.png -------------------------------------------------------------------------------- /resources/ios/icon/Icon-App-40x40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/resources/ios/icon/Icon-App-40x40@2x.png -------------------------------------------------------------------------------- /resources/ios/icon/Icon-App-40x40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/resources/ios/icon/Icon-App-40x40@3x.png -------------------------------------------------------------------------------- /resources/ios/icon/Icon-App-60x60@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/resources/ios/icon/Icon-App-60x60@2x.png -------------------------------------------------------------------------------- /resources/ios/icon/Icon-App-60x60@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/resources/ios/icon/Icon-App-60x60@3x.png -------------------------------------------------------------------------------- /resources/ios/icon/Icon-App-76x76@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/resources/ios/icon/Icon-App-76x76@1x.png -------------------------------------------------------------------------------- /resources/ios/icon/Icon-App-76x76@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/resources/ios/icon/Icon-App-76x76@2x.png -------------------------------------------------------------------------------- /resources/ios/icon/Icon-App-83.5x83.5@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/resources/ios/icon/Icon-App-83.5x83.5@2x.png -------------------------------------------------------------------------------- /resources/ios/icon/ItunesArtwork@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/resources/ios/icon/ItunesArtwork@2x.png -------------------------------------------------------------------------------- /resources/ios/splash/Default-2436h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/resources/ios/splash/Default-2436h.png -------------------------------------------------------------------------------- /resources/ios/splash/Default-568h@2x~iphone.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/resources/ios/splash/Default-568h@2x~iphone.png -------------------------------------------------------------------------------- /resources/ios/splash/Default-667h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/resources/ios/splash/Default-667h.png -------------------------------------------------------------------------------- /resources/ios/splash/Default-736h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/resources/ios/splash/Default-736h.png -------------------------------------------------------------------------------- /resources/ios/splash/Default-Landscape-2436h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/resources/ios/splash/Default-Landscape-2436h.png -------------------------------------------------------------------------------- /resources/ios/splash/Default-Landscape-736h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/resources/ios/splash/Default-Landscape-736h.png -------------------------------------------------------------------------------- /resources/ios/splash/Default-Landscape@2x~ipad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/resources/ios/splash/Default-Landscape@2x~ipad.png -------------------------------------------------------------------------------- /resources/ios/splash/Default-Landscape@~ipadpro.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/resources/ios/splash/Default-Landscape@~ipadpro.png -------------------------------------------------------------------------------- /resources/ios/splash/Default-Landscape~ipad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/resources/ios/splash/Default-Landscape~ipad.png -------------------------------------------------------------------------------- /resources/ios/splash/Default-Portrait@2x~ipad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/resources/ios/splash/Default-Portrait@2x~ipad.png -------------------------------------------------------------------------------- /resources/ios/splash/Default-Portrait@~ipadpro.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/resources/ios/splash/Default-Portrait@~ipadpro.png -------------------------------------------------------------------------------- /resources/ios/splash/Default-Portrait~ipad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/resources/ios/splash/Default-Portrait~ipad.png -------------------------------------------------------------------------------- /resources/ios/splash/Default@2x~iphone.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/resources/ios/splash/Default@2x~iphone.png -------------------------------------------------------------------------------- /resources/ios/splash/Default@2x~universal~anyany.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/resources/ios/splash/Default@2x~universal~anyany.png -------------------------------------------------------------------------------- /resources/ios/splash/Default~iphone.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/resources/ios/splash/Default~iphone.png -------------------------------------------------------------------------------- /resources/logos/logo-512px.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/resources/logos/logo-512px.png -------------------------------------------------------------------------------- /resources/maps/test_rect_with_hole.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /resources/splash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/resources/splash.png -------------------------------------------------------------------------------- /resources/web-ext/background.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Add browser actions, for WebExtension 3 | * (e.g. to open Cesium in a tab, when integrated as a Firefox extension). 4 | * 5 | * See https://forum.duniter.org/t/premiere-version-du-module-cesium-pour-firefox/6944 6 | * 7 | **/ 8 | var browser, chrome; 9 | 10 | browser = browser || chrome; 11 | 12 | var browserExtensionRequirements = browser.browserAction && browser.browserAction.onClicked && browser.tabs; 13 | 14 | // If integrated as a browser extension 15 | if (browserExtensionRequirements) { 16 | 17 | /** 18 | * Open Cesium in a new browser's tab 19 | */ 20 | function openInTab() { 21 | console.debug("[extension] Opening Gchange...") 22 | browser.tabs.create({ 23 | url: "index.html" 24 | }); 25 | 26 | 27 | } 28 | 29 | // FIXME: finish this code 30 | function checkNotifications() { 31 | console.debug("[extension] Checking for notifications..."); 32 | 33 | browser.browserAction.setBadgeText({ 34 | text: '0' 35 | }); 36 | browser.browserAction.setBadgeBackgroundColor({ 37 | color: '#387EF5' // = $positive color - see the SCSS theme 38 | }); 39 | 40 | // Loop, after a delay 41 | setTimeout(function() { 42 | checkNotifications(); 43 | }, 60 * 1000 /*1min*/); 44 | } 45 | 46 | // Adding browser action 47 | browser.browserAction.onClicked.addListener(openInTab); 48 | 49 | } 50 | -------------------------------------------------------------------------------- /resources/web-ext/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "gchange-client", 3 | "short_name": "gchange", 4 | "version": "1.4.0", 5 | "description": "Make exchanges in the libre currency Ğ1!", 6 | "background": { 7 | "scripts": ["background.js"] 8 | }, 9 | "permissions": ["storage"], 10 | "browser_action" : { 11 | "default_title": "ğchange", 12 | "default_icon": { 13 | "32": "img/logo_32px.png", 14 | "64": "img/logo_64px.png", 15 | "128": "img/logo_128px.png" 16 | } 17 | }, 18 | "icons": { 19 | "32": "img/logo_32px.png", 20 | "64": "img/logo_64px.png", 21 | "128": "img/logo_128px.png" 22 | }, 23 | "manifest_version": 2 24 | } 25 | -------------------------------------------------------------------------------- /scripts/build-android.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Get to the root project 4 | if [[ "_" == "_${PROJECT_DIR}" ]]; then 5 | SCRIPT_DIR=$(dirname $0) 6 | PROJECT_DIR=$(cd ${SCRIPT_DIR}/.. && pwd) 7 | export PROJECT_DIR 8 | fi; 9 | 10 | # Preparing Android environment 11 | . ${PROJECT_DIR}/scripts/env-android.sh 12 | if [[ $? -ne 0 ]]; then 13 | exit 1 14 | fi 15 | 16 | cd ${PROJECT_DIR} 17 | 18 | # Run the build 19 | echo "Cleaning previous android APK files..." 20 | rm -rf ${ANDROID_OUTPUT_APK_DEBUG}/*.apk 21 | rm -rf ${ANDROID_OUTPUT_APK_RELEASE}/*.apk 22 | 23 | echo "Running cordova build android..." 24 | ionic cordova build android --warning-mode=none --color $* 25 | #ionic cordova build android --warning-mode=none --color --verbose 26 | -------------------------------------------------------------------------------- /scripts/build-desktop.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Get to the root project 4 | if [[ "_" == "_${PROJECT_DIR}" ]]; then 5 | SCRIPT_DIR=$(dirname $0) 6 | PROJECT_DIR=$(cd ${SCRIPT_DIR}/.. && pwd) 7 | export PROJECT_DIR 8 | fi; 9 | 10 | cd ${PROJECT_DIR} 11 | 12 | ### Control that the script is run on `dev` branch 13 | branch=$(git rev-parse --abbrev-ref HEAD) 14 | if [[ ! "$branch" == "master" ]]; 15 | then 16 | echo ">> This script must be run under \`master\` branch" 17 | exit 1 18 | fi 19 | 20 | ### Get current version (package.json) 21 | current=$(grep -oP "version\": \"\d+.\d+.\d+((a|b)[0-9]+)?" package.json | grep -m 1 -oP "\d+.\d+.\d+((a|b)[0-9]+)?") 22 | if [[ "_$current" == "_" ]]; then 23 | echo "Unable to read the current version in 'package.json'. Please check version format is: x.y.z (x and y should be an integer)." 24 | exit 1; 25 | fi 26 | echo "Current version: $current" 27 | 28 | # Preparing environment 29 | . ${PROJECT_DIR}/scripts/env-global.sh 30 | if [[ $? -ne 0 ]]; then 31 | exit 1 32 | fi 33 | 34 | echo "----------------------------------" 35 | echo "- Building desktop artifacts..." 36 | echo "----------------------------------" 37 | if [[ ! -d "${PROJECT_DIR}/dist/desktop" ]]; then 38 | cd ${PROJECT_DIR} 39 | git submodule init 40 | fi 41 | if [[ -d "${PROJECT_DIR}/dist/desktop" ]]; then 42 | cd "${PROJECT_DIR}/dist/desktop" 43 | 44 | # Fetch last updates 45 | git fetch origin && git merge origin/master || exit 1 46 | 47 | # Build desktop assets 48 | ./release.sh $current || exit 1 49 | else 50 | echo "ERROR: dist/desktop not found -> Make sure git submodule has been init!" 51 | exit 1 52 | fi; 53 | 54 | echo "**********************************" 55 | echo "* Build desktop succeed !" 56 | echo "**********************************" 57 | 58 | -------------------------------------------------------------------------------- /scripts/docker-build.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Get to the root project 4 | if [[ "_" == "_${PROJECT_DIR}" ]]; then 5 | SCRIPT_DIR=$(dirname $0) 6 | PROJECT_DIR=$(cd ${SCRIPT_DIR}/.. && pwd) 7 | export PROJECT_DIR 8 | fi; 9 | 10 | cd ${PROJECT_DIR} 11 | 12 | CMD="sudo docker build ${PROJECT_DIR} -t gchange-client/release" 13 | echo "Executing: $CMD" 14 | $CMD 15 | -------------------------------------------------------------------------------- /scripts/docker-start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Get to the root project 4 | if [[ "_" == "_${PROJECT_DIR}" ]]; then 5 | SCRIPT_DIR=$(dirname $0) 6 | PROJECT_DIR=$(cd ${SCRIPT_DIR}/.. && pwd) 7 | export PROJECT_DIR 8 | fi; 9 | 10 | cd ${PROJECT_DIR} 11 | 12 | CMD="sudo docker run -ti --rm -p 8100:8100 -p 35729:35729 -v ${PROJECT_DIR}:/cesium:rw cesium:release" 13 | echo "Executing: $CMD" 14 | $CMD 15 | -------------------------------------------------------------------------------- /scripts/emulate-android.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Get to the root project 3 | if [[ "_" == "_${PROJECT_DIR}" ]]; then 4 | cd .. 5 | PROJECT_DIR=`pwd` 6 | export PROJECT_DIR 7 | fi; 8 | 9 | # Preparing Android environment 10 | . ${PROJECT_DIR}/scripts/env-android.sh 11 | if [[ $? -ne 0 ]]; then 12 | exit 1 13 | fi 14 | 15 | cd ${PROJECT_DIR} 16 | 17 | # Run the build 18 | echo "Running Android emulator..." 19 | ionic cordova emulate android --warning-mode=none --color 20 | -------------------------------------------------------------------------------- /scripts/env-clean.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Get to the root project 4 | if [[ "_" == "_${PROJECT_DIR}" ]]; then 5 | SCRIPT_DIR=$(dirname $0) 6 | PROJECT_DIR=$(cd ${SCRIPT_DIR}/.. && pwd) 7 | export PROJECT_DIR 8 | fi; 9 | 10 | if [[ ! -f "${PROJECT_DIR}/package.json" ]]; then 11 | echo "Invalid project dir: file 'package.json' not found in ${PROJECT_DIR}" 12 | echo "-> Make sur to run the script 'prepare_env.sh' from the project directory, or export env variable 'PROJECT_DIR'" 13 | exit 1 14 | fi; 15 | 16 | cd ${PROJECT_DIR} 17 | 18 | #echo "Cleaning project dependencies..." 19 | #rm -rf node_modules 20 | 21 | echo "Cleaning Cordova plugins..." 22 | rm -rf plugins 23 | 24 | echo "Cleaning Android platform..." 25 | #rm -rf platforms/android 26 | -------------------------------------------------------------------------------- /scripts/hooks/README.md: -------------------------------------------------------------------------------- 1 | # Cordova Hooks 2 | 3 | Cordova Hooks represent special scripts which could be added by application and plugin developers or even by your own build system to customize cordova commands. See Hooks Guide for more details: https://cordova.apache.org/docs/en/latest/guide/appdev/hooks/. -------------------------------------------------------------------------------- /scripts/hooks/after_prepare.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | const gulp = require('gulp'), 4 | path = require("path"), 5 | log = require('fancy-log'), 6 | colors = require('ansi-colors'); 7 | 8 | module.exports = function(context) { 9 | const now = Date.now(); 10 | log("Executing '" + colors.cyan("after_prepare") + "' hook..."); 11 | 12 | const projectRoot = context && context.opts && context.opts.projectRoot || '.'; 13 | const platforms = context && context.opts && context.opts.platforms || ['android']; 14 | const gulpFile = require(path.join(projectRoot, 'gulpfile')); 15 | 16 | if (!projectRoot || !platforms || !gulpFile) return; // Skip 17 | 18 | return Promise.all(platforms 19 | .map(platform => { 20 | return new Promise(done => gulpFile.cdvAfterPrepare(done, projectRoot, platform.trim().toLowerCase())); 21 | })) 22 | .then(() => { 23 | log(colors.grey("Hook 'after_prepare' finished in " + (Date.now() - now) + 'ms')); 24 | }); 25 | } 26 | -------------------------------------------------------------------------------- /scripts/hooks/before_compile.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | const gulp = require('gulp'), 4 | path = require("path"), 5 | log = require('fancy-log'), 6 | colors = require('ansi-colors'); 7 | 8 | module.exports = function(context) { 9 | const now = Date.now(); 10 | log("Executing '" + colors.cyan("before_compile") + "' hook..."); 11 | 12 | const projectRoot = context && context.opts && context.opts.projectRoot || '.'; 13 | const platforms = context && context.opts && context.opts.platforms || ['android']; 14 | const gulpFile = require(path.join(projectRoot, 'gulpfile')); 15 | 16 | if (!projectRoot || !platforms || !gulpFile) return; // Skip 17 | 18 | return Promise.all(platforms 19 | .map(platform => { 20 | return new Promise(done => gulpFile.cdvBeforeCompile(done, projectRoot, platform.trim().toLowerCase())); 21 | })) 22 | .then(() => { 23 | log(colors.grey("Hook 'before_compile' finished in " + (Date.now() - now) + 'ms')); 24 | }); 25 | } 26 | -------------------------------------------------------------------------------- /scripts/hooks/before_prepare.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | const gulp = require('gulp'), 4 | path = require("path"), 5 | colors = require('ansi-colors'), 6 | jshint = require('../node/jshint-utils'), 7 | log = require('fancy-log'); 8 | 9 | module.exports = function(context) { 10 | const now = Date.now(); 11 | log("Executing '" + colors.cyan("before_prepare") + "' hook..."); 12 | 13 | const projectRoot = context && context.opts && context.opts.projectRoot || '.'; 14 | const platforms = context && context.opts && context.opts.platforms || ['android']; 15 | 16 | const gulpFile = require(path.join(projectRoot, 'gulpfile')); 17 | 18 | if (!projectRoot || !platforms || !gulpFile) return; // Skip 19 | 20 | // Run JS Lint 21 | return jshint.validate(projectRoot) // new Promise(done => gulpFile.lint(done)) 22 | .then(() => { 23 | log(colors.grey("Hook 'before_prepare' finished in " + (Date.now() - now) + 'ms')); 24 | }); 25 | } 26 | -------------------------------------------------------------------------------- /scripts/ionic-update.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Get to the root project 4 | if [[ "_" == "_${PROJECT_DIR}" ]]; then 5 | SCRIPT_DIR=$(dirname $0) 6 | PROJECT_DIR=$(cd ${SCRIPT_DIR}/.. && pwd) 7 | export PROJECT_DIR 8 | fi; 9 | 10 | # Preparing Android environment 11 | . ${PROJECT_DIR}/scripts/env-android.sh 12 | if [[ $? -ne 0 ]]; then 13 | exit 1 14 | fi 15 | 16 | cd ${PROJECT_DIR} 17 | 18 | echo "Updating Ionic..." 19 | npm update -g @ionic/cli 20 | 21 | echo "Updating Cordova..." 22 | npm update -g cordova@latest 23 | if [[ $? -ne 0 ]]; then 24 | exit 1 25 | fi 26 | 27 | if [[ ! -d "${PROJECT_DIR}/plugins" ]]; then 28 | echo "Installing Cordova plugins..." 29 | ionic cordova prepare 30 | fi 31 | 32 | #echo "Updating Cordova plugins..." 33 | #ionic cordova platform update android --save 34 | #if [[ $? -ne 0 ]]; then 35 | # exit 1 36 | #fi 37 | -------------------------------------------------------------------------------- /scripts/node/jshint.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | const jshint = require('./jshint-utils'); 4 | 5 | jshint.validate(); 6 | 7 | -------------------------------------------------------------------------------- /scripts/release-android-sign.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Get to the root project 4 | if [[ "_" == "_${PROJECT_DIR}" ]]; then 5 | SCRIPT_DIR=$(dirname $0) 6 | PROJECT_DIR=$(cd ${SCRIPT_DIR}/.. && pwd) 7 | export PROJECT_DIR 8 | fi; 9 | 10 | # Default env (can be override in file /.local/env.sh) 11 | KEYSTORE_FILE=${PROJECT_DIR}/.local/android/Cesium.keystore 12 | KEY_ALIAS=Cesium 13 | KEYSTORE_PWD= 14 | APK_RELEASE_DIR=${PROJECT_DIR}/platforms/android/app/build/outputs/apk/release 15 | APK_UNSIGNED_FILE=${APK_RELEASE_DIR}/app-release-unsigned.apk 16 | APK_SIGNED_FILE=${APK_RELEASE_DIR}/app-release.apk 17 | 18 | 19 | # Preparing Android environment 20 | . ${PROJECT_DIR}/scripts/env-android.sh 21 | [[ $? -ne 0 ]] && exit 1 22 | 23 | cd ${PROJECT_DIR} 24 | 25 | # Sign files 26 | echo "Signing APK file..." 27 | if [[ ! -f "${APK_UNSIGNED_FILE}" ]]; then 28 | echo "APK file not found: ${APK_UNSIGNED_FILE}" 29 | exit 1 30 | fi 31 | if [[ ! -f "${KEYSTORE_FILE}" ]]; then 32 | echo "Keystore file not found: ${KEYSTORE_FILE}" 33 | exit 1 34 | fi 35 | 36 | # Remove previous version 37 | if [[ -f "${APK_SIGNED_FILE}" ]]; then 38 | echo "Delete previous signed APK file: ${APK_SIGNED_FILE}" 39 | rm -f ${APK_SIGNED_FILE} 40 | fi 41 | 42 | echo "Executing jarsigner..." 43 | jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore ${KEYSTORE_FILE} ${APK_UNSIGNED_FILE} Cesium 44 | [[ $? -ne 0 ]] && exit 1 45 | echo "Executing jarsigner [OK]" 46 | 47 | BUILD_TOOLS_DIR="${ANDROID_SDK_ROOT}/build-tools/${ANDROID_SDK_VERSION}/" 48 | cd ${BUILD_TOOLS_DIR} 49 | 50 | echo "Executing zipalign..." 51 | ./zipalign -v 4 ${APK_UNSIGNED_FILE} ${APK_SIGNED_FILE} 52 | [[ $? -ne 0 ]] && exit 1 53 | echo "Executing zipalign [OK]" 54 | 55 | echo "Verify APK signature..." 56 | ./apksigner verify ${APK_SIGNED_FILE} 57 | [[ $? -ne 0 ]] && exit 1 58 | echo "Verify APK signature [OK]" 59 | 60 | echo "Successfully generated signed APK at: ${APK_SIGNED_FILE}" 61 | -------------------------------------------------------------------------------- /scripts/release-android-sources.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Get to the root project 4 | if [[ "_" == "_${PROJECT_DIR}" ]]; then 5 | SCRIPT_DIR=$(dirname $0) 6 | PROJECT_DIR=$(cd ${SCRIPT_DIR}/.. && pwd) 7 | export PROJECT_DIR 8 | fi; 9 | 10 | cd ${PROJECT_DIR} 11 | 12 | # Preparing the environment 13 | . ${PROJECT_DIR}/scripts/env-global.sh 14 | if [[ $? -ne 0 ]]; then 15 | exit 1 16 | fi 17 | 18 | # Commit android project 19 | cd ${PROJECT_DIR}/platforms/android || exit 1 20 | git reset HEAD 21 | git add -A 22 | git commit -m "v$1" 23 | git tag -f -a "v$1" -m "Release v$1" 24 | # Push the tag 25 | git push -f origin "v$1" 26 | # Push the master branch 27 | git push -f origin 28 | if [[ $? -ne 0 ]]; then 29 | echo "ERROR: cannot push platform/android project ! Continue anyway..." 30 | fi 31 | -------------------------------------------------------------------------------- /scripts/release-android.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Get to the root project 4 | if [[ "_" == "_${PROJECT_DIR}" ]]; then 5 | SCRIPT_DIR=$(dirname $0) 6 | PROJECT_DIR=$(cd ${SCRIPT_DIR}/.. && pwd) 7 | export PROJECT_DIR 8 | fi; 9 | 10 | # Preparing Android environment 11 | . ${PROJECT_DIR}/scripts/env-android.sh 12 | [[ $? -ne 0 ]] && exit 1 13 | 14 | ANDROID_OUTPUT_APK_RELEASE=${PROJECT_DIR}/platforms/android/app/build/outputs/apk/release 15 | APK_UNSIGNED_FILE=${ANDROID_OUTPUT_APK_RELEASE}/${ANDROID_OUTPUT_APK_PREFIX}-release-unsigned.apk 16 | APK_SIGNED_FILE=${ANDROID_OUTPUT_APK_RELEASE}/${ANDROID_OUTPUT_APK_PREFIX}-release.apk 17 | 18 | 19 | # Remove existing APK 20 | if [[ -d "${ANDROID_OUTPUT_APK_RELEASE}" ]]; then 21 | rm ${ANDROID_OUTPUT_APK_RELEASE}/*.apk 22 | fi; 23 | 24 | cd ${PROJECT_DIR} 25 | 26 | # Run the build 27 | echo "Running cordova build..." 28 | ionic cordova build android --warning-mode=none --color --prod --release 29 | [[ $? -ne 0 ]] && exit 1 30 | 31 | 32 | # Sign the APK if possible 33 | if [[ ! -f "${APK_SIGNED_FILE}" ]]; then 34 | . ${PROJECT_DIR}/scripts/release-android-sign.sh 35 | [[ $? -ne 0 ]] && exit 1 36 | fi 37 | 38 | # Check signed APK exists 39 | if [[ ! -f "${APK_SIGNED_FILE}" ]]; then 40 | echo "No APK file generated!" 41 | exit 1 42 | fi 43 | -------------------------------------------------------------------------------- /scripts/release-desktop.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Get to the root project 4 | if [[ "_" == "_${PROJECT_DIR}" ]]; then 5 | SCRIPT_DIR=$(dirname $0) 6 | PROJECT_DIR=$(cd ${SCRIPT_DIR}/.. && pwd) 7 | export PROJECT_DIR 8 | fi; 9 | 10 | cd ${PROJECT_DIR} 11 | 12 | # Preparing the environment 13 | source ${PROJECT_DIR}/scripts/env-global.sh 14 | [[ $? -ne 0 ]] && exit 1 15 | 16 | ### Control that the script is run on `dev` branch 17 | branch=$(git rev-parse --abbrev-ref HEAD) 18 | if [[ ! "$branch" = "master" ]]; 19 | then 20 | echo ">> This script must be run under \`master\` branch" 21 | exit 1 22 | fi 23 | 24 | ### Get version to release 25 | current=$(grep -P "version\": \"\d+.\d+.\d+(\w*)" package.json | grep -m 1 -oP "\d+.\d+.\d+(\w*)") 26 | if [[ "_$current" == "_" ]]; then 27 | echo "Unable to read the current version in 'package.json'. Please check version format is: x.y.z (x and y should be an integer)." 28 | exit 1; 29 | fi 30 | 31 | ### Check submodule exists 32 | if [[ ! -d "${PROJECT_DIR}/dist/desktop" ]]; then 33 | echo "ERROR: dist/desktop not found -> Make sure git submodule has been init!" 34 | exit 1 35 | fi; 36 | 37 | ### Sign extension 38 | case "$1" in 39 | pre|rel) 40 | echo "Building v$current desktop artifacts..." 41 | ;; 42 | *) 43 | echo "No task given" 44 | echo "Usage:" 45 | echo " > $0 pre|rel" 46 | exit 1 47 | ;; 48 | esac 49 | 50 | cd "${PROJECT_DIR}/dist/desktop" 51 | 52 | # Fetch last updates 53 | git fetch origin && git merge origin/master || exit 1 54 | 55 | ### Skip windows assets (workaround because it often failed) 56 | if [[ "${DESKTOP_ASSETS}" == "linux" ]]; then 57 | 58 | echo "Skipping windows assets, because DESKTOP_ASSETS env was set to 'linux'." 59 | EXPECTED_ASSETS="${PROJECT_NAME}-desktop-v$current-linux-x64.deb 60 | ${PROJECT_NAME}-desktop-v$current-linux-x64.tar.gz" 61 | fi 62 | 63 | # Build desktop assets 64 | ./release.sh $current 65 | [[ $? -ne 0 ]] && exit 1 66 | 67 | -------------------------------------------------------------------------------- /scripts/run-android.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Get to the root project 4 | if [[ "_" == "_${PROJECT_DIR}" ]]; then 5 | SCRIPT_DIR=$(dirname $0) 6 | PROJECT_DIR=$(cd ${SCRIPT_DIR}/.. && pwd) 7 | export PROJECT_DIR 8 | fi; 9 | 10 | # Preparing Android environment 11 | . ${PROJECT_DIR}/scripts/env-android.sh 12 | [[ $? -ne 0 ]] && exit 1 13 | 14 | cd ${PROJECT_DIR} 15 | 16 | # Run the build 17 | echo "Building Android application..." 18 | ionic cordova build android --warning-mode=none --color $* 19 | [[ $? -ne 0 ]] && exit 1 20 | 21 | echo "Running Android application..." 22 | if [[ "$1" == "--release" ]]; then 23 | if [[ -f ${ANDROID_OUTPUT_APK_RELEASE}/app-release.apk ]]; then 24 | native-run android --app ${ANDROID_OUTPUT_APK_RELEASE}/app-release-unsigned.apk 25 | elif [[ -f ${ANDROID_OUTPUT_APK_RELEASE}/app-release.apk ]]; then 26 | native-run android --app ${ANDROID_OUTPUT_APK_RELEASE}/app-release-unsigned.apk 27 | fi 28 | else 29 | native-run android --app ${ANDROID_OUTPUT_APK_DEBUG}/app-debug.apk 30 | fi 31 | 32 | -------------------------------------------------------------------------------- /scss/converse.app.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | 3 | @import "../www/lib/converse/css/converse"; 4 | 5 | 6 | -------------------------------------------------------------------------------- /scss/icons/_cesiumicons-font.scss: -------------------------------------------------------------------------------- 1 | // Cesiumicons Font Path 2 | // -------------------------- 3 | 4 | @font-face { 5 | font-family: $cesiumicons-font-family; 6 | src:url("#{$cesiumicons-font-path}/cesiumicons.eot?v=#{$cesiumicons-version}"); 7 | src:url("#{$cesiumicons-font-path}/cesiumicons.eot?v=#{$cesiumicons-version}#iefix") format("embedded-opentype"), 8 | url("#{$cesiumicons-font-path}/cesiumicons.ttf?v=#{$cesiumicons-version}") format("truetype"), 9 | url("#{$cesiumicons-font-path}/cesiumicons.woff?v=#{$cesiumicons-version}") format("woff"), 10 | url("#{$cesiumicons-font-path}/cesiumicons.woff") format("woff"), /* for WP8 */ 11 | url("#{$cesiumicons-font-path}/cesiumicons.svg?v=#{$cesiumicons-version}#cesiumicons") format("svg"); 12 | font-weight: normal; 13 | font-style: normal; 14 | } 15 | 16 | .cion { 17 | display: inline-block; 18 | font-family: $cesiumicons-font-family; 19 | speak: none; 20 | font-style: normal; 21 | font-weight: normal; 22 | font-variant: normal; 23 | text-transform: none; 24 | text-rendering: auto; 25 | line-height: 1; 26 | -webkit-font-smoothing: antialiased; 27 | -moz-osx-font-smoothing: grayscale; 28 | } 29 | -------------------------------------------------------------------------------- /scss/icons/_cesiumicons-icons.scss: -------------------------------------------------------------------------------- 1 | // Cesiumicons Icons 2 | // -------------------------- 3 | 4 | .cesiumicons, 5 | .#{$cesiumicons-prefix}social-duniter:before, 6 | .#{$cesiumicons-prefix}social-diaspora:before, 7 | .#{$cesiumicons-prefix}office:before, 8 | .#{$cesiumicons-prefix}library:before, 9 | { 10 | @extend .cion; 11 | } 12 | .#{$cesiumicons-prefix}social-duniter:before { content: $cesiumicon-var-social-duniter; } 13 | .#{$cesiumicons-prefix}social-diaspora:before { content: $cesiumicon-var-social-diaspora; } 14 | .#{$cesiumicons-prefix}office:before { content: $cesiumicon-var-office; } 15 | .#{$cesiumicons-prefix}library:before { content: $cesiumicon-var-library; } 16 | -------------------------------------------------------------------------------- /scss/icons/_cesiumicons-variables.scss: -------------------------------------------------------------------------------- 1 | // Cesiumicons Variables 2 | // -------------------------- 3 | 4 | $cesiumicons-font-path: "../fonts" !default; 5 | $cesiumicons-font-family: "Cesiumicons" !default; 6 | $cesiumicons-version: "1.2" !default; 7 | $cesiumicons-prefix: ion- !default; 8 | 9 | $cesiumicon-var-social-duniter: "\e900"; 10 | $cesiumicon-var-social-diaspora: "\e915"; 11 | $cesiumicon-var-office: "\e903"; 12 | $cesiumicon-var-library: "\e921"; 13 | -------------------------------------------------------------------------------- /scss/icons/cesiumicons.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | @import "cesiumicons-variables"; 3 | 4 | @import "cesiumicons-font"; 5 | @import "cesiumicons-icons"; 6 | -------------------------------------------------------------------------------- /scss/leaflet.app.scss: -------------------------------------------------------------------------------- 1 | @charset "UTF-8"; 2 | @import "www/lib/leaflet/dist/leaflet"; 3 | @import "www/lib/leaflet-search/dist/leaflet-search.src"; 4 | @import "www/lib/Leaflet.EasyButton/src/easy-button"; 5 | @import "www/lib/leaflet.loading/src/Control.Loading"; 6 | @import "www/lib/Leaflet.awesome-markers/dist/leaflet.awesome-markers"; 7 | @import "www/lib/leaflet.markercluster/dist/MarkerCluster"; 8 | @import "www/lib/leaflet.markercluster/dist/MarkerCluster.Default"; 9 | -------------------------------------------------------------------------------- /scss/leaflet/images/layers-2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/scss/leaflet/images/layers-2x.png -------------------------------------------------------------------------------- /scss/leaflet/images/layers.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/scss/leaflet/images/layers.png -------------------------------------------------------------------------------- /scss/leaflet/images/loader.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/scss/leaflet/images/loader.gif -------------------------------------------------------------------------------- /scss/leaflet/images/marker-icon-2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/scss/leaflet/images/marker-icon-2x.png -------------------------------------------------------------------------------- /scss/leaflet/images/marker-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/scss/leaflet/images/marker-icon.png -------------------------------------------------------------------------------- /scss/leaflet/images/marker-shadow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/scss/leaflet/images/marker-shadow.png -------------------------------------------------------------------------------- /scss/leaflet/images/markers-matte.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/scss/leaflet/images/markers-matte.png -------------------------------------------------------------------------------- /scss/leaflet/images/markers-matte@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/scss/leaflet/images/markers-matte@2x.png -------------------------------------------------------------------------------- /scss/leaflet/images/markers-plain.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/scss/leaflet/images/markers-plain.png -------------------------------------------------------------------------------- /scss/leaflet/images/markers-shadow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/scss/leaflet/images/markers-shadow.png -------------------------------------------------------------------------------- /scss/leaflet/images/markers-shadow@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/scss/leaflet/images/markers-shadow@2x.png -------------------------------------------------------------------------------- /scss/leaflet/images/markers-soft.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/scss/leaflet/images/markers-soft.png -------------------------------------------------------------------------------- /scss/leaflet/images/markers-soft@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/scss/leaflet/images/markers-soft@2x.png -------------------------------------------------------------------------------- /scss/leaflet/images/search-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/scss/leaflet/images/search-icon.png -------------------------------------------------------------------------------- /typings/cordova-typings.d.ts: -------------------------------------------------------------------------------- 1 | 2 | /// 3 | /// 4 | /// 5 | /// 6 | /// 7 | /// -------------------------------------------------------------------------------- /www/.well-known/assetlinks.json: -------------------------------------------------------------------------------- 1 | [{ 2 | "relation": ["delegate_permission/common.handle_all_urls"], 3 | "target": { 4 | "namespace": "android_app", 5 | "package_name": "fr.gchange", 6 | "sha256_cert_fingerprints": 7 | ["BF:B9:09:74:EE:4F:FF:C7:F5:D1:93:10:86:2C:C0:13:87:81:54:82:F0:5C:18:ED:13:31:D1:A7:25:56:A4:BD"] 8 | } 9 | }] 10 | -------------------------------------------------------------------------------- /www/css/style-no-device.css: -------------------------------------------------------------------------------- 1 | .hidden-no-device { 2 | display: none !important; 3 | } 4 | -------------------------------------------------------------------------------- /www/fonts/cesiumicons.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/www/fonts/cesiumicons.eot -------------------------------------------------------------------------------- /www/fonts/cesiumicons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/www/fonts/cesiumicons.ttf -------------------------------------------------------------------------------- /www/fonts/cesiumicons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/www/fonts/cesiumicons.woff -------------------------------------------------------------------------------- /www/fonts/icomoon.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/www/fonts/icomoon.eot -------------------------------------------------------------------------------- /www/fonts/icomoon.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/www/fonts/icomoon.ttf -------------------------------------------------------------------------------- /www/fonts/icomoon.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/www/fonts/icomoon.woff -------------------------------------------------------------------------------- /www/img/arrow.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /www/img/background.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/www/img/background.jpg -------------------------------------------------------------------------------- /www/img/bg/autumn-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/www/img/bg/autumn-1.jpg -------------------------------------------------------------------------------- /www/img/bg/autumn-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/www/img/bg/autumn-2.jpg -------------------------------------------------------------------------------- /www/img/bg/autumn-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/www/img/bg/autumn-3.jpg -------------------------------------------------------------------------------- /www/img/bg/autumn-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/www/img/bg/autumn-4.jpg -------------------------------------------------------------------------------- /www/img/bg/autumn-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/www/img/bg/autumn-5.jpg -------------------------------------------------------------------------------- /www/img/bg/autumn-6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/www/img/bg/autumn-6.jpg -------------------------------------------------------------------------------- /www/img/bg/autumn-7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/www/img/bg/autumn-7.jpg -------------------------------------------------------------------------------- /www/img/bg/service-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/www/img/bg/service-1.jpg -------------------------------------------------------------------------------- /www/img/bg/service-10.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/www/img/bg/service-10.jpg -------------------------------------------------------------------------------- /www/img/bg/service-11.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/www/img/bg/service-11.jpg -------------------------------------------------------------------------------- /www/img/bg/service-12.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/www/img/bg/service-12.jpg -------------------------------------------------------------------------------- /www/img/bg/service-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/www/img/bg/service-2.jpg -------------------------------------------------------------------------------- /www/img/bg/service-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/www/img/bg/service-3.jpg -------------------------------------------------------------------------------- /www/img/bg/service-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/www/img/bg/service-4.jpg -------------------------------------------------------------------------------- /www/img/bg/service-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/www/img/bg/service-5.jpg -------------------------------------------------------------------------------- /www/img/bg/service-6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/www/img/bg/service-6.jpg -------------------------------------------------------------------------------- /www/img/bg/service-7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/www/img/bg/service-7.jpg -------------------------------------------------------------------------------- /www/img/bg/service-8.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/www/img/bg/service-8.jpg -------------------------------------------------------------------------------- /www/img/bg/service-9.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/www/img/bg/service-9.jpg -------------------------------------------------------------------------------- /www/img/bg/spring-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/www/img/bg/spring-1.jpg -------------------------------------------------------------------------------- /www/img/bg/spring-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/www/img/bg/spring-2.jpg -------------------------------------------------------------------------------- /www/img/bg/spring-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/www/img/bg/spring-3.jpg -------------------------------------------------------------------------------- /www/img/bg/spring-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/www/img/bg/spring-4.jpg -------------------------------------------------------------------------------- /www/img/bg/spring-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/www/img/bg/spring-5.jpg -------------------------------------------------------------------------------- /www/img/bg/spring-6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/www/img/bg/spring-6.jpg -------------------------------------------------------------------------------- /www/img/bg/spring-7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/www/img/bg/spring-7.jpg -------------------------------------------------------------------------------- /www/img/bg/summer-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/www/img/bg/summer-1.jpg -------------------------------------------------------------------------------- /www/img/bg/summer-10.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/www/img/bg/summer-10.jpg -------------------------------------------------------------------------------- /www/img/bg/summer-11.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/www/img/bg/summer-11.jpg -------------------------------------------------------------------------------- /www/img/bg/summer-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/www/img/bg/summer-2.jpg -------------------------------------------------------------------------------- /www/img/bg/summer-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/www/img/bg/summer-3.jpg -------------------------------------------------------------------------------- /www/img/bg/summer-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/www/img/bg/summer-4.jpg -------------------------------------------------------------------------------- /www/img/bg/summer-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/www/img/bg/summer-5.jpg -------------------------------------------------------------------------------- /www/img/bg/summer-6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/www/img/bg/summer-6.jpg -------------------------------------------------------------------------------- /www/img/bg/summer-7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/www/img/bg/summer-7.jpg -------------------------------------------------------------------------------- /www/img/bg/summer-8.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/www/img/bg/summer-8.jpg -------------------------------------------------------------------------------- /www/img/bg/summer-9.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/www/img/bg/summer-9.jpg -------------------------------------------------------------------------------- /www/img/bg/winter-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/www/img/bg/winter-1.jpg -------------------------------------------------------------------------------- /www/img/bg/winter-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/www/img/bg/winter-2.jpg -------------------------------------------------------------------------------- /www/img/bg/winter-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/www/img/bg/winter-3.jpg -------------------------------------------------------------------------------- /www/img/bg/winter-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/www/img/bg/winter-4.jpg -------------------------------------------------------------------------------- /www/img/bg/winter-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/www/img/bg/winter-5.jpg -------------------------------------------------------------------------------- /www/img/bgbl.svg: -------------------------------------------------------------------------------- 1 | 6 | 7 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /www/img/bgtr.svg: -------------------------------------------------------------------------------- 1 | 6 | 7 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /www/img/dark-arrow.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /www/img/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/www/img/favicon.ico -------------------------------------------------------------------------------- /www/img/flag-be.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/www/img/flag-be.png -------------------------------------------------------------------------------- /www/img/flag-eo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/www/img/flag-eo.png -------------------------------------------------------------------------------- /www/img/flag-es.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/www/img/flag-es.png -------------------------------------------------------------------------------- /www/img/flag-fr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/www/img/flag-fr.png -------------------------------------------------------------------------------- /www/img/flag-gb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/www/img/flag-gb.png -------------------------------------------------------------------------------- /www/img/flag-it.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/www/img/flag-it.png -------------------------------------------------------------------------------- /www/img/flag-nl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/www/img/flag-nl.png -------------------------------------------------------------------------------- /www/img/flag-us.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/www/img/flag-us.png -------------------------------------------------------------------------------- /www/img/header_bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/www/img/header_bg.jpg -------------------------------------------------------------------------------- /www/img/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/www/img/logo.png -------------------------------------------------------------------------------- /www/img/logo_128px.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/www/img/logo_128px.png -------------------------------------------------------------------------------- /www/img/logo_152px.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/www/img/logo_152px.png -------------------------------------------------------------------------------- /www/img/logo_167px.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/www/img/logo_167px.png -------------------------------------------------------------------------------- /www/img/logo_180px.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/www/img/logo_180px.png -------------------------------------------------------------------------------- /www/img/logo_200px.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/www/img/logo_200px.png -------------------------------------------------------------------------------- /www/img/logo_256px.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/www/img/logo_256px.png -------------------------------------------------------------------------------- /www/img/logo_32px.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/www/img/logo_32px.png -------------------------------------------------------------------------------- /www/img/logo_48px.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/www/img/logo_48px.png -------------------------------------------------------------------------------- /www/img/logo_512px.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/www/img/logo_512px.png -------------------------------------------------------------------------------- /www/img/logo_64px.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/www/img/logo_64px.png -------------------------------------------------------------------------------- /www/img/mastodon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /www/img/overlay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/www/img/overlay.png -------------------------------------------------------------------------------- /www/img/person.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/www/img/person.png -------------------------------------------------------------------------------- /www/img/user.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/duniter-gchange/gchange-client/0e8356dfed4bb18a6df7d235e9e9c37ff0abdcc8/www/img/user.png -------------------------------------------------------------------------------- /www/js/components.js: -------------------------------------------------------------------------------- 1 | angular.module('cesium.components', []) 2 | 3 | .component('csAvatar', { 4 | bindings: { 5 | avatar: '<', 6 | icon: '@' 7 | }, 8 | template: 9 | '' + 10 | '' 11 | }) 12 | 13 | .component('csBadgeCertification', { 14 | bindings: { 15 | requirements: '=', 16 | parameters: '<', 17 | csId: '@' 18 | }, 19 | templateUrl: 'templates/common/badge_certification_count.html' 20 | }) 21 | 22 | .component('csBadgeGivenCertification', { 23 | bindings: { 24 | identity: '=', 25 | parameters: '<', 26 | csId: '@' 27 | }, 28 | templateUrl: 'templates/common/badge_given_certification_count.html' 29 | }) 30 | 31 | .component('csSortIcon', { 32 | bindings: { 33 | asc: '=', 34 | sort: '=', 35 | toggle: '<' 36 | }, 37 | template: 38 | '' + 39 | '' 40 | }) 41 | 42 | .component('csRemovableSelectionItem', { 43 | transclude: true, 44 | controller: function(){ 45 | this.$onInit = function(){ 46 | console.log("$onInit called: ", this); 47 | }; 48 | this.remove = function(){ 49 | console.log("remove called: ", this); 50 | }; 51 | }, 52 | template: 53 | '
' + 54 | ' ' + 55 | ' ' + 56 | '
' 57 | }) 58 | 59 | ; 60 | -------------------------------------------------------------------------------- /www/js/config.js: -------------------------------------------------------------------------------- 1 | /****** 2 | * !! WARNING: This is a generated file !! 3 | * 4 | * PLEASE DO NOT MODIFY DIRECTLY 5 | * 6 | * => Changes should be done on file 'app/config.json'. 7 | ******/ 8 | 9 | angular.module("cesium.config", []) 10 | 11 | .constant("csConfig", { 12 | "fallbackLanguage": "fr-FR", 13 | "defaultLanguage": "fr-FR", 14 | "timeout": 300000, 15 | "cacheTimeMs": 300000, 16 | "useLocalStorage": true, 17 | "rememberMe": true, 18 | "useRelative": false, 19 | "decimalCount": 2, 20 | "shareBaseUrl": "https://gchange.fr", 21 | "helptip": { 22 | "enable": false 23 | }, 24 | "feed": { 25 | "jsonFeed": { 26 | "fr-FR": "https://raw.githubusercontent.com/duniter-gchange/gchange-client/master/doc/feed/feed-fr.json", 27 | "en": "https://raw.githubusercontent.com/duniter-gchange/gchange-client/master/doc/feed/feed-en.json" 28 | }, 29 | "maxContentLength": 1300 30 | }, 31 | "node": { 32 | "host": "localhost", 33 | "port": "9200" 34 | }, 35 | "share": { 36 | "mastodonAuthor": "@gchange@framapiaf.org" 37 | }, 38 | "plugins": { 39 | "es": { 40 | "enable": true, 41 | "maxUploadBodySize": 5242880, 42 | "defaultCountry": "France" 43 | }, 44 | "market": { 45 | "enable": true, 46 | "defaultSearch": { 47 | "geoDistance": "50" 48 | }, 49 | "cesiumApi": { 50 | "enable": true, 51 | "baseUrl": "https://demo.cesium.app/api" 52 | } 53 | }, 54 | "converse": { 55 | "enable": false, 56 | "jid": "anonymous.duniter.org", 57 | "bosh_service_url": "https://chat.duniter.org/http-bind/", 58 | "auto_join_rooms": [ 59 | "gchange@muc.duniter.org" 60 | ] 61 | } 62 | }, 63 | "version": "1.4.0", 64 | "build": "2021-07-19T16:33:02.256Z", 65 | "newIssueUrl": "https://github.com/duniter-gchange/gchange-client/issues/new?labels=bug" 66 | }) 67 | 68 | ; 69 | -------------------------------------------------------------------------------- /www/js/controllers.js: -------------------------------------------------------------------------------- 1 | 2 | angular.module('cesium.controllers', [ 3 | 'cesium.app.controllers', 4 | 'cesium.home.controllers', 5 | 'cesium.join.controllers', 6 | 'cesium.login.controllers', 7 | 'cesium.help.controllers', 8 | 'cesium.settings.controllers', 9 | 'cesium.wallet.controllers', 10 | 'cesium.wot.controllers' 11 | ]) 12 | ; 13 | -------------------------------------------------------------------------------- /www/js/plugins.js: -------------------------------------------------------------------------------- 1 | 2 | angular.module('cesium.plugins', [ 3 | 'cesium.plugins.translations', 4 | 'cesium.plugins.templates', 5 | // ES plugin 6 | 'cesium.es.plugin', 7 | // Market plugin 8 | 'cesium.market.plugin', 9 | // Map plugin 10 | 'cesium.map.plugin', 11 | // Graph plugin 12 | 'cesium.graph.plugin' 13 | ]) 14 | ; 15 | -------------------------------------------------------------------------------- /www/js/services.js: -------------------------------------------------------------------------------- 1 | angular.module('cesium.services', [ 2 | 'cesium.config', 3 | 'cesium.settings.services', 4 | 'cesium.http.services', 5 | 'cesium.bma.services', 6 | 'cesium.crypto.services', 7 | 'cesium.utils.services', 8 | 'cesium.modal.services', 9 | 'cesium.storage.services', 10 | 'cesium.device.services', 11 | 'cesium.currency.services', 12 | 'cesium.wallet.services', 13 | 'cesium.tx.services', 14 | 'cesium.wot.services', 15 | 'cesium.plugin.services' 16 | ]) 17 | ; 18 | -------------------------------------------------------------------------------- /www/js/vendor/base64.js: -------------------------------------------------------------------------------- 1 | (function() { 2 | var Base64 = (typeof module !== "undefined" && module !== null ? module.exports : void 0) || (window.Base64 = {}); 3 | 4 | Base64.encode = (function(arr) { 5 | if (typeof btoa === 'undefined') { 6 | return (new Buffer(arr)).toString('base64'); 7 | } else { 8 | var i, s = [], len = arr.length; 9 | for (i = 0; i < len; i++) s.push(String.fromCharCode(arr[i])); 10 | return btoa(s.join('')); 11 | } 12 | }); 13 | 14 | Base64.decode = (function(s) { 15 | if (typeof atob === 'undefined') { 16 | return new Uint8Array(Array.prototype.slice.call(new Buffer(s, 'base64'), 0)); 17 | } else { 18 | var i, d = atob(s), b = new Uint8Array(d.length); 19 | for (i = 0; i < d.length; i++) b[i] = d.charCodeAt(i); 20 | return b; 21 | } 22 | }); 23 | 24 | }).call(this); 25 | -------------------------------------------------------------------------------- /www/js/vendor/numeral.eo.js: -------------------------------------------------------------------------------- 1 | //! numeral.js locale configuration 2 | //! locale : esperanto (eo) 3 | //! author : Vivakvo: https://github.com/vivakvo 4 | 5 | (function (global, factory) { 6 | typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('../numeral')) : 7 | typeof define === 'function' && define.amd ? define(['numeral'], factory) : 8 | factory(global.numeral) 9 | }(this, function (numeral) { 'use strict'; 10 | 11 | numeral.language('eo', { 12 | "delimiters": { 13 | "thousands": " ", 14 | "decimal": "," 15 | }, 16 | "abbreviations": { 17 | "thousand": "x10^3", 18 | "million": "x10^6", 19 | "billion": "x10^9", 20 | "trillion": "x10^12" 21 | }, 22 | "ordinal": function (number) { 23 | return (number === 1) ? 'a' : 'a'; 24 | }, 25 | "currency": { 26 | "symbol": "X" 27 | } 28 | }); 29 | })); 30 | -------------------------------------------------------------------------------- /www/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "short_name": "ğchange", 3 | "name": "ğchange", 4 | "manifest_version": 1, 5 | "version": "1.4.0", 6 | "default_locale": "fr", 7 | "description": "A market place for Ğ1 libre currency", 8 | "icons": [ 9 | { 10 | "src": "img/logo_64px.png", 11 | "sizes": "64x64", 12 | "type": "image/png" 13 | }, 14 | { 15 | "src": "img/logo_128px.png", 16 | "sizes": "128x128", 17 | "type": "image/png" 18 | }, 19 | { 20 | "src": "img/logo_256px.png", 21 | "sizes": "256x256", 22 | "type": "image/png" 23 | }, 24 | { 25 | "src": "img/logo.svg", 26 | "sizes": "512x512", 27 | "type": "image/svg" 28 | } 29 | ], 30 | "background_color": "#1A237E", 31 | "theme_color": "#1A237E", 32 | "dir": "ltr", 33 | "start_url": "/#/app/home", 34 | "display": "standalone", 35 | "protocol_handlers": [ 36 | { 37 | "protocol": "gchange", 38 | "name": "ğchange", 39 | "uriTemplate": "/#/app/home?uri=%s" 40 | }, 41 | { 42 | "protocol": "web+gchange", 43 | "name": "ğchange", 44 | "uriTemplate": "/#/app/home?uri=%s" 45 | } 46 | ] 47 | } 48 | -------------------------------------------------------------------------------- /www/plugins/es/js/plugin.js: -------------------------------------------------------------------------------- 1 | 2 | angular.module('cesium.es.plugin', [ 3 | // Services 4 | 'cesium.es.services', 5 | // Controllers 6 | 'cesium.es.app.controllers', 7 | 'cesium.es.common.controllers', 8 | 'cesium.es.like.controllers', 9 | 'cesium.es.settings.controllers', 10 | 'cesium.es.wot.controllers', 11 | 'cesium.es.wallet.controllers', 12 | 'cesium.es.profile.controllers', 13 | 'cesium.es.message.controllers', 14 | 'cesium.es.notification.controllers', 15 | 'cesium.es.registry.controllers', 16 | 'cesium.es.subscription.controllers', 17 | 'cesium.es.document.controllers', 18 | 'cesium.es.network.controllers' 19 | ]) 20 | ; 21 | -------------------------------------------------------------------------------- /www/plugins/es/js/services.js: -------------------------------------------------------------------------------- 1 | 2 | angular.module('cesium.es.services', [ 3 | // Services 4 | 'cesium.es.http.services', 5 | 'cesium.es.comment.services', 6 | 'cesium.es.social.services', 7 | 'cesium.es.settings.services', 8 | 'cesium.es.crypto.services', 9 | 'cesium.es.profile.services', 10 | 'cesium.es.notification.services', 11 | 'cesium.es.message.services', 12 | 'cesium.es.modal.services', 13 | 'cesium.es.wallet.services', 14 | 'cesium.es.subscription.services', 15 | 'cesium.es.geo.services', 16 | 'cesium.es.document.services', 17 | 'cesium.es.registry.services', 18 | 'cesium.es.network.services', 19 | 'cesium.es.like.services' 20 | ]) 21 | ; 22 | -------------------------------------------------------------------------------- /www/plugins/es/templates/common/dropdown_locations.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 39 | -------------------------------------------------------------------------------- /www/plugins/es/templates/common/edit_pictures.html: -------------------------------------------------------------------------------- 1 | 36 | 37 | -------------------------------------------------------------------------------- /www/plugins/es/templates/common/item_comment_content.html: -------------------------------------------------------------------------------- 1 | 2 | 21 | -------------------------------------------------------------------------------- /www/plugins/es/templates/common/item_location_search.html: -------------------------------------------------------------------------------- 1 | 2 |
3 |
4 |
5 | 6 | 7 |
10 |   11 | {{search.location.split(',')[0]}} 12 |    13 |
14 | 15 |
16 | 17 | 19 | 29 | 30 | 33 | {{'COMMON.GEO_DISTANCE_OPTION' | translate: {value: search.geoDistance} }} 34 |   35 | 36 | 37 |
38 |
39 | 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /www/plugins/es/templates/common/modal_category.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |

{{ (ctrl.title || 'COMMON.CATEGORIES') | translate}}

5 |
6 | 7 | 8 | 9 |
10 | 11 |
12 | 13 |
14 | 21 | 22 | 23 |
27 |

28 |
29 |
30 |
31 |
32 | -------------------------------------------------------------------------------- /www/plugins/es/templates/common/popover_distances.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
COMMON.GEO_DISTANCE_SEARCH
4 |
5 | 6 | 8 | 9 | {{'COMMON.GEO_DISTANCE_OPTION' | translate: {value: value} }} 10 | {{'COMMON.GEO_DISTANCE_OPTION' | translate: {value: value} }} 11 | 12 | 13 |
14 | -------------------------------------------------------------------------------- /www/plugins/es/templates/common/popover_profile_extend.html: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | -------------------------------------------------------------------------------- /www/plugins/es/templates/common/popover_star.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |

4 | 6 | 7 | 8 | 9 | 10 |

11 | WOT.VIEW.BTN_STARS_REMOVE 12 |
13 |
14 | -------------------------------------------------------------------------------- /www/plugins/es/templates/common/popup_report_abuse.html: -------------------------------------------------------------------------------- 1 |
2 |
3 | 4 | 5 | 14 |
17 |
18 | 19 |
20 |
21 | 22 |
23 |
24 | 25 |
26 |
COMMON.REPORT_ABUSE.ASK_DELETE
27 | 33 |
34 |
35 |
36 | 37 | 38 | -------------------------------------------------------------------------------- /www/plugins/es/templates/common/view_pictures.html: -------------------------------------------------------------------------------- 1 | 8 | -------------------------------------------------------------------------------- /www/plugins/es/templates/document/item_document_page.html: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | 8 | 9 |
10 |
11 |

12 | {{:rebind:doc.title}} 13 |

14 |

15 | 16 | {{:rebind:doc.picturesCount}} 17 | 18 | 19 | {{:rebind:doc.city}} 20 | 21 | 22 | {{:rebind:doc.name}} 23 | 24 |

25 |
26 | 27 |
28 |

{{:rebind:doc.time|formatDate}}

29 |
30 | 31 |
32 |
33 | 34 | 48 | 49 |
50 |
51 | -------------------------------------------------------------------------------- /www/plugins/es/templates/document/lookup.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | DOCUMENT.LOOKUP.TITLE 4 | 5 | 6 | 7 | 8 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /www/plugins/es/templates/document/lookup_popover_actions.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |

DOCUMENT.LOOKUP.POPOVER_ACTIONS.TITLE

4 |
5 | 6 | 14 | 15 |
16 | -------------------------------------------------------------------------------- /www/plugins/es/templates/group/item_group.html: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 |
10 |
11 |

12 | 13 | {{:rebind:group.creationTime|formatDate}} 14 |

15 |

16 | 17 | 18 | +{{:rebind:group.membersCount}} 19 |

20 |
21 | 22 |
23 |

24 |
25 | 26 |
27 |
28 | -------------------------------------------------------------------------------- /www/plugins/es/templates/group/items_groups.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 22 | 23 |
24 | COMMON.SEARCH_NO_RESULT 25 |
26 | 27 | 29 | 30 | -------------------------------------------------------------------------------- /www/plugins/es/templates/group/list.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 10 | 11 | 12 |

13 |

14 | {{notification.time|formatFromNow}} 15 | | {{notification.time|formatDate}} 16 |

17 |
18 |
19 | 20 | 25 | 26 | -------------------------------------------------------------------------------- /www/plugins/es/templates/group/lookup.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | GROUP.LOOKUP.TITLE 4 | 5 | 6 | 7 | 8 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /www/plugins/es/templates/group/modal_record_type.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |

GROUP.TYPE.TITLE

5 |
6 | 7 | 8 |

GROUP.TYPE.SELECT_TYPE

9 | 10 |
11 | 12 | 13 |
15 |
16 | 17 |

GROUP.TYPE.OPEN_GROUP

18 |

GROUP.TYPE.OPEN_GROUP_HELP

19 |
20 |
21 | 22 | 23 |
25 |
26 | 27 | 28 |

GROUP.TYPE.MANAGED_GROUP

29 |

GROUP.TYPE.MANAGED_GROUP_HELP

30 |
31 |
32 | 33 |
34 |
35 |
36 | -------------------------------------------------------------------------------- /www/plugins/es/templates/home/home_extend.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | 13 | 18 | 19 | -------------------------------------------------------------------------------- /www/plugins/es/templates/join/modal_join_extend.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
7 |
8 | 9 |

ACCOUNT.NEW.ORGANIZATION_ACCOUNT

10 |

ACCOUNT.NEW.ORGANIZATION_ACCOUNT_HELP

11 | 12 |
13 |
14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 |

TOTO

25 | 26 |
27 |
28 | 29 |
30 | -------------------------------------------------------------------------------- /www/plugins/es/templates/message/compose.html: -------------------------------------------------------------------------------- 1 | 3 | 4 | MESSAGE.COMPOSE.TITLE 5 | MESSAGE.COMPOSE.TITLE_REPLY 6 | 7 | 8 | 9 | 11 | 12 | 13 | 14 |
15 | 16 |
17 | 20 | 21 | 22 |
23 | 24 |
25 |
26 |
27 | -------------------------------------------------------------------------------- /www/plugins/es/templates/message/lookup_popover_actions.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |

MESSAGE.LIST.POPOVER_ACTIONS.TITLE

4 |
5 | 6 | 21 | 22 |
23 | -------------------------------------------------------------------------------- /www/plugins/es/templates/message/modal_compose.html: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 |

MESSAGE.COMPOSE.TITLE

6 |

MESSAGE.COMPOSE.TITLE_REPLY

7 | 8 | 10 |
11 | 12 | 13 | 14 | 15 |
16 | -------------------------------------------------------------------------------- /www/plugins/es/templates/message/view_popover_actions.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |

COMMON.POPOVER_ACTIONS_TITLE

4 |
5 | 6 | 14 | 15 |
16 | -------------------------------------------------------------------------------- /www/plugins/es/templates/network/items_peers.html: -------------------------------------------------------------------------------- 1 | 37 | -------------------------------------------------------------------------------- /www/plugins/es/templates/network/lookup_popover_actions.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |

PEER.POPOVER_FILTER_TITLE

4 |
5 | 6 | 30 | 31 |
32 | -------------------------------------------------------------------------------- /www/plugins/es/templates/network/modal_network.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |

PEER.PEER_LIST

5 |
6 | 7 | 10 | 13 | 14 |
15 |
16 | 17 | 18 |
19 |
20 | 21 |
22 |

23 | PEER.ALL_PEERS 24 | ({{search.results.length}}) 25 |

26 |
27 | 28 |
29 |   30 |
31 |
32 | 33 | 34 | 35 |
36 |
37 |
38 | -------------------------------------------------------------------------------- /www/plugins/es/templates/network/popover_endpoints.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | {{titleKey | translate:titleValues }} 5 |
6 |
7 | 8 |
9 |
10 |
{{item.label | translate}}
11 |
{{item.value}} 12 |
13 |
14 | 15 | 16 | -------------------------------------------------------------------------------- /www/plugins/es/templates/network/popover_network.html: -------------------------------------------------------------------------------- 1 | 39 | -------------------------------------------------------------------------------- /www/plugins/es/templates/notification/list_notification.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 10 | 11 | 12 |

13 |

14 | {{notification.time|formatFromNow}} 15 | | {{notification.time|formatDate}} 16 |

17 |
18 |
19 | 20 | 25 | 26 | -------------------------------------------------------------------------------- /www/plugins/es/templates/notification/popover_actions.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |

COMMON.POPOVER_ACTIONS_TITLE

4 |
5 | 6 | 16 | 17 |
18 | -------------------------------------------------------------------------------- /www/plugins/es/templates/notification/popover_notification.html: -------------------------------------------------------------------------------- 1 | 3 | 4 |
COMMON.NOTIFICATIONS.TITLE
5 | 6 | 11 |
12 | 13 | 14 |
15 | 16 |
17 |
18 | COMMON.NOTIFICATIONS.NO_RESULT 19 |
20 | 21 | 22 | 23 |
24 | 25 | 26 | 33 | 34 | 35 | 41 | 42 |
43 | -------------------------------------------------------------------------------- /www/plugins/es/templates/notification/view_notifications.html: -------------------------------------------------------------------------------- 1 | 3 | 4 | {{'COMMON.NOTIFICATIONS.TITLE' | translate}} 5 | 6 | 7 | 8 | 9 | 11 | 12 | 16 | 17 | 18 | 19 | 20 | 21 | 32 | 33 |
34 | 35 | 36 |
37 | 38 |
39 | 40 |
41 | 42 |
43 | COMMON.NOTIFICATIONS.NO_RESULT 44 |
45 | 46 | 47 | 48 | 49 |
50 | 51 | 52 | 53 |
54 | 55 |
56 | 57 |
58 | -------------------------------------------------------------------------------- /www/plugins/es/templates/registry/lookup.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | REGISTRY.SEARCH.TITLE 4 | 5 | 6 | 7 | 9 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 27 | 28 | -------------------------------------------------------------------------------- /www/plugins/es/templates/registry/lookup_form_options.html: -------------------------------------------------------------------------------- 1 | 2 |
5 | 6 | 7 | 8 | 9 | REGISTRY.SEARCH.TYPE 10 | 11 |
12 | 13 |
16 | 17 | REGISTRY.CATEGORY 18 | 19 |
20 | -------------------------------------------------------------------------------- /www/plugins/es/templates/registry/lookup_lg.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | REGISTRY.SEARCH.TITLE 4 | 5 | 6 | 7 | 8 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 28 | 29 | -------------------------------------------------------------------------------- /www/plugins/es/templates/registry/lookup_list.html: -------------------------------------------------------------------------------- 1 |
4 | 5 |
8 |
9 |
10 | 11 | 16 | 17 | -------------------------------------------------------------------------------- /www/plugins/es/templates/registry/lookup_list_lg.html: -------------------------------------------------------------------------------- 1 |
2 | 3 | 4 | 5 |
6 | 7 |
10 | 11 |
14 |
15 |
16 | 17 |
18 | 19 | 20 | 21 |
22 | 23 | 28 | 29 | -------------------------------------------------------------------------------- /www/plugins/es/templates/registry/lookup_popover_actions.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |

COMMON.POPOVER_ACTIONS_TITLE

4 |
5 | 6 |
7 | 8 | 9 | 11 | 12 | REGISTRY.BTN_NEW 13 | 14 | 15 |
16 |
17 |
18 | -------------------------------------------------------------------------------- /www/plugins/es/templates/registry/lookup_popover_filters.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |

COMMON.POPOVER_FILTER_TITLE

4 |
5 | 6 | 23 | 24 |
25 | -------------------------------------------------------------------------------- /www/plugins/es/templates/registry/modal_record_type.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |

{{getParameters().title||'REGISTRY.TYPE.TITLE'|translate}}

5 |
6 | 7 | 8 |
9 |

REGISTRY.TYPE.SELECT_TYPE

10 | 13 | 14 | 17 | 18 | 21 | 22 | 25 |
26 |
27 |
28 | -------------------------------------------------------------------------------- /www/plugins/es/templates/registry/view_popover_actions.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |

REGISTRY.VIEW.MENU_TITLE

4 |
5 | 6 | 21 | 22 |
23 | -------------------------------------------------------------------------------- /www/plugins/es/templates/registry/view_wallet_pages.html: -------------------------------------------------------------------------------- 1 | 3 | 4 | {{'REGISTRY.MY_PAGES' | translate}} 5 | 6 | 7 | 8 | 9 | 11 | 12 | 13 | 14 | 26 | 27 |
28 | 29 |
30 | 31 |
32 | REGISTRY.NO_PAGE 33 |
34 | 35 | 36 | 37 |
38 | 39 | 44 |
45 | -------------------------------------------------------------------------------- /www/plugins/es/templates/settings/plugin_settings.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
5 |
ES_SETTINGS.PEER
6 | 7 | 8 | 9 |

10 | 11 | 12 |

13 |
{{bma.server}}
14 |
15 | 16 |
{{bma.server}}
17 | 18 |
19 | -------------------------------------------------------------------------------- /www/plugins/es/templates/subscription/item_email_subscription.html: -------------------------------------------------------------------------------- 1 |
2 | 3 |

4 | {{'SUBSCRIPTION.TYPE.ENUM.' + subscriptions.type.toUpperCase() | translate}} 5 |

6 |

7 | {{'SUBSCRIPTION.EDIT.PROVIDER'|translate}} 8 | 9 | 10 | 11 | {{subscriptions.name}} 12 | 13 | 14 | 15 | {{subscriptions.recipient | formatPubkey}} 16 | 17 | 18 |

19 |
20 | 21 | {{item.content.email}} 22 | 23 | 24 |
25 |
26 |
27 |
28 | -------------------------------------------------------------------------------- /www/plugins/es/templates/user/edit_popover_actions.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |

COMMON.POPOVER_ACTIONS_TITLE

4 |
5 | 6 | 16 | 17 |
18 | -------------------------------------------------------------------------------- /www/plugins/graph/css/style.css: -------------------------------------------------------------------------------- 1 | 2 | /********** 3 | Graph currency popover 4 | **********/ 5 | 6 | .popover-graph-currency { 7 | height: 300px !important; 8 | max-width: 250px !important; 9 | } 10 | -------------------------------------------------------------------------------- /www/plugins/graph/i18n/locale-en-GB.json: -------------------------------------------------------------------------------- 1 | { 2 | "NETWORK": { 3 | "VIEW": { 4 | "BTN_GRAPH": "Statistics" 5 | } 6 | }, 7 | "GRAPH": { 8 | "COMMON": { 9 | "LINEAR_SCALE" : "Linear scale", 10 | "LOGARITHMIC_SCALE" : "Logarithmic scale", 11 | "BTN_SHOW_STATS": "See statistics", 12 | "BTN_SHOW_DETAILED_STATS": "Detailed statistics", 13 | "RANGE_DURATION_DIVIDER": "Step unit:", 14 | "RANGE_DURATION": { 15 | "HOUR": "Group by hour", 16 | "DAY": "Group by day", 17 | "MONTH": "Group by month" 18 | } 19 | }, 20 | "PEER": { 21 | "VIEW": { 22 | "BLOCK_COUNT_LABEL": "Computed blocks count", 23 | "BLOCK_COUNT": "{{count}} blocks", 24 | "NO_BLOCK": "No block" 25 | } 26 | }, 27 | "DOC_STATS": { 28 | "TITLE": "Data storage statistics", 29 | "MARKET": { 30 | "TITLE": "Number of Ads", 31 | "AD": "Ads", 32 | "COMMENT": "Comments" 33 | }, 34 | "USER": { 35 | "TITLE": "Number of documents linked to an account", 36 | "USER_PROFILE": "User profiles", 37 | "USER_SETTINGS": "Saved settings" 38 | }, 39 | "MESSAGE": { 40 | "TITLE": "Number of documents related to the communication", 41 | "MESSAGE_INBOX": "Messages in inbox", 42 | "MESSAGE_OUTBOX": "Messages in outbox", 43 | "INVITATION_CERTIFICATION": "Invitations to certify" 44 | }, 45 | "SOCIAL": { 46 | "TITLE": "Number of page or group", 47 | "PAGE_COMMENT": "Comments", 48 | "PAGE_RECORD": "Pages", 49 | "GROUP_RECORD": "Groups" 50 | }, 51 | "SUBSCRIPTION": { 52 | "TITLE": "Number of online subscriptions", 53 | "EMAIL": "Email notifications" 54 | }, 55 | "OTHER": { 56 | "TITLE": "Other documents", 57 | "HISTORY_DELETE": "Deletion of documents" 58 | } 59 | } 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /www/plugins/graph/i18n/locale-en.json: -------------------------------------------------------------------------------- 1 | { 2 | "NETWORK": { 3 | "VIEW": { 4 | "BTN_GRAPH": "Statistics" 5 | } 6 | }, 7 | "GRAPH": { 8 | "COMMON": { 9 | "LINEAR_SCALE" : "Linear scale", 10 | "LOGARITHMIC_SCALE" : "Logarithmic scale", 11 | "BTN_SHOW_STATS": "See statistics", 12 | "BTN_SHOW_DETAILED_STATS": "Detailed statistics", 13 | "RANGE_DURATION_DIVIDER": "Step unit:", 14 | "RANGE_DURATION": { 15 | "HOUR": "Group by hour", 16 | "DAY": "Group by day", 17 | "MONTH": "Group by month" 18 | } 19 | }, 20 | "PEER": { 21 | "VIEW": { 22 | "BLOCK_COUNT_LABEL": "Computed blocks count", 23 | "BLOCK_COUNT": "{{count}} blocks", 24 | "NO_BLOCK": "No block" 25 | } 26 | }, 27 | "DOC_STATS": { 28 | "TITLE": "Data storage statistics", 29 | "MARKET": { 30 | "TITLE": "Number of Ads", 31 | "AD": "Ads", 32 | "COMMENT": "Comments" 33 | }, 34 | "USER": { 35 | "TITLE": "Number of documents linked to an account", 36 | "USER_PROFILE": "User profiles", 37 | "USER_SETTINGS": "Saved settings" 38 | }, 39 | "MESSAGE": { 40 | "TITLE": "Number of documents related to the communication", 41 | "MESSAGE_INBOX": "Messages in inbox", 42 | "MESSAGE_OUTBOX": "Messages in outbox", 43 | "INVITATION_CERTIFICATION": "Invitations to certify" 44 | }, 45 | "SOCIAL": { 46 | "TITLE": "Number of page or group", 47 | "PAGE_COMMENT": "Comments", 48 | "PAGE_RECORD": "Pages", 49 | "GROUP_RECORD": "Groups" 50 | }, 51 | "SUBSCRIPTION": { 52 | "TITLE": "Number of online subscriptions", 53 | "EMAIL": "Email notifications" 54 | }, 55 | "OTHER": { 56 | "TITLE": "Other documents", 57 | "HISTORY_DELETE": "Deletion of documents" 58 | } 59 | } 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /www/plugins/graph/i18n/locale-es-ES.json: -------------------------------------------------------------------------------- 1 | { 2 | "NETWORK": { 3 | "VIEW": { 4 | "BTN_GRAPH": "Estadística" 5 | } 6 | }, 7 | "GRAPH": { 8 | "COMMON": { 9 | "LINEAR_SCALE" : "Escala lineal", 10 | "LOGARITHMIC_SCALE" : "Escala logarítmica", 11 | "BTN_SHOW_STATS": "Ver estadísticas", 12 | "BTN_SHOW_DETAILED_STATS": "Estadísticas detalladas", 13 | "RANGE_DURATION_DIVIDER": "Unidad de tiempo:", 14 | "RANGE_DURATION": { 15 | "HOUR": "Agrupar por horas", 16 | "DAY": "Agrupar por días", 17 | "MONTH": "Agrupar por meses" 18 | } 19 | }, 20 | "PEER": { 21 | "VIEW": { 22 | "BLOCK_COUNT_LABEL": "Número de bloques calculados", 23 | "BLOCK_COUNT": "{{count}} bloques", 24 | "NO_BLOCK": "Ningún bloque" 25 | } 26 | } 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /www/plugins/graph/i18n/locale-nl-NL.json: -------------------------------------------------------------------------------- 1 | { 2 | "NETWORK": { 3 | "VIEW": { 4 | "BTN_GRAPH": "Statistieken" 5 | } 6 | }, 7 | "GRAPH": { 8 | "COMMON": { 9 | "LINEAR_SCALE" : "Lineaire schaal", 10 | "LOGARITHMIC_SCALE" : "Logaritmische schaal", 11 | "BTN_SHOW_STATS": "Zie statistieken", 12 | "BTN_SHOW_DETAILED_STATS": "Gedetailleerde statistieken", 13 | "RANGE_DURATION_DIVIDER": "Stap eenheid:", 14 | "RANGE_DURATION": { 15 | "HOUR": "Groep per uur", 16 | "DAY": "Groep per dag", 17 | "MONTH": "Groep per maand" 18 | } 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /www/plugins/graph/js/plugin.js: -------------------------------------------------------------------------------- 1 | 2 | angular.module('cesium.graph.plugin', [ 3 | // Services 4 | 'cesium.graph.services', 5 | // Controllers 6 | 'cesium.graph.common.controllers', 7 | 'cesium.graph.docstats.controllers', 8 | 'cesium.graph.synchro.controllers', 9 | 'cesium.graph.network.controllers' 10 | ]) 11 | ; 12 | -------------------------------------------------------------------------------- /www/plugins/graph/js/services.js: -------------------------------------------------------------------------------- 1 | 2 | angular.module('cesium.graph.services', [ 3 | // Services 4 | 'cesium.graph.color.services', 5 | 'cesium.graph.data.services' 6 | ]) 7 | ; 8 | -------------------------------------------------------------------------------- /www/plugins/graph/templates/account/graph_balance.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
5 | 10 |
11 | 12 |
13 | 21 | 22 |
23 | 24 | 25 | -------------------------------------------------------------------------------- /www/plugins/graph/templates/account/graph_certifications.html: -------------------------------------------------------------------------------- 1 | 2 |
3 | 11 | 12 |
13 | -------------------------------------------------------------------------------- /www/plugins/graph/templates/account/graph_sum_tx.html: -------------------------------------------------------------------------------- 1 |
2 | 3 | 4 | 5 |
6 | 7 | 8 |

GRAPH.ACCOUNT.INPUT_CHART_TITLE

11 | 16 | 17 | 18 |
19 | 20 | 21 | 22 |
23 | 24 | 25 |

GRAPH.ACCOUNT.OUTPUT_CHART_TITLE

28 | 33 | 34 | 35 |
36 | 37 | 38 | 39 |
40 | -------------------------------------------------------------------------------- /www/plugins/graph/templates/account/view_stats.html: -------------------------------------------------------------------------------- 1 | 3 | 4 | {{'GRAPH.ACCOUNT.TITLE' | translate}}{{id}} 5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 |
16 | 17 |
18 | 19 |
20 | {{'GRAPH.ACCOUNT.BALANCE_DIVIDER'|translate}} 21 | 22 |
23 | 24 |
28 |
29 |
30 | 31 |
32 | 33 |
36 |
37 | 38 | 39 |
40 | 41 |
42 | -------------------------------------------------------------------------------- /www/plugins/graph/templates/common/graph_range_bar.html: -------------------------------------------------------------------------------- 1 | 2 |
3 | 6 | 7 | 8 | 15 | 18 | 19 | 20 |
21 | -------------------------------------------------------------------------------- /www/plugins/graph/templates/common/popover_range_actions.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |

COMMON.POPOVER_ACTIONS_TITLE

4 |
5 | 6 |
7 | 8 | 9 |
10 | {{'GRAPH.COMMON.RANGE_DURATION_DIVIDER'|translate}} 11 |
12 | 13 | 14 | 16 | 17 | 18 | 19 | 20 | 21 | 23 | 24 | 25 | 26 | 27 | 28 | 30 | 31 | 32 | 33 | 34 |
35 |
36 |
37 | -------------------------------------------------------------------------------- /www/plugins/graph/templates/docstats/graph.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
5 | 10 |
11 | 12 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /www/plugins/graph/templates/docstats/view_stats.html: -------------------------------------------------------------------------------- 1 | 3 | 4 | {{'GRAPH.DOC_STATS.TITLE' | translate}} 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 |
13 | 14 |
15 | 16 |
20 |
21 | 22 |
23 | 24 |
25 | 26 |
27 | -------------------------------------------------------------------------------- /www/plugins/graph/templates/network/view_es_network_extend.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | {{'NETWORK.VIEW.BTN_GRAPH'|translate}} 7 | 8 | 9 | -------------------------------------------------------------------------------- /www/plugins/graph/templates/network/view_es_peer_extend.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | GRAPH.DOC_STATS.TITLE 9 | 10 | 11 | 12 | 15 | 16 | GRAPH.SYNCHRO.TITLE 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /www/plugins/graph/templates/synchro/graph.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
5 | 10 |
11 | 12 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /www/plugins/graph/templates/synchro/view_stats.html: -------------------------------------------------------------------------------- 1 | 3 | 4 | {{'GRAPH.SYNCHRO.TITLE' | translate}} 5 | 6 | 7 | 8 | 9 |
10 | 11 |
12 | 13 |
14 | 15 |
19 |
20 | 21 |
22 | 23 |
24 | 25 |
26 | -------------------------------------------------------------------------------- /www/plugins/map/js/plugin.js: -------------------------------------------------------------------------------- 1 | 2 | angular.module('cesium.map.plugin', [ 3 | 'ui-leaflet', 4 | // Services 5 | 'cesium.map.services', 6 | // Controllers 7 | 'cesium.map.shape.controllers', 8 | 'cesium.map.home.controllers', 9 | 'cesium.map.user.controllers' 10 | ]) 11 | 12 | // Configure plugin 13 | .config(function() { 14 | 'ngInject'; 15 | 16 | // Define icon prefix for AwesomeMarker (a Leaflet plugin) 17 | L.AwesomeMarkers.Icon.prototype.options.prefix = 'ion'; 18 | }); 19 | 20 | 21 | -------------------------------------------------------------------------------- /www/plugins/map/js/services.js: -------------------------------------------------------------------------------- 1 | 2 | angular.module('cesium.map.services', [ 3 | // Services 4 | 'cesium.map.utils.services', 5 | 'cesium.map.shape.services' 6 | ]) 7 | ; 8 | -------------------------------------------------------------------------------- /www/plugins/map/templates/shape/view_shape.html: -------------------------------------------------------------------------------- 1 |
2 | 27 |
28 | -------------------------------------------------------------------------------- /www/plugins/map/templates/user/edit_profile_extend.html: -------------------------------------------------------------------------------- 1 |
2 | 6 | 7 |
8 | -------------------------------------------------------------------------------- /www/plugins/market/js/controllers/app-controllers.js: -------------------------------------------------------------------------------- 1 | angular.module('cesium.market.app.controllers', ['ngResource', 2 | 'cesium.es.services', 'cesium.market.modal.services']) 3 | 4 | // Configure menu items 5 | .config(function(PluginServiceProvider) { 6 | 'ngInject'; 7 | 8 | // Menu extension points 9 | PluginServiceProvider.extendState('app', { 10 | points: { 11 | 'menu-main': { 12 | templateUrl: "plugins/market/templates/menu_extend.html", 13 | controller: "MarketMenuExtendCtrl" 14 | }, 15 | 'menu-user': { 16 | templateUrl: "plugins/market/templates/menu_extend.html", 17 | controller: "MarketMenuExtendCtrl" 18 | }, 19 | 'menu-discover': { 20 | templateUrl: "plugins/market/templates/menu_extend.html", 21 | controller: "MarketMenuExtendCtrl" 22 | } 23 | } 24 | }); 25 | }) 26 | 27 | .controller('MarketMenuExtendCtrl', MarketMenuExtendController) 28 | 29 | ; 30 | 31 | 32 | /** 33 | * Control menu extension 34 | */ 35 | function MarketMenuExtendController($scope, PluginService) { 36 | 'ngInject'; 37 | 38 | $scope.extensionPoint = PluginService.extensions.points.current.get(); 39 | } 40 | -------------------------------------------------------------------------------- /www/plugins/market/js/controllers/document-controllers.js: -------------------------------------------------------------------------------- 1 | angular.module('cesium.market.document.controllers', ['cesium.es.services']) 2 | 3 | .controller('MkLastDocumentsCtrl', MkLastDocumentsController) 4 | ; 5 | 6 | 7 | function MkLastDocumentsController($scope, $controller, $timeout, $state, $filter) { 8 | 'ngInject'; 9 | 10 | // Initialize the super class and extend it. 11 | angular.extend(this, $controller('ESLastDocumentsCtrl', {$scope: $scope})); 12 | 13 | $scope.search.index = 'user,page,group,market'; 14 | $scope.search.type = 'profile,record,comment'; 15 | $scope._source = ["issuer", "hash", "time", "creationTime", "title", "price", "unit", "currency", "picturesCount", "thumbnail._content_type", "city", "message", "record"]; 16 | 17 | $scope.inheritedSelectDocument = $scope.selectDocument; 18 | $scope.selectDocument = function(event, doc) { 19 | // Call super function 20 | if (doc.index !== "market") { 21 | $scope.inheritedSelectDocument(event, doc); 22 | return; 23 | } 24 | 25 | // Manage click on a market document 26 | if (!doc || !event || event.defaultPrevented) return; 27 | event.stopPropagation(); 28 | 29 | if (doc.index === "market" && doc.type === "record") { 30 | $state.go('app.market_view_record', {id: doc.id, title: doc.title}); 31 | } 32 | else if (doc.index === "market" && doc.type === "comment") { 33 | var anchor = $filter('formatHash')(doc.id); 34 | $state.go('app.market_view_record_anchor', {id: doc.record, anchor: anchor}); 35 | } 36 | }; 37 | } 38 | -------------------------------------------------------------------------------- /www/plugins/market/js/plugin.js: -------------------------------------------------------------------------------- 1 | angular.module('cesium.market.services', [ 2 | // removeIf(device) 3 | 'cesium.market.converse.services', 4 | // endRemoveIf(device) 5 | 'cesium.market.modal.services', 6 | 'cesium.market.record.services', 7 | 'cesium.market.tx.services', 8 | 'cesium.market.wallet.services',, 9 | 'cesium.market.profile.services', 10 | 'cesium.market.settings.services', 11 | 'cesium.market.category.services' 12 | ]); 13 | 14 | 15 | angular.module('cesium.market.plugin', [ 16 | 'cesium.market.app.controllers', 17 | 'cesium.market.home.controllers', 18 | 'cesium.market.join.controllers', 19 | 'cesium.market.login.controllers', 20 | 'cesium.market.search.controllers', 21 | 'cesium.market.gallery.controllers', 22 | 'cesium.market.record.controllers', 23 | 'cesium.market.wallet.controllers', 24 | 'cesium.market.category.controllers', 25 | 'cesium.market.wot.controllers', 26 | 'cesium.market.document.controllers', 27 | 28 | // Services 29 | 'cesium.market.services' 30 | ]) 31 | 32 | .run(function(csConfig, Modals, mkModals) { 33 | 'ngInject'; 34 | 35 | if (csConfig.plugins && csConfig.plugins.market && csConfig.plugins.market.enable) { 36 | 37 | console.debug("[plugin] [market] Override login and join modals"); 38 | Modals.showLogin = mkModals.showLogin; 39 | Modals.showJoin = mkModals.showJoin; 40 | } 41 | }); 42 | 43 | -------------------------------------------------------------------------------- /www/plugins/market/js/services/modal-services.js: -------------------------------------------------------------------------------- 1 | angular.module('cesium.market.modal.services', ['cesium.modal.services']) 2 | 3 | .factory('mkModals', function(ModalUtils) { 4 | 'ngInject'; 5 | 6 | function showJoinModal(parameters) { 7 | return ModalUtils.show('plugins/market/templates/join/modal_join.html', 'MkJoinModalCtrl', parameters); 8 | } 9 | 10 | function showHelpModal(parameters) { 11 | return ModalUtils.show('plugins/market/templates/help/modal_help.html', 'HelpModalCtrl', parameters); 12 | } 13 | 14 | function showLoginModal(parameters) { 15 | return ModalUtils.show('plugins/market/templates/login/modal_login.html', 'MarketLoginModalCtrl', parameters); 16 | } 17 | 18 | function showEventLoginModal(parameters) { 19 | return ModalUtils.show('plugins/market/templates/login/modal_event_login.html', 'MarketEventLoginModalCtrl', parameters); 20 | } 21 | 22 | return { 23 | showHelp: showHelpModal, 24 | showJoin: showJoinModal, 25 | showLogin: showLoginModal, 26 | showEventLogin: showEventLoginModal 27 | }; 28 | 29 | }); 30 | -------------------------------------------------------------------------------- /www/plugins/market/templates/category/card_category_lg.html: -------------------------------------------------------------------------------- 1 | 2 |
3 | 4 | 10 | 11 | 12 | 18 |
19 | -------------------------------------------------------------------------------- /www/plugins/market/templates/category/list_categories_lg.html: -------------------------------------------------------------------------------- 1 |
2 |
3 | 5 | 6 |
7 | 8 |
9 | 11 | 12 |
13 | 14 |
15 | 17 | 18 |
19 |
20 | -------------------------------------------------------------------------------- /www/plugins/market/templates/category/view_categories.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 10 | 11 | 12 | 13 | 14 |
15 | 16 |
17 | 18 | 46 | 47 |
48 |
49 | -------------------------------------------------------------------------------- /www/plugins/market/templates/category/view_categories_lg.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /www/plugins/market/templates/document/item_document_comment.html: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | 8 | 9 |
10 |
11 |

12 | 13 | 14 | 15 | {{:rebind:doc.name}}: 16 | 17 | 18 | {{:rebind:doc.message|truncText:50}} 19 | 20 |

21 |
{{:rebind:doc.time|formatDate}}
22 |
23 | 24 |
25 |
26 | -------------------------------------------------------------------------------- /www/plugins/market/templates/document/item_document_record.html: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | 8 | 9 |
10 |
11 |

12 | 13 | {{:rebind:doc.title}} 14 |

15 |

16 | 17 | {{:rebind:doc.picturesCount}} 18 | 19 | 20 | {{:rebind:doc.city}} 21 | 22 | 23 | {{:rebind:doc.name}} 24 | 25 |

26 |
27 | {{:rebind:doc.time|formatDate}} 28 |
29 |
30 | 31 |
32 |
33 | -------------------------------------------------------------------------------- /www/plugins/market/templates/document/list_documents.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 |
7 | 8 |
9 |
10 | 11 |
12 |
13 | 14 |
15 |
16 | 17 |
18 |
19 | 20 |
21 | 22 | 27 | 28 | -------------------------------------------------------------------------------- /www/plugins/market/templates/help/help.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |

HELP.JOIN.SECTION

4 | 5 | 6 |
7 |
LOGIN.SALT
8 |
HELP.JOIN.SALT
9 |
10 | 11 | 12 |
13 |
LOGIN.PASSWORD
14 |
HELP.JOIN.PASSWORD
15 |
16 | 17 | 18 |

HELP.GLOSSARY.SECTION

19 | 20 | 21 |
22 |
COMMON.PUBKEY
23 |
HELP.GLOSSARY.PUBKEY_DEF
24 |
25 | 26 | 27 |
28 |
COMMON.UNIVERSAL_DIVIDEND
29 |
HELP.GLOSSARY.UNIVERSAL_DIVIDEND_DEF
30 |
31 | 32 | 33 | -------------------------------------------------------------------------------- /www/plugins/market/templates/help/modal_help.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 |

HELP.TITLE

8 |
9 | 10 | 11 | 12 | 13 | 14 | 20 | 21 | 22 |
23 | -------------------------------------------------------------------------------- /www/plugins/market/templates/help/view_help.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | HELP.TITLE 4 | 5 | 6 | 7 | 8 |

HELP.TITLE

9 | 10 | 11 | 12 |
13 |
14 | -------------------------------------------------------------------------------- /www/plugins/market/templates/home/home_buttons.html: -------------------------------------------------------------------------------- 1 | 2 |

3 | 4 |
5 | MARKET.HOME.LOCATION_LABEL 6 |
7 | 8 |
9 | 10 | 11 |
12 |
13 | 14 | 22 |
23 |
24 | 25 | 26 | 29 | 30 | 38 |
39 | 40 | 41 | 42 |
43 | 44 | 47 | 48 | 49 | 50 | -------------------------------------------------------------------------------- /www/plugins/market/templates/map/map_country.html: -------------------------------------------------------------------------------- 1 | 2 |
3 |
4 | 5 |
6 | 7 | 12 | 13 | 14 |
15 | 16 |

17 | Convert ! 18 | View on a map, as GeoJSON 19 |

20 | 21 |

22 | 25 |  |  26 | {{countriesMap[country]}} 27 | 28 |

29 |
30 | -------------------------------------------------------------------------------- /www/plugins/market/templates/record/modal_payment.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |

MARKET.PAYMENT.MODAL.TITLE

5 | 6 |
7 | 8 | 9 |
10 |

11 |

12 | 13 |

14 |
15 | 16 |
17 | 18 | 19 | MARKET.PAYMENT.MODAL.PAYMENT_LINK_HELP 20 | 21 | 22 | 24 |

25 | {{uri}} 26 |

27 | 30 | 31 | 32 |
33 | 34 | 36 | 37 | 42 |
43 | 44 | 45 | 46 | 47 |
48 | 49 | 50 |
51 | -------------------------------------------------------------------------------- /www/plugins/market/templates/record/modal_record_type.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |

MARKET.TYPE.TITLE

5 |
6 | 7 | 8 |
9 |

MARKET.TYPE.SELECT_TYPE

10 | 13 | 14 | 18 | 19 |
20 | 21 | 22 | 23 | 26 | 29 |
30 |
31 |
32 | -------------------------------------------------------------------------------- /www/plugins/market/templates/record/popover_unit.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /www/plugins/market/templates/search/lookup_sort_popover.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /www/plugins/market/templates/wot/view_identity_extend.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 9 | 10 | MARKET.WOT.VIEW.DUNITER_PUBKEY 11 |

{{:rebind:formData.profile.pubkey}}

12 | 13 |

15 | 16 |

17 |
18 | 19 |
20 | 21 | 22 |

MARKET.WOT.VIEW.DUNITER_ACCOUNT_HELP

25 |

27 | 28 |
29 | 30 | 31 |
32 | 33 | 34 | 35 |
36 | {{'MENU.MARKET' | translate}} 37 |
38 | 39 | 40 | 42 | 43 | {{'MARKET.WOT.VIEW.BTN_RECORDS' | translate}} 44 | 45 | 46 | 47 |
48 | -------------------------------------------------------------------------------- /www/plugins/market/templates/wot/view_identity_records.html: -------------------------------------------------------------------------------- 1 | 3 | 4 | {{'MARKET.PROFILE.IDENTITY_RECORDS_TITLE'|translate}} 5 | 6 | 7 | 8 | 9 | 10 | 14 | 15 | 16 | 18 | 19 | 21 | 22 | 23 | 24 | 35 | 36 | 37 |
38 | 39 |
40 |
41 | 42 |
43 | -------------------------------------------------------------------------------- /www/templates/common/form_error_messages.html: -------------------------------------------------------------------------------- 1 |
2 | 3 |
4 |
5 | 6 |
7 |
8 | 9 |
10 |
11 | 12 |
13 | -------------------------------------------------------------------------------- /www/templates/common/popover_copy.html: -------------------------------------------------------------------------------- 1 | 3 | 4 |
5 | 6 |
7 | 10 |