From 50904f4b010c417d558174005a7b4c5868e7d8d9 Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Thu, 29 Jun 2017 01:18:06 +0200 Subject: sketch folder stuff --- client/components/App.jsx | 7 +++-- client/components/Folders/FolderForm.jsx | 47 ++++++++++++++++++++++++++++++++ client/components/Folders/Folders.jsx | 30 ++++++++++++++++++++ client/components/Modal.jsx | 17 ++++++++++++ 4 files changed, 99 insertions(+), 2 deletions(-) create mode 100644 client/components/Folders/FolderForm.jsx create mode 100644 client/components/Folders/Folders.jsx create mode 100644 client/components/Modal.jsx (limited to 'client/components') diff --git a/client/components/App.jsx b/client/components/App.jsx index 0b1557f..bbb50d6 100644 --- a/client/components/App.jsx +++ b/client/components/App.jsx @@ -1,20 +1,23 @@ import { h, Component } from 'preact' -import { isMobile } from '../util' -import db from '../db' +import { isMobile } from '../vendor/util' +// import db from '../db' import { Link, withRouter } from 'react-router-dom' import Header from './Header.jsx' +import Folders from './Folders/Folders.jsx' class App extends Component { constructor(props) { super() this.state = { + folders: null, } } render() { return (
+
) } diff --git a/client/components/Folders/FolderForm.jsx b/client/components/Folders/FolderForm.jsx new file mode 100644 index 0000000..3a3c54e --- /dev/null +++ b/client/components/Folders/FolderForm.jsx @@ -0,0 +1,47 @@ +import { h, Component } from 'preact' +import { Link } from 'react-router-dom' + +import client from '../../client.js' + +export default class FolderForm extends Component { + constructor(props) { + super() + this.state = { + name: '', + } + this.updateState = this.updateState.bind(this) + this.handleSubmit = this.handleSubmit.bind(this) + } + updateState(event){ + const name = event.target.name + let value = event.target.value + console.log(name, value) + this.setState({ + [name]: value, + error: null, + }) + } + handleSubmit(event) { + event.preventDefault() + client.folders.create( this.state ).then( (data) => { + + }) + } + render() { + return ( +
+
+

Create a new folder

+
+ + +
+
+ + +
+
+
+ ) + } +} diff --git a/client/components/Folders/Folders.jsx b/client/components/Folders/Folders.jsx new file mode 100644 index 0000000..7c27311 --- /dev/null +++ b/client/components/Folders/Folders.jsx @@ -0,0 +1,30 @@ +import { h, Component } from 'preact' +import { Link } from 'react-router-dom' + +import Modal from '../Modal.jsx' +import FolderForm from './FolderForm.jsx' + +export default class Folders extends Component { + constructor(props) { + super() + this.state = { + adding: false, + } + } + openModal() { + this.setState({ adding: true }) + } + closeModal() { + this.setState({ adding: false }) + } + render() { + return ( +
+ + this.closeModal()}> + + +
+ ) + } +} diff --git a/client/components/Modal.jsx b/client/components/Modal.jsx new file mode 100644 index 0000000..3681ce4 --- /dev/null +++ b/client/components/Modal.jsx @@ -0,0 +1,17 @@ +import { h, Component } from 'preact' + +export default class Modal extends Component { + constructor(props) { + super() + } + render() { + const className = this.props.visible ? 'modal visible' : 'modal' + return ( +
+
+ {this.props.children} +
+
+ ) + } +} -- cgit v1.2.3-70-g09d2