{"version":3,"sources":["store/Reducers.js","store/ActionTypes.js","store/ConfigureStore.js","store/Actions.js","components/Navigation.js","components/Footer.js","services/RestUtilities.js","const/config.js","components/Layout.js","components/HeaderImage.js","views/Home.js","views/Band.js","views/Shows.js","services/Duration.js","components/Player.js","views/Music.js","views/Video.js","views/Booking.js","App.js","serviceWorker.js","index.js"],"names":["initialState","artist","gallery","songlist","mp3s","gigs","uploads","videos","youTubeVideos","instagram","reducer","state","action","type","Object","objectSpread","images","configureStore","middleware","thunk","enhancers","persistConfig","key","storage","localForage","blacklist","persistedReducer","persistReducer","store","createStore","compose","apply","applyMiddleware","concat","persistor","persistStore","actionCreators","setArtist","setMp3s","setGigs","setVideos","setSonglist","setYouTubeVideos","setInstagram","setGallery","Navigation","react_default","a","createElement","Navbar","variant","expand","className","classnames","this","props","isTop","lib","to","Brand","react_svg_esm","src","wrapper","Toggle","aria-controls","Collapse","id","Nav","NavItem","data-hover","Link","href","Component","components_Footer","Image","src_components_Navigation","Date","getFullYear","RestUtilities","url","request","data","method","isFormData","arguments","length","undefined","ok","body","statusCode","statusText","headers","Headers","set","JSON","stringify","fetch","then","response","status","responseContentType","get","indexOf","json","text","responseContent","hasModelErrors","content","errorContent","config","Layout","fetchData","_this","_ref","asyncToGenerator","regenerator_default","mark","_callee","repertoire","media","wrap","_context","prev","next","sort","b","orderIndex","console","log","artistRepertoires","song","category","artistMedia","filter","x","mediaTypeId","isLive","eventTypeId","date","stop","_x","showBrand","children","connect","dispatch","bindActionCreators","components_HeaderImage","Fragment","small","large","onClick","style","background","darken","imgSrc","heading","svg","checkTop","checkBottom","Home","path","history","push","window","scrollTo","navigate","Band","classCallCheck","possibleConstructorReturn","getPrototypeOf","call","showModal","artistMediaIndex","toggleModal","bind","assertThisInitialized","setState","isFirst","isLast","_this2","currentImage","Container","fluid","Row","Col","lg","react_router_dom","map","i","md","xs","artistMediaId","upload","fileName","handleShowImage","Button","size","Modal","show","onHide","centered","Body","index_es","icon","faTimes","handleImageBack","faAngleLeft","handleImageForward","faAngleRight","Shows","width","updateWindowDimensions","addEventListener","removeEventListener","innerWidth","gig","moment","format","location","venue","link","target","rel","eventDetail","showMobile","Table","striped","hover","responsive","g","renderRow","renderMobileRow","Duration","seconds","dateTime","Math","round","hh","getUTCHours","mm","getUTCMinutes","ss","pad","getUTCSeconds","string","slice","Player","player","React","createRef","playing","controls","played","duration","playPause","onDuration","onProgress","seeking","_this$state","faPauseCircle","faPlayCircle","songName","max","value","ReactPlayer_default","ref","height","light","loop","playbackRate","volume","onPlay","onPause","s","repId","songArtistName","isSka","currentCategory","songs","forEach","catId","newCategory","catDescription","renderSong","components_Player","altText","uploadId","renderSongs","onClickThumbnail","video","activeVideo","top","behavior","isAccoustic","showStopControl","togglePlay","videoId","span","backgroundImage","imageUpload","_this3","onMouseEnter","onMouseLeave","faPlay","faPause","videoUpload","noGutters","renderVideos","name","email","number","message","nameIsValid","emailIsValid","numberIsValid","locationIsValid","dateIsValid","messageIsValid","nameIsValidated","emailIsValidated","numberIsValidated","locationIsValidated","dateIsValidated","messageIsValidated","disableSubmit","result","showMessage","handleNameChange","handleEmailChange","handleNumberChange","handleLocationChange","handleMessageChange","handleDateChange","handleSubmitClick","e","currentTarget","isLength","min","isEmail","isAfter","isFormValid","submit","phone","post","Form","Group","controlId","Label","Control","placeholder","required","maxLength","onChange","onBlur","isInvalid","isValid","Feedback","as","rows","block","disabled","Alert","App","components_Layout","react_router","exact","component","Video","Music","Booking","render","Boolean","hostname","match","initialReduxState","rootElement","document","getElementById","init","_ref2","sent","ReactDOM","es","integration_react","loading","src_App","navigator","serviceWorker","ready","registration","unregister"],"mappings":"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","file":"static/js/main.141c6df8.chunk.js","sourcesContent":["import * as ActionTypes from './ActionTypes';\r\n\r\nconst initialState = {\r\n artist: null,\r\n gallery: [],\r\n songlist: [],\r\n mp3s: [],\r\n gigs: [],\r\n uploads: [],\r\n videos: [],\r\n youTubeVideos: [],\r\n instagram: []\r\n};\r\n\r\nexport const reducer = (state, action) => {\r\n state = state || initialState;\r\n\r\n switch (action.type) {\r\n case ActionTypes.SET_ARTIST:\r\n return { ...state, artist: action.artist };\r\n case ActionTypes.SET_UPLOADS:\r\n return { ...state, uploads: action.uploads };\r\n case ActionTypes.SET_SONGLIST:\r\n return { ...state, songlist: action.songlist };\r\n case ActionTypes.SET_MP3S:\r\n return { ...state, mp3s: action.mp3s };\r\n case ActionTypes.SET_GIGS:\r\n return { ...state, gigs: action.gigs };\r\n case ActionTypes.SET_VIDEOS:\r\n return { ...state, videos: action.videos };\r\n case ActionTypes.SET_YOUTUBEVIDEOS:\r\n return { ...state, youTubeVideos: action.videos };\r\n case ActionTypes.SET_INSTAGRAM:\r\n return { ...state, instagram: action.images };\r\n case ActionTypes.SET_GALLERY:\r\n return { ...state, gallery: action.gallery };\r\n default:\r\n return { ...state };\r\n }\r\n};\r\n","export const SET_ARTIST = 'SET_ARTIST';\r\nexport const SET_SONGLIST = 'SET_SONGLIST';\r\nexport const SET_UPLOADS = 'SET_UPLOADS';\r\nexport const SET_MP3S = 'SET_MP3S';\r\nexport const SET_GIGS = 'SET_GIGS';\r\nexport const SET_VIDEOS = 'SET_VIDEOS';\r\nexport const SET_YOUTUBEVIDEOS = 'SET_YOUTUBEVIDEOS';\r\nexport const SET_INSTAGRAM = 'SET_INSTAGRAM';\r\nexport const SET_GALLERY = 'SET_GALLERY';","import { applyMiddleware, compose, createStore } from 'redux';\r\nimport thunk from 'redux-thunk';\r\nimport { persistStore, persistReducer } from 'redux-persist';\r\nimport localForage from 'localforage';\r\nimport { logger } from 'redux-logger';\r\nimport { reducer } from './Reducers';\r\n\r\nexport default function configureStore(initialState) {\r\n const middleware = [thunk];\r\n\r\n // In development, use the browser's Redux dev tools extension if installed\r\n const enhancers = [];\r\n const isDevelopment = process.env.NODE_ENV === 'development';\r\n if (isDevelopment && typeof window !== 'undefined' && window.devToolsExtension) {\r\n enhancers.push(window.devToolsExtension());\r\n }\r\n if (isDevelopment) {\r\n middleware.push(logger);\r\n }\r\n\r\n const persistConfig = {\r\n key: 'root',\r\n storage: localForage,\r\n blacklist: []\r\n };\r\n\r\n const persistedReducer = persistReducer(persistConfig, reducer);\r\n\r\n const store = createStore(\r\n persistedReducer,\r\n initialState,\r\n compose(\r\n applyMiddleware(...middleware),\r\n ...enhancers\r\n )\r\n );\r\n let persistor = persistStore(store);\r\n\r\n return { store, persistor };\r\n}\r\n","import * as ActionTypes from './ActionTypes';\r\n\r\nexport const actionCreators = {\r\n setArtist: artist => ({ type: ActionTypes.SET_ARTIST, artist }),\r\n setMp3s: mp3s => ({ type: ActionTypes.SET_MP3S, mp3s }),\r\n setGigs: gigs => ({ type: ActionTypes.SET_GIGS, gigs }),\r\n setVideos: videos => ({ type: ActionTypes.SET_VIDEOS, videos }),\r\n setSonglist: songlist => ({ type: ActionTypes.SET_SONGLIST, songlist }),\r\n setYouTubeVideos: videos => ({ type: ActionTypes.SET_YOUTUBEVIDEOS, videos }),\r\n setInstagram: images => ({ type: ActionTypes.SET_INSTAGRAM, images }),\r\n setGallery: gallery => ({ type: ActionTypes.SET_GALLERY, gallery })\r\n};\r\n","import React, { Component } from 'react';\r\nimport { Nav, Navbar, NavItem } from 'react-bootstrap';\r\nimport { LinkContainer, IndexLinkContainer } from 'react-router-bootstrap';\r\nimport ReactSVG from 'react-svg';\r\nimport classnames from 'classnames';\r\nimport './Navigation.scss';\r\n\r\nclass Navigation extends Component {\r\n render() {\r\n return (\r\n \r\n {this.props.isTop && (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\nexport default Navigation;\r\n","import React from 'react';\r\nimport { Image } from 'react-bootstrap';\r\nimport Navigation from './Navigation';\r\n\r\nimport './Footer.scss';\r\n\r\nexport default (props) => (\r\n
\r\n
\r\n \r\n
\r\n
\r\n

\r\n Scottish ska band available for weddings, parties and corporate events in Edinburgh, Glasgow and one step\r\n beyond..\r\n

\r\n
\r\n \r\n
\r\n

© {`${new Date().getFullYear()} PORKPIE BAND`}

\r\n
\r\n
\r\n);\r\n","export default class RestUtilities {\r\n static get(url) {\r\n return RestUtilities.request('GET', url);\r\n }\r\n\r\n static delete(url) {\r\n return RestUtilities.request('DELETE', url);\r\n }\r\n\r\n static put(url, data) {\r\n return RestUtilities.request('PUT', url, data);\r\n }\r\n\r\n static post(url, data) {\r\n return RestUtilities.request('POST', url, data);\r\n }\r\n\r\n static postFormData(url, data) {\r\n return RestUtilities.request('POST', url, data, true);\r\n }\r\n\r\n static request(method, url, data, isFormData = false) {\r\n let ok = false;\r\n let body = data;\r\n let statusCode = 200;\r\n let statusText = '';\r\n const headers = new Headers();\r\n headers.set('Accept', 'application/json');\r\n\r\n if (!isFormData) {\r\n headers.set('Content-Type', 'application/json');\r\n body = JSON.stringify(data);\r\n } else {\r\n body = data;\r\n }\r\n\r\n return fetch(url, { method, headers, body })\r\n .then(response => {\r\n ok = response.ok;\r\n statusCode = response.status;\r\n statusText = response.statusText;\r\n const responseContentType = response.headers.get('content-type');\r\n if (responseContentType && responseContentType.indexOf('application/json') !== -1) {\r\n return response.json();\r\n }\r\n return response.text();\r\n })\r\n .then(responseContent => {\r\n const response = {\r\n ok: ok,\r\n hasModelErrors: statusCode === 400,\r\n content: ok ? responseContent : null,\r\n errorContent: ok ? null : responseContent,\r\n status: statusCode,\r\n statusText: statusText\r\n };\r\n return response;\r\n });\r\n }\r\n}\r\n","export default {\r\n blobUrl: 'https://mfsresources.blob.core.windows.net',\r\n apiUrl: 'https://mfsbands.azurewebsites.net',\r\n instagramOptions: {\r\n clientId: 'e11c818390184dde9494efafc7c171f9',\r\n accessToken: '9285101391.1677ed0.7f2727a3889d43e28a9ef866280e191c',\r\n get: 'user',\r\n locationId: null,\r\n resolution: 'standard_resolution',\r\n sortBy: 'most-recent',\r\n tagName: null,\r\n userId: 9285101391,\r\n feedSize: 4,\r\n },\r\n};\r\n","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators } from 'redux';\r\n// import { buildUrl } from 'react-instafeed';\r\nimport { actionCreators } from '../store/Actions';\r\nimport Navigation from './Navigation';\r\nimport Footer from './Footer';\r\n// import Instagram from './Instagram';\r\nimport RestUtilities from '../services/RestUtilities';\r\nimport config from '../const/config';\r\n\r\nclass Layout extends Component {\r\n componentDidMount() {\r\n this.fetchData();\r\n //this.fetchInstagram();\r\n }\r\n\r\n fetchData() {\r\n const url = `${config.apiUrl}/api/artist/porkpie`;\r\n RestUtilities.get(url).then(async (response) => {\r\n if (response.ok) {\r\n const artist = response.content;\r\n const videos = artist.videos.sort((a, b) => a.orderIndex - b.orderIndex);\r\n const youTubeVideos = artist.youTubeVideos;\r\n console.log(artist);\r\n const repertoire = artist.artistRepertoires.sort(\r\n (a, b) => a.song.category.orderIndex - b.song.category.orderIndex\r\n );\r\n const media = artist.artistMedia.filter((x) => x.mediaTypeId === 2).sort((a, b) => a.orderIndex - b.orderIndex);\r\n const gallery = artist.artistMedia\r\n .filter((x) => x.mediaTypeId === 1 && x.isLive)\r\n .sort((a, b) => a.orderIndex - b.orderIndex);\r\n const gigs = artist.gigs\r\n .filter((x) => x.eventTypeId === 8 && new Date(x.date) > new Date())\r\n .sort((a, b) => new Date(a.date) - new Date(b.date));\r\n delete artist.videos;\r\n delete artist.youTubeVideos;\r\n delete artist.artistRepertoires;\r\n delete artist.artistMedia;\r\n this.props.setArtist(artist);\r\n this.props.setVideos(videos);\r\n this.props.setSonglist(repertoire);\r\n this.props.setMp3s(media);\r\n this.props.setYouTubeVideos(youTubeVideos);\r\n this.props.setGigs(gigs);\r\n this.props.setGallery(gallery);\r\n } else {\r\n console.log('did not update data');\r\n }\r\n });\r\n }\r\n\r\n // async fetchInstagram() {\r\n // const url = buildUrl(config.instagramOptions);\r\n // const response = await fetch(url);\r\n // if (response.ok) {\r\n // const json = await response.json();\r\n // const images = json.data.map((d) => d.images[config.instagramOptions.resolution]);\r\n // this.props.setInstagram(images);\r\n // }\r\n // }\r\n\r\n render() {\r\n return (\r\n
\r\n \r\n {this.props.children}\r\n {/* */}\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default connect(\r\n (state) => ({ artist: state.artist }),\r\n (dispatch) => bindActionCreators(actionCreators, dispatch)\r\n)(Layout);\r\n","import React from 'react';\r\nimport classnames from 'classnames';\r\nimport ReactSVG from 'react-svg';\r\n\r\nimport './HeaderImage.scss';\r\n\r\nexport default props => (\r\n \r\n \r\n {props.heading &&

{props.heading}

}\r\n {props.svg && }\r\n {props.checkTop &&
}\r\n {props.checkBottom &&
}\r\n \r\n \r\n);\r\n","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport HeaderImage from '../components/HeaderImage';\r\nimport './Home.scss';\r\n\r\nclass Home extends Component {\r\n navigate(path) {\r\n this.props.history.push(path);\r\n window.scrollTo(0, 0);\r\n }\r\n render() {\r\n return (\r\n
\r\n \r\n this.navigate('/band')} />\r\n this.navigate('/shows')} />\r\n this.navigate('/video')} />\r\n this.navigate('/music')} />\r\n this.navigate('/booking')} />\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default connect(state => ({ artist: state.artist }))(Home);\r\n","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators } from 'redux';\r\nimport { actionCreators } from '../store/Actions';\r\nimport { Container, Row, Col, Image, Button, Modal } from 'react-bootstrap';\r\nimport HeaderImage from '../components/HeaderImage';\r\nimport { Link } from 'react-router-dom';\r\nimport ReactSVG from 'react-svg';\r\nimport config from '../const/config';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faAngleLeft, faAngleRight, faTimes } from '@fortawesome/free-solid-svg-icons';\r\nimport './Band.scss';\r\n\r\nclass Band extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n showModal: false,\r\n artistMediaIndex: null\r\n };\r\n this.toggleModal = this.toggleModal.bind(this);\r\n }\r\n\r\n handleShowImage(artistMediaIndex) {\r\n this.setState({ artistMediaIndex });\r\n this.toggleModal();\r\n }\r\n\r\n handleImageBack() {\r\n const { artistMediaIndex } = this.state;\r\n if (!this.isFirst()) {\r\n this.setState({ artistMediaIndex: artistMediaIndex - 1 });\r\n }\r\n }\r\n\r\n handleImageForward() {\r\n const { artistMediaIndex } = this.state;\r\n if (!this.isLast()) {\r\n this.setState({ artistMediaIndex: artistMediaIndex + 1 });\r\n }\r\n }\r\n\r\n isFirst() {\r\n return this.state.artistMediaIndex === 0;\r\n }\r\n\r\n isLast() {\r\n return this.state.artistMediaIndex === this.props.gallery.length - 1;\r\n }\r\n\r\n toggleModal() {\r\n this.setState({ showModal: !this.state.showModal });\r\n }\r\n\r\n render() {\r\n const currentImage = this.props.gallery.length ? this.props.gallery[this.state.artistMediaIndex] : null;\r\n return (\r\n
\r\n \r\n \r\n

WHO ARE PORK PIE

\r\n

\r\n If you were into music in the late 70s and early 80s, the chances are you were into 2-Tone, the iconic Coventry based label that was home to Ska\r\n revivalists like The Beat, The Selecter, Madness and The Specials. Porkpie are the real deal, from the classic ‘big’ ska band mould, with a full\r\n brass section, keys, guitars and porkpie hats to match we play with an intensity and energy that will have you skanking into the night! Check out\r\n our gallery from previous events , set lists and where you can come and see us below !\r\n

\r\n

\r\n \r\n \r\n \r\n \r\n \r\n \r\n

\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n

THE REPERTOIRE

\r\n

\r\n Porkpie boasts an extensive repertoire that aims to please everyone. Their eclectic 2 tone ska, Swing and Pop classics will include music from\r\n Madness, The Specials, The Beat, Bad Manners to James Brown, Elvis, Bob Marley, Stevie Wonder, Paolo Nutini, The Blues Brothers and Wilson\r\n Picket. The band can bring the evening to a finale with some well-loved classix pop hits. The band can also provide a DJ upon requests.\r\n

\r\n

\r\n window.scrollTo(0, 0)}>\r\n CHECK OUT OUR SONG LIST >\r\n \r\n

\r\n \r\n
\r\n
\r\n \r\n \r\n

GALLERY

\r\n \r\n {this.props.gallery.map((x, i) => (\r\n \r\n
\r\n this.handleShowImage(i)} />\r\n
\r\n \r\n ))}\r\n
\r\n
\r\n \r\n

