Skip to content

Commit

Permalink
fix: responsive layour fixes for table, modal and form fields
Browse files Browse the repository at this point in the history
  • Loading branch information
vividvilla committed Sep 8, 2019
1 parent a7034bb commit 3e5a646
Show file tree
Hide file tree
Showing 10 changed files with 82 additions and 35 deletions.
1 change: 0 additions & 1 deletion README.md
Expand Up @@ -51,7 +51,6 @@ Alternatively, to run a demo of listmonk, you can quickly spin up a container `d
- User auth, management, permissions
- Ability to write raw campaign logs to a target
- Analytics views and reports
- Make Ant design UI components responsive
- Better widgets on dashboard
- Tests!

Expand Down
10 changes: 5 additions & 5 deletions frontend/src/Campaign.js
Expand Up @@ -28,8 +28,8 @@ import Delta from "quill-delta"
import "react-quill/dist/quill.snow.css"

const formItemLayout = {
labelCol: { xs: { span: 16 }, sm: { span: 4 } },
wrapperCol: { xs: { span: 16 }, sm: { span: 10 } }
labelCol: { xs: { span: 16 }, sm: { span: 10 }, md: { span: 4 } },
wrapperCol: { xs: { span: 16 }, sm: { span: 14 }, md: { span: 10 } }
}

class Editor extends React.PureComponent {
Expand Down Expand Up @@ -521,7 +521,7 @@ class TheFormDef extends React.PureComponent {
/>
)}
</Col>
<Col span={12}>
<Col xs={24} sm={2}>
{this.state.sendLater &&
getFieldDecorator("send_at", {
initialValue:
Expand Down Expand Up @@ -656,7 +656,7 @@ class Campaign extends React.PureComponent {
return (
<section className="content campaign">
<Row>
<Col span={16}>
<Col xs={24} sm={16}>
{!this.state.record.id && <h1>Create a campaign</h1>}
{this.state.record.id && (
<div>
Expand All @@ -675,7 +675,7 @@ class Campaign extends React.PureComponent {
</div>
)}
</Col>
<Col span={8} className="right">
<Col xs={24} sm={8} className="right header-action-break">
{!this.state.formDisabled && !this.state.loading && (
<div>
<Button
Expand Down
4 changes: 2 additions & 2 deletions frontend/src/Campaigns.js
Expand Up @@ -651,10 +651,10 @@ class Campaigns extends React.PureComponent {
return (
<section className="content campaigns">
<Row>
<Col xs={12} sm={14}>
<Col xs={24} sm={14}>
<h1>Campaigns</h1>
</Col>
<Col xs={12} sm={10} className="align-right">
<Col xs={24} sm={10} className="right header-action-break">
<Link to="/campaigns/new">
<Button type="primary" icon="plus" role="link">
New campaign
Expand Down
6 changes: 3 additions & 3 deletions frontend/src/Import.js
Expand Up @@ -101,8 +101,8 @@ class TheFormDef extends React.PureComponent {
const { getFieldDecorator } = this.props.form

const formItemLayout = {
labelCol: { xs: { span: 16 }, sm: { span: 4 } },
wrapperCol: { xs: { span: 16 }, sm: { span: 10 } }
labelCol: { sm: { span: 24 }, md: { span: 5 } },
wrapperCol: { sm: { span: 24 }, md: { span: 10 } }
}

const formItemTailLayout = {
Expand Down Expand Up @@ -163,7 +163,7 @@ class TheFormDef extends React.PureComponent {
)}
<Form.Item
{...formItemLayout}
label="CSV column delimiter"
label="CSV delimiter"
extra="Default delimiter is comma"
>
{getFieldDecorator("delim", {
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/Layout.js
Expand Up @@ -33,7 +33,7 @@ class Base extends React.Component {

componentDidMount() {
// For small screen devices collapse the menu by default.
if (window.screen.width < 576) {
if (window.screen.width < 768) {
this.setState({ collapsed: true });
}
};
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/Lists.js
Expand Up @@ -381,7 +381,7 @@ class Lists extends React.PureComponent {
<Col xs={12} sm={18}>
<h1>Lists ({this.props.data[cs.ModelLists].total}) </h1>
</Col>
<Col xs={12} sm={6} className="align-right">
<Col xs={12} sm={6} className="right">
<Button
type="primary"
icon="plus"
Expand Down
10 changes: 6 additions & 4 deletions frontend/src/Subscriber.js
Expand Up @@ -357,7 +357,7 @@ class Subscriber extends React.PureComponent {
{this.state.record.id && (
<div>
<h1>
<Tag
<Tag className="subscriber-status"
color={
tagColors.hasOwnProperty(this.state.record.status)
? tagColors[this.state.record.status]
Expand All @@ -366,21 +366,23 @@ class Subscriber extends React.PureComponent {
>
{this.state.record.status}
</Tag>{" "}
{this.state.record.name} ({this.state.record.email})
<span className="subscriber-name">
{this.state.record.name} ({this.state.record.email})
</span>
</h1>
<span className="text-small text-grey">
ID {this.state.record.id} / UUID {this.state.record.uuid}
</span>
</div>
)}
</Col>
<Col span={2} className="right">
<Col span={2} className="right subscriber-export">
<Tooltip title="Export data" placement="top">
<a
role="button"
href={"/api/subscribers/" + this.state.record.id + "/export"}
>
<Icon type="export" />
<Icon type="export" style={{ fontSize: "20px" }}/>
</a>
</Tooltip>
</Col>
Expand Down
22 changes: 10 additions & 12 deletions frontend/src/Subscribers.js
Expand Up @@ -583,10 +583,10 @@ class Subscribers extends React.PureComponent {
}

return (
<section className="content">
<section className="content subscribers">
<header className="header">
<Row>
<Col xs={12} sm={14}>
<Col xs={24} sm={14}>
<h1>
Subscribers
{this.props.data[cs.ModelSubscribers].total > 0 && (
Expand All @@ -597,7 +597,7 @@ class Subscribers extends React.PureComponent {
)}
</h1>
</Col>
<Col xs={12} sm={10} className="align-right">
<Col xs={24} sm={10} className="right header-action-break">
<Button
type="primary"
icon="plus"
Expand All @@ -611,24 +611,22 @@ class Subscribers extends React.PureComponent {

<div className="subscriber-query">
<Row>
<Col span={10}>
<Col sm={24} md={10}>
<Row>
<Col span={15}>
<Row>
<label>Search subscribers</label>
<Input.Search
name="name"
placeholder="Name or e-mail"
enterButton
onSearch={this.handleSearch}
/>{" "}
</Col>
<Col span={8} offset={1}>
<label>&nbsp;</label>
<br />
</Row>
<Row style={{ marginTop: "10px" }}>
<a role="button" onClick={this.handleToggleQueryForm}>
<Icon type="setting" /> Advanced
</a>
</Col>
</Row>
</Row>
{this.state.queryFormVisible && (
<div className="advanced-query">
Expand Down Expand Up @@ -684,7 +682,7 @@ class Subscribers extends React.PureComponent {
</div>
)}
</Col>
<Col span={14}>
<Col sm={24} md={{ span: 12, offset: 2 }} className="slc-subs-section">
{this.state.selectedRows.length > 0 && (
<nav className="table-options">
<p>
Expand All @@ -706,7 +704,7 @@ class Subscribers extends React.PureComponent {
</span>
)}
</p>
<p>
<p class="slc-subs-actions">
<a role="button" onClick={this.handleToggleListsForm}>
<Icon type="bars" /> Manage lists
</a>
Expand Down
4 changes: 2 additions & 2 deletions frontend/src/Templates.js
Expand Up @@ -392,10 +392,10 @@ class Templates extends React.PureComponent {
return (
<section className="content templates">
<Row>
<Col xs={12} sm={14}>
<Col xs={24} sm={14}>
<h1>Templates ({this.props.data[cs.ModelTemplates].length}) </h1>
</Col>
<Col xs={12} sm={10} className="align-right">
<Col xs={24} sm={10} className="right header-action-break">
<Button
type="primary"
icon="plus"
Expand Down
56 changes: 52 additions & 4 deletions frontend/src/index.css
Expand Up @@ -315,12 +315,60 @@ td .ant-tag {
display: none;
}

.align-right {
text-align: right;
}

@media screen and (max-width: 1200px) {
.dashboard .ant-card {
margin-bottom: 20px;
}
}

@media screen and (max-width: 1023px) {
.ant-table-content {
overflow-x: auto;
}

.ant-table-thead > tr > th,
.ant-table-tbody > tr > td {
white-space: nowrap;
}
}

@media screen and (max-width: 768px) {
.ant-modal {
top: 0 !important;
}

hr {
margin: 20px 0;
}

.subscriber-query {
padding: 20px
}

.header-action-break {
text-align: left;
}

.subscribers.content .slc-subs-section .table-options {
margin-top: 20px;
padding-top: 20px;
border-top: 1px solid #f4f4f4;
}

.subscribers.content .slc-subs-actions a {
display: block;
margin-bottom: 5px;
}

.ant-modal.subscriber-modal .subscriber-export {
margin-top: 10px;
}

.ant-modal.subscriber-modal .subscriber-name {
display: block;
}

.dashboard {
margin: 24px 12px;
}
}

0 comments on commit 3e5a646

Please sign in to comment.