diff --git a/components/core/DataView.js b/components/core/DataView.js index b757c355..d3e35194 100644 --- a/components/core/DataView.js +++ b/components/core/DataView.js @@ -120,6 +120,12 @@ export default class DataView extends React.Component { await this._handleUpdate(); } + componentDidUpdate = (prevProps) => { + if (prevProps.items !== this.props.items) { + this._handleUpdate(); + } + }; + _handleUpdate = async () => { // NOTE(jim): Hack to handle some race conditions. await delay(200); @@ -266,6 +272,14 @@ export default class DataView extends React.Component { text: "Copy CID", onClick: (e) => this._handleCopy(e, cid), }, + { + text: "Copy Link", + onClick: (e) => + this._handleCopy( + e, + `https://${cid}.ipfs.slate.textile.io` + ), + }, { text: "Delete", onClick: (e) => { diff --git a/scenes/SceneHome.js b/scenes/SceneHome.js index f38f74f8..9690b446 100644 --- a/scenes/SceneHome.js +++ b/scenes/SceneHome.js @@ -14,6 +14,25 @@ const STYLES_NUMBER = css` font-weight: 400; `; +const STYLES_VIDEO_BIG = css` + display: block; + background-color: ${Constants.system.moonstone}; + padding: 0; + outline: 0; + margin: 48px auto 88px auto; + border-radius: 4px; + width: 100%; + box-shadow: 0px 10px 50px 20px rgba(0, 0, 0, 0.1); + + @media (max-width: ${Constants.sizes.tablet}px) { + margin: 32px auto 64px auto; + } + + @media (max-width: ${Constants.sizes.mobile}px) { + margin: 24px auto 48px auto; + } +`; + export default class SceneHome extends React.Component { render() { // TODO(jim): Refactor later. @@ -91,7 +110,9 @@ export default class SceneHome extends React.Component { return ( - Welcome back! Here is your data. + {this.props.viewer.library[0] + ? "Welcome back! Here is your data." + : "Welcome to Slate! Here's how to get started."} {this.props.viewer.library[0] ? ( @@ -115,7 +136,24 @@ export default class SceneHome extends React.Component { onRehydrate={this.props.onRehydrate} /> - ) : null} + ) : ( + ); } diff --git a/scenes/SceneSlate.js b/scenes/SceneSlate.js index 506372fa..69779ca8 100644 --- a/scenes/SceneSlate.js +++ b/scenes/SceneSlate.js @@ -322,12 +322,16 @@ export default class SceneSlate extends React.Component { detail: { index }, }); - _handleAdd = () => { - return this.props.onAction({ + _handleAdd = async () => { + await this.props.onAction({ type: "SIDEBAR", value: "SIDEBAR_ADD_FILE_TO_BUCKET", data: this.props.current, }); + this._handleUpdateCarousel({ + objects: this.props.current.data.objects, + editing: this.state.editing, + }); }; _handleShowSettings = () => {