30 lines
		
	
	
		
			791 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			30 lines
		
	
	
		
			791 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| import { MenuEntry } from "@islands/KMenu/types.ts";
 | |
| import { fetchStream } from "@lib/helpers.ts";
 | |
| import { getCookie } from "@lib/string.ts";
 | |
| 
 | |
| export const updateAllRecommendations: MenuEntry = {
 | |
|   title: "Update all recommendations",
 | |
|   meta: "",
 | |
|   icon: "IconSquareRoundedPlus",
 | |
|   cb: (state) => {
 | |
|     state.activeState.value = "loading";
 | |
| 
 | |
|     fetchStream("/api/recommendation/all", (chunk) => {
 | |
|       if (chunk.toLowerCase().includes("finish")) {
 | |
|         setTimeout(() => {
 | |
|           window.location.reload();
 | |
|         }, 500);
 | |
|       } else {
 | |
|         state.loadingText.value = chunk;
 | |
|       }
 | |
|     });
 | |
|   },
 | |
|   visible: () => {
 | |
|     if (!getCookie("session_cookie")) return false;
 | |
|     if (
 | |
|       !globalThis?.location?.pathname?.includes("movies")
 | |
|     ) return false;
 | |
|     return true;
 | |
|   },
 | |
| };
 |