JSFiddle - React, Tailwind, and code Playground

by Andrei Balashov

JavaScript

//var obj = "{}";
//localStorage.setItem('bookmarks',obj);
console.log(getBookmarks());
obj = {
    "id": "1.000001",
    "type": "AP",
    "url": "http://google.com",
    "title": "Процедура 1.000001"
  };
var obj2 = {
      "id": "42",
      "type": "DS",
      "url": "http://tut.by",
      "title": "Деловая ситуация 42"
    };
addBookmark(obj);
console.log(getBookmarks());
addBookmark(obj2);
console.log(getBookmarks());
deleteBookmark(42);
console.log(getBookmarks());
function deleteBookmark(id){
            var bookmarks = getBookmarks();
            delete bookmarks[id];	
            localStorage.setItem('bookmarks',JSON.stringify(bookmarks));
        }
        function addBookmark(ob){
            
            if(!getBookmarks()){
                initBookmarks();
            } 
            var bookmarks = getBookmarks();
            var id = ob.id;
            bookmarks[id] = ob;
            localStorage.setItem('bookmarks',JSON.stringify(bookmarks));
        }
        function getBookmark(id){
            var bookmarks = getBookmarks();
            if(bookmarks[id]){
                return bookmarks[id];    
            }
            return false;            
        }
        function getBookmarks(){
            var bookmarks = localStorage.getItem('bookmarks');
            if(!bookmarks){
                return false;
            }
            return JSON.parse(bookmarks);
        }
        function initBookmarks(){
            var obj = {};
            localStorage.setItem('bookmarks',JSON.stringify(obj));
        }