Benoit Sida 4 년 전
부모
커밋
cbf4d4f957
20개의 변경된 파일20553개의 추가작업 그리고 2개의 파일을 삭제
  1. 1
    0
      build/AppBar.js
  2. 35
    0
      build/WInBar.js
  3. 53
    0
      build/WinBar.js
  4. 43
    0
      build/app.js
  5. 3
    0
      glih/.babelrc
  6. 9
    0
      glih/.editorconfig
  7. 181
    0
      glih/.eslintrc
  8. 2
    0
      glih/.npmignore
  9. 6
    0
      glih/app/index.js
  10. 38
    0
      glih/package.json
  11. 19945
    0
      glih/public/application.js
  12. 12
    0
      glih/public/index.html
  13. 43
    0
      glih/webpack.config.js
  14. 14
    0
      index.html
  15. 50
    0
      main.js
  16. 19
    2
      package.json
  17. 17
    0
      src/WinBar.js
  18. 27
    0
      src/app.js
  19. 7
    0
      src/glih.css
  20. 48
    0
      src/reset.css

+ 1
- 0
build/AppBar.js 파일 보기

@@ -0,0 +1 @@
1
+"use strict";

+ 35
- 0
build/WInBar.js 파일 보기

@@ -0,0 +1,35 @@
1
+"use strict";
2
+
3
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
4
+
5
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
6
+
7
+function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
8
+
9
+function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
10
+
11
+var AppBar = function (_React$Component) {
12
+  _inherits(AppBar, _React$Component);
13
+
14
+  function AppBar() {
15
+    _classCallCheck(this, AppBar);
16
+
17
+    return _possibleConstructorReturn(this, (AppBar.__proto__ || Object.getPrototypeOf(AppBar)).apply(this, arguments));
18
+  }
19
+
20
+  _createClass(AppBar, [{
21
+    key: "render",
22
+    value: function render() {
23
+      return React.createElement(
24
+        "p",
25
+        null,
26
+        "Hello, ",
27
+        React.createElement("input", { type: "text", placeholder: "Your name here" }),
28
+        "! It is ",
29
+        this.props.date.toTimeString()
30
+      );
31
+    }
32
+  }]);
33
+
34
+  return AppBar;
35
+}(React.Component);

+ 53
- 0
build/WinBar.js 파일 보기

@@ -0,0 +1,53 @@
1
+'use strict';
2
+
3
+Object.defineProperty(exports, "__esModule", {
4
+  value: true
5
+});
6
+exports.WinBar = undefined;
7
+
8
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
9
+
10
+var _AppBar = require('material-ui/AppBar');
11
+
12
+var _AppBar2 = _interopRequireDefault(_AppBar);
13
+
14
+var _IconButton = require('material-ui/IconButton');
15
+
16
+var _IconButton2 = _interopRequireDefault(_IconButton);
17
+
18
+function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
+
20
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
21
+
22
+function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
23
+
24
+function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
25
+
26
+var React = require('react');
27
+
28
+var WinBar = exports.WinBar = function (_React$Component) {
29
+  _inherits(WinBar, _React$Component);
30
+
31
+  function WinBar() {
32
+    _classCallCheck(this, WinBar);
33
+
34
+    return _possibleConstructorReturn(this, (WinBar.__proto__ || Object.getPrototypeOf(WinBar)).apply(this, arguments));
35
+  }
36
+
37
+  _createClass(WinBar, [{
38
+    key: 'render',
39
+    value: function render() {
40
+      return React.createElement(_AppBar2.default, {
41
+        title: 'Glih',
42
+        showMenuIconButton: false,
43
+        iconElementRight: React.createElement(
44
+          _IconButton2.default,
45
+          { iconClassName: 'material-icons' },
46
+          'close'
47
+        )
48
+      });
49
+    }
50
+  }]);
51
+
52
+  return WinBar;
53
+}(React.Component);

+ 43
- 0
build/app.js 파일 보기

