mirror of
https://github.com/TeamPiped/Piped.git
synced 2024-11-26 23:47:25 +00:00
Use index for sorting Watch History.
This commit is contained in:
parent
5bf24200b7
commit
05e78fed6e
@ -42,8 +42,8 @@ export default {
|
||||
});
|
||||
if (this.getPreferenceBoolean("watchHistory", false))
|
||||
if ("indexedDB" in window) {
|
||||
const request = indexedDB.open("piped-db", 1);
|
||||
request.onupgradeneeded = function () {
|
||||
const request = indexedDB.open("piped-db", 2);
|
||||
request.onupgradeneeded = ev => {
|
||||
const db = request.result;
|
||||
console.log("Upgrading object store.");
|
||||
if (!db.objectStoreNames.contains("watch_history")) {
|
||||
@ -51,6 +51,10 @@ export default {
|
||||
store.createIndex("video_id_idx", "videoId", { unique: true });
|
||||
store.createIndex("id_idx", "id", { unique: true, autoIncrement: true });
|
||||
}
|
||||
if (ev.oldVersion < 2) {
|
||||
const store = request.transaction.objectStore("watch_history");
|
||||
store.createIndex("watchedAt", "watchedAt", { unique: false });
|
||||
}
|
||||
};
|
||||
request.onsuccess = e => {
|
||||
window.db = e.target.result;
|
||||
|
@ -39,7 +39,7 @@ export default {
|
||||
if (window.db) {
|
||||
var tx = window.db.transaction("watch_history", "readonly");
|
||||
var store = tx.objectStore("watch_history");
|
||||
const cursorRequest = store.openCursor();
|
||||
const cursorRequest = store.index("watchedAt").openCursor(null, "prev");
|
||||
cursorRequest.onsuccess = e => {
|
||||
const cursor = e.target.result;
|
||||
if (cursor) {
|
||||
@ -53,7 +53,6 @@ export default {
|
||||
thumbnail: video.thumbnail,
|
||||
watchedAt: video.watchedAt,
|
||||
});
|
||||
this.videos.sort((a, b) => b.watchedAt - a.watchedAt); // TODO: Optimize
|
||||
if (this.videos.length < 1000) cursor.continue();
|
||||
}
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user