1
0
mirror of https://github.com/chinchang/web-maker.git synced 2025-07-29 09:40:10 +02:00

Add a readonly github intergration

This commit is contained in:
Kushagra Gour
2018-11-05 22:05:13 +05:30
parent fb4fc6b37e
commit d127720a1f
4 changed files with 165 additions and 54 deletions

View File

@@ -1,37 +1,68 @@
import { h } from 'preact';
import { h, Component } from 'preact';
import Modal from './Modal';
import { ItemTile } from './ItemTile';
import templates from '../templateList';
export function CreateNewModal({
show,
closeHandler,
onBlankTemplateSelect,
onBlankFileTemplateSelect,
onTemplateSelect
}) {
return (
<Modal show={show} closeHandler={closeHandler} smll>
<div class="tac">
<button className="btn" onClick={onBlankTemplateSelect}>
Start a blank creation
</button>
<button className="btn" onClick={onBlankFileTemplateSelect}>
Start a blank files creation
</button>
</div>
<hr />
Or choose from a template:
<div class="saved-items-pane__container">
{templates.map(template => (
<ItemTile
inline
item={template}
focusable
onClick={onTemplateSelect.bind(null, template)}
/>
))}
</div>
</Modal>
);
export class CreateNewModal extends Component {
render() {
const {
show,
closeHandler,
onBlankTemplateSelect,
onBlankFileTemplateSelect,
onImportGithubRepoSelect,
onTemplateSelect
} = this.props;
return (
<Modal show={show} closeHandler={closeHandler}>
<div class="tac">
<button className="btn" onClick={onBlankTemplateSelect}>
Start a blank creation
</button>
<button className="btn" onClick={onBlankFileTemplateSelect}>
Start a blank files creation
</button>
<p>
<button
className="btn"
onClick={() =>
this.setState({
isGhRepoInputVisible: true
})
}
>
Import Github Repository
</button>
{this.state.isGhRepoInputVisible ? (
<div>
<input ref={el => (this.ghRepoInput = el)} />
<button
className="btn"
onClick={() => {
onImportGithubRepoSelect(this.ghRepoInput.value);
}}
>
Import
</button>
</div>
) : null}
</p>
</div>
<hr />
Or choose from a template:
<div class="saved-items-pane__container">
{templates.map(template => (
<ItemTile
inline
item={template}
focusable
onClick={onTemplateSelect.bind(null, template)}
/>
))}
</div>
</Modal>
);
}
}