diff --git a/.babelrc b/.babelrc index 40d73dbe4..932edc943 100644 --- a/.babelrc +++ b/.babelrc @@ -10,7 +10,9 @@ "transform-class-properties", // { ...todo, completed: true } "transform-object-rest-spread", + // embeds the react tag name into the component "transform-react-display-name", + // these two together prevent us from defining the helpers in every module "external-helpers", "transform-runtime", // turns `import {sum} from 'lodash'` diff --git a/.webpackrc.js b/.webpackrc.js index f3668013e..d571236fa 100644 --- a/.webpackrc.js +++ b/.webpackrc.js @@ -41,7 +41,7 @@ const config = { replace: null, port: 3000, // for webpack-dev-server - stats: {}, + stats: {colors: false}, entry: { main: ['./src/index.js'], @@ -64,9 +64,17 @@ const config = { }, devServer: { - // If these are enabled, then historyApiFallback doesn't work. + // If `info` is enabled, then historyApiFallback doesn't work. // info: false, - // stats: 'errors-only', + stats: { + colors: false, + assets: false, + version: false, + hash: false, + timings: false, + chunks: false, + chunkModules: false, + }, contentBase: outputFolder, // Makes webpack serve /index.html as the response to any request to diff --git a/README.md b/README.md index 97b535bb8..7ad1fb74c 100644 --- a/README.md +++ b/README.md @@ -3,13 +3,13 @@ [![Build Status](https://travis-ci.org/hawkrives/gobbldygook.svg?branch=master)](https://travis-ci.org/hawkrives/gobbldygook) [![Code Coverage](https://coveralls.io/repos/hawkrives/gobbldygook/badge.svg?branch=master&service=github)](https://coveralls.io/github/hawkrives/gobbldygook?branch=master) -This is a course scheduler for students at St. Olaf College. You give it your areas of study (majors, concentrations, degrees), the courses you *have* taken and are *planning* on taking, and it tells you if you can graduate or not. +This is a course scheduler for students at St. Olaf College. You give it your areas of study (majors, concentrations, degrees), the courses you *have* taken and are *planning* to take, and it tells you if you can graduate or not. We have a [trello board](https://trello.com/b/cviTwkre) where we track which areas of study we are working on; if you have one in particular that you want us to work on next, let us know by either voting on the Trello card or emailing us! ## Playing -1. Visit https://stolaf.edu/people/rives/g +1. Visit https://hawkrives.github.io/gobbldygook – Gobbldygook currently supports every major browser, except for Safari (so Chrome, Firefox, Internet Explorer 11, and Microsoft Edge). (Addendum: IE support is currently broken. Unsure why. It's on the TODO list.) – Let's just say that Safari's database support is … a bit lacking. – On iOS devices, every browser is required to use Safari internally, which means that Chrome, Opera, and Safari on iOS all have the same terrible database support. @@ -23,7 +23,7 @@ We have a [trello board](https://trello.com/b/cviTwkre) where we track which are ## Hacking -- Prerequisites: [node.js](https://nodejs.org) and [git](https://git-scm.com). +- Prerequisites: [node.js, at least v6](https://nodejs.org) and [git](https://git-scm.com). - `git clone https://github.com/hawkrives/gobbldygook.git` - `cd gobbldygook` - `npm install` @@ -33,7 +33,7 @@ You can see additional commands by executing `npm run` with no arguments. ## Support -You can file an issue via [github](https://github.com/hawkrives/gobbldygook/issues/), or you can send us an email, if you look us up on Stalkernet. +You can file an issue via [github](https://github.com/hawkrives/gobbldygook/issues/), or you can send an email to the email listed on my Github profile. ## Credits @@ -41,18 +41,13 @@ You can file an issue via [github](https://github.com/hawkrives/gobbldygook/issu - Final project for Software Design, @hawkrives and @xandrasings - So much of the internet. - Teammate for January 2015: @drewvolz -- Professor Hanson, for agreeing to be our advisor over Interim +- Professor Hanson, for agreeing to be our advisor over Interim 2014 -## Screenshot +## Screenshots ### 2015 – September ![Screenshot, september 2015](./screenshots/september-2015.png) ### 2014 - September ![Screenshot, september 2014](./screenshots/september-2014.png) - - -## Misc. - -- The svg sprite in /src/static was generated by `svg-sprite-generate -d src/icons/ionicons/ -o src/static/ionicons.svg` diff --git a/package.json b/package.json index 6d075ba46..960652dc1 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,7 @@ "author": "Hawken MacKay Rives", "license": "MIT", "scripts": { - "build": "cross-env NODE_ENV=production webpack --config .webpackrc.js --bail --production --progress", + "build": "npm run copy && cross-env NODE_ENV=production webpack --config .webpackrc.js --bail --production --progress", "build-ci": "npm run build -- --no-progress", "build-dev": "cross-env NODE_ENV=development webpack --config .webpackrc.js --bail --progress --devtool=source-map", "build-peg": "pegjs < src/area-tools/parse-hanson-string.pegjs | ./scripts/babel-stdin.js | js-beautify -f - --end-with-newline --indent-with-tabs > src/area-tools/parse-hanson-string.js", @@ -18,11 +18,9 @@ "coveralls": "nyc report --reporter=text-lcov | coveralls", "deploy": "bash scripts/deploy.sh", "lint": "eslint *.js bin/ scripts/ src/ test/", - "prebuild": "npm run copy", - "prestart": "npm run copy", "profile": "cat profile/README.md", "serve-production": "cross-env NODE_ENV=production webpack-dev-server --config .webpackrc.js --progress", - "start": "cross-env NODE_ENV=development webpack-dev-server --config .webpackrc.js --progress", + "start": "npm run copy && cross-env NODE_ENV=development webpack-dev-server --config .webpackrc.js --progress", "stats": "cross-env NODE_ENV=production npm run stats-base", "stats-base": "webpack --config .webpackrc.js --bail --profile --json > stats.json && echo 'open http://webpack.github.io/analyse/'", "stats-dev": "cross-env NODE_ENV=development npm run stats-base", diff --git a/src/containers/app.js b/src/containers/app.js index 0f7590736..8bbd93b61 100644 --- a/src/containers/app.js +++ b/src/containers/app.js @@ -26,7 +26,7 @@ App.propTypes = { overlay: PropTypes.node, } -import StudentPicker from '../routes/app_content_student-picker/containers/student-picker' +import StudentPicker from '../routes/index/containers/student-picker' App.defaultProps = { content: , } diff --git a/src/index.js b/src/index.js index b8e486155..f37e9f9bf 100644 --- a/src/index.js +++ b/src/index.js @@ -1,5 +1,3 @@ -/* globals module */ - // Set up the default promise implementation as Bluebird import Bluebird from 'bluebird' Bluebird.config({ diff --git a/src/routes/app_content_student/containers/blank.js b/src/routes/app_content_student/containers/blank.js deleted file mode 100644 index b6ecd8b88..000000000 --- a/src/routes/app_content_student/containers/blank.js +++ /dev/null @@ -1,3 +0,0 @@ -import React from 'react' - -export default () =>
Hi
diff --git a/src/routes/app_content_student/index.js b/src/routes/app_content_student/index.js deleted file mode 100644 index 93365eb30..000000000 --- a/src/routes/app_content_student/index.js +++ /dev/null @@ -1,25 +0,0 @@ -export default { - path: 's/:studentId', - - getIndexRoute(location, cb) { - require.ensure([], () => { - cb(null, require('../student_content_course-table').default) - }, 'student.index') - }, - - getChildRoutes(state, cb) { - require.ensure([], () => { - cb(null, [ - require('../student_overlay_share').default, // share - require('../student_sidebar_search').default, // search - require('../student_content_semester-detail').default, // :year/:term - ]) - }, 'student.routes') - }, - - getComponents(location, cb) { - require.ensure([], () => { - cb(null, {content: require('./containers/student').default}) - }, 'student.components') - }, -} diff --git a/src/routes/app_content_new-student/components/screen-toolbar.js b/src/routes/create/components/screen-toolbar.js similarity index 79% rename from src/routes/app_content_new-student/components/screen-toolbar.js rename to src/routes/create/components/screen-toolbar.js index 0940459c0..8c8f5a12f 100644 --- a/src/routes/app_content_new-student/components/screen-toolbar.js +++ b/src/routes/create/components/screen-toolbar.js @@ -1,7 +1,7 @@ import React, {PropTypes} from 'react' -import Button from '../../../components/button' -import Toolbar from '../../../components/toolbar' +import Button from 'src/components/button' +import Toolbar from 'src/components/toolbar' export default function ScreenToolbar({onNext, onBack}) { return ( diff --git a/src/routes/app_content_new-student/containers/new-student.js b/src/routes/create/containers/new-student.js similarity index 100% rename from src/routes/app_content_new-student/containers/new-student.js rename to src/routes/create/containers/new-student.js diff --git a/src/routes/app_content_new-student/containers/new-student.scss b/src/routes/create/containers/new-student.scss similarity index 100% rename from src/routes/app_content_new-student/containers/new-student.scss rename to src/routes/create/containers/new-student.scss diff --git a/src/routes/app_content_new-student/index.js b/src/routes/create/index.js similarity index 56% rename from src/routes/app_content_new-student/index.js rename to src/routes/create/index.js index c34c45d66..ba2cac66d 100644 --- a/src/routes/app_content_new-student/index.js +++ b/src/routes/create/index.js @@ -6,14 +6,12 @@ export default { }, 'new-student.index') }, getChildRoutes(location, cb) { - require.ensure([], () => { - cb(null, [ - require('./routes/sis').default, // create/sis - require('./routes/manual').default, // create/manual - require('./routes/drive').default, // create/drive - require('./routes/upload').default, // create/upload - ]) - }, 'new-student.routes') + cb(null, [ + require('./routes/sis').default, // create/sis + require('./routes/manual').default, // create/manual + require('./routes/drive').default, // create/drive + require('./routes/upload').default, // create/upload + ]) }, getComponents(location, cb) { require.ensure([], () => { diff --git a/src/routes/app_content_new-student/methods.js b/src/routes/create/methods.js similarity index 100% rename from src/routes/app_content_new-student/methods.js rename to src/routes/create/methods.js diff --git a/src/routes/app_content_new-student/routes/drive/drive.js b/src/routes/create/routes/drive/drive.js similarity index 100% rename from src/routes/app_content_new-student/routes/drive/drive.js rename to src/routes/create/routes/drive/drive.js diff --git a/src/routes/app_content_new-student/routes/drive/index.js b/src/routes/create/routes/drive/index.js similarity index 100% rename from src/routes/app_content_new-student/routes/drive/index.js rename to src/routes/create/routes/drive/index.js diff --git a/src/routes/app_content_new-student/routes/manual/index.js b/src/routes/create/routes/manual/index.js similarity index 100% rename from src/routes/app_content_new-student/routes/manual/index.js rename to src/routes/create/routes/manual/index.js diff --git a/src/routes/app_content_new-student/routes/manual/manual.js b/src/routes/create/routes/manual/manual.js similarity index 96% rename from src/routes/app_content_new-student/routes/manual/manual.js rename to src/routes/create/routes/manual/manual.js index 3b561eb4f..1ffa4c427 100644 --- a/src/routes/app_content_new-student/routes/manual/manual.js +++ b/src/routes/create/routes/manual/manual.js @@ -1,5 +1,5 @@ import React, {Component, PropTypes} from 'react' -import Button from '../../../../components/button' +import Button from 'src/components/button' import cx from 'classnames' import Autosize from 'react-input-autosize' import Select from 'react-select' @@ -8,8 +8,8 @@ import withRouter from 'react-router/lib/withRouter' import map from 'lodash/map' import filter from 'lodash/filter' import 'react-select/dist/react-select.css' -import { initStudent } from '../../../../redux/students/actions/init-student' -import filterAreaList from '../../../../helpers/filter-area-list' +import { initStudent } from 'src/redux/students/actions/init-student' +import filterAreaList from 'src/helpers/filter-area-list' import './manual.scss' diff --git a/src/routes/app_content_new-student/routes/manual/manual.scss b/src/routes/create/routes/manual/manual.scss similarity index 92% rename from src/routes/app_content_new-student/routes/manual/manual.scss rename to src/routes/create/routes/manual/manual.scss index 7c4955a67..4e4072229 100644 --- a/src/routes/app_content_new-student/routes/manual/manual.scss +++ b/src/routes/create/routes/manual/manual.scss @@ -1,4 +1,4 @@ -@import '../../../../styles/variables.scss'; +@import 'src/styles/variables.scss'; .manual .autosize-input > input { border: 0; diff --git a/src/routes/app_content_new-student/routes/sis/index.js b/src/routes/create/routes/sis/index.js similarity index 100% rename from src/routes/app_content_new-student/routes/sis/index.js rename to src/routes/create/routes/sis/index.js diff --git a/src/routes/app_content_new-student/routes/sis/sis-import.js b/src/routes/create/routes/sis/sis-import.js similarity index 88% rename from src/routes/app_content_new-student/routes/sis/sis-import.js rename to src/routes/create/routes/sis/sis-import.js index a341fe354..8cc153697 100644 --- a/src/routes/app_content_new-student/routes/sis/sis-import.js +++ b/src/routes/create/routes/sis/sis-import.js @@ -1,15 +1,15 @@ import React, {Component, PropTypes} from 'react' import serializeError from 'serialize-error' -import Button from '../../../../components/button' -import getStudentInfo, {checkIfLoggedIn} from '../../../../helpers/import-student' -import convertStudent from '../../../../helpers/convert-imported-student' -import StudentSummary from '../../../../routes/app_content_student/components/student-summary' +import Button from 'src/components/button' +import getStudentInfo, {checkIfLoggedIn} from 'src/helpers/import-student' +import convertStudent from 'src/helpers/convert-imported-student' +import StudentSummary from 'src/routes/student/components/student-summary' import map from 'lodash/map' import groupBy from 'lodash/groupBy' import sortBy from 'lodash/sortBy' -import semesterName from '../../../../helpers/semester-name' +import semesterName from 'src/helpers/semester-name' import { RadioGroup, Radio } from 'react-radio-group' -import { initStudent } from '../../../../redux/students/actions/init-student' +import { initStudent } from 'src/redux/students/actions/init-student' import { connect } from 'react-redux' import withRouter from 'react-router/lib/withRouter' diff --git a/src/routes/app_content_new-student/routes/upload/index.js b/src/routes/create/routes/upload/index.js similarity index 100% rename from src/routes/app_content_new-student/routes/upload/index.js rename to src/routes/create/routes/upload/index.js diff --git a/src/routes/app_content_new-student/routes/upload/upload-file.js b/src/routes/create/routes/upload/upload-file.js similarity index 91% rename from src/routes/app_content_new-student/routes/upload/upload-file.js rename to src/routes/create/routes/upload/upload-file.js index 74dab86b1..94e83c307 100644 --- a/src/routes/app_content_new-student/routes/upload/upload-file.js +++ b/src/routes/create/routes/upload/upload-file.js @@ -1,10 +1,11 @@ import React, {Component, PropTypes} from 'react' import DropZone from 'react-dropzone' import map from 'lodash/map' -import Button from '../../../../components/button' -import List from '../../../../components/list' -import StudentSummary from '../../../../routes/app_content_student/components/student-summary' -import { initStudent } from '../../../../redux/students/actions/init-student' +import Button from 'src/components/button' +import List from 'src/components/list' +// TODO: Move this component to src/components +import StudentSummary from 'src/routes/student/components/student-summary' +import { initStudent } from 'src/redux/students/actions/init-student' import withRouter from 'react-router/lib/withRouter' import { connect } from 'react-redux' diff --git a/src/routes/app_content_new-student/routes/upload/upload-file.scss b/src/routes/create/routes/upload/upload-file.scss similarity index 100% rename from src/routes/app_content_new-student/routes/upload/upload-file.scss rename to src/routes/create/routes/upload/upload-file.scss diff --git a/src/routes/app_content_new-student/routes/welcome/index.js b/src/routes/create/routes/welcome/index.js similarity index 100% rename from src/routes/app_content_new-student/routes/welcome/index.js rename to src/routes/create/routes/welcome/index.js diff --git a/src/routes/app_content_new-student/routes/welcome/welcome.js b/src/routes/create/routes/welcome/welcome.js similarity index 95% rename from src/routes/app_content_new-student/routes/welcome/welcome.js rename to src/routes/create/routes/welcome/welcome.js index 5cc53547a..871b17723 100644 --- a/src/routes/app_content_new-student/routes/welcome/welcome.js +++ b/src/routes/create/routes/welcome/welcome.js @@ -1,5 +1,5 @@ import React from 'react' -import Button from '../../../../components/button' +import Button from 'src/components/button' export default function WelcomeScreen() { return
diff --git a/src/routes/app_content_degub/components/degub.js b/src/routes/degub/components/degub.js similarity index 100% rename from src/routes/app_content_degub/components/degub.js rename to src/routes/degub/components/degub.js diff --git a/src/routes/app_content_degub/index.js b/src/routes/degub/index.js similarity index 100% rename from src/routes/app_content_degub/index.js rename to src/routes/degub/index.js diff --git a/src/routes/app_content_areas/components/area-editor.js b/src/routes/edit-area/components/area-editor.js similarity index 100% rename from src/routes/app_content_areas/components/area-editor.js rename to src/routes/edit-area/components/area-editor.js diff --git a/src/routes/app_content_areas/components/area-editor.scss b/src/routes/edit-area/components/area-editor.scss similarity index 100% rename from src/routes/app_content_areas/components/area-editor.scss rename to src/routes/edit-area/components/area-editor.scss diff --git a/src/routes/app_content_areas/components/area-list.js b/src/routes/edit-area/components/area-list.js similarity index 100% rename from src/routes/app_content_areas/components/area-list.js rename to src/routes/edit-area/components/area-list.js diff --git a/src/routes/app_content_areas/containers/area-editor.js b/src/routes/edit-area/containers/area-editor.js similarity index 96% rename from src/routes/app_content_areas/containers/area-editor.js rename to src/routes/edit-area/containers/area-editor.js index c8b16b240..aba1ee1d6 100644 --- a/src/routes/app_content_areas/containers/area-editor.js +++ b/src/routes/edit-area/containers/area-editor.js @@ -6,9 +6,9 @@ import find from 'lodash/find' import filter from 'lodash/filter' import { connect } from 'react-redux' import { bindActionCreators } from 'redux' -import { loadAllAreas } from '../../../redux/areas/actions' +import { loadAllAreas } from 'src/redux/areas/actions' -import Loading from '../../../components/loading' +import Loading from 'src/components/loading' import AreaList from '../components/area-list' import AreaEditor from '../components/area-editor' diff --git a/src/routes/app_content_areas/index.js b/src/routes/edit-area/index.js similarity index 100% rename from src/routes/app_content_areas/index.js rename to src/routes/edit-area/index.js diff --git a/src/routes/index.js b/src/routes/index.js index cf5e8bf7d..92d7e2117 100644 --- a/src/routes/index.js +++ b/src/routes/index.js @@ -1,25 +1,21 @@ export default { - component: require('../containers/app').default, + component: require('src/containers/app').default, childRoutes: [{ path: '/', getIndexRoute(location, cb) { - require.ensure([], () => { - cb(null, {content: require('./app_content_student-picker').default}) - }, 'app.index') + cb(null, {content: require('./index').default}) }, getChildRoutes(state, cb) { - require.ensure([], () => { - cb(null, [ - require('./app_content_areas').default, // edit-area - require('./app_overlay_search').default, // search - require('./app_content_degub').default, // debug - require('./app_content_new-student').default, // create - require('./app_content_student').default, // s/:id - require('./not_found').default, // anything else - ]) - }, 'app.routes') + cb(null, [ + require('./edit-area').default, // edit-area + require('./degub').default, // degub + require('./create').default, // create + require('./student').default, // student + require('./search').default, // search + require('./not-found').default, // anything else + ]) }, }], } diff --git a/src/routes/app_content_student-picker/components/student-list-item.js b/src/routes/index/components/student-list-item.js similarity index 86% rename from src/routes/app_content_student-picker/components/student-list-item.js rename to src/routes/index/components/student-list-item.js index 81207c236..4d960c718 100644 --- a/src/routes/app_content_student-picker/components/student-list-item.js +++ b/src/routes/index/components/student-list-item.js @@ -3,12 +3,12 @@ import cx from 'classnames' import Link from 'react-router/lib/Link' import groupBy from 'lodash/groupBy' import map from 'lodash/map' -import interpose from '../../../helpers/interpose' -import sortStudiesByType from '../../../helpers/sort-studies-by-type' +import interpose from 'src/helpers/interpose' +import sortStudiesByType from 'src/helpers/sort-studies-by-type' -import Button from '../../../components/button' -import Icon from '../../../components/icon' -import {iosTrashOutline, iosArrowForward} from '../../../icons/ionicons' +import Button from 'src/components/button' +import Icon from 'src/components/icon' +import {iosTrashOutline, iosArrowForward} from 'src/icons/ionicons' import './student-list-item.scss' diff --git a/src/routes/app_content_student-picker/components/student-list-item.scss b/src/routes/index/components/student-list-item.scss similarity index 95% rename from src/routes/app_content_student-picker/components/student-list-item.scss rename to src/routes/index/components/student-list-item.scss index 7a17889b1..22b61fd47 100644 --- a/src/routes/app_content_student-picker/components/student-list-item.scss +++ b/src/routes/index/components/student-list-item.scss @@ -1,5 +1,5 @@ -@import '../../../styles/variables.scss'; -@import '../../../styles/mixins.scss'; +@import 'src/styles/variables.scss'; +@import 'src/styles/mixins.scss'; .student-list-item { @include link-undecorated(); diff --git a/src/routes/app_content_student-picker/components/student-list.js b/src/routes/index/components/student-list.js similarity index 96% rename from src/routes/app_content_student-picker/components/student-list.js rename to src/routes/index/components/student-list.js index dbf0c7c3c..a15b36392 100644 --- a/src/routes/app_content_student-picker/components/student-list.js +++ b/src/routes/index/components/student-list.js @@ -4,7 +4,7 @@ import map from 'lodash/map' import sortBy from 'lodash/sortBy' import fuzzysearch from 'fuzzysearch' -import List from '../../../components/list' +import List from 'src/components/list' import StudentListItem from './student-list-item' import './student-list.scss' diff --git a/src/routes/app_content_student-picker/components/student-list.scss b/src/routes/index/components/student-list.scss similarity index 72% rename from src/routes/app_content_student-picker/components/student-list.scss rename to src/routes/index/components/student-list.scss index 105a934c2..96e35afb1 100644 --- a/src/routes/app_content_student-picker/components/student-list.scss +++ b/src/routes/index/components/student-list.scss @@ -1,4 +1,4 @@ -@import '../../../styles/mixins.scss'; +@import 'src/styles/mixins.scss'; .student-list { @include card(); diff --git a/src/routes/app_content_student-picker/components/student-picker.js b/src/routes/index/components/student-picker.js similarity index 93% rename from src/routes/app_content_student-picker/components/student-picker.js rename to src/routes/index/components/student-picker.js index a3d411997..f62c774bb 100644 --- a/src/routes/app_content_student-picker/components/student-picker.js +++ b/src/routes/index/components/student-picker.js @@ -1,10 +1,10 @@ import React, {PropTypes} from 'react' import size from 'lodash/size' -import {androidSearch, funnel, androidApps, androidMenu, androidAdd} from '../../../icons/ionicons' -import Toolbar from '../../../components/toolbar' -import Button from '../../../components/button' -import Icon from '../../../components/icon' +import {androidSearch, funnel, androidApps, androidMenu, androidAdd} from 'src/icons/ionicons' +import Toolbar from 'src/components/toolbar' +import Button from 'src/components/button' +import Icon from 'src/components/icon' import StudentList from './student-list' import './student-picker.scss' diff --git a/src/routes/app_content_student-picker/components/student-picker.scss b/src/routes/index/components/student-picker.scss similarity index 93% rename from src/routes/app_content_student-picker/components/student-picker.scss rename to src/routes/index/components/student-picker.scss index a1796dd47..34bbcb456 100644 --- a/src/routes/app_content_student-picker/components/student-picker.scss +++ b/src/routes/index/components/student-picker.scss @@ -1,5 +1,5 @@ -@import '../../../styles/variables.scss'; -@import '../../../styles/mixins.scss'; +@import 'src/styles/variables.scss'; +@import 'src/styles/mixins.scss'; .app-title { margin-top: 3em; diff --git a/src/routes/app_content_student-picker/containers/student-picker.js b/src/routes/index/containers/student-picker.js similarity index 91% rename from src/routes/app_content_student-picker/containers/student-picker.js rename to src/routes/index/containers/student-picker.js index cce3df4b3..4ca10cdb7 100644 --- a/src/routes/app_content_student-picker/containers/student-picker.js +++ b/src/routes/index/containers/student-picker.js @@ -2,8 +2,8 @@ import React, {Component, PropTypes} from 'react' import StudentPicker from '../components/student-picker' import { bindActionCreators } from 'redux' import { connect } from 'react-redux' -import { destroyStudent } from '../../../redux/students/actions/destroy-student' -import { loadStudents } from '../../../redux/students/actions/load-students' +import { destroyStudent } from 'src/redux/students/actions/destroy-student' +import { loadStudents } from 'src/redux/students/actions/load-students' class StudentPickerContainer extends Component { static propTypes = { diff --git a/src/routes/app_content_student-picker/index.js b/src/routes/index/index.js similarity index 100% rename from src/routes/app_content_student-picker/index.js rename to src/routes/index/index.js diff --git a/src/routes/not_found/index.js b/src/routes/not-found/index.js similarity index 100% rename from src/routes/not_found/index.js rename to src/routes/not-found/index.js diff --git a/src/routes/not_found/not-found.js b/src/routes/not-found/not-found.js similarity index 100% rename from src/routes/not_found/not-found.js rename to src/routes/not-found/not-found.js diff --git a/src/routes/app_overlay_search/containers/course-searcher-overlay.js b/src/routes/search/containers/course-searcher-overlay.js similarity index 100% rename from src/routes/app_overlay_search/containers/course-searcher-overlay.js rename to src/routes/search/containers/course-searcher-overlay.js diff --git a/src/routes/app_overlay_search/containers/course-searcher-overlay.scss b/src/routes/search/containers/course-searcher-overlay.scss similarity index 100% rename from src/routes/app_overlay_search/containers/course-searcher-overlay.scss rename to src/routes/search/containers/course-searcher-overlay.scss diff --git a/src/routes/app_overlay_search/index.js b/src/routes/search/index.js similarity index 100% rename from src/routes/app_overlay_search/index.js rename to src/routes/search/index.js diff --git a/src/routes/app_content_student/components/area-of-study-group.js b/src/routes/student/components/area-of-study-group.js similarity index 92% rename from src/routes/app_content_student/components/area-of-study-group.js rename to src/routes/student/components/area-of-study-group.js index 6cc3d5ea6..d8a8f6eb3 100644 --- a/src/routes/app_content_student/components/area-of-study-group.js +++ b/src/routes/student/components/area-of-study-group.js @@ -1,13 +1,13 @@ import React, {PropTypes} from 'react' import map from 'lodash/map' -import pluralizeArea from '../../../area-tools/pluralize-area' +import pluralizeArea from 'src/area-tools/pluralize-area' import capitalize from 'lodash/capitalize' -import * as areaTypeConstants from '../../../models/area-types' +import * as areaTypeConstants from 'src/models/area-types' import values from 'lodash/values' import AreaOfStudy from './area-of-study' import AreaPicker from './area-picker' -import Button from '../../../components/button' +import Button from 'src/components/button' import './area-of-study-group.scss' diff --git a/src/routes/app_content_student/components/area-of-study-group.scss b/src/routes/student/components/area-of-study-group.scss similarity index 89% rename from src/routes/app_content_student/components/area-of-study-group.scss rename to src/routes/student/components/area-of-study-group.scss index 7df825ae4..76e5c8b31 100644 --- a/src/routes/app_content_student/components/area-of-study-group.scss +++ b/src/routes/student/components/area-of-study-group.scss @@ -1,5 +1,5 @@ -@import '../../../styles/variables.scss'; -@import '../../../styles/mixins.scss'; +@import 'src/styles/variables.scss'; +@import 'src/styles/mixins.scss'; .area-of-study-group { @include card(); diff --git a/src/routes/app_content_student/components/area-of-study-sidebar.js b/src/routes/student/components/area-of-study-sidebar.js similarity index 95% rename from src/routes/app_content_student/components/area-of-study-sidebar.js rename to src/routes/student/components/area-of-study-sidebar.js index bcf1d3938..47fbf22cf 100644 --- a/src/routes/app_content_student/components/area-of-study-sidebar.js +++ b/src/routes/student/components/area-of-study-sidebar.js @@ -15,10 +15,10 @@ import union from 'lodash/union' import uniq from 'lodash/uniq' import values from 'lodash/values' -import sortStudiesByType from '../../../helpers/sort-studies-by-type' +import sortStudiesByType from 'src/helpers/sort-studies-by-type' import AreaOfStudyGroup from './area-of-study-group' -import Button from '../../../components/button' -import * as areaTypeConstants from '../../../models/area-types' +import Button from 'src/components/button' +import * as areaTypeConstants from 'src/models/area-types' export default function AreaOfStudySidebar(props) { const {allAreas, student, showAreaPickerFor} = props diff --git a/src/routes/app_content_student/components/area-of-study.js b/src/routes/student/components/area-of-study.js similarity index 94% rename from src/routes/app_content_student/components/area-of-study.js rename to src/routes/student/components/area-of-study.js index c64770a02..a1856d447 100644 --- a/src/routes/app_content_student/components/area-of-study.js +++ b/src/routes/student/components/area-of-study.js @@ -1,12 +1,12 @@ import React, {Component, PropTypes} from 'react' import cx from 'classnames' -import Button from '../../../components/button' -import Icon from '../../../components/icon' +import Button from 'src/components/button' +import Icon from 'src/components/icon' import Requirement from './requirement' -import ProgressBar from '../../../components/progress-bar' -import compareProps from '../../../helpers/compare-props' -import {close, chevronUp, chevronDown} from '../../../icons/ionicons' +import ProgressBar from 'src/components/progress-bar' +import compareProps from 'src/helpers/compare-props' +import {close, chevronUp, chevronDown} from 'src/icons/ionicons' import './area-of-study.scss' diff --git a/src/routes/app_content_student/components/area-of-study.scss b/src/routes/student/components/area-of-study.scss similarity index 97% rename from src/routes/app_content_student/components/area-of-study.scss rename to src/routes/student/components/area-of-study.scss index 257112627..bebd1bd6e 100644 --- a/src/routes/app_content_student/components/area-of-study.scss +++ b/src/routes/student/components/area-of-study.scss @@ -1,4 +1,4 @@ -@import '../../../styles/variables.scss'; +@import 'src/styles/variables.scss'; .area { &.errored { diff --git a/src/routes/app_content_student/components/area-picker.js b/src/routes/student/components/area-picker.js similarity index 89% rename from src/routes/app_content_student/components/area-picker.js rename to src/routes/student/components/area-picker.js index 382d4ceda..f5a79e511 100644 --- a/src/routes/app_content_student/components/area-picker.js +++ b/src/routes/student/components/area-picker.js @@ -1,15 +1,15 @@ import React, {Component, PropTypes} from 'react' import fuzzysearch from 'fuzzysearch' -import pluralizeArea from '../../../area-tools/pluralize-area' +import pluralizeArea from 'src/area-tools/pluralize-area' import map from 'lodash/map' import reject from 'lodash/reject' import filter from 'lodash/filter' import includes from 'lodash/includes' -import filterAreaList from '../../../helpers/filter-area-list' +import filterAreaList from 'src/helpers/filter-area-list' -import Button from '../../../components/button' -import List from '../../../components/list' -import Toolbar from '../../../components/toolbar' +import Button from 'src/components/button' +import List from 'src/components/list' +import Toolbar from 'src/components/toolbar' import './area-picker.scss' diff --git a/src/routes/app_content_student/components/area-picker.scss b/src/routes/student/components/area-picker.scss similarity index 90% rename from src/routes/app_content_student/components/area-picker.scss rename to src/routes/student/components/area-picker.scss index 92ec76649..b20b07a77 100644 --- a/src/routes/app_content_student/components/area-picker.scss +++ b/src/routes/student/components/area-picker.scss @@ -1,5 +1,5 @@ -@import '../../../styles/variables.scss'; -@import '../../../styles/mixins.scss'; +@import 'src/styles/variables.scss'; +@import 'src/styles/mixins.scss'; .add-area { padding: $area-edge-padding; diff --git a/src/routes/app_content_student/components/expression--course.js b/src/routes/student/components/expression--course.js similarity index 93% rename from src/routes/app_content_student/components/expression--course.js rename to src/routes/student/components/expression--course.js index 5dc8811c4..d24ba8b86 100644 --- a/src/routes/app_content_student/components/expression--course.js +++ b/src/routes/student/components/expression--course.js @@ -1,7 +1,7 @@ import React, {PropTypes} from 'react' import cx from 'classnames' -import semesterName from '../../../helpers/semester-name' -import {shrinkDepartment} from '../../../area-tools/convert-department' +import semesterName from 'src/helpers/semester-name' +import {shrinkDepartment} from 'src/area-tools/convert-department' import './expression--course.scss' diff --git a/src/routes/app_content_student/components/expression--course.scss b/src/routes/student/components/expression--course.scss similarity index 100% rename from src/routes/app_content_student/components/expression--course.scss rename to src/routes/student/components/expression--course.scss diff --git a/src/routes/app_content_student/components/expression--filter.js b/src/routes/student/components/expression--filter.js similarity index 100% rename from src/routes/app_content_student/components/expression--filter.js rename to src/routes/student/components/expression--filter.js diff --git a/src/routes/app_content_student/components/expression.js b/src/routes/student/components/expression.js similarity index 98% rename from src/routes/app_content_student/components/expression.js rename to src/routes/student/components/expression.js index 28425a8e5..caeb20fa0 100644 --- a/src/routes/app_content_student/components/expression.js +++ b/src/routes/student/components/expression.js @@ -5,7 +5,7 @@ import ResultIndicator from './result-indicator' import map from 'lodash/map' import plur from 'plur' -import humanizeOperator from '../../../area-tools/humanize-operator' +import humanizeOperator from 'src/area-tools/humanize-operator' import './expression.scss' diff --git a/src/routes/app_content_student/components/expression.scss b/src/routes/student/components/expression.scss similarity index 95% rename from src/routes/app_content_student/components/expression.scss rename to src/routes/student/components/expression.scss index 9c0eab299..f2a8aa0af 100644 --- a/src/routes/app_content_student/components/expression.scss +++ b/src/routes/student/components/expression.scss @@ -1,5 +1,5 @@ -@import '../../../styles/variables.scss'; -@import '../../../styles/mixins.scss'; +@import 'src/styles/variables.scss'; +@import 'src/styles/mixins.scss'; @import './variables-expression.scss'; .expression { diff --git a/src/routes/app_content_student/components/graduation-status.js b/src/routes/student/components/graduation-status.js similarity index 100% rename from src/routes/app_content_student/components/graduation-status.js rename to src/routes/student/components/graduation-status.js diff --git a/src/routes/app_content_student/components/graduation-status.scss b/src/routes/student/components/graduation-status.scss similarity index 92% rename from src/routes/app_content_student/components/graduation-status.scss rename to src/routes/student/components/graduation-status.scss index 463e6c913..42b0e3923 100644 --- a/src/routes/app_content_student/components/graduation-status.scss +++ b/src/routes/student/components/graduation-status.scss @@ -1,4 +1,4 @@ -@import '../../../styles/variables.scss'; +@import 'src/styles/variables.scss'; .graduation-status { font-size: 0.85em; diff --git a/src/routes/app_content_student/components/requirement.js b/src/routes/student/components/requirement.js similarity index 96% rename from src/routes/app_content_student/components/requirement.js rename to src/routes/student/components/requirement.js index 07c612c5d..0b41b2751 100644 --- a/src/routes/app_content_student/components/requirement.js +++ b/src/routes/student/components/requirement.js @@ -3,11 +3,11 @@ import filter from 'lodash/filter' import keys from 'lodash/keys' import map from 'lodash/map' -import isRequirementName from '../../../area-tools/is-requirement-name' +import isRequirementName from 'src/area-tools/is-requirement-name' import Filter from './expression--filter' import Expression from './expression' -import Button from '../../../components/button' +import Button from 'src/components/button' import ResultIndicator from './result-indicator' import './requirement.scss' diff --git a/src/routes/app_content_student/components/requirement.scss b/src/routes/student/components/requirement.scss similarity index 97% rename from src/routes/app_content_student/components/requirement.scss rename to src/routes/student/components/requirement.scss index 8cfda3e38..6d33aafa9 100644 --- a/src/routes/app_content_student/components/requirement.scss +++ b/src/routes/student/components/requirement.scss @@ -1,5 +1,5 @@ -@import '../../../styles/variables.scss'; -@import '../../../styles/mixins.scss'; +@import 'src/styles/variables.scss'; +@import 'src/styles/mixins.scss'; @import './variables-expression.scss'; diff --git a/src/routes/app_content_student/components/result-indicator.js b/src/routes/student/components/result-indicator.js similarity index 75% rename from src/routes/app_content_student/components/result-indicator.js rename to src/routes/student/components/result-indicator.js index c56ead90d..f2240224a 100644 --- a/src/routes/app_content_student/components/result-indicator.js +++ b/src/routes/student/components/result-indicator.js @@ -1,6 +1,6 @@ import React, {PropTypes} from 'react' -import Icon from '../../../components/icon' -import {checkmark, close} from '../../../icons/ionicons' +import Icon from 'src/components/icon' +import {checkmark, close} from 'src/icons/ionicons' export default function ResultIndicator({result}) { return diff --git a/src/routes/app_content_student/components/student-summary.js b/src/routes/student/components/student-summary.js similarity index 94% rename from src/routes/app_content_student/components/student-summary.js rename to src/routes/student/components/student-summary.js index dfc47dc8b..5fc04a1ea 100644 --- a/src/routes/app_content_student/components/student-summary.js +++ b/src/routes/student/components/student-summary.js @@ -6,11 +6,11 @@ import filter from 'lodash/filter' import map from 'lodash/map' import sample from 'lodash/sample' -import AvatarLetter from '../../../components/avatar-letter' -import ContentEditable from '../../../components/content-editable' +import AvatarLetter from 'src/components/avatar-letter' +import ContentEditable from 'src/components/content-editable' -import getActiveStudentCourses from '../../../helpers/get-active-student-courses' -import countCredits from '../../../area-tools/count-credits' +import getActiveStudentCourses from 'src/helpers/get-active-student-courses' +import countCredits from 'src/area-tools/count-credits' import './student-summary.scss' diff --git a/src/routes/app_content_student/components/student-summary.scss b/src/routes/student/components/student-summary.scss similarity index 93% rename from src/routes/app_content_student/components/student-summary.scss rename to src/routes/student/components/student-summary.scss index 05ba6a757..56bc3522e 100644 --- a/src/routes/app_content_student/components/student-summary.scss +++ b/src/routes/student/components/student-summary.scss @@ -1,5 +1,5 @@ -@import '../../../styles/variables.scss'; -@import '../../../styles/mixins.scss'; +@import 'src/styles/variables.scss'; +@import 'src/styles/mixins.scss'; .student-summary { @include card(); diff --git a/src/routes/app_content_student/components/variables-expression.scss b/src/routes/student/components/variables-expression.scss similarity index 100% rename from src/routes/app_content_student/components/variables-expression.scss rename to src/routes/student/components/variables-expression.scss diff --git a/src/routes/app_content_student/containers/graduation-status.js b/src/routes/student/containers/graduation-status.js similarity index 92% rename from src/routes/app_content_student/containers/graduation-status.js rename to src/routes/student/containers/graduation-status.js index 8f90c376f..683d16e89 100644 --- a/src/routes/app_content_student/containers/graduation-status.js +++ b/src/routes/student/containers/graduation-status.js @@ -3,11 +3,11 @@ import { connect } from 'react-redux' import { bindActionCreators } from 'redux' import has from 'lodash/has' -import pathToOverride from '../../../area-tools/path-to-override' +import pathToOverride from 'src/area-tools/path-to-override' -import {changeName, changeMatriculation, changeGraduation} from '../../../redux/students/actions/change' -import {addArea, removeArea} from '../../../redux/students/actions/areas' -import {setOverride, removeOverride} from '../../../redux/students/actions/overrides' +import {changeName, changeMatriculation, changeGraduation} from 'src/redux/students/actions/change' +import {addArea, removeArea} from 'src/redux/students/actions/areas' +import {setOverride, removeOverride} from 'src/redux/students/actions/overrides' import GraduationStatus from '../components/graduation-status' class GraduationStatusContainer extends Component { diff --git a/src/routes/app_content_student/containers/student.js b/src/routes/student/containers/student.js similarity index 89% rename from src/routes/app_content_student/containers/student.js rename to src/routes/student/containers/student.js index 2899c3926..fda6fd785 100644 --- a/src/routes/app_content_student/containers/student.js +++ b/src/routes/student/containers/student.js @@ -2,12 +2,12 @@ import React, { Component, PropTypes, cloneElement } from 'react' import DocumentTitle from 'react-document-title' import { connect } from 'react-redux' import { bindActionCreators } from 'redux' -import { loadStudent } from '../../../redux/students/actions/load-student' +import { loadStudent } from 'src/redux/students/actions/load-student' -import Sidebar from '../../../containers/sidebar' -import Loading from '../../../components/loading' +import Sidebar from 'src/containers/sidebar' +import Loading from 'src/components/loading' -import CourseTable from '../../student_content_course-table/containers/course-table' +import CourseTable from '../routes/course-table/containers/course-table' import GraduationStatus from './graduation-status' import './student.scss' diff --git a/src/routes/app_content_student/containers/student.scss b/src/routes/student/containers/student.scss similarity index 85% rename from src/routes/app_content_student/containers/student.scss rename to src/routes/student/containers/student.scss index 874cbd6da..75616374d 100644 --- a/src/routes/app_content_student/containers/student.scss +++ b/src/routes/student/containers/student.scss @@ -1,4 +1,4 @@ -@import '../../../styles/variables.scss'; +@import 'src/styles/variables.scss'; .student { height: 100vh; diff --git a/src/routes/student/index.js b/src/routes/student/index.js new file mode 100644 index 000000000..ff927d5b8 --- /dev/null +++ b/src/routes/student/index.js @@ -0,0 +1,23 @@ +export default { + path: 's/:studentId', + + getIndexRoute(location, cb) { + require.ensure([], () => { + cb(null, require('./routes/course-table').default) + }, 'student.index') + }, + + getChildRoutes(state, cb) { + cb(null, [ + require('./routes/share').default, // share, overlay + require('./routes/search').default, // search, sidebar + require('./routes/semester-detail').default, // :year/:term, content + ]) + }, + + getComponents(location, cb) { + require.ensure([], () => { + cb(null, {content: require('./containers/student').default}) + }, 'student.components') + }, +} diff --git a/src/routes/student_content_course-table/components/course-list.js b/src/routes/student/routes/course-table/components/course-list.js similarity index 92% rename from src/routes/student_content_course-table/components/course-list.js rename to src/routes/student/routes/course-table/components/course-list.js index aa0a5e3c4..c3c0e4158 100644 --- a/src/routes/student_content_course-table/components/course-list.js +++ b/src/routes/student/routes/course-table/components/course-list.js @@ -2,8 +2,8 @@ import React, {PropTypes} from 'react' import range from 'lodash/range' import map from 'lodash/map' -import InlineCourse from '../../../components/inline-course' -import List from '../../../components/list' +import InlineCourse from 'src/components/inline-course' +import List from 'src/components/list' import MissingCourse from './missing-course' import EmptyCourseSlot from './empty-course-slot' diff --git a/src/routes/student_content_course-table/components/course-list.scss b/src/routes/student/routes/course-table/components/course-list.scss similarity index 81% rename from src/routes/student_content_course-table/components/course-list.scss rename to src/routes/student/routes/course-table/components/course-list.scss index 07d517cf1..1c1628261 100644 --- a/src/routes/student_content_course-table/components/course-list.scss +++ b/src/routes/student/routes/course-table/components/course-list.scss @@ -1,5 +1,5 @@ -@import '../../../styles/variables.scss'; -@import '../../../styles/mixins.scss'; +@import 'src/styles/variables.scss'; +@import 'src/styles/mixins.scss'; @import './variables.scss'; .course-list { diff --git a/src/routes/student_content_course-table/components/course-table.js b/src/routes/student/routes/course-table/components/course-table.js similarity index 88% rename from src/routes/student_content_course-table/components/course-table.js rename to src/routes/student/routes/course-table/components/course-table.js index cf3ddb01d..8e95de0f9 100644 --- a/src/routes/student_content_course-table/components/course-table.js +++ b/src/routes/student/routes/course-table/components/course-table.js @@ -1,13 +1,13 @@ import React, {PropTypes} from 'react' import cx from 'classnames' -import expandYear from '../../../helpers/expand-year' +import expandYear from 'src/helpers/expand-year' -import findFirstAvailableYear from '../../../helpers/find-first-available-year' +import findFirstAvailableYear from 'src/helpers/find-first-available-year' import map from 'lodash/map' import sortBy from 'lodash/sortBy' import groupBy from 'lodash/groupBy' -import Button from '../../../components/button' +import Button from 'src/components/button' import Year from './year' import './course-table.scss' diff --git a/src/routes/student_content_course-table/components/course-table.scss b/src/routes/student/routes/course-table/components/course-table.scss similarity index 100% rename from src/routes/student_content_course-table/components/course-table.scss rename to src/routes/student/routes/course-table/components/course-table.scss diff --git a/src/routes/student_content_course-table/components/empty-course-slot.js b/src/routes/student/routes/course-table/components/empty-course-slot.js similarity index 100% rename from src/routes/student_content_course-table/components/empty-course-slot.js rename to src/routes/student/routes/course-table/components/empty-course-slot.js diff --git a/src/routes/student_content_course-table/components/empty-course-slot.scss b/src/routes/student/routes/course-table/components/empty-course-slot.scss similarity index 76% rename from src/routes/student_content_course-table/components/empty-course-slot.scss rename to src/routes/student/routes/course-table/components/empty-course-slot.scss index eed89333e..0eca44c1f 100644 --- a/src/routes/student_content_course-table/components/empty-course-slot.scss +++ b/src/routes/student/routes/course-table/components/empty-course-slot.scss @@ -1,4 +1,4 @@ -@import '../../../styles/variables.scss'; +@import 'src/styles/variables.scss'; .empty-course { color: $gray-500; diff --git a/src/routes/student_content_course-table/components/fake-course.js b/src/routes/student/routes/course-table/components/fake-course.js similarity index 85% rename from src/routes/student_content_course-table/components/fake-course.js rename to src/routes/student/routes/course-table/components/fake-course.js index 8a9fab529..5b3780433 100644 --- a/src/routes/student_content_course-table/components/fake-course.js +++ b/src/routes/student/routes/course-table/components/fake-course.js @@ -1,7 +1,7 @@ import React, {PropTypes} from 'react' import cx from 'classnames' -import '../../../components/inline-course.scss' -import '../../../components/course-title.scss' +import 'src/components/inline-course.scss' +import 'src/components/course-title.scss' export default function FakeCourse(props) { return ( diff --git a/src/routes/student_content_course-table/components/missing-course.js b/src/routes/student/routes/course-table/components/missing-course.js similarity index 100% rename from src/routes/student_content_course-table/components/missing-course.js rename to src/routes/student/routes/course-table/components/missing-course.js diff --git a/src/routes/student_content_course-table/components/semester.js b/src/routes/student/routes/course-table/components/semester.js similarity index 90% rename from src/routes/student_content_course-table/components/semester.js rename to src/routes/student/routes/course-table/components/semester.js index 9ca246782..006f15f40 100644 --- a/src/routes/student_content_course-table/components/semester.js +++ b/src/routes/student/routes/course-table/components/semester.js @@ -3,16 +3,16 @@ import {findDOMNode} from 'react-dom' import cx from 'classnames' import Link from 'react-router/lib/Link' import plur from 'plur' -import semesterName from '../../../helpers/semester-name' -import countCredits from '../../../area-tools/count-credits' -import {COURSE} from '../../../models/item-types' +import semesterName from 'src/helpers/semester-name' +import countCredits from 'src/area-tools/count-credits' +import {COURSE} from 'src/models/item-types' import {DropTarget} from 'react-dnd' import includes from 'lodash/includes' -import Button from '../../../components/button' -import Icon from '../../../components/icon' -import List from '../../../components/list' -import {close, search} from '../../../icons/ionicons' +import Button from 'src/components/button' +import Icon from 'src/components/icon' +import List from 'src/components/list' +import {close, search} from 'src/icons/ionicons' import CourseList from './course-list' import './semester.scss' diff --git a/src/routes/student_content_course-table/components/semester.scss b/src/routes/student/routes/course-table/components/semester.scss similarity index 94% rename from src/routes/student_content_course-table/components/semester.scss rename to src/routes/student/routes/course-table/components/semester.scss index dc992ea86..ff757ed3f 100644 --- a/src/routes/student_content_course-table/components/semester.scss +++ b/src/routes/student/routes/course-table/components/semester.scss @@ -1,5 +1,5 @@ -@import '../../../styles/variables.scss'; -@import '../../../styles/mixins.scss'; +@import 'src/styles/variables.scss'; +@import 'src/styles/mixins.scss'; @import './variables.scss'; diff --git a/src/routes/student_content_course-table/components/variables.scss b/src/routes/student/routes/course-table/components/variables.scss similarity index 81% rename from src/routes/student_content_course-table/components/variables.scss rename to src/routes/student/routes/course-table/components/variables.scss index 83c6709df..4d3b8c0e2 100644 --- a/src/routes/student_content_course-table/components/variables.scss +++ b/src/routes/student/routes/course-table/components/variables.scss @@ -1,4 +1,4 @@ -@import '../../../styles/variables.scss'; +@import 'src/styles/variables.scss'; $semester-spacing: 4px; diff --git a/src/routes/student_content_course-table/components/year.js b/src/routes/student/routes/course-table/components/year.js similarity index 87% rename from src/routes/student_content_course-table/components/year.js rename to src/routes/student/routes/course-table/components/year.js index 706361dc4..ae80ce84a 100644 --- a/src/routes/student_content_course-table/components/year.js +++ b/src/routes/student/routes/course-table/components/year.js @@ -3,12 +3,12 @@ import filter from 'lodash/filter' import sortBy from 'lodash/sortBy' import map from 'lodash/map' -import Button from '../../../components/button' +import Button from 'src/components/button' import Semester from '../containers/semester' -import findFirstAvailableSemester from '../../../helpers/find-first-available-semester' -import expandYear from '../../../helpers/expand-year' -import semesterName from '../../../helpers/semester-name' +import findFirstAvailableSemester from 'src/helpers/find-first-available-semester' +import expandYear from 'src/helpers/expand-year' +import semesterName from 'src/helpers/semester-name' import './year.scss' diff --git a/src/routes/student_content_course-table/components/year.scss b/src/routes/student/routes/course-table/components/year.scss similarity index 94% rename from src/routes/student_content_course-table/components/year.scss rename to src/routes/student/routes/course-table/components/year.scss index 97ecad473..770e4105c 100644 --- a/src/routes/student_content_course-table/components/year.scss +++ b/src/routes/student/routes/course-table/components/year.scss @@ -1,5 +1,5 @@ -@import '../../../styles/variables.scss'; -@import '../../../styles/mixins.scss'; +@import 'src/styles/variables.scss'; +@import 'src/styles/mixins.scss'; $year-title-size: 2em; $year-title-width: $year-title-size * 0.75; /* I don't know why this is 0.75 */ diff --git a/src/routes/student_content_course-table/containers/course-table.js b/src/routes/student/routes/course-table/containers/course-table.js similarity index 86% rename from src/routes/student_content_course-table/containers/course-table.js rename to src/routes/student/routes/course-table/containers/course-table.js index 98471db27..b5de6849a 100644 --- a/src/routes/student_content_course-table/containers/course-table.js +++ b/src/routes/student/routes/course-table/containers/course-table.js @@ -4,9 +4,9 @@ import { bindActionCreators } from 'redux' import map from 'lodash/map' import filter from 'lodash/filter' -import {addSchedule, destroySchedules} from '../../../redux/students/actions/schedules' -import findFirstAvailableYear from '../../../helpers/find-first-available-year' -import findFirstAvailableSemester from '../../../helpers/find-first-available-semester' +import {addSchedule, destroySchedules} from 'src/redux/students/actions/schedules' +import findFirstAvailableYear from 'src/helpers/find-first-available-year' +import findFirstAvailableSemester from 'src/helpers/find-first-available-semester' import CourseTable from '../components/course-table' diff --git a/src/routes/student_content_course-table/containers/semester.js b/src/routes/student/routes/course-table/containers/semester.js similarity index 84% rename from src/routes/student_content_course-table/containers/semester.js rename to src/routes/student/routes/course-table/containers/semester.js index c0155cc99..b4b550b9b 100644 --- a/src/routes/student_content_course-table/containers/semester.js +++ b/src/routes/student/routes/course-table/containers/semester.js @@ -3,14 +3,14 @@ import {connect} from 'react-redux' import {bindActionCreators} from 'redux' import filter from 'lodash/filter' import map from 'lodash/map' -import isCurrentSemester from '../../../helpers/is-current-semester' +import isCurrentSemester from 'src/helpers/is-current-semester' -import Loading from '../../../components/loading' -import {destroySchedules} from '../../../redux/students/actions/schedules' -import {moveCourse, addCourse} from '../../../redux/students/actions/courses' +import Loading from 'src/components/loading' +import {destroySchedules} from 'src/redux/students/actions/schedules' +import {moveCourse, addCourse} from 'src/redux/students/actions/courses' import Semester from '../components/semester' -import getSchedule from '../../../helpers/get-schedule' +import getSchedule from 'src/helpers/get-schedule' export class SemesterContainer extends Component { diff --git a/src/routes/student_content_course-table/index.js b/src/routes/student/routes/course-table/index.js similarity index 100% rename from src/routes/student_content_course-table/index.js rename to src/routes/student/routes/course-table/index.js diff --git a/src/routes/student_sidebar_search/containers/search-sidebar.js b/src/routes/student/routes/search/containers/search-sidebar.js similarity index 92% rename from src/routes/student_sidebar_search/containers/search-sidebar.js rename to src/routes/student/routes/search/containers/search-sidebar.js index ddf72d911..2474cfb53 100644 --- a/src/routes/student_sidebar_search/containers/search-sidebar.js +++ b/src/routes/student/routes/search/containers/search-sidebar.js @@ -1,6 +1,6 @@ import React, {PropTypes} from 'react' import withRouter from 'react-router/lib/withRouter' -import CourseSearcher from '../../../containers/course-searcher' +import CourseSearcher from 'src/containers/course-searcher' function CourseSearcherSidebar(props) { const {studentId} = props.params diff --git a/src/routes/student_sidebar_search/index.js b/src/routes/student/routes/search/index.js similarity index 100% rename from src/routes/student_sidebar_search/index.js rename to src/routes/student/routes/search/index.js diff --git a/src/routes/student_content_semester-detail/containers/semester-detail.js b/src/routes/student/routes/semester-detail/containers/semester-detail.js similarity index 91% rename from src/routes/student_content_semester-detail/containers/semester-detail.js rename to src/routes/student/routes/semester-detail/containers/semester-detail.js index e9c1258f4..fc7657d3f 100644 --- a/src/routes/student_content_semester-detail/containers/semester-detail.js +++ b/src/routes/student/routes/semester-detail/containers/semester-detail.js @@ -4,8 +4,8 @@ import map from 'lodash/map' import filter from 'lodash/filter' import omit from 'lodash/omit' import DocumentTitle from 'react-document-title' -import isCurrentSemester from '../../../helpers/is-current-semester' -import semesterName from '../../../helpers/semester-name' +import isCurrentSemester from 'src/helpers/is-current-semester' +import semesterName from 'src/helpers/semester-name' import './semester-detail.scss' diff --git a/src/routes/student_content_semester-detail/containers/semester-detail.scss b/src/routes/student/routes/semester-detail/containers/semester-detail.scss similarity index 100% rename from src/routes/student_content_semester-detail/containers/semester-detail.scss rename to src/routes/student/routes/semester-detail/containers/semester-detail.scss diff --git a/src/routes/student_content_semester-detail/index.js b/src/routes/student/routes/semester-detail/index.js similarity index 100% rename from src/routes/student_content_semester-detail/index.js rename to src/routes/student/routes/semester-detail/index.js diff --git a/src/routes/student_overlay_share/containers/share-student.js b/src/routes/student/routes/share/containers/share-student.js similarity index 78% rename from src/routes/student_overlay_share/containers/share-student.js rename to src/routes/student/routes/share/containers/share-student.js index 7379b9a69..0b5ab8185 100644 --- a/src/routes/student_overlay_share/containers/share-student.js +++ b/src/routes/student/routes/share/containers/share-student.js @@ -1,16 +1,16 @@ import React, {PropTypes} from 'react' -import Button from '../../../components/button' -import Icon from '../../../components/icon' -import Toolbar from '../../../components/toolbar' -import Modal from '../../../components/modal' -import List from '../../../components/list' +import Button from 'src/components/button' +import Icon from 'src/components/icon' +import Toolbar from 'src/components/toolbar' +import Modal from 'src/components/modal' +import List from 'src/components/list' import withRouter from 'react-router/lib/withRouter' -import {close} from '../../../icons/ionicons' +import {close} from 'src/icons/ionicons' import { connect } from 'react-redux' -import encodeStudent from '../../../helpers/encode-student' +import encodeStudent from 'src/helpers/encode-student' import './share-student.scss' diff --git a/src/routes/student_overlay_share/containers/share-student.scss b/src/routes/student/routes/share/containers/share-student.scss similarity index 72% rename from src/routes/student_overlay_share/containers/share-student.scss rename to src/routes/student/routes/share/containers/share-student.scss index 0adae09a4..6ea44af71 100644 --- a/src/routes/student_overlay_share/containers/share-student.scss +++ b/src/routes/student/routes/share/containers/share-student.scss @@ -1,4 +1,4 @@ -@import '../../../styles/mixins.scss'; +@import 'src/styles/mixins.scss'; .share-dialog { @include card(); diff --git a/src/routes/student_overlay_share/index.js b/src/routes/student/routes/share/index.js similarity index 100% rename from src/routes/student_overlay_share/index.js rename to src/routes/student/routes/share/index.js