From 023f73355d5bb3280f110d3e145d70992e004d7c Mon Sep 17 00:00:00 2001 From: Pasq G Date: Wed, 19 Feb 2025 14:00:42 +0100 Subject: [PATCH] AvatarsRegistre no suspense --- imports/api/files.js | 20 +++++++++++++++++--- imports/ui/Login.tsx | 14 +++++++------- imports/ui/files/AvatarFileUpload.jsx | 14 +++++++------- 3 files changed, 31 insertions(+), 17 deletions(-) diff --git a/imports/api/files.js b/imports/api/files.js index 2a563cd..cc179cf 100644 --- a/imports/api/files.js +++ b/imports/api/files.js @@ -120,8 +120,13 @@ if (Meteor.isServer) { }); Meteor.publish('avatars.all', () => { - return Avatars.collection.find({}); -}); + return Avatars.collection.find(); + }); + + + Meteor.publish('avatarsregistre.all', () => { + return AvatarsRegistre.collection.find(); + }); // Meteor.publish('files.avatar', () => { // return FilesCol.collection.find({ @@ -225,6 +230,15 @@ Meteor.methods({ }); +// Create a new instance of the FilesCollection +const AvatarsRegistre = new FilesCollection({ + collectionName: 'AvatarsRegistre', + storagePath: 'assets/avatarRegistreStorage', + downloadRoute: '/avatar-registre', + permissions: 0o755, + cacheControl: 'public, max-age=31536000', + allowClientCode: false, // Disallow remove files from Client +}); // Create a new instance of the FilesCollection const Avatars = new FilesCollection({ @@ -272,4 +286,4 @@ Meteor.methods({ }); -export { FilesCol, Avatars }; \ No newline at end of file +export { FilesCol, AvatarsRegistre, Avatars }; \ No newline at end of file diff --git a/imports/ui/Login.tsx b/imports/ui/Login.tsx index 35c44e0..20d7bbf 100644 --- a/imports/ui/Login.tsx +++ b/imports/ui/Login.tsx @@ -2,10 +2,11 @@ import React, { useState, useEffect, useRef } from 'react'; import { Accounts } from 'meteor/accounts-base'; import { useNavigate } from 'react-router-dom'; import { Meteor } from 'meteor/meteor'; -import { useTracker, useSubscribe, useFind } from 'meteor/react-meteor-data/suspense'; +// import { useTracker, useSubscribe, useFind } from 'meteor/react-meteor-data/suspense'; +import { useSubscribe, useFind } from 'meteor/react-meteor-data'; import { Roles } from 'meteor/roles'; import { ROLS_GLOBALS } from '../roles'; -import { Avatars } from '/imports/api/files.js'; +import { AvatarsRegistre } from '/imports/api/files.js'; import AvatarFileUpload from '/imports/ui/files/AvatarFileUpload'; @@ -26,12 +27,10 @@ export const Login = () => { // useEffect(() => { - // useSubscribe('avatars.all'); + // useSubscribe('avatarsregistre.all'); + const isLoading = useSubscribe('avatarsregistre.all'); - // files = useFind(Avatars, [ - // {}, - // { sort: { createdAt: -1 } }, - // ]); + const files = useFind(() => AvatarsRegistre.find(), []); // }, []); @@ -76,6 +75,7 @@ export const Login = () => { email, password }); + console.log("userId deL NOU USUARI: ", userId); userId && await Roles.addUsersToRolesAsync(userId, [ROLS_GLOBALS.USUARI]); navigate('/'); diff --git a/imports/ui/files/AvatarFileUpload.jsx b/imports/ui/files/AvatarFileUpload.jsx index 49d0657..087e302 100644 --- a/imports/ui/files/AvatarFileUpload.jsx +++ b/imports/ui/files/AvatarFileUpload.jsx @@ -2,7 +2,7 @@ import { useTracker, useSubscribe, useFind } from 'meteor/react-meteor-data/susp import { Meteor } from 'meteor/meteor'; import React, { useState, useRef, Suspense } from 'react'; // import PropTypes from 'prop-types'; -import { Avatars } from '/imports/api/files.js'; +import { AvatarsRegistre } from '/imports/api/files.js'; import IndividualFileStart from '/imports/ui/files/IndividualFile.jsx'; // <------------------------- @@ -23,16 +23,16 @@ const AvatarFileUpload = (props) => { // const refForm = useRef(); const fileinput = useRef(); - useSubscribe('avatars.all'); + useSubscribe('avatarsregistre.all'); - const files = useFind(Avatars, [ + const files = useFind(AvatarsRegistre, [ {}, { sort: { createdAt: -1 } }, ]); // const files = useTracker("avatars", async () => { // // const docsReadyYet = filesHandle.ready(); - // const files = await Avatars?.find({meta:{userId: props.uidProvisional || Meteor.userId(), entId: props.entId}}, {sort: {name: 1}})//.fetchAsync(); // Meteor.userId() ?? "nop" + // const files = await AvatarsRegistre?.find({meta:{userId: props.uidProvisional || Meteor.userId(), entId: props.entId}}, {sort: {name: 1}})//.fetchAsync(); // Meteor.userId() ?? "nop" // return files; // }, []); @@ -59,7 +59,7 @@ const AvatarFileUpload = (props) => { // setPreview(file); if (file) { - let uploadInstance = Avatars.insert({ + let uploadInstance = AvatarsRegistre.insert({ file, meta: { locator: props.fileLocator, @@ -153,7 +153,7 @@ const AvatarFileUpload = (props) => { const Display = async () => await files?.map(async (aFile, key) => { - let link = await Avatars.findOneAsync({_id: aFile._id}); //The "view/download" link + let link = await AvatarsRegistre.findOneAsync({_id: aFile._id}); //The "view/download" link let linkOriginalURL = `${window.location.origin}${link._fileRef._downloadRoute}/${link._fileRef._collectionName}/${link._fileRef._id}/original/${link._fileRef._id}.${link._fileRef.extension}`; // Send out components that show details of each file @@ -214,7 +214,7 @@ const AvatarFileUpload = (props) => { // const filesHandle = Meteor.subscribe('files.all'); // const docsReadyYet = filesHandle.ready(); -// const files = Avatars.find({meta:{userId: props.uidProvisional || Meteor.userId()}}, {sort: {name: 1}}).fetch(); // Meteor.userId() ?? "nop" +// const files = AvatarsRegistre.find({meta:{userId: props.uidProvisional || Meteor.userId()}}, {sort: {name: 1}}).fetch(); // Meteor.userId() ?? "nop" // return { // docsReadyYet,