Preview: http://dashboards.webkom.co/react/airframe
This commit is contained in:
Tomasz Owczarczyk
2019-08-15 00:54:44 +02:00
parent f975443095
commit 37092d1d6c
626 changed files with 56691 additions and 0 deletions

View File

@@ -0,0 +1,29 @@
import React from 'react';
import { Link } from 'react-router-dom';
import {
InputGroup,
InputGroupAddon,
Button,
Input
} from './../../../components';
const ChatCardFooter = () => (
<React.Fragment>
<InputGroup>
<InputGroupAddon addonType="prepend">
<Button color="secondary" outline>
<i className="fa fa fa-paperclip"></i>
</Button>
</InputGroupAddon>
<Input placeholder="Your message..." />
<InputGroupAddon addonType="append">
<Button color="primary" tag={ Link } to="/apps/chat">
<i className="fa fa fa-send"></i>
</Button>
</InputGroupAddon>
</InputGroup>
</React.Fragment>
)
export { ChatCardFooter };

View File

@@ -0,0 +1,38 @@
import React from 'react';
import {
UncontrolledButtonDropdown,
DropdownToggle,
DropdownMenu,
DropdownItem,
} from './../../../components';
const ChatCardHeader = () => (
<React.Fragment>
<h6 className="align-self-center mb-0">
Chat with Romaine Weber
</h6>
<UncontrolledButtonDropdown className="align-self-center ml-auto">
<DropdownToggle color="link" size="sm" className="text-decoration-none">
<i className="fa fa-gear"></i><i className="fa fa-angle-down ml-2"></i>
</DropdownToggle>
<DropdownMenu right>
<DropdownItem>
<i className="fa fa-fw fa-comment mr-2"></i>
Private Message
</DropdownItem>
<DropdownItem>
<i className="fa fa-fw fa-search mr-2"></i>
Search this Thread
</DropdownItem>
<DropdownItem divider />
<DropdownItem>
<i className="fa fa-fw fa-ban mr-2"></i>
Block this User
</DropdownItem>
</DropdownMenu>
</UncontrolledButtonDropdown>
</React.Fragment>
)
export { ChatCardHeader };

View File

@@ -0,0 +1,69 @@
import React from 'react';
import PropTypes from 'prop-types';
import faker from 'faker/locale/en_US';
import {
Card,
Media,
Avatar,
AvatarAddOn
} from './../../../components';
import { randomArray, randomAvatar } from './../../../utilities';
const status = [
"warning",
"danger",
"success",
"secondary"
];
const ChatLeft = (props) => (
<React.Fragment>
<Media className="mb-2">
<Media left className="mr-3">
<Avatar.Image
size="md"
src={ randomAvatar() }
className="mr-2"
addOns={[
<AvatarAddOn.Icon
className="fa fa-circle"
color="white"
key="avatar-icon-bg"
/>,
<AvatarAddOn.Icon
className="fa fa-circle"
color={ randomArray(status) }
key="avatar-icon-fg"
/>
]}
/>
</Media>
<Media body>
<Card body className={ `mb-2 ${ props.cardClassName }` }>
<p className="mb-0">
{ faker.lorem.paragraph() }
</p>
</Card>
<div className="mb-2">
<span className="text-inverse mr-2">
{ faker.name.firstName() } { faker.name.firstName() }
</span>
<span className="small">
13-Jun-2015, 08:13
</span>
</div>
</Media>
</Media>
</React.Fragment>
)
ChatLeft.propTypes = {
cardClassName: PropTypes.node
};
ChatLeft.defaultProps = {
cardClassName: "bg-white"
};
export { ChatLeft };

View File

