close #36 - webpack 3; begin #37

This commit is contained in:
Daniel 2018-03-21 23:25:26 -04:00
parent 8478390bf7
commit 78037aa0eb
11 changed files with 75 additions and 242 deletions

View File

@ -1,4 +1,4 @@
{
"presets": ["es2015", "react", "stage-1"],
"presets": ["env", "react", "stage-1"],
"plugins": ["transform-decorators-legacy"]
}

File diff suppressed because one or more lines are too long

1
build/style.css Normal file
View File

@ -0,0 +1 @@
@media only screen and (min-width:975px){.collection>.left{float:left;width:30%}.collection>.right{float:right;width:70%}.card{text-align:left;display:flex;border:1px solid #aeaeae}.card .left,.card .right,.card .stats{padding-top:2px}.card .left{vertical-align:text-top;width:210px}.card .left,.card .right{float:left;padding-left:4px}.card .right{width:calc(100% - 322px);border-left:2px solid #aeaeae;padding-right:4px;padding-bottom:6px;white-space:pre-line}.creature .right{width:calc(100% - 366px)}.creature .stats{vertical-align:text-top;float:left;text-align:right;width:40px;padding-right:4px}.SearchForm{text-align:left}.brainwashed{background-color:#dcdddf;color:#000!important}.chieftain,.flavortext{font-style:italic}.disciplines input{width:30px;height:14px;text-align:center;margin-top:2px}.mull input{vertical-align:middle}.mcbp input{width:24px;height:14px;padding:unset;text-align:center;margin-top:2px}.and{vertical-align:text-bottom;padding:0 4px}}.card .icon14,.card .icon16,.card .icon20,.card .icon24{vertical-align:middle}.icon14{height:14px;padding-bottom:2px}.icon16{height:16px}.icon20{height:20px}.icon24{height:24px}.bigger{font-size:14px}.thumb{width:100px;height:98px}.Collapsible{margin-bottom:10px;width:250px}.Collapsible__trigger{background-color:#333;display:block;position:relative;padding-top:5px;padding-bottom:5px;text-indent:5px}.Collapsible__trigger:hover{background-color:red}.Collapsible__trigger:after{content:"^";position:absolute;right:10px;top:10px;display:block;transition:transform .4s}.Collapsible__trigger.is-open:after{transform:rotate(180deg);right:5px;top:5px}.Collapsible__trigger.is-disabled{opacity:.5;background-color:grey}.left{position:relative}.card_img{position:absolute;width:100%;left:-10px;z-index:2}.card_img .hidden{display:none;max-height:0}.card_img img{max-width:250px;max-height:350px}.icon14{height:14px}.icon16{height:16px}.icon20{height:20px}.icon24{height:24px}.bigger{font-size:14px}.splash{max-width:100%;padding-bottom:10px}.navbar h1{font-size:16px}.navbar ul{list-style-type:none;margin:0;padding:0;overflow:hidden;background-color:#333}.navbar li{float:left}.navbar .dropbtn,.navbar li a{display:inline-block;color:#fff;text-align:center;padding:14px 16px;text-decoration:none}.navbar .dropdown:hover .dropbtn,.navbar li a:hover{background-color:red}.navbar li.dropdown{display:inline-block}.navbar .dropdown-content{display:none;position:absolute;background-color:#333;min-width:140px;box-shadow:0 8px 16px 0 rgba(0,0,0,.2);z-index:1}.navbar .dropdown-content a{color:#fff;padding:12px 16px;text-decoration:none;display:block;text-align:left}.navbar .dropdown:hover .dropdown-content{display:block}.magnifying-glass{cursor:pointer;transition:color .2s;z-index:1;vertical-align:middle;fill:currentColor;height:18px;min-width:18px;width:18px}.entry{padding:10px}.entry .title{font-weight:700;font-size:16px}.entry .left{float:left;width:100px}.entry .right{float:right;width:86%}.entry .left .title{text-align:left;padding-bottom:10px}.entry .icon14,.entry .icon16,.entry .icon20,.entry .icon24{vertical-align:middle}.search .results div{padding-bottom:10px}.search .results a{font-size:16px;line-height:20px}

View File

@ -1,9 +1,9 @@
{
"name": "chaoticbackup",
"version": "1.3.0",
"version": "1.4.0",
"description": "Chaotic Backup",
"scripts": {
"start": "webpack-dev-server -d --inline --host 0.0.0.0 --history-api-fallback --progress --display-error-details",
"start": "webpack-dev-server -d --inline --host 0.0.0.0 --history-api-fallback",
"build": "webpack -p"
},
"repository": {
@ -13,7 +13,6 @@
"author": "Danude Sandstorm",
"license": "MIT",
"dependencies": {
"create-react-class": "^15.6.3",
"lokijs": "^1.5.1",
"mobx": "^3.3.1",
"mobx-react": "^4.3.3",
@ -33,23 +32,22 @@
"devDependencies": {
"babel-core": "^6.21.0",
"babel-eslint": "^8.0.0",
"babel-loader": "^6.2.10",
"babel-loader": "^7.1.4",
"babel-plugin-transform-decorators-legacy": "^1.3.4",
"babel-polyfill": "^6.26.0",
"babel-preset-es2015": "^6.18.0",
"babel-preset-env": "^1.6.1",
"babel-preset-react": "^6.16.0",
"babel-preset-stage-1": "^6.16.0",
"css-loader": "^0.28.10",
"eslint": "^4.0.0",
"eslint": "^4.19.1",
"eslint-config-airbnb": "^16.0.0",
"eslint-plugin-import": "^2.2.0",
"eslint-plugin-jsx-a11y": "^6.0.0",
"eslint-plugin-react": "^7.0.0",
"extract-text-webpack-plugin": "^1.x",
"node-sass": "^4.x",
"sass-loader": "^4.x",
"extract-text-webpack-plugin": "^3.0.2",
"sass-loader": "^6.0.7",
"style-loader": "^0.20.2",
"webpack": "^1.14.0",
"webpack-dev-server": "^1.16.2"
"webpack": "^3.11",
"webpack-dev-server": "^2.11.1"
}
}

View File

@ -143,7 +143,7 @@ class CollectionDB {
return resolve();
}
if (this.building[type] == "building") {
const disposer = observe(building[type], (change) => {
const disposer = observe(this.building[type], (change) => {
disposer();
resolve();
});

View File

@ -5,6 +5,7 @@ import {observable} from "mobx";
import {observer, inject} from 'mobx-react';
import CardList from './List';
import SearchForm from './Search';
import '../../scss/collection.scss'
@inject((stores, props, context) => props) @observer
export default class Home extends React.Component {
@ -27,7 +28,6 @@ export default class Home extends React.Component {
render() {
return (
<div className="collection">
<link rel="stylesheet" href="/src/css/collection.css" />
<div className="left">
<ImagePreview url={API.base_image + this.card_img} ref={n => {if (n) this.changeImage = n.getInstance().changeImage}} />
<SearchForm handleContent={this.handleContent.bind(this)} {...this.props} />

View File

@ -14,13 +14,14 @@ import Mugic from './Category/Mugic';
import Tribes from './Category/Tribes';
import {SearchButton} from '../Snippets';
import '../../scss/portal.scss';
@inject((stores, props, context) => props) @observer
export default class Base extends React.Component {
render() {
return (
<div className="portal">
<link rel="stylesheet" href="/src/css/portal.css" />
<Header />
<br />
<Routing {...this.props} />

View File

@ -1,184 +0,0 @@
@media only screen and (min-width: 975px) {
.collection > .left {
float: left;
width: 30%;
}
.collection > .right {
float: right;
width: 70%;
}
.card {
text-align: left;
display: flex;
border: 1px solid #AEAEAE;
}
.card .left,
.card .right,
.card .stats {
padding-top: 2px;
}
.card .left {
vertical-align: text-top;
float: left;
width: 210px;
padding-left: 4px;
}
.card .right {
float: left;
width: calc(100% - (100px + 4px + 4px + 4px + 210px));
border-left: 2px solid #AEAEAE;
padding-left: 4px;
padding-right: 4px;
padding-bottom: 6px;
white-space: pre-line;
}
.creature .right {
width: calc(100% - (100px + 4px + 4px + 4px + 210px + 40px + 4px));
}
.creature .stats {
vertical-align: text-top;
float: left;
text-align: right;
width: 40px;
padding-right: 4px;
}
.SearchForm {
text-align: left;
}
.brainwashed {
background-color: #dcdddf;
color: black !important;
}
.flavortext,
.chieftain {
font-style: italic;
}
.disciplines input {
width: 30px;
height: 14px;
text-align: center;
margin-top: 2px;
}
.mull input {
vertical-align: middle;
}
.mcbp input {
width: 24px;
height: 14px;
padding: unset;
text-align: center;
margin-top: 2px;
}
.and {
vertical-align: text-bottom;
padding: 0 4px;
}
} /* desktop */
.card .icon14, .card .icon16,
.card .icon20, .card .icon24 {
vertical-align: middle;
}
.icon14 {
height: 14px;
padding-bottom: 2px;
}
.icon16 {
height: 16px;
}
.icon20 {
height: 20px;
}
.icon24 {
height: 24px;
}
.bigger {
font-size: 14px;
}
.thumb {
width: 100px;
height: 98px;
}
.Collapsible {
margin-bottom: 10px;
width: 250px;
}
.Collapsible__trigger {
background-color: #333;
display: block;
position: relative;
padding-top: 5px;
padding-bottom: 5px;
text-indent: 5px;
}
.Collapsible__trigger:hover {
background-color: red;
}
.Collapsible__trigger:after {
content: '^';
position: absolute;
right: 10px;
top: 10px;
display: block;
transition: transform 400ms;
}
.Collapsible__trigger.is-open:after {
transform: rotateZ(180deg);
right: 5px;
top: 5px;
}
.Collapsible__trigger.is-disabled {
opacity: 0.5;
background-color: grey;
}
.left {
position: relative;
}
.card_img {
position: absolute;
width: 100%;
left: -10px;
z-index: 2;
}
.card_img .hidden {
display: none;
max-height 0;
}
.card_img img {
max-width: 250px;
max-height: 350px;
}

View File

@ -68,6 +68,25 @@
.disciplines input {
width: 30px;
height: 14px;
text-align: center;
margin-top: 2px;
}
.mull input {
vertical-align: middle;
}
.mcbp input {
width: 24px;
height: 14px;
padding: unset;
text-align: center;
margin-top: 2px;
}
.and {
vertical-align: text-bottom;
padding: 0 4px;
}
} /* desktop */
@ -94,16 +113,6 @@
height: 24px;
}
.card_img {
width: 250px;
height: 350px;
}
.card_img img {
max-width: 250px;
max-height: 350px;
}
.bigger {
font-size: 14px;
}
@ -151,3 +160,25 @@
opacity: 0.5;
background-color: grey;
}
.left {
position: relative;
}
.card_img {
position: absolute;
width: 100%;
left: -10px;
z-index: 2;
}
.card_img .hidden {
display: none;
max-height: 0;
}
.card_img img {
max-width: 250px;
max-height: 350px;
}

View File

@ -12,38 +12,36 @@ export default {
},
module: {
loaders: [
rules: [
{
test: /\.jsx?$/, exclude: /node_modules/,
loader: 'babel'
use: 'babel-loader'
},
{
test: /\.scss$/,
loader: ExtractTextPlugin.extract({
use: ExtractTextPlugin.extract({
fallback: 'style-loader',
loader: ['css-loader', 'sass-loader']
use: ['css-loader', 'sass-loader']
})
},
],
rules: [
],
}
]
},
resolve: {
extensions: ['', '.js', '.jsx'],
extensions: ['.js', '.jsx'],
},
node: {
fs: 'empty',
},
plugins: [
new ExtractTextPlugin('build/style.css', {
// First array is dev only, second is production
plugins: process.argv.indexOf('-p') === -1 ? [
new ExtractTextPlugin({
filename: 'style.css',
allChunks: true
}),
],
plugins: process.argv.indexOf('-p') === -1 ? null : [
})
] : [
new webpack.DefinePlugin({
'process.env.NODE_ENV': JSON.stringify('production'),
}),
@ -51,6 +49,11 @@ export default {
output: {
comments: false,
},
warnings: true,
}),
new ExtractTextPlugin({
filename: 'style.css',
allChunks: true
})
],
};