about summary refs log tree commit diff
diff options
context:
space:
mode:
authorKai Schaper <303@posteo.de>2016-10-11 03:21:06 +0200
committerKai Schaper <303@posteo.de>2016-10-11 20:19:03 +0200
commit71e7537330596adbaa5521c0515e03f701ec7ef9 (patch)
tree0cbcba59f67c6c0733704b1e02f7bb1c0d14ad1e
parent77efdfa1104a77061f014bbc84268028597620cb (diff)
setup React Storybook; add example story for LoadingIndicator component
-rw-r--r--.nvmrc1
-rw-r--r--package.json12
-rw-r--r--storybook/config.js14
-rw-r--r--storybook/stories/loading_indicator.story.jsx6
4 files changed, 29 insertions, 4 deletions
diff --git a/.nvmrc b/.nvmrc
new file mode 100644
index 000000000..f0e13c509
--- /dev/null
+++ b/.nvmrc
@@ -0,0 +1 @@
+6.7.0
diff --git a/package.json b/package.json
index 1ea514e1f..12efbcf8c 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,11 @@
 {
   "name": "mastodon",
+  "scripts": {
+    "storybook": "start-storybook -p 9001 -c storybook"
+  },
   "devDependencies": {
+    "@kadira/storybook": "^2.24.0",
+    "axios": "^0.14.0",
     "babel-plugin-react-transform": "^2.0.2",
     "babel-plugin-transform-object-rest-spread": "^6.8.0",
     "babel-preset-es2015": "^6.13.2",
@@ -8,17 +13,16 @@
     "babelify": "^7.3.0",
     "browserify": "^13.1.0",
     "browserify-incremental": "^3.1.1",
-    "react": "^15.3.0",
-    "react-dom": "^15.3.0",
-    "react-proxy": "^1.1.8",
-    "axios": "^0.14.0",
     "es6-promise": "^3.2.1",
     "immutable": "^3.8.1",
     "moment": "^2.14.1",
+    "react": "^15.3.0",
     "react-addons-perf": "^15.3.2",
     "react-addons-pure-render-mixin": "^15.3.1",
+    "react-dom": "^15.3.0",
     "react-immutable-proptypes": "^2.1.0",
     "react-notification": "^6.1.1",
+    "react-proxy": "^1.1.8",
     "react-redux": "^5.0.0-beta.3",
     "react-redux-loading-bar": "^2.3.3",
     "react-router": "^2.8.0",
diff --git a/storybook/config.js b/storybook/config.js
new file mode 100644
index 000000000..a14e75e0c
--- /dev/null
+++ b/storybook/config.js
@@ -0,0 +1,14 @@
+import { configure } from '@kadira/storybook';
+import React from 'react';
+import { storiesOf, action } from '@kadira/storybook';
+
+window.storiesOf = storiesOf;
+window.action = action;
+window.React = React;
+
+function loadStories () {
+  require('./stories/loading_indicator.story.jsx');
+  // You can require as many stories as you need.
+}
+
+configure(loadStories, module);
diff --git a/storybook/stories/loading_indicator.story.jsx b/storybook/stories/loading_indicator.story.jsx
new file mode 100644
index 000000000..d169e4f55
--- /dev/null
+++ b/storybook/stories/loading_indicator.story.jsx
@@ -0,0 +1,6 @@
+import LoadingIndicator from '../../app/assets/javascripts/components/components/loading_indicator.jsx'
+
+storiesOf('LoadingIndicator', module)
+  .add('default state', () => (
+    <LoadingIndicator />
+  ));