From 42e792842a399a9bf697eb857916caac863146a5 Mon Sep 17 00:00:00 2001 From: Rafael Silva Date: Thu, 28 Nov 2024 13:59:36 -0300 Subject: [PATCH 1/2] FIX: Keep related topics data cached when a user scrolls up --- assets/javascripts/initializers/related-topics.gjs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/assets/javascripts/initializers/related-topics.gjs b/assets/javascripts/initializers/related-topics.gjs index d03bda4e0..26ebc76ed 100644 --- a/assets/javascripts/initializers/related-topics.gjs +++ b/assets/javascripts/initializers/related-topics.gjs @@ -47,10 +47,16 @@ export default { (Superclass) => class extends Superclass { @tracked related_topics; + relatedTopicsCache = []; @cached get relatedTopics() { - return this.related_topics?.map((topic) => + // Used to keep related topics when a user scrolls up from the + // bottom of the topic and then scrolls back down + if (this.related_topics) { + this.relatedTopicsCache = this.related_topics; + } + return this.relatedTopicsCache?.map((topic) => this.store.createRecord("topic", topic) ); } From 8a8bec0b02b3d0a4fedeb9c088cb0f1b0bb6cd74 Mon Sep 17 00:00:00 2001 From: Rafael Silva Date: Thu, 28 Nov 2024 14:04:08 -0300 Subject: [PATCH 2/2] lint --- assets/javascripts/initializers/related-topics.gjs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/javascripts/initializers/related-topics.gjs b/assets/javascripts/initializers/related-topics.gjs index 26ebc76ed..89d2e0378 100644 --- a/assets/javascripts/initializers/related-topics.gjs +++ b/assets/javascripts/initializers/related-topics.gjs @@ -54,7 +54,7 @@ export default { // Used to keep related topics when a user scrolls up from the // bottom of the topic and then scrolls back down if (this.related_topics) { - this.relatedTopicsCache = this.related_topics; + this.relatedTopicsCache = this.related_topics; } return this.relatedTopicsCache?.map((topic) => this.store.createRecord("topic", topic)