@@ -0,0 +1,43 @@
1
+'use strict';
2
+
3
+var _reactTapEventPlugin = require('react-tap-event-plugin');
4
+
5
+var _reactTapEventPlugin2 = _interopRequireDefault(_reactTapEventPlugin);
6
+
7
+var _darkBaseTheme = require('material-ui/styles/baseThemes/darkBaseTheme');
8
+
9
+var _darkBaseTheme2 = _interopRequireDefault(_darkBaseTheme);
10
+
11
+var _getMuiTheme = require('material-ui/styles/getMuiTheme');
12
+
13
+var _getMuiTheme2 = _interopRequireDefault(_getMuiTheme);
14
+
15
+var _colors = require('material-ui/styles/colors');
16
+
17
+var _MuiThemeProvider = require('material-ui/styles/MuiThemeProvider');
18
+
19
+var _MuiThemeProvider2 = _interopRequireDefault(_MuiThemeProvider);
20
+
21
+var _WinBar = require('./WinBar');
22
+
23
+var _WinBar2 = _interopRequireDefault(_WinBar);
24
+
25
+function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
26
+
27
+var React = require('react');
28
+var ReactDOM = require('react-dom');
29
+
30
+
31
+(0, _reactTapEventPlugin2.default)();
32
+
33
+var theme = (0, _getMuiTheme2.default)({
34
+  palette: {
35
+    primary1Color: _colors.darkBlack
36
+  }
37
+});
38
+
39
+var App = function App() {
40
+  return React.createElement(_MuiThemeProvider2.default, { muiTheme: theme });
41
+};
42
+
43
+ReactDOM.render(React.createElement(App, null), document.getElementById('app'));

+ 3
- 0
glih/.babelrc 파일 보기

@@ -0,0 +1,3 @@
1
+{
2
+  "presets": ["es2015", "react"]
3
+}

+ 9
- 0
glih/.editorconfig 파일 보기

@@ -0,0 +1,9 @@
1
+root = true
2
+
3
+[*]
4
+charset = utf-8
5
+end_of_line = lf
6
+indent_size = 2
7
+indent_style = space
8
+insert_final_newline = true
9
+trim_trailing_whitespace = true

+ 181
- 0
glih/.eslintrc 파일 보기

