Added Split Section (for contact page)
This commit is contained in:
@ -27,6 +27,7 @@ import Page, { PageBoundary } from './../Page';
|
||||
import Section, { BodySection } from './../../section/Section';
|
||||
import Input, { Form, InputGroup, TextArea, Label, ButtonGroup } from './../../input/input';
|
||||
import Language from './../../language/Language';
|
||||
import SplitSection, { Split } from './../../section/split/SplitSection';
|
||||
|
||||
class ContactPage extends React.Component {
|
||||
constructor(props) {
|
||||
@ -50,42 +51,47 @@ class ContactPage extends React.Component {
|
||||
<br />
|
||||
</Section>
|
||||
|
||||
|
||||
<PageBoundary>
|
||||
<BodySection>
|
||||
<Form>
|
||||
<InputGroup>
|
||||
<Label>{ Language.get("pages.contact.name.label") }</Label>
|
||||
<Input
|
||||
type="text"
|
||||
placeholder={ Language.get("pages.contact.name.placeholder") }
|
||||
/>
|
||||
</InputGroup>
|
||||
<SplitSection>
|
||||
<Split>
|
||||
<BodySection>
|
||||
<Form>
|
||||
<InputGroup>
|
||||
<Label>{ Language.get("pages.contact.name.label") }</Label>
|
||||
<Input
|
||||
type="text"
|
||||
placeholder={ Language.get("pages.contact.name.placeholder") }
|
||||
/>
|
||||
</InputGroup>
|
||||
|
||||
<InputGroup >
|
||||
<Label>{ Language.get("pages.contact.email.label") }</Label>
|
||||
<Input
|
||||
type="email"
|
||||
placeholder={ Language.get("pages.contact.email.placeholder") }
|
||||
/>
|
||||
</InputGroup>
|
||||
<InputGroup >
|
||||
<Label>{ Language.get("pages.contact.email.label") }</Label>
|
||||
<Input
|
||||
type="email"
|
||||
placeholder={ Language.get("pages.contact.email.placeholder") }
|
||||
/>
|
||||
</InputGroup>
|
||||
|
||||
<InputGroup>
|
||||
<Label>{ Language.get("pages.contact.message.label") }</Label>
|
||||
<TextArea
|
||||
placeholder={ Language.get("pages.contact.message.placeholder") }
|
||||
rows="6"
|
||||
/>
|
||||
</InputGroup>
|
||||
<InputGroup>
|
||||
<Label>{ Language.get("pages.contact.message.label") }</Label>
|
||||
<TextArea
|
||||
placeholder={ Language.get("pages.contact.message.placeholder") }
|
||||
rows="6"
|
||||
/>
|
||||
</InputGroup>
|
||||
|
||||
<ButtonGroup>
|
||||
<Input type="submit" value={ Language.get("pages.contact.send") } primary="true" />
|
||||
<Input type="reset" value={ Language.get("pages.contact.reset") } />
|
||||
</ButtonGroup>
|
||||
</Form>
|
||||
</BodySection>
|
||||
<ButtonGroup>
|
||||
<Input type="submit" value={ Language.get("pages.contact.send") } primary="true" />
|
||||
<Input type="reset" value={ Language.get("pages.contact.reset") } />
|
||||
</ButtonGroup>
|
||||
</Form>
|
||||
</BodySection>
|
||||
</Split>
|
||||
|
||||
<Split>
|
||||
</Split>
|
||||
</SplitSection>
|
||||
</PageBoundary>
|
||||
|
||||
</Page>
|
||||
);
|
||||
}
|
||||
|
47
public/section/split/SplitSection.jsx
Normal file
47
public/section/split/SplitSection.jsx
Normal file
@ -0,0 +1,47 @@
|
||||
// Copyright (c) 2018 Dominic Masters
|
||||
//
|
||||
// MIT License
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining
|
||||
// a copy of this software and associated documentation files (the
|
||||
// "Software"), to deal in the Software without restriction, including
|
||||
// without limitation the rights to use, copy, modify, merge, publish,
|
||||
// distribute, sublicense, and/or sell copies of the Software, and to
|
||||
// permit persons to whom the Software is furnished to do so, subject to
|
||||
// the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be
|
||||
// included in all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
||||
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
||||
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
import React from 'react';
|
||||
import Section from './../Section';
|
||||
|
||||
export default (props) => {
|
||||
let clazz = "c-split-section";
|
||||
if(props.className) clazz += " " + props.className;
|
||||
|
||||
return (
|
||||
<Section {...props} className={clazz} />
|
||||
)
|
||||
};
|
||||
|
||||
const Split = function(props) {
|
||||
return (
|
||||
<div className="c-split-section__split">
|
||||
{ props.children }
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
export {
|
||||
Split
|
||||
}
|
23
public/styles/components/_split-section.scss
Normal file
23
public/styles/components/_split-section.scss
Normal file
@ -0,0 +1,23 @@
|
||||
/*
|
||||
* Split section
|
||||
* Simple Section that is split into multiple columns
|
||||
*
|
||||
* Dependencies:
|
||||
* styles/tools/_flex.scss
|
||||
*
|
||||
* Version:
|
||||
* 1.0.0 - 2018/05/28
|
||||
*/
|
||||
.c-split-section {
|
||||
@extend %t-flexbox;
|
||||
@include t-align-items(stretch);
|
||||
@include t-flex-wrap(wrap);
|
||||
|
||||
&__split {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
@include t-media-query($s-small-up) {
|
||||
@include t-flex-wrap(nowrap);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user