diff --git a/src/forge/SecuritySetting/Index.jsx b/src/forge/SecuritySetting/Index.jsx index cdabd86d3..82e2155c0 100644 --- a/src/forge/SecuritySetting/Index.jsx +++ b/src/forge/SecuritySetting/Index.jsx @@ -70,6 +70,10 @@ const Mysite = Loadable({ loader: () => import("./website/mySiteList"), loading: Loading, }); +const CreateSite = Loadable({ + loader: () => import("./website/createSite"), + loading: Loading, +}); function Index(props){ const { current_user,mygetHelmetapi , checkIfLogin } = props; @@ -78,7 +82,6 @@ function Index(props){ const [ avatarVisible , setAvatarVisible ] = useState(false); const [active, setActive] = useState(1); - console.log('active', active); useEffect(()=>{ if(checkIfLogin() === false){ @@ -87,7 +90,7 @@ function Index(props){ },[]) useEffect(()=>{ - console.log('pathname', pathname, ["/settings/profile"].indexOf(pathname)); + const pattern = /^\/settings\/installbot\/\d+$/; if(["/settings/profile"].indexOf(pathname) !== -1){ setActive(1); }else if(["/settings/emails", "/settings/phone", "/settings/password", "/settings/cancel"].indexOf(pathname) !== -1){ @@ -100,11 +103,11 @@ function Index(props){ setActive(5); }else if(["/settings/CLA"].indexOf(pathname) !== -1){ setActive(6); - }else if(["/settings/mybot"].indexOf(pathname) !== -1){ + }else if(["/settings/mybot", "/settings/mybot/new"].indexOf(pathname) !== -1){ setActive(7); - }else if(["/settings/installbot"].indexOf(pathname) !== -1){ + }else if(["/settings/installbot"].indexOf(pathname) !== -1 || pattern.test(pathname)){ setActive(8); - }else if(["/settings/mysite"].indexOf(pathname) !== -1){ + }else if(["/settings/mysite", "/settings/mysite/create"].indexOf(pathname) !== -1){ setActive(9); } }, [pathname]) @@ -262,6 +265,13 @@ function Index(props){ )} > + {/* 创建站点 */} + ( + + )} + > {/* 个人建站 */} { + document.title = "创建站点"; + }, []); + + useEffect(()=>{ + axios.get(`/site_pages/themes.json`, {params: {language_frame: language === 1 ? "jekyll" : language === 2 ? "hexo" : "hugo"}}).then(res=>{ + if(res && res.status === 200){ + setThemes(res.data.themes); + setTheme(res.data.themes[0]) + } + }) + }, [language]) + + useEffect(()=>{ + if(theme && theme.clone_url && theme && theme.clone_url.indexOf("/") > -1){ + let arr = theme && theme.clone_url.split("/"); + let first = arr[arr.length-1]; + if(first.indexOf(".") > -1){ + let second = first.split('.')[0]; + if(!second)return; + setFieldsValue({ + repository_name:second, + name:second + }) + }else{ + setFieldsValue({ + repository_name:first + }) + } + } + }, [theme]) + + function submit(e) { + e.preventDefault(); + validateFieldsAndScroll((err, values) => { + if (!err) { + axios.post(`/projects/page_migrate.json`,{ + ...values, + clone_addr: theme && theme.clone_url, + theme: theme && theme.name, + user_id: current_user.user_id + }).then(res=>{ + if(res && res.status === 200){ + message.success("新建成功"); + history.push(`/settings/mysite`); + } + }) + } + }); + } + + return ( + +
我的站点 / 新建站点
+
+ + {getFieldDecorator("site_name", { + rules: [{ required: true, message: "请输入站点名称" }], + })()} + + + {getFieldDecorator("identifier", { + rules: [{ required: true, message: "请输入站点标识" }], + })( + { + setTag(e.target.value); + }} + placeholder="请输入站点标识" + /> + )} + + http://{current_user.login}.kingchan.cn/{tag} + + + + {getFieldDecorator("language_frame", {initialValue: 0})( + + )} + + + + {themes && themes.map(item=>{ + const {imgage_url, name, clone_url} = item; + return
{setTheme(item)}}> + + +

{name}

+
+ })} +
+
+ + + + + {/* / */} + + {getFieldDecorator("name", { + rules: [{ required: true, message: "请输入项目名称" }], + })( + + )} + + + + {getFieldDecorator("repository_name", { + rules: [{ required: true, message: "请输入项目标识" }], + })( + + )} + + + {getFieldDecorator("description", {})( +