- {(name) ? : }
+ {(name) ? : }
diff --git a/src/components/windows/popUpAvailable.js b/src/components/windows/popUpAvailable.js
index da13d7f..1e6dc0f 100644
--- a/src/components/windows/popUpAvailable.js
+++ b/src/components/windows/popUpAvailable.js
@@ -7,14 +7,17 @@ export const argsTypes = {
CHAT: ['chatChannel'],
};
-export function buildPopUpUrl(windowType, args) {
+export function buildPopUpUrl(windowType, argsIn) {
+ const args = { ...argsIn };
let path = `/${windowType.toLowerCase()}`;
const typeArr = argsTypes[windowType];
- for (let i = 0; i < typeArr.length; i += 1) {
- const key = typeArr[i];
- if (args[key]) {
- path += `/${args[key]}`;
- delete args[key];
+ if (typeArr) {
+ for (let i = 0; i < typeArr.length; i += 1) {
+ const key = typeArr[i];
+ if (args[key]) {
+ path += `/${args[key]}`;
+ delete args[key];
+ }
}
}
let searchParams = new URLSearchParams();
diff --git a/src/ssr/PopUp.jsx b/src/ssr/PopUp.jsx
index f50d3c0..419ab0d 100644
--- a/src/ssr/PopUp.jsx
+++ b/src/ssr/PopUp.jsx
@@ -52,7 +52,7 @@ function generatePopUpPage(lang) {
-
${t`PixelPlanet.Fun PopUp`}
+ ${t`ppfun`}
diff --git a/src/store/actions/index.js b/src/store/actions/index.js
index 1d1ac6a..25fd1cc 100644
--- a/src/store/actions/index.js
+++ b/src/store/actions/index.js
@@ -147,7 +147,7 @@ export function selectColor(color) {
export function selectCanvas(canvasId) {
return {
- type: 'SELECT_CANVAS',
+ type: 's/SELECT_CANVAS',
canvasId,
};
}
@@ -286,6 +286,17 @@ export function receiveOnline(online) {
};
}
+export function sendChatMessage(
+ text,
+ channel,
+) {
+ return {
+ type: 's/REQ_CHAT_MESSAGE',
+ text,
+ channel,
+ };
+}
+
export function receiveChatMessage(
name,
text,
@@ -463,7 +474,7 @@ export function muteChatChannel(cid) {
export function unmuteChatChannel(cid) {
return {
- type: 'UNs/MUTE_CHAT_CHANNEL',
+ type: 's/UNMUTE_CHAT_CHANNEL',
cid,
};
}
diff --git a/src/store/actions/windows.js b/src/store/actions/windows.js
index 54f2373..c24210b 100644
--- a/src/store/actions/windows.js
+++ b/src/store/actions/windows.js
@@ -156,7 +156,7 @@ export function cloneWindow(windowId) {
export function toggleMaximizeWindow(windowId) {
return {
- type: 's/TGL_MAXIMIZE_WIN',
+ type: 'TGL_MAXIMIZE_WIN',
windowId,
};
}
diff --git a/src/store/middleware/extensions.js b/src/store/middleware/extensions.js
index cda3b97..5005f05 100644
--- a/src/store/middleware/extensions.js
+++ b/src/store/middleware/extensions.js
@@ -10,7 +10,7 @@ const pixelPlanetEvents = new EventEmitter();
export default () => (next) => (action) => {
switch (action.type) {
- case 'SELECT_CANVAS': {
+ case 's/SELECT_CANVAS': {
pixelPlanetEvents.emit('selectcanvas', action.canvasId);
break;
}
diff --git a/src/store/middleware/rendererHook.js b/src/store/middleware/rendererHook.js
index 956d484..42a97f5 100644
--- a/src/store/middleware/rendererHook.js
+++ b/src/store/middleware/rendererHook.js
@@ -48,7 +48,7 @@ export default (store) => (next) => (action) => {
switch (type) {
case 'RELOAD_URL':
- case 'SELECT_CANVAS':
+ case 's/SELECT_CANVAS':
case 'REC_ME': {
const renderer = getRenderer();
const { is3D } = state.canvas;
diff --git a/src/store/middleware/socketClientHook.js b/src/store/middleware/socketClientHook.js
index 40b7939..f4cbb85 100644
--- a/src/store/middleware/socketClientHook.js
+++ b/src/store/middleware/socketClientHook.js
@@ -32,6 +32,15 @@ export default (store) => (next) => (action) => {
break;
}
+ case 's/REQ_CHAT_MESSAGE': {
+ const {
+ text,
+ channel,
+ } = action;
+ SocketClient.sendChatMessage(text, channel);
+ break;
+ }
+
default:
// nothing
}
@@ -41,7 +50,7 @@ export default (store) => (next) => (action) => {
// executed after reducers
switch (action.type) {
case 'RELOAD_URL':
- case 'SELECT_CANVAS':
+ case 's/SELECT_CANVAS':
case 'REC_ME': {
const state = store.getState();
const { canvasId } = state.canvas;
diff --git a/src/store/middleware/title.js b/src/store/middleware/title.js
index 1883fce..638b4a4 100644
--- a/src/store/middleware/title.js
+++ b/src/store/middleware/title.js
@@ -40,7 +40,7 @@ export default (store) => (next) => (action) => {
}
- case 'SELECT_CANVAS':
+ case 's/SELECT_CANVAS':
case 'REC_ME':
case 'RELOAD_URL':
case 'ON_VIEW_FINISH_CHANGE': {
diff --git a/src/store/reducers/canvas.js b/src/store/reducers/canvas.js
index 3fab700..47d5ef8 100644
--- a/src/store/reducers/canvas.js
+++ b/src/store/reducers/canvas.js
@@ -278,7 +278,7 @@ export default function canvasReducer(
};
}
- case 'SELECT_CANVAS': {
+ case 's/SELECT_CANVAS': {
let { canvasId } = action;
const { canvases, prevCanvasCoords, canvasId: prevCanvasId } = state;
let canvas = canvases[canvasId];
diff --git a/src/store/reducers/chatRead.js b/src/store/reducers/chatRead.js
index 0742db8..1366903 100644
--- a/src/store/reducers/chatRead.js
+++ b/src/store/reducers/chatRead.js
@@ -142,7 +142,7 @@ export default function chatRead(
};
}
- case 'UNs/MUTE_CHAT_CHANNEL': {
+ case 's/UNMUTE_CHAT_CHANNEL': {
const { cid } = action;
const mute = state.mute.filter((id) => (id !== cid));
return {
diff --git a/src/store/reducers/windows.js b/src/store/reducers/windows.js
index 1b22d21..4409a43 100644
--- a/src/store/reducers/windows.js
+++ b/src/store/reducers/windows.js
@@ -409,7 +409,7 @@ export default function windows(
});
}
- case 's/TGL_MAXIMIZE_WIN': {
+ case 'TGL_MAXIMIZE_WIN': {
const {
windowId,
} = action;
diff --git a/src/store/selectors/popup.js b/src/store/selectors/popup.js
index 56f9302..72718a6 100644
--- a/src/store/selectors/popup.js
+++ b/src/store/selectors/popup.js
@@ -2,6 +2,6 @@
* selectors for single window / popup
*/
-export const selectWindowType = (state) => state.win.windowType;
+export const selectWindowType = (state) => state.popup.windowType;
-export const selectWIndowArgs = (state) => state.win.args;
+export const selectWIndowArgs = (state) => state.popup.args;
diff --git a/src/store/storePopUp.js b/src/store/storePopUp.js
index dc83669..68273c6 100644
--- a/src/store/storePopUp.js
+++ b/src/store/storePopUp.js
@@ -16,16 +16,23 @@ import { persistStore } from 'redux-persist';
import sharedReducers from './sharedReducers';
import canvas from './reducers/canvas';
import popup from './reducers/popup';
+import user from './reducers/user';
+import chat from './reducers/chat';
+import fetching from './reducers/fetching';
/*
* middleware
*/
import parent from './middleware/parent';
+import titlePopUp from './middleware/titlePopUp';
const reducers = combineReducers({
...sharedReducers,
canvas,
popup,
+ user,
+ chat,
+ fetching,
});
const store = createStore(
@@ -33,6 +40,7 @@ const store = createStore(
applyMiddleware(
thunk,
parent,
+ titlePopUp,
),
);