Skip to content

Commit 64cd996

Browse files
authored
Merge pull request #27 from LearnTeachCode/issue26
Close #26, track Gist owner for Gist fork/edit logic
2 parents fd57f8c + 77592dd commit 64cd996

File tree

1 file changed

+14
-10
lines changed

1 file changed

+14
-10
lines changed

Diff for: public/local.js

+14-10
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,10 @@ var socket = io();
66

77
// SAVING LOCAL STATE -- GLOBAL VARS (ugh)
88
var currentPlayerId;
9+
var userName;
910
var nextPlayerId;
1011
var animationId;
11-
var currentGist;
12+
var currentGist; // gistData: {id, url, owner}
1213
// Meant to be temporary:
1314
var currentAccessToken;
1415

@@ -128,6 +129,9 @@ function handleUserLogin (userData) {
128129
console.log('**************** Logged in! GitHub User Data: *********************');
129130
console.log(userData);
130131

132+
// Save user's GitHub name to local game state
133+
userName = userData.login;
134+
131135
// Update views with user's GitHub name and avatar
132136
updateLoggedInView(userData.login, userData.avatar_url);
133137

@@ -295,15 +299,15 @@ function handleTurnChange (turnData) {
295299
if (socket.id === previousPlayerId && turnData.gist != null) {
296300
console.log("User's turn is about to end.");
297301

298-
// If the current player is about to change,
299-
if (currentPlayerId !== previousPlayerId) {
302+
// If the current player does NOT own the current Gist,
303+
if (userName !== turnData.gist.owner) {
300304

301305
//console.log("handleTurnChange: now forking and editing gist " + turnData.gist.id);
302306

303-
// fork and edit the current gist on behalf of previous player and send new ID to server
307+
// Fork/edit current Gist on behalf of player whose turn is about to end, and send new ID to server
304308
forkAndEditGist(turnData.gist.id, editor.getValue());
305309

306-
// Otherwise, JUST EDIT the current gist on behalf of previous player and send new ID to server
310+
// Otherwise, JUST EDIT the current Gist and send new ID to server
307311
} else {
308312

309313
//console.log("handleTurnChange: now editing gist " + turnData.gist.id);
@@ -550,12 +554,12 @@ function handleCreateNewGist() {
550554
console.dir(gistObject);
551555

552556
// Save new gist ID and URL locally
553-
currentGist = {id: gistObject.id, url: gistObject.html_url};
557+
currentGist = {id: gistObject.id, url: gistObject.html_url, owner: gistObject.owner.login};
554558

555559
// Send new gist data to server
556-
socket.emit('newGistLink', {id: gistObject.id, url: gistObject.html_url});
560+
socket.emit('newGistLink', {id: gistObject.id, url: gistObject.html_url, owner: gistObject.owner.login});
557561

558-
updateCurrentGistView({id: gistObject.id, url: gistObject.html_url});
562+
updateCurrentGistView({id: gistObject.id, url: gistObject.html_url, owner: gistObject.owner.login});
559563

560564
}, handleError);
561565

@@ -602,12 +606,12 @@ function forkAndEditGist(gistId, codeEditorContent) {
602606
console.dir(gistObject);
603607

604608
// Send new gist data to server
605-
socket.emit('newGistLink', {id: gistObject.id, url: gistObject.html_url});
609+
socket.emit('newGistLink', {id: gistObject.id, url: gistObject.html_url, owner: gistObject.owner.login});
606610

607611
// Then edit the new gist:
608612
editGist(gistObject.id, codeEditorContent);
609613

610-
updateCurrentGistView({id: gistObject.id, url: gistObject.html_url});
614+
updateCurrentGistView({id: gistObject.id, url: gistObject.html_url, owner: gistObject.owner.login});
611615

612616
}, handleError);
613617

0 commit comments

Comments
 (0)