@aircamapp/aircam-js
v1.1.1
Published
An embeddable widget for the Aircam web experience
Downloads
35
Readme
Aircam JS
This repo contains the code for the embeddable Aircam Widget (Aircam JS).
Usage
First, install the package.
$ yarn add @aircamapp/aircam-js
Now, you'll need to import the library and the appropriate styles. If you're loading styles with Webpack you can import both in the same file.
// ./App.js
import Aircam from "@aircamapp/aircam-js";
import "@aircamapp/aircam-js/dist/aircam.css";If you'd like, you can load in the styles in your html.
// ./index.html
<link rel="stylesheet" href="/node_modules/@aircamapp/aircam-js/dist/aircam.css">You can now use the Aircam Widget!
Configuration
The format for initializing the Aircam Widget is new Aircam(selector, config).
The selector can be either a string or a DOM element.
The config is an object with the following properties.
- config.stream is the uuid (or short name) of the Aircam Stream you want to show inside your site
- config.on is an object with events as the keys and callbacks as the values. Support for events will likely grow but is currently limited to initialize, photoView, and photoDownload
- config.showShare is a boolean to show the Aircam share button. We do NOT recommend you use this currently. It is disabled by default
React Example
// ./App.js
import React from 'react';
import Aircam from "@aircamapp/aircam-js";
import "@aircamapp/aircam-js/dist/aircam.css";
class App extends React.PureComponent {
constructor(props) {
super(props)
this.state = { counter: 0 };
}
componentDidMount() {
new Aircam(".my-aircam-widget-container", { // provide a string selector or a DOM element
stream: "abc-123", // provide the id of the Aircam Stream you wish to load
on: { // optionally, you can tap into events from the Widget hooks
initialize: () => console.log("Initialized!"),
photoView: () => this.setState({ counter: this.state.counter + 1 })
photoDownload: () => console.log("Photo downloaded!"),
},
})
}
render() {
return (
<div className="App">
<div
className="my-aircam-widget-container"
style={{
height: 500, // you should style your container's dimensions
}}
/>
<p>Photo Views: {this.state.counter}</p>
</div>
);
}
}
export default App;