@@ -0,0 +1,181 @@
1
+{
2
+  "ecmaFeatures": {
3
+    "arrowFunctions": true,
4
+    "binaryLiterals": true,
5
+    "blockBindings": true,
6
+    "classes": true,
7
+    "defaultParams": true,
8
+    "destructuring": true,
9
+    "forOf": true,
10
+    "generators": true,
11
+    "globalReturn": true,
12
+    "jsx": true,
13
+    "modules": true,
14
+    "objectLiteralComputedProperties": true,
15
+    "objectLiteralDuplicatProperties": true,
16
+    "objectLiteralShorthandMethods": true,
17
+    "objectLiteralShorthandProperties": true,
18
+    "octalLiterals": true,
19
+    "regexUFlag": true,
20
+    "regexYFlag": true,
21
+    "restParams": true,
22
+    "spread": true,
23
+    "superInFunctions": true,
24
+    "templateStrings": true,
25
+    "unicodeCodePointEscapes": true
26
+  },
27
+
28
+  "env": {
29
+    "browser": true,
30
+    "es6": true,
31
+    "node": true
32
+  },
33
+
34
+  "plugins": [
35
+    "react"
36
+  ],
37
+
38
+  "rules": {
39
+    "accessor-pairs": 2,
40
+    "array-bracket-spacing": 2,
41
+    "arrow-spacing": [2, { "before": true, "after": true }],
42
+    "block-spacing": [2, "always"],
43
+    "brace-style": [2, "stroustrup", { "allowSingleLine": true }],
44
+    "camelcase": [2, { "properties": "always" }],
45
+    "comma-dangle": 2,
46
+    "comma-spacing": [2, { "before": false, "after": true }],
47
+    "comma-style": [2, "last"],
48
+    "computed-property-spacing": [2, "never"],
49
+    "consistent-return": 2,
50
+    "consistent-this": [2, "self"],
51
+    "curly": [2, "multi-line"],
52
+    "dot-location": [2, "property"],
53
+    "eol-last": 2,
54
+    "eqeqeq": 2,
55
+    "generator-star-spacing": [2, { "before": false, "after": true }],
56
+    "handle-callback-err": 2,
57
+    "indent": [2, 2, { "SwitchCase": 1 }],
58
+    "jsx-quotes": [2, "prefer-single"],
59
+    "key-spacing": [2, { "beforeColon": false, "afterColon": true }],
60
+    "linebreak-style": [2, "unix"],
61
+    "new-cap": 2,
62
+    "new-parens": 2,
63
+    "no-caller": 2,
64
+    "no-class-assign": 2,
65
+    "no-cond-assign": 2,
66
+    "no-const-assign": 2,
67
+    "no-constant-condition": 2,
68
+    "no-control-regex": 2,
69
+    "no-debugger": 2,
70
+    "no-delete-var": 2,
71
+    "no-dupe-args": 2,
72
+    "no-dupe-class-members": 2,
73
+    "no-dupe-keys": 2,
74
+    "no-duplicate-case": 2,
75
+    "no-else-return": 2,
76
+    "no-empty": 2,
77
+    "no-empty-character-class": 2,
78
+    "no-eq-null": 2,
79
+    "no-eval": 2,
80
+    "no-ex-assign": 2,
81
+    "no-extend-native": 2,
82
+    "no-extra-bind": 2,
83
+    "no-extra-boolean-cast": 2,
84
+    "no-extra-semi": 2,
85
+    "no-floating-decimal": 2,
86
+    "no-func-assign": 2,
87
+    "no-implicit-coercion": 2,
88
+    "no-implied-eval": 2,
89
+    "no-inner-declarations": 2,
90
+    "no-invalid-regexp": 2,
91
+    "no-invalid-this": 2,
92
+    "no-irregular-whitespace": 2,
93
+    "no-iterator": 2,
94
+    "no-labels": 2,
95
+    "no-lone-blocks": 2,
96
+    "no-mixed-spaces-and-tabs": 2,
97
+    "no-multi-spaces": 2,
98
+    "no-multiple-empty-lines": 2,
99
+    "no-native-reassign": 2,
100
+    "no-negated-in-lhs": 2,
101
+    "no-nested-ternary": 2,
102
+    "no-new": 2,
103
+    "no-new-func": 2,
104
+    "no-new-object": 2,
105
+    "no-new-wrappers": 2,
106
+    "no-obj-calls": 2,
107
+    "no-octal": 2,
108
+    "no-param-reassign": 2,
109
+    "no-process-env": 2,
110
+    "no-proto": 2,
111
+    "no-redeclare": 2,
112
+    "no-regex-spaces": 2,
113
+    "no-script-url": 2,
114
+    "no-self-compare": 2,
115
+    "no-sequences": 2,
116
+    "no-spaced-func": 2,
117
+    "no-sparse-arrays": 2,
118
+    "no-this-before-super": 2,
119
+    "no-throw-literal": 2,
120
+    "no-trailing-spaces": 2,
121
+    "no-undefined": 2,
122
+    "no-underscore-dangle": 2,
123
+    "no-unexpected-multiline": 2,
124
+    "no-unneeded-ternary": 2,
125
+    "no-unreachable": 2,
126
+    "no-unused-expressions": 2,
127
+    "no-unused-vars": 2,
128
+    "no-useless-call": 2,
129
+    "no-var": 2,
130
+    "no-void": 2,
131
+    "no-with": 2,
132
+    "object-curly-spacing": [2, "always", { "objectsInObjects": true }],
133
+    "object-shorthand": 2,
134
+    "operator-linebreak": [2, "after"],
135
+    "padded-blocks": [2, "never"],
136
+    "prefer-arrow-callback": 2,
137
+    "prefer-spread": 2,
138
+    "prefer-template": 2,
139
+    "quotes": [2, "single", "avoid-escape"],
140
+    "radix": 2,
141
+    "react/display-name": 2,
142
+    "react/jsx-boolean-value": 2,
143
+    "react/jsx-closing-bracket-location": 2,
144
+    "react/jsx-curly-spacing": 2,
145
+    "react/jsx-indent-props": [2, 2],
146
+    "react/jsx-max-props-per-line": 2,
147
+    "react/jsx-no-duplicate-props": 2,
148
+    "react/jsx-no-undef": 2,
149
+    "react/jsx-sort-prop-types": 2,
150
+    "react/jsx-sort-props": 2,
151
+    "react/jsx-uses-react": 2,
152
+    "react/jsx-uses-vars": 2,
153
+    "react/no-danger": 2,
154
+    "react/no-did-mount-set-state": [2, 'allow-in-func'],
155
+    "react/no-did-update-set-state": 2,
156
+    "react/no-direct-mutation-state": 2,
157
+    "react/no-multi-comp": 2,
158
+    "react/no-unknown-property": 2,
159
+    "react/prop-types": 2,
160
+    "react/react-in-jsx-scope": 2,
161
+    "react/require-extension": 2,
162
+    "react/self-closing-comp": 2,
163
+    "react/sort-comp": 2,
164
+    "react/wrap-multilines": 2,
165
+    "require-yield": 2,
166
+    "semi": 2,
167
+    "semi-spacing": [2, { "before": false, "after": true }],
168
+    "space-after-keywords": [2, "always"],
169
+    "space-before-blocks": [2, "always"],
170
+    "space-before-function-paren": [2, "never"],
171
+    "space-in-parens": [2, "never"],
172
+    "space-infix-ops": 2,
173
+    "space-return-throw-case": 2,
174
+    "space-unary-ops": [2, { "words": true, "nonwords": false }],
175
+    "spaced-comment": 2,
176
+    "use-isnan": 2,
177
+    "valid-typeof": 2,
178
+    "vars-on-top": 2,
179
+    "wrap-iife": 2
180
+  }
181
+}

