Advertisement
nikolayneykov

Untitled

Jul 29th, 2019
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import {
  2.   getTrendingGifs,
  3.   uploadGif,
  4.   getSearchedGifs,
  5.   getUploadedGifs,
  6.   getGifById,
  7. } from './remote.js';
  8.  
  9. import {
  10.   viewGifs,
  11.   viewGifDetails,
  12.   hideGifDetails,
  13.   viewFavoriteGif,
  14. } from './views.js';
  15.  
  16. const $gifGallery = $('.gif-gallery');
  17. let trendingGifs = {};
  18. let searchedGifs = {};
  19.  
  20. const handleLoadPage = async (event) => {
  21.   // TODO
  22. };
  23.  
  24. const handleClickGif = (event) => {
  25.   // TODO
  26. };
  27.  
  28. const handleClickCloseGifDetails = (event) => {
  29.   // TODO
  30. };
  31.  
  32. const handleClickTrendingGifs = async (event) => {
  33.   try {
  34.     const cachedTrendingGifs = sessionStorage.getItem('trendingGifs');
  35.  
  36.     if (cachedTrendingGifs) {
  37.       trendingGifs = JSON.parse(cachedTrendingGifs);
  38.     } else {
  39.       trendingGifs = await getTrendingGifs();
  40.       sessionStorage.setItem('trendingGifs', JSON.stringify(trendingGifs));
  41.     }
  42.  
  43.     viewGifs(trendingGifs, $gifGallery);
  44.   } catch (error) {
  45.     console.error(error);
  46.   }
  47. };
  48.  
  49. const handleSubmitUploadGif = async (event) => {
  50.   event.preventDefault();
  51.   try {
  52.     const formData = new FormData();
  53.     formData.append('file', $('#gif-file')[0].files[0]);
  54.  
  55.     const result = await uploadGif(formData);
  56.  
  57.     console.log(result);
  58.   } catch (error) {
  59.     console.error(error);
  60.   }
  61. };
  62.  
  63. const handleClickSearch = async (event) => {
  64.   event.preventDefault();
  65.   try {
  66.     const $searchField = $('.search-gif-input');
  67.     const searchStr = $searchField.val();
  68.     let cachedSearches = sessionStorage.getItem('cachedSearches') || '{}';
  69.  
  70.     cachedSearches = JSON.parse(cachedSearches);
  71.     if (cachedSearches.hasOwnProperty(searchStr)) {
  72.       searchedGifs = cachedSearches[searchStr];
  73.     } else {
  74.       searchedGifs = await getSearchedGifs(searchStr);
  75.       cachedSearches[searchStr] = searchedGifs;
  76.       sessionStorage.setItem('cachedSearches', JSON.stringify(cachedSearches));
  77.     }
  78.     viewGifs(searchedGifs, $gifGallery);
  79.     $searchField.val('');
  80.   } catch (error) {
  81.     console.error(error);
  82.   }
  83. };
  84.  
  85. const handleClickUploadedGifs = async (event) => {
  86.   // TODO
  87. };
  88.  
  89. const handleClickFavoriteGif = async (event) => {
  90.   // TODO
  91. };
  92.  
  93. const handleClickLikeGif = async (event) => {
  94.   // TODO
  95. };
  96.  
  97. export {
  98.   handleLoadPage,
  99.   handleClickGif,
  100.   handleClickCloseGifDetails,
  101.   handleClickTrendingGifs,
  102.   handleSubmitUploadGif,
  103.   handleClickSearch,
  104.   handleClickUploadedGifs,
  105.   handleClickFavoriteGif,
  106.   handleClickLikeGif,
  107. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement