From 936110846c4326d5772c89fbfad488b44aaa7651 Mon Sep 17 00:00:00 2001 From: tykayn Date: Sat, 11 Apr 2020 16:59:46 +0200 Subject: [PATCH] :zap: theme persisted in the localstorage, reload config on page reload - issue #75 --- src/app/app.component.html | 2 +- src/app/app.component.ts | 9 - src/app/config/PollConfig.ts | 3 + .../visibility/visibility.component.html | 4 +- .../voting-summary.component.ts | 7 +- src/app/services/config.service.ts | 2304 +++++++++-------- .../theme-selector.component.html | 6 +- .../theme-selector.component.ts | 7 +- 8 files changed, 1193 insertions(+), 1149 deletions(-) diff --git a/src/app/app.component.html b/src/app/app.component.html index 6322ea28..1f42dce2 100644 --- a/src/app/app.component.html +++ b/src/app/app.component.html @@ -1,6 +1,6 @@
diff --git a/src/app/app.component.ts b/src/app/app.component.ts index 6b18aa06..cc0529ce 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -21,7 +21,6 @@ export class AppComponent { @Inject(DOCUMENT) private document, private route: Router) { this.detectCurrentTabOnRouteChange(); - this.findLocalStoragePreferences(); this.isDevelopmentEnv = !environment.production } @@ -56,13 +55,5 @@ export class AppComponent { } } - public findLocalStoragePreferences() { - const storage = window.localStorage; - - if ( storage ){ - const preferences = storage.getItem('FramadateConfig'); - - } - } } diff --git a/src/app/config/PollConfig.ts b/src/app/config/PollConfig.ts index c8c79ce8..763253fc 100644 --- a/src/app/config/PollConfig.ts +++ b/src/app/config/PollConfig.ts @@ -19,11 +19,14 @@ const baseConfigValues = { }; + + /** * configuration of the poll, add new fields at will */ export class PollConfig { + menuVisible = true; expiracyDateDefaultInDays = 60; diff --git a/src/app/pages/visibility/visibility.component.html b/src/app/pages/visibility/visibility.component.html index f1285440..6404a5bd 100644 --- a/src/app/pages/visibility/visibility.component.html +++ b/src/app/pages/visibility/visibility.component.html @@ -74,10 +74,10 @@ {{"visibility.archiving_can_not"|translate}} - + {{"visibility.archiving_end_not"|translate}} - + diff --git a/src/app/pages/voting/voting-summary/voting-summary.component.ts b/src/app/pages/voting/voting-summary/voting-summary.component.ts index b9ab7cfa..9bf1614f 100644 --- a/src/app/pages/voting/voting-summary/voting-summary.component.ts +++ b/src/app/pages/voting/voting-summary/voting-summary.component.ts @@ -20,12 +20,7 @@ export class VotingSummaryComponent implements OnInit { ngOnInit() { this.computePreferred(); - console.log(' this.pollconfig.choices', this.pollconfig.choices) - console.log(' this.pollconfig.choices_count', this.pollconfig.choices_count.counts) - console.log('this.pollconfig.choices_count.counts[10]', this.pollconfig.choices_count.counts[10]) - console.log('this.pollconfig.choices[2].id', this.pollconfig.choices[2].id) - console.log('this.pollconfig.choices_count.counts[]', this.pollconfig.choices_count.counts[this.pollconfig.choices[2].id].score) - } + } getKeys(obj) { return Object.keys(obj) diff --git a/src/app/services/config.service.ts b/src/app/services/config.service.ts index e5baa8ac..0705b1ba 100644 --- a/src/app/services/config.service.ts +++ b/src/app/services/config.service.ts @@ -1,13 +1,17 @@ import {Injectable} from '@angular/core'; import {PollConfig} from '../config/PollConfig'; -import {HttpClient} from "@angular/common/http"; -import {environment} from "../../environments/environment"; +import {HttpClient} from '@angular/common/http'; +import {environment} from '../../environments/environment'; import {ConfirmationService, MessageService} from 'primeng/api'; -import {Router} from "@angular/router"; -import {mockMyPolls} from "../config/mocks/mockmypolls"; -import {mockPoll3} from "../config/mocks/mock-poll3"; -import {mockSuccessVote} from "../config/mocks/mock-success-vote"; -import {PollUtilities} from "../config/PollUtilities"; +import {Router} from '@angular/router'; +import {mockMyPolls} from '../config/mocks/mockmypolls'; +import {mockPoll3} from '../config/mocks/mock-poll3'; +import {mockSuccessVote} from '../config/mocks/mock-success-vote'; +import {PollUtilities} from '../config/PollUtilities'; + +const LocalstoragePreferences = { + themeName: 'light-watermelon' +}; /** * le service transverse à chaque page qui permet de syncroniser la configuration de sondage souhaitée @@ -17,7 +21,9 @@ import {PollUtilities} from "../config/PollUtilities"; }) export class ConfigService extends PollConfig { - loading: boolean = false; + + preferences: any = LocalstoragePreferences; // user specific preferences, stored in localstorage, used for theme. + loading = false; baseHref: any = environment.baseApiHref; @@ -29,6 +35,7 @@ export class ConfigService extends PollConfig { ) { super(); this.fillValuesOnDevEnv(); + this.findLocalStoragePreferences(); } set(key, val) { @@ -45,6 +52,53 @@ export class ConfigService extends PollConfig { } } + findLocalStoragePreferences() { + const storage = window.localStorage; + console.log('this.preferences', this.preferences); + console.log('storage', storage); + + if (storage) { + const preferences = storage.getItem('FramadateConfig'); + + if(preferences){ + + const parsed = JSON.parse(preferences); + console.log('parsed', parsed) + this.preferences = parsed + + } + } else { + console.error('pas de localstorage'); + this.preferences = LocalstoragePreferences; + } + this.saveLocalStoragePreferences(); + } + + setPreference(key, value) { + + if (this.preferences) { + + this.preferences[key] = value; + if(key === 'themeName' && this.themeChoices.includes(value)){ + this.themeSelected = this.themeChoices.indexOf(value); + this.preferences.themeClass = + this.themeClass = `theme-${value}`; + } + this.saveLocalStoragePreferences(); + + } + } + + saveLocalStoragePreferences() { + const storage = window.localStorage; + if (storage) { + const preferences = storage.setItem('FramadateConfig', JSON.stringify(this.preferences)); + } else { + console.error('pas de localstorage'); + } + } + + /** * add some days to a date, to compute intervals * @param days @@ -88,7 +142,7 @@ export class ConfigService extends PollConfig { expiracyDateDefaultInDays: this.expiracyDateDefaultInDays, deletionDateAfterLastModification: this.deletionDateAfterLastModification, }; - return jsonConfig + return jsonConfig; } @@ -140,9 +194,9 @@ export class ConfigService extends PollConfig { detail: `Vos infos de sondages vous ont été transmises. Allez voir votre boite email ${this.myEmail}` }); }, (e) => { - this.handleError(e) + this.handleError(e); } - ) + ); } @@ -153,7 +207,7 @@ export class ConfigService extends PollConfig { handleError(err: any) { console.error('err', err); this.loading = false; - this.messageService.add({severity: 'warning', summary: "Erreur lors de l'appel ", detail: err.message}); + this.messageService.add({severity: 'warning', summary: 'Erreur lors de l\'appel ', detail: err.message}); } @@ -161,7 +215,7 @@ export class ConfigService extends PollConfig { // TODO check if the person has a key to retrieve her polls console.log('localStorage', localStorage); if (localStorage) { - console.log('localStorage', localStorage) + console.log('localStorage', localStorage); } } @@ -173,7 +227,7 @@ export class ConfigService extends PollConfig { getPollByURL(url: string) { this.todo(); - return this.http.get(`${this.baseHref}/poll/slug/${url}`, this.utils.makeHeaders()) + return this.http.get(`${this.baseHref}/poll/slug/${url}`, this.utils.makeHeaders()); } /** @@ -185,11 +239,11 @@ export class ConfigService extends PollConfig { return this.http .get(`${this.baseHref}/poll/${id}`, - this.utils.makeHeaders({body: password})) + this.utils.makeHeaders({body: password})); } fetchPollFromRoute(event) { - console.log('time to fetch poll', event) + console.log('time to fetch poll', event); } /** @@ -200,13 +254,13 @@ export class ConfigService extends PollConfig { getMyPolls(ownerEmail: string) { this.http .get(`${this.baseHref}/my-polls`, - this.utils.makeHeaders({ownerEmail: ownerEmail}) + this.utils.makeHeaders({ownerEmail}) ) .subscribe( (res: any) => { // this.myPolls = res.poll; }, (e) => { - this.handleError(e) + this.handleError(e); } ); } @@ -217,7 +271,7 @@ export class ConfigService extends PollConfig { */ createPoll() { this.loading = true; - this.createPollFromConfig(this.getPollConfig()) + this.createPollFromConfig(this.getPollConfig()); } updateCurrentPollFromResponse(res: any) { @@ -240,7 +294,7 @@ export class ConfigService extends PollConfig { resetCurrentChoicesAnswers() { this.currentPoll.choices.map(choice => { choice.answer = null; - }) + }); } /** @@ -254,24 +308,24 @@ export class ConfigService extends PollConfig { this.myEmail = voteStack.email; this.voteStackId = voteStack.id; this.myVoteStack = voteStack; - let keys = Object.keys(voteStack.votes); + const keys = Object.keys(voteStack.votes); console.log('voteStack', voteStack); this.resetCurrentChoicesAnswers(); keys.forEach((id: any) => { - let voteItem = voteStack.votes[id]; + const voteItem = voteStack.votes[id]; /** * the display of the poll uses the choices data, so we update the choices answers of the current poll to reflect the vote stack we have taken */ if (voteItem.choice_id && voteItem.value) { - let foundChoiceToModify = this.currentPoll.choices.find(choicesItem => { - return voteItem.choice_id == choicesItem.id + const foundChoiceToModify = this.currentPoll.choices.find(choicesItem => { + return voteItem.choice_id == choicesItem.id; }); console.log('foundChoiceToModify', foundChoiceToModify); if (foundChoiceToModify) { foundChoiceToModify.answer = voteItem.value; } } - }) + }); } /** @@ -301,7 +355,7 @@ export class ConfigService extends PollConfig { // reset all fields in current config this.resetConfig(); }, (e) => { - this.handleError(e) + this.handleError(e); } ); } @@ -317,7 +371,7 @@ export class ConfigService extends PollConfig { return { choice_id: elem.id, value: elem.answer - } + }; } }); console.log('converted', converted); @@ -335,7 +389,7 @@ export class ConfigService extends PollConfig { pseudo: this.myName, email: this.myEmail, votes: this.convertChoicesAnsweredToSend(this.currentPoll.choices), - } + }; } this.myVoteStack = voteStack; @@ -351,7 +405,7 @@ export class ConfigService extends PollConfig { this.handleVoteAdded(res); }, (e) => { - this.handleError(e) + this.handleError(e); } ); } @@ -361,8 +415,8 @@ export class ConfigService extends PollConfig { this.displayConfirmVoteModalAdmin = true; } // save modifier token - this.myVoteStack['modifier_token'] = res.modifier_token; - this.myVoteStack['id'] = res.vote_stack.id; + this.myVoteStack.modifier_token = res.modifier_token; + this.myVoteStack.id = res.vote_stack.id; this.updateCurrentPollFromResponse(res); } @@ -386,7 +440,7 @@ export class ConfigService extends PollConfig { this.messageService.add({severity: 'success', summary: 'Vote mis à jour'}); this.updateCurrentPollFromResponse(res); }, (e) => { - this.handleError(e) + this.handleError(e); } ); } @@ -404,7 +458,7 @@ export class ConfigService extends PollConfig { email: this.myEmail, date: new Date(), text: this.myComment, - } + }; } console.log('comment', comment); this.http.post( @@ -450,7 +504,7 @@ export class ConfigService extends PollConfig { }); }, (e) => { - this.handleError(e) + this.handleError(e); } ); } @@ -473,7 +527,7 @@ export class ConfigService extends PollConfig { }); }, (e) => { - this.handleError(e) + this.handleError(e); } ); } @@ -488,7 +542,7 @@ export class ConfigService extends PollConfig { }); return; } - let self = this; + const self = this; // prompt for confirmation this.confirmationService.confirm({ message: 'Are you sure that you want to completely delete this poll (' + self.title + ') and all is data permanentely?', @@ -505,7 +559,7 @@ export class ConfigService extends PollConfig { this.router.navigate(['home']); }, (e) => { - this.handleError(e) + this.handleError(e); } ); } @@ -531,7 +585,7 @@ export class ConfigService extends PollConfig { }); this.updateCurrentPollFromResponse(res); }, (e) => { - this.handleError(e) + this.handleError(e); } ); } @@ -544,7 +598,7 @@ export class ConfigService extends PollConfig { let rows = []; - let now = new Date(); + const now = new Date(); const headers = [ ['export de sondage Framadate ', this.customUrl], ['le', now.toISOString()], @@ -552,18 +606,18 @@ export class ConfigService extends PollConfig { ['pseudo']]; - let listOfChoices = ['choices : ']; + const listOfChoices = ['choices : ']; this.currentPoll.choices.map(choice => { - listOfChoices.push(choice.text) + listOfChoices.push(choice.text); }); listOfChoices.push('pseudo'); this.currentPoll.stacks.map(voteStack => { - let voteStackInArray = [voteStack.pseudo]; - let keysVotes = Object.keys(voteStack.votes); + const voteStackInArray = [voteStack.pseudo]; + const keysVotes = Object.keys(voteStack.votes); keysVotes.map(id => { - voteStackInArray.push(voteStack.votes[id].value ? voteStack.votes[id].value : "") + voteStackInArray.push(voteStack.votes[id].value ? voteStack.votes[id].value : ''); }); rows.push( voteStackInArray @@ -580,32 +634,32 @@ export class ConfigService extends PollConfig { item.text, item.date.date, '\n'] - ) + ); }); headers.push(listOfChoices); rows = [headers, listOfChoices, rows, headersComments, comments]; - let convertedCsv = rows.map(elem => { + const convertedCsv = rows.map(elem => { console.log('elem', elem); return elem.map(item => { console.log('item', item); if (typeof item === typeof Array) { - return item.join('\n') + return item.join('\n'); } return item; - }).join('\n') + }).join('\n'); }).join('\n'); console.log('rows', rows); console.log('convertedCsv', convertedCsv); - let csvContent = "data:text/csv;charset=utf-8," + const csvContent = 'data:text/csv;charset=utf-8,' + convertedCsv; console.log('csvContent', csvContent); - var encodedUri = encodeURI(csvContent); - var link = document.createElement("a"); - link.setAttribute("href", encodedUri); - let exportFileName = (this.urlPublic ? this.urlPublic : this.utils.makeSlug(this)) + "_export_" + new Date() + ".csv"; - link.setAttribute("download", exportFileName); + const encodedUri = encodeURI(csvContent); + const link = document.createElement('a'); + link.setAttribute('href', encodedUri); + const exportFileName = (this.urlPublic ? this.urlPublic : this.utils.makeSlug(this)) + '_export_' + new Date() + '.csv'; + link.setAttribute('download', exportFileName); document.body.appendChild(link); // Required for FF link.click(); // This will download the data file named "my_data.csv". } @@ -617,1438 +671,1438 @@ export class ConfigService extends PollConfig { todo(message = '') { this.messageService.add({ severity: 'info' + message, - detail: "cette fonctionnalité n'est pas encore disponible. Venez en discuter sur framateam.org / Ux et design libre / Framasoft", - summary: "Work in progress", + detail: 'cette fonctionnalité n\'est pas encore disponible. Venez en discuter sur framateam.org / Ux et design libre / Framasoft', + summary: 'Work in progress', }); } execStuff() { const mockResponse = { - "message": "you created a vote stack from an existing owner : tktest@tktest.com", - "poll": { - "id": 3, - "title": "dessin animé préféré", - "customUrl": null, - "description": "choisissez votre animé préféré", - "creationDate": { - "date": "2020-01-22 14:28:19.000000", - "timezone_type": 3, - "timezone": "Europe/Paris" + message: 'you created a vote stack from an existing owner : tktest@tktest.com', + poll: { + id: 3, + title: 'dessin animé préféré', + customUrl: null, + description: 'choisissez votre animé préféré', + creationDate: { + date: '2020-01-22 14:28:19.000000', + timezone_type: 3, + timezone: 'Europe/Paris' }, - "expiracyDate": { - "date": "2020-01-22 14:28:19.000000", - "timezone_type": 3, - "timezone": "Europe/Paris" + expiracyDate: { + date: '2020-01-22 14:28:19.000000', + timezone_type: 3, + timezone: 'Europe/Paris' }, - "owner": { - "__initializer__": null, - "__cloner__": null, - "__isInitialized__": true, - "pseudo": "tk_TEST", - "email": "tktest@tktest.com" + owner: { + __initializer__: null, + __cloner__: null, + __isInitialized__: true, + pseudo: 'tk_TEST', + email: 'tktest@tktest.com' }, - "kind": "text", - "allowedAnswers": [ - "yes" + kind: 'text', + allowedAnswers: [ + 'yes' ], - "modificationPolicy": "self", - "mailOnComment": null, - "mailOnVote": null, - "hideResults": null, - "showResultEvenIfPasswords": null, - "votes": {}, - "stacksOfVotes": {}, - "choices": {}, - "comments": {}, - "defaultExpiracyDaysFromNow": 60 + modificationPolicy: 'self', + mailOnComment: null, + mailOnVote: null, + hideResults: null, + showResultEvenIfPasswords: null, + votes: {}, + stacksOfVotes: {}, + choices: {}, + comments: {}, + defaultExpiracyDaysFromNow: 60 }, - "vote_stack": { - "id": 43, - "modifier_token": "b88Qnb1A515Sfedee8b74d726A32444m87cn9Zc0f9t6Ued516f76235V93tBKcJVJearh061S8I0o5l24wbIaMe2v4wg76dhEBBi9m-28Qa601b664L", - "pseudo": "tk_TEST", - "creation_date": { - "date": "2020-04-02 17:55:45.201475", - "timezone_type": 3, - "timezone": "Europe/Paris" + vote_stack: { + id: 43, + modifier_token: 'b88Qnb1A515Sfedee8b74d726A32444m87cn9Zc0f9t6Ued516f76235V93tBKcJVJearh061S8I0o5l24wbIaMe2v4wg76dhEBBi9m-28Qa601b664L', + pseudo: 'tk_TEST', + creation_date: { + date: '2020-04-02 17:55:45.201475', + timezone_type: 3, + timezone: 'Europe/Paris' }, - "votes": { - "5": { - "id": 93, - "value": "yes", - "choice_id": 5, - "text": "Vic le viking", - "stack_id": 43 + votes: { + 5: { + id: 93, + value: 'yes', + choice_id: 5, + text: 'Vic le viking', + stack_id: 43 }, - "6": { - "id": 94, - "value": "yes", - "choice_id": 6, - "text": "Boumbo petite automobile", - "stack_id": 43 + 6: { + id: 94, + value: 'yes', + choice_id: 6, + text: 'Boumbo petite automobile', + stack_id: 43 }, - "7": { - "id": 95, - "value": "yes", - "choice_id": 7, - "text": "Les mystérieuses cités d'or", - "stack_id": 43 + 7: { + id: 95, + value: 'yes', + choice_id: 7, + text: 'Les mystérieuses cités d\'or', + stack_id: 43 }, - "8": { - "id": 96, - "value": "yes", - "choice_id": 8, - "text": "Les mondes engloutis", - "stack_id": 43 + 8: { + id: 96, + value: 'yes', + choice_id: 8, + text: 'Les mondes engloutis', + stack_id: 43 }, - "9": { - "id": 97, - "value": "yes", - "choice_id": 9, - "text": "Foot 2 rue", - "stack_id": 43 + 9: { + id: 97, + value: 'yes', + choice_id: 9, + text: 'Foot 2 rue', + stack_id: 43 }, - "10": { - "choice_id": 10 + 10: { + choice_id: 10 }, - "11": { - "choice_id": 11 + 11: { + choice_id: 11 } } }, - "stacks": [ + stacks: [ { - "id": 3, - "modifier_token": "sfdH00Fy17bt5c3Y5zYk5GDsX7Cl67cgec14Qd06V87g74JFOr2UOC2ZL8E919eBmI72W8f5keYDeWfrV7SQW35fw0Vg452k25w9BrS62MtOs89JjLQ", - "pseudo": "voting_people_TEST", - "creation_date": { - "date": "2020-01-22 14:28:19.000000", - "timezone_type": 3, - "timezone": "Europe/Paris" + id: 3, + modifier_token: 'sfdH00Fy17bt5c3Y5zYk5GDsX7Cl67cgec14Qd06V87g74JFOr2UOC2ZL8E919eBmI72W8f5keYDeWfrV7SQW35fw0Vg452k25w9BrS62MtOs89JjLQ', + pseudo: 'voting_people_TEST', + creation_date: { + date: '2020-01-22 14:28:19.000000', + timezone_type: 3, + timezone: 'Europe/Paris' }, - "votes": { - "5": { - "choice_id": 5 + votes: { + 5: { + choice_id: 5 }, - "6": { - "id": 5, - "value": "maybe", - "choice_id": 6, - "text": "Boumbo petite automobile", - "stack_id": 3 + 6: { + id: 5, + value: 'maybe', + choice_id: 6, + text: 'Boumbo petite automobile', + stack_id: 3 }, - "7": { - "id": 4, - "value": "yes", - "choice_id": 7, - "text": "Les mystérieuses cités d'or", - "stack_id": 3 + 7: { + id: 4, + value: 'yes', + choice_id: 7, + text: 'Les mystérieuses cités d\'or', + stack_id: 3 }, - "8": { - "choice_id": 8 + 8: { + choice_id: 8 }, - "9": { - "choice_id": 9 + 9: { + choice_id: 9 }, - "10": { - "choice_id": 10 + 10: { + choice_id: 10 }, - "11": { - "choice_id": 11 + 11: { + choice_id: 11 } } }, { - "id": 4, - "modifier_token": "sfdH00Fy17bt5c3Y5zYk5GDsX7Cl67cgec14Qd06V87g74JFOr2UOC2ZL8E919eBmI72W8f5keYDeWfrV7SQW35fw0Vg452k25w9BrS62MtOs89JjLQ", - "pseudo": "voting_people_TEST", - "creation_date": { - "date": "2020-01-22 14:28:19.000000", - "timezone_type": 3, - "timezone": "Europe/Paris" + id: 4, + modifier_token: 'sfdH00Fy17bt5c3Y5zYk5GDsX7Cl67cgec14Qd06V87g74JFOr2UOC2ZL8E919eBmI72W8f5keYDeWfrV7SQW35fw0Vg452k25w9BrS62MtOs89JjLQ', + pseudo: 'voting_people_TEST', + creation_date: { + date: '2020-01-22 14:28:19.000000', + timezone_type: 3, + timezone: 'Europe/Paris' }, - "votes": { - "5": { - "choice_id": 5 + votes: { + 5: { + choice_id: 5 }, - "6": { - "id": 6, - "value": "yes", - "choice_id": 6, - "text": "Boumbo petite automobile", - "stack_id": 4 + 6: { + id: 6, + value: 'yes', + choice_id: 6, + text: 'Boumbo petite automobile', + stack_id: 4 }, - "7": { - "id": 8, - "value": "no", - "choice_id": 7, - "text": "Les mystérieuses cités d'or", - "stack_id": 4 + 7: { + id: 8, + value: 'no', + choice_id: 7, + text: 'Les mystérieuses cités d\'or', + stack_id: 4 }, - "8": { - "choice_id": 8 + 8: { + choice_id: 8 }, - "9": { - "choice_id": 9 + 9: { + choice_id: 9 }, - "10": { - "choice_id": 10 + 10: { + choice_id: 10 }, - "11": { - "choice_id": 11 + 11: { + choice_id: 11 } } }, { - "id": 5, - "modifier_token": "sfdH00Fy17bt5c3Y5zYk5GDsX7Cl67cgec14Qd06V87g74JFOr2UOC2ZL8E919eBmI72W8f5keYDeWfrV7SQW35fw0Vg452k25w9BrS62MtOs89JjLQ", - "pseudo": "voting_people_TEST", - "creation_date": { - "date": "2020-01-22 16:00:50.000000", - "timezone_type": 3, - "timezone": "Europe/Paris" + id: 5, + modifier_token: 'sfdH00Fy17bt5c3Y5zYk5GDsX7Cl67cgec14Qd06V87g74JFOr2UOC2ZL8E919eBmI72W8f5keYDeWfrV7SQW35fw0Vg452k25w9BrS62MtOs89JjLQ', + pseudo: 'voting_people_TEST', + creation_date: { + date: '2020-01-22 16:00:50.000000', + timezone_type: 3, + timezone: 'Europe/Paris' }, - "votes": { - "5": { - "id": 9, - "value": "no", - "choice_id": 5, - "text": "Vic le viking", - "stack_id": 5 + votes: { + 5: { + id: 9, + value: 'no', + choice_id: 5, + text: 'Vic le viking', + stack_id: 5 }, - "6": { - "id": 10, - "value": "maybe", - "choice_id": 6, - "text": "Boumbo petite automobile", - "stack_id": 5 + 6: { + id: 10, + value: 'maybe', + choice_id: 6, + text: 'Boumbo petite automobile', + stack_id: 5 }, - "7": { - "id": 11, - "value": "yes", - "choice_id": 7, - "text": "Les mystérieuses cités d'or", - "stack_id": 5 + 7: { + id: 11, + value: 'yes', + choice_id: 7, + text: 'Les mystérieuses cités d\'or', + stack_id: 5 }, - "8": { - "choice_id": 8 + 8: { + choice_id: 8 }, - "9": { - "choice_id": 9 + 9: { + choice_id: 9 }, - "10": { - "choice_id": 10 + 10: { + choice_id: 10 }, - "11": { - "choice_id": 11 + 11: { + choice_id: 11 } } }, { - "id": 6, - "modifier_token": "W1275k1tOh7CA9e9F0VbD58teW3Z451848Sh14imcr90QY1d3tK415mHw9Ib8II8S91F2n8dhk135-20d9cT2mX3UfZ92aeuQdwcj32e17E0bc50fp3d", - "pseudo": "", - "creation_date": { - "date": "2020-01-22 16:01:10.000000", - "timezone_type": 3, - "timezone": "Europe/Paris" + id: 6, + modifier_token: 'W1275k1tOh7CA9e9F0VbD58teW3Z451848Sh14imcr90QY1d3tK415mHw9Ib8II8S91F2n8dhk135-20d9cT2mX3UfZ92aeuQdwcj32e17E0bc50fp3d', + pseudo: '', + creation_date: { + date: '2020-01-22 16:01:10.000000', + timezone_type: 3, + timezone: 'Europe/Paris' }, - "votes": { - "5": { - "id": 12, - "value": "yes", - "choice_id": 5, - "text": "Vic le viking", - "stack_id": 6 + votes: { + 5: { + id: 12, + value: 'yes', + choice_id: 5, + text: 'Vic le viking', + stack_id: 6 }, - "6": { - "id": 13, - "value": "maybe", - "choice_id": 6, - "text": "Boumbo petite automobile", - "stack_id": 6 + 6: { + id: 13, + value: 'maybe', + choice_id: 6, + text: 'Boumbo petite automobile', + stack_id: 6 }, - "7": { - "id": 14, - "value": "no", - "choice_id": 7, - "text": "Les mystérieuses cités d'or", - "stack_id": 6 + 7: { + id: 14, + value: 'no', + choice_id: 7, + text: 'Les mystérieuses cités d\'or', + stack_id: 6 }, - "8": { - "choice_id": 8 + 8: { + choice_id: 8 }, - "9": { - "choice_id": 9 + 9: { + choice_id: 9 }, - "10": { - "choice_id": 10 + 10: { + choice_id: 10 }, - "11": { - "choice_id": 11 + 11: { + choice_id: 11 } } }, { - "id": 7, - "modifier_token": "b88Qnb1A515Sfedee8b74d726A32444m87cn9Zc0f9t6Ued516f76235V93tBKcJVJearh061S8I0o5l24wbIaMe2v4wg76dhEBBi9m-28Qa601b664L", - "pseudo": "tk_TEST", - "creation_date": { - "date": "2020-01-23 16:19:29.000000", - "timezone_type": 3, - "timezone": "Europe/Paris" + id: 7, + modifier_token: 'b88Qnb1A515Sfedee8b74d726A32444m87cn9Zc0f9t6Ued516f76235V93tBKcJVJearh061S8I0o5l24wbIaMe2v4wg76dhEBBi9m-28Qa601b664L', + pseudo: 'tk_TEST', + creation_date: { + date: '2020-01-23 16:19:29.000000', + timezone_type: 3, + timezone: 'Europe/Paris' }, - "votes": { - "5": { - "choice_id": 5 + votes: { + 5: { + choice_id: 5 }, - "6": { - "id": 15, - "value": "yes", - "choice_id": 6, - "text": "Boumbo petite automobile", - "stack_id": 7 + 6: { + id: 15, + value: 'yes', + choice_id: 6, + text: 'Boumbo petite automobile', + stack_id: 7 }, - "7": { - "choice_id": 7 + 7: { + choice_id: 7 }, - "8": { - "choice_id": 8 + 8: { + choice_id: 8 }, - "9": { - "choice_id": 9 + 9: { + choice_id: 9 }, - "10": { - "id": 16, - "value": "yes", - "choice_id": 10, - "text": "Le chat, la vache, et l'océan", - "stack_id": 7 + 10: { + id: 16, + value: 'yes', + choice_id: 10, + text: 'Le chat, la vache, et l\'océan', + stack_id: 7 }, - "11": { - "choice_id": 11 + 11: { + choice_id: 11 } } }, { - "id": 12, - "modifier_token": "b88Qnb1A515Sfedee8b74d726A32444m87cn9Zc0f9t6Ued516f76235V93tBKcJVJearh061S8I0o5l24wbIaMe2v4wg76dhEBBi9m-28Qa601b664L", - "pseudo": "tk_TEST", - "creation_date": { - "date": "2020-01-24 11:34:54.000000", - "timezone_type": 3, - "timezone": "Europe/Paris" + id: 12, + modifier_token: 'b88Qnb1A515Sfedee8b74d726A32444m87cn9Zc0f9t6Ued516f76235V93tBKcJVJearh061S8I0o5l24wbIaMe2v4wg76dhEBBi9m-28Qa601b664L', + pseudo: 'tk_TEST', + creation_date: { + date: '2020-01-24 11:34:54.000000', + timezone_type: 3, + timezone: 'Europe/Paris' }, - "votes": { - "5": { - "id": 21, - "value": "yes", - "choice_id": 5, - "text": "Vic le viking", - "stack_id": 12 + votes: { + 5: { + id: 21, + value: 'yes', + choice_id: 5, + text: 'Vic le viking', + stack_id: 12 }, - "6": { - "choice_id": 6 + 6: { + choice_id: 6 }, - "7": { - "choice_id": 7 + 7: { + choice_id: 7 }, - "8": { - "choice_id": 8 + 8: { + choice_id: 8 }, - "9": { - "choice_id": 9 + 9: { + choice_id: 9 }, - "10": { - "choice_id": 10 + 10: { + choice_id: 10 }, - "11": { - "id": 22, - "value": "yes", - "choice_id": 11, - "text": "Digimon", - "stack_id": 12 + 11: { + id: 22, + value: 'yes', + choice_id: 11, + text: 'Digimon', + stack_id: 12 } } }, { - "id": 13, - "modifier_token": "b88Qnb1A515Sfedee8b74d726A32444m87cn9Zc0f9t6Ued516f76235V93tBKcJVJearh061S8I0o5l24wbIaMe2v4wg76dhEBBi9m-28Qa601b664L", - "pseudo": "tk_TEST", - "creation_date": { - "date": "2020-01-24 12:00:47.000000", - "timezone_type": 3, - "timezone": "Europe/Paris" + id: 13, + modifier_token: 'b88Qnb1A515Sfedee8b74d726A32444m87cn9Zc0f9t6Ued516f76235V93tBKcJVJearh061S8I0o5l24wbIaMe2v4wg76dhEBBi9m-28Qa601b664L', + pseudo: 'tk_TEST', + creation_date: { + date: '2020-01-24 12:00:47.000000', + timezone_type: 3, + timezone: 'Europe/Paris' }, - "votes": { - "5": { - "choice_id": 5 + votes: { + 5: { + choice_id: 5 }, - "6": { - "id": 23, - "value": "yes", - "choice_id": 6, - "text": "Boumbo petite automobile", - "stack_id": 13 + 6: { + id: 23, + value: 'yes', + choice_id: 6, + text: 'Boumbo petite automobile', + stack_id: 13 }, - "7": { - "id": 24, - "value": "yes", - "choice_id": 7, - "text": "Les mystérieuses cités d'or", - "stack_id": 13 + 7: { + id: 24, + value: 'yes', + choice_id: 7, + text: 'Les mystérieuses cités d\'or', + stack_id: 13 }, - "8": { - "choice_id": 8 + 8: { + choice_id: 8 }, - "9": { - "id": 25, - "value": "yes", - "choice_id": 9, - "text": "Foot 2 rue", - "stack_id": 13 + 9: { + id: 25, + value: 'yes', + choice_id: 9, + text: 'Foot 2 rue', + stack_id: 13 }, - "10": { - "choice_id": 10 + 10: { + choice_id: 10 }, - "11": { - "choice_id": 11 + 11: { + choice_id: 11 } } }, { - "id": 14, - "modifier_token": "b88Qnb1A515Sfedee8b74d726A32444m87cn9Zc0f9t6Ued516f76235V93tBKcJVJearh061S8I0o5l24wbIaMe2v4wg76dhEBBi9m-28Qa601b664L", - "pseudo": "tk_TEST", - "creation_date": { - "date": "2020-01-24 12:01:47.000000", - "timezone_type": 3, - "timezone": "Europe/Paris" + id: 14, + modifier_token: 'b88Qnb1A515Sfedee8b74d726A32444m87cn9Zc0f9t6Ued516f76235V93tBKcJVJearh061S8I0o5l24wbIaMe2v4wg76dhEBBi9m-28Qa601b664L', + pseudo: 'tk_TEST', + creation_date: { + date: '2020-01-24 12:01:47.000000', + timezone_type: 3, + timezone: 'Europe/Paris' }, - "votes": { - "5": { - "id": 26, - "value": "yes", - "choice_id": 5, - "text": "Vic le viking", - "stack_id": 14 + votes: { + 5: { + id: 26, + value: 'yes', + choice_id: 5, + text: 'Vic le viking', + stack_id: 14 }, - "6": { - "choice_id": 6 + 6: { + choice_id: 6 }, - "7": { - "choice_id": 7 + 7: { + choice_id: 7 }, - "8": { - "choice_id": 8 + 8: { + choice_id: 8 }, - "9": { - "choice_id": 9 + 9: { + choice_id: 9 }, - "10": { - "choice_id": 10 + 10: { + choice_id: 10 }, - "11": { - "choice_id": 11 + 11: { + choice_id: 11 } } }, { - "id": 15, - "modifier_token": "b88Qnb1A515Sfedee8b74d726A32444m87cn9Zc0f9t6Ued516f76235V93tBKcJVJearh061S8I0o5l24wbIaMe2v4wg76dhEBBi9m-28Qa601b664L", - "pseudo": "tk_TEST", - "creation_date": { - "date": "2020-01-24 12:07:15.000000", - "timezone_type": 3, - "timezone": "Europe/Paris" + id: 15, + modifier_token: 'b88Qnb1A515Sfedee8b74d726A32444m87cn9Zc0f9t6Ued516f76235V93tBKcJVJearh061S8I0o5l24wbIaMe2v4wg76dhEBBi9m-28Qa601b664L', + pseudo: 'tk_TEST', + creation_date: { + date: '2020-01-24 12:07:15.000000', + timezone_type: 3, + timezone: 'Europe/Paris' }, - "votes": { - "5": { - "choice_id": 5 + votes: { + 5: { + choice_id: 5 }, - "6": { - "id": 27, - "value": "yes", - "choice_id": 6, - "text": "Boumbo petite automobile", - "stack_id": 15 + 6: { + id: 27, + value: 'yes', + choice_id: 6, + text: 'Boumbo petite automobile', + stack_id: 15 }, - "7": { - "choice_id": 7 + 7: { + choice_id: 7 }, - "8": { - "choice_id": 8 + 8: { + choice_id: 8 }, - "9": { - "choice_id": 9 + 9: { + choice_id: 9 }, - "10": { - "choice_id": 10 + 10: { + choice_id: 10 }, - "11": { - "choice_id": 11 + 11: { + choice_id: 11 } } }, { - "id": 16, - "modifier_token": "b88Qnb1A515Sfedee8b74d726A32444m87cn9Zc0f9t6Ued516f76235V93tBKcJVJearh061S8I0o5l24wbIaMe2v4wg76dhEBBi9m-28Qa601b664L", - "pseudo": "tk_TEST", - "creation_date": { - "date": "2020-01-24 12:08:58.000000", - "timezone_type": 3, - "timezone": "Europe/Paris" + id: 16, + modifier_token: 'b88Qnb1A515Sfedee8b74d726A32444m87cn9Zc0f9t6Ued516f76235V93tBKcJVJearh061S8I0o5l24wbIaMe2v4wg76dhEBBi9m-28Qa601b664L', + pseudo: 'tk_TEST', + creation_date: { + date: '2020-01-24 12:08:58.000000', + timezone_type: 3, + timezone: 'Europe/Paris' }, - "votes": { - "5": { - "choice_id": 5 + votes: { + 5: { + choice_id: 5 }, - "6": { - "id": 28, - "value": "yes", - "choice_id": 6, - "text": "Boumbo petite automobile", - "stack_id": 16 + 6: { + id: 28, + value: 'yes', + choice_id: 6, + text: 'Boumbo petite automobile', + stack_id: 16 }, - "7": { - "choice_id": 7 + 7: { + choice_id: 7 }, - "8": { - "choice_id": 8 + 8: { + choice_id: 8 }, - "9": { - "choice_id": 9 + 9: { + choice_id: 9 }, - "10": { - "choice_id": 10 + 10: { + choice_id: 10 }, - "11": { - "choice_id": 11 + 11: { + choice_id: 11 } } }, { - "id": 17, - "modifier_token": "b88Qnb1A515Sfedee8b74d726A32444m87cn9Zc0f9t6Ued516f76235V93tBKcJVJearh061S8I0o5l24wbIaMe2v4wg76dhEBBi9m-28Qa601b664L", - "pseudo": "tk_TEST", - "creation_date": { - "date": "2020-01-24 12:09:15.000000", - "timezone_type": 3, - "timezone": "Europe/Paris" + id: 17, + modifier_token: 'b88Qnb1A515Sfedee8b74d726A32444m87cn9Zc0f9t6Ued516f76235V93tBKcJVJearh061S8I0o5l24wbIaMe2v4wg76dhEBBi9m-28Qa601b664L', + pseudo: 'tk_TEST', + creation_date: { + date: '2020-01-24 12:09:15.000000', + timezone_type: 3, + timezone: 'Europe/Paris' }, - "votes": { - "5": { - "choice_id": 5 + votes: { + 5: { + choice_id: 5 }, - "6": { - "choice_id": 6 + 6: { + choice_id: 6 }, - "7": { - "id": 29, - "value": "yes", - "choice_id": 7, - "text": "Les mystérieuses cités d'or", - "stack_id": 17 + 7: { + id: 29, + value: 'yes', + choice_id: 7, + text: 'Les mystérieuses cités d\'or', + stack_id: 17 }, - "8": { - "choice_id": 8 + 8: { + choice_id: 8 }, - "9": { - "choice_id": 9 + 9: { + choice_id: 9 }, - "10": { - "choice_id": 10 + 10: { + choice_id: 10 }, - "11": { - "choice_id": 11 + 11: { + choice_id: 11 } } }, { - "id": 18, - "modifier_token": "b88Qnb1A515Sfedee8b74d726A32444m87cn9Zc0f9t6Ued516f76235V93tBKcJVJearh061S8I0o5l24wbIaMe2v4wg76dhEBBi9m-28Qa601b664L", - "pseudo": "tk_TEST", - "creation_date": { - "date": "2020-01-24 12:15:45.000000", - "timezone_type": 3, - "timezone": "Europe/Paris" + id: 18, + modifier_token: 'b88Qnb1A515Sfedee8b74d726A32444m87cn9Zc0f9t6Ued516f76235V93tBKcJVJearh061S8I0o5l24wbIaMe2v4wg76dhEBBi9m-28Qa601b664L', + pseudo: 'tk_TEST', + creation_date: { + date: '2020-01-24 12:15:45.000000', + timezone_type: 3, + timezone: 'Europe/Paris' }, - "votes": { - "5": { - "choice_id": 5 + votes: { + 5: { + choice_id: 5 }, - "6": { - "choice_id": 6 + 6: { + choice_id: 6 }, - "7": { - "id": 30, - "value": "yes", - "choice_id": 7, - "text": "Les mystérieuses cités d'or", - "stack_id": 18 + 7: { + id: 30, + value: 'yes', + choice_id: 7, + text: 'Les mystérieuses cités d\'or', + stack_id: 18 }, - "8": { - "choice_id": 8 + 8: { + choice_id: 8 }, - "9": { - "choice_id": 9 + 9: { + choice_id: 9 }, - "10": { - "choice_id": 10 + 10: { + choice_id: 10 }, - "11": { - "choice_id": 11 + 11: { + choice_id: 11 } } }, { - "id": 19, - "modifier_token": "b88Qnb1A515Sfedee8b74d726A32444m87cn9Zc0f9t6Ued516f76235V93tBKcJVJearh061S8I0o5l24wbIaMe2v4wg76dhEBBi9m-28Qa601b664L", - "pseudo": "tk_TEST", - "creation_date": { - "date": "2020-01-24 12:16:50.000000", - "timezone_type": 3, - "timezone": "Europe/Paris" + id: 19, + modifier_token: 'b88Qnb1A515Sfedee8b74d726A32444m87cn9Zc0f9t6Ued516f76235V93tBKcJVJearh061S8I0o5l24wbIaMe2v4wg76dhEBBi9m-28Qa601b664L', + pseudo: 'tk_TEST', + creation_date: { + date: '2020-01-24 12:16:50.000000', + timezone_type: 3, + timezone: 'Europe/Paris' }, - "votes": { - "5": { - "id": 31, - "value": "yes", - "choice_id": 5, - "text": "Vic le viking", - "stack_id": 19 + votes: { + 5: { + id: 31, + value: 'yes', + choice_id: 5, + text: 'Vic le viking', + stack_id: 19 }, - "6": { - "id": 32, - "value": "yes", - "choice_id": 6, - "text": "Boumbo petite automobile", - "stack_id": 19 + 6: { + id: 32, + value: 'yes', + choice_id: 6, + text: 'Boumbo petite automobile', + stack_id: 19 }, - "7": { - "id": 33, - "value": "yes", - "choice_id": 7, - "text": "Les mystérieuses cités d'or", - "stack_id": 19 + 7: { + id: 33, + value: 'yes', + choice_id: 7, + text: 'Les mystérieuses cités d\'or', + stack_id: 19 }, - "8": { - "choice_id": 8 + 8: { + choice_id: 8 }, - "9": { - "choice_id": 9 + 9: { + choice_id: 9 }, - "10": { - "choice_id": 10 + 10: { + choice_id: 10 }, - "11": { - "choice_id": 11 + 11: { + choice_id: 11 } } }, { - "id": 25, - "modifier_token": "b88Qnb1A515Sfedee8b74d726A32444m87cn9Zc0f9t6Ued516f76235V93tBKcJVJearh061S8I0o5l24wbIaMe2v4wg76dhEBBi9m-28Qa601b664L", - "pseudo": "tk_TEST", - "creation_date": { - "date": "2020-01-29 17:55:42.000000", - "timezone_type": 3, - "timezone": "Europe/Paris" + id: 25, + modifier_token: 'b88Qnb1A515Sfedee8b74d726A32444m87cn9Zc0f9t6Ued516f76235V93tBKcJVJearh061S8I0o5l24wbIaMe2v4wg76dhEBBi9m-28Qa601b664L', + pseudo: 'tk_TEST', + creation_date: { + date: '2020-01-29 17:55:42.000000', + timezone_type: 3, + timezone: 'Europe/Paris' }, - "votes": { - "5": { - "choice_id": 5 + votes: { + 5: { + choice_id: 5 }, - "6": { - "id": 44, - "value": "yes", - "choice_id": 6, - "text": "Boumbo petite automobile", - "stack_id": 25 + 6: { + id: 44, + value: 'yes', + choice_id: 6, + text: 'Boumbo petite automobile', + stack_id: 25 }, - "7": { - "choice_id": 7 + 7: { + choice_id: 7 }, - "8": { - "choice_id": 8 + 8: { + choice_id: 8 }, - "9": { - "id": 45, - "value": "yes", - "choice_id": 9, - "text": "Foot 2 rue", - "stack_id": 25 + 9: { + id: 45, + value: 'yes', + choice_id: 9, + text: 'Foot 2 rue', + stack_id: 25 }, - "10": { - "id": 46, - "value": "yes", - "choice_id": 10, - "text": "Le chat, la vache, et l'océan", - "stack_id": 25 + 10: { + id: 46, + value: 'yes', + choice_id: 10, + text: 'Le chat, la vache, et l\'océan', + stack_id: 25 }, - "11": { - "choice_id": 11 + 11: { + choice_id: 11 } } }, { - "id": 26, - "modifier_token": "b88Qnb1A515Sfedee8b74d726A32444m87cn9Zc0f9t6Ued516f76235V93tBKcJVJearh061S8I0o5l24wbIaMe2v4wg76dhEBBi9m-28Qa601b664L", - "pseudo": "tk_TEST", - "creation_date": { - "date": "2020-01-30 10:20:06.000000", - "timezone_type": 3, - "timezone": "Europe/Paris" + id: 26, + modifier_token: 'b88Qnb1A515Sfedee8b74d726A32444m87cn9Zc0f9t6Ued516f76235V93tBKcJVJearh061S8I0o5l24wbIaMe2v4wg76dhEBBi9m-28Qa601b664L', + pseudo: 'tk_TEST', + creation_date: { + date: '2020-01-30 10:20:06.000000', + timezone_type: 3, + timezone: 'Europe/Paris' }, - "votes": { - "5": { - "id": 47, - "value": "yes", - "choice_id": 5, - "text": "Vic le viking", - "stack_id": 26 + votes: { + 5: { + id: 47, + value: 'yes', + choice_id: 5, + text: 'Vic le viking', + stack_id: 26 }, - "6": { - "id": 48, - "value": "yes", - "choice_id": 6, - "text": "Boumbo petite automobile", - "stack_id": 26 + 6: { + id: 48, + value: 'yes', + choice_id: 6, + text: 'Boumbo petite automobile', + stack_id: 26 }, - "7": { - "id": 49, - "value": "yes", - "choice_id": 7, - "text": "Les mystérieuses cités d'or", - "stack_id": 26 + 7: { + id: 49, + value: 'yes', + choice_id: 7, + text: 'Les mystérieuses cités d\'or', + stack_id: 26 }, - "8": { - "id": 50, - "value": "yes", - "choice_id": 8, - "text": "Les mondes engloutis", - "stack_id": 26 + 8: { + id: 50, + value: 'yes', + choice_id: 8, + text: 'Les mondes engloutis', + stack_id: 26 }, - "9": { - "choice_id": 9 + 9: { + choice_id: 9 }, - "10": { - "choice_id": 10 + 10: { + choice_id: 10 }, - "11": { - "choice_id": 11 + 11: { + choice_id: 11 } } }, { - "id": 28, - "modifier_token": "b88Qnb1A515Sfedee8b74d726A32444m87cn9Zc0f9t6Ued516f76235V93tBKcJVJearh061S8I0o5l24wbIaMe2v4wg76dhEBBi9m-28Qa601b664L", - "pseudo": "tk_TEST", - "creation_date": { - "date": "2020-01-30 17:23:48.000000", - "timezone_type": 3, - "timezone": "Europe/Paris" + id: 28, + modifier_token: 'b88Qnb1A515Sfedee8b74d726A32444m87cn9Zc0f9t6Ued516f76235V93tBKcJVJearh061S8I0o5l24wbIaMe2v4wg76dhEBBi9m-28Qa601b664L', + pseudo: 'tk_TEST', + creation_date: { + date: '2020-01-30 17:23:48.000000', + timezone_type: 3, + timezone: 'Europe/Paris' }, - "votes": { - "5": { - "id": 53, - "value": "yes", - "choice_id": 5, - "text": "Vic le viking", - "stack_id": 28 + votes: { + 5: { + id: 53, + value: 'yes', + choice_id: 5, + text: 'Vic le viking', + stack_id: 28 }, - "6": { - "id": 54, - "value": "yes", - "choice_id": 6, - "text": "Boumbo petite automobile", - "stack_id": 28 + 6: { + id: 54, + value: 'yes', + choice_id: 6, + text: 'Boumbo petite automobile', + stack_id: 28 }, - "7": { - "id": 55, - "value": "yes", - "choice_id": 7, - "text": "Les mystérieuses cités d'or", - "stack_id": 28 + 7: { + id: 55, + value: 'yes', + choice_id: 7, + text: 'Les mystérieuses cités d\'or', + stack_id: 28 }, - "8": { - "choice_id": 8 + 8: { + choice_id: 8 }, - "9": { - "choice_id": 9 + 9: { + choice_id: 9 }, - "10": { - "id": 56, - "value": "yes", - "choice_id": 10, - "text": "Le chat, la vache, et l'océan", - "stack_id": 28 + 10: { + id: 56, + value: 'yes', + choice_id: 10, + text: 'Le chat, la vache, et l\'océan', + stack_id: 28 }, - "11": { - "choice_id": 11 + 11: { + choice_id: 11 } } }, { - "id": 35, - "modifier_token": "b88Qnb1A515Sfedee8b74d726A32444m87cn9Zc0f9t6Ued516f76235V93tBKcJVJearh061S8I0o5l24wbIaMe2v4wg76dhEBBi9m-28Qa601b664L", - "pseudo": "tk_TEST", - "creation_date": { - "date": "2020-01-31 09:42:28.000000", - "timezone_type": 3, - "timezone": "Europe/Paris" + id: 35, + modifier_token: 'b88Qnb1A515Sfedee8b74d726A32444m87cn9Zc0f9t6Ued516f76235V93tBKcJVJearh061S8I0o5l24wbIaMe2v4wg76dhEBBi9m-28Qa601b664L', + pseudo: 'tk_TEST', + creation_date: { + date: '2020-01-31 09:42:28.000000', + timezone_type: 3, + timezone: 'Europe/Paris' }, - "votes": { - "5": { - "choice_id": 5 + votes: { + 5: { + choice_id: 5 }, - "6": { - "id": 69, - "value": "yes", - "choice_id": 6, - "text": "Boumbo petite automobile", - "stack_id": 35 + 6: { + id: 69, + value: 'yes', + choice_id: 6, + text: 'Boumbo petite automobile', + stack_id: 35 }, - "7": { - "id": 70, - "value": "yes", - "choice_id": 7, - "text": "Les mystérieuses cités d'or", - "stack_id": 35 + 7: { + id: 70, + value: 'yes', + choice_id: 7, + text: 'Les mystérieuses cités d\'or', + stack_id: 35 }, - "8": { - "choice_id": 8 + 8: { + choice_id: 8 }, - "9": { - "choice_id": 9 + 9: { + choice_id: 9 }, - "10": { - "choice_id": 10 + 10: { + choice_id: 10 }, - "11": { - "choice_id": 11 + 11: { + choice_id: 11 } } }, { - "id": 37, - "modifier_token": "b88Qnb1A515Sfedee8b74d726A32444m87cn9Zc0f9t6Ued516f76235V93tBKcJVJearh061S8I0o5l24wbIaMe2v4wg76dhEBBi9m-28Qa601b664L", - "pseudo": "tk_TEST", - "creation_date": { - "date": "2020-02-05 10:38:47.000000", - "timezone_type": 3, - "timezone": "Europe/Paris" + id: 37, + modifier_token: 'b88Qnb1A515Sfedee8b74d726A32444m87cn9Zc0f9t6Ued516f76235V93tBKcJVJearh061S8I0o5l24wbIaMe2v4wg76dhEBBi9m-28Qa601b664L', + pseudo: 'tk_TEST', + creation_date: { + date: '2020-02-05 10:38:47.000000', + timezone_type: 3, + timezone: 'Europe/Paris' }, - "votes": { - "5": { - "choice_id": 5 + votes: { + 5: { + choice_id: 5 }, - "6": { - "choice_id": 6 + 6: { + choice_id: 6 }, - "7": { - "choice_id": 7 + 7: { + choice_id: 7 }, - "8": { - "id": 74, - "value": "yes", - "choice_id": 8, - "text": "Les mondes engloutis", - "stack_id": 37 + 8: { + id: 74, + value: 'yes', + choice_id: 8, + text: 'Les mondes engloutis', + stack_id: 37 }, - "9": { - "id": 75, - "value": "yes", - "choice_id": 9, - "text": "Foot 2 rue", - "stack_id": 37 + 9: { + id: 75, + value: 'yes', + choice_id: 9, + text: 'Foot 2 rue', + stack_id: 37 }, - "10": { - "choice_id": 10 + 10: { + choice_id: 10 }, - "11": { - "choice_id": 11 + 11: { + choice_id: 11 } } }, { - "id": 40, - "modifier_token": "b88Qnb1A515Sfedee8b74d726A32444m87cn9Zc0f9t6Ued516f76235V93tBKcJVJearh061S8I0o5l24wbIaMe2v4wg76dhEBBi9m-28Qa601b664L", - "pseudo": "tk_TEST", - "creation_date": { - "date": "2020-02-22 17:53:57.000000", - "timezone_type": 3, - "timezone": "Europe/Paris" + id: 40, + modifier_token: 'b88Qnb1A515Sfedee8b74d726A32444m87cn9Zc0f9t6Ued516f76235V93tBKcJVJearh061S8I0o5l24wbIaMe2v4wg76dhEBBi9m-28Qa601b664L', + pseudo: 'tk_TEST', + creation_date: { + date: '2020-02-22 17:53:57.000000', + timezone_type: 3, + timezone: 'Europe/Paris' }, - "votes": { - "5": { - "id": 82, - "value": "no", - "choice_id": 5, - "text": "Vic le viking", - "stack_id": 40 + votes: { + 5: { + id: 82, + value: 'no', + choice_id: 5, + text: 'Vic le viking', + stack_id: 40 }, - "6": { - "id": 83, - "value": "yes", - "choice_id": 6, - "text": "Boumbo petite automobile", - "stack_id": 40 + 6: { + id: 83, + value: 'yes', + choice_id: 6, + text: 'Boumbo petite automobile', + stack_id: 40 }, - "7": { - "choice_id": 7 + 7: { + choice_id: 7 }, - "8": { - "id": 84, - "value": "yes", - "choice_id": 8, - "text": "Les mondes engloutis", - "stack_id": 40 + 8: { + id: 84, + value: 'yes', + choice_id: 8, + text: 'Les mondes engloutis', + stack_id: 40 }, - "9": { - "id": 85, - "value": "yes", - "choice_id": 9, - "text": "Foot 2 rue", - "stack_id": 40 + 9: { + id: 85, + value: 'yes', + choice_id: 9, + text: 'Foot 2 rue', + stack_id: 40 }, - "10": { - "choice_id": 10 + 10: { + choice_id: 10 }, - "11": { - "choice_id": 11 + 11: { + choice_id: 11 } } }, { - "id": 41, - "modifier_token": "b88Qnb1A515Sfedee8b74d726A32444m87cn9Zc0f9t6Ued516f76235V93tBKcJVJearh061S8I0o5l24wbIaMe2v4wg76dhEBBi9m-28Qa601b664L", - "pseudo": "tk_TEST", - "creation_date": { - "date": "2020-04-01 12:24:37.000000", - "timezone_type": 3, - "timezone": "Europe/Paris" + id: 41, + modifier_token: 'b88Qnb1A515Sfedee8b74d726A32444m87cn9Zc0f9t6Ued516f76235V93tBKcJVJearh061S8I0o5l24wbIaMe2v4wg76dhEBBi9m-28Qa601b664L', + pseudo: 'tk_TEST', + creation_date: { + date: '2020-04-01 12:24:37.000000', + timezone_type: 3, + timezone: 'Europe/Paris' }, - "votes": { - "5": { - "id": 86, - "value": "yes", - "choice_id": 5, - "text": "Vic le viking", - "stack_id": 41 + votes: { + 5: { + id: 86, + value: 'yes', + choice_id: 5, + text: 'Vic le viking', + stack_id: 41 }, - "6": { - "id": 87, - "value": "yes", - "choice_id": 6, - "text": "Boumbo petite automobile", - "stack_id": 41 + 6: { + id: 87, + value: 'yes', + choice_id: 6, + text: 'Boumbo petite automobile', + stack_id: 41 }, - "7": { - "id": 88, - "value": "yes", - "choice_id": 7, - "text": "Les mystérieuses cités d'or", - "stack_id": 41 + 7: { + id: 88, + value: 'yes', + choice_id: 7, + text: 'Les mystérieuses cités d\'or', + stack_id: 41 }, - "8": { - "choice_id": 8 + 8: { + choice_id: 8 }, - "9": { - "id": 89, - "value": "yes", - "choice_id": 9, - "text": "Foot 2 rue", - "stack_id": 41 + 9: { + id: 89, + value: 'yes', + choice_id: 9, + text: 'Foot 2 rue', + stack_id: 41 }, - "10": { - "id": 90, - "value": "yes", - "choice_id": 10, - "text": "Le chat, la vache, et l'océan", - "stack_id": 41 + 10: { + id: 90, + value: 'yes', + choice_id: 10, + text: 'Le chat, la vache, et l\'océan', + stack_id: 41 }, - "11": { - "choice_id": 11 + 11: { + choice_id: 11 } } }, { - "id": 43, - "modifier_token": "b88Qnb1A515Sfedee8b74d726A32444m87cn9Zc0f9t6Ued516f76235V93tBKcJVJearh061S8I0o5l24wbIaMe2v4wg76dhEBBi9m-28Qa601b664L", - "pseudo": "tk_TEST", - "creation_date": { - "date": "2020-04-02 17:55:45.201475", - "timezone_type": 3, - "timezone": "Europe/Paris" + id: 43, + modifier_token: 'b88Qnb1A515Sfedee8b74d726A32444m87cn9Zc0f9t6Ued516f76235V93tBKcJVJearh061S8I0o5l24wbIaMe2v4wg76dhEBBi9m-28Qa601b664L', + pseudo: 'tk_TEST', + creation_date: { + date: '2020-04-02 17:55:45.201475', + timezone_type: 3, + timezone: 'Europe/Paris' }, - "votes": { - "5": { - "id": 93, - "value": "yes", - "choice_id": 5, - "text": "Vic le viking", - "stack_id": 43 + votes: { + 5: { + id: 93, + value: 'yes', + choice_id: 5, + text: 'Vic le viking', + stack_id: 43 }, - "6": { - "id": 94, - "value": "yes", - "choice_id": 6, - "text": "Boumbo petite automobile", - "stack_id": 43 + 6: { + id: 94, + value: 'yes', + choice_id: 6, + text: 'Boumbo petite automobile', + stack_id: 43 }, - "7": { - "id": 95, - "value": "yes", - "choice_id": 7, - "text": "Les mystérieuses cités d'or", - "stack_id": 43 + 7: { + id: 95, + value: 'yes', + choice_id: 7, + text: 'Les mystérieuses cités d\'or', + stack_id: 43 }, - "8": { - "id": 96, - "value": "yes", - "choice_id": 8, - "text": "Les mondes engloutis", - "stack_id": 43 + 8: { + id: 96, + value: 'yes', + choice_id: 8, + text: 'Les mondes engloutis', + stack_id: 43 }, - "9": { - "id": 97, - "value": "yes", - "choice_id": 9, - "text": "Foot 2 rue", - "stack_id": 43 + 9: { + id: 97, + value: 'yes', + choice_id: 9, + text: 'Foot 2 rue', + stack_id: 43 }, - "10": { - "choice_id": 10 + 10: { + choice_id: 10 }, - "11": { - "choice_id": 11 + 11: { + choice_id: 11 } } } ], - "comments": [ + comments: [ { - "id": 4, - "text": "wouah trop bien framadate HOUHOUUUU!", - "pseudo": "tk_TEST", - "date": { - "date": "2020-01-22 16:00:22.000000", - "timezone_type": 3, - "timezone": "Europe/Paris" + id: 4, + text: 'wouah trop bien framadate HOUHOUUUU!', + pseudo: 'tk_TEST', + date: { + date: '2020-01-22 16:00:22.000000', + timezone_type: 3, + timezone: 'Europe/Paris' } }, { - "id": 6, - "text": "wouah trop bien framadate! zerf zrg ergetetht", - "pseudo": "tk_TEST", - "date": { - "date": "2020-01-22 16:09:32.000000", - "timezone_type": 3, - "timezone": "Europe/Paris" + id: 6, + text: 'wouah trop bien framadate! zerf zrg ergetetht', + pseudo: 'tk_TEST', + date: { + date: '2020-01-22 16:09:32.000000', + timezone_type: 3, + timezone: 'Europe/Paris' } }, { - "id": 7, - "text": "comment numléro 4\n", - "pseudo": "tk_TEST", - "date": { - "date": "2020-01-22 16:09:51.000000", - "timezone_type": 3, - "timezone": "Europe/Paris" + id: 7, + text: 'comment numléro 4\n', + pseudo: 'tk_TEST', + date: { + date: '2020-01-22 16:09:51.000000', + timezone_type: 3, + timezone: 'Europe/Paris' } }, { - "id": 8, - "text": "wouah trop bien framadate!", - "pseudo": "tk_TEST", - "date": { - "date": "2020-01-22 16:15:24.000000", - "timezone_type": 3, - "timezone": "Europe/Paris" + id: 8, + text: 'wouah trop bien framadate!', + pseudo: 'tk_TEST', + date: { + date: '2020-01-22 16:15:24.000000', + timezone_type: 3, + timezone: 'Europe/Paris' } }, { - "id": 9, - "text": "wouah trop bien framadate zef ret r e re!", - "pseudo": "tk_TEST", - "date": { - "date": "2020-01-23 14:11:21.000000", - "timezone_type": 3, - "timezone": "Europe/Paris" + id: 9, + text: 'wouah trop bien framadate zef ret r e re!', + pseudo: 'tk_TEST', + date: { + date: '2020-01-23 14:11:21.000000', + timezone_type: 3, + timezone: 'Europe/Paris' } }, { - "id": 13, - "text": "OUAIIII", - "pseudo": "tk_TEST", - "date": { - "date": "2020-01-23 16:35:52.000000", - "timezone_type": 3, - "timezone": "Europe/Paris" + id: 13, + text: 'OUAIIII', + pseudo: 'tk_TEST', + date: { + date: '2020-01-23 16:35:52.000000', + timezone_type: 3, + timezone: 'Europe/Paris' } }, { - "id": 14, - "text": "MAAAAHAHAHAHHAA", - "pseudo": "tk_TEST", - "date": { - "date": "2020-01-23 16:36:04.000000", - "timezone_type": 3, - "timezone": "Europe/Paris" + id: 14, + text: 'MAAAAHAHAHAHHAA', + pseudo: 'tk_TEST', + date: { + date: '2020-01-23 16:36:04.000000', + timezone_type: 3, + timezone: 'Europe/Paris' } }, { - "id": 16, - "text": "Meeeeeh", - "pseudo": "tk_TEST", - "date": { - "date": "2020-01-23 18:37:49.000000", - "timezone_type": 3, - "timezone": "Europe/Paris" + id: 16, + text: 'Meeeeeh', + pseudo: 'tk_TEST', + date: { + date: '2020-01-23 18:37:49.000000', + timezone_type: 3, + timezone: 'Europe/Paris' } }, { - "id": 18, - "text": "wouah trop bien framadate!", - "pseudo": "tk_TEST", - "date": { - "date": "2020-01-24 11:34:58.000000", - "timezone_type": 3, - "timezone": "Europe/Paris" + id: 18, + text: 'wouah trop bien framadate!', + pseudo: 'tk_TEST', + date: { + date: '2020-01-24 11:34:58.000000', + timezone_type: 3, + timezone: 'Europe/Paris' } }, { - "id": 19, - "text": "Ndjdjkddkld", - "pseudo": "tk_TEST", - "date": { - "date": "2020-01-24 11:35:08.000000", - "timezone_type": 3, - "timezone": "Europe/Paris" + id: 19, + text: 'Ndjdjkddkld', + pseudo: 'tk_TEST', + date: { + date: '2020-01-24 11:35:08.000000', + timezone_type: 3, + timezone: 'Europe/Paris' } }, { - "id": 20, - "text": "wouah trop bien framadate!", - "pseudo": "tk_TEST", - "date": { - "date": "2020-01-24 12:16:24.000000", - "timezone_type": 3, - "timezone": "Europe/Paris" + id: 20, + text: 'wouah trop bien framadate!', + pseudo: 'tk_TEST', + date: { + date: '2020-01-24 12:16:24.000000', + timezone_type: 3, + timezone: 'Europe/Paris' } }, { - "id": 21, - "text": "encore un commentaire ", - "pseudo": "tk_TEST", - "date": { - "date": "2020-01-24 12:16:38.000000", - "timezone_type": 3, - "timezone": "Europe/Paris" + id: 21, + text: 'encore un commentaire ', + pseudo: 'tk_TEST', + date: { + date: '2020-01-24 12:16:38.000000', + timezone_type: 3, + timezone: 'Europe/Paris' } } ], - "choices": [ + choices: [ { - "id": 5, - "date": { - "date": "2020-01-22 14:28:19.000000", - "timezone_type": 3, - "timezone": "Europe/Paris" + id: 5, + date: { + date: '2020-01-22 14:28:19.000000', + timezone_type: 3, + timezone: 'Europe/Paris' }, - "text": "Vic le viking", - "url": null + text: 'Vic le viking', + url: null }, { - "id": 6, - "date": { - "date": "2020-01-22 14:28:19.000000", - "timezone_type": 3, - "timezone": "Europe/Paris" + id: 6, + date: { + date: '2020-01-22 14:28:19.000000', + timezone_type: 3, + timezone: 'Europe/Paris' }, - "text": "Boumbo petite automobile", - "url": null + text: 'Boumbo petite automobile', + url: null }, { - "id": 7, - "date": { - "date": "2020-01-22 14:28:19.000000", - "timezone_type": 3, - "timezone": "Europe/Paris" + id: 7, + date: { + date: '2020-01-22 14:28:19.000000', + timezone_type: 3, + timezone: 'Europe/Paris' }, - "text": "Les mystérieuses cités d'or", - "url": null + text: 'Les mystérieuses cités d\'or', + url: null }, { - "id": 8, - "date": { - "date": "2020-01-22 14:28:19.000000", - "timezone_type": 3, - "timezone": "Europe/Paris" + id: 8, + date: { + date: '2020-01-22 14:28:19.000000', + timezone_type: 3, + timezone: 'Europe/Paris' }, - "text": "Les mondes engloutis", - "url": null + text: 'Les mondes engloutis', + url: null }, { - "id": 9, - "date": { - "date": "2020-01-22 14:28:19.000000", - "timezone_type": 3, - "timezone": "Europe/Paris" + id: 9, + date: { + date: '2020-01-22 14:28:19.000000', + timezone_type: 3, + timezone: 'Europe/Paris' }, - "text": "Foot 2 rue", - "url": null + text: 'Foot 2 rue', + url: null }, { - "id": 10, - "date": { - "date": "2020-01-22 14:28:19.000000", - "timezone_type": 3, - "timezone": "Europe/Paris" + id: 10, + date: { + date: '2020-01-22 14:28:19.000000', + timezone_type: 3, + timezone: 'Europe/Paris' }, - "text": "Le chat, la vache, et l'océan", - "url": null + text: 'Le chat, la vache, et l\'océan', + url: null }, { - "id": 11, - "date": { - "date": "2020-01-22 14:28:19.000000", - "timezone_type": 3, - "timezone": "Europe/Paris" + id: 11, + date: { + date: '2020-01-22 14:28:19.000000', + timezone_type: 3, + timezone: 'Europe/Paris' }, - "text": "Digimon", - "url": null + text: 'Digimon', + url: null } ], - "choices_count": { - "counts": { - "5": { - "choice_id": 5, - "choice_text": "Vic le viking", - "id": 9, - "score": 8, - "yes": { - "count": 8, - "people": [ - "", - "tk_TEST", - "tk_TEST", - "tk_TEST", - "tk_TEST", - "tk_TEST", - "tk_TEST", - "tk_TEST" + choices_count: { + counts: { + 5: { + choice_id: 5, + choice_text: 'Vic le viking', + id: 9, + score: 8, + yes: { + count: 8, + people: [ + '', + 'tk_TEST', + 'tk_TEST', + 'tk_TEST', + 'tk_TEST', + 'tk_TEST', + 'tk_TEST', + 'tk_TEST' ] }, - "maybe": { - "count": 0, - "people": [] + maybe: { + count: 0, + people: [] }, - "no": { - "count": 2, - "people": [ - "voting_people_TEST", - "tk_TEST" + no: { + count: 2, + people: [ + 'voting_people_TEST', + 'tk_TEST' ] } }, - "6": { - "choice_id": 6, - "choice_text": "Boumbo petite automobile", - "id": 5, - "score": 14.5, - "yes": { - "count": 13, - "people": [ - "voting_people_TEST", - "tk_TEST", - "tk_TEST", - "tk_TEST", - "tk_TEST", - "tk_TEST", - "tk_TEST", - "tk_TEST", - "tk_TEST", - "tk_TEST", - "tk_TEST", - "tk_TEST", - "tk_TEST" + 6: { + choice_id: 6, + choice_text: 'Boumbo petite automobile', + id: 5, + score: 14.5, + yes: { + count: 13, + people: [ + 'voting_people_TEST', + 'tk_TEST', + 'tk_TEST', + 'tk_TEST', + 'tk_TEST', + 'tk_TEST', + 'tk_TEST', + 'tk_TEST', + 'tk_TEST', + 'tk_TEST', + 'tk_TEST', + 'tk_TEST', + 'tk_TEST' ] }, - "maybe": { - "count": 3, - "people": [ - "voting_people_TEST", - "voting_people_TEST", - "" + maybe: { + count: 3, + people: [ + 'voting_people_TEST', + 'voting_people_TEST', + '' ] }, - "no": { - "count": 0, - "people": [] + no: { + count: 0, + people: [] } }, - "7": { - "choice_id": 7, - "choice_text": "Les mystérieuses cités d'or", - "id": 4, - "score": 12, - "yes": { - "count": 12, - "people": [ - "voting_people_TEST", - "voting_people_TEST", - "voting_people_TEST", - "tk_TEST", - "tk_TEST", - "tk_TEST", - "tk_TEST", - "tk_TEST", - "tk_TEST", - "tk_TEST", - "tk_TEST", - "tk_TEST" + 7: { + choice_id: 7, + choice_text: 'Les mystérieuses cités d\'or', + id: 4, + score: 12, + yes: { + count: 12, + people: [ + 'voting_people_TEST', + 'voting_people_TEST', + 'voting_people_TEST', + 'tk_TEST', + 'tk_TEST', + 'tk_TEST', + 'tk_TEST', + 'tk_TEST', + 'tk_TEST', + 'tk_TEST', + 'tk_TEST', + 'tk_TEST' ] }, - "maybe": { - "count": 0, - "people": [] + maybe: { + count: 0, + people: [] }, - "no": { - "count": 2, - "people": [ - "voting_people_TEST", - "" + no: { + count: 2, + people: [ + 'voting_people_TEST', + '' ] } }, - "8": { - "choice_id": 8, - "choice_text": "Les mondes engloutis", - "id": 50, - "score": 4, - "yes": { - "count": 4, - "people": [ - "tk_TEST", - "tk_TEST", - "tk_TEST", - "tk_TEST" + 8: { + choice_id: 8, + choice_text: 'Les mondes engloutis', + id: 50, + score: 4, + yes: { + count: 4, + people: [ + 'tk_TEST', + 'tk_TEST', + 'tk_TEST', + 'tk_TEST' ] }, - "maybe": { - "count": 0, - "people": [] + maybe: { + count: 0, + people: [] }, - "no": { - "count": 0, - "people": [] + no: { + count: 0, + people: [] } }, - "9": { - "choice_id": 9, - "choice_text": "Foot 2 rue", - "id": 25, - "score": 6, - "yes": { - "count": 6, - "people": [ - "tk_TEST", - "tk_TEST", - "tk_TEST", - "tk_TEST", - "tk_TEST", - "tk_TEST" + 9: { + choice_id: 9, + choice_text: 'Foot 2 rue', + id: 25, + score: 6, + yes: { + count: 6, + people: [ + 'tk_TEST', + 'tk_TEST', + 'tk_TEST', + 'tk_TEST', + 'tk_TEST', + 'tk_TEST' ] }, - "maybe": { - "count": 0, - "people": [] + maybe: { + count: 0, + people: [] }, - "no": { - "count": 0, - "people": [] + no: { + count: 0, + people: [] } }, - "10": { - "choice_id": 10, - "choice_text": "Le chat, la vache, et l'océan", - "id": 16, - "score": 4, - "yes": { - "count": 4, - "people": [ - "tk_TEST", - "tk_TEST", - "tk_TEST", - "tk_TEST" + 10: { + choice_id: 10, + choice_text: 'Le chat, la vache, et l\'océan', + id: 16, + score: 4, + yes: { + count: 4, + people: [ + 'tk_TEST', + 'tk_TEST', + 'tk_TEST', + 'tk_TEST' ] }, - "maybe": { - "count": 0, - "people": [] + maybe: { + count: 0, + people: [] }, - "no": { - "count": 0, - "people": [] + no: { + count: 0, + people: [] } }, - "11": { - "choice_id": 11, - "choice_text": "Digimon", - "id": 22, - "score": 1, - "yes": { - "count": 1, - "people": [ - "tk_TEST" + 11: { + choice_id: 11, + choice_text: 'Digimon', + id: 22, + score: 1, + yes: { + count: 1, + people: [ + 'tk_TEST' ] }, - "maybe": { - "count": 0, - "people": [] + maybe: { + count: 0, + people: [] }, - "no": { - "count": 0, - "people": [] + no: { + count: 0, + people: [] } } }, - "maxScore": 14.5 + maxScore: 14.5 }, - "vote_count": 21, - "owner": { - "__initializer__": null, - "__cloner__": null, - "__isInitialized__": true, - "pseudo": "tk_TEST", - "email": "tktest@tktest.com" + vote_count: 21, + owner: { + __initializer__: null, + __cloner__: null, + __isInitialized__: true, + pseudo: 'tk_TEST', + email: 'tktest@tktest.com' }, - "owner_modifier_token": "b88Qnb1A515Sfedee8b74d726A32444m87cn9Zc0f9t6Ued516f76235V93tBKcJVJearh061S8I0o5l24wbIaMe2v4wg76dhEBBi9m-28Qa601b664L", - "admin_key": "A8jZ9oc1jsFGZJ024c457f0Wj1bYca5m6537cm9nCg7catZdc18ke5Kqd449eL290oHCqdu3SNmkC7yIHj96n6dnU7ca7qdaf2VSRMI48eXd61O9a3U", - "json_you_sent": { - "pseudo": "mon pseudo", - "email": "tktest@tktest.com", - "votes": [ + owner_modifier_token: 'b88Qnb1A515Sfedee8b74d726A32444m87cn9Zc0f9t6Ued516f76235V93tBKcJVJearh061S8I0o5l24wbIaMe2v4wg76dhEBBi9m-28Qa601b664L', + admin_key: 'A8jZ9oc1jsFGZJ024c457f0Wj1bYca5m6537cm9nCg7catZdc18ke5Kqd449eL290oHCqdu3SNmkC7yIHj96n6dnU7ca7qdaf2VSRMI48eXd61O9a3U', + json_you_sent: { + pseudo: 'mon pseudo', + email: 'tktest@tktest.com', + votes: [ { - "choice_id": 5, - "value": "yes" + choice_id: 5, + value: 'yes' }, { - "choice_id": 6, - "value": "yes" + choice_id: 6, + value: 'yes' }, { - "choice_id": 7, - "value": "yes" + choice_id: 7, + value: 'yes' }, { - "choice_id": 8, - "value": "yes" + choice_id: 8, + value: 'yes' }, { - "choice_id": 9, - "value": "yes" + choice_id: 9, + value: 'yes' } ] } diff --git a/src/app/ui/theme-selector/theme-selector.component.html b/src/app/ui/theme-selector/theme-selector.component.html index a72bd49a..b5ae7924 100644 --- a/src/app/ui/theme-selector/theme-selector.component.html +++ b/src/app/ui/theme-selector/theme-selector.component.html @@ -2,21 +2,21 @@

Thème

light dark diff --git a/src/app/ui/theme-selector/theme-selector.component.ts b/src/app/ui/theme-selector/theme-selector.component.ts index d42d79bd..089b9a53 100644 --- a/src/app/ui/theme-selector/theme-selector.component.ts +++ b/src/app/ui/theme-selector/theme-selector.component.ts @@ -1,5 +1,5 @@ import {Component, OnInit} from '@angular/core'; -import {ConfigService} from "../../services/config.service"; +import {ConfigService} from '../../services/config.service'; @Component({ selector: 'framadate-theme-selector', @@ -9,6 +9,7 @@ import {ConfigService} from "../../services/config.service"; export class ThemeSelectorComponent implements OnInit { constructor(public config: ConfigService) { + // this.selectTheme('dark-crystal') } ngOnInit(): void { @@ -16,8 +17,8 @@ export class ThemeSelectorComponent implements OnInit { selectTheme(themeName: string) { if (this.config.themeChoices.includes(themeName)) { - this.config.themeSelected = this.config.themeChoices.indexOf(themeName); - this.config.themeClass = `theme-${themeName}`; + + this.config.setPreference('themeName', themeName); } }