sort user timeline by date (#3210)
This commit is contained in:
		
							parent
							
								
									50824a7245
								
							
						
					
					
						commit
						81805b01cc
					
				|  | @ -155,7 +155,8 @@ export default Vue.extend({ | |||
| 			this.$root.api('users/notes', { | ||||
| 				userId: this.user.id, | ||||
| 				fileType: image, | ||||
| 				limit: 9 | ||||
| 				limit: 9, | ||||
| 				untilDate: new Date().getTime() + 1000 * 86400 * 365 | ||||
| 			}).then(notes => { | ||||
| 				notes.forEach(note => { | ||||
| 					note.files.forEach(file => { | ||||
|  | @ -254,6 +255,7 @@ export default Vue.extend({ | |||
| 				this.$root.api('users/notes', { | ||||
| 					userId: this.user.id, | ||||
| 					limit: fetchLimit + 1, | ||||
| 					untilDate: new Date().getTime() + 1000 * 86400 * 365, | ||||
| 					withFiles: this.withFiles, | ||||
| 					includeMyRenotes: this.$store.state.settings.showMyRenotes, | ||||
| 					includeRenotedMyNotes: this.$store.state.settings.showRenotedMyNotes, | ||||
|  | @ -274,7 +276,7 @@ export default Vue.extend({ | |||
| 			const promise = this.$root.api('users/notes', { | ||||
| 				userId: this.user.id, | ||||
| 				limit: fetchLimit + 1, | ||||
| 				untilId: (this.$refs.timeline as any).tail().id, | ||||
| 				untilDate: new Date((this.$refs.timeline as any).tail().createdAt).getTime(), | ||||
| 				withFiles: this.withFiles, | ||||
| 				includeMyRenotes: this.$store.state.settings.showMyRenotes, | ||||
| 				includeRenotedMyNotes: this.$store.state.settings.showRenotedMyNotes, | ||||
|  |  | |||
|  | @ -27,7 +27,8 @@ export default Vue.extend({ | |||
| 		this.$root.api('users/notes', { | ||||
| 			userId: this.user.id, | ||||
| 			withFiles: true, | ||||
| 			limit: 9 | ||||
| 			limit: 9, | ||||
| 			untilDate: new Date().getTime() + 1000 * 86400 * 365 | ||||
| 		}).then(notes => { | ||||
| 			notes.forEach(note => { | ||||
| 				note.files.forEach(file => { | ||||
|  |  | |||
|  | @ -63,7 +63,7 @@ export default Vue.extend({ | |||
| 				this.$root.api('users/notes', { | ||||
| 					userId: this.user.id, | ||||
| 					limit: fetchLimit + 1, | ||||
| 					untilDate: this.date ? this.date.getTime() : undefined, | ||||
| 					untilDate: this.date ? this.date.getTime() : new Date().getTime() + 1000 * 86400 * 365, | ||||
| 					includeReplies: this.mode == 'with-replies', | ||||
| 					withFiles: this.mode == 'with-media' | ||||
| 				}).then(notes => { | ||||
|  | @ -86,7 +86,7 @@ export default Vue.extend({ | |||
| 				limit: fetchLimit + 1, | ||||
| 				includeReplies: this.mode == 'with-replies', | ||||
| 				withFiles: this.mode == 'with-media', | ||||
| 				untilId: (this.$refs.timeline as any).tail().id | ||||
| 				untilDate: new Date((this.$refs.timeline as any).tail().createdAt).getTime() | ||||
| 			}); | ||||
| 
 | ||||
| 			promise.then(notes => { | ||||
|  |  | |||
|  | @ -44,7 +44,8 @@ export default Vue.extend({ | |||
| 				this.$root.api('users/notes', { | ||||
| 					userId: this.user.id, | ||||
| 					withFiles: this.withMedia, | ||||
| 					limit: fetchLimit + 1 | ||||
| 					limit: fetchLimit + 1, | ||||
| 					untilDate: new Date().getTime() + 1000 * 86400 * 365 | ||||
| 				}).then(notes => { | ||||
| 					if (notes.length == fetchLimit + 1) { | ||||
| 						notes.pop(); | ||||
|  | @ -66,7 +67,7 @@ export default Vue.extend({ | |||
| 				userId: this.user.id, | ||||
| 				withFiles: this.withMedia, | ||||
| 				limit: fetchLimit + 1, | ||||
| 				untilId: (this.$refs.timeline as any).tail().id | ||||
| 				untilDate: new Date((this.$refs.timeline as any).tail().createdAt).getTime() | ||||
| 			}); | ||||
| 
 | ||||
| 			promise.then(notes => { | ||||
|  |  | |||
|  | @ -22,7 +22,8 @@ export default Vue.extend({ | |||
| 	}, | ||||
| 	mounted() { | ||||
| 		this.$root.api('users/notes', { | ||||
| 			userId: this.user.id | ||||
| 			userId: this.user.id, | ||||
| 			untilDate: new Date().getTime() + 1000 * 86400 * 365 | ||||
| 		}).then(notes => { | ||||
| 			this.notes = notes; | ||||
| 			this.fetching = false; | ||||
|  |  | |||
|  | @ -29,7 +29,8 @@ export default Vue.extend({ | |||
| 		this.$root.api('users/notes', { | ||||
| 			userId: this.user.id, | ||||
| 			withFiles: true, | ||||
| 			limit: 6 | ||||
| 			limit: 6, | ||||
| 			untilDate: new Date().getTime() + 1000 * 86400 * 365 | ||||
| 		}).then(notes => { | ||||
| 			notes.forEach(note => { | ||||
| 				note.media.forEach(media => { | ||||
|  |  | |||
|  | @ -153,9 +153,7 @@ export default define(meta, (ps, me) => new Promise(async (res, rej) => { | |||
| 	} | ||||
| 
 | ||||
| 	//#region Construct query
 | ||||
| 	const sort = { | ||||
| 		_id: -1 | ||||
| 	}; | ||||
| 	const sort = { } as any; | ||||
| 
 | ||||
| 	const query = { | ||||
| 		deletedAt: null, | ||||
|  | @ -168,15 +166,17 @@ export default define(meta, (ps, me) => new Promise(async (res, rej) => { | |||
| 			$gt: ps.sinceId | ||||
| 		}; | ||||
| 	} else if (ps.untilId) { | ||||
| 		sort._id = -1; | ||||
| 		query._id = { | ||||
| 			$lt: ps.untilId | ||||
| 		}; | ||||
| 	} else if (ps.sinceDate) { | ||||
| 		sort._id = 1; | ||||
| 		sort.createdAt = 1; | ||||
| 		query.createdAt = { | ||||
| 			$gt: new Date(ps.sinceDate) | ||||
| 		}; | ||||
| 	} else if (ps.untilDate) { | ||||
| 		sort.createdAt = -1; | ||||
| 		query.createdAt = { | ||||
| 			$lt: new Date(ps.untilDate) | ||||
| 		}; | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue