From ec2081b7dcb7396fe2bbfcf29ffbfd8da1bfbf71 Mon Sep 17 00:00:00 2001
From: DongHwi Kim <ken7905@ajou.ac.kr>
Date: Fri, 28 Jul 2023 00:08:24 +0900
Subject: [PATCH] first modify

---
 src/main/resources/static/app.bundle.js       |   8 ++++----
 .../myspringweb/MyspringwebApplication.class  | Bin 764 -> 764 bytes
 .../controller/MyWebController.class          | Bin 2165 -> 2165 bytes
 .../dto/FavoriteMusicRequestDto.class         | Bin 2911 -> 2582 bytes
 .../kr/ajousw/myspringweb/dto/MusicList.class | Bin 1792 -> 1566 bytes
 .../myspringweb/entity/FavoriteMusic.class    | Bin 3064 -> 2730 bytes
 .../repository/FavoriteRepository.class       | Bin 906 -> 812 bytes
 .../myspringweb/service/MusicService.class    | Bin 3564 -> 3255 bytes
 target/classes/static/app.bundle.js           |   8 ++++----
 .../MyspringwebApplicationTests.class         | Bin 562 -> 562 bytes
 10 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/src/main/resources/static/app.bundle.js b/src/main/resources/static/app.bundle.js
index 6fbc73a..ec8b93a 100644
--- a/src/main/resources/static/app.bundle.js
+++ b/src/main/resources/static/app.bundle.js
@@ -2326,7 +2326,7 @@
   /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
   
   "use strict";
-  eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ App)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @mui/material */ \"./node_modules/@mui/material/AppBar/AppBar.js\");\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @mui/material */ \"./node_modules/@mui/material/Typography/Typography.js\");\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @mui/material */ \"./node_modules/@mui/material/Box/Box.js\");\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @mui/material */ \"./node_modules/@mui/material/Tabs/Tabs.js\");\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @mui/material */ \"./node_modules/@mui/material/Tab/Tab.js\");\n/* harmony import */ var _MusicList__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./MusicList */ \"./src/MusicList.js\");\n/* harmony import */ var _data__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./data */ \"./src/data.js\");\n/* harmony import */ var _Search__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Search */ \"./src/Search.js\");\n/* harmony import */ var _Favorite__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Favorite */ \"./src/Favorite.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i[\"return\"] && (_r = _i[\"return\"](), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\n\n\n\n\n\nfunction App() {\n  var _React$useState = react__WEBPACK_IMPORTED_MODULE_0___default().useState(0),\n    _React$useState2 = _slicedToArray(_React$useState, 2),\n    currentTab = _React$useState2[0],\n    setCurrentTab = _React$useState2[1];\n  var _React$useState3 = react__WEBPACK_IMPORTED_MODULE_0___default().useState([]),\n    _React$useState4 = _slicedToArray(_React$useState3, 2),\n    searchResult = _React$useState4[0],\n    setSearchResult = _React$useState4[1];\n  var _React$useState5 = react__WEBPACK_IMPORTED_MODULE_0___default().useState([]),\n    _React$useState6 = _slicedToArray(_React$useState5, 2),\n    myFavoriteList = _React$useState6[0],\n    setmyFavoriteList = _React$useState6[1];\n  var _React$useState7 = react__WEBPACK_IMPORTED_MODULE_0___default().useState({}),\n    _React$useState8 = _slicedToArray(_React$useState7, 2),\n    likes = _React$useState8[0],\n    setLikes = _React$useState8[1];\n  var handleTabChange = function handleTabChange(event, newValue) {\n    setCurrentTab(newValue);\n  };\n  var addToFavoriteList = function addToFavoriteList(item) {\n    setmyFavoriteList(function (prevList) {\n      return [].concat(_toConsumableArray(prevList), [item]);\n    });\n  };\n  var DelteandsetFavoriteList = function DelteandsetFavoriteList(item) {\n    setmyFavoriteList(item);\n  };\n  var handleLike = function handleLike(id) {\n    var updatedLikes = _objectSpread(_objectSpread({}, likes), {}, _defineProperty({}, id, !likes[id]));\n    setLikes(updatedLikes);\n  };\n  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_material__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n    position: \"fixed\"\n  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_material__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n    align: \"center\",\n    variant: \"h3\",\n    color: \"inherit\"\n  }, \"Dong's Favorite Music\")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n    style: {\n      height: 60,\n      width: '100%'\n    }\n  }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_material__WEBPACK_IMPORTED_MODULE_7__[\"default\"], {\n    sx: {\n      borderButtom: 1,\n      borderColor: 'divider'\n    }\n  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_material__WEBPACK_IMPORTED_MODULE_8__[\"default\"], {\n    value: currentTab,\n    onChange: handleTabChange,\n    \"aria-label\": \"basic tabs\",\n    centered: true\n  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_material__WEBPACK_IMPORTED_MODULE_9__[\"default\"], {\n    label: \"Search Music\",\n    value: 0\n  }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_material__WEBPACK_IMPORTED_MODULE_9__[\"default\"], {\n    label: \"Favorites\",\n    value: 1\n  }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_material__WEBPACK_IMPORTED_MODULE_9__[\"default\"], {\n    label: \"More Contents\",\n    value: 2\n  }))), currentTab == 0 && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Search__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n    list: searchResult,\n    addToFavoriteList: addToFavoriteList,\n    myFavoriteList: myFavoriteList,\n    handleLike: handleLike,\n    likes: likes,\n    onSearch: setSearchResult,\n    DelteandsetFavoriteList: DelteandsetFavoriteList\n  }), currentTab == 1 && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Favorite__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n    likes: likes,\n    handleLike: handleLike,\n    myFavoriteList: myFavoriteList,\n    addToFavoriteList: addToFavoriteList,\n    DelteandsetFavoriteList: DelteandsetFavoriteList\n  }), currentTab == 2 && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_material__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n    align: \"center\",\n    variant: \"h2\"\n  }, \"Item Three\"));\n}\n\n//# sourceURL=webpack://muibasic_starterkit/./src/App.js?");
+  eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ App)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @mui/material */ \"./node_modules/@mui/material/AppBar/AppBar.js\");\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @mui/material */ \"./node_modules/@mui/material/Typography/Typography.js\");\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @mui/material */ \"./node_modules/@mui/material/Box/Box.js\");\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @mui/material */ \"./node_modules/@mui/material/Tabs/Tabs.js\");\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @mui/material */ \"./node_modules/@mui/material/Tab/Tab.js\");\n/* harmony import */ var _MusicList__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./MusicList */ \"./src/MusicList.js\");\n/* harmony import */ var _data__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./data */ \"./src/data.js\");\n/* harmony import */ var _Search__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Search */ \"./src/Search.js\");\n/* harmony import */ var _Favorite__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Favorite */ \"./src/Favorite.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i[\"return\"] && (_r = _i[\"return\"](), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\n\n\n\n\n\n\nfunction App() {\n  var _React$useState = react__WEBPACK_IMPORTED_MODULE_0___default().useState(0),\n    _React$useState2 = _slicedToArray(_React$useState, 2),\n    currentTab = _React$useState2[0],\n    setCurrentTab = _React$useState2[1];\n  var _React$useState3 = react__WEBPACK_IMPORTED_MODULE_0___default().useState([]),\n    _React$useState4 = _slicedToArray(_React$useState3, 2),\n    searchResult = _React$useState4[0],\n    setSearchResult = _React$useState4[1];\n  var _React$useState5 = react__WEBPACK_IMPORTED_MODULE_0___default().useState([]),\n    _React$useState6 = _slicedToArray(_React$useState5, 2),\n    myFavoriteList = _React$useState6[0],\n    setmyFavoriteList = _React$useState6[1];\n  var _React$useState7 = react__WEBPACK_IMPORTED_MODULE_0___default().useState({}),\n    _React$useState8 = _slicedToArray(_React$useState7, 2),\n    likes = _React$useState8[0],\n    setLikes = _React$useState8[1];\n  (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {\n    fetch('/likes', {\n      method: 'GET'\n    }).then(function (res) {\n      return res.json();\n    }).then(function (data) {\n      var datafromb = {};\n      data.forEach(function (item) {\n        datafromb[item.collectionId] = true;\n      });\n      setmyFavoriteList(data);\n      console.log(\"실행됨\");\n      setLikes(datafromb);\n    });\n  }, []);\n  var handleTabChange = function handleTabChange(event, newValue) {\n    setCurrentTab(newValue);\n  };\n  var addToFavoriteList = function addToFavoriteList(item) {\n    setmyFavoriteList(function (prevList) {\n      return [].concat(_toConsumableArray(prevList), [item]);\n    });\n  };\n  var DelteandsetFavoriteList = function DelteandsetFavoriteList(item) {\n    setmyFavoriteList(item);\n  };\n  var handleLike = function handleLike(id) {\n    var updatedLikes = _objectSpread(_objectSpread({}, likes), {}, _defineProperty({}, id, !likes[id]));\n    setLikes(updatedLikes);\n  };\n  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_material__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n    position: \"fixed\"\n  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_material__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n    align: \"center\",\n    variant: \"h3\",\n    color: \"inherit\"\n  }, \"Dong's Favorite Music\")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n    style: {\n      height: 60,\n      width: '100%'\n    }\n  }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_material__WEBPACK_IMPORTED_MODULE_7__[\"default\"], {\n    sx: {\n      borderButtom: 1,\n      borderColor: 'divider'\n    }\n  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_material__WEBPACK_IMPORTED_MODULE_8__[\"default\"], {\n    value: currentTab,\n    onChange: handleTabChange,\n    \"aria-label\": \"basic tabs\",\n    centered: true\n  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_material__WEBPACK_IMPORTED_MODULE_9__[\"default\"], {\n    label: \"Search Music\",\n    value: 0\n  }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_material__WEBPACK_IMPORTED_MODULE_9__[\"default\"], {\n    label: \"Favorites\",\n    value: 1\n  }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_material__WEBPACK_IMPORTED_MODULE_9__[\"default\"], {\n    label: \"More Contents\",\n    value: 2\n  }))), currentTab == 0 && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Search__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n    list: searchResult,\n    addToFavoriteList: addToFavoriteList,\n    myFavoriteList: myFavoriteList,\n    handleLike: handleLike,\n    likes: likes,\n    onSearch: setSearchResult,\n    DelteandsetFavoriteList: DelteandsetFavoriteList\n  }), currentTab == 1 && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Favorite__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n    likes: likes,\n    handleLike: handleLike,\n    myFavoriteList: myFavoriteList,\n    addToFavoriteList: addToFavoriteList,\n    DelteandsetFavoriteList: DelteandsetFavoriteList\n  }), currentTab == 2 && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_material__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n    align: \"center\",\n    variant: \"h2\"\n  }, \"Item Three\"));\n}\n\n//# sourceURL=webpack://muibasic_starterkit/./src/App.js?");
   
   /***/ }),
   
@@ -2337,7 +2337,7 @@
   /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
   
   "use strict";
