From 7eea28231978c6cfb6d413a6881ee1c6dd09c8bd Mon Sep 17 00:00:00 2001 From: Jen Kagan Date: Wed, 2 Nov 2016 18:06:10 -0400 Subject: [PATCH 1/4] add name generator lib --- client/modules/IDE/actions/project.js | 3 +++ package.json | 1 + 2 files changed, 4 insertions(+) diff --git a/client/modules/IDE/actions/project.js b/client/modules/IDE/actions/project.js index 8e2fc4f3f8..776f793b48 100644 --- a/client/modules/IDE/actions/project.js +++ b/client/modules/IDE/actions/project.js @@ -3,6 +3,9 @@ import { browserHistory } from 'react-router'; import axios from 'axios'; import { showToast, setToastText } from './toast'; import { setUnsavedChanges, justOpenedProject, resetJustOpenedProject } from './ide'; +const generate = require('project-name-generator'); +// where does this go? +generate({ words: 2, alliterative: true }).spaced; const ROOT_URL = location.href.indexOf('localhost') > 0 ? 'http://localhost:8000/api' : '/api'; diff --git a/package.json b/package.json index 8f676f2b39..aede7bb934 100644 --- a/package.json +++ b/package.json @@ -91,6 +91,7 @@ "passport": "^0.3.2", "passport-github": "^1.1.0", "passport-local": "^1.0.0", + "project-name-generator": "^2.1.3", "react": "^15.0.2", "react-dom": "^15.0.2", "react-inlinesvg": "^0.4.2", From 0fc5a348d4fcc1601c1b534a0646121c777eef00 Mon Sep 17 00:00:00 2001 From: Jen Kagan Date: Thu, 3 Nov 2016 21:35:10 -0400 Subject: [PATCH 2/4] update reducers --- client/modules/IDE/actions/project.js | 3 --- client/modules/IDE/reducers/project.js | 5 ++++- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/client/modules/IDE/actions/project.js b/client/modules/IDE/actions/project.js index 776f793b48..8e2fc4f3f8 100644 --- a/client/modules/IDE/actions/project.js +++ b/client/modules/IDE/actions/project.js @@ -3,9 +3,6 @@ import { browserHistory } from 'react-router'; import axios from 'axios'; import { showToast, setToastText } from './toast'; import { setUnsavedChanges, justOpenedProject, resetJustOpenedProject } from './ide'; -const generate = require('project-name-generator'); -// where does this go? -generate({ words: 2, alliterative: true }).spaced; const ROOT_URL = location.href.indexOf('localhost') > 0 ? 'http://localhost:8000/api' : '/api'; diff --git a/client/modules/IDE/reducers/project.js b/client/modules/IDE/reducers/project.js index efca305b56..e4b3f54365 100644 --- a/client/modules/IDE/reducers/project.js +++ b/client/modules/IDE/reducers/project.js @@ -1,7 +1,10 @@ import * as ActionTypes from '../../../constants'; +const generate = require('project-name-generator'); + +const generatedName = generate({ words: 2 }).dashed; const initialState = { - name: 'Hello p5.js' + name: `${generatedName}` }; const project = (state = initialState, action) => { From 651b19cb90c41a012cb803bba38a6c63eec593cf Mon Sep 17 00:00:00 2001 From: Jen Kagan Date: Wed, 16 Nov 2016 16:09:34 -0500 Subject: [PATCH 3/4] make initialState a function --- client/modules/IDE/reducers/files.js | 4 ++-- client/modules/IDE/reducers/project.js | 21 +++++++++++++-------- 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/client/modules/IDE/reducers/files.js b/client/modules/IDE/reducers/files.js index f07727e06d..8c4c057b7a 100644 --- a/client/modules/IDE/reducers/files.js +++ b/client/modules/IDE/reducers/files.js @@ -32,7 +32,7 @@ const defaultCSS = } `; -function initialState() { +const initialState = () => { const a = objectID().toHexString(); const b = objectID().toHexString(); const c = objectID().toHexString(); @@ -70,7 +70,7 @@ function initialState() { fileType: 'file', children: [] }]; -} +}; function getAllDescendantIds(state, nodeId) { return state.find(file => file.id === nodeId).children diff --git a/client/modules/IDE/reducers/project.js b/client/modules/IDE/reducers/project.js index e4b3f54365..2b21e08094 100644 --- a/client/modules/IDE/reducers/project.js +++ b/client/modules/IDE/reducers/project.js @@ -1,13 +1,18 @@ import * as ActionTypes from '../../../constants'; -const generate = require('project-name-generator'); +import generate from 'project-name-generator'; -const generatedName = generate({ words: 2 }).dashed; +function initialState() { + const generatedString = generate({ words: 2 }).spaced; + const generatedName = generatedString.charAt(0).toUpperCase() + generatedString.slice(1); + return { + name: generatedName + }; +} -const initialState = { - name: `${generatedName}` -}; - -const project = (state = initialState, action) => { +const project = (state, action) => { + if (state === undefined) { + state = initialState(); // eslint-disable-line + } switch (action.type) { case ActionTypes.SET_PROJECT_NAME: return Object.assign({}, { ...state }, { name: action.name }); @@ -24,7 +29,7 @@ const project = (state = initialState, action) => { owner: action.owner }; case ActionTypes.RESET_PROJECT: - return initialState; + return initialState(); case ActionTypes.SHOW_EDIT_PROJECT_NAME: return Object.assign({}, state, { isEditingName: true }); case ActionTypes.HIDE_EDIT_PROJECT_NAME: From bdcbb48a70c4b89dde671fcebff5292259c8f1b3 Mon Sep 17 00:00:00 2001 From: Jen Kagan Date: Wed, 16 Nov 2016 16:15:44 -0500 Subject: [PATCH 4/4] update initialState function --- client/modules/IDE/reducers/project.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/client/modules/IDE/reducers/project.js b/client/modules/IDE/reducers/project.js index 2b21e08094..7d4df05eae 100644 --- a/client/modules/IDE/reducers/project.js +++ b/client/modules/IDE/reducers/project.js @@ -1,13 +1,13 @@ import * as ActionTypes from '../../../constants'; import generate from 'project-name-generator'; -function initialState() { +const initialState = () => { const generatedString = generate({ words: 2 }).spaced; const generatedName = generatedString.charAt(0).toUpperCase() + generatedString.slice(1); return { name: generatedName }; -} +}; const project = (state, action) => { if (state === undefined) {