this repo has no description
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

tweaks

EGOIST 60366dc5 b4022f3f

+57 -1
+57 -1
src/app.tsx
··· 1 - import { useRef, useState } from "react" 1 + import { useMemo, useRef, useState } from "react" 2 2 import animeData from "../anime-data" 3 3 import { domToBlob } from "modern-screenshot" 4 4 import { toast } from "sonner" ··· 56 56 57 57 URL.revokeObjectURL(url) 58 58 } 59 + 60 + const prompt = useMemo(() => { 61 + return ` 62 + 以下是我的动画列表,请生成一个锐评: 63 + ${Object.keys(animeData) 64 + .map((year) => { 65 + const items = animeData[year] || [] 66 + 67 + if (items.length === 0) return "" 68 + 69 + const watched = items 70 + .filter((item) => selectedAnime.includes(item.title)) 71 + .map((item) => item.title) 72 + .join(", ") 73 + const unWatched = items 74 + .filter((item) => !selectedAnime.includes(item.title)) 75 + .map((item) => item.title) 76 + .join(", ") 77 + 78 + return [ 79 + `**${year}年**:`, 80 + `看过: ${watched || "无"}`, 81 + `没看过: ${unWatched || "无"}`, 82 + ] 83 + .filter(Boolean) 84 + .join("\n") 85 + }) 86 + .filter(Boolean) 87 + .join("\n")} 88 + `.trim() 89 + }, [selectedAnime]) 59 90 60 91 return ( 61 92 <> ··· 185 216 > 186 217 下载图片 187 218 </button> 219 + </div> 220 + 221 + <div className="flex flex-col gap-2 max-w-screen-md w-full mx-auto"> 222 + <div className="border focus-within:ring-2 ring-pink-500 focus-within:border-pink-500 rounded-md"> 223 + <div className="flex items-center justify-between p-2 border-b"> 224 + <span>锐评提示词</span> 225 + 226 + <button 227 + type="button" 228 + className="text-sm text-zinc-500" 229 + onClick={() => { 230 + navigator.clipboard.writeText(prompt) 231 + toast.success("复制成功") 232 + }} 233 + > 234 + 复制 235 + </button> 236 + </div> 237 + <textarea 238 + readOnly 239 + className="outline-none w-full p-2 resize-none cursor-default" 240 + rows={10} 241 + value={prompt} 242 + /> 243 + </div> 188 244 </div> 189 245 190 246 <div className="mt-2 text-center">