-  eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ Favoritee)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @mui/material */ \"./node_modules/@mui/material/Card/Card.js\");\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @mui/material */ \"./node_modules/@mui/material/CardContent/CardContent.js\");\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @mui/material */ \"./node_modules/@mui/material/Typography/Typography.js\");\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @mui/material */ \"./node_modules/@mui/material/CardActions/CardActions.js\");\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @mui/material */ \"./node_modules/@mui/material/IconButton/IconButton.js\");\n/* harmony import */ var _mui_icons_material__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @mui/icons-material */ \"./node_modules/@mui/icons-material/esm/Favorite.js\");\n/* harmony import */ var _mui_icons_material__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @mui/icons-material */ \"./node_modules/@mui/icons-material/esm/FavoriteBorder.js\");\n/* harmony import */ var _snackbar__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./snackbar */ \"./src/snackbar.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i[\"return\"] && (_r = _i[\"return\"](), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\n\n\n\nvar styles = {\n  content: {},\n  layout: {\n    display: 'flex',\n    justifyContent: 'center'\n  },\n  card: {\n    minWidth: 275,\n    maxWidth: 600,\n    marginBottom: \"20pt\",\n    marginLeft: 'auto',\n    marginRight: 'auto'\n  }\n};\nfunction Favoritee(_ref) {\n  var likes = _ref.likes,\n    myFavoriteList = _ref.myFavoriteList,\n    handleLike = _ref.handleLike,\n    addToFavoriteList = _ref.addToFavoriteList,\n    DelteandsetFavoriteList = _ref.DelteandsetFavoriteList;\n  var _React$useState = react__WEBPACK_IMPORTED_MODULE_0___default().useState(likes),\n    _React$useState2 = _slicedToArray(_React$useState, 2),\n    favoriteLikes = _React$useState2[0],\n    setFavoriteLikes = _React$useState2[1];\n  var toggleFavorite = function toggleFavorite(id, name) {\n    return function () {\n      var updatedLikes = _objectSpread(_objectSpread({}, favoriteLikes), {}, _defineProperty({}, id, !favoriteLikes[id]));\n      setFavoriteLikes(updatedLikes);\n      handleLike(id);\n      if (updatedLikes[id]) {\n        if (!myFavoriteList.find(function (item) {\n          return item.collectionId === id;\n        })) {\n          var postData = {\n            \"collectionId\": id,\n            \"collectionName\": name\n          };\n          fetch('http://localhost:8098/likes', {\n            method: 'POST',\n            headers: {\n              'Content-Type': 'application/json'\n            },\n            body: JSON.stringify(postData)\n          }).then(function (response) {\n            return response.json();\n          }).then(function (data) {\n            console.log(data);\n            addToFavoriteList(list.find(function (item) {\n              return item.collectionId === id;\n            }));\n          })[\"catch\"](function (error) {\n            return console.log('음악 좋아요 시 에러 발생');\n          });\n        }\n      } else {\n        var updatedFavoriteList = myFavoriteList.filter(function (item) {\n          return item.collectionId !== id;\n        });\n        fetch(\"/likes/\".concat(id), {\n          method: 'DELETE'\n        }).then(function (data) {\n          console.log(data);\n          DelteandsetFavoriteList(updatedFavoriteList);\n          console.log('여기 실행 됨');\n        })[\"catch\"](function (error) {\n          return console.log('음악 좋아요 취소 시 에러 발생' + error);\n        });\n      }\n    };\n  };\n  var favoriteList = myFavoriteList.filter(function (item) {\n    return favoriteLikes[item.collectionId] === true;\n  });\n  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, favoriteList.map(function (item) {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_material__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n      sx: styles.card,\n      key: item.collectionId\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_material__WEBPACK_IMPORTED_MODULE_3__[\"default\"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_material__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n      variant: \"subtitle1\"\n    }, \" \", item.artistName), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_material__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n      variant: \"subtitle2\"\n    }, item.collectionCensoredName)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_material__WEBPACK_IMPORTED_MODULE_5__[\"default\"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_material__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n      onClick: toggleFavorite(item.collectionId, item.collectionName)\n    }, favoriteLikes[item.collectionId] ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_icons_material__WEBPACK_IMPORTED_MODULE_7__[\"default\"], null) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_icons_material__WEBPACK_IMPORTED_MODULE_8__[\"default\"], null))));\n  }));\n}\n\n//# sourceURL=webpack://muibasic_starterkit/./src/Favorite.js?");
+  eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ Favoritee)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @mui/material */ \"./node_modules/@mui/material/Card/Card.js\");\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @mui/material */ \"./node_modules/@mui/material/CardContent/CardContent.js\");\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @mui/material */ \"./node_modules/@mui/material/Typography/Typography.js\");\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @mui/material */ \"./node_modules/@mui/material/CardActions/CardActions.js\");\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @mui/material */ \"./node_modules/@mui/material/IconButton/IconButton.js\");\n/* harmony import */ var _mui_icons_material__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @mui/icons-material */ \"./node_modules/@mui/icons-material/esm/Favorite.js\");\n/* harmony import */ var _mui_icons_material__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @mui/icons-material */ \"./node_modules/@mui/icons-material/esm/FavoriteBorder.js\");\n/* harmony import */ var _snackbar__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./snackbar */ \"./src/snackbar.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i[\"return\"] && (_r = _i[\"return\"](), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\n\n\n\nvar styles = {\n  content: {},\n  layout: {\n    display: 'flex',\n    justifyContent: 'center'\n  },\n  card: {\n    minWidth: 275,\n    maxWidth: 600,\n    marginBottom: \"20pt\",\n    marginLeft: 'auto',\n    marginRight: 'auto'\n  }\n};\nfunction Favoritee(_ref) {\n  var likes = _ref.likes,\n    myFavoriteList = _ref.myFavoriteList,\n    handleLike = _ref.handleLike,\n    addToFavoriteList = _ref.addToFavoriteList,\n    DelteandsetFavoriteList = _ref.DelteandsetFavoriteList;\n  var _React$useState = react__WEBPACK_IMPORTED_MODULE_0___default().useState(likes),\n    _React$useState2 = _slicedToArray(_React$useState, 2),\n    favoriteLikes = _React$useState2[0],\n    setFavoriteLikes = _React$useState2[1];\n  var toggleFavorite = function toggleFavorite(id, name) {\n    return function () {\n      var updatedLikes = _objectSpread(_objectSpread({}, favoriteLikes), {}, _defineProperty({}, id, !favoriteLikes[id]));\n      setFavoriteLikes(updatedLikes);\n      handleLike(id);\n      if (updatedLikes[id]) {\n        if (!myFavoriteList.find(function (item) {\n          return item.collectionId === id;\n        })) {\n          var item = list.find(function (item) {\n            return item.collectionId === id;\n          });\n          var postData = {\n            \"artistId\": item.artistId,\n            \"artistName\": item.artistName,\n            \"artistViewUrl\": item.artistViewUrl,\n            \"collectionId\": item.collectionId,\n            \"collectionViewUrl\": item.collectionViewUrl,\n            \"collectionName\": item.collectionName\n          };\n          fetch('/likes', {\n            method: 'POST',\n            headers: {\n              'Content-Type': 'application/json'\n            },\n            body: JSON.stringify(postData)\n          }).then(function (response) {\n            return response.json();\n          }).then(function (data) {\n            console.log(data);\n            addToFavoriteList(list.find(function (item) {\n              return item.collectionId === id;\n            }));\n          })[\"catch\"](function (error) {\n            return console.log('음악 좋아요 시 에러 발생');\n          });\n        }\n      } else {\n        var updatedFavoriteList = myFavoriteList.filter(function (item) {\n          return item.collectionId !== id;\n        });\n        fetch(\"/likes/\".concat(id), {\n          method: 'DELETE'\n        }).then(function (data) {\n          console.log(data);\n          DelteandsetFavoriteList(updatedFavoriteList);\n          console.log('여기 실행 됨');\n        })[\"catch\"](function (error) {\n          return console.log('음악 좋아요 취소 시 에러 발생' + error);\n        });\n      }\n    };\n  };\n  var favoriteList = myFavoriteList.filter(function (item) {\n    return favoriteLikes[item.collectionId] === true;\n  });\n  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, favoriteList.map(function (item) {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_material__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n      sx: styles.card,\n      key: item.collectionId\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_material__WEBPACK_IMPORTED_MODULE_3__[\"default\"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_material__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n      variant: \"subtitle1\"\n    }, \" \", item.artistName), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_material__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n      variant: \"subtitle2\"\n    }, item.collectionCensoredName)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_material__WEBPACK_IMPORTED_MODULE_5__[\"default\"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_material__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n      onClick: toggleFavorite(item.collectionId, item.collectionName)\n    }, favoriteLikes[item.collectionId] ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_icons_material__WEBPACK_IMPORTED_MODULE_7__[\"default\"], null) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_icons_material__WEBPACK_IMPORTED_MODULE_8__[\"default\"], null))));\n  }));\n}\n\n//# sourceURL=webpack://muibasic_starterkit/./src/Favorite.js?");
   
   /***/ }),
   
@@ -2348,7 +2348,7 @@
   /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
   
   "use strict";
