diff --git a/src/skins/vector/views/pages/CompatibilityPage.js b/src/components/structures/CompatibilityPage.js
similarity index 100%
rename from src/skins/vector/views/pages/CompatibilityPage.js
rename to src/components/structures/CompatibilityPage.js
diff --git a/src/skins/vector/views/organisms/LeftPanel.js b/src/components/structures/LeftPanel.js
similarity index 96%
rename from src/skins/vector/views/organisms/LeftPanel.js
rename to src/components/structures/LeftPanel.js
index 88688ab157..aaab8084d4 100644
--- a/src/skins/vector/views/organisms/LeftPanel.js
+++ b/src/components/structures/LeftPanel.js
@@ -22,7 +22,7 @@ var HTML5Backend = require('react-dnd-html5-backend');
var sdk = require('matrix-react-sdk')
var dis = require('matrix-react-sdk/lib/dispatcher');
-var VectorConferenceHandler = require('../../../../VectorConferenceHandler');
+var VectorConferenceHandler = require('../../VectorConferenceHandler');
var CallHandler = require("matrix-react-sdk/lib/CallHandler");
var LeftPanel = React.createClass({
@@ -86,7 +86,7 @@ var LeftPanel = React.createClass({
render: function() {
var RoomList = sdk.getComponent('rooms.RoomList');
- var BottomLeftMenu = sdk.getComponent('molecules.BottomLeftMenu');
+ var BottomLeftMenu = sdk.getComponent('structures.BottomLeftMenu');
var IncomingCallBox = sdk.getComponent('voip.IncomingCallBox');
var collapseButton;
diff --git a/src/skins/vector/views/organisms/RightPanel.js b/src/components/structures/RightPanel.js
similarity index 100%
rename from src/skins/vector/views/organisms/RightPanel.js
rename to src/components/structures/RightPanel.js
diff --git a/src/skins/vector/views/organisms/RoomDirectory.js b/src/components/structures/RoomDirectory.js
similarity index 100%
rename from src/skins/vector/views/organisms/RoomDirectory.js
rename to src/components/structures/RoomDirectory.js
diff --git a/src/skins/vector/views/organisms/RoomSubList.js b/src/components/structures/RoomSubList.js
similarity index 99%
rename from src/skins/vector/views/organisms/RoomSubList.js
rename to src/components/structures/RoomSubList.js
index 42016d43f1..8623787f48 100644
--- a/src/skins/vector/views/organisms/RoomSubList.js
+++ b/src/components/structures/RoomSubList.js
@@ -235,7 +235,7 @@ var RoomSubList = React.createClass({
render: function() {
var connectDropTarget = this.props.connectDropTarget;
- var RoomDropTarget = sdk.getComponent('molecules.RoomDropTarget');
+ var RoomDropTarget = sdk.getComponent('rooms.RoomDropTarget');
var label = this.props.collapsed ? null : this.props.label;
diff --git a/src/skins/vector/views/organisms/ViewSource.js b/src/components/structures/ViewSource.js
similarity index 100%
rename from src/skins/vector/views/organisms/ViewSource.js
rename to src/components/structures/ViewSource.js
diff --git a/src/skins/vector/views/molecules/MatrixToolbar.js b/src/components/views/globals/MatrixToolbar.js
similarity index 100%
rename from src/skins/vector/views/molecules/MatrixToolbar.js
rename to src/components/views/globals/MatrixToolbar.js
diff --git a/src/skins/vector/views/molecules/DateSeparator.js b/src/components/views/messages/DateSeparator.js
similarity index 100%
rename from src/skins/vector/views/molecules/DateSeparator.js
rename to src/components/views/messages/DateSeparator.js
diff --git a/src/skins/vector/views/molecules/SenderProfile.js b/src/components/views/messages/SenderProfile.js
similarity index 100%
rename from src/skins/vector/views/molecules/SenderProfile.js
rename to src/components/views/messages/SenderProfile.js
diff --git a/src/skins/vector/views/molecules/BottomLeftMenuTile.js b/src/components/views/rooms/BottomLeftMenuTile.js
similarity index 95%
rename from src/skins/vector/views/molecules/BottomLeftMenuTile.js
rename to src/components/views/rooms/BottomLeftMenuTile.js
index 8c28058d10..2535490fea 100644
--- a/src/skins/vector/views/molecules/BottomLeftMenuTile.js
+++ b/src/components/views/rooms/BottomLeftMenuTile.js
@@ -41,7 +41,7 @@ module.exports = React.createClass({
label =
{ this.props.label }
;
}
else if (this.state.hover) {
- var RoomTooltip = sdk.getComponent("molecules.RoomTooltip");
+ var RoomTooltip = sdk.getComponent("rooms.RoomTooltip");
label =
;
}
diff --git a/src/skins/vector/views/molecules/MessageContextMenu.js b/src/components/views/rooms/MessageContextMenu.js
similarity index 97%
rename from src/skins/vector/views/molecules/MessageContextMenu.js
rename to src/components/views/rooms/MessageContextMenu.js
index 2aeac39c4f..c6100db2d3 100644
--- a/src/skins/vector/views/molecules/MessageContextMenu.js
+++ b/src/components/views/rooms/MessageContextMenu.js
@@ -33,7 +33,7 @@ module.exports = React.createClass({
},
onViewSourceClick: function() {
- var ViewSource = sdk.getComponent('organisms.ViewSource');
+ var ViewSource = sdk.getComponent('structures.ViewSource');
Modal.createDialog(ViewSource, {
mxEvent: this.props.mxEvent
});
diff --git a/src/skins/vector/views/molecules/RoomDropTarget.js b/src/components/views/rooms/RoomDropTarget.js
similarity index 100%
rename from src/skins/vector/views/molecules/RoomDropTarget.js
rename to src/components/views/rooms/RoomDropTarget.js
diff --git a/src/skins/vector/views/molecules/RoomTooltip.js b/src/components/views/rooms/RoomTooltip.js
similarity index 100%
rename from src/skins/vector/views/molecules/RoomTooltip.js
rename to src/components/views/rooms/RoomTooltip.js
diff --git a/src/skins/vector/views/molecules/SearchBar.js b/src/components/views/rooms/SearchBar.js
similarity index 100%
rename from src/skins/vector/views/molecules/SearchBar.js
rename to src/components/views/rooms/SearchBar.js
diff --git a/src/skins/vector/views/molecules/RoomCreate.js b/src/skins/vector/views/molecules/RoomCreate.js
deleted file mode 100644
index d66e014d8b..0000000000
--- a/src/skins/vector/views/molecules/RoomCreate.js
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
-Copyright 2015 OpenMarket Ltd
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-'use strict';
-
-var React = require('react');
-
-module.exports = React.createClass({
- displayName: 'RoomCreate',
-
- render: function() {
- return (
-
-
-
-
-
-
-
Create new room
-
-
-
- );
- }
-});
diff --git a/src/skins/vector/views/organisms/Notifier.js b/src/skins/vector/views/organisms/Notifier.js
deleted file mode 100644
index 6ac353f1f4..0000000000
--- a/src/skins/vector/views/organisms/Notifier.js
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
-Copyright 2015 OpenMarket Ltd
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-'use strict';
-
-var NotifierController = require('matrix-react-sdk/lib/controllers/organisms/Notifier')
-
-var TextForEvent = require('matrix-react-sdk/lib/TextForEvent');
-var extend = require('matrix-react-sdk/lib/extend');
-var dis = require('matrix-react-sdk/lib/dispatcher');
-var Avatar = require('matrix-react-sdk/lib/Avatar');
-
-var NotifierView = {
- notificationMessageForEvent: function(ev) {
- return TextForEvent.textForEvent(ev);
- },
-
- displayNotification: function(ev, room) {
- if (!global.Notification || global.Notification.permission != 'granted') {
- return;
- }
- if (global.document.hasFocus()) {
- return;
- }
-
- var msg = this.notificationMessageForEvent(ev);
- if (!msg) return;
-
- var title;
- if (!ev.sender || room.name == ev.sender.name) {
- title = room.name;
- // notificationMessageForEvent includes sender,
- // but we already have the sender here
- if (ev.getContent().body) msg = ev.getContent().body;
- } else if (ev.getType() == 'm.room.member') {
- // context is all in the message here, we don't need
- // to display sender info
- title = room.name;
- } else if (ev.sender) {
- title = ev.sender.name + " (" + room.name + ")";
- // notificationMessageForEvent includes sender,
- // but we've just out sender in the title
- if (ev.getContent().body) msg = ev.getContent().body;
- }
-
- var avatarUrl = ev.sender ? Avatar.avatarUrlForMember(
- ev.sender, 40, 40, 'crop'
- ) : null;
-
- var notification = new global.Notification(
- title,
- {
- "body": msg,
- "icon": avatarUrl,
- "tag": "vector"
- }
- );
-
- notification.onclick = function() {
- dis.dispatch({
- action: 'view_room',
- room_id: room.roomId
- });
- global.focus();
- };
-
- /*var audioClip;
-
- if (audioNotification) {
- audioClip = playAudio(audioNotification);
- }*/
-
- global.setTimeout(function() {
- notification.close();
- }, 5 * 1000);
-
- }
-};
-
-var NotifierClass = function() {};
-extend(NotifierClass.prototype, NotifierController);
-extend(NotifierClass.prototype, NotifierView);
-
-module.exports = new NotifierClass();
-
diff --git a/src/vector/index.js b/src/vector/index.js
index 07b1245d00..13bb2a386e 100644
--- a/src/vector/index.js
+++ b/src/vector/index.js
@@ -153,7 +153,7 @@ function loadApp() {
else {
console.error("Browser is missing required features.");
// take to a different landing page to AWOOOOOGA at the user
- var CompatibilityPage = require("../skins/vector/views/pages/CompatibilityPage");
+ var CompatibilityPage = sdk.getComponent("structures.CompatibilityPage");
window.matrixChat = ReactDOM.render(