@haroonwaves/blog-kit-react 0.0.7 → 0.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +6 -6
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +6 -6
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -214,12 +214,12 @@ function BlogPlaceholder({ count = 3, className = "" }) {
|
|
|
214
214
|
|
|
215
215
|
// src/hooks/useBlogs.ts
|
|
216
216
|
var import_react = require("react");
|
|
217
|
-
function useBlogs(
|
|
218
|
-
const [filteredBlogs, setFilteredBlogs] = (0, import_react.useState)(
|
|
217
|
+
function useBlogs(blogsMeta) {
|
|
218
|
+
const [filteredBlogs, setFilteredBlogs] = (0, import_react.useState)(blogsMeta);
|
|
219
219
|
const [searchTerm, setSearchTerm] = (0, import_react.useState)("");
|
|
220
220
|
const [selectedCategory, setSelectedCategory] = (0, import_react.useState)(null);
|
|
221
221
|
(0, import_react.useEffect)(() => {
|
|
222
|
-
let filtered =
|
|
222
|
+
let filtered = blogsMeta;
|
|
223
223
|
if (searchTerm) {
|
|
224
224
|
filtered = filtered.filter(
|
|
225
225
|
(blog) => blog.title.toLowerCase().includes(searchTerm.toLowerCase()) || blog.description.toLowerCase().includes(searchTerm.toLowerCase())
|
|
@@ -229,12 +229,12 @@ function useBlogs(blogs) {
|
|
|
229
229
|
filtered = filtered.filter((blog) => blog.category === selectedCategory);
|
|
230
230
|
}
|
|
231
231
|
setFilteredBlogs(filtered);
|
|
232
|
-
}, [
|
|
232
|
+
}, [blogsMeta, searchTerm, selectedCategory]);
|
|
233
233
|
const categories = Array.from(
|
|
234
|
-
new Set(
|
|
234
|
+
new Set(blogsMeta.map((blog) => blog.category).filter(Boolean))
|
|
235
235
|
);
|
|
236
236
|
return {
|
|
237
|
-
|
|
237
|
+
metadata: filteredBlogs,
|
|
238
238
|
searchTerm,
|
|
239
239
|
setSearchTerm,
|
|
240
240
|
selectedCategory,
|
package/dist/index.d.cts
CHANGED
|
@@ -54,8 +54,8 @@ interface BlogPlaceholderProps {
|
|
|
54
54
|
}
|
|
55
55
|
declare function BlogPlaceholder({ count, className }: BlogPlaceholderProps): react_jsx_runtime.JSX.Element;
|
|
56
56
|
|
|
57
|
-
declare function useBlogs(
|
|
58
|
-
|
|
57
|
+
declare function useBlogs(blogsMeta: BlogMeta[]): {
|
|
58
|
+
metadata: BlogMeta[];
|
|
59
59
|
searchTerm: string;
|
|
60
60
|
setSearchTerm: react.Dispatch<react.SetStateAction<string>>;
|
|
61
61
|
selectedCategory: string | null;
|
package/dist/index.d.ts
CHANGED
|
@@ -54,8 +54,8 @@ interface BlogPlaceholderProps {
|
|
|
54
54
|
}
|
|
55
55
|
declare function BlogPlaceholder({ count, className }: BlogPlaceholderProps): react_jsx_runtime.JSX.Element;
|
|
56
56
|
|
|
57
|
-
declare function useBlogs(
|
|
58
|
-
|
|
57
|
+
declare function useBlogs(blogsMeta: BlogMeta[]): {
|
|
58
|
+
metadata: BlogMeta[];
|
|
59
59
|
searchTerm: string;
|
|
60
60
|
setSearchTerm: react.Dispatch<react.SetStateAction<string>>;
|
|
61
61
|
selectedCategory: string | null;
|
package/dist/index.js
CHANGED
|
@@ -174,12 +174,12 @@ function BlogPlaceholder({ count = 3, className = "" }) {
|
|
|
174
174
|
|
|
175
175
|
// src/hooks/useBlogs.ts
|
|
176
176
|
import { useState, useEffect } from "react";
|
|
177
|
-
function useBlogs(
|
|
178
|
-
const [filteredBlogs, setFilteredBlogs] = useState(
|
|
177
|
+
function useBlogs(blogsMeta) {
|
|
178
|
+
const [filteredBlogs, setFilteredBlogs] = useState(blogsMeta);
|
|
179
179
|
const [searchTerm, setSearchTerm] = useState("");
|
|
180
180
|
const [selectedCategory, setSelectedCategory] = useState(null);
|
|
181
181
|
useEffect(() => {
|
|
182
|
-
let filtered =
|
|
182
|
+
let filtered = blogsMeta;
|
|
183
183
|
if (searchTerm) {
|
|
184
184
|
filtered = filtered.filter(
|
|
185
185
|
(blog) => blog.title.toLowerCase().includes(searchTerm.toLowerCase()) || blog.description.toLowerCase().includes(searchTerm.toLowerCase())
|
|
@@ -189,12 +189,12 @@ function useBlogs(blogs) {
|
|
|
189
189
|
filtered = filtered.filter((blog) => blog.category === selectedCategory);
|
|
190
190
|
}
|
|
191
191
|
setFilteredBlogs(filtered);
|
|
192
|
-
}, [
|
|
192
|
+
}, [blogsMeta, searchTerm, selectedCategory]);
|
|
193
193
|
const categories = Array.from(
|
|
194
|
-
new Set(
|
|
194
|
+
new Set(blogsMeta.map((blog) => blog.category).filter(Boolean))
|
|
195
195
|
);
|
|
196
196
|
return {
|
|
197
|
-
|
|
197
|
+
metadata: filteredBlogs,
|
|
198
198
|
searchTerm,
|
|
199
199
|
setSearchTerm,
|
|
200
200
|
selectedCategory,
|