UNPKG

@startpage/bookmarks

Version:

Bookmark management for your startpage

26 lines (25 loc) 1.51 kB
"use strict"; 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;