-  eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ MusicList)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @mui/material */ \"./node_modules/@mui/material/Card/Card.js\");\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @mui/material */ \"./node_modules/@mui/material/CardContent/CardContent.js\");\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @mui/material */ \"./node_modules/@mui/material/Typography/Typography.js\");\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @mui/material */ \"./node_modules/@mui/material/CardActions/CardActions.js\");\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @mui/material */ \"./node_modules/@mui/material/IconButton/IconButton.js\");\n/* harmony import */ var _mui_icons_material__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @mui/icons-material */ \"./node_modules/@mui/icons-material/esm/Favorite.js\");\n/* harmony import */ var _mui_icons_material__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @mui/icons-material */ \"./node_modules/@mui/icons-material/esm/FavoriteBorder.js\");\n/* harmony import */ var _snackbar__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./snackbar */ \"./src/snackbar.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i[\"return\"] && (_r = _i[\"return\"](), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\n\n\n\nvar styles = {\n  content: {},\n  layout: {\n    display: 'flex',\n    justifyContent: 'center'\n  },\n  card: {\n    minWidth: 275,\n    maxWidth: 600,\n    marginBottom: \"20pt\",\n    marginLeft: 'auto',\n    marginRight: 'auto'\n  }\n};\nfunction MusicList(_ref) {\n  var list = _ref.list,\n    DelteandsetFavoriteList = _ref.DelteandsetFavoriteList,\n    likes = _ref.likes,\n    handleLike = _ref.handleLike,\n    myFavoriteList = _ref.myFavoriteList,\n    addToFavoriteList = _ref.addToFavoriteList;\n  var _React$useState = react__WEBPACK_IMPORTED_MODULE_0___default().useState({\n      open: false,\n      msg: ''\n    }),\n    _React$useState2 = _slicedToArray(_React$useState, 2),\n    snackState = _React$useState2[0],\n    setSnackState = _React$useState2[1];\n  var toggleFavorite = function toggleFavorite(id, name) {\n    return function () {\n      var updatedLikes = _objectSpread(_objectSpread({}, likes), {}, _defineProperty({}, id, !likes[id]));\n      setSnackState(_objectSpread(_objectSpread({}, snackState), {}, {\n        open: true,\n        msg: \"\".concat(name, \"\\uC774(\\uAC00) \\uD074\\uB9AD\\uB418\\uC5C8\\uC2B5\\uB2C8\\uB2E4.\")\n      }));\n      handleLike(id);\n      if (updatedLikes[id]) {\n        if (!myFavoriteList.find(function (item) {\n          return item.collectionId === id;\n        })) {\n          var postData = {\n            \"collectionId\": id,\n            \"collectionName\": name\n          };\n          fetch('http://localhost:8098/likes', {\n            method: 'POST',\n            headers: {\n              'Content-Type': 'application/json'\n            },\n            body: JSON.stringify(postData)\n          }).then(function (response) {\n            return response.json();\n          }).then(function (data) {\n            console.log(data);\n            addToFavoriteList(list.find(function (item) {\n              return item.collectionId === id;\n            }));\n          })[\"catch\"](function (error) {\n            return console.log('음악 좋아요 시 에러 발생');\n          });\n        }\n      } else {\n        var updatedFavoriteList = myFavoriteList.filter(function (item) {\n          return item.collectionId !== id;\n        });\n        fetch(\"/likes/\".concat(id), {\n          method: 'DELETE'\n        }).then(function (data) {\n          console.log(data);\n          DelteandsetFavoriteList(updatedFavoriteList);\n          console.log('여기 실행 됨');\n        })[\"catch\"](function (error) {\n          return console.log('음악 좋아요 취소 시 에러 발생' + error);\n        });\n      }\n    };\n  };\n  var handleSnackbarClose = function handleSnackbarClose(event, reason) {\n    if (reason === 'clickaway') {\n      return;\n    }\n    setSnackState({\n      open: false,\n      msg: ''\n    });\n  };\n  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, list.map(function (item) {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_material__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n      sx: styles.card,\n      key: item.collectionId\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_material__WEBPACK_IMPORTED_MODULE_3__[\"default\"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_material__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n      variant: \"subtitle1\"\n    }, \" \", item.artistName), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_material__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n      variant: \"subtitle2\"\n    }, item.collectionCensoredName)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_material__WEBPACK_IMPORTED_MODULE_5__[\"default\"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_material__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n      onClick: toggleFavorite(item.collectionId, item.collectionName)\n    }, likes[item.collectionId] === true ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_icons_material__WEBPACK_IMPORTED_MODULE_7__[\"default\"], null) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_icons_material__WEBPACK_IMPORTED_MODULE_8__[\"default\"], null))));\n  }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_snackbar__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n    open: snackState.open,\n    message: snackState.msg,\n    onClose: handleSnackbarClose\n  }));\n}\n\n//# sourceURL=webpack://muibasic_starterkit/./src/MusicList.js?");
+  eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ MusicList)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @mui/material */ \"./node_modules/@mui/material/Card/Card.js\");\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @mui/material */ \"./node_modules/@mui/material/CardContent/CardContent.js\");\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @mui/material */ \"./node_modules/@mui/material/Typography/Typography.js\");\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @mui/material */ \"./node_modules/@mui/material/CardActions/CardActions.js\");\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @mui/material */ \"./node_modules/@mui/material/IconButton/IconButton.js\");\n/* harmony import */ var _mui_icons_material__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @mui/icons-material */ \"./node_modules/@mui/icons-material/esm/Favorite.js\");\n/* harmony import */ var _mui_icons_material__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @mui/icons-material */ \"./node_modules/@mui/icons-material/esm/FavoriteBorder.js\");\n/* harmony import */ var _snackbar__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./snackbar */ \"./src/snackbar.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i[\"return\"] && (_r = _i[\"return\"](), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\n\n\n\nvar styles = {\n  content: {},\n  layout: {\n    display: 'flex',\n    justifyContent: 'center'\n  },\n  card: {\n    minWidth: 275,\n    maxWidth: 600,\n    marginBottom: \"20pt\",\n    marginLeft: 'auto',\n    marginRight: 'auto'\n  }\n};\nfunction MusicList(_ref) {\n  var list = _ref.list,\n    DelteandsetFavoriteList = _ref.DelteandsetFavoriteList,\n    likes = _ref.likes,\n    handleLike = _ref.handleLike,\n    myFavoriteList = _ref.myFavoriteList,\n    addToFavoriteList = _ref.addToFavoriteList;\n  var _React$useState = react__WEBPACK_IMPORTED_MODULE_0___default().useState({\n      open: false,\n      msg: ''\n    }),\n    _React$useState2 = _slicedToArray(_React$useState, 2),\n    snackState = _React$useState2[0],\n    setSnackState = _React$useState2[1];\n  var toggleFavorite = function toggleFavorite(id, name) {\n    return function () {\n      var updatedLikes = _objectSpread(_objectSpread({}, likes), {}, _defineProperty({}, id, !likes[id]));\n      setSnackState(_objectSpread(_objectSpread({}, snackState), {}, {\n        open: true,\n        msg: \"\".concat(name, \"\\uC774(\\uAC00) \\uD074\\uB9AD\\uB418\\uC5C8\\uC2B5\\uB2C8\\uB2E4.\")\n      }));\n      handleLike(id);\n      if (updatedLikes[id]) {\n        if (!myFavoriteList.find(function (item) {\n          return item.collectionId === id;\n        })) {\n          var item = list.find(function (item) {\n            return item.collectionId === id;\n          });\n          console.log(item + \"hihihih\");\n          var postData = {\n            \"artistId\": item.artistId,\n            \"collectionId\": item.collectionId,\n            \"artistName\": item.artistName,\n            \"artistViewUrl\": item.artistViewUrl,\n            \"collectionViewUrl\": item.collectionViewUrl,\n            \"collectionName\": item.collectionName\n          };\n          console.log(postData);\n          fetch('/likes', {\n            method: 'POST',\n            headers: {\n              'Content-Type': 'application/json'\n            },\n            body: JSON.stringify(postData)\n          }).then(function (response) {\n            return response.json();\n          }).then(function (data) {\n            console.log(data);\n            addToFavoriteList(list.find(function (item) {\n              return item.collectionId === id;\n            }));\n          })[\"catch\"](function (error) {\n            return console.log('음악 좋아요 시 에러 발생');\n          });\n        }\n      } else {\n        var updatedFavoriteList = myFavoriteList.filter(function (item) {\n          return item.collectionId !== id;\n        });\n        fetch(\"/likes/\".concat(id), {\n          method: 'DELETE'\n        }).then(function (data) {\n          console.log(data);\n          DelteandsetFavoriteList(updatedFavoriteList);\n          console.log('여기 실행 됨');\n        })[\"catch\"](function (error) {\n          return console.log('음악 좋아요 취소 시 에러 발생' + error);\n        });\n      }\n    };\n  };\n  var handleSnackbarClose = function handleSnackbarClose(event, reason) {\n    if (reason === 'clickaway') {\n      return;\n    }\n    setSnackState({\n      open: false,\n      msg: ''\n    });\n  };\n  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, list.map(function (item) {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_material__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n      sx: styles.card,\n      key: item.collectionId\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_material__WEBPACK_IMPORTED_MODULE_3__[\"default\"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_material__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n      variant: \"subtitle1\"\n    }, \" \", item.artistName), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_material__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n      variant: \"subtitle2\"\n    }, item.collectionCensoredName)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_material__WEBPACK_IMPORTED_MODULE_5__[\"default\"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_material__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n      onClick: toggleFavorite(item.collectionId, item.collectionName)\n    }, likes[item.collectionId] === true ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_icons_material__WEBPACK_IMPORTED_MODULE_7__[\"default\"], null) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_icons_material__WEBPACK_IMPORTED_MODULE_8__[\"default\"], null))));\n  }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_snackbar__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n    open: snackState.open,\n    message: snackState.msg,\n    onClose: handleSnackbarClose\n  }));\n}\n\n//# sourceURL=webpack://muibasic_starterkit/./src/MusicList.js?");
   
   /***/ }),
   
@@ -2933,7 +2933,7 @@
   /******/ 	
   /******/ 	/* webpack/runtime/getFullHash */
   /******/ 	(() => {
-  /******/ 		__webpack_require__.h = () => ("171b9b6b2d48ebea66f2")
+  /******/ 		__webpack_require__.h = () => ("7f8505201ff14a5d2af0")
   /******/ 	})();
   /******/ 	
   /******/ 	/* webpack/runtime/global */
