diff --git a/index.html b/index.html new file mode 100644 index 00000000..2f808417 --- /dev/null +++ b/index.html @@ -0,0 +1,69 @@ + + + + + + + + + + + + + + + ReadyBlog + + + + +
+
+
+

Create Post

+ +
+ + +
+
+
+ + +
+
+
+ + + + + + + + + \ No newline at end of file diff --git a/jsconfig.json b/jsconfig.json new file mode 100644 index 00000000..06b2b0d5 --- /dev/null +++ b/jsconfig.json @@ -0,0 +1,8 @@ +{ + "typeAcquisition": { + "include": [ + "jquery" + ] + } + +} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 00000000..48e341a0 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,3 @@ +{ + "lockfileVersion": 1 +} diff --git a/src/css/style.css b/src/css/style.css new file mode 100644 index 00000000..07fe59e4 --- /dev/null +++ b/src/css/style.css @@ -0,0 +1,176 @@ +:root{ + --negrofondo:rgba(3,3,3,255); + --negropost:rgba(26,26,27,255); + --negroinput:rgba(39,39,41,255); + --colorletra:rgba(204,207,209,255); +} + + + +body{ + background-color: var(--negrofondo) !important; + color: var(--colorletra) !important; +} +.navegacion{ + color: var(--colorletra) !important; + background-color:var(--negroinput) !important; +} +.poner-post{ + text-align: center; + margin: 2% auto; + max-width: 80%; + padding: 0.5% 1%; + background-color: var(--negropost); + border: 1px solid var(--colorletra); + border-radius: 5px; +} +input,textarea{ + background-color: var(--negroinput)!important; + color: var(--colorletra)!important; +} +/* .cabezeraPonerPost{ + background-color: var(--negroinput); + +} */ +.cuerpoPonerPost{ + background-color: var(--negropost); + +} +.postblog{ + width: 80%; + margin: 2% auto ; + border: 0px !important; +} +.hedermodal{ + background-color: var(--negroinput) !important; +} +.avatarTitulo{ + display: flex; + align-items: center; +} +.avatarTitulo>img{ + margin-right: 5%; + margin: 0px 2%; +} + +.bodymodal{ + background-color: var(--negropost) !important; +} +.postblog:hover{ + box-shadow: 1px 1px 7px var(--colorletra) !important; + cursor: pointer; +} +.iconredy{ + max-width: 40px; + max-height: 40px; +} + +.cabezeramodal{ + background-color: var(--negroinput) ; + padding: 0.5%; + display: flex; + align-items: center; + justify-content: space-around; + border-bottom: 1px solid #dee2e6; +} +.modalpost{ + background-color: var(--negrofondo) !important; +} +.cuerpomodal{ + background-color: var(--negropost) !important; + border-radius: 5px; + min-height: 200px; + padding: 1% !important; + overflow: hidden !important; + width: 80%; + margin: 1% auto; + text-align: center; +} +.contenidomodal{ + height: 80%; +} +.modal-icon{ + height: 20%; + display: flex; + justify-content:space-around; + align-items: flex-end; +} + +i{ + cursor: pointer; +} +.like-dislike{ + display: flex; + align-items: center; +} + +.numerolike{ + width: 50px; + text-align: center; +} +.like:hover{ + color:rgb(0, 204, 0); +} +.dislike:hover{ + color:rgb(255, 64, 64); +} +i:hover{ + color: rgb(98, 98, 250); +} + +.textareatitulo{ + max-width: 50%; + font-size: 1.2em !important; + text-align: center; +} +.textareacuerpo{ + width: 80%; + min-height: 200px; + margin: 1% auto; + font-size: 1em; + border-radius: 5px; + padding: 1%; + overflow: hidden; + text-align: center; + +} +.piemodal{ + background-color: var(--negroinput) !important; +} + +#comments{ + border-radius: 5px; + background-color: var(--negropost); + max-width: 80%; + margin: auto; +} + +.container-comments{ + border-left: 1px solid var(--colorletra); + margin: 2%; +} +.imguser{ + max-width: 40px; + max-height: 40px; + /* margin-right:5%; */ +} +.imguserbig{ + max-width: 50px; + max-height: 70px; + margin: 0% 5% ; + margin-right:15%; +} +.headerpost{ + text-align: left; + padding-left:2%; + display: flex; + justify-content: space-between; +} +.modalUser{ + display: flex; + align-items: center; +} +.modaldelete{ + border: 1px solid white!important; +} + diff --git a/data/comments.json b/src/data/comments.json similarity index 100% rename from data/comments.json rename to src/data/comments.json diff --git a/data/db.json b/src/data/db.json similarity index 97% rename from data/db.json rename to src/data/db.json index 7fcbe2a9..6118173e 100644 --- a/data/db.json +++ b/src/data/db.json @@ -2,603 +2,795 @@ "posts": [ { "userId": 1, + "like": 0, + "dislike": 0, "id": 1, "title": "sunt aut facere repellat provident occaecati excepturi optio reprehenderit", "body": "quia et suscipit\nsuscipit recusandae consequuntur expedita et cum\nreprehenderit molestiae ut ut quas totam\nnostrum rerum est autem sunt rem eveniet architecto" }, { "userId": 1, + "like": 0, + "dislike": 0, "id": 2, "title": "qui est esse", "body": "est rerum tempore vitae\nsequi sint nihil reprehenderit dolor beatae ea dolores neque\nfugiat blanditiis voluptate porro vel nihil molestiae ut reiciendis\nqui aperiam non debitis possimus qui neque nisi nulla" }, { "userId": 1, + "like": 0, + "dislike": 0, "id": 3, "title": "ea molestias quasi exercitationem repellat qui ipsa sit aut", "body": "et iusto sed quo iure\nvoluptatem occaecati omnis eligendi aut ad\nvoluptatem doloribus vel accusantium quis pariatur\nmolestiae porro eius odio et labore et velit aut" }, { "userId": 1, + "like": 0, + "dislike": 0, "id": 4, "title": "eum et est occaecati", "body": "ullam et saepe reiciendis voluptatem adipisci\nsit amet autem assumenda provident rerum culpa\nquis hic commodi nesciunt rem tenetur doloremque ipsam iure\nquis sunt voluptatem rerum illo velit" }, { "userId": 1, + "like": 0, + "dislike": 0, "id": 5, "title": "nesciunt quas odio", "body": "repudiandae veniam quaerat sunt sed\nalias aut fugiat sit autem sed est\nvoluptatem omnis possimus esse voluptatibus quis\nest aut tenetur dolor neque" }, { "userId": 1, + "like": 0, + "dislike": 0, "id": 6, "title": "dolorem eum magni eos aperiam quia", "body": "ut aspernatur corporis harum nihil quis provident sequi\nmollitia nobis aliquid molestiae\nperspiciatis et ea nemo ab reprehenderit accusantium quas\nvoluptate dolores velit et doloremque molestiae" }, { "userId": 1, + "like": 0, + "dislike": 0, "id": 7, "title": "magnam facilis autem", "body": "dolore placeat quibusdam ea quo vitae\nmagni quis enim qui quis quo nemo aut saepe\nquidem repellat excepturi ut quia\nsunt ut sequi eos ea sed quas" }, { "userId": 1, + "like": 0, + "dislike": 0, "id": 8, "title": "dolorem dolore est ipsam", "body": "dignissimos aperiam dolorem qui eum\nfacilis quibusdam animi sint suscipit qui sint possimus cum\nquaerat magni maiores excepturi\nipsam ut commodi dolor voluptatum modi aut vitae" }, { "userId": 1, + "like": 0, + "dislike": 0, "id": 9, "title": "nesciunt iure omnis dolorem tempora et accusantium", "body": "consectetur animi nesciunt iure dolore\nenim quia ad\nveniam autem ut quam aut nobis\net est aut quod aut provident voluptas autem voluptas" }, { "userId": 1, + "like": 1, + "dislike": 0, "id": 10, "title": "optio molestias id quia eum", "body": "quo et expedita modi cum officia vel magni\ndoloribus qui repudiandae\nvero nisi sit\nquos veniam quod sed accusamus veritatis error" }, { "userId": 2, + "like": 0, + "dislike": 0, "id": 11, "title": "et ea vero quia laudantium autem", "body": "delectus reiciendis molestiae occaecati non minima eveniet qui voluptatibus\naccusamus in eum beatae sit\nvel qui neque voluptates ut commodi qui incidunt\nut animi commodi" }, { "userId": 2, + "like": 0, + "dislike": 0, "id": 12, "title": "in quibusdam tempore odit est dolorem", "body": "itaque id aut magnam\npraesentium quia et ea odit et ea voluptas et\nsapiente quia nihil amet occaecati quia id voluptatem\nincidunt ea est distinctio odio" }, { "userId": 2, + "like": 0, + "dislike": 0, "id": 13, "title": "dolorum ut in voluptas mollitia et saepe quo animi", "body": "aut dicta possimus sint mollitia voluptas commodi quo doloremque\niste corrupti reiciendis voluptatem eius rerum\nsit cumque quod eligendi laborum minima\nperferendis recusandae assumenda consectetur porro architecto ipsum ipsam" }, { "userId": 2, + "like": 0, + "dislike": 0, "id": 14, "title": "voluptatem eligendi optio", "body": "fuga et accusamus dolorum perferendis illo voluptas\nnon doloremque neque facere\nad qui dolorum molestiae beatae\nsed aut voluptas totam sit illum" }, { "userId": 2, + "like": 0, + "dislike": 0, "id": 15, "title": "eveniet quod temporibus", "body": "reprehenderit quos placeat\nvelit minima officia dolores impedit repudiandae molestiae nam\nvoluptas recusandae quis delectus\nofficiis harum fugiat vitae" }, { "userId": 2, + "like": 0, + "dislike": 0, "id": 16, "title": "sint suscipit perspiciatis velit dolorum rerum ipsa laboriosam odio", "body": "suscipit nam nisi quo aperiam aut\nasperiores eos fugit maiores voluptatibus quia\nvoluptatem quis ullam qui in alias quia est\nconsequatur magni mollitia accusamus ea nisi voluptate dicta" }, { "userId": 2, + "like": 0, + "dislike": 0, "id": 17, "title": "fugit voluptas sed molestias voluptatem provident", "body": "eos voluptas et aut odit natus earum\naspernatur fuga molestiae ullam\ndeserunt ratione qui eos\nqui nihil ratione nemo velit ut aut id quo" }, { "userId": 2, + "like": 0, + "dislike": 0, "id": 18, "title": "voluptate et itaque vero tempora molestiae", "body": "eveniet quo quis\nlaborum totam consequatur non dolor\nut et est repudiandae\nest voluptatem vel debitis et magnam" }, { "userId": 2, + "like": 0, + "dislike": 0, "id": 19, "title": "adipisci placeat illum aut reiciendis qui", "body": "illum quis cupiditate provident sit magnam\nea sed aut omnis\nveniam maiores ullam consequatur atque\nadipisci quo iste expedita sit quos voluptas" }, { "userId": 2, + "like": 0, + "dislike": 0, "id": 20, "title": "doloribus ad provident suscipit at", "body": "qui consequuntur ducimus possimus quisquam amet similique\nsuscipit porro ipsam amet\neos veritatis officiis exercitationem vel fugit aut necessitatibus totam\nomnis rerum consequatur expedita quidem cumque explicabo" }, { "userId": 3, + "like": 0, + "dislike": 0, "id": 21, "title": "asperiores ea ipsam voluptatibus modi minima quia sint", "body": "repellat aliquid praesentium dolorem quo\nsed totam minus non itaque\nnihil labore molestiae sunt dolor eveniet hic recusandae veniam\ntempora et tenetur expedita sunt" }, { "userId": 3, + "like": 0, + "dislike": 0, "id": 22, "title": "dolor sint quo a velit explicabo quia nam", "body": "eos qui et ipsum ipsam suscipit aut\nsed omnis non odio\nexpedita earum mollitia molestiae aut atque rem suscipit\nnam impedit esse" }, { "userId": 3, + "like": 0, + "dislike": 0, "id": 23, "title": "maxime id vitae nihil numquam", "body": "veritatis unde neque eligendi\nquae quod architecto quo neque vitae\nest illo sit tempora doloremque fugit quod\net et vel beatae sequi ullam sed tenetur perspiciatis" }, { "userId": 3, + "like": 0, + "dislike": 0, "id": 24, "title": "autem hic labore sunt dolores incidunt", "body": "enim et ex nulla\nomnis voluptas quia qui\nvoluptatem consequatur numquam aliquam sunt\ntotam recusandae id dignissimos aut sed asperiores deserunt" }, { "userId": 3, + "like": 0, + "dislike": 0, "id": 25, "title": "rem alias distinctio quo quis", "body": "ullam consequatur ut\nomnis quis sit vel consequuntur\nipsa eligendi ipsum molestiae et omnis error nostrum\nmolestiae illo tempore quia et distinctio" }, { "userId": 3, + "like": 0, + "dislike": 0, "id": 26, "title": "est et quae odit qui non", "body": "similique esse doloribus nihil accusamus\nomnis dolorem fuga consequuntur reprehenderit fugit recusandae temporibus\nperspiciatis cum ut laudantium\nomnis aut molestiae vel vero" }, { "userId": 3, + "like": 0, + "dislike": 0, "id": 27, "title": "quasi id et eos tenetur aut quo autem", "body": "eum sed dolores ipsam sint possimus debitis occaecati\ndebitis qui qui et\nut placeat enim earum aut odit facilis\nconsequatur suscipit necessitatibus rerum sed inventore temporibus consequatur" }, { "userId": 3, + "like": 0, + "dislike": 0, "id": 28, "title": "delectus ullam et corporis nulla voluptas sequi", "body": "non et quaerat ex quae ad maiores\nmaiores recusandae totam aut blanditiis mollitia quas illo\nut voluptatibus voluptatem\nsimilique nostrum eum" }, { "userId": 3, + "like": 0, + "dislike": 0, "id": 29, "title": "iusto eius quod necessitatibus culpa ea", "body": "odit magnam ut saepe sed non qui\ntempora atque nihil\naccusamus illum doloribus illo dolor\neligendi repudiandae odit magni similique sed cum maiores" }, { "userId": 3, + "like": 0, + "dislike": 0, "id": 30, "title": "a quo magni similique perferendis", "body": "alias dolor cumque\nimpedit blanditiis non eveniet odio maxime\nblanditiis amet eius quis tempora quia autem rem\na provident perspiciatis quia" }, { "userId": 4, + "like": 0, + "dislike": 0, "id": 31, "title": "ullam ut quidem id aut vel consequuntur", "body": "debitis eius sed quibusdam non quis consectetur vitae\nimpedit ut qui consequatur sed aut in\nquidem sit nostrum et maiores adipisci atque\nquaerat voluptatem adipisci repudiandae" }, { "userId": 4, + "like": 0, + "dislike": 0, "id": 32, "title": "doloremque illum aliquid sunt", "body": "deserunt eos nobis asperiores et hic\nest debitis repellat molestiae optio\nnihil ratione ut eos beatae quibusdam distinctio maiores\nearum voluptates et aut adipisci ea maiores voluptas maxime" }, { "userId": 4, + "like": 0, + "dislike": 0, "id": 33, "title": "qui explicabo molestiae dolorem", "body": "rerum ut et numquam laborum odit est sit\nid qui sint in\nquasi tenetur tempore aperiam et quaerat qui in\nrerum officiis sequi cumque quod" }, { "userId": 4, + "like": 0, + "dislike": 0, "id": 34, "title": "magnam ut rerum iure", "body": "ea velit perferendis earum ut voluptatem voluptate itaque iusto\ntotam pariatur in\nnemo voluptatem voluptatem autem magni tempora minima in\nest distinctio qui assumenda accusamus dignissimos officia nesciunt nobis" }, { "userId": 4, + "like": 0, + "dislike": 0, "id": 35, "title": "id nihil consequatur molestias animi provident", "body": "nisi error delectus possimus ut eligendi vitae\nplaceat eos harum cupiditate facilis reprehenderit voluptatem beatae\nmodi ducimus quo illum voluptas eligendi\net nobis quia fugit" }, { "userId": 4, + "like": 0, + "dislike": 0, "id": 36, "title": "fuga nam accusamus voluptas reiciendis itaque", "body": "ad mollitia et omnis minus architecto odit\nvoluptas doloremque maxime aut non ipsa qui alias veniam\nblanditiis culpa aut quia nihil cumque facere et occaecati\nqui aspernatur quia eaque ut aperiam inventore" }, { "userId": 4, + "like": 0, + "dislike": 0, "id": 37, "title": "provident vel ut sit ratione est", "body": "debitis et eaque non officia sed nesciunt pariatur vel\nvoluptatem iste vero et ea\nnumquam aut expedita ipsum nulla in\nvoluptates omnis consequatur aut enim officiis in quam qui" }, { "userId": 4, + "like": 1, + "dislike": 0, "id": 38, "title": "explicabo et eos deleniti nostrum ab id repellendus", "body": "animi esse sit aut sit nesciunt assumenda eum voluptas\nquia voluptatibus provident quia necessitatibus ea\nrerum repudiandae quia voluptatem delectus fugit aut id quia\nratione optio eos iusto veniam iure" }, { "userId": 4, + "like": 0, + "dislike": 0, "id": 39, "title": "eos dolorem iste accusantium est eaque quam", "body": "corporis rerum ducimus vel eum accusantium\nmaxime aspernatur a porro possimus iste omnis\nest in deleniti asperiores fuga aut\nvoluptas sapiente vel dolore minus voluptatem incidunt ex" }, { "userId": 4, + "like": 0, + "dislike": 0, "id": 40, "title": "enim quo cumque", "body": "ut voluptatum aliquid illo tenetur nemo sequi quo facilis\nipsum rem optio mollitia quas\nvoluptatem eum voluptas qui\nunde omnis voluptatem iure quasi maxime voluptas nam" }, { "userId": 5, + "like": 0, + "dislike": 0, "id": 41, "title": "non est facere", "body": "molestias id nostrum\nexcepturi molestiae dolore omnis repellendus quaerat saepe\nconsectetur iste quaerat tenetur asperiores accusamus ex ut\nnam quidem est ducimus sunt debitis saepe" }, { "userId": 5, + "like": 0, + "dislike": 0, "id": 42, "title": "commodi ullam sint et excepturi error explicabo praesentium voluptas", "body": "odio fugit voluptatum ducimus earum autem est incidunt voluptatem\nodit reiciendis aliquam sunt sequi nulla dolorem\nnon facere repellendus voluptates quia\nratione harum vitae ut" }, { "userId": 5, + "like": 0, + "dislike": 0, "id": 43, "title": "eligendi iste nostrum consequuntur adipisci praesentium sit beatae perferendis", "body": "similique fugit est\nillum et dolorum harum et voluptate eaque quidem\nexercitationem quos nam commodi possimus cum odio nihil nulla\ndolorum exercitationem magnam ex et a et distinctio debitis" }, { "userId": 5, + "like": 0, + "dislike": 0, "id": 44, "title": "optio dolor molestias sit", "body": "temporibus est consectetur dolore\net libero debitis vel velit laboriosam quia\nipsum quibusdam qui itaque fuga rem aut\nea et iure quam sed maxime ut distinctio quae" }, { "userId": 5, + "like": 0, + "dislike": 0, "id": 45, "title": "ut numquam possimus omnis eius suscipit laudantium iure", "body": "est natus reiciendis nihil possimus aut provident\nex et dolor\nrepellat pariatur est\nnobis rerum repellendus dolorem autem" }, { "userId": 5, + "like": 0, + "dislike": 0, "id": 46, "title": "aut quo modi neque nostrum ducimus", "body": "voluptatem quisquam iste\nvoluptatibus natus officiis facilis dolorem\nquis quas ipsam\nvel et voluptatum in aliquid" }, { "userId": 5, + "like": 0, + "dislike": 0, "id": 47, "title": "quibusdam cumque rem aut deserunt", "body": "voluptatem assumenda ut qui ut cupiditate aut impedit veniam\noccaecati nemo illum voluptatem laudantium\nmolestiae beatae rerum ea iure soluta nostrum\neligendi et voluptate" }, { "userId": 5, + "like": 0, + "dislike": 0, "id": 48, "title": "ut voluptatem illum ea doloribus itaque eos", "body": "voluptates quo voluptatem facilis iure occaecati\nvel assumenda rerum officia et\nillum perspiciatis ab deleniti\nlaudantium repellat ad ut et autem reprehenderit" }, { "userId": 5, + "like": 0, + "dislike": 0, "id": 49, "title": "laborum non sunt aut ut assumenda perspiciatis voluptas", "body": "inventore ab sint\nnatus fugit id nulla sequi architecto nihil quaerat\neos tenetur in in eum veritatis non\nquibusdam officiis aspernatur cumque aut commodi aut" }, { "userId": 5, + "like": 0, + "dislike": 0, "id": 50, "title": "repellendus qui recusandae incidunt voluptates tenetur qui omnis exercitationem", "body": "error suscipit maxime adipisci consequuntur recusandae\nvoluptas eligendi et est et voluptates\nquia distinctio ab amet quaerat molestiae et vitae\nadipisci impedit sequi nesciunt quis consectetur" }, { "userId": 6, + "like": 0, + "dislike": 0, "id": 51, "title": "soluta aliquam aperiam consequatur illo quis voluptas", "body": "sunt dolores aut doloribus\ndolore doloribus voluptates tempora et\ndoloremque et quo\ncum asperiores sit consectetur dolorem" }, { "userId": 6, + "like": 0, + "dislike": 0, "id": 52, "title": "qui enim et consequuntur quia animi quis voluptate quibusdam", "body": "iusto est quibusdam fuga quas quaerat molestias\na enim ut sit accusamus enim\ntemporibus iusto accusantium provident architecto\nsoluta esse reprehenderit qui laborum" }, { "userId": 6, + "like": 0, + "dislike": 0, "id": 53, "title": "ut quo aut ducimus alias", "body": "minima harum praesentium eum rerum illo dolore\nquasi exercitationem rerum nam\nporro quis neque quo\nconsequatur minus dolor quidem veritatis sunt non explicabo similique" }, { "userId": 6, + "like": 0, + "dislike": 0, "id": 54, "title": "sit asperiores ipsam eveniet odio non quia", "body": "totam corporis dignissimos\nvitae dolorem ut occaecati accusamus\nex velit deserunt\net exercitationem vero incidunt corrupti mollitia" }, { "userId": 6, + "like": 0, + "dislike": 0, "id": 55, "title": "sit vel voluptatem et non libero", "body": "debitis excepturi ea perferendis harum libero optio\neos accusamus cum fuga ut sapiente repudiandae\net ut incidunt omnis molestiae\nnihil ut eum odit" }, { "userId": 6, + "like": 0, + "dislike": 0, "id": 56, "title": "qui et at rerum necessitatibus", "body": "aut est omnis dolores\nneque rerum quod ea rerum velit pariatur beatae excepturi\net provident voluptas corrupti\ncorporis harum reprehenderit dolores eligendi" }, { "userId": 6, + "like": 0, + "dislike": 0, "id": 57, "title": "sed ab est est", "body": "at pariatur consequuntur earum quidem\nquo est laudantium soluta voluptatem\nqui ullam et est\net cum voluptas voluptatum repellat est" }, { "userId": 6, + "like": 0, + "dislike": 0, "id": 58, "title": "voluptatum itaque dolores nisi et quasi", "body": "veniam voluptatum quae adipisci id\net id quia eos ad et dolorem\naliquam quo nisi sunt eos impedit error\nad similique veniam" }, { "userId": 6, + "like": 0, + "dislike": 0, "id": 59, "title": "qui commodi dolor at maiores et quis id accusantium", "body": "perspiciatis et quam ea autem temporibus non voluptatibus qui\nbeatae a earum officia nesciunt dolores suscipit voluptas et\nanimi doloribus cum rerum quas et magni\net hic ut ut commodi expedita sunt" }, { "userId": 6, + "like": 0, + "dislike": 0, "id": 60, "title": "consequatur placeat omnis quisquam quia reprehenderit fugit veritatis facere", "body": "asperiores sunt ab assumenda cumque modi velit\nqui esse omnis\nvoluptate et fuga perferendis voluptas\nillo ratione amet aut et omnis" }, { "userId": 7, + "like": 0, + "dislike": 0, "id": 61, "title": "voluptatem doloribus consectetur est ut ducimus", "body": "ab nemo optio odio\ndelectus tenetur corporis similique nobis repellendus rerum omnis facilis\nvero blanditiis debitis in nesciunt doloribus dicta dolores\nmagnam minus velit" }, { "userId": 7, + "like": 0, + "dislike": 0, "id": 62, "title": "beatae enim quia vel", "body": "enim aspernatur illo distinctio quae praesentium\nbeatae alias amet delectus qui voluptate distinctio\nodit sint accusantium autem omnis\nquo molestiae omnis ea eveniet optio" }, { "userId": 7, + "like": 0, + "dislike": 0, "id": 63, "title": "voluptas blanditiis repellendus animi ducimus error sapiente et suscipit", "body": "enim adipisci aspernatur nemo\nnumquam omnis facere dolorem dolor ex quis temporibus incidunt\nab delectus culpa quo reprehenderit blanditiis asperiores\naccusantium ut quam in voluptatibus voluptas ipsam dicta" }, { "userId": 7, + "like": 0, + "dislike": 0, "id": 64, "title": "et fugit quas eum in in aperiam quod", "body": "id velit blanditiis\neum ea voluptatem\nmolestiae sint occaecati est eos perspiciatis\nincidunt a error provident eaque aut aut qui" }, { "userId": 7, + "like": 0, + "dislike": 0, "id": 65, "title": "consequatur id enim sunt et et", "body": "voluptatibus ex esse\nsint explicabo est aliquid cumque adipisci fuga repellat labore\nmolestiae corrupti ex saepe at asperiores et perferendis\nnatus id esse incidunt pariatur" }, { "userId": 7, + "like": 0, + "dislike": 0, "id": 66, "title": "repudiandae ea animi iusto", "body": "officia veritatis tenetur vero qui itaque\nsint non ratione\nsed et ut asperiores iusto eos molestiae nostrum\nveritatis quibusdam et nemo iusto saepe" }, { "userId": 7, + "like": 0, + "dislike": 0, "id": 67, "title": "aliquid eos sed fuga est maxime repellendus", "body": "reprehenderit id nostrum\nvoluptas doloremque pariatur sint et accusantium quia quod aspernatur\net fugiat amet\nnon sapiente et consequatur necessitatibus molestiae" }, { "userId": 7, + "like": 0, + "dislike": 0, "id": 68, "title": "odio quis facere architecto reiciendis optio", "body": "magnam molestiae perferendis quisquam\nqui cum reiciendis\nquaerat animi amet hic inventore\nea quia deleniti quidem saepe porro velit" }, { "userId": 7, + "like": 0, + "dislike": 0, "id": 69, "title": "fugiat quod pariatur odit minima", "body": "officiis error culpa consequatur modi asperiores et\ndolorum assumenda voluptas et vel qui aut vel rerum\nvoluptatum quisquam perspiciatis quia rerum consequatur totam quas\nsequi commodi repudiandae asperiores et saepe a" }, { "userId": 7, + "like": 0, + "dislike": 0, "id": 70, "title": "voluptatem laborum magni", "body": "sunt repellendus quae\nest asperiores aut deleniti esse accusamus repellendus quia aut\nquia dolorem unde\neum tempora esse dolore" }, { "userId": 8, + "like": 0, + "dislike": 0, "id": 71, "title": "et iusto veniam et illum aut fuga", "body": "occaecati a doloribus\niste saepe consectetur placeat eum voluptate dolorem et\nqui quo quia voluptas\nrerum ut id enim velit est perferendis" }, { "userId": 8, + "like": 0, + "dislike": 0, "id": 72, "title": "sint hic doloribus consequatur eos non id", "body": "quam occaecati qui deleniti consectetur\nconsequatur aut facere quas exercitationem aliquam hic voluptas\nneque id sunt ut aut accusamus\nsunt consectetur expedita inventore velit" }, { "userId": 8, + "like": 0, + "dislike": 0, "id": 73, "title": "consequuntur deleniti eos quia temporibus ab aliquid at", "body": "voluptatem cumque tenetur consequatur expedita ipsum nemo quia explicabo\naut eum minima consequatur\ntempore cumque quae est et\net in consequuntur voluptatem voluptates aut" }, { "userId": 8, + "like": 0, + "dislike": 0, "id": 74, "title": "enim unde ratione doloribus quas enim ut sit sapiente", "body": "odit qui et et necessitatibus sint veniam\nmollitia amet doloremque molestiae commodi similique magnam et quam\nblanditiis est itaque\nquo et tenetur ratione occaecati molestiae tempora" }, { "userId": 8, + "like": 0, + "dislike": 0, "id": 75, "title": "dignissimos eum dolor ut enim et delectus in", "body": "commodi non non omnis et voluptas sit\nautem aut nobis magnam et sapiente voluptatem\net laborum repellat qui delectus facilis temporibus\nrerum amet et nemo voluptate expedita adipisci error dolorem" }, { "userId": 8, + "like": 0, + "dislike": 0, "id": 76, "title": "doloremque officiis ad et non perferendis", "body": "ut animi facere\ntotam iusto tempore\nmolestiae eum aut et dolorem aperiam\nquaerat recusandae totam odio" }, { "userId": 8, + "like": 0, + "dislike": 0, "id": 77, "title": "necessitatibus quasi exercitationem odio", "body": "modi ut in nulla repudiandae dolorum nostrum eos\naut consequatur omnis\nut incidunt est omnis iste et quam\nvoluptates sapiente aliquam asperiores nobis amet corrupti repudiandae provident" }, { "userId": 8, + "like": 0, + "dislike": 0, "id": 78, "title": "quam voluptatibus rerum veritatis", "body": "nobis facilis odit tempore cupiditate quia\nassumenda doloribus rerum qui ea\nillum et qui totam\naut veniam repellendus" }, { "userId": 8, + "like": 0, + "dislike": 0, "id": 79, "title": "pariatur consequatur quia magnam autem omnis non amet", "body": "libero accusantium et et facere incidunt sit dolorem\nnon excepturi qui quia sed laudantium\nquisquam molestiae ducimus est\nofficiis esse molestiae iste et quos" }, { "userId": 8, + "like": 2, + "dislike": 0, "id": 80, "title": "labore in ex et explicabo corporis aut quas", "body": "ex quod dolorem ea eum iure qui provident amet\nquia qui facere excepturi et repudiandae\nasperiores molestias provident\nminus incidunt vero fugit rerum sint sunt excepturi provident" }, { "userId": 9, + "like": 0, + "dislike": 0, "id": 81, "title": "tempora rem veritatis voluptas quo dolores vero", "body": "facere qui nesciunt est voluptatum voluptatem nisi\nsequi eligendi necessitatibus ea at rerum itaque\nharum non ratione velit laboriosam quis consequuntur\nex officiis minima doloremque voluptas ut aut" }, { "userId": 9, + "like": 0, + "dislike": 0, "id": 82, "title": "laudantium voluptate suscipit sunt enim enim", "body": "ut libero sit aut totam inventore sunt\nporro sint qui sunt molestiae\nconsequatur cupiditate qui iste ducimus adipisci\ndolor enim assumenda soluta laboriosam amet iste delectus hic" }, { "userId": 9, + "like": 0, + "dislike": 0, "id": 83, "title": "odit et voluptates doloribus alias odio et", "body": "est molestiae facilis quis tempora numquam nihil qui\nvoluptate sapiente consequatur est qui\nnecessitatibus autem aut ipsa aperiam modi dolore numquam\nreprehenderit eius rem quibusdam" }, { "userId": 9, + "like": 0, + "dislike": 0, "id": 84, "title": "optio ipsam molestias necessitatibus occaecati facilis veritatis dolores aut", "body": "sint molestiae magni a et quos\neaque et quasi\nut rerum debitis similique veniam\nrecusandae dignissimos dolor incidunt consequatur odio" }, { "userId": 9, + "like": 0, + "dislike": 0, "id": 85, "title": "dolore veritatis porro provident adipisci blanditiis et sunt", "body": "similique sed nisi voluptas iusto omnis\nmollitia et quo\nassumenda suscipit officia magnam sint sed tempora\nenim provident pariatur praesentium atque animi amet ratione" }, { "userId": 9, + "like": 0, + "dislike": 0, "id": 86, "title": "placeat quia et porro iste", "body": "quasi excepturi consequatur iste autem temporibus sed molestiae beatae\net quaerat et esse ut\nvoluptatem occaecati et vel explicabo autem\nasperiores pariatur deserunt optio" }, { "userId": 9, + "like": 0, + "dislike": 0, "id": 87, "title": "nostrum quis quasi placeat", "body": "eos et molestiae\nnesciunt ut a\ndolores perspiciatis repellendus repellat aliquid\nmagnam sint rem ipsum est" }, { "userId": 9, + "like": 0, + "dislike": 0, "id": 88, "title": "sapiente omnis fugit eos", "body": "consequatur omnis est praesentium\nducimus non iste\nneque hic deserunt\nvoluptatibus veniam cum et rerum sed" }, { "userId": 9, + "like": 0, + "dislike": 0, "id": 89, "title": "sint soluta et vel magnam aut ut sed qui", "body": "repellat aut aperiam totam temporibus autem et\narchitecto magnam ut\nconsequatur qui cupiditate rerum quia soluta dignissimos nihil iure\ntempore quas est" }, { "userId": 9, + "like": 4, + "dislike": 1, "id": 90, "title": "ad iusto omnis odit dolor voluptatibus", "body": "minus omnis soluta quia\nqui sed adipisci voluptates illum ipsam voluptatem\neligendi officia ut in\neos soluta similique molestias praesentium blanditiis" }, { "userId": 10, + "like": 0, + "dislike": 0, "id": 91, "title": "aut amet sed", "body": "libero voluptate eveniet aperiam sed\nsunt placeat suscipit molestias\nsimilique fugit nam natus\nexpedita consequatur consequatur dolores quia eos et placeat" }, { "userId": 10, + "like": 0, + "dislike": 0, "id": 92, "title": "ratione ex tenetur perferendis", "body": "aut et excepturi dicta laudantium sint rerum nihil\nlaudantium et at\na neque minima officia et similique libero et\ncommodi voluptate qui" }, { "userId": 10, + "like": 0, + "dislike": 0, "id": 93, "title": "beatae soluta recusandae", "body": "dolorem quibusdam ducimus consequuntur dicta aut quo laboriosam\nvoluptatem quis enim recusandae ut sed sunt\nnostrum est odit totam\nsit error sed sunt eveniet provident qui nulla" }, { "userId": 10, + "like": 0, + "dislike": 0, "id": 94, "title": "qui qui voluptates illo iste minima", "body": "aspernatur expedita soluta quo ab ut similique\nexpedita dolores amet\nsed temporibus distinctio magnam saepe deleniti\nomnis facilis nam ipsum natus sint similique omnis" }, { "userId": 10, + "like": 0, + "dislike": 0, "id": 95, "title": "id minus libero illum nam ad officiis", "body": "earum voluptatem facere provident blanditiis velit laboriosam\npariatur accusamus odio saepe\ncumque dolor qui a dicta ab doloribus consequatur omnis\ncorporis cupiditate eaque assumenda ad nesciunt" }, { "userId": 10, + "like": 0, + "dislike": 0, "id": 96, "title": "quaerat velit veniam amet cupiditate aut numquam ut sequi", "body": "in non odio excepturi sint eum\nlabore voluptates vitae quia qui et\ninventore itaque rerum\nveniam non exercitationem delectus aut" }, { "userId": 10, + "like": 0, + "dislike": 0, "id": 97, "title": "quas fugiat ut perspiciatis vero provident", "body": "eum non blanditiis soluta porro quibusdam voluptas\nvel voluptatem qui placeat dolores qui velit aut\nvel inventore aut cumque culpa explicabo aliquid at\nperspiciatis est et voluptatem dignissimos dolor itaque sit nam" }, { "userId": 10, + "like": 2, + "dislike": 0, "id": 98, "title": "laboriosam dolor voluptates", "body": "doloremque ex facilis sit sint culpa\nsoluta assumenda eligendi non ut eius\nsequi ducimus vel quasi\nveritatis est dolores" }, { "userId": 10, + "like": 10, + "dislike": 3, "id": 99, "title": "temporibus sit alias delectus eligendi possimus magni", - "body": "quo deleniti praesentium dicta non quod\naut est molestias\nmolestias et officia quis nihil\nitaque dolorem quia" - }, - { - "userId": 10, - "id": 100, - "title": "at nam consequatur ea labore ea harum", - "body": "cupiditate quo est a modi nesciunt soluta\nipsa voluptas error itaque dicta in\nautem qui minus magnam et distinctio eum\naccusamus ratione error aut" + "body": "quo deleniti praesentium dicta non quod\naut est molestias\nmolestias et officia quis nihil\nitaque dolorem quia\n \n \n \n \n 9\n \n \n \n 3\n \n \n \n \n " } ], "users": [ @@ -607,6 +799,7 @@ "name": "Leanne Graham", "username": "Bret", "email": "Sincere@april.biz", + "avatar": "./src/img/avatar1.png", "address": { "street": "Kulas Light", "suite": "Apt. 556", @@ -630,6 +823,7 @@ "name": "Ervin Howell", "username": "Antonette", "email": "Shanna@melissa.tv", + "avatar": "./src/img/avatar2.png", "address": { "street": "Victor Plains", "suite": "Suite 879", @@ -653,6 +847,7 @@ "name": "Clementine Bauch", "username": "Samantha", "email": "Nathan@yesenia.net", + "avatar": "./src/img/avatar3.png", "address": { "street": "Douglas Extension", "suite": "Suite 847", @@ -676,6 +871,7 @@ "name": "Patricia Lebsack", "username": "Karianne", "email": "Julianne.OConner@kory.org", + "avatar": "/src/img/avatar4.png", "address": { "street": "Hoeger Mall", "suite": "Apt. 692", @@ -699,6 +895,7 @@ "name": "Chelsey Dietrich", "username": "Kamren", "email": "Lucio_Hettinger@annie.ca", + "avatar": "/src/img/avatar5.png", "address": { "street": "Skiles Walks", "suite": "Suite 351", @@ -722,6 +919,7 @@ "name": "Mrs. Dennis Schulist", "username": "Leopoldo_Corkery", "email": "Karley_Dach@jasper.info", + "avatar": "/src/img/avatar6.png", "address": { "street": "Norberto Crossing", "suite": "Apt. 950", @@ -745,6 +943,7 @@ "name": "Kurtis Weissnat", "username": "Elwyn.Skiles", "email": "Telly.Hoeger@billy.biz", + "avatar": "/src/img/avatar7.png", "address": { "street": "Rex Trail", "suite": "Suite 280", @@ -768,6 +967,7 @@ "name": "Nicholas Runolfsdottir V", "username": "Maxime_Nienow", "email": "Sherwood@rosamond.me", + "avatar": "/src/img/avatar8.png", "address": { "street": "Ellsworth Summit", "suite": "Suite 729", @@ -791,6 +991,7 @@ "name": "Glenna Reichert", "username": "Delphine", "email": "Chaim_McDermott@dana.io", + "avatar": "./src/img/avatar9.png", "address": { "street": "Dayna Park", "suite": "Suite 449", @@ -814,6 +1015,7 @@ "name": "Clementina DuBuque", "username": "Moriah.Stanton", "email": "Rey.Padberg@karina.biz", + "avatar": "/src/img/avatar10.png", "address": { "street": "Kattie Turnpike", "suite": "Suite 198", @@ -4298,41 +4500,6 @@ "name": "dolor ut ut aut molestiae esse et tempora numquam", "email": "Alice_Considine@daren.com", "body": "pariatur occaecati ea autem at quis et dolorem similique\npariatur ipsa hic et saepe itaque cumque repellendus vel\net quibusdam qui aut nemo et illo\nqui non quod officiis aspernatur qui optio" - }, - { - "postId": 100, - "id": 496, - "name": "et occaecati asperiores quas voluptas ipsam nostrum", - "email": "Zola@lizzie.com", - "body": "neque unde voluptatem iure\nodio excepturi ipsam ad id\nipsa sed expedita error quam\nvoluptatem tempora necessitatibus suscipit culpa veniam porro iste vel" - }, - { - "postId": 100, - "id": 497, - "name": "doloribus dolores ut dolores occaecati", - "email": "Dolly@mandy.co.uk", - "body": "non dolor consequatur\nlaboriosam ut deserunt autem odit\nlibero dolore non nesciunt qui\naut est consequatur quo dolorem" - }, - { - "postId": 100, - "id": 498, - "name": "dolores minus aut libero", - "email": "Davion@eldora.net", - "body": "aliquam pariatur suscipit fugiat eos sunt\noptio voluptatem eveniet rerum dignissimos\nquia aut beatae\nmodi consequatur qui rerum sint veritatis deserunt est" - }, - { - "postId": 100, - "id": 499, - "name": "excepturi sunt cum a et rerum quo voluptatibus quia", - "email": "Wilburn_Labadie@araceli.name", - "body": "et necessitatibus tempora ipsum quaerat inventore est quasi quidem\nea repudiandae laborum omnis ab reprehenderit ut\nratione sit numquam culpa a rem\natque aut et" - }, - { - "postId": 100, - "id": 500, - "name": "ex eaque eum natus", - "email": "Emma@joanny.ca", - "body": "perspiciatis quis doloremque\nveniam nisi eos velit sed\nid totam inventore voluptatem laborum et eveniet\naut aut aut maxime quia temporibus ut omnis" } ] -} +} \ No newline at end of file diff --git a/data/posts.json b/src/data/posts.json similarity index 100% rename from data/posts.json rename to src/data/posts.json diff --git a/data/users.json b/src/data/users.json similarity index 94% rename from data/users.json rename to src/data/users.json index 79b699aa..360544b9 100644 --- a/data/users.json +++ b/src/data/users.json @@ -4,6 +4,7 @@ "name": "Leanne Graham", "username": "Bret", "email": "Sincere@april.biz", + "avatar":"./src/img/avatar1", "address": { "street": "Kulas Light", "suite": "Apt. 556", @@ -27,6 +28,7 @@ "name": "Ervin Howell", "username": "Antonette", "email": "Shanna@melissa.tv", + "avatar":"./src/img/avatar2", "address": { "street": "Victor Plains", "suite": "Suite 879", @@ -50,6 +52,7 @@ "name": "Clementine Bauch", "username": "Samantha", "email": "Nathan@yesenia.net", + "avatar":"./src/img/avatar3", "address": { "street": "Douglas Extension", "suite": "Suite 847", @@ -73,6 +76,7 @@ "name": "Patricia Lebsack", "username": "Karianne", "email": "Julianne.OConner@kory.org", + "avatar":"/src/img/avatar4", "address": { "street": "Hoeger Mall", "suite": "Apt. 692", @@ -96,6 +100,7 @@ "name": "Chelsey Dietrich", "username": "Kamren", "email": "Lucio_Hettinger@annie.ca", + "avatar":"/src/img/avatar5", "address": { "street": "Skiles Walks", "suite": "Suite 351", @@ -119,6 +124,7 @@ "name": "Mrs. Dennis Schulist", "username": "Leopoldo_Corkery", "email": "Karley_Dach@jasper.info", + "avatar":"/src/img/avatar6", "address": { "street": "Norberto Crossing", "suite": "Apt. 950", @@ -142,6 +148,7 @@ "name": "Kurtis Weissnat", "username": "Elwyn.Skiles", "email": "Telly.Hoeger@billy.biz", + "avatar":"/src/img/avatar7", "address": { "street": "Rex Trail", "suite": "Suite 280", @@ -165,6 +172,7 @@ "name": "Nicholas Runolfsdottir V", "username": "Maxime_Nienow", "email": "Sherwood@rosamond.me", + "avatar":"/src/img/avatar8", "address": { "street": "Ellsworth Summit", "suite": "Suite 729", @@ -188,6 +196,7 @@ "name": "Glenna Reichert", "username": "Delphine", "email": "Chaim_McDermott@dana.io", + "avatar":"./src/img/avatar9", "address": { "street": "Dayna Park", "suite": "Suite 449", @@ -211,6 +220,7 @@ "name": "Clementina DuBuque", "username": "Moriah.Stanton", "email": "Rey.Padberg@karina.biz", + "avatar":"/src/img/avatar10", "address": { "street": "Kattie Turnpike", "suite": "Suite 198", diff --git a/src/img/avatar1.PNG b/src/img/avatar1.PNG new file mode 100644 index 00000000..afb5043c Binary files /dev/null and b/src/img/avatar1.PNG differ diff --git a/src/img/avatar10.png b/src/img/avatar10.png new file mode 100644 index 00000000..c255b944 Binary files /dev/null and b/src/img/avatar10.png differ diff --git a/src/img/avatar11.png b/src/img/avatar11.png new file mode 100644 index 00000000..fabe12b9 Binary files /dev/null and b/src/img/avatar11.png differ diff --git a/src/img/avatar2.png b/src/img/avatar2.png new file mode 100644 index 00000000..ae70b5f8 Binary files /dev/null and b/src/img/avatar2.png differ diff --git a/src/img/avatar3.png b/src/img/avatar3.png new file mode 100644 index 00000000..f724e5a5 Binary files /dev/null and b/src/img/avatar3.png differ diff --git a/src/img/avatar4.png b/src/img/avatar4.png new file mode 100644 index 00000000..98fb555b Binary files /dev/null and b/src/img/avatar4.png differ diff --git a/src/img/avatar5.png b/src/img/avatar5.png new file mode 100644 index 00000000..86f620f4 Binary files /dev/null and b/src/img/avatar5.png differ diff --git a/src/img/avatar6.png b/src/img/avatar6.png new file mode 100644 index 00000000..cf6fddd7 Binary files /dev/null and b/src/img/avatar6.png differ diff --git a/src/img/avatar7.png b/src/img/avatar7.png new file mode 100644 index 00000000..c676036e Binary files /dev/null and b/src/img/avatar7.png differ diff --git a/src/img/avatar8.png b/src/img/avatar8.png new file mode 100644 index 00000000..e156b482 Binary files /dev/null and b/src/img/avatar8.png differ diff --git a/src/img/avatar9.png b/src/img/avatar9.png new file mode 100644 index 00000000..47ac2c6a Binary files /dev/null and b/src/img/avatar9.png differ diff --git a/src/img/icon redit.png b/src/img/icon redit.png new file mode 100644 index 00000000..113513e2 Binary files /dev/null and b/src/img/icon redit.png differ diff --git a/src/img/reddit-avatar1.png b/src/img/reddit-avatar1.png new file mode 100644 index 00000000..00d676d1 Binary files /dev/null and b/src/img/reddit-avatar1.png differ diff --git a/src/img/reddit-avatar10.png b/src/img/reddit-avatar10.png new file mode 100644 index 00000000..edffaded Binary files /dev/null and b/src/img/reddit-avatar10.png differ diff --git a/src/img/reddit-avatar2.png b/src/img/reddit-avatar2.png new file mode 100644 index 00000000..58d400f1 Binary files /dev/null and b/src/img/reddit-avatar2.png differ diff --git a/src/img/reddit-avatar3.png b/src/img/reddit-avatar3.png new file mode 100644 index 00000000..3ea9e6d2 Binary files /dev/null and b/src/img/reddit-avatar3.png differ diff --git a/src/img/reddit-avatar4.png b/src/img/reddit-avatar4.png new file mode 100644 index 00000000..ce7f5d51 Binary files /dev/null and b/src/img/reddit-avatar4.png differ diff --git a/src/img/reddit-avatar5.png b/src/img/reddit-avatar5.png new file mode 100644 index 00000000..34de4cc7 Binary files /dev/null and b/src/img/reddit-avatar5.png differ diff --git a/src/img/reddit-avatar6.png b/src/img/reddit-avatar6.png new file mode 100644 index 00000000..8ee240b4 Binary files /dev/null and b/src/img/reddit-avatar6.png differ diff --git a/src/img/reddit-avatar7.png b/src/img/reddit-avatar7.png new file mode 100644 index 00000000..f722a11a Binary files /dev/null and b/src/img/reddit-avatar7.png differ diff --git a/src/img/reddit-avatar8.png b/src/img/reddit-avatar8.png new file mode 100644 index 00000000..007d96e1 Binary files /dev/null and b/src/img/reddit-avatar8.png differ diff --git a/src/img/reddit-avatar9.png b/src/img/reddit-avatar9.png new file mode 100644 index 00000000..cadd49f5 Binary files /dev/null and b/src/img/reddit-avatar9.png differ diff --git a/src/js/main.js b/src/js/main.js new file mode 100644 index 00000000..82137c1e --- /dev/null +++ b/src/js/main.js @@ -0,0 +1,11 @@ +var locModal; +var btnSearch = document.getElementById("searchPosts"); +var inputCreatePost = document.getElementById("createBodyPost"); + +$(async () => { + let allPosts = await getAllItems("http://localhost:3000/posts"); + showAllPost(allPosts); + inputCreatePost.addEventListener("keypress", newPost); + + btnSearch.addEventListener("click", searchByTitlePosts); +}); \ No newline at end of file diff --git a/src/js/modal.js b/src/js/modal.js new file mode 100644 index 00000000..c76600d6 --- /dev/null +++ b/src/js/modal.js @@ -0,0 +1,76 @@ + +async function createModal() { + let templateHTML = ` + `; + document.getElementById("myModal").insertAdjacentHTML("beforeend", templateHTML); +} + +async function dataModal(divPost) { + var postobj= await getOneItem(`http://localhost:3000/posts/${divPost.data("id")}`) + let modalUser = divPost[0].querySelector(".card-header") + let UserInfo = await getOneItem(`http://localhost:3000/users?username=${modalUser.textContent}`) + document.getElementById("modalUser").innerHTML = `
${modalUser.textContent}
${UserInfo[0].email}
`; + let titleDiv = divPost[0].querySelector(".card-title") + document.getElementById("modal-title").textContent = titleDiv.textContent; + + let bodyDiv = divPost[0].querySelector(".card-text") + document.getElementsByClassName("contenidomodal")[0].textContent = bodyDiv.textContent; + let modalIconX = `` + + document.getElementById("modal-body").insertAdjacentHTML("beforeend", modalIconX); + document.querySelector(".like>div").textContent=postobj.like + document.querySelector(".dislike>div").textContent=postobj.dislike + let deleteP = document.getElementById("delete-post") + deleteP.addEventListener("click", function(){deletePost(divPost.data("id"))} ) + let editP = document.getElementById("edit-post") + editP.addEventListener("click", function(){editPost(divPost.data("id"))}) + let commentsByPost = await getAllItems(`http://localhost:3000/comments?postId=${divPost.data("id")}`) + let dislike= document.getElementById("dislike") + dislike.addEventListener("click",function(e){likeDislike(e,divPost.data("id"))}) + let like= document.getElementById("like") + like.addEventListener("click",function(e){likeDislike(e,divPost.data("id"))}) + createCommentsByPost(commentsByPost) +} + +async function openModal(){ + document.getElementsByTagName("body")[0].style.overflowY = "hidden"; + locModal = document.getElementById('myModal') + locModal.style.display = "block"; + locModal.style.paddingRight = "17px"; + locModal.className="modal fade show"; + document.getElementById("btnCloseModal").addEventListener("click", closeModal) +} + +function closeModal() { + document.getElementsByTagName("body")[0].style.overflowY = "auto"; + locModal.className="modal fade"; + locModal.style.display = "none"; + while(locModal.firstChild) { + locModal.firstChild.remove(); + } +} \ No newline at end of file diff --git a/src/js/script.js b/src/js/script.js new file mode 100644 index 00000000..9c5e0dde --- /dev/null +++ b/src/js/script.js @@ -0,0 +1,164 @@ +async function getAllItems(url){ + const response = await fetch(url) + const data = await response.json() + return data.reverse() +} + +async function getOneItem(url) { + const response = await fetch(url) + return response.json() +} + +function showAllPost(allPosts) { + for (const post of allPosts) { + createListPosts(post) + } +} + + +async function newPost(e) { + const obj = { + userId: 1, + avatar: "./src/img/avatar1.png", + title: document.getElementById("createTitlePost").value, + body: document.getElementById("createBodyPost").value, + }; + if(e.key === 'Enter') { + console.log(); + await fetch("http://localhost:3000/posts", { + method: "POST", + headers:{ 'Content-Type': 'application/json' }, + body: JSON.stringify(obj) + }); + } +} + + function deletePost(e){ + // let modalDelete=document.getElementById("exampleModal") + $('#exampleModal').css({"display":"block"}); // abrir + let close= document.querySelector("#closedelete") + let delet= document.querySelector("#postdelete") + close.addEventListener("click",closemodaldelete) + delet.addEventListener("click",async function(){ + await fetch(`http://localhost:3000/posts/${e}`,{method:"DELETE"}) + closemodaldelete() + }) + +} +function closemodaldelete(){ + $('#exampleModal').css({"display":"none"}); +} +async function createListPosts(obj){ + //Variable declaration + var userbyid= await getOneItem(`http://localhost:3000/users/${obj.userId}`) + var containerDiv = $("
") + var headerDiv = $(`
${userbyid.username}
`) + var bodyDiv = $(`
`) + var titleDiv = $(`
${obj.title}
`) + var pDiv = $(`

${obj.body}

`) + var redyBlog=$("#redyblog") + + //Adding classes + containerDiv.data("id", obj.id); + // console.log(containerDiv.data("id")); + containerDiv.addClass("card text-center postblog") + headerDiv.addClass("card-header hedermodal headerpost") + bodyDiv.addClass("card-body bodymodal") + titleDiv.addClass("card-title") + pDiv.addClass("card-text") + + //Import text + redyBlog.append(containerDiv) + containerDiv.append(headerDiv,bodyDiv) + bodyDiv.append(titleDiv,pDiv) + containerDiv.on('click', async () => { + await createModal() + dataModal(containerDiv) + openModal() + }); +} + +function createCommentsByPost(obj){ + for (const comment of obj) { + var containerComments = $(`
`) + var headerComments = $(`
${comment.email}
`) + var bodyComments = $(`
${comment.body}
`) + + headerComments.addClass("card-header hedermodal") + bodyComments.addClass("card-body bodymodal") + containerComments.addClass("container-comments comments") + + $("#comments").append(containerComments) + containerComments.append(headerComments, bodyComments) + } +} + +function editPost(id){ + let modalHeader = document.getElementById("modal-header") + let modalContent = document.getElementById("modal-content") + // Taking tags from header and Body + + let oldTitle = document.querySelector("#modal-title") + let oldBody = document.getElementsByClassName("contenidomodal")[0] + + // Create new tags to change different format + let newTitle = document.createElement("textarea") + newTitle.classList.add("form-control", "form-control-sm", "textareatitulo") + newTitle.textContent = oldTitle.textContent + newTitle.setAttribute("id", "editTitle") + + let newBody = document.createElement("textarea") + newBody.classList.add("textareacuerpo") + newBody.textContent = oldBody.textContent + newBody.setAttribute("id", "editBody") + modalHeader.replaceChild(newTitle, oldTitle); + modalContent.replaceChild(newBody, oldBody.parentElement); + + // Pressing Enter button to send new value + newBody.addEventListener("keypress", async (e) => {if (e.key === 'Enter') { + + let obj = {title: newTitle.value, body: newBody.value} + + await updatePost(id, obj) + oldTitle.textContent = obj.title + + }} ) +} + +async function likeDislike(e,id){ + var postobj= await getOneItem(`http://localhost:3000/posts/${id}`) + var parent =e.srcElement.parentElement; + var lik=parent.querySelector(".numerolike") + if(e.srcElement.id=="like"){ + console.log(postobj); + postobj.like++ + updatePost(id,postobj) + lik.textContent=postobj.like + } + else if(e.srcElement.id=="dislike"){ + postobj.dislike++ + updatePost(id,postobj) + lik.textContent=postobj.dislike + } +} + +async function updatePost (id, obj){ + return fetch(`http://localhost:3000/posts/${id}`,{method:"PATCH", headers:{'Content-Type': 'application/json'} , body:JSON.stringify(obj)}) + +} + +async function searchByTitlePosts(e) { + e.preventDefault(); + const titlePost = document.getElementById("titleSearchPosts").value; + const response = await getAllItems(`http://localhost:3000/posts?title_like=${titlePost}`); + clearListsPosts(); + showAllPost(response); +} + +function clearListsPosts() { + const redyblog = document.getElementById("redyblog"); + + while (redyblog.children.length != 1) { + redyblog.removeChild(redyblog.lastChild); + } +}