You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
395 lines
19 KiB
395 lines
19 KiB
"use strict";
|
|
(self["webpackChunk"] = self["webpackChunk"] || []).push([[4736],{
|
|
|
|
/***/ 87526:
|
|
/*!*****************************************!*\
|
|
!*** ./src/components/NoData/index.tsx ***!
|
|
\*****************************************/
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ 59301);
|
|
/* harmony import */ var _assets_images_icons_nodata_png__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/assets/images/icons/nodata.png */ 93314);
|
|
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! antd */ 3113);
|
|
var __defProp = Object.defineProperty;
|
|
var __defProps = Object.defineProperties;
|
|
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
var __spreadValues = (a, b) => {
|
|
for (var prop in b || (b = {}))
|
|
if (__hasOwnProp.call(b, prop))
|
|
__defNormalProp(a, prop, b[prop]);
|
|
if (__getOwnPropSymbols)
|
|
for (var prop of __getOwnPropSymbols(b)) {
|
|
if (__propIsEnum.call(b, prop))
|
|
__defNormalProp(a, prop, b[prop]);
|
|
}
|
|
return a;
|
|
};
|
|
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
|
|
|
|
|
|
const noData = ({
|
|
img,
|
|
buttonProps = {},
|
|
styles = {},
|
|
customText,
|
|
ButtonText,
|
|
ButtonClick,
|
|
Buttonclass,
|
|
ButtonTwo,
|
|
imgStyles,
|
|
loading = false
|
|
}) => {
|
|
return /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(
|
|
"section",
|
|
{
|
|
className: "tc animated fadeIn",
|
|
style: __spreadValues(__spreadValues({}, { color: "#999", margin: "100px auto", visibility: loading ? "hidden" : "visible" }), styles)
|
|
},
|
|
/* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement("img", { src: img || _assets_images_icons_nodata_png__WEBPACK_IMPORTED_MODULE_1__, style: __spreadProps(__spreadValues({}, imgStyles), { pointerEvents: "none", userSelect: "none" }) }),
|
|
/* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement("p", { className: "mt20 font14" }, customText || "\u6682\u65F6\u8FD8\u6CA1\u6709\u76F8\u5173\u6570\u636E\u54E6!"),
|
|
ButtonText && /* @__PURE__ */ react__WEBPACK_IMPORTED_MODULE_0__.createElement(antd__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .ZP, __spreadValues({ className: Buttonclass, onClick: ButtonClick }, buttonProps), ButtonText),
|
|
ButtonTwo && ButtonTwo
|
|
);
|
|
};
|
|
/* harmony default export */ __webpack_exports__.Z = (noData);
|
|
|
|
|
|
/***/ }),
|
|
|
|
/***/ 1210:
|
|
/*!**************************************************************!*\
|
|
!*** ./src/pages/User/Detail/Projects/index.tsx + 4 modules ***!
|
|
\**************************************************************/
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
// ESM COMPAT FLAG
|
|
__webpack_require__.r(__webpack_exports__);
|
|
|
|
// EXPORTS
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
"default": function() { return /* binding */ Detail_Projects; }
|
|
});
|
|
|
|
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/index.js
|
|
var _react_17_0_2_react = __webpack_require__(59301);
|
|
// EXTERNAL MODULE: ./src/.umi-production/exports.ts + 15 modules
|
|
var _umi_production_exports = __webpack_require__(67866);
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/skeleton/index.js + 12 modules
|
|
var skeleton = __webpack_require__(56511);
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/pagination/index.js + 10 modules
|
|
var pagination = __webpack_require__(53864);
|
|
;// CONCATENATED MODULE: ./src/pages/User/Detail/Projects/index.less?modules
|
|
// extracted by mini-css-extract-plugin
|
|
/* harmony default export */ var Projectsmodules = ({"flex_box_center":"flex_box_center___HqRYP","flex_space_between":"flex_space_between___alxKc","flex_box_vertical_center":"flex_box_vertical_center___eubvI","flex_box_center_end":"flex_box_center_end___eeetl","flex_box_column":"flex_box_column___f71Fr","wrap":"wrap___tNiRV","midWrap":"midWrap___QY9Zc","color999":"color999___gBtmk","orderWrap":"orderWrap___YTDu4","orderIconWrap":"orderIconWrap___moZO6","orderAsc":"orderAsc___Ukdgv","orderDesc":"orderDesc___EzbFO","color0152d9":"color0152d9___tmbR2","h10":"h10____qGYL","cursorPointer":"cursorPointer____ipRI","orderTextWrap":"orderTextWrap___XdMo2","cardWrap":"cardWrap___HHTqe","countWrap":"countWrap___zGG_l"});
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/card/index.js + 4 modules
|
|
var card = __webpack_require__(18889);
|
|
;// CONCATENATED MODULE: ./src/pages/User/Detail/Projects/components/Items/index.less?modules
|
|
// extracted by mini-css-extract-plugin
|
|
/* harmony default export */ var Itemsmodules = ({"flex_box_center":"flex_box_center___JwugP","flex_space_between":"flex_space_between___Noq8b","flex_box_vertical_center":"flex_box_vertical_center___HCspq","flex_box_center_end":"flex_box_center_end___SVOIs","flex_box_column":"flex_box_column___mhoeu","wrap":"wrap____klhy","lockWrap":"lockWrap___onzlV","lockIcon":"lockIcon___nMIxN","topWrap":"topWrap___cwznr","bottomWrap":"bottomWrap___q9x5h","bottom":"bottom___mzMmr","bottomIconSpan":"bottomIconSpan___iUkhS","public":"public___Eb0Z9","borderFF6800":"borderFF6800____0Dfx","publicIcon":"publicIcon___r8mDR","publicText":"publicText___BuBKE","lockText":"lockText___xpO23","createIconWrap":"createIconWrap___a7ovS","createIcon":"createIcon___eai3X","leftIcon":"leftIcon___coXUA","rightIcon":"rightIcon___oJVkv","createTextWrap":"createTextWrap___Ddqkm","createText":"createText___Lri5K","title":"title___wDXDf","img":"img___MTAfi","teacherName":"teacherName___yP9fk","school":"school___GvxFu","color989898":"color989898___i5Xca","teacherUsers":"teacherUsers___rO2tG","sign":"sign___Ow0aN"});
|
|
// EXTERNAL MODULE: ./src/utils/verifyLogin.tsx + 2 modules
|
|
var verifyLogin = __webpack_require__(81261);
|
|
;// CONCATENATED MODULE: ./src/pages/User/Detail/Projects/components/Items/CreateCard.tsx
|
|
|
|
|
|
|
|
|
|
|
|
const CreateCard = ({ url, name, dispatch }) => {
|
|
return /* @__PURE__ */ _react_17_0_2_react.createElement("a", { href: url, className: Itemsmodules.wrap, onClick: () => {
|
|
if (!(0,verifyLogin/* handleVerify */.tJ)(dispatch)) {
|
|
return;
|
|
}
|
|
_umi_production_exports.history.push(url);
|
|
} }, /* @__PURE__ */ _react_17_0_2_react.createElement(card/* default */.Z, { className: "animated fadeIn" }, /* @__PURE__ */ _react_17_0_2_react.createElement("div", null, /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: Itemsmodules.createIconWrap }, /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: Itemsmodules.createIcon }, /* @__PURE__ */ _react_17_0_2_react.createElement("i", { className: "iconfont icon-xiangmu2" }))), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: Itemsmodules.createTextWrap }, name))));
|
|
};
|
|
/* harmony default export */ var Items_CreateCard = (CreateCard);
|
|
|
|
// EXTERNAL MODULE: ./src/components/NoData/index.tsx
|
|
var NoData = __webpack_require__(87526);
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/tooltip/index.js + 3 modules
|
|
var tooltip = __webpack_require__(6848);
|
|
// EXTERNAL MODULE: ./src/utils/env.ts + 1 modules
|
|
var env = __webpack_require__(21873);
|
|
;// CONCATENATED MODULE: ./src/pages/User/Detail/Projects/components/Items/index.tsx
|
|
|
|
|
|
|
|
|
|
const Items = ({ data, old_url }) => {
|
|
return /* @__PURE__ */ _react_17_0_2_react.createElement(_react_17_0_2_react.Fragment, null, data && data.map((item, key) => {
|
|
var _a, _b, _c;
|
|
return /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
"a",
|
|
{
|
|
className: Itemsmodules.wrap,
|
|
key: item.id,
|
|
href: `${old_url}${item.project_url}`,
|
|
onClick: () => {
|
|
item.can_visited && (window.location.href = `${old_url}${item.project_url}`);
|
|
}
|
|
},
|
|
/* @__PURE__ */ _react_17_0_2_react.createElement(card/* default */.Z, { className: `animated fadeIn ${Itemsmodules.cardWrap}` }, item.is_public && /* @__PURE__ */ _react_17_0_2_react.createElement("span", { className: Itemsmodules.sign }, "\u516C\u5F00"), !item.can_visited && /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: Itemsmodules.lockWrap }, /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: "mt80 mb25" }, /* @__PURE__ */ _react_17_0_2_react.createElement("i", { className: `iconfont icon-guansuo ${Itemsmodules.lockIcon}` })), /* @__PURE__ */ _react_17_0_2_react.createElement("p", { className: Itemsmodules.lockText }, "\u975E\u6210\u5458\u4E0D\u80FD\u8BBF\u95EE")), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: Itemsmodules.topWrap }, /* @__PURE__ */ _react_17_0_2_react.createElement(tooltip/* default */.Z, { title: item.name }, /* @__PURE__ */ _react_17_0_2_react.createElement("p", { className: Itemsmodules.title }, item.name)), /* @__PURE__ */ _react_17_0_2_react.createElement("span", null, /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
"img",
|
|
{
|
|
className: Itemsmodules.img,
|
|
alt: "\u7528\u6237",
|
|
height: "50",
|
|
width: "50",
|
|
src: `${env/* default */.Z.IMG_SERVER}/images/${(_a = item.owner) == null ? void 0 : _a.avatar_url}`
|
|
}
|
|
)), /* @__PURE__ */ _react_17_0_2_react.createElement("p", { className: Itemsmodules.teacherName }, /* @__PURE__ */ _react_17_0_2_react.createElement("span", { title: (_b = item.owner) == null ? void 0 : _b.real_name }, (_c = item.owner) == null ? void 0 : _c.real_name)), /* @__PURE__ */ _react_17_0_2_react.createElement("p", { className: Itemsmodules.school }, /* @__PURE__ */ _react_17_0_2_react.createElement("span", { className: Itemsmodules.color989898 }, item == null ? void 0 : item.owner.school_name))), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: Itemsmodules.bottomWrap }, /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: Itemsmodules.bottom }, item.members_count > 0 && /* @__PURE__ */ _react_17_0_2_react.createElement(tooltip/* default */.Z, { placement: "bottom", title: "\u6210\u5458" }, /* @__PURE__ */ _react_17_0_2_react.createElement("span", { className: Itemsmodules.bottomIconSpan }, /* @__PURE__ */ _react_17_0_2_react.createElement("i", { className: "iconfont icon-chengyuan font12" }), item.members_count)), item.issues_count > 0 && /* @__PURE__ */ _react_17_0_2_react.createElement(tooltip/* default */.Z, { placement: "bottom", title: "issues\u6570" }, /* @__PURE__ */ _react_17_0_2_react.createElement("span", { className: Itemsmodules.bottomIconSpan }, /* @__PURE__ */ _react_17_0_2_react.createElement("i", { className: "iconfont icon-issue font12" }), item.issues_count)), item.changesets_count > 0 && /* @__PURE__ */ _react_17_0_2_react.createElement(tooltip/* default */.Z, { placement: "bottom", title: "\u7248\u672C\u5E93" }, /* @__PURE__ */ _react_17_0_2_react.createElement("span", { className: Itemsmodules.bottomIconSpan }, /* @__PURE__ */ _react_17_0_2_react.createElement("i", { className: "iconfont icon-banbenku font12" }), item.changesets_count)))))
|
|
);
|
|
}));
|
|
};
|
|
/* harmony default export */ var components_Items = (Items);
|
|
|
|
// EXTERNAL MODULE: ./src/components/ui-customization/index.tsx + 34 modules
|
|
var ui_customization = __webpack_require__(26324);
|
|
// EXTERNAL MODULE: ./src/utils/util.tsx
|
|
var util = __webpack_require__(13462);
|
|
;// CONCATENATED MODULE: ./src/pages/User/Detail/Projects/index.tsx
|
|
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
var __objRest = (source, exclude) => {
|
|
var target = {};
|
|
for (var prop in source)
|
|
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
target[prop] = source[prop];
|
|
if (source != null && __getOwnPropSymbols)
|
|
for (var prop of __getOwnPropSymbols(source)) {
|
|
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
|
|
target[prop] = source[prop];
|
|
}
|
|
return target;
|
|
};
|
|
var __async = (__this, __arguments, generator) => {
|
|
return new Promise((resolve, reject) => {
|
|
var fulfilled = (value) => {
|
|
try {
|
|
step(generator.next(value));
|
|
} catch (e) {
|
|
reject(e);
|
|
}
|
|
};
|
|
var rejected = (value) => {
|
|
try {
|
|
step(generator.throw(value));
|
|
} catch (e) {
|
|
reject(e);
|
|
}
|
|
};
|
|
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
|
|
step((generator = generator.apply(__this, __arguments)).next());
|
|
});
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const Projects = (_a) => {
|
|
var _b = _a, {
|
|
user,
|
|
userDetail,
|
|
globalSetting,
|
|
loading,
|
|
dispatch
|
|
} = _b, props = __objRest(_b, [
|
|
"user",
|
|
"userDetail",
|
|
"globalSetting",
|
|
"loading",
|
|
"dispatch"
|
|
]);
|
|
var _a2, _b2, _c;
|
|
const [searchParams] = (0,_umi_production_exports.useSearchParams)();
|
|
const location = (0,_umi_production_exports.useLocation)();
|
|
const [params, setParams] = (0,_react_17_0_2_react.useState)({});
|
|
const username = (0,_react_17_0_2_react.useRef)();
|
|
const [count, setCount] = (0,_react_17_0_2_react.useState)(0);
|
|
const [data, setData] = (0,_react_17_0_2_react.useState)([]);
|
|
const [isCurrent, setIsCurrent] = (0,_react_17_0_2_react.useState)();
|
|
(0,_react_17_0_2_react.useEffect)(() => {
|
|
var _a3;
|
|
username.current = (_a3 = location.pathname.split("/")) == null ? void 0 : _a3[2];
|
|
const query = {
|
|
category: searchParams.get("category") || "",
|
|
status: searchParams.get("status") || "",
|
|
page: 1,
|
|
per_page: 15,
|
|
sort_by: "updated_on",
|
|
sort_direction: "desc",
|
|
username: username.current
|
|
};
|
|
setParams(query);
|
|
getProjects(query);
|
|
}, [location.pathname]);
|
|
(0,_react_17_0_2_react.useEffect)(() => {
|
|
var _a3;
|
|
setIsCurrent(((_a3 = user.userInfo) == null ? void 0 : _a3.login) === username.current);
|
|
}, [(_a2 = user.userInfo) == null ? void 0 : _a2.login, username.current]);
|
|
const getProjects = (query) => __async(void 0, null, function* () {
|
|
const res = yield dispatch({
|
|
type: "userDetail/getProjects",
|
|
payload: query
|
|
});
|
|
if (res) {
|
|
setCount(res.count || 0);
|
|
setData(res.projects || []);
|
|
}
|
|
});
|
|
const handleChangeCategory = (category) => {
|
|
var _a3;
|
|
params.category = category;
|
|
params.status = "";
|
|
params.page = 1;
|
|
if ((_a3 = window.location.href.toString()) == null ? void 0 : _a3.includes("category")) {
|
|
(0,util/* replaceParamVal */.jz)("category", category);
|
|
(0,util/* replaceParamVal */.jz)("status", "");
|
|
} else {
|
|
window.history.replaceState(null, "", window.location.href.indexOf("?") > -1 ? window.location.href + `&category=${category}` : `?category=${category}`);
|
|
}
|
|
setParams(params);
|
|
getProjects(params);
|
|
};
|
|
const handleChangeStatus = (status) => {
|
|
var _a3;
|
|
params.status = status;
|
|
params.page = 1;
|
|
if ((_a3 = window.location.href.toString()) == null ? void 0 : _a3.includes("status")) {
|
|
(0,util/* replaceParamVal */.jz)("status", status);
|
|
} else {
|
|
window.history.replaceState(null, "", window.location.href.indexOf("?") > -1 ? window.location.href + `&status=${status}` : `?status=${status}`);
|
|
}
|
|
setParams(params);
|
|
getProjects(params);
|
|
};
|
|
const handleChangeOrder = (sort_direction) => {
|
|
params.sort_direction = sort_direction;
|
|
setParams(params);
|
|
getProjects(params);
|
|
};
|
|
const handleChangeOrderField = (sort_by) => {
|
|
params.sort_by = sort_by;
|
|
params.sort_direction = "desc";
|
|
setParams(params);
|
|
getProjects(params);
|
|
};
|
|
const handleChangePage = (page) => {
|
|
params.page = page;
|
|
setParams(params);
|
|
getProjects(params);
|
|
};
|
|
const renderCategoryText = () => {
|
|
if (!params.category) {
|
|
return "\u9879\u76EE";
|
|
}
|
|
if (params.category === "manage") {
|
|
return "\u53D1\u5E03";
|
|
}
|
|
return "\u5B66\u4E60";
|
|
};
|
|
const renderOrderText = () => {
|
|
if (params.sort_by === "updated_on") {
|
|
return "\u6700\u65B0\u52A8\u6001";
|
|
}
|
|
if (params.sort_by === "created_on") {
|
|
return "\u6700\u65B0\u521B\u5EFA";
|
|
}
|
|
return "";
|
|
};
|
|
const tabs = [
|
|
{ id: "", name: "\u5168\u90E8" },
|
|
{ id: "manage", name: `${isCurrent ? "\u6211" : "TA"}\u7BA1\u7406\u7684` },
|
|
{ id: "study", name: `${isCurrent ? "\u6211" : "TA"}\u5B66\u4E60\u7684` }
|
|
];
|
|
const tags = [
|
|
{ id: "", name: "\u5168\u90E8" },
|
|
{ id: "publicly", name: "\u516C\u5F00" },
|
|
{ id: "personal", name: "\u79C1\u6709" }
|
|
];
|
|
const dropItem = [
|
|
{
|
|
id: "updated_on",
|
|
name: "\u6700\u65B0\u52A8\u6001"
|
|
},
|
|
{
|
|
id: "created_on",
|
|
name: "\u6700\u65B0\u521B\u5EFA"
|
|
}
|
|
];
|
|
return /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: Projectsmodules.wrap }, /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
ui_customization/* CustomTabs */.YG,
|
|
{
|
|
value: params.category,
|
|
onChange: handleChangeCategory,
|
|
className: "mb25",
|
|
dataSource: tabs
|
|
}
|
|
), isCurrent && /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
ui_customization/* CustomTags */.qp,
|
|
{
|
|
title: "\u72B6\u6001",
|
|
value: params.status,
|
|
onChange: handleChangeStatus,
|
|
dataSource: tags,
|
|
titleWidth: 28
|
|
}
|
|
), /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
ui_customization/* SuperiorSort */.cq,
|
|
{
|
|
dataSource: dropItem,
|
|
sortValue: params.sort_direction,
|
|
dropValue: params.sort_by,
|
|
onSort: handleChangeOrder,
|
|
onDrop: handleChangeOrderField
|
|
}
|
|
), /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
skeleton/* default */.Z,
|
|
{
|
|
loading: loading["userDetail/getProjects"],
|
|
active: true,
|
|
paragraph: { rows: 5 }
|
|
},
|
|
/* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: Projectsmodules.cardWrap }, params.page === 1 && isCurrent && !params.category && /* @__PURE__ */ _react_17_0_2_react.createElement(Items_CreateCard, { url: `${(_b2 = globalSetting == null ? void 0 : globalSetting.setting) == null ? void 0 : _b2.old_url}/projects/deposit/new`, name: "\u65B0\u5EFA\u5F00\u53D1\u9879\u76EE", dispatch }), !data.length && params.category && /* @__PURE__ */ _react_17_0_2_react.createElement(NoData/* default */.Z, null), /* @__PURE__ */ _react_17_0_2_react.createElement(components_Items, { data, old_url: (_c = globalSetting == null ? void 0 : globalSetting.setting) == null ? void 0 : _c.old_url })),
|
|
count > 15 && /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: Projectsmodules.countWrap }, /* @__PURE__ */ _react_17_0_2_react.createElement(
|
|
pagination/* default */.Z,
|
|
{
|
|
showQuickJumper: true,
|
|
showSizeChanger: false,
|
|
total: count,
|
|
onChange: (page) => handleChangePage(page),
|
|
pageSize: 16,
|
|
current: params.page
|
|
}
|
|
))
|
|
));
|
|
};
|
|
/* harmony default export */ var Detail_Projects = ((0,_umi_production_exports.connect)(
|
|
({
|
|
user,
|
|
userDetail,
|
|
loading,
|
|
globalSetting
|
|
}) => ({
|
|
user,
|
|
userDetail,
|
|
globalSetting,
|
|
loading: loading.effects
|
|
})
|
|
)(Projects));
|
|
|
|
|
|
/***/ })
|
|
|
|
}]); |