UPCOMING SHOWS

\r\n

Want to see PorkPie live? Visit out Upcoming Shows page for full information on our events. We can't wait to see you there!

\r\n {\r\n this.props.history.push('/shows');\r\n window.scrollTo(0, 0);\r\n }}\r\n >\r\n SEE UPCOMING SHOWS\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n {this.isFirst() || (\r\n
this.handleImageBack()}>\r\n \r\n
\r\n )}\r\n {this.isLast() || (\r\n
this.handleImageForward()}>\r\n \r\n
\r\n )}\r\n
\r\n {currentImage && }\r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default connect(\r\n state => ({\r\n artist: state.artist,\r\n gallery: state.gallery\r\n }),\r\n dispatch => bindActionCreators(actionCreators, dispatch)\r\n)(Band);\r\n","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport moment from 'moment';\r\nimport { Container, Table, Col, Row } from 'react-bootstrap';\r\nimport HeaderImage from '../components/HeaderImage';\r\n\r\nimport './Shows.scss';\r\n\r\nclass Shows extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = { width: 0 };\r\n this.updateWindowDimensions = this.updateWindowDimensions.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.updateWindowDimensions();\r\n window.addEventListener('resize', this.updateWindowDimensions);\r\n }\r\n\r\n componentWillUnmount() {\r\n window.removeEventListener('resize', this.updateWindowDimensions);\r\n }\r\n\r\n updateWindowDimensions() {\r\n this.setState({ width: window.innerWidth });\r\n }\r\n\r\n renderRow(gig) {\r\n const date = new moment(gig.date);\r\n return (\r\n \r\n \r\n
{date.format('MMM')}
\r\n
{date.format('DD')}
\r\n \r\n {gig.location}\r\n {gig.venue}\r\n \r\n {gig.link ? (\r\n \r\n Click here to buy tickets\r\n \r\n ) : (\r\n {gig.eventDetail}\r\n )}\r\n \r\n \r\n );\r\n }\r\n renderMobileRow(gig) {\r\n const date = new moment(gig.date);\r\n return (\r\n \r\n \r\n
{date.format('MMM')}
\r\n
{date.format('DD')}
\r\n \r\n \r\n
\r\n Location: \r\n {gig.location}\r\n
\r\n
\r\n Venue: \r\n {gig.venue}\r\n
\r\n
\r\n Details: \r\n {gig.link ? (\r\n \r\n Click here to buy tickets\r\n \r\n ) : (\r\n {gig.eventDetail}\r\n )}\r\n
\r\n \r\n
\r\n );\r\n }\r\n render() {\r\n const showMobile = this.state.width < 500;\r\n return (\r\n
\r\n \r\n \r\n

UPCOMING SHOWS

\r\n {showMobile ||
}\r\n {showMobile || (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.props.gigs.map(g => this.renderRow(g))}\r\n
DATELOCATIONVENUETICKETS
\r\n )}\r\n {showMobile && this.props.gigs.map(g => this.renderMobileRow(g))}\r\n
\r\n
\r\n );\r\n }\r\n}\r\nexport default connect(state => ({ gigs: state.gigs }))(Shows);\r\n","import React from 'react';\r\n\r\nexport default function Duration({ className, seconds }) {\r\n return (\r\n \r\n );\r\n}\r\n\r\nfunction format(seconds) {\r\n const date = new Date(seconds * 1000);\r\n const hh = date.getUTCHours();\r\n const mm = date.getUTCMinutes();\r\n const ss = pad(date.getUTCSeconds());\r\n if (hh) {\r\n return `${hh}:${pad(mm)}:${ss}`;\r\n }\r\n return `${mm}:${ss}`;\r\n}\r\n\r\nfunction pad(string) {\r\n return ('0' + string).slice(-2);\r\n}\r\n","import React, { Component } from 'react';\r\nimport ReactPlayer from 'react-player';\r\nimport Duration from '../services/Duration';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faPlayCircle, faPauseCircle } from '@fortawesome/free-solid-svg-icons';\r\nclass Player extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.player = React.createRef();\r\n this.state = {\r\n playing: false,\r\n controls: false,\r\n played: 0,\r\n duration: 0\r\n };\r\n this.playPause = this.playPause.bind(this);\r\n this.onDuration = this.onDuration.bind(this);\r\n this.onProgress = this.onProgress.bind(this);\r\n }\r\n\r\n playPause() {\r\n this.setState({ playing: !this.state.playing });\r\n }\r\n\r\n onProgress(state) {\r\n if (!this.state.seeking) {\r\n this.setState(state);\r\n }\r\n }\r\n\r\n onDuration(duration) {\r\n this.setState({ duration });\r\n }\r\n\r\n render() {\r\n const { playing, controls, played, duration } = this.state;\r\n const { url } = this.props;\r\n return (\r\n \r\n \r\n \r\n \r\n {this.props.songName}\r\n \r\n \r\n \r\n \r\n \r\n / \r\n \r\n \r\n \r\n this.setState({ playing: true })}\r\n onPause={() => this.setState({ playing: false })}\r\n onProgress={this.onProgress}\r\n onDuration={this.onDuration}\r\n />\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default Player;\r\n","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { Container, Table, Row, Col, Image } from 'react-bootstrap';\r\nimport Player from '../components/Player';\r\nimport HeaderImage from '../components/HeaderImage';\r\nimport config from '../const/config';\r\nimport './Music.scss';\r\n\r\nclass Band extends Component {\r\n renderSong(s) {\r\n return (\r\n
  • \r\n
    {s.song.songName}
    \r\n
    {s.song.songArtistName}
    \r\n
  • \r\n );\r\n }\r\n renderSongs(isSka) {\r\n const songs = [];\r\n let category, currentCategory;\r\n this.props.songlist.forEach(s => {\r\n currentCategory = s.song.catId;\r\n if ((isSka && currentCategory === 14) || (!isSka && currentCategory !== 14)) {\r\n const newCategory = currentCategory !== category;\r\n category = currentCategory;\r\n if (newCategory) {\r\n songs.push(\r\n
  • \r\n
    {s.song.category.catDescription}
    \r\n
  • \r\n );\r\n }\r\n songs.push(this.renderSong(s));\r\n }\r\n });\r\n return songs;\r\n }\r\n\r\n render() {\r\n return (\r\n
    \r\n \r\n \r\n

    SONG LIST

    \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n

    AUDIO SAMPLES

    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n {this.props.mp3s &&\r\n this.props.mp3s.map(x => )}\r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n
      {this.props.songlist && this.renderSongs(true)}
    \r\n \r\n \r\n
      {this.props.songlist && this.renderSongs(false)}
    \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default connect(state => ({ mp3s: state.mp3s, songlist: state.songlist }))(Band);\r\n","import React, { Component } from 'react';\r\nimport { Container, Row, Col } from 'react-bootstrap';\r\nimport { Link } from 'react-router-dom';\r\nimport { connect } from 'react-redux';\r\nimport ReactPlayer from 'react-player';\r\nimport config from '../const/config';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faPlay, faPause } from '@fortawesome/free-solid-svg-icons';\r\nimport './Video.scss';\r\n\r\nclass Band extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n activeVideo: props.videos.filter(video => !video.isAccoustic)[0],\r\n playing: false,\r\n showStopControl: false\r\n };\r\n this.togglePlay = this.togglePlay.bind(this);\r\n }\r\n\r\n onClickThumbnail = video => {\r\n this.setState({ activeVideo: video });\r\n window.scrollTo({\r\n top: 0,\r\n behavior: 'smooth'\r\n });\r\n };\r\n\r\n togglePlay() {\r\n this.setState({ playing: !this.state.playing });\r\n }\r\n\r\n renderVideos() {\r\n return this.props.videos\r\n .filter(video => !video.isAccoustic)\r\n .map(video => (\r\n \r\n this.onClickThumbnail(video)}\r\n />\r\n \r\n ));\r\n }\r\n\r\n render() {\r\n const { activeVideo, playing } = this.state;\r\n\r\n return (\r\n
    \r\n this.setState({ showStopControl: true })}\r\n onMouseLeave={() => this.setState({ showStopControl: false })}\r\n >\r\n {this.state.playing || (\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n )}\r\n {this.state.playing && this.state.showStopControl && (\r\n
    \r\n \r\n
    \r\n )}\r\n\r\n this.setState({ playing: true })}\r\n onPause={() => this.setState({ playing: false })}\r\n />\r\n
    \r\n \r\n

    MORE VIDEOS

    \r\n {this.renderVideos()}\r\n \r\n

    \r\n Porkpie boasts an extensive repertoire that aims to please everyone. Pur eclectic Soul, Ska , Swing and Pop classics will include music from\r\n Madness, James Brown, Elvis and Bob Marley to Paulo Nultini, The Blues Brothers and Wilson Picket and the band can bring the evening to a finale\r\n with some well-loved classic pop hits.\r\n
    \r\n \r\n Check out our repertoire.\r\n \r\n

    \r\n \r\n Book Now\r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default connect(state => ({ videos: state.videos }))(Band);\r\n","import React, { Component } from 'react';\r\nimport { Container, Row, Col, Form, Button, Alert } from 'react-bootstrap';\r\nimport { isLength, isEmail, isAfter } from 'validator';\r\nimport HeaderImage from '../components/HeaderImage';\r\nimport moment from 'moment';\r\nimport RestUtilities from '../services/RestUtilities';\r\nimport config from '../const/config';\r\nimport './Booking.scss';\r\n\r\nclass Band extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n name: '',\r\n email: '',\r\n number: '',\r\n location: '',\r\n date: '',\r\n message: '',\r\n nameIsValid: false,\r\n emailIsValid: false,\r\n numberIsValid: false,\r\n locationIsValid: false,\r\n dateIsValid: false,\r\n messageIsValid: false,\r\n nameIsValidated: false,\r\n emailIsValidated: false,\r\n numberIsValidated: false,\r\n locationIsValidated: false,\r\n dateIsValidated: false,\r\n messageIsValidated: false,\r\n disableSubmit: false,\r\n result: false,\r\n showMessage: false\r\n };\r\n this.handleNameChange = this.handleNameChange.bind(this);\r\n this.handleEmailChange = this.handleEmailChange.bind(this);\r\n this.handleNumberChange = this.handleNumberChange.bind(this);\r\n this.handleLocationChange = this.handleLocationChange.bind(this);\r\n this.handleMessageChange = this.handleMessageChange.bind(this);\r\n this.handleDateChange = this.handleDateChange.bind(this);\r\n this.handleSubmitClick = this.handleSubmitClick.bind(this);\r\n }\r\n\r\n handleNameChange(e) {\r\n const name = e.currentTarget.value;\r\n const nameIsValid = isLength(name, { min: 1, max: 50 });\r\n this.setState({ name, nameIsValid });\r\n }\r\n\r\n handleEmailChange(e) {\r\n const email = e.currentTarget.value;\r\n const emailIsValid = isEmail(email);\r\n this.setState({ email, emailIsValid });\r\n }\r\n\r\n handleNumberChange(e) {\r\n const number = e.currentTarget.value;\r\n const numberIsValid = isLength(number, { min: 7, max: 20 });\r\n this.setState({ number, numberIsValid });\r\n }\r\n\r\n handleLocationChange(e) {\r\n const location = e.currentTarget.value;\r\n const locationIsValid = isLength(location, { min: 1, max: 255 });\r\n this.setState({ location, locationIsValid });\r\n }\r\n\r\n handleMessageChange(e) {\r\n const message = e.currentTarget.value;\r\n const messageIsValid = isLength(message, { min: 1, max: 1000 });\r\n this.setState({ message, messageIsValid });\r\n }\r\n\r\n handleDateChange(e) {\r\n const date = e.currentTarget.value;\r\n const dateIsValid = isAfter(date);\r\n this.setState({ date, dateIsValid });\r\n }\r\n\r\n handleSubmitClick() {\r\n if (this.isFormValid()) {\r\n this.setState({ disableSubmit: true });\r\n }\r\n this.submit();\r\n }\r\n\r\n isFormValid() {\r\n const { nameIsValid, emailIsValid, numberIsValid, locationIsValid, dateIsValid, messageIsValid } = this.state;\r\n return nameIsValid && emailIsValid && numberIsValid && locationIsValid && dateIsValid && messageIsValid;\r\n }\r\n\r\n async submit() {\r\n this.setState({ nameIsValidated: true, emailIsValidated: true, numberIsValidated: true, locationIsValidated: true, messageIsValidated: true });\r\n const formIsValid = this.isFormValid();\r\n if (formIsValid) {\r\n const { name, email, number, location, date, message } = this.state;\r\n const data = {\r\n name,\r\n email,\r\n phone: number,\r\n location,\r\n date: moment(date).format(),\r\n message\r\n };\r\n const url = `${config.apiUrl}/api/email`;\r\n const response = await RestUtilities.post(url, data);\r\n if (response.ok) {\r\n this.setState({ result: true, showMessage: true });\r\n } else {\r\n this.setState({ result: false, showMessage: true, disableSubmit: false });\r\n }\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n
    \r\n \r\n \r\n

    CONTACT

    \r\n \r\n \r\n

    \r\n To make an enquiry about the band, simply fill out our contact form. Alternatively, drop us a line at{' '}\r\n porkpieband79@gmail.com, phone us on or send a message on Facebook messenger.\r\n

    \r\n

    \r\n You can also reach the band via Music For Scotland.\r\n

    \r\n \r\n \r\n
    \r\n \r\n NAME\r\n this.setState({ nameIsValidated: true })}\r\n isInvalid={this.state.nameIsValidated && !this.state.nameIsValid}\r\n isValid={this.state.nameIsValidated && this.state.nameIsValid}\r\n />\r\n Please enter your name.\r\n \r\n \r\n EMAIL\r\n this.setState({ emailIsValidated: true })}\r\n isInvalid={this.state.emailIsValidated && !this.state.emailIsValid}\r\n isValid={this.state.emailIsValidated && this.state.emailIsValid}\r\n />\r\n Please enter a email.\r\n \r\n \r\n PHONE NUMBER\r\n this.setState({ numberIsValidated: true })}\r\n isInvalid={this.state.numberIsValidated && !this.state.numberIsValid}\r\n isValid={this.state.numberIsValidated && this.state.numberIsValid}\r\n />\r\n Please enter a contact number.\r\n \r\n \r\n EVENT LOCATION\r\n this.setState({ locationIsValidated: true })}\r\n isInvalid={this.state.locationIsValidated && !this.state.locationIsValid}\r\n isValid={this.state.locationIsValidated && this.state.locationIsValid}\r\n />\r\n Please enter your venue or location\r\n \r\n \r\n EVENT DATE\r\n this.setState({ dateIsValidated: true })}\r\n isInvalid={this.state.dateIsValidated && !this.state.dateIsValid}\r\n isValid={this.state.dateIsValidated && this.state.dateIsValid}\r\n />\r\n Please choose a date in the future\r\n \r\n \r\n YOUR MESSAGE\r\n this.setState({ messageIsValidated: true })}\r\n isInvalid={this.state.messageIsValidated && !this.state.messageIsValid}\r\n isValid={this.state.messageIsValidated && this.state.messageIsValid}\r\n />\r\n Please enter your message\r\n \r\n \r\n {this.state.showMessage && (\r\n \r\n {this.state.result && Your message was sent successfully! We'll be in touch, thanks.}\r\n {this.state.result || Oops,Something went wrong, please try to submit again}\r\n \r\n )}\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default Band;\r\n","import React from 'react';\r\nimport { Route, Redirect, BrowserRouter, Switch } from 'react-router-dom';\r\nimport Layout from './components/Layout';\r\nimport Home from './views/Home';\r\nimport Band from './views/Band';\r\nimport Shows from './views/Shows';\r\nimport Music from './views/Music';\r\nimport Video from './views/Video';\r\nimport Booking from './views/Booking';\r\nimport './scss/app.scss';\r\n\r\nfunction App() {\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n } />\r\n \r\n \r\n \r\n
    \r\n );\r\n}\r\n\r\nexport default App;\r\n","// This optional code is used to register a service worker.\r\n// register() is not called by default.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on subsequent visits to a page, after all the\r\n// existing tabs open on the page have been closed, since previously cached\r\n// resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model and instructions on how to\r\n// opt-in, read https://bit.ly/CRA-PWA\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === 'localhost' ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === '[::1]' ||\r\n // 127.0.0.1/8 is considered localhost for IPv4.\r\n window.location.hostname.match(\r\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\r\n )\r\n);\r\n\r\nexport function register(config) {\r\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\r\n return;\r\n }\r\n\r\n window.addEventListener('load', () => {\r\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Let's check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl, config);\r\n\r\n // Add some additional logging to localhost, pointing developers to the\r\n // service worker/PWA documentation.\r\n navigator.serviceWorker.ready.then(() => {\r\n console.log(\r\n 'This web app is being served cache-first by a service ' +\r\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\r\n );\r\n });\r\n } else {\r\n // Is not localhost. Just register service worker\r\n registerValidSW(swUrl, config);\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction registerValidSW(swUrl, config) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then(registration => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n if (installingWorker == null) {\r\n return;\r\n }\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the updated precached content has been fetched,\r\n // but the previous service worker will still serve the older\r\n // content until all client tabs are closed.\r\n console.log(\r\n 'New content is available and will be used when all ' +\r\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\r\n );\r\n\r\n // Execute callback\r\n if (config && config.onUpdate) {\r\n config.onUpdate(registration);\r\n }\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log('Content is cached for offline use.');\r\n\r\n // Execute callback\r\n if (config && config.onSuccess) {\r\n config.onSuccess(registration);\r\n }\r\n }\r\n }\r\n };\r\n };\r\n })\r\n .catch(error => {\r\n console.error('Error during service worker registration:', error);\r\n });\r\n}\r\n\r\nfunction checkValidServiceWorker(swUrl, config) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl)\r\n .then(response => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n const contentType = response.headers.get('content-type');\r\n if (\r\n response.status === 404 ||\r\n (contentType != null && contentType.indexOf('javascript') === -1)\r\n ) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister().then(() => {\r\n window.location.reload();\r\n });\r\n });\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl, config);\r\n }\r\n })\r\n .catch(() => {\r\n console.log(\r\n 'No internet connection found. App is running in offline mode.'\r\n );\r\n });\r\n}\r\n\r\nexport function unregister() {\r\n if ('serviceWorker' in navigator) {\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister();\r\n });\r\n }\r\n}\r\n","import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport { Provider } from 'react-redux';\r\nimport { PersistGate } from 'redux-persist/integration/react';\r\nimport configureStore from './store/ConfigureStore';\r\nimport App from './App';\r\nimport * as serviceWorker from './serviceWorker';\r\n\r\nconst initialState = window.initialReduxState;\r\nconst rootElement = document.getElementById('root');\r\n\r\nconst init = async () => {\r\n const { store, persistor } = await configureStore(initialState);\r\n ReactDOM.render(\r\n \r\n \r\n \r\n \r\n ,\r\n rootElement\r\n );\r\n};\r\n\r\nserviceWorker.unregister();\r\ninit();\r\n"],"sourceRoot":""}