diff --git a/apps/builddao/widget/components/modals/CreateProject.jsx b/apps/builddao/widget/components/modals/CreateProject.jsx index 02df442d..2583d52a 100644 --- a/apps/builddao/widget/components/modals/CreateProject.jsx +++ b/apps/builddao/widget/components/modals/CreateProject.jsx @@ -45,10 +45,12 @@ const toggle = props.toggle; const tabs = [ { id: "overview", label: "Overview", disabled: true, checked: true }, - { id: "discussion", label: "Discussion", checked: false }, - { id: "tasks", label: "Tasks", checked: false }, - { id: "code", label: "Code", checked: false }, - { id: "roadmap", label: "Roadmap", checked: false }, + { id: "activity", label: "Activity", checked: true }, + { id: "tasks", label: "Tasks", checked: true }, + // Uncomment after the support is added + // { id: "discussion", label: "Discussion", checked: false }, + // { id: "code", label: "Code", checked: false }, + // { id: "roadmap", label: "Roadmap", checked: false }, ]; const app = props.app ?? "${config_account}"; diff --git a/apps/builddao/widget/components/project/page/Activity.jsx b/apps/builddao/widget/components/project/page/Activity.jsx new file mode 100644 index 00000000..467690a8 --- /dev/null +++ b/apps/builddao/widget/components/project/page/Activity.jsx @@ -0,0 +1,69 @@ +const { Feed } = VM.require("${alias_devs}/widget/Feed") ?? { + Feed: () => <>, +}; +const { Post } = VM.require("${config_account}/widget/components") || { + Post: () => <>, +}; +const { getProjectMeta } = VM.require( + "${config_account}/widget/lib.project-data", +) || { + getProjectMeta: () => {}, +}; + +const { id } = props; + +const project = getProjectMeta(id); +const { projectAccountId } = project; + +return ( +
+
+ } + src="${config_account}/widget/Compose" + props={{ + draftKey: id + "_discussions", + }} + /> + ( + + )} + /> + +); diff --git a/apps/builddao/widget/page/feed.jsx b/apps/builddao/widget/page/feed.jsx index e367260d..78488df2 100644 --- a/apps/builddao/widget/page/feed.jsx +++ b/apps/builddao/widget/page/feed.jsx @@ -148,6 +148,7 @@ const config = { path: "${config_account}/widget/Feed", blockHeight: "final", init: { + feedName: "Request", name: "Request", icon: "bi-file-earmark-text", requiredHashtags: ["build", "request"], @@ -177,9 +178,11 @@ const config = { path: "${config_account}/widget/Proposals", blockHeight: "final", init: { + feedName: "Proposals", name: "Proposals", icon: "bi-file-earmark-text", daoId: "build.sputnik-dao.near", + template: "", }, }, }, diff --git a/apps/builddao/widget/page/project.jsx b/apps/builddao/widget/page/project.jsx index 6390ed94..1ad66ed6 100644 --- a/apps/builddao/widget/page/project.jsx +++ b/apps/builddao/widget/page/project.jsx @@ -8,54 +8,20 @@ const { ProjectLayout } = VM.require( ProjectLayout: () => <>, }; -const { id } = props; -const extractNearAddress = (id) => { - const parts = id.split("/"); - if (parts.length > 0) { - return parts[0]; - } - return ""; +const { SidebarLayout } = VM.require( + "${config_account}/widget/template.SidebarLayout", +) || { + SidebarLayout: () => <>, }; -const accountId = extractNearAddress(id); + +const { id } = props; const data = JSON.parse(Social.get(id, "final") ?? {}); if (!id || !data) { return "Loading..."; } -const project = JSON.parse(data); - -const projectSelectedRoutes = routes; - -// remove unselected tabs -if (Array.isArray(project?.tabs)) { - Object.keys(projectSelectedRoutes).forEach((key) => { - if (!project.tabs.includes(key)) { - delete projectSelectedRoutes[key]; - } - }); -} - -const profileData = { - name: data.title, - description: data.description, - linktree: { - github: data.github, - telegram: data.telegram, - twitter: data.twitter, - website: data.website, - }, - backgroundImage: data.backgroundImage?.image, - image: data.profileImage?.image, -}; - -const { SidebarLayout } = VM.require( - "${config_account}/widget/template.SidebarLayout", -) || { - SidebarLayout: () => <>, -}; - -const profile = Social.getr(`${accountId}/profile`); +const profile = Social.getr(`${data.projectAccountId}/profile`); const config = { theme: {}, @@ -71,7 +37,7 @@ const config = { <> { + if (!data.tabs.includes(key)) { + delete config.router.routes[key]; + } + }); +} + +const profileData = { + name: data.title, + description: data.description, + linktree: { + github: data.github, + telegram: data.telegram, + twitter: data.twitter, + website: data.website, + }, + backgroundImage: data.backgroundImage?.image, + image: data.profileImage?.image, +}; + const Root = styled.div` display: flex; gap: 24px;