@@ -0,0 +1,248 @@
import React from 'react';
import faker from 'faker/locale/en_US';
import {
Nav,
NavItem,
Media,
InputGroup,
Input,
InputGroupAddon,
Button,
Avatar,
AvatarAddOn,
NavLink
} from './../../../components';
import { randomAvatar } from './../../../utilities';
const ChatLeftNav = () => (
<React.Fragment>
{ /* START Left Nav */}
<div className="mb-4">
<div className="small mb-3">
Search
</div>
<InputGroup>
<Input placeholder="Search for..." />
<InputGroupAddon addonType="append">
<Button outline color="secondary">
<i className="fa fa-search"></i>
</Button>
</InputGroupAddon>
</InputGroup>
</div>
{ /* END Left Nav */}
{ /* START Left Nav */}
<div className="mb-4">
<div className="mt-4 mb-2">
<span className="small">
Contacts
</span>
</div>
<Nav pills vertical>
<NavItem>
<NavLink href="/chat" active>
<Media>
<Media left className="align-self-start mr-3">
<Avatar.Image
size="sm"
src={ randomAvatar() }
addOns={[
<AvatarAddOn.Icon
className="fa fa-circle"
color="primary"
key="avatar-icon-bg"
/>,
<AvatarAddOn.Icon
className="fa fa-circle"
color="danger"
key="avatar-icon-fg"
/>
]}
/>
</Media>
<Media body>
<div className="mt-0 d-flex">
{ faker.name.firstName() } { faker.name.lastName() }
</div>
<span className="small">
{ faker.address.country() }
</span>
</Media>
</Media>
</NavLink>
</NavItem>
<NavItem>
<NavLink href="/chat">
<Media>
<Media left className="align-self-start mr-3">
<Avatar.Image
size="sm"
src={ randomAvatar() }
addOns={[
<AvatarAddOn.Icon
className="fa fa-circle"
color="white"
key="avatar-icon-bg"
/>,
<AvatarAddOn.Icon
className="fa fa-circle"
color="success"
key="avatar-icon-fg"
/>
]}
/>
</Media>
<Media body>
<div className="mt-0 d-flex">
{ faker.name.firstName() } { faker.name.lastName() }
</div>
<span className="small">
{ faker.address.country() }
</span>
</Media>
</Media>
</NavLink>
</NavItem>
<NavItem>
<NavLink href="/chat">
<Media>
<Media left className="align-self-start mr-3">
<Avatar.Image
size="sm"
src={ randomAvatar() }
addOns={[
<AvatarAddOn.Icon
className="fa fa-circle"
color="white"
key="avatar-icon-bg"
/>,
<AvatarAddOn.Icon
className="fa fa-circle"
color="secondary"
key="avatar-icon-fg"
/>
]}
/>
</Media>
<Media body>
<div className="mt-0 d-flex">
{ faker.name.firstName() } { faker.name.lastName() }
</div>
<span className="small">
{ faker.address.country() }
</span>
</Media>
</Media>
</NavLink>
</NavItem>
<NavItem>
<NavLink href="/chat">
Show All <span className="small mr-2">(345)</span>
<i className="fa fa-angle-down"></i>
</NavLink>
</NavItem>
</Nav>
</div>
{ /* END Left Nav */}
{ /* START Left Nav */}
<div className="mb-4">
<div className="mt-4 mb-2">
<span className="small">
Updates
</span>
</div>
<Nav pills vertical>
<NavItem>
<NavLink href="/chat">
<Media>
<Media left className="align-self-start mr-1">
<span className="fa-stack fa-lg fa-fw d-flex align-self-center mr-3">
<i className="fa fa-circle fa-fw fa-stack-2x text-warning"></i>
<i className="fa fa-exclamation fa-stack-1x fa-fw text-white"></i>
</span>
</Media>
<Media body>
<div className="mt-0">
{ faker.hacker.phrase() }
</div>
<span className="small">
24-Aug-2012, 12:12
</span>
</Media>
</Media>
</NavLink>
</NavItem>
<NavItem>
<NavLink href="/chat">
<Media>
<Media left className="align-self-start mr-1">
<span className="fa-stack fa-lg fa-fw d-flex align-self-center mr-3">
<i className="fa fa-circle fa-fw fa-stack-2x text-danger"></i>
<i className="fa fa-close fa-stack-1x fa-fw text-white"></i>
</span>
</Media>
<Media body>
<div className="mt-0">
{ faker.hacker.phrase() }
</div>
<span className="small">
24-Aug-2012, 12:12
</span>
</Media>
</Media>
</NavLink>
</NavItem>
<NavItem>
<NavLink href="/chat">
<Media>
<Media left className="align-self-start mr-1">
<span className="fa-stack fa-lg fa-fw d-flex align-self-center mr-3">
<i className="fa fa-circle fa-fw fa-stack-2x text-success"></i>
<i className="fa fa-check fa-stack-1x fa-fw text-white"></i>
</span>
</Media>
<Media body>
<div className="mt-0">
{ faker.hacker.phrase() }
</div>
<span className="small">
24-Aug-2012, 12:12
</span>
</Media>
</Media>
</NavLink>
</NavItem>
<NavItem>
<NavLink href="/chat">
<Media>
<Media left className="align-self-start mr-1">
<span className="fa-stack fa-lg fa-fw d-flex align-self-center mr-3">
<i className="fa fa-circle fa-fw fa-stack-2x text-primary"></i>
<i className="fa fa-info fa-stack-1x fa-fw text-white"></i>
</span>
</Media>
<Media body>
<div className="mt-0">
{ faker.hacker.phrase() }
</div>
<span className="small">
24-Aug-2012, 12:12
</span>
</Media>
</Media>
</NavLink>
</NavItem>
<NavItem>
<NavLink href="/chat">
Show All <span className="small mr-2">(12)</span>
<i className="fa fa-angle-down"></i>
</NavLink>
</NavItem>
</Nav>
</div>
{ /* END Left Nav */}
</React.Fragment>
)
export { ChatLeftNav };

View File

@@ -0,0 +1,69 @@
import React from 'react';
import PropTypes from 'prop-types';
import faker from 'faker/locale/en_US';
import {
Card,
Media,
Avatar,
AvatarAddOn
} from './../../../components';
import { randomArray, randomAvatar } from './../../../utilities';
const status = [
"warning",
"danger",
"success",
"secondary"
];
const ChatRight = (props) => (
<React.Fragment>
<Media className="mb-2">
<Media body>
<Card body className={ `mb-2 ${ props.cardClassName }` }>
<p className="mb-0">
{ faker.lorem.paragraph() }
</p>
</Card>
<div className="mb-2 text-right">
<span className="text-inverse mr-2">
{ faker.name.firstName() } { faker.name.firstName() }
</span>
<span className="small">
13-Jun-2015, 08:13
</span>
</div>
</Media>
<Media right className="ml-3">
<Avatar.Image
size="md"
src={ randomAvatar() }
className="mr-2"
addOns={[
<AvatarAddOn.Icon
className="fa fa-circle"
color="white"
key="avatar-icon-bg"
/>,
<AvatarAddOn.Icon
className="fa fa-circle"
color={ randomArray(status) }
key="avatar-icon-fg"
/>
]}
/>
</Media>
</Media>
</React.Fragment>
)
ChatRight.propTypes = {
cardClassName: PropTypes.node
};
ChatRight.defaultProps = {
cardClassName: "bg-white"
};
export { ChatRight };