blob: ba4bf7559c9efbcfbc5dfc12f0cd3a3977d8784e (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
"use client";
import React, { useState, useEffect } from "react";
import { Card, CardBody, Image } from "@nextui-org/react";
import Link from "next/link";
const ContinueWatching = () => {
const [localItems, setLocalItems] = useState(null);
useEffect(() => {
const newData = get_local();
setLocalItems(newData);
}, []); // Empty dependency array means this effect runs only once after the initial render
function get_local() {
try {
const data = localStorage.getItem("data");
return JSON.parse(data);
} catch (error) {
console.log("error", error);
return false;
}
}
return (
<main>
<p className="text-sky-400 text-2xl">Continue Watching</p>
{localItems && (
<div className="flex flex-col">
{localItems.watchHis &&
localItems.watchHis.map((item, index) => (
<Link
href={`/${item.type}/${item.id}`}
key={index}
color="foreground"
className="mb-2 bg-gray-300 dark:bg-[#1f1f1f] rounded-lg"
>
<Card
isPressable
isHoverable
shadow="sm"
className="flex flex-row items-center w-full"
>
<Image
isBlurred
shadow="sm"
src={item.image}
width={180}
alt="Continue anime poster"
className="p-1"
priority
/>
<CardBody>
<p className="text-xl">{item.name}</p>
<p className="text-green-300">
Episode Watching: {item.episode}
</p>
</CardBody>
</Card>
</Link>
))}
</div>
)}
</main>
);
};
export default ContinueWatching;
|