+ 2
- 0
glih/.npmignore 파일 보기

@@ -0,0 +1,2 @@
1
+node_modules/
2
+private/

+ 6
- 0
glih/app/index.js 파일 보기

@@ -0,0 +1,6 @@
1
+import React from 'react';
2
+import { render } from 'react-dom';
3
+
4
+window.addEventListener('load', () => {
5
+  render(<h2>Welcome to React!</h2>, document.getElementById('App'));
6
+});

+ 38
- 0
glih/package.json 파일 보기

@@ -0,0 +1,38 @@
1
+{
2
+  "private": true,
3
+  "scripts": {
4
+    "build": "webpack --optimize-minimize -p",
5
+    "lint": "node node_modules/eslint/bin/eslint.js app",
6
+    "sync": "npm install; npm prune",
7
+    "test": "jest",
8
+    "watch": "webpack --progress --watch"
9
+  },
10
+  "dependencies": {
11
+    "babel-core": "~6.9",
12
+    "babel-loader": "~6.2",
13
+    "babel-preset-es2015": "~6.9",
14
+    "babel-preset-react": "~6.5",
15
+    "css-loader": "~0.23",
16
+    "node-sass": "~3.7",
17
+    "react": "~15.1",
18
+    "react-dom": "~15.1",
19
+    "sass-loader": "~3.2",
20
+    "style-loader": "~0.13",
21
+    "webpack": "~1.13"
22
+  },
23
+  "devDependencies": {
24
+    "babel-jest": "~12.1",
25
+    "eslint": "~2.11",
26
+    "eslint-plugin-react": "~5.1",
27
+    "jest-cli": "~12.1",
28
+    "react-addons-test-utils": "~15.1"
29
+  },
30
+  "jest": {
31
+    "scriptPreprocessor": "<rootDir>/node_modules/babel-jest",
32
+    "unmockedModulePathPatterns": [
33
+      "react",
34
+      "react-addons-test-utils",
35
+      "react-dom"
36
+    ]
37
+  }
38
+}

+ 19945
- 0
glih/public/application.js
파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
파일 보기


+ 12
- 0
glih/public/index.html 파일 보기

@@ -0,0 +1,12 @@
1
+<!DOCTYPE html>
2
+<html>
3
+  <head>
4
+    <meta charset="utf-8" />
5
+    <meta name="viewport" content="initial-scale=1, width=device-width" />
6
+    <title>React Application</title>
7
+    <script src="application.js"></script>
8
+  </head>
9
+  <body>
10
+    <div id="App"></div>
11
+  </body>
12
+</html>

+ 43
- 0
glih/webpack.config.js 파일 보기