diff --git a/target/classes/kr/ajousw/myspringweb/MyspringwebApplication.class b/target/classes/kr/ajousw/myspringweb/MyspringwebApplication.class
index d58c10ade13ad1c8c4ffba51c2244db4cf6c3e9b..8a2e010e4756fbc4338487564038fdaff30833e0 100644
GIT binary patch
delta 226
zcmeyv`iGVG)W2Q(7#J9A8D!ZRm?qljGqW?WOcYlVWMp7*&QD3@Vqj+A<Y8cCV4Ez?
zSkKMHAjlxh&LG6dpfy>LNpj*8K~^3H5eCtTOY_(hi_(i38H6V{G73-L%s8)}k%5^3
z1eh2YLHZdO8Q2*Z81xw!85kKD7+AHoGjMEVU|?Wk;9_84U;_)XGjKC7Fz|rctPDI1
yybKHsoD6&n{0vNB&1MWB!x$Jigc!AUFbISr^m8#VF)%Q2F@Q{fm@)YRlMVn$7#gMk

delta 211
zcmeyv`iE8g)W2Q(7#J9A8DzN_m>8JZ8CZB2SQ*$R+AA@$GjL4g)feDm;9}rrXW-#s
z;AP-rWYC%{$Rs&glu>Z9He()(bAC$d#G?Ai(-?QxvokO;fB+K%BghB_Mh1Qc1_pfw
zMg~R(1_oBG?F@_?85kIt7z7v?7}&sq><oeo3=BMAHY<Y=gD?XF11EzBgD3+NShE=e
i$S?*54k31}9Soe|2>l?}GB9v4urqK&&6s?FNe2KRJr^Ya

diff --git a/target/classes/kr/ajousw/myspringweb/controller/MyWebController.class b/target/classes/kr/ajousw/myspringweb/controller/MyWebController.class
index 5168985c2bfb1767cd27e8d726e582ac09e95b09..e868abe954024a3a39dbe7fe7f28658fa40f3409 100644
GIT binary patch
delta 977
zcmew=@Kr$I)W2Q(7#J9A864Rem>3xhCf6~FO^lZkV`pGtWDv+oEKAhSNz6;v_fN`7
zO)i;OX*u~RW279LO=ezZi5(*Yvxa6EBLj<beo87A12Y3J4+AFy*JNj=N=D1c7Z^n*
z3o@!QGcuS=e!!wRS(Le5h?9YlL5hcgm4S_mL54w&ok4cueqCW626+ZyMh5QU)Wo9X
z4Byh?%;d?tm<%V+V@{du#3(n3B|-|MT$hJIok4?<fwLgLxWp$jJGGdR!AxVaAfxo;
zUKR-^P0z`9S#%~}WO0!MsW#?eFk#SVWZ)@IEK7AuEXyy-EJ>Z5!s0x6AEPFtIoL^V
ztTOx{wKhBq<_s2$3{06RlapAJ>KPfB85kHC85lq=Wng4rXJBApV_;<9fYO`{Tnvm1
z+zbp1`V5Q^bz0jQcs4RHFfcLjK@~ADNHg#=Ffi~y6fg)d2!ah2Vi0Cv0UOE3z{nuN
zz{nsP&A?d9AjTlhz`(%H$iP_7Ai=-@Hr|$jiGhiMfq_$N3xlNgHU{YpXjUkJtq_AK
zf?C1Az{#M%pvb_;pak*(BZC6iUS%Bis(|g~0r^7}<d|ZHdNtxKHzeM2bp{OvW(G~L
z>$R|WUK?zq5hOJ088|@x-NvAU?p-IajgS!KfO?maL61QnDMSrGo&blaHrQvN5M?mL
z5uiqEz)nKMnLh(RLp=inW{8?Hm?1*c6da=F3>HZCTEgwMLf8w7NJq4Yv__;AE^y>U
nF>o-%fPE*%U<QtIsP{mzX^R}2wqO_Afk}ICP=b=C0|Ns9YlLT&

delta 955
zcmew=@KwO`)W2Q(7#J9A863G7m>8JZ8CZB2SQ*$D83eKt%M$f-67$ma{gbj%lS>#G
z*laTMGE3|j8JIOR!#Ei@7&zG(xOf=28F&~O3??@+iB0xnl$sc3$;-vS$H33dAi%>Q
z$RISij!Bn~k%7B7HL)l;!?(0JGkJ0?qYW2Gkq8fiD1+GKKxPF=5LbeSL6Sj=k%6Z;
zu`Jasu`ItRvm|x$eP&CrVi_I=Sq8buk65%PP7G&dan4Ukoy^8qIr#vSKBLKGK32`i
zPZ`@Mzhz3BT+AHC!^pr{kY8NllbM}bJb59D^W-2Ft;sGdF070UOqnT@xmi6XC$T2g
zb1*P5FfcGOFo3+lz{nuaz`(%9z{sEgrCGr|MFs{2eFjFbI##Xi42&BY7#Nrsl%R?j
z7^E4L85kINAPN{%7*xTAsxb&LurPo$+cGeLE#lPL!oaS*je&Oq#DIFZ2})oS#2~7m
zCNMB?GN?0XFfcM`GB7Z(GBT($Fo0di$H2&-#lXm*9nHX4%%H=d%fP_E4sxCz*j{~t
z_QI^KXD}q+UIVbbJRo}wL5?YAFk)Z?MJNL^*wY{$C}cT6p5DeF4D~b2ZU!d?Wsv_N
zp~eCAvoSbeOt5&<l!1}Kj6n)Vh>EWPYeYneKMs$XGgu%3wB8&kL@hy{0Eeh4*k|An
zwE~BzEQ1`>UPrW;ltv^4P!3{Xh+^Pih{0jEHF9KHGcYiifzlf&Hf`W`+al}+#U>Mj
Q9oS>`;1B^NO$P=B08s>GQ~&?~

diff --git a/target/classes/kr/ajousw/myspringweb/dto/FavoriteMusicRequestDto.class b/target/classes/kr/ajousw/myspringweb/dto/FavoriteMusicRequestDto.class
index 71d9cf25493d70b5da9262efaea605b1c462c526..1e3a413feb6e9a8f713401ae07b80d63edd9a36b 100644
GIT binary patch
literal 2582
zcmX^0Z`VEs1_oP(EOrJaMh3&|BK^dy{L<ob{oKmpf}+g4^zzgs{gje?eYeE2{G!Z~
zRNvC#%;ccd!qU{@5|@&Eb_Nzk27#=^vPAuy#JqHU|D>$c<Pt^(p5*+ToYdr!%=|ph
z6h;OiAB2+N5|Fvpj0_x!MJ1WVB_Me&2-7byH<gir7s3h4Of3&B%3);SLzo3oAczov
zD`K<B%*!mXV`N~~&<tZ_U~$e*N#$Z-W)R?E;9=lpWZ?J7%uDqv%}q)z3Q0`LNd>tn
zKRGccEU_pP#D@y9lw@QUGcp+akQ@>q50&J*=9OfYR5CK?X=vgwA{DFxH9W1^86+4P
zw6NQWO#>H$ID-Hu10#bp4+AR$8;C2*!yv~X&&a@EoLb_H68NGTn4zy32GXs_!@v&F
zt<1xq0@BT0oLb@tjTVp!H68{IhzboJ22GF(UbqTSWPsFY^DuBi)adds=z-J-z|}zG
z2c*n^hk*;C%!r4<7^F-P#i=mkOnDf%A?nO|7%V{QL{QX0jbvnC%>|`JMg|>HLYk3*
zKOH@QL^L!pLx_=qI~@@gj10VR9>}4L3<7XI+(CjUCPS2opoqbh3izg$WaOs=Bo-y+
zrk11@6*Dq$l;lIQ20Mc*BZD}4hH)y*%t=Wt;$U!RWKhMC8#NFa!!yN}i@}A#6O{br
zxfmE3ym=U`8EimezB~+m4E~G^Y>5R0sd*`k47%772u6rN9bnDD5Xi{Dt)l?RrC@s)
z8G?BjY#D4g7(y8tcwthY0I&sF9nQmG2a=3rWDtN!LPG*9AI-yH50Z~%WDwL*K==V}
zKs*nF14uz4BZCOC0%Svyc^Di)YEl^)7&SrOOy^;6X0Tyo;0n$!ElN&x%LHY585|*}
z2MTTmMFvI&W(EcZHU=h8wqjslU;<?jFwMch2BtZoG#8ZS2GjfujG%Icfsuiafq_Av
zfsuicfq{WlYdZt~MzA(Pu(2RP9tI%>1_mC80tR6Q5e5bZMg~y^F{tJ)1||k31_lPJ
z-3;Q9+ZiN%w6(S{NNr<~0nrNE7?eP?>NW;-5UsV1K?g+ZZ(}e7(I(p%%(OSaZB%05
zU|?VnVc=j8We{KxV~}7FXHZ~}V9;QYWH4ZmVz6M42D?TKVk6Ww91KPbmJC*4Pgpb9
zK;4D#)D{LQgcWRHk8pyGLHCp`R?P~;X|}_vS(P}=_E<G*5vSP!t7d)TG&^F|Y(ku7
zIR<$KCU6q6f~EpCE$yugQs`-j3mn{#SYw068YtPaGJvAP36%608CV$v7#KmtIyNH}
zh&7TO*+_P<k($_DsY<Mopsd8m0Cgn?*hoF>MrsjjBq&$HjpPIyX^h=SePWFSWpKEW
zTwo(Dup4PYtdXFy0&XNX*hpu1a;axv24|(v-3%^~LT=j`JhZkkcx_|w5enGG;G?yT
zAqd0{fw03s><9=u3dD|qu;W1N1PD6`#7^19;IoY(4L$jBgA))WzlK5+5F<kdxZubH
E0H$fl<^TWy

literal 2911
zcmX^0Z`VEs1_oP(R4xW424;2!79Ivx1~x_pfvm)`ME#t^ymWp4q^#8B5=I6#o6Nk-
z5<5l)W)00Sb_Nbc2CeKO{lu*N(&BRc+{)sDqRhPX^3){#)Vz|+l1hEI#IpRN%#u{!
z(&EfyE(Uf6W=;lf1|D_>ULFQM27X2cL+sj9O7c<l2Bj93rWTjDl;krq@FeHw<fJB-
zWaj62rZ6%H`5@dGTmo`{HOMAG9tI%>VMYf2;?xpn6b+&pm^w7WKn@e-VGskkiX*Y8
zB(u20GX-Rj1P_BG$RO_G)DlOiI7qQH4}%OyF&9L!Ut(@5NVyyjgFHw%FI+iD2Bble
zhd~LXffu47EHkw{v?vFpM}>z$6{JT1t_La!(x%SCpaIgxhwwJYM36o$9tLfYK0y>e
zf@DD&b$J-{KpF)R8llF5^cwIm7=rYQpy-7w;ASx9VK8AZWn|z_M-M;|4Nc4t<YM4v
zFy~>g0BPY)M+6l}+=_?68YIpO7YDf!BxB3NU<Z;BfXg7cz=4Os5hN*y;sTgfXC4L@
zkgN!bEL6J?0|SE_4}&{{2P1=cZen(-bADcOVo7*rNrrQNUU5lcUP&<{Lj#tSfax=8
ziC_sdMg|t={FGEi27aH+yi~u^+@#c^ki?{%R8X?cPfpAUODxI+@u7k&B^jB;j10y;
zBxf6IMh1?Od{=O`WMt6O(8OT`wv21d$iSKl%E62bI;3e6@J%hr$WIAKEK1BxElDjZ
z2D<{1OBorsg7Zs@l2hF>LH?CNDJu~9T@RGI85sne^7BiIONtT;AVwDRvoS<)F+?&%
zu`@)2B07eVK?S4~Qeb7~mE~ur>O*XT#JyW$a!GzsB_qQO<XDF)gc$0Pn3s~1TCC!e
zpPyY?V2wB8Q8b2B7NlZP9*txIqzJV}P6SXRoD*|$f-_4}tvMLt7#S*Ygo6em7kj4I
zGU_NmN)co>C}$vKpg92~fY1t4f)If#(`01e@yyFhEppCDEG|whW@kubWKhKjQfwi`
z&XCN=ActQmBLf>GSQ!)<xEYuj7#P?Xm_U^P0|NsSsMrP5G7S7+S_w*PKxsWN&CkFH
zs+t%W89W&n81xw!85kKD7+AHoGcaxhYx4pd3lijE@Md6O;DIP$@L}*}U|?Wm@MG|Y
zYVKlS0z1NLHv@a*b_Px#ZLKW~T-z7~K(xp<25}HAwT(d*L@R7#PzKRz+ZZ%Kw9YmL
zeeDf!8<iM17#J8t7&sV283Y)_7$g|P859^K7&I6p84MVt7%Uj1!LAX5*a&qE2ZIqq
z07D?y6DAC%P<J6bwS|ETVFer5BfMZ^&^={=RkH}XW<IQ%t+8sBLf6cXRkIyd%?jw6
z1+Z#%#Hv{hU9%uo%`R9q>!52E!m3$_L70IFoP?~PsenyOdn*GMdK%&a>xRS{8#LBH
z$(D}+ln{eJNsp0%k3oQe5!6D!W~2zQMv5UDDF!xD9=j{0h&2+Fl^7YIu9N{Asfyi5
z1!9c^<x04bN?;?ku^XvItdXD$4mVN*Y@{J}BXx*15>!^ejno4h84OP@9t@DIB&W5F
z!ANTxgPGPg21~7N3^rQZ80@vSF*xmFaAjaXPe<I~lmN+ia?q5(%n$-D0YVwV7#J8h
c7#JDC85kL28R8ij7`PZ184?(h7*ZG{0RzcX<p2Nx

diff --git a/target/classes/kr/ajousw/myspringweb/dto/MusicList.class b/target/classes/kr/ajousw/myspringweb/dto/MusicList.class
index 5ef753a028f7600ae7de7dd1453cc57b2601881a..9764cc57b21441d861ffd91190935e33baa4a680 100644
GIT binary patch
literal 1566
zcmX^0Z`VEs1_oOO2X+P~Mh4~VBK^dy{L<ob{oKmpf}+g4^zzgs{gje?ec#gJ%w(U;
z;u3ZS7Dfhvti-ZJ{hY+SbbbG%tkmQZMh5Pp)Z)^d66gHVyb?wRVIPDF&%Bb<^wc72
zMh13>nqo!<0f>BQNoI~d$W&`a2F~Ej^t{B9(xOyG26r@R8zjDOVgZy3wm-N8<V<Ub
z0<Z|gMb>uKcGipxY&MyBnI(3N49psuVT=qc&iN^+Tnx+%{5%ZY3_Oes{63j^seYxo
zNvTC4iAg!Bj0{3P`N@enVTnbVAU;%(r6eP>n2|x%hlmieW@O+?Pb~>T4i8ZcO(Yk>
zLWGlnkwKh?ft7)ck%0@YrI?XH2&No4fIKk-q2T~lL`txL?3LkRU}xZ9WZ)}CbE=pI
z7MFs;PQW*{BqKj1Ah9ShH?<_SsF;y~3$D4CkwF-$5$qgrq=IyLp^K91XpmuIsBu$S
zkP3|-j*@&xLSSSNfdvydF+fDE*%{Os8N?B35+dwWnwgW5TExMi$;coEPvIJnR0>YX
zwp<Kq4BDWyqQl4_3iS%I!J1)Q42%qVJPaZXq9C;fJPd{mMvM$>i3J6zc`1wxy2zTK
zNfS9Opt!`EgTaK6flEgL;)G(b^=2R=&CyJPXtTy`63AJWJPZ;Hk{k@yj0}vLAlKRQ
zFsLx7GBR)l=a&{Gr@Cc=5<DN==X#(3Vo+pYWMF1sU|?ck0wql_i=Bakfsug|%;sWX
zV_*d39tK7RUIqpReFjDbMg|53R;}#}d>g?^1Q-~=iWnGp83Y*^7<eEG7=##v85kHC
zL4k##c?*Ns1~koFST##9NHQ=%-6DnNf-MZv#2F&XAjiN2)@%j#C<6nVmiAT#F?9EH
zgPkD8zy$UY#Qh+@v4Z_45Arr611p0710#b1gCYYn)LlwoqkWK#mIfKk%zy|QTt-8}
zS{WW}Yz*uSpxA_3#tybjg+Ub>g8mH5;Lugw&7c-3q_LerOKTg0?luN}A>(Zfrdrz=
eEI@3lZ49Q{7;Ml3hX?FENc5<}qsI;$5B30}dQ<%X

literal 1792
zcmX^0Z`VEs1_oOOdoBhh24;2!79Ivx1~x_pfvm)`ME#t^ymWp4q^#8B5=I6#o6Nk-
z5<5l)W)00SP6iGJPId+^9tLg(9!3V`>>~Zdto+jAa{b)O;)0^gy!7(aB>j|<e0|^2
z;>={9%;FM82JWKN;?kTF=ls&V5=I7LAA}vAc_pdosYTWxWBGU(_!$Hk8Q3AJiy0XN
zASz2sGIR7nCRuYaa4-n*FbFe<Ff#C^r<MdEn=7iJ2~iJrJ<Mc~7BL<MaRv!S1}?ak
zVnzlbm~w>iLJSNHQalXO3^I%i;<<_0sm}R%$%!T5nI##{`FX`9iFqZ(j11-)Sge5v
zA&f$HN^l7%T&x)xID<3O^Abx+i&7aG+|hK{An|<@3!q%ESD^YK3cw<esIj)QwzFnr
zU~$e*No8c<_sPsl^()OyN-YXWOv*`RWDxSnPfpAUODxI+@u7k&B^jB;j0~ziM8upm
zBZDVKC_!BY_9|%(<ts*uF)?f*sTsz|AmE!?l98VhkXV$Mn_7}uRLsc01=n26$RG^W
z2zCTGWq@>vq58M7AQkFoFLdSP`T=AMM@c>;LKqoDV1WaU6o{xbBLi1(erZv1s#_)~
z68PZxKo6Ac85sne^7BiIONtT;Af7DdXJatpVlZYfVP`M}B|bAo1{IJ}NG{CGE6dML
z)rS}kNsn%c$tC$km5dBCp#B0|4^;>;)FUx3B`395#V0>MyR^U>Dd|8ALKZ>M7*bh~
ziYy6L9*txIH1Q#)aHtW^i8(pJnI);#91IqW49akyYd~@|IRD!+>L@_C#kP!^j0`-U
zd3mWt&N+$2#i_;Y4AzVcsu-Tf<|lRrTSf*s{7M-a*dPJGpvb_%z{J47z{J1=D!9Nb
zeg**sMh00hTaJN^fe};!GB7g8GcYjdGcYnRGB7Z(YHep=+z3{pz`y`j#K6GIpvb_$
zzyndhpv0iez`(!=DwHrZZ((5HfTo!bt7dTq2?i!Ko3}9VqHE^Iq8Z`=6$VBIRR%Sv
zAy#0IGBB`dX>Vm<M|VFr*c35vfUrT`5Aqu~*iY&pZ!<D*gF{DyL6d<Q>@FW<BY8na
zGBY581ecMJFxG+x7aIdVgB$}R1Jn|bG{pVd42%pq47$(|v|wNYhc2JiHU>ehZ49Ej
z7$g}O&_ja<><>sh@In2-%%BGjaD4^?1_lNW21W)$21W*R21^D81}+9h1}g>|20I2x
E058U;tN;K2

diff --git a/target/classes/kr/ajousw/myspringweb/entity/FavoriteMusic.class b/target/classes/kr/ajousw/myspringweb/entity/FavoriteMusic.class
index 73dbbb3ab595ab852b8f2d2ede355655460de706..0c549de6993be58737fbe6ffd4b1968800264a6a 100644
GIT binary patch
literal 2730
zcmX^0Z`VEs1_oP(Om+q)Mh30yBK^dy{L<ob{oKmpf}+g4^zzgs{nWgY%#uodx5Tpi
zqRf(1-_qjDWOfD?Mh1bb#Ii*FoW#6zegCAa)Z`LI2A<^noSf9;lFa-(&lE-mAs>X2
z;1ZC5){G32L8W;mnYpQ9nZ=n&IjN3$dHE%YARWbw3=%$BiP?!oC5ie4sYS(^#U-hE
z$*KCDDb|b(GFYXY^K(jb^Q;*e*m6?y(n~U!85kH87#a8w?g*(YNM&T;NGvMJEG_{#
ziVMQ@OUzAWWZ;Ex!ZK6KLyK}yG(r>zB20oSVzbH2%Pg^DWMJ0N3}a+qan4Uk<zirF
z5aVGGVi0Cz;P=VQOZ6+wO-d~aNleN~1qDQYa$-(cVo@fD4;5r7$;d2bWYF;;KHRMt
z8TivvOPo<cSwuq<Gn_dY7#ZYv7+4wD7#Rdnw15HxB&*27zyp%yPERdygoX}CT!n{$
z7bMOL7YBs|NJgE9fe$1j0GELV2}n|lhk+j?iE0^4t1b_N07zB@#VJVI4R{y?K??Yb
z(Y+_Cf$2L?unYL6mSp6o1SA$E=BAdU78Nrx2%=~Pd6bcXyBOg;Mh0Fu59BgN1_3x9
z>K1fEAj(8g42CP^D9MK;Yjy@3Mh0>8#O_p@nUj)Q#KB<4$RLf9e>4!O$}`25i@}<~
z0hD%(xEL52oOl?d8Dv0WE<6mb3~r1JY>5R0sd*`k47%8Y0wZ*w)>?BgcrY>u>L?)W
z0)>bz$PO<a26+Y<4hA1a25ub%NFD$?gpt9Ihd~J>6~M^A3zGr`0$5)V4}&U5GK7&q
z0450y4X}I|4}%6sJ_5~RxB*c-4B8+CF^mi%$Sy-RB#wtc52Pl6k%3VY6b?x|3|0&>
zj0{}C`K3k4scxCzEQJ!FdZ4h!RY<skOE7Cj25GEi2sk@hGcvH`L5hSl<dTj-k%5r`
zRI0EuFoALt10w@F0|Ns;0}}%W0|Nsn<#Ty5a5FH0G80sije(JYlYxPO36zmA#P}FM
z@*qP%G(;Ug7BK-VVuBcA0t}3xLWhBoL4<*UL7#z<fsuiMfmLfegXl)E6T}%9z?v8s
zgcu|k7#MgU3K%3Aq!<_&7(r<bL-Q5}*$rr#`LSx2XOO|7S%EmsN?0{36Q@}ft7bLg
zG;3hhtVx_^ZLFGgh|{cxRkJ>EnhhC@7?{BEY{kIDzyyj|E$yugvgi>l0FEm$hze*#
zgAxHNI3XB=(g!00D+4I$m|!<jfmkDXkc|YD@r(?n*o{;s)<|AtBYDBDG{bJB8nH$~
zvK-Xod|)HZu^XvLtdWo$3pJ7-Y@`KtBXx*15|ZJeMhbw9w8U<tKCwnZ$_uEGf?y-9
z;3=@1ff-yDB<^Ogjuf)p&S0;#jlppngR_wPHU?*{Z490uwl{?B3u602*nuE+FoYcn
zVuwT6ksx+7gdGcF$8TeB-o}uKp1K9W=@U{AB|_6D6GJk%#7Th{uc-_S3~3CE4C%!T
F830hb&(i<^

literal 3064
zcmX^0Z`VEs1_oP(BrXOf24;2!79Ivx1~x_pfvm)`ME#t^ymWp4q^#8B5=I6#o6Nk-
z5<5l)W)00SP6iGJPId+^9tLg(9!3VO>>~Zdto+jAa{b)O;)0^gy!7(aB>mL9lFX7y
zeYeE2{G!Z~RNvC#%w$Fep5*+ToYdr!%=|ph6h;OiAB0`OB_OTVAk+DH82CX(^C47+
zR2HOyqy%{wgg{apiA5!u#U-98AVCox22qe87evr6F&C^>oQFXIB+LsD4$Dj}4=u_8
zX^`S!kOs*hSpd@{%flcCk`hGN4b{lSz`>xv!=T8Z#K^#(o?7CJ;uR4MO-#>#w5aef
zsDiWzqG$p62PCV`!=M3@<xWp6afEsaB(BB7pbZk|g^Pn62$Ip|VbBA~2*72K+-JbU
zU<i^#wG5`!n1{gxBrAgA6sUF~1_lN*9tLv;3q}U<+{Elu=ls0n#FFsLk__kkyyB9?
zypm!@hDjQjzNDuJmOy4?kPIr#E6L1F4a+RfOv*`h%*)F!Nd%>_VnzlDpRB~}#G;Z!
z{esk@;>_Zb)V$<Wea{qYMg|$IQqK7~rMY?5j0|i!sd?!o8O#g}3<``4EYA5Usf-N#
zKACx`ex<odsYM})Nja&YG@PHDm=l&*lnLTP1zAcmGK(1*bbN@<9M+5s{Ke?0N)$_Q
zYlbm02>7O!WaOs=Bo-y+rk11@6*DpjqG$%CFGdFLVnnK9WZ;GKKna48K>*H&CINIq
zAj(8g42CP^D9MLpSw;q~;QZ2}<W#pzaCo3(c|A}D#}(AB;4;FRkwF@3On}4EnvsDe
zFEKZjk%2c2wJZ^E%Fiz;E-6YZfCNS{KN~|R7eg3BI6FfGC?Q8OGN^#8hm>WRd1d+8
zsrnE%L(;ZeVsc4-Q6(e84CG*jDufv7k(if~lUl6elb@emT40SgsiSBFMF1A%(MTph
zN>^*-Bn>sfIWZ?EII|?xnu8&lk)aVKL^TivlV^%8qmBZC53&;^0x9nxvJf^XCJ{2w
zI0OkGG{cl2MBvIa85wvy^YT)QoO2S3i&Kl)8R8fjR55}UTZpkUBrr0_;aAGYzy=9k
z21N!A1||ju26hG}Q02nF$Y9C9z`)PI#9+n1z+lb5$YA5iV9US+sve+{Yz&MH)(i{`
zOrUxJLrj!`2SZE(i<mSPF*yt|0R~1;70JNJV8_6~pwGa_z{tSBz^b*KfpH_)3HA&O
z3?K(FFbFX?Fff1(U|?WnaAa^|U|?Vb)g2g`w=l48K+`OYRkJFC5*E$8=$b{aYSzH2
zSpZ$LC|1qdSTzfyYZk+*Sr4mbF?7x1ST!4B)hvmwSputO6RetL&^1e9)$GjR!oUQM
zXDbFKaH3?>(%#CzjvmnhVBKO670`$VB?4}6<hz2>2O|SF11RaZVK<VOSR?t7jpPR#
z>5kn<0b-35LN-zeY@`QvBZY}I5|ZVh9v1~0>51J)F=CB`<XEVY5?~{}up22!tdWom
z4>eL6Y@|1KBV~v+5>j43jg$i$=>t!JJ`C*O!a_-F8-u*oHU?#_Z47E!+ZZ&pwlU~v
zZDY{a+QwkCi@}tE0X=yNf)g017-L{if+jE)248TI;Ri1t{TUb-0vH$>0*e`f7=jrX
e7&sUh8A2Es8KM|s7#JA17#JC18R8id86*L%sa`(-

diff --git a/target/classes/kr/ajousw/myspringweb/repository/FavoriteRepository.class b/target/classes/kr/ajousw/myspringweb/repository/FavoriteRepository.class
index 02037496d2d01570796d0a9b026a41824b2173ab..1d2b7d568dc3f3bd42637dc87c15108297b5b75d 100644
GIT binary patch
delta 340
zcmeBTU&F?G>ff$?3=9mm46^JDOcQm@B-t5Q7#Rez63Y_xa}x8?_5G8wQj<&A8Q3PC
zvXW&_%gjr0%*kP75Yo`}0V^sk$;{FB$t*6hp3KA;I5Ab3m63rdGi7ohqv+&pMp*@R
z1|bylf=h}r^U}E)7#T!(7`PdDCU-DuPX53s&IJ;Z<Y8cE;Fvs_NqsUqQ%^k`BLgD?
zGXo<7D+2=q3kxGil7W$dlYxPOiGhoS5u~4ik%5nafq|8gftP_nz>$HQfuDhqL4bjQ
zL7Rbzfr){Efm=)a0E6I824N<KjbNRk3=9lx42%p642%q7U=ff;b_Q{%Ms)^|y$lRS
b>{>e+Bp4YsfYo5p#lXZM1(uVBx=98AKJ72S

delta 403
zcmZ3(*2T_y>ff$?3=9mm4D##@Op_BCMY&lRSlJoaco^6jI41I%O=e<Lb>e1VVc_Cn
z;AY@qWMEIr%u8|1$zfy=($MtDN-Rs%FD=Q;(f7$LF0p23;A3PE01M_M=B4ZVCuOB3
zm#{MkOpLLbxYb`wz&EudBR?e|u_!S&wIsEun2~`gGi9<pqx|GLMomtZl8nq^Mg~)#
zi2}w_){G2dFdM*zd6uLWB_`#hT2Fq@*faSAqk26XBLfQqF9Rb3KLY~;3kxI2g$#@g
zf(#4{ObkLSj37TSFfs@;Ffgz(GKerR2skpZGl()UF^DlRFqkqhF)%SOFmP*WA7EhI
z$-vCSuo0|NoPmLXje(JYfq{!bf`Ng72h8SXkYtczV1Sz@zz`_l$iU4Y&A<pY&X9o-
dtd3o4Cj%!V!v;J?u|thwf;v@(K^Cl94gfe^JBa`Q

diff --git a/target/classes/kr/ajousw/myspringweb/service/MusicService.class b/target/classes/kr/ajousw/myspringweb/service/MusicService.class
index a0cfe076c0a58a1bee7347184f147a7b96078097..7adb5357fe09a29f491942180e8dca2237eb240f 100644
GIT binary patch
delta 1522
zcmaDOy<Jk^)W2Q(7#J9A89LY*m>3zfCI_&HP2S5UBF4_Z!pI<yl~|UjpOcuEuJ50e
zm6}{K*^=3HGB@inWp)OBMh0<&bZ|*gW?s5eX=YAJY7qy6AR~k7<o}$iVq6S-48lAN
zA`GI83~V-;d6^}4j0~a^4MoJmKvLp73=#~Ij0|jv1qG>jDU1xd6Ae{Wp~hHqFi0~p
z@T#Tem1LGw+9u{CmF9vp$?`DBG00Ee&7{P}&Y;N1pgmcRRoj4zL4iRTWRnUb1G9!^
z7(0U+iU%Mr1gX;CVbEmIns_~qQD?FlqXDNjgEBjVJ|lxN*z<c>dAYb4v>6O}7>pQ<
zC(mK@a5H5vXJ;@&HLbF^BsG_Z!Ggh(k%2kCw1kmC)CU|KnfdwwMVWae!6ikhiMiHX
z40;UKJPbArwv)A(wAt(#9N8HhCMPh7vGOoDF*r{yV^Y%KVsK@UWoK|>WDtfK;py*M
zk(^pkl9`{!#bD3i0a7eF`68?4<auniDnbyez!3xSmo*~;b7@fyBLhcKYH>k+UUBMV
z3AVP$583pDgfuiE%1cW!bM$>Oi%TY}um^~8GB7g4@i4G5uyHdaFeI@vBr-A>gF_&J
zSyqaNA(<hHk%2ueGcUz4Cx?q6739J+Mh4-@g6zVRdD*2Vm$AEXb1`Hy<gzp5Fftf|
zwa#OgX5nGTW0-8mV$YGlP{_kj#85oBmBomq6q2~KChuYIQ~=pn!^2PuN)=owsX3`7
zsZN!iDU1wEnJJ7678;ZNS;QwNFv|&QhH)`4Gbn@H+Qh@a&cHFbm7}koL6L!xfti7U
zftf)F<N*c{U}xX}Q4E|6Tnr2htPG3{+zdPnObomX42&`iEDY=n3=B!T8TcZF1hz8>
zX>Vf?6O!7-AhwM`#&<V^LgaP^B|lvqAywwR49wdY)DJMITCwbA(2m^Bplih{$tuYr
zq_>U1-~fZ36<hr#1`|oPZ46f180;k3HdwKM_$=EPT(&W|Gj3pDWRPPBVhCn%WngCT
zWME*>0y{{SL5xA3L5@L*L61S1!JI*b!IeRkA%H=RA(%m(A(TObA%Q`Y!Ha=`Aqeb|
zBnEE=AFzj#7<?K07#JDE7<?G~8T=TS>KWu1TtI=rz|5crHpGvCg~6Obh9Qt4h=G;C
zm4S~Tm?4CLjUkkQmm!oPjDdwAoPmKsf`RcrLofpiI|Cy-gDMy)fS9ff5ugxbWbkER
zU|?j3WQby5Vu)s7U|?d10R<mJHUkp_69WT-xYibi*qsdW@r(=`d^RzdXm4Xkf%%yM
z9Pp_iKTnq95w8dNL=2(}>Jw0OgfgTvFoGS!#=z*s&XCH$$dJL135h0#LIx&qv`T{P
z(cZ?8wUeQMiQxc4iLcHv23D3e%xl1L4hmEu1{MYe1`7s321^D}1}g?}23v68DL@Qh
zsE37~BtscPIRhhuAOi<O1w$nR6WDeR2F5=O;_M71Ft3+^y<Wv23U!Jz)XUspr|e{?
zW@6X~4iS*$Tws4WF>o<BgDr*llN;(!1_o}1x_WSwLBq8UY`6$RJ=E|(24=7cqFUP-
z8nmFPZ!1HimiAVLScElvV84hnurNq5@H2=bStSa$N)(*_8DZXFWe{LsVrXVy5Mf|q
UXkln&U|;|_wvB;-p`C#N04j?6o&W#<

delta 1805
zcmdlk`9|9C)W2Q(7#J9A8Ty167#Ns%7?>GY7#YNK6SGsD^YfAuOTsftGMw}Cic1pn
zN{Sg7)FwY+RAskjXJBJw(4M$L+n<Ypm4SnYfs=uYk%7%7GcU8mj*)>`Lo<w>frpVn
zAS<yfQ9ma!FI_*lq$o2lot=RXMbtkjD>b<UWQYI{gCK*@<c&;mj3Sc-m<>3E893M(
z#2FcsCnkzbHehEF_AM>WO!mnvF5zMjW{~7zkYbRYT*mAnC(9tm&LGdjpunJrVs>z4
zaY<_K<U7m?9AXU0JPaxfs*_n*v=!AEG}sw5c^I@9v>6$M!7j|q*AFPl%qs~lDN0Su
zogBcTq|DBsizMsm?^=<ZT2PXipU1_Z!=TT@V8CEFS&vD{h>Jm;!5Czi2_u83h7Z^{
zBoA9_hH)~OF_^P6Snx1dGFUM(XiZEMo2Vu-F~C)To56;`mYu<lhryn~fsw&@VxqAx
zBLjO{W?qV8P7Wi3kcKA2z|xY;9DR`2t=SozV9o;Dg5)em27N9DR|YqB26r9?4+c+0
z217{DNly-7x8ty3@aAFgVep+ijopaFpOHapaw5By8psKOJPbh$CX5VRDXBTBC8<u8
zo+(@mybK&5hllbogfWCqoO*2XEEY`;j-u4!g8aPV$$wcSCabZwOg_wF%feh*lrwn+
ztHI=rY!Z{-vieRw&gL=s8+#`wBLh=r3L}Gs#>50uCe5(PPdWPP85sne^7BiIONtT;
zd{av@@>7cW*%%tR7@8QG*%?|u39yxsK?M<vnR#XT*{RUv14)x^iOD7TMU{*UGmyg@
zst{tRM`B(|PHM4=Pkw%OX@NB)6mt^uEMW-|A(XC<qBEqjAQf2>l5VY|Cog1|6N9RB
zPRz*(&MZl_=3r=NWH6pw$EaG*sFs>nl37w|o0yYSn#;(*<C&M2TI8IQSX`W1%+Aoo
z$e@bhDQs?KXXs&Mki)N(k%0~3F$P5jGX`D;1_tJO1|d-LVgP|KhHwzY5Wx`1z`(%D
zz{n8A5Y52E5W~R0$jiXOz|O$H5Ujn6fsuj1cQ*rT<aP#jKV2OmZsxrVyxSP~4=`|B
zvFv6Lj@-^5YQ-waD#;=wwv9pJ0E3tn+a?AXNw#eaO4}IJB-u7tv4Hq2+Zgn=)iW3|
zZeU<!;Ae1VaADA4U}lJAU|`T<;9_84kY!+JkZ0g$P-2j0P-f6zP+>4*P-SprP-Adm
zP-k#s&|nB;&}4{XU|<Mh;9!tvP-Tc`NMK-L&|r{ZNMuN2U}Z34;A2Q;NMT@OaAV+Q
zNM%T4U;+7oA)O%u?9*U|`b>rd21W*U1|Nnjh6DyC27U$?P|9UsX2@n>V31&7{LkRR
zz{1X8#?HVEMyw2s><l^#IiMh7WXNP-U|?j(WpIFm6GJuw69W?i1B1BM76#Lu4AzVc
z8+<k~$Y^h4aNY*>Dg&t0V{n9cb+RD0Xg$aaVhl_S+zdPnsSJ6b0A>(}IuhgxHU>s7
zb_Pd=d{9}-P{6>*P{>dOwXl$ZiGi7cfk6^vq4qWgmz@k=ObiDY{CsteF|e|%VO|4@
zW^kwqfqiemAjn|JAj)9HAkJV54!wE>hzU>|85krPiWy267#Rc^I2cM9${3iyVZp(`
z_=iE9oxu<0_hPW$%Nb0dPH~3%og3_woeTj?3>(2N21O|sI9Qw*xEP$lmV*4tz`zZ%
zvmP85+zb`qsDK7+1=w&-hDxa6feg%G6GXMPGX!fvliyZ`5H0Pk45kQc_`qHfXJBEF
zV&G>GN3u#3WEI#ZQE-Z9gn7f#ia~&Zg`o=U)M|zr1_lO@V`~{080r`p7(lM$U|?iu
WU|?iuW9R_OGBR{BbTjlaNCE($G-v<-

diff --git a/target/classes/static/app.bundle.js b/target/classes/static/app.bundle.js
index 6fbc73a..ec8b93a 100644
--- a/target/classes/static/app.bundle.js
+++ b/target/classes/static/app.bundle.js
@@ -2326,7 +2326,7 @@
   /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
   
   "use strict";
-  eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ App)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @mui/material */ \"./node_modules/@mui/material/AppBar/AppBar.js\");\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @mui/material */ \"./node_modules/@mui/material/Typography/Typography.js\");\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @mui/material */ \"./node_modules/@mui/material/Box/Box.js\");\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @mui/material */ \"./node_modules/@mui/material/Tabs/Tabs.js\");\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @mui/material */ \"./node_modules/@mui/material/Tab/Tab.js\");\n/* harmony import */ var _MusicList__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./MusicList */ \"./src/MusicList.js\");\n/* harmony import */ var _data__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./data */ \"./src/data.js\");\n/* harmony import */ var _Search__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Search */ \"./src/Search.js\");\n/* harmony import */ var _Favorite__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Favorite */ \"./src/Favorite.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i[\"return\"] && (_r = _i[\"return\"](), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\n\n\n\n\n\nfunction App() {\n  var _React$useState = react__WEBPACK_IMPORTED_MODULE_0___default().useState(0),\n    _React$useState2 = _slicedToArray(_React$useState, 2),\n    currentTab = _React$useState2[0],\n    setCurrentTab = _React$useState2[1];\n  var _React$useState3 = react__WEBPACK_IMPORTED_MODULE_0___default().useState([]),\n    _React$useState4 = _slicedToArray(_React$useState3, 2),\n    searchResult = _React$useState4[0],\n    setSearchResult = _React$useState4[1];\n  var _React$useState5 = react__WEBPACK_IMPORTED_MODULE_0___default().useState([]),\n    _React$useState6 = _slicedToArray(_React$useState5, 2),\n    myFavoriteList = _React$useState6[0],\n    setmyFavoriteList = _React$useState6[1];\n  var _React$useState7 = react__WEBPACK_IMPORTED_MODULE_0___default().useState({}),\n    _React$useState8 = _slicedToArray(_React$useState7, 2),\n    likes = _React$useState8[0],\n    setLikes = _React$useState8[1];\n  var handleTabChange = function handleTabChange(event, newValue) {\n    setCurrentTab(newValue);\n  };\n  var addToFavoriteList = function addToFavoriteList(item) {\n    setmyFavoriteList(function (prevList) {\n      return [].concat(_toConsumableArray(prevList), [item]);\n    });\n  };\n  var DelteandsetFavoriteList = function DelteandsetFavoriteList(item) {\n    setmyFavoriteList(item);\n  };\n  var handleLike = function handleLike(id) {\n    var updatedLikes = _objectSpread(_objectSpread({}, likes), {}, _defineProperty({}, id, !likes[id]));\n    setLikes(updatedLikes);\n  };\n  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_material__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n    position: \"fixed\"\n  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_material__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n    align: \"center\",\n    variant: \"h3\",\n    color: \"inherit\"\n  }, \"Dong's Favorite Music\")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n    style: {\n      height: 60,\n      width: '100%'\n    }\n  }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_material__WEBPACK_IMPORTED_MODULE_7__[\"default\"], {\n    sx: {\n      borderButtom: 1,\n      borderColor: 'divider'\n    }\n  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_material__WEBPACK_IMPORTED_MODULE_8__[\"default\"], {\n    value: currentTab,\n    onChange: handleTabChange,\n    \"aria-label\": \"basic tabs\",\n    centered: true\n  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_material__WEBPACK_IMPORTED_MODULE_9__[\"default\"], {\n    label: \"Search Music\",\n    value: 0\n  }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_material__WEBPACK_IMPORTED_MODULE_9__[\"default\"], {\n    label: \"Favorites\",\n    value: 1\n  }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_material__WEBPACK_IMPORTED_MODULE_9__[\"default\"], {\n    label: \"More Contents\",\n    value: 2\n  }))), currentTab == 0 && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Search__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n    list: searchResult,\n    addToFavoriteList: addToFavoriteList,\n    myFavoriteList: myFavoriteList,\n    handleLike: handleLike,\n    likes: likes,\n    onSearch: setSearchResult,\n    DelteandsetFavoriteList: DelteandsetFavoriteList\n  }), currentTab == 1 && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Favorite__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n    likes: likes,\n    handleLike: handleLike,\n    myFavoriteList: myFavoriteList,\n    addToFavoriteList: addToFavoriteList,\n    DelteandsetFavoriteList: DelteandsetFavoriteList\n  }), currentTab == 2 && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_material__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n    align: \"center\",\n    variant: \"h2\"\n  }, \"Item Three\"));\n}\n\n//# sourceURL=webpack://muibasic_starterkit/./src/App.js?");
+  eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ App)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @mui/material */ \"./node_modules/@mui/material/AppBar/AppBar.js\");\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @mui/material */ \"./node_modules/@mui/material/Typography/Typography.js\");\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @mui/material */ \"./node_modules/@mui/material/Box/Box.js\");\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @mui/material */ \"./node_modules/@mui/material/Tabs/Tabs.js\");\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @mui/material */ \"./node_modules/@mui/material/Tab/Tab.js\");\n/* harmony import */ var _MusicList__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./MusicList */ \"./src/MusicList.js\");\n/* harmony import */ var _data__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./data */ \"./src/data.js\");\n/* harmony import */ var _Search__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Search */ \"./src/Search.js\");\n/* harmony import */ var _Favorite__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Favorite */ \"./src/Favorite.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i[\"return\"] && (_r = _i[\"return\"](), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\n\n\n\n\n\n\nfunction App() {\n  var _React$useState = react__WEBPACK_IMPORTED_MODULE_0___default().useState(0),\n    _React$useState2 = _slicedToArray(_React$useState, 2),\n    currentTab = _React$useState2[0],\n    setCurrentTab = _React$useState2[1];\n  var _React$useState3 = react__WEBPACK_IMPORTED_MODULE_0___default().useState([]),\n    _React$useState4 = _slicedToArray(_React$useState3, 2),\n    searchResult = _React$useState4[0],\n    setSearchResult = _React$useState4[1];\n  var _React$useState5 = react__WEBPACK_IMPORTED_MODULE_0___default().useState([]),\n    _React$useState6 = _slicedToArray(_React$useState5, 2),\n    myFavoriteList = _React$useState6[0],\n    setmyFavoriteList = _React$useState6[1];\n  var _React$useState7 = react__WEBPACK_IMPORTED_MODULE_0___default().useState({}),\n    _React$useState8 = _slicedToArray(_React$useState7, 2),\n    likes = _React$useState8[0],\n    setLikes = _React$useState8[1];\n  (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {\n    fetch('/likes', {\n      method: 'GET'\n    }).then(function (res) {\n      return res.json();\n    }).then(function (data) {\n      var datafromb = {};\n      data.forEach(function (item) {\n        datafromb[item.collectionId] = true;\n      });\n      setmyFavoriteList(data);\n      console.log(\"실행됨\");\n      setLikes(datafromb);\n    });\n  }, []);\n  var handleTabChange = function handleTabChange(event, newValue) {\n    setCurrentTab(newValue);\n  };\n  var addToFavoriteList = function addToFavoriteList(item) {\n    setmyFavoriteList(function (prevList) {\n      return [].concat(_toConsumableArray(prevList), [item]);\n    });\n  };\n  var DelteandsetFavoriteList = function DelteandsetFavoriteList(item) {\n    setmyFavoriteList(item);\n  };\n  var handleLike = function handleLike(id) {\n    var updatedLikes = _objectSpread(_objectSpread({}, likes), {}, _defineProperty({}, id, !likes[id]));\n    setLikes(updatedLikes);\n  };\n  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_material__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n    position: \"fixed\"\n  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_material__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n    align: \"center\",\n    variant: \"h3\",\n    color: \"inherit\"\n  }, \"Dong's Favorite Music\")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", {\n    style: {\n      height: 60,\n      width: '100%'\n    }\n  }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_material__WEBPACK_IMPORTED_MODULE_7__[\"default\"], {\n    sx: {\n      borderButtom: 1,\n      borderColor: 'divider'\n    }\n  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_material__WEBPACK_IMPORTED_MODULE_8__[\"default\"], {\n    value: currentTab,\n    onChange: handleTabChange,\n    \"aria-label\": \"basic tabs\",\n    centered: true\n  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_material__WEBPACK_IMPORTED_MODULE_9__[\"default\"], {\n    label: \"Search Music\",\n    value: 0\n  }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_material__WEBPACK_IMPORTED_MODULE_9__[\"default\"], {\n    label: \"Favorites\",\n    value: 1\n  }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_material__WEBPACK_IMPORTED_MODULE_9__[\"default\"], {\n    label: \"More Contents\",\n    value: 2\n  }))), currentTab == 0 && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Search__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n    list: searchResult,\n    addToFavoriteList: addToFavoriteList,\n    myFavoriteList: myFavoriteList,\n    handleLike: handleLike,\n    likes: likes,\n    onSearch: setSearchResult,\n    DelteandsetFavoriteList: DelteandsetFavoriteList\n  }), currentTab == 1 && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_Favorite__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n    likes: likes,\n    handleLike: handleLike,\n    myFavoriteList: myFavoriteList,\n    addToFavoriteList: addToFavoriteList,\n    DelteandsetFavoriteList: DelteandsetFavoriteList\n  }), currentTab == 2 && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_material__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n    align: \"center\",\n    variant: \"h2\"\n  }, \"Item Three\"));\n}\n\n//# sourceURL=webpack://muibasic_starterkit/./src/App.js?");
   
   /***/ }),
   
@@ -2337,7 +2337,7 @@
   /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
   
   "use strict";
-  eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ Favoritee)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @mui/material */ \"./node_modules/@mui/material/Card/Card.js\");\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @mui/material */ \"./node_modules/@mui/material/CardContent/CardContent.js\");\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @mui/material */ \"./node_modules/@mui/material/Typography/Typography.js\");\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @mui/material */ \"./node_modules/@mui/material/CardActions/CardActions.js\");\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @mui/material */ \"./node_modules/@mui/material/IconButton/IconButton.js\");\n/* harmony import */ var _mui_icons_material__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @mui/icons-material */ \"./node_modules/@mui/icons-material/esm/Favorite.js\");\n/* harmony import */ var _mui_icons_material__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @mui/icons-material */ \"./node_modules/@mui/icons-material/esm/FavoriteBorder.js\");\n/* harmony import */ var _snackbar__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./snackbar */ \"./src/snackbar.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i[\"return\"] && (_r = _i[\"return\"](), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\n\n\n\nvar styles = {\n  content: {},\n  layout: {\n    display: 'flex',\n    justifyContent: 'center'\n  },\n  card: {\n    minWidth: 275,\n    maxWidth: 600,\n    marginBottom: \"20pt\",\n    marginLeft: 'auto',\n    marginRight: 'auto'\n  }\n};\nfunction Favoritee(_ref) {\n  var likes = _ref.likes,\n    myFavoriteList = _ref.myFavoriteList,\n    handleLike = _ref.handleLike,\n    addToFavoriteList = _ref.addToFavoriteList,\n    DelteandsetFavoriteList = _ref.DelteandsetFavoriteList;\n  var _React$useState = react__WEBPACK_IMPORTED_MODULE_0___default().useState(likes),\n    _React$useState2 = _slicedToArray(_React$useState, 2),\n    favoriteLikes = _React$useState2[0],\n    setFavoriteLikes = _React$useState2[1];\n  var toggleFavorite = function toggleFavorite(id, name) {\n    return function () {\n      var updatedLikes = _objectSpread(_objectSpread({}, favoriteLikes), {}, _defineProperty({}, id, !favoriteLikes[id]));\n      setFavoriteLikes(updatedLikes);\n      handleLike(id);\n      if (updatedLikes[id]) {\n        if (!myFavoriteList.find(function (item) {\n          return item.collectionId === id;\n        })) {\n          var postData = {\n            \"collectionId\": id,\n            \"collectionName\": name\n          };\n          fetch('http://localhost:8098/likes', {\n            method: 'POST',\n            headers: {\n              'Content-Type': 'application/json'\n            },\n            body: JSON.stringify(postData)\n          }).then(function (response) {\n            return response.json();\n          }).then(function (data) {\n            console.log(data);\n            addToFavoriteList(list.find(function (item) {\n              return item.collectionId === id;\n            }));\n          })[\"catch\"](function (error) {\n            return console.log('음악 좋아요 시 에러 발생');\n          });\n        }\n      } else {\n        var updatedFavoriteList = myFavoriteList.filter(function (item) {\n          return item.collectionId !== id;\n        });\n        fetch(\"/likes/\".concat(id), {\n          method: 'DELETE'\n        }).then(function (data) {\n          console.log(data);\n          DelteandsetFavoriteList(updatedFavoriteList);\n          console.log('여기 실행 됨');\n        })[\"catch\"](function (error) {\n          return console.log('음악 좋아요 취소 시 에러 발생' + error);\n        });\n      }\n    };\n  };\n  var favoriteList = myFavoriteList.filter(function (item) {\n    return favoriteLikes[item.collectionId] === true;\n  });\n  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, favoriteList.map(function (item) {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_material__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n      sx: styles.card,\n      key: item.collectionId\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_material__WEBPACK_IMPORTED_MODULE_3__[\"default\"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_material__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n      variant: \"subtitle1\"\n    }, \" \", item.artistName), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_material__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n      variant: \"subtitle2\"\n    }, item.collectionCensoredName)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_material__WEBPACK_IMPORTED_MODULE_5__[\"default\"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_material__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n      onClick: toggleFavorite(item.collectionId, item.collectionName)\n    }, favoriteLikes[item.collectionId] ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_icons_material__WEBPACK_IMPORTED_MODULE_7__[\"default\"], null) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_icons_material__WEBPACK_IMPORTED_MODULE_8__[\"default\"], null))));\n  }));\n}\n\n//# sourceURL=webpack://muibasic_starterkit/./src/Favorite.js?");
+  eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ Favoritee)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @mui/material */ \"./node_modules/@mui/material/Card/Card.js\");\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @mui/material */ \"./node_modules/@mui/material/CardContent/CardContent.js\");\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @mui/material */ \"./node_modules/@mui/material/Typography/Typography.js\");\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @mui/material */ \"./node_modules/@mui/material/CardActions/CardActions.js\");\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @mui/material */ \"./node_modules/@mui/material/IconButton/IconButton.js\");\n/* harmony import */ var _mui_icons_material__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @mui/icons-material */ \"./node_modules/@mui/icons-material/esm/Favorite.js\");\n/* harmony import */ var _mui_icons_material__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @mui/icons-material */ \"./node_modules/@mui/icons-material/esm/FavoriteBorder.js\");\n/* harmony import */ var _snackbar__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./snackbar */ \"./src/snackbar.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i[\"return\"] && (_r = _i[\"return\"](), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\n\n\n\nvar styles = {\n  content: {},\n  layout: {\n    display: 'flex',\n    justifyContent: 'center'\n  },\n  card: {\n    minWidth: 275,\n    maxWidth: 600,\n    marginBottom: \"20pt\",\n    marginLeft: 'auto',\n    marginRight: 'auto'\n  }\n};\nfunction Favoritee(_ref) {\n  var likes = _ref.likes,\n    myFavoriteList = _ref.myFavoriteList,\n    handleLike = _ref.handleLike,\n    addToFavoriteList = _ref.addToFavoriteList,\n    DelteandsetFavoriteList = _ref.DelteandsetFavoriteList;\n  var _React$useState = react__WEBPACK_IMPORTED_MODULE_0___default().useState(likes),\n    _React$useState2 = _slicedToArray(_React$useState, 2),\n    favoriteLikes = _React$useState2[0],\n    setFavoriteLikes = _React$useState2[1];\n  var toggleFavorite = function toggleFavorite(id, name) {\n    return function () {\n      var updatedLikes = _objectSpread(_objectSpread({}, favoriteLikes), {}, _defineProperty({}, id, !favoriteLikes[id]));\n      setFavoriteLikes(updatedLikes);\n      handleLike(id);\n      if (updatedLikes[id]) {\n        if (!myFavoriteList.find(function (item) {\n          return item.collectionId === id;\n        })) {\n          var item = list.find(function (item) {\n            return item.collectionId === id;\n          });\n          var postData = {\n            \"artistId\": item.artistId,\n            \"artistName\": item.artistName,\n            \"artistViewUrl\": item.artistViewUrl,\n            \"collectionId\": item.collectionId,\n            \"collectionViewUrl\": item.collectionViewUrl,\n            \"collectionName\": item.collectionName\n          };\n          fetch('/likes', {\n            method: 'POST',\n            headers: {\n              'Content-Type': 'application/json'\n            },\n            body: JSON.stringify(postData)\n          }).then(function (response) {\n            return response.json();\n          }).then(function (data) {\n            console.log(data);\n            addToFavoriteList(list.find(function (item) {\n              return item.collectionId === id;\n            }));\n          })[\"catch\"](function (error) {\n            return console.log('음악 좋아요 시 에러 발생');\n          });\n        }\n      } else {\n        var updatedFavoriteList = myFavoriteList.filter(function (item) {\n          return item.collectionId !== id;\n        });\n        fetch(\"/likes/\".concat(id), {\n          method: 'DELETE'\n        }).then(function (data) {\n          console.log(data);\n          DelteandsetFavoriteList(updatedFavoriteList);\n          console.log('여기 실행 됨');\n        })[\"catch\"](function (error) {\n          return console.log('음악 좋아요 취소 시 에러 발생' + error);\n        });\n      }\n    };\n  };\n  var favoriteList = myFavoriteList.filter(function (item) {\n    return favoriteLikes[item.collectionId] === true;\n  });\n  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, favoriteList.map(function (item) {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_material__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n      sx: styles.card,\n      key: item.collectionId\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_material__WEBPACK_IMPORTED_MODULE_3__[\"default\"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_material__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n      variant: \"subtitle1\"\n    }, \" \", item.artistName), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_material__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n      variant: \"subtitle2\"\n    }, item.collectionCensoredName)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_material__WEBPACK_IMPORTED_MODULE_5__[\"default\"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_material__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n      onClick: toggleFavorite(item.collectionId, item.collectionName)\n    }, favoriteLikes[item.collectionId] ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_icons_material__WEBPACK_IMPORTED_MODULE_7__[\"default\"], null) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_icons_material__WEBPACK_IMPORTED_MODULE_8__[\"default\"], null))));\n  }));\n}\n\n//# sourceURL=webpack://muibasic_starterkit/./src/Favorite.js?");
   
   /***/ }),
   
@@ -2348,7 +2348,7 @@
   /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
   
   "use strict";
-  eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ MusicList)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @mui/material */ \"./node_modules/@mui/material/Card/Card.js\");\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @mui/material */ \"./node_modules/@mui/material/CardContent/CardContent.js\");\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @mui/material */ \"./node_modules/@mui/material/Typography/Typography.js\");\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @mui/material */ \"./node_modules/@mui/material/CardActions/CardActions.js\");\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @mui/material */ \"./node_modules/@mui/material/IconButton/IconButton.js\");\n/* harmony import */ var _mui_icons_material__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @mui/icons-material */ \"./node_modules/@mui/icons-material/esm/Favorite.js\");\n/* harmony import */ var _mui_icons_material__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @mui/icons-material */ \"./node_modules/@mui/icons-material/esm/FavoriteBorder.js\");\n/* harmony import */ var _snackbar__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./snackbar */ \"./src/snackbar.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i[\"return\"] && (_r = _i[\"return\"](), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\n\n\n\nvar styles = {\n  content: {},\n  layout: {\n    display: 'flex',\n    justifyContent: 'center'\n  },\n  card: {\n    minWidth: 275,\n    maxWidth: 600,\n    marginBottom: \"20pt\",\n    marginLeft: 'auto',\n    marginRight: 'auto'\n  }\n};\nfunction MusicList(_ref) {\n  var list = _ref.list,\n    DelteandsetFavoriteList = _ref.DelteandsetFavoriteList,\n    likes = _ref.likes,\n    handleLike = _ref.handleLike,\n    myFavoriteList = _ref.myFavoriteList,\n    addToFavoriteList = _ref.addToFavoriteList;\n  var _React$useState = react__WEBPACK_IMPORTED_MODULE_0___default().useState({\n      open: false,\n      msg: ''\n    }),\n    _React$useState2 = _slicedToArray(_React$useState, 2),\n    snackState = _React$useState2[0],\n    setSnackState = _React$useState2[1];\n  var toggleFavorite = function toggleFavorite(id, name) {\n    return function () {\n      var updatedLikes = _objectSpread(_objectSpread({}, likes), {}, _defineProperty({}, id, !likes[id]));\n      setSnackState(_objectSpread(_objectSpread({}, snackState), {}, {\n        open: true,\n        msg: \"\".concat(name, \"\\uC774(\\uAC00) \\uD074\\uB9AD\\uB418\\uC5C8\\uC2B5\\uB2C8\\uB2E4.\")\n      }));\n      handleLike(id);\n      if (updatedLikes[id]) {\n        if (!myFavoriteList.find(function (item) {\n          return item.collectionId === id;\n        })) {\n          var postData = {\n            \"collectionId\": id,\n            \"collectionName\": name\n          };\n          fetch('http://localhost:8098/likes', {\n            method: 'POST',\n            headers: {\n              'Content-Type': 'application/json'\n            },\n            body: JSON.stringify(postData)\n          }).then(function (response) {\n            return response.json();\n          }).then(function (data) {\n            console.log(data);\n            addToFavoriteList(list.find(function (item) {\n              return item.collectionId === id;\n            }));\n          })[\"catch\"](function (error) {\n            return console.log('음악 좋아요 시 에러 발생');\n          });\n        }\n      } else {\n        var updatedFavoriteList = myFavoriteList.filter(function (item) {\n          return item.collectionId !== id;\n        });\n        fetch(\"/likes/\".concat(id), {\n          method: 'DELETE'\n        }).then(function (data) {\n          console.log(data);\n          DelteandsetFavoriteList(updatedFavoriteList);\n          console.log('여기 실행 됨');\n        })[\"catch\"](function (error) {\n          return console.log('음악 좋아요 취소 시 에러 발생' + error);\n        });\n      }\n    };\n  };\n  var handleSnackbarClose = function handleSnackbarClose(event, reason) {\n    if (reason === 'clickaway') {\n      return;\n    }\n    setSnackState({\n      open: false,\n      msg: ''\n    });\n  };\n  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, list.map(function (item) {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_material__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n      sx: styles.card,\n      key: item.collectionId\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_material__WEBPACK_IMPORTED_MODULE_3__[\"default\"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_material__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n      variant: \"subtitle1\"\n    }, \" \", item.artistName), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_material__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n      variant: \"subtitle2\"\n    }, item.collectionCensoredName)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_material__WEBPACK_IMPORTED_MODULE_5__[\"default\"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_material__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n      onClick: toggleFavorite(item.collectionId, item.collectionName)\n    }, likes[item.collectionId] === true ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_icons_material__WEBPACK_IMPORTED_MODULE_7__[\"default\"], null) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_icons_material__WEBPACK_IMPORTED_MODULE_8__[\"default\"], null))));\n  }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_snackbar__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n    open: snackState.open,\n    message: snackState.msg,\n    onClose: handleSnackbarClose\n  }));\n}\n\n//# sourceURL=webpack://muibasic_starterkit/./src/MusicList.js?");
+  eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */   \"default\": () => (/* binding */ MusicList)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @mui/material */ \"./node_modules/@mui/material/Card/Card.js\");\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @mui/material */ \"./node_modules/@mui/material/CardContent/CardContent.js\");\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @mui/material */ \"./node_modules/@mui/material/Typography/Typography.js\");\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @mui/material */ \"./node_modules/@mui/material/CardActions/CardActions.js\");\n/* harmony import */ var _mui_material__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @mui/material */ \"./node_modules/@mui/material/IconButton/IconButton.js\");\n/* harmony import */ var _mui_icons_material__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @mui/icons-material */ \"./node_modules/@mui/icons-material/esm/Favorite.js\");\n/* harmony import */ var _mui_icons_material__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @mui/icons-material */ \"./node_modules/@mui/icons-material/esm/FavoriteBorder.js\");\n/* harmony import */ var _snackbar__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./snackbar */ \"./src/snackbar.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i[\"return\"] && (_r = _i[\"return\"](), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\n\n\n\nvar styles = {\n  content: {},\n  layout: {\n    display: 'flex',\n    justifyContent: 'center'\n  },\n  card: {\n    minWidth: 275,\n    maxWidth: 600,\n    marginBottom: \"20pt\",\n    marginLeft: 'auto',\n    marginRight: 'auto'\n  }\n};\nfunction MusicList(_ref) {\n  var list = _ref.list,\n    DelteandsetFavoriteList = _ref.DelteandsetFavoriteList,\n    likes = _ref.likes,\n    handleLike = _ref.handleLike,\n    myFavoriteList = _ref.myFavoriteList,\n    addToFavoriteList = _ref.addToFavoriteList;\n  var _React$useState = react__WEBPACK_IMPORTED_MODULE_0___default().useState({\n      open: false,\n      msg: ''\n    }),\n    _React$useState2 = _slicedToArray(_React$useState, 2),\n    snackState = _React$useState2[0],\n    setSnackState = _React$useState2[1];\n  var toggleFavorite = function toggleFavorite(id, name) {\n    return function () {\n      var updatedLikes = _objectSpread(_objectSpread({}, likes), {}, _defineProperty({}, id, !likes[id]));\n      setSnackState(_objectSpread(_objectSpread({}, snackState), {}, {\n        open: true,\n        msg: \"\".concat(name, \"\\uC774(\\uAC00) \\uD074\\uB9AD\\uB418\\uC5C8\\uC2B5\\uB2C8\\uB2E4.\")\n      }));\n      handleLike(id);\n      if (updatedLikes[id]) {\n        if (!myFavoriteList.find(function (item) {\n          return item.collectionId === id;\n        })) {\n          var item = list.find(function (item) {\n            return item.collectionId === id;\n          });\n          console.log(item + \"hihihih\");\n          var postData = {\n            \"artistId\": item.artistId,\n            \"collectionId\": item.collectionId,\n            \"artistName\": item.artistName,\n            \"artistViewUrl\": item.artistViewUrl,\n            \"collectionViewUrl\": item.collectionViewUrl,\n            \"collectionName\": item.collectionName\n          };\n          console.log(postData);\n          fetch('/likes', {\n            method: 'POST',\n            headers: {\n              'Content-Type': 'application/json'\n            },\n            body: JSON.stringify(postData)\n          }).then(function (response) {\n            return response.json();\n          }).then(function (data) {\n            console.log(data);\n            addToFavoriteList(list.find(function (item) {\n              return item.collectionId === id;\n            }));\n          })[\"catch\"](function (error) {\n            return console.log('음악 좋아요 시 에러 발생');\n          });\n        }\n      } else {\n        var updatedFavoriteList = myFavoriteList.filter(function (item) {\n          return item.collectionId !== id;\n        });\n        fetch(\"/likes/\".concat(id), {\n          method: 'DELETE'\n        }).then(function (data) {\n          console.log(data);\n          DelteandsetFavoriteList(updatedFavoriteList);\n          console.log('여기 실행 됨');\n        })[\"catch\"](function (error) {\n          return console.log('음악 좋아요 취소 시 에러 발생' + error);\n        });\n      }\n    };\n  };\n  var handleSnackbarClose = function handleSnackbarClose(event, reason) {\n    if (reason === 'clickaway') {\n      return;\n    }\n    setSnackState({\n      open: false,\n      msg: ''\n    });\n  };\n  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(\"div\", null, list.map(function (item) {\n    return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_material__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n      sx: styles.card,\n      key: item.collectionId\n    }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_material__WEBPACK_IMPORTED_MODULE_3__[\"default\"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_material__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n      variant: \"subtitle1\"\n    }, \" \", item.artistName), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_material__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n      variant: \"subtitle2\"\n    }, item.collectionCensoredName)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_material__WEBPACK_IMPORTED_MODULE_5__[\"default\"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_material__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n      onClick: toggleFavorite(item.collectionId, item.collectionName)\n    }, likes[item.collectionId] === true ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_icons_material__WEBPACK_IMPORTED_MODULE_7__[\"default\"], null) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_mui_icons_material__WEBPACK_IMPORTED_MODULE_8__[\"default\"], null))));\n  }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_snackbar__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n    open: snackState.open,\n    message: snackState.msg,\n    onClose: handleSnackbarClose\n  }));\n}\n\n//# sourceURL=webpack://muibasic_starterkit/./src/MusicList.js?");
   
   /***/ }),
   
@@ -2933,7 +2933,7 @@
   /******/ 	
   /******/ 	/* webpack/runtime/getFullHash */
   /******/ 	(() => {
-  /******/ 		__webpack_require__.h = () => ("171b9b6b2d48ebea66f2")
+  /******/ 		__webpack_require__.h = () => ("7f8505201ff14a5d2af0")
   /******/ 	})();
   /******/ 	
   /******/ 	/* webpack/runtime/global */
diff --git a/target/test-classes/kr/ajousw/myspringweb/MyspringwebApplicationTests.class b/target/test-classes/kr/ajousw/myspringweb/MyspringwebApplicationTests.class
index a3d1f9ddcdf2f2901666dc093328faaf96894e79..10ee240be28d17826ec611642c650ef569b01bda 100644
GIT binary patch
delta 130
zcmdnQvWbQF)W2Q(7#J9A8AR9_m?qkoFtanTOcYlVWMp7*&QD3@Vqj+A<Y8cCVB1(O
z#i-24z{~&wObiSlF$P8kb_NCpeFjDbMv#csb_R~gTNrhC`571(*cccY1Q-|?*e5?^
WG!SKC5M*FrU}6wrfXN9nFaQ7#d=CKt

delta 130
zcmdnQvWZ3f)W2Q(7#J9A8AP}km>8JZ8CZB2SQ*$Rx+pQTGjL4gHDPCDU~$e*N!?g3
z#i-2Az{CIoAd;1Vje(JYlYxOjpMjBqk%57MRcku~<K!)jI*go?-!d8~@-r}i)d(;!
RFfcI)f=M9;n5ZxV0{{l>4-5bR

-- 
GitLab