Update some more code to not change immutable objects

This commit is contained in:
Ramon Wenger 2022-01-26 22:43:27 +01:00
parent 6ce00694d7
commit 71ed5931c7
2 changed files with 17 additions and 9 deletions

View File

@ -45,11 +45,16 @@
completeOnboarding() { completeOnboarding() {
this.$apollo.mutate({ this.$apollo.mutate({
mutation: UPDATE_ONBOARDING_PROGRESS, mutation: UPDATE_ONBOARDING_PROGRESS,
update(store, {data: {updateOnboardingProgress: {success}}}) { update(store, {data: {updateOnboardingProgress: {success: onboardingVisited}}}) {
const query = ME_QUERY; const query = ME_QUERY;
const data = store.readQuery({query}); const {me} = store.readQuery({query});
if (data) { if (me) {
data.me.onboardingVisited = success; const data = {
me: {
...me,
onboardingVisited
}
};
store.writeQuery({query, data}); store.writeQuery({query, data});
} }
}, },
@ -62,8 +67,7 @@
</script> </script>
<style lang="scss"> <style lang="scss">
@import "@/styles/_variables.scss"; @import "~styles/helpers";
@import "@/styles/_mixins.scss";
.onboarding { .onboarding {
background-color: $color-brand; background-color: $color-brand;

View File

@ -37,9 +37,13 @@
}, },
update: (store, {data: {addProject: {project}}}) => { update: (store, {data: {addProject: {project}}}) => {
try { try {
const data = store.readQuery({query: PROJECTS_QUERY}); const {projects} = store.readQuery({query: PROJECTS_QUERY});
if (data.projects) { if (projects) {
data.projects.unshift(project); const expandedProjects = [
project,
...projects
];
const data = {projects:expandedProjects};
store.writeQuery({query: PROJECTS_QUERY, data}); store.writeQuery({query: PROJECTS_QUERY, data});
} }
} catch (e) { } catch (e) {