@@ -0,0 +1,43 @@
1
+var webpack = require('webpack');
2
+
3
+module.exports = {
4
+  entry: './app/index',
5
+
6
+  module: {
7
+    loaders: [
8
+      {
9
+        include: /app/,
10
+        loader: 'babel',
11
+        test: /\.js$/
12
+      },
13
+      {
14
+        include: /app/,
15
+        loaders: ['style', 'css', 'sass'],
16
+        test: /\.scss$/
17
+      }
18
+    ]
19
+  },
20
+
21
+  output: {
22
+    filename: 'application.js',
23
+    path: './public'
24
+  },
25
+
26
+  plugins: [
27
+    new webpack.DefinePlugin({
28
+      'process.env': {
29
+        NODE_ENV: '"production"'
30
+      }
31
+    })
32
+  ],
33
+
34
+  resolve: {
35
+    extensions: ['', '.js'],
36
+    modulesDirectories: ['app', 'node_modules'],
37
+    root: __dirname
38
+  },
39
+
40
+  sassLoader: {
41
+    includePaths: ['app']
42
+  }
43
+};

+ 14
- 0
index.html 파일 보기

@@ -0,0 +1,14 @@
1
+<!DOCTYPE html>
2
+<html>
3
+  <head>
4
+    <meta charset="UTF-8">
5
+    <title>Glih</title>
6
+    <link rel="stylesheet" href="src/reset.css">
7
+    <link rel="stylesheet" href="src/glih.css">
8
+    <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
9
+  </head>
10
+  <body>
11
+    <div id="app"></div>
12
+    <script type="text/javascript" src="build/app.js"></script>
13
+  </body>
14
+</html>

+ 50
- 0
main.js 파일 보기

@@ -0,0 +1,50 @@
1
+const {app, BrowserWindow} = require('electron')
2
+
3
+let win
4
+
5
+function createWindow () {
6
+  // Create the browser window.
7
+  win = new BrowserWindow({
8
+    width: 800,
9
+    height: 600
10
+  })
11
+
12
+  // and load the index.html of the app.
13
+  win.loadURL(`file://${__dirname}/index.html`)
14
+
15
+  // Open the DevTools.
16
+  win.webContents.openDevTools()
17
+
18
+  // Emitted when the window is closed.
19
+  win.on('closed', () => {
20
+    // Dereference the window object, usually you would store windows
21
+    // in an array if your app supports multi windows, this is the time
22
+    // when you should delete the corresponding element.
23
+    win = null
24
+  })
25
+}
26
+
27
+// This method will be called when Electron has finished
28
+// initialization and is ready to create browser windows.
29
+// Some APIs can only be used after this event occurs.
30
+app.on('ready', createWindow)
31
+
32
+// Quit when all windows are closed.
33
+app.on('window-all-closed', () => {
34
+  // On macOS it is common for applications and their menu bar
35
+  // to stay active until the user quits explicitly with Cmd + Q
36
+  if (process.platform !== 'darwin') {
37
+    app.quit()
38
+  }
39
+})
40
+
41
+app.on('activate', () => {
42
+  // On macOS it's common to re-create a window in the app when the
43
+  // dock icon is clicked and there are no other windows open.
44
+  if (win === null) {
45
+    createWindow()
46
+  }
47
+})
48
+
49
+// In this file you can include the rest of your app's specific main process
50
+// code. You can also put them in separate files and require them here.

+ 19
- 2
package.json 파일 보기

@@ -2,9 +2,12 @@
2 2
   "name": "glih",
3 3
   "version": "1.0.0",
4 4
   "description": "javascript version of epitech's blih utility",
5
-  "main": "blih.js",
5
+  "main": "main.js",
6 6
   "scripts": {
7
-    "test": "echo \"Error: no test specified\" && exit 1"
7
+    "glih": "blih.js",
8
+    "watch": "webpack --progress --watch",
9
+    "build": "webpack --optimize-minimize -p",
10
+    "run": "electron ."
8 11
   },
9 12
   "bin": {
10 13
     "glih": "blih.js"
@@ -18,8 +21,22 @@
18 21
   "dependencies": {
19 22
     "commander": "^2.9.0",
20 23
     "json-stable-stringify": "^1.0.1",
24
+    "material-ui": "^0.16.0",
21 25
     "prompt-sync": "^4.1.4",
26
+    "react": "^15.3.2",
27
+    "react-dom": "^15.3.2",
28
+    "react-tap-event-plugin": "^1.0.0",
22 29
     "request": "^2.75.0",
23 30
     "utf8": "^2.1.1"
31
+  },
32
+  "devDependencies": {
33
+    "babel-preset-es2015": "^6.16.0",
34
+    "babel-preset-react": "^6.16.0"
35
+  },
36
+  "babel": {
37
+    "presets": [
38
+      "es2015",
39
+      "react"
40
+    ]
24 41
   }
25 42
 }

