├── .dockerignore ├── .gitignore ├── LICENSE ├── README.md ├── app ├── 404.html ├── favicon.ico ├── fonts │ ├── tengwarannatarm-webfont.eot │ ├── tengwarannatarm-webfont.ttf │ ├── tengwarannatarm-webfont.woff │ └── tengwarannatarm-webfont.woff2 ├── images │ ├── ami-logo-small.png │ ├── ami-logo │ │ ├── AMICAFullLogoBlackAndWhite-fr.png │ │ ├── AMICAFullLogoBlackAndWhite.png │ │ ├── AMICAFullLogoRedBackground-fr.png │ │ ├── AMICAFullLogoRedBackground.png │ │ ├── AMICAFullLogoWhiteBackground-fr.png │ │ ├── AMICAFullLogoWhiteBackground.png │ │ ├── AMICALogoBlack AndWhite-fr.png │ │ ├── AMICALogoBlack AndWhite.png.png │ │ └── AMICALogoEmblemOnly.png │ ├── amilogo-aa.png │ ├── amilogo-en.png │ ├── categories │ │ ├── 37.svg │ │ ├── 43.svg │ │ ├── 73.svg │ │ ├── chat.svg │ │ ├── dating-applications.svg │ │ ├── financial.svg │ │ ├── social-media.svg │ │ ├── telecommunications.svg │ │ └── transportation-airlines.svg │ ├── cira-logo.png │ ├── citizen-lab-logo.png │ ├── creativecommons.png │ ├── dsi-logo.png │ ├── facebook.svg │ ├── flags │ │ ├── Canada-flag-48.png │ │ ├── Hong-kong-flag-48.png │ │ ├── Indonesia-flag-48.png │ │ ├── Korea-flag-48.png │ │ └── Philippines-flag-48.png │ ├── how-it-works.png │ ├── iconic │ │ ├── account-login.svg │ │ ├── account-logout.svg │ │ ├── action-redo.svg │ │ ├── action-undo.svg │ │ ├── align-center.svg │ │ ├── align-left.svg │ │ ├── align-right.svg │ │ ├── aperture.svg │ │ ├── arrow-bottom.svg │ │ ├── arrow-circle-bottom.svg │ │ ├── arrow-circle-left.svg │ │ ├── arrow-circle-right.svg │ │ ├── arrow-circle-top.svg │ │ ├── arrow-left.svg │ │ ├── arrow-right.svg │ │ ├── arrow-thick-bottom.svg │ │ ├── arrow-thick-left.svg │ │ ├── arrow-thick-right.svg │ │ ├── arrow-thick-top.svg │ │ ├── arrow-top.svg │ │ ├── audio-spectrum.svg │ │ ├── audio.svg │ │ ├── badge.svg │ │ ├── ban.svg │ │ ├── bar-chart.svg │ │ ├── basket.svg │ │ ├── battery-empty.svg │ │ ├── battery-full.svg │ │ ├── beaker.svg │ │ ├── bell.svg │ │ ├── bluetooth.svg │ │ ├── bold.svg │ │ ├── bolt.svg │ │ ├── book.svg │ │ ├── bookmark.svg │ │ ├── box.svg │ │ ├── briefcase.svg │ │ ├── british-pound.svg │ │ ├── browser.svg │ │ ├── brush.svg │ │ ├── bug.svg │ │ ├── bullhorn.svg │ │ ├── calculator.svg │ │ ├── calendar.svg │ │ ├── camera-slr.svg │ │ ├── caret-bottom.svg │ │ ├── caret-left.svg │ │ ├── caret-right.svg │ │ ├── caret-top.svg │ │ ├── cart.svg │ │ ├── chat.svg │ │ ├── check.svg │ │ ├── chevron-bottom.svg │ │ ├── chevron-left.svg │ │ ├── chevron-right.svg │ │ ├── chevron-top.svg │ │ ├── circle-check.svg │ │ ├── circle-x.svg │ │ ├── clipboard.svg │ │ ├── clock.svg │ │ ├── cloud-download.svg │ │ ├── cloud-upload.svg │ │ ├── cloud.svg │ │ ├── cloudy.svg │ │ ├── code.svg │ │ ├── cog.svg │ │ ├── collapse-down.svg │ │ ├── collapse-left.svg │ │ ├── collapse-right.svg │ │ ├── collapse-up.svg │ │ ├── command.svg │ │ ├── comment-square.svg │ │ ├── compass.svg │ │ ├── contrast.svg │ │ ├── copywriting.svg │ │ ├── credit-card.svg │ │ ├── crop.svg │ │ ├── dashboard.svg │ │ ├── data-transfer-download.svg │ │ ├── data-transfer-upload.svg │ │ ├── delete.svg │ │ ├── dial.svg │ │ ├── document.svg │ │ ├── dollar.svg │ │ ├── double-quote-sans-left.svg │ │ ├── double-quote-sans-right.svg │ │ ├── double-quote-serif-left.svg │ │ ├── double-quote-serif-right.svg │ │ ├── droplet.svg │ │ ├── eject.svg │ │ ├── elevator.svg │ │ ├── ellipses.svg │ │ ├── envelope-closed.svg │ │ ├── envelope-open.svg │ │ ├── euro.svg │ │ ├── excerpt.svg │ │ ├── expand-down.svg │ │ ├── expand-left.svg │ │ ├── expand-right.svg │ │ ├── expand-up.svg │ │ ├── external-link.svg │ │ ├── eye.svg │ │ ├── eyedropper.svg │ │ ├── file.svg │ │ ├── fire.svg │ │ ├── flag.svg │ │ ├── flash.svg │ │ ├── folder.svg │ │ ├── fork.svg │ │ ├── fullscreen-enter.svg │ │ ├── fullscreen-exit.svg │ │ ├── globe.svg │ │ ├── graph.svg │ │ ├── grid-four-up.svg │ │ ├── grid-three-up.svg │ │ ├── grid-two-up.svg │ │ ├── hard-drive.svg │ │ ├── header.svg │ │ ├── headphones.svg │ │ ├── heart.svg │ │ ├── home.svg │ │ ├── image.svg │ │ ├── inbox.svg │ │ ├── infinity.svg │ │ ├── info.svg │ │ ├── italic.svg │ │ ├── justify-center.svg │ │ ├── justify-left.svg │ │ ├── justify-right.svg │ │ ├── key.svg │ │ ├── laptop.svg │ │ ├── layers.svg │ │ ├── lightbulb.svg │ │ ├── link-broken.svg │ │ ├── link-intact.svg │ │ ├── list-rich.svg │ │ ├── list.svg │ │ ├── location.svg │ │ ├── lock-locked.svg │ │ ├── lock-unlocked.svg │ │ ├── loop-circular.svg │ │ ├── loop-square.svg │ │ ├── loop.svg │ │ ├── magnifying-glass.svg │ │ ├── map-marker.svg │ │ ├── map.svg │ │ ├── media-pause.svg │ │ ├── media-play.svg │ │ ├── media-record.svg │ │ ├── media-skip-backward.svg │ │ ├── media-skip-forward.svg │ │ ├── media-step-backward.svg │ │ ├── media-step-forward.svg │ │ ├── media-stop.svg │ │ ├── medical-cross.svg │ │ ├── menu.svg │ │ ├── microphone.svg │ │ ├── minus.svg │ │ ├── monitor.svg │ │ ├── moon.svg │ │ ├── move.svg │ │ ├── musical-note.svg │ │ ├── paperclip.svg │ │ ├── pencil.svg │ │ ├── people.svg │ │ ├── person.svg │ │ ├── phone.svg │ │ ├── pie-chart.svg │ │ ├── pin.svg │ │ ├── play-circle.svg │ │ ├── plus.svg │ │ ├── power-standby.svg │ │ ├── print.svg │ │ ├── project.svg │ │ ├── pulse.svg │ │ ├── puzzle-piece.svg │ │ ├── question-mark.svg │ │ ├── rain.svg │ │ ├── random.svg │ │ ├── reload.svg │ │ ├── resize-both.svg │ │ ├── resize-height.svg │ │ ├── resize-width.svg │ │ ├── rss-alt.svg │ │ ├── rss.svg │ │ ├── script.svg │ │ ├── share-boxed.svg │ │ ├── share.svg │ │ ├── shield.svg │ │ ├── signal.svg │ │ ├── signpost.svg │ │ ├── sort-ascending.svg │ │ ├── sort-descending.svg │ │ ├── spreadsheet.svg │ │ ├── star.svg │ │ ├── sun.svg │ │ ├── tablet.svg │ │ ├── tag.svg │ │ ├── tags.svg │ │ ├── target.svg │ │ ├── task.svg │ │ ├── terminal.svg │ │ ├── text.svg │ │ ├── thumb-down.svg │ │ ├── thumb-up.svg │ │ ├── timer.svg │ │ ├── transfer.svg │ │ ├── trash.svg │ │ ├── underline.svg │ │ ├── vertical-align-bottom.svg │ │ ├── vertical-align-center.svg │ │ ├── vertical-align-top.svg │ │ ├── video.svg │ │ ├── volume-high.svg │ │ ├── volume-low.svg │ │ ├── volume-off.svg │ │ ├── warning.svg │ │ ├── wifi.svg │ │ ├── wrench.svg │ │ ├── x.svg │ │ ├── yen.svg │ │ ├── zoom-in.svg │ │ └── zoom-out.svg │ ├── illustrations │ │ ├── AmiIntro1.png │ │ ├── AmiIntro2.png │ │ ├── AmiIntro3.png │ │ ├── EmailOption.png │ │ └── PostalOption.png │ ├── munk-school.jpg │ ├── offline.jpg │ ├── open-effect-logo.png │ ├── open_media_logo.png │ ├── option-logo.jpg │ ├── placeholder.png │ ├── twitter.svg │ └── whatsapp.svg ├── index.html ├── robots.txt ├── scripts │ ├── app.js │ ├── controllers │ │ ├── company.js │ │ ├── content.js │ │ ├── finish.js │ │ ├── header.js │ │ ├── industry.js │ │ ├── langstyle.js │ │ ├── language.js │ │ ├── questions.js │ │ ├── request.js │ │ ├── stats.js │ │ ├── subscriberInfo.js │ │ ├── unsubscribe.js │ │ └── verify.js │ ├── license.js │ └── modules │ │ ├── AMIRequest │ │ └── amirequest.js │ │ ├── Enter │ │ └── enter.js │ │ ├── ProgressBarNav │ │ └── progressbarnav.js │ │ ├── canvasDoc │ │ └── canvasdoc.js │ │ ├── dataProviderService │ │ └── dataproviderservice.js │ │ ├── formItem │ │ └── formitem.js │ │ ├── ngJSPDF │ │ └── ngjspdf.js │ │ ├── ngTooltip │ │ ├── tooltip-html-unsafe-popup.html │ │ ├── tooltip-popup.html │ │ └── ui-bootstrap-custom-0.10.0.min.js │ │ ├── requestTemplate │ │ └── requesttemplate.js │ │ ├── ui-bootstrap-custom-1.1.2.min.js │ │ └── ui-bootstrap-custom-tpls-1.1.2.min.js ├── styles │ ├── elvish.css │ ├── main.css │ ├── tachyons.css │ └── tachyons.min.css ├── translations │ ├── locale-aa.json │ ├── locale-el-draft.json │ ├── locale-en.json │ ├── locale-fr.json │ └── locale-zh.json └── views │ ├── company.html │ ├── feedback.html │ ├── feedbackModalContent.html │ ├── industry.html │ ├── messages.html │ ├── offline.html │ ├── questions.html │ ├── remoteContent.html │ ├── request.html │ ├── stats.html │ ├── subscriber.html │ ├── tooltip-html-unsafe-popup.html │ ├── tooltip-popup.html │ ├── unsubscribe.html │ └── verify.html ├── config ├── dev.json.default └── prod.json.default ├── package.json └── webpack.config.js /.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | dist 3 | .tmp 4 | .sass-cache 5 | .DS_Store 6 | app/bower_components 7 | config/dev.json 8 | config/prod.json 9 | app/scripts/config.js 10 | yarn-error.log 11 | yarn.lock -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # THIS PROJECT IS OUT OF DATE 2 | 3 | NOTE: THIS PROJECT IS ARCHIVED AND NEWEST CODE IS UP AT https://github.com/citizenlab/ami 4 | 5 | # AMI Frontend 6 | AMI Frontend is an AngularJS application. The codebase is structured around being either served for development or compiled for production by webpack. 7 | 8 | ## User Interface 9 | The AMI user interface are HTML files stored in app/views. They represent UI Views that contain Angular elements and variable placeholders. 10 | 11 | AMI Frontend styling is done primarily using the [Tachyons Verbose CSS](https://github.com/tachyons-css/tachyons-verbose/) framework. 12 | 13 | ## Internationalization 14 | AMI is set up to be internationalized. For this reason, all user interface strings for AMI for a given language are stored in a translation file. 15 | 16 | You'll then need to create a new JSON file in the `app/translations` folder called locale-{{newLanguageCode}}.json. It's easiest to copy from an existing translation file and start editing from there. 17 | 18 | To add new translated strings to UI Views refer to the [angular translate](https://angular-translate.github.io/) documentation. -------------------------------------------------------------------------------- /app/404.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 |Sorry, but the page you were trying to view does not exist.
146 |It looks like this was the result of either:
147 |