@startpage/bookmarks
Version:
Bookmark management for your startpage
26 lines (25 loc) • 1.51 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.BookmarkProvider = void 0;
const react_1 = __importDefault(require("react"));
const local_storage_1 = require("@startpage/local-storage");
const BookmarkContext_1 = require("./BookmarkContext");
const fillBookmarkIds_1 = require("./utils/fillBookmarkIds");
const getBookmarkActions_1 = require("./utils/getBookmarkActions");
const getGroupActions_1 = require("./utils/getGroupActions");
const BookmarkProvider = ({ initialBookmarks = [], children, }) => {
const [bookmarkGroups, setBookmarkGroups] = (0, local_storage_1.useStorage)("bookmarks", (0, fillBookmarkIds_1.fillBookmarkIds)(initialBookmarks));
const setNewBookmarkGroups = (bookmarkGroups) => setBookmarkGroups((0, fillBookmarkIds_1.fillBookmarkIds)(bookmarkGroups));
const groupActions = (0, getGroupActions_1.getGroupActions)(bookmarkGroups, setBookmarkGroups);
const bookmarkActions = (0, getBookmarkActions_1.getBookmarkActions)(bookmarkGroups, setBookmarkGroups);
return (react_1.default.createElement(BookmarkContext_1.BookmarkContext.Provider, { value: {
bookmarkGroups,
setBookmarkGroups: setNewBookmarkGroups,
...groupActions,
...bookmarkActions,
} }, children));
};
exports.BookmarkProvider = BookmarkProvider;