import * as types from 'app/types' import { api } from 'app/utils' import actions from 'app/actions' import { URLS } from 'app/constants' import FontFaceObserver from 'fontfaceobserver' export const loadProject = () => dispatch => { Promise.all([ actions.site.loadText(), actions.site.loadPeaks(), actions.audio.load(), actions.annotation.index(), actions.paragraph.index(), actions.media.index(), actions.episode.index(), actions.venue.index(), loadFonts(), ]).then(() => { actions.viewer.loadSections() }).catch(err => { console.error(err) }) } const loadFonts = () => { const fonts = [ new FontFaceObserver('Freight Text'), new FontFaceObserver('Freight Text', { style: 'italic' }), new FontFaceObserver('Neue Haas Unica'), ] return Promise.all(fonts.map(font => font.load())) } export const loadPeaks = (asdf) => dispatch => ( api(dispatch, types.peaks, 'peaks', URLS.peaks) ) export const loadText = (asdf) => dispatch => ( api(dispatch, types.text, 'text', URLS.text) ) export const updateText = text => dispatch => ( dispatch({ type: types.text.loaded, data: text }) )