+ 17
- 0
src/WinBar.js 파일 보기

@@ -0,0 +1,17 @@
1
+var React = require('react');
2
+import AppBar from 'material-ui/AppBar';
3
+import IconButton from 'material-ui/IconButton';
4
+
5
+export class WinBar extends React.Component {
6
+  render() {
7
+    return (
8
+      <AppBar
9
+        title="Glih"
10
+        showMenuIconButton={false}
11
+        iconElementRight={
12
+            <IconButton iconClassName="material-icons">close</IconButton>
13
+        }
14
+      />
15
+    );
16
+  }
17
+}

+ 27
- 0
src/app.js 파일 보기

@@ -0,0 +1,27 @@
1
+var React = require('react');
2
+var ReactDOM = require('react-dom');
3
+import injectTapEventPlugin from 'react-tap-event-plugin';
4
+import darkBaseTheme from 'material-ui/styles/baseThemes/darkBaseTheme';
5
+import getMuiTheme from 'material-ui/styles/getMuiTheme';
6
+import {darkBlack} from 'material-ui/styles/colors';
7
+import MuiThemeProvider from 'material-ui/styles/MuiThemeProvider';
8
+import WinBar from './WinBar';
9
+
10
+injectTapEventPlugin();
11
+
12
+var theme = getMuiTheme({
13
+  palette: {
14
+    primary1Color: darkBlack
15
+  }
16
+});
17
+
18
+const App = () => (
19
+  <MuiThemeProvider muiTheme={theme}>
20
+    
21
+  </MuiThemeProvider>
22
+);
23
+
24
+ReactDOM.render(
25
+  <App />,
26
+  document.getElementById('app')
27
+);

+ 7
- 0
src/glih.css 파일 보기

@@ -0,0 +1,7 @@
1
+.material-icons.md-light { color: rgba(255, 255, 255, 1); }
2
+.material-icons.md-light.md-inactive { color: rgba(255, 255, 255, 0.3); }
3
+
4
+body {
5
+    background-color: #424242;
6
+}
7
+

+ 48
- 0
src/reset.css 파일 보기

@@ -0,0 +1,48 @@
1
+/* http://meyerweb.com/eric/tools/css/reset/ 
2
+   v2.0 | 20110126
3
+   License: none (public domain)
4
+*/
5
+
6
+html, body, div, span, applet, object, iframe,
7
+h1, h2, h3, h4, h5, h6, p, blockquote, pre,
8
+a, abbr, acronym, address, big, cite, code,
9
+del, dfn, em, img, ins, kbd, q, s, samp,
10
+small, strike, strong, sub, sup, tt, var,
11
+b, u, i, center,
12
+dl, dt, dd, ol, ul, li,
13
+fieldset, form, label, legend,
14
+table, caption, tbody, tfoot, thead, tr, th, td,
15
+article, aside, canvas, details, embed, 
16
+figure, figcaption, footer, header, hgroup, 
17
+menu, nav, output, ruby, section, summary,
18
+time, mark, audio, video {
19
+	margin: 0;
20
+	padding: 0;
21
+	border: 0;
22
+	font-size: 100%;
23
+	font: inherit;
24
+	vertical-align: baseline;
25
+}
26
+/* HTML5 display-role reset for older browsers */
27
+article, aside, details, figcaption, figure, 
28
+footer, header, hgroup, menu, nav, section {
29
+	display: block;
30
+}
31
+body {
32
+	line-height: 1;
33
+}
34
+ol, ul {
35
+	list-style: none;
36
+}
37
+blockquote, q {
38
+	quotes: none;
39
+}
40
+blockquote:before, blockquote:after,
41
+q:before, q:after {
42
+	content: '';
43
+	content: none;
44
+}
45
+table {
46
+	border-collapse: collapse;
47
+	border-spacing: 0;
48
+}