├── .babelrc ├── public ├── splash.png ├── catLanding.png ├── splash_ipad.png ├── splash_iphone6.png ├── splash_iphone6plus.png ├── 30799efa5bf74129468ad4e257551dc3.eot ├── 3b813c2ae0d04909a33a18d792912ee7.woff ├── 46e48ce0628835f68a7369d0254e4283.ttf ├── 4d9f3f9e5195e7b074bb63ba4ce42208.eot ├── 7500519de3d82e33d1587f8042e2afcb.woff ├── 894a2ede85a483bf9bedefd4db45cdb9.ttf ├── 94998475f6aea65f558494802416c1cf.ttf ├── a990f611f2305dc12965f186c2ef2690.eot ├── ba3dcd8903e3d0af5de7792777f8ae0d.woff ├── bc540e50b175a23a39a1b3bffc6e0785.png ├── dc81817def276b4f21395f7ea5e88dcd.woff ├── df7b648ce5356ea1ebce435b3459fd60.ttf ├── dfe56a876d0282555d1e2458e278060f.eot ├── e31fcf1885e371e19f5786c2bdfeae1b.ttf ├── ecdd509cadbf1ea78b8d2e31ec52328c.eot ├── fc78759e93a6cac50458610e3d9d63a0.woff ├── 2751ee43015f9884c3642f103b7f70c9.woff2 ├── 39b2c3031be6b4ea96e2e3e95d307814.woff2 ├── 574fd0b50367f886d359e8264938fc37.woff2 ├── 69f8a0617ac472f78e45841323a3df9e.woff2 ├── 954bbdeb86483e4ffea00c4591530ece.woff2 ├── Podington_Bear_-_Floating_In_Space.mp3 ├── ea463d8bf1904b3cece6052283b04971.svg ├── 7ef9009b51f2e3ced613809250f98a30.svg ├── f079d603854bcd795eaabf2ef7ae723b.svg ├── 3c546bf7e955aeaf180bca3d2743e204.svg ├── 0bffba416891219267efcf4e59c3c015.svg ├── 7ef525e40bfdaf62100e47dd4be50351.svg ├── manifest.json ├── breathe.appcache ├── index.html ├── 7d0026955ab24fa892b84b6df7cc6935.svg └── bundle.css ├── .eslintrc ├── src ├── assets │ ├── images │ │ ├── splash.png │ │ ├── breathingBG.png │ │ ├── catLanding.png │ │ ├── splash_ipad.png │ │ ├── png │ │ │ └── catLanding.png │ │ ├── splash_iphone6.png │ │ ├── splash_iphone6plus.png │ │ ├── breathingPage │ │ │ ├── Legs.svg │ │ │ ├── leftHand.svg │ │ │ ├── rightHand.svg │ │ │ ├── breathingBelly.svg │ │ │ ├── breathing-background.svg │ │ │ ├── twoHands.svg │ │ │ ├── BeathingHead.svg │ │ │ ├── newHands.svg │ │ │ ├── new legs.svg │ │ │ └── breathingCat.svg │ │ ├── blueMountains │ │ │ ├── mountainBack.svg │ │ │ ├── mountainFront2.svg │ │ │ └── mountainMiddle.svg │ │ ├── redMountains │ │ │ ├── mountainWelldoneFront.svg │ │ │ ├── mountainWelldoneMiddle.svg │ │ │ └── mountainWelldoneBack.svg │ │ ├── welldone │ │ │ ├── stars.svg │ │ │ └── banner.svg │ │ ├── GIFpage │ │ │ └── cat-GIF.svg │ │ └── icons │ │ │ ├── cat_icon_square_very_big.svg │ │ │ ├── cat_icon_round_big_no_border.svg │ │ │ ├── cat_icon_square_small.svg │ │ │ └── cat_icon_square_big.svg │ └── sounds │ │ └── Podington_Bear_-_Floating_In_Space.mp3 ├── templates │ ├── avatars │ │ ├── index.js │ │ ├── cat.html │ │ └── panda.html │ ├── index.js │ ├── credits.html │ ├── landing.html │ ├── welldone.html │ ├── avatar.html │ ├── breathing.html │ └── narration.html ├── css │ ├── partials │ │ ├── _fonts.scss │ │ ├── _colors.scss │ │ ├── _page.scss │ │ ├── _avatar.scss │ │ ├── _mountain-color.scss │ │ ├── _credits.scss │ │ ├── _buttons.scss │ │ ├── _landing.scss │ │ ├── _welldone.scss │ │ ├── _carousel.scss │ │ └── _breathing.scss │ └── style.scss ├── globalState.js ├── controllers │ ├── index.js │ ├── credits.js │ ├── welldone.js │ ├── narration.js │ ├── landing.js │ ├── avatar.js │ └── breathing.js ├── lib │ ├── audio.js │ ├── validation.js │ ├── transitions.js │ ├── background.js │ ├── breathingmenu.js │ ├── breathingtimer.js │ ├── carousel.js │ └── blacklist.js ├── manifest.json ├── index.js ├── index.html └── animations │ └── index.js ├── index.html ├── .gitignore ├── package.json ├── README.md └── webpack.config.js /.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | presets: ['es2015'] 3 | } 4 | -------------------------------------------------------------------------------- /public/splash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CYPIAPT-LNDSE/Breathe-With-Me/HEAD/public/splash.png -------------------------------------------------------------------------------- /public/catLanding.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CYPIAPT-LNDSE/Breathe-With-Me/HEAD/public/catLanding.png -------------------------------------------------------------------------------- /public/splash_ipad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CYPIAPT-LNDSE/Breathe-With-Me/HEAD/public/splash_ipad.png -------------------------------------------------------------------------------- /public/splash_iphone6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CYPIAPT-LNDSE/Breathe-With-Me/HEAD/public/splash_iphone6.png -------------------------------------------------------------------------------- /.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "airbnb", 3 | "env": { 4 | "browser": true, 5 | "jquery": true, 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /public/splash_iphone6plus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CYPIAPT-LNDSE/Breathe-With-Me/HEAD/public/splash_iphone6plus.png -------------------------------------------------------------------------------- /src/assets/images/splash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CYPIAPT-LNDSE/Breathe-With-Me/HEAD/src/assets/images/splash.png -------------------------------------------------------------------------------- /src/assets/images/breathingBG.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CYPIAPT-LNDSE/Breathe-With-Me/HEAD/src/assets/images/breathingBG.png -------------------------------------------------------------------------------- /src/assets/images/catLanding.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CYPIAPT-LNDSE/Breathe-With-Me/HEAD/src/assets/images/catLanding.png -------------------------------------------------------------------------------- /src/assets/images/splash_ipad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CYPIAPT-LNDSE/Breathe-With-Me/HEAD/src/assets/images/splash_ipad.png -------------------------------------------------------------------------------- /src/assets/images/png/catLanding.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CYPIAPT-LNDSE/Breathe-With-Me/HEAD/src/assets/images/png/catLanding.png -------------------------------------------------------------------------------- /src/assets/images/splash_iphone6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CYPIAPT-LNDSE/Breathe-With-Me/HEAD/src/assets/images/splash_iphone6.png -------------------------------------------------------------------------------- /src/assets/images/splash_iphone6plus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CYPIAPT-LNDSE/Breathe-With-Me/HEAD/src/assets/images/splash_iphone6plus.png -------------------------------------------------------------------------------- /public/30799efa5bf74129468ad4e257551dc3.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CYPIAPT-LNDSE/Breathe-With-Me/HEAD/public/30799efa5bf74129468ad4e257551dc3.eot -------------------------------------------------------------------------------- /public/3b813c2ae0d04909a33a18d792912ee7.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CYPIAPT-LNDSE/Breathe-With-Me/HEAD/public/3b813c2ae0d04909a33a18d792912ee7.woff -------------------------------------------------------------------------------- /public/46e48ce0628835f68a7369d0254e4283.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CYPIAPT-LNDSE/Breathe-With-Me/HEAD/public/46e48ce0628835f68a7369d0254e4283.ttf -------------------------------------------------------------------------------- /public/4d9f3f9e5195e7b074bb63ba4ce42208.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CYPIAPT-LNDSE/Breathe-With-Me/HEAD/public/4d9f3f9e5195e7b074bb63ba4ce42208.eot -------------------------------------------------------------------------------- /public/7500519de3d82e33d1587f8042e2afcb.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CYPIAPT-LNDSE/Breathe-With-Me/HEAD/public/7500519de3d82e33d1587f8042e2afcb.woff -------------------------------------------------------------------------------- /public/894a2ede85a483bf9bedefd4db45cdb9.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CYPIAPT-LNDSE/Breathe-With-Me/HEAD/public/894a2ede85a483bf9bedefd4db45cdb9.ttf -------------------------------------------------------------------------------- /public/94998475f6aea65f558494802416c1cf.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CYPIAPT-LNDSE/Breathe-With-Me/HEAD/public/94998475f6aea65f558494802416c1cf.ttf -------------------------------------------------------------------------------- /public/a990f611f2305dc12965f186c2ef2690.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CYPIAPT-LNDSE/Breathe-With-Me/HEAD/public/a990f611f2305dc12965f186c2ef2690.eot -------------------------------------------------------------------------------- /public/ba3dcd8903e3d0af5de7792777f8ae0d.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CYPIAPT-LNDSE/Breathe-With-Me/HEAD/public/ba3dcd8903e3d0af5de7792777f8ae0d.woff -------------------------------------------------------------------------------- /public/bc540e50b175a23a39a1b3bffc6e0785.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CYPIAPT-LNDSE/Breathe-With-Me/HEAD/public/bc540e50b175a23a39a1b3bffc6e0785.png -------------------------------------------------------------------------------- /public/dc81817def276b4f21395f7ea5e88dcd.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CYPIAPT-LNDSE/Breathe-With-Me/HEAD/public/dc81817def276b4f21395f7ea5e88dcd.woff -------------------------------------------------------------------------------- /public/df7b648ce5356ea1ebce435b3459fd60.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CYPIAPT-LNDSE/Breathe-With-Me/HEAD/public/df7b648ce5356ea1ebce435b3459fd60.ttf -------------------------------------------------------------------------------- /public/dfe56a876d0282555d1e2458e278060f.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CYPIAPT-LNDSE/Breathe-With-Me/HEAD/public/dfe56a876d0282555d1e2458e278060f.eot -------------------------------------------------------------------------------- /public/e31fcf1885e371e19f5786c2bdfeae1b.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CYPIAPT-LNDSE/Breathe-With-Me/HEAD/public/e31fcf1885e371e19f5786c2bdfeae1b.ttf -------------------------------------------------------------------------------- /public/ecdd509cadbf1ea78b8d2e31ec52328c.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CYPIAPT-LNDSE/Breathe-With-Me/HEAD/public/ecdd509cadbf1ea78b8d2e31ec52328c.eot -------------------------------------------------------------------------------- /public/fc78759e93a6cac50458610e3d9d63a0.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CYPIAPT-LNDSE/Breathe-With-Me/HEAD/public/fc78759e93a6cac50458610e3d9d63a0.woff -------------------------------------------------------------------------------- /public/2751ee43015f9884c3642f103b7f70c9.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CYPIAPT-LNDSE/Breathe-With-Me/HEAD/public/2751ee43015f9884c3642f103b7f70c9.woff2 -------------------------------------------------------------------------------- /public/39b2c3031be6b4ea96e2e3e95d307814.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CYPIAPT-LNDSE/Breathe-With-Me/HEAD/public/39b2c3031be6b4ea96e2e3e95d307814.woff2 -------------------------------------------------------------------------------- /public/574fd0b50367f886d359e8264938fc37.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CYPIAPT-LNDSE/Breathe-With-Me/HEAD/public/574fd0b50367f886d359e8264938fc37.woff2 -------------------------------------------------------------------------------- /public/69f8a0617ac472f78e45841323a3df9e.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CYPIAPT-LNDSE/Breathe-With-Me/HEAD/public/69f8a0617ac472f78e45841323a3df9e.woff2 -------------------------------------------------------------------------------- /public/954bbdeb86483e4ffea00c4591530ece.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CYPIAPT-LNDSE/Breathe-With-Me/HEAD/public/954bbdeb86483e4ffea00c4591530ece.woff2 -------------------------------------------------------------------------------- /public/Podington_Bear_-_Floating_In_Space.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CYPIAPT-LNDSE/Breathe-With-Me/HEAD/public/Podington_Bear_-_Floating_In_Space.mp3 -------------------------------------------------------------------------------- /src/templates/avatars/index.js: -------------------------------------------------------------------------------- 1 | import cat from './cat.html'; 2 | import dog from './dog.html'; 3 | import panda from './panda.html'; 4 | 5 | export { cat, dog, panda }; 6 | -------------------------------------------------------------------------------- /src/assets/sounds/Podington_Bear_-_Floating_In_Space.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CYPIAPT-LNDSE/Breathe-With-Me/HEAD/src/assets/sounds/Podington_Bear_-_Floating_In_Space.mp3 -------------------------------------------------------------------------------- /src/css/partials/_fonts.scss: -------------------------------------------------------------------------------- 1 | $Lato: 'Lato', sans-serif; 2 | $Amatic: 'Amatic SC', cursive; 3 | $Open-sans: 'Open Sans Condensed', sans-serif; 4 | $Raleway: 'Raleway', sans-serif; 5 | -------------------------------------------------------------------------------- /src/css/partials/_colors.scss: -------------------------------------------------------------------------------- 1 | $background-landing: #CEF7F0; 2 | $background-intro: #5CA1C2; 3 | $background-start: #CADFFF; 4 | $buttons: #5CA1C2; 5 | $main-text: #1C6C89; 6 | $background-hello: #5CA1C2; 7 | $modal-menu: rgba(28, 108, 137, 76); 8 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /src/globalState.js: -------------------------------------------------------------------------------- 1 | export const getState = () => { 2 | return JSON.parse(localStorage.getItem('state')) || {}; 3 | }; 4 | 5 | export const saveState = (state) => { 6 | const newState = Object.assign({}, getState(), state); 7 | localStorage.setItem('state', JSON.stringify(newState)); 8 | }; 9 | -------------------------------------------------------------------------------- /src/css/partials/_page.scss: -------------------------------------------------------------------------------- 1 | .page { 2 | width: 100%; 3 | max-width: inherit; 4 | max-height: inherit; 5 | min-height: 100%; 6 | overflow: hidden; 7 | position: fixed; 8 | -webkit-tap-highlight-color: rgba(0,0,0,0); 9 | } 10 | 11 | .page:last-child(1) { 12 | z-index: 10000; 13 | } 14 | -------------------------------------------------------------------------------- /src/controllers/index.js: -------------------------------------------------------------------------------- 1 | import landing from './landing'; 2 | import avatar from './avatar'; 3 | import narration from './narration'; 4 | import breathe from './breathing'; 5 | import welldone from './welldone'; 6 | import credits from './credits'; 7 | 8 | export { landing, avatar, narration, breathe, welldone, credits }; 9 | -------------------------------------------------------------------------------- /src/templates/index.js: -------------------------------------------------------------------------------- 1 | import landing from './landing.html'; 2 | import avatar from './avatar.html'; 3 | import narration from './narration.html'; 4 | import breathe from './breathing.html'; 5 | import welldone from './welldone.html'; 6 | import credits from './credits.html'; 7 | 8 | export { landing, avatar, narration, breathe, welldone, credits }; 9 | -------------------------------------------------------------------------------- /src/assets/images/breathingPage/Legs.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /src/controllers/credits.js: -------------------------------------------------------------------------------- 1 | import { getState } from '../globalState'; 2 | import { granimInstance } from '../lib/background'; 3 | 4 | const creditsCtrl = () => { 5 | const { granimState } = getState(); 6 | 7 | document.getElementById('back-icon').addEventListener('click', () => { 8 | granimInstance().changeState(granimState); 9 | }); 10 | }; 11 | 12 | export default creditsCtrl; 13 | -------------------------------------------------------------------------------- /src/css/partials/_avatar.scss: -------------------------------------------------------------------------------- 1 | .avatar { 2 | font-size: 1em; 3 | position: absolute; 4 | left: 0; 5 | right: 0; 6 | margin: 0 auto; 7 | height: 100%; 8 | text-align: center; 9 | opacity: 0; 10 | } 11 | 12 | #avatar-header { 13 | font-family: $Amatic; 14 | font-size: 2.5em; 15 | position: absolute; 16 | left: 0; 17 | right: 0; 18 | margin: 0 auto; 19 | top: 3%; 20 | } 21 | 22 | #landing-material-icon { 23 | font-size: 2.6rem!important; 24 | } 25 | -------------------------------------------------------------------------------- /src/css/partials/_mountain-color.scss: -------------------------------------------------------------------------------- 1 | #mountain1.dog { 2 | fill: #FFF4F4; 3 | } 4 | 5 | #mountain2.dog { 6 | fill: #F3D4D4; 7 | } 8 | 9 | #mountain3.dog { 10 | fill: #FF9C9C; 11 | } 12 | 13 | #mountain1.cat { 14 | fill: #CEF7F0; 15 | } 16 | 17 | #mountain2.cat { 18 | fill: #3FA1B3; 19 | } 20 | 21 | #mountain3.cat { 22 | fill: #1C6C86; 23 | } 24 | 25 | #mountain1.panda { 26 | fill: #CFDCFF; 27 | } 28 | 29 | #mountain2.panda { 30 | fill: #A685B4; 31 | } 32 | 33 | #mountain3.panda { 34 | fill: #4942A5; 35 | } 36 | -------------------------------------------------------------------------------- /public/ea463d8bf1904b3cece6052283b04971.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /public/7ef9009b51f2e3ced613809250f98a30.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/assets/images/blueMountains/mountainBack.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /src/controllers/welldone.js: -------------------------------------------------------------------------------- 1 | import { welldoneToIntro, breathingToWelldone } from '../animations'; 2 | import { granimInstance } from '../lib/background'; 3 | import { getState } from '../globalState'; 4 | 5 | const welldoneCtrl = () => { 6 | const { granimState, name } = getState(); 7 | const startAgain = document.getElementById('start-again'); 8 | startAgain.addEventListener('click', () => { 9 | granimInstance().changeState(granimState); 10 | }); 11 | document.querySelector('.welldone-user').innerText = `${name}!`; 12 | }; 13 | 14 | export default welldoneCtrl; 15 | -------------------------------------------------------------------------------- /public/f079d603854bcd795eaabf2ef7ae723b.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/assets/images/redMountains/mountainWelldoneFront.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/assets/images/redMountains/mountainWelldoneMiddle.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/templates/credits.html: -------------------------------------------------------------------------------- 1 |Breathe with Me was first created during a hackathon hosted by the London and South East CYP IAPT Learning Collaborative in September 2016. The resulting app is a collaboration between the Learning Collaborative and Founders and Coders. For more information about the product and to provide feedback, please email
hack@annafreud.org
When I feel worried or upset, I take slow, deep breaths to make my belly move up and down. This helps me to feel more calm and relaxed.
8 | Whenever you're feeling anxious, find a place you can stand, sit or lie down comfortably. Place your hand on your belly and breathe with me.
9 |