Skip to content

Commit f4b5f92

Browse files
committed
onPageComplete component
1 parent 88de366 commit f4b5f92

File tree

8 files changed

+62
-20
lines changed

8 files changed

+62
-20
lines changed
+12-2
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,20 @@
11
"use strict";
22
var React = require('react');
3-
var List_1 = require('material-ui/List');
3+
var Card_1 = require('material-ui/Card');
44
var index_1 = require('../../index');
5+
var colors_1 = require('material-ui/styles/colors');
6+
var styles = {
7+
backgroundColor: colors_1.cyan500,
8+
position: 'fixed',
9+
bottom: '20px',
10+
padding: '10px 15px 30px',
11+
right: '0px',
12+
margin: '0',
13+
width: '400px',
14+
};
515
exports.PageComplete = function (_a) {
616
var page = _a.page;
717
return (React.createElement("div", {className: 'cr-page-onComplete'}, page.completed && page.onPageComplete
8-
? React.createElement(List_1.ListItem, {key: 'page-complete'}, React.createElement(index_1.Markdown, null, page.onPageComplete))
18+
? React.createElement(Card_1.Card, {style: styles}, React.createElement(Card_1.CardText, null, React.createElement(index_1.Markdown, null, page.onPageComplete)))
919
: null));
1020
};

lib/components/Page/ProgressBar.js

+8-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,14 @@
11
"use strict";
22
var React = require('react');
33
var LinearProgress_1 = require('material-ui/LinearProgress');
4+
var style = {
5+
height: '10px'
6+
};
47
exports.ProgressBar = function (_a) {
5-
var taskPosition = _a.taskPosition, taskCount = _a.taskCount;
8+
var taskPosition = _a.taskPosition, taskCount = _a.taskCount, completed = _a.completed;
69
var progress = (taskPosition / taskCount) * 100;
7-
return (React.createElement(LinearProgress_1.default, {mode: 'determinate', value: progress, style: { height: '10px' }}));
10+
if (completed) {
11+
return null;
12+
}
13+
return (React.createElement(LinearProgress_1.default, {mode: 'determinate', value: progress, style: style}));
814
};

lib/components/Page/index.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ var Page = (function (_super) {
3737
var task = taskPosition <= tasks.length ? tasks[taskPosition] : null;
3838
var allComplete = taskPosition >= tasks.length;
3939
console.log('page', page);
40-
return (React.createElement("section", {className: 'cr-page'}, React.createElement(PageContent_1.PageContent, __assign({}, this.props)), React.createElement(Tasks_1.Tasks, __assign({}, this.props, {completed: page.completed})), React.createElement("div", {className: 'listEnd', ref: 'listEnd'}), React.createElement(PageComplete_1.PageComplete, __assign({}, this.props)), React.createElement(Hints_1.Hints, {task: task, hintPosition: hintPosition}), React.createElement(PageToolbar_1.PageToolbar, __assign({}, this.props), React.createElement(ProgressBar_1.ProgressBar, {taskPosition: taskPosition, taskCount: tasks.length}))));
40+
return (React.createElement("section", {className: 'cr-page'}, React.createElement(PageContent_1.PageContent, __assign({}, this.props)), React.createElement(Tasks_1.Tasks, __assign({}, this.props, {completed: page.completed})), React.createElement("div", {className: 'listEnd', ref: 'listEnd'}), React.createElement(PageComplete_1.PageComplete, __assign({}, this.props)), React.createElement(Hints_1.Hints, {task: task, hintPosition: hintPosition}), React.createElement(PageToolbar_1.PageToolbar, __assign({}, this.props), React.createElement(ProgressBar_1.ProgressBar, {taskPosition: taskPosition, taskCount: tasks.length, completed: page.completed}))));
4141
};
4242
return Page;
4343
}(React.Component));

src/components/Page/PageComplete/_page-complete.less

-3
This file was deleted.

src/components/Page/PageComplete/index.tsx

+17-4
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,28 @@
11
import * as React from 'react';
2-
import {ListItem} from 'material-ui/List';
2+
import {Card, CardText} from 'material-ui/Card';
33
import {Markdown} from '../../index';
4+
import {cyan500} from 'material-ui/styles/colors';
5+
6+
const styles = {
7+
backgroundColor: cyan500,
8+
position: 'fixed',
9+
bottom: '20px',
10+
padding: '10px 15px 30px',
11+
right: '0px',
12+
margin: '0',
13+
width: '400px',
14+
};
415

516
export const PageComplete: React.StatelessComponent<{
617
page: CR.Page
718
}> = ({page}) => (
819
<div className='cr-page-onComplete'>
920
{page.completed && page.onPageComplete
10-
? <ListItem key='page-complete'>
11-
<Markdown>{page.onPageComplete}</Markdown>
12-
</ListItem>
21+
? <Card style={styles}>
22+
<CardText>
23+
<Markdown>{page.onPageComplete}</Markdown>
24+
</CardText>
25+
</Card>
1326
: null
1427
}
1528
</div>

src/components/Page/ProgressBar.tsx

+10-3
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,22 @@
11
import * as React from 'react';
22
import LinearProgress from 'material-ui/LinearProgress';
33

4+
const style = {
5+
height: '10px'
6+
};
7+
48
export const ProgressBar: React.StatelessComponent<{
5-
taskPosition: number, taskCount: number
6-
}> = ({taskPosition, taskCount}) => {
9+
taskPosition: number, taskCount: number, completed: boolean
10+
}> = ({taskPosition, taskCount, completed}) => {
711
const progress: number = (taskPosition / taskCount) * 100;
12+
if (completed) {
13+
return null;
14+
}
815
return (
916
<LinearProgress
1017
mode='determinate'
1118
value={progress}
12-
style={{height: '10px'}}
19+
style={style}
1320
/>
1421
);
1522
};

src/components/Page/index.tsx

+14-4
Original file line numberDiff line numberDiff line change
@@ -34,13 +34,23 @@ render() {
3434
<section className='cr-page'>
3535
<PageContent {...this.props} />
3636

37-
<Tasks {...this.props} completed={page.completed}/>
38-
<div className='listEnd' ref='listEnd' />
37+
<Tasks
38+
{...this.props}
39+
completed={page.completed}
40+
/>
3941

42+
<div className='listEnd' ref='listEnd' />
4043
<PageComplete {...this.props} />
41-
<Hints task={task} hintPosition={hintPosition} />
44+
<Hints
45+
task={task}
46+
hintPosition={hintPosition}
47+
/>
4248
<PageToolbar {...this.props}>
43-
<ProgressBar taskPosition={taskPosition} taskCount={tasks.length}/>
49+
<ProgressBar
50+
taskPosition={taskPosition}
51+
taskCount={tasks.length}
52+
completed={page.completed}
53+
/>
4454
</PageToolbar>
4555
</section>
4656
);

src/components/page/_page.less

-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
@import 'Tasks/_tasks';
22
@import 'Chapter/_chapter';
33
@import 'PageToolbar/_toolbar';
4-
@import 'PageComplete/_page-complete';
54
@import 'Hints/_hints';
65

76
.cr-page {

0 commit comments

Comments
 (0)