diff --git a/tools/static-assets/skel-solid/imports/ui/Info.jsx b/tools/static-assets/skel-solid/imports/ui/Info.jsx index 6f4a441e79..cf6f585c2e 100644 --- a/tools/static-assets/skel-solid/imports/ui/Info.jsx +++ b/tools/static-assets/skel-solid/imports/ui/Info.jsx @@ -1,26 +1,36 @@ import { LinksCollection } from "../api/links"; import { createSignal, For } from "solid-js"; import { Tracker } from "meteor/tracker"; +import { Meteor } from "meteor/meteor"; export const Info = () => { + const loading = Meteor.subscribe("links"); + const [isLoading, setIsLoading] = createSignal(loading.ready()); const [links, setLinks] = createSignal([]); Tracker.autorun(() => { + setIsLoading(loading.ready()); setLinks(LinksCollection.find().fetch()); }); + if (isLoading()) { + return
Loading...
; + } + return (

Learn Meteor!

- ) - -} + ); +}; diff --git a/tools/static-assets/skel-solid/server/main.js b/tools/static-assets/skel-solid/server/main.js index 99eab74e29..3eb4465cdb 100644 --- a/tools/static-assets/skel-solid/server/main.js +++ b/tools/static-assets/skel-solid/server/main.js @@ -28,4 +28,10 @@ Meteor.startup(async () => { url: 'https://forums.meteor.com', }); } + + // We publish the entire Links collection to all clients. + // In order to be fetched in real-time to the clients + Meteor.publish('links', function () { + return LinksCollection.find(); + }); });