Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
76 commits
Select commit Hold shift + click to select a range
e5c770d
create ActionButton component
germanurrus Jun 17, 2022
c1d1b66
create components
germanurrus Jun 17, 2022
5e876a5
add new tab
germanurrus Jun 17, 2022
5ec001a
use mocked data
germanurrus Jun 17, 2022
703199e
add component
germanurrus Jun 17, 2022
1439d1e
add responsibe spacing
germanurrus Jun 17, 2022
b309dbb
Merge branch 'main' into cas-117
germanurrus Jun 17, 2022
edada72
add hover to strategy selector
germanurrus Jun 17, 2022
9ab2654
add input component
germanurrus Jun 17, 2022
8fe559b
create input component
germanurrus Jun 17, 2022
0644248
update component
germanurrus Jun 17, 2022
4472c01
updates
germanurrus Jun 17, 2022
1a46905
extract state
germanurrus Jun 17, 2022
47a9c5c
fix addbutton
germanurrus Jun 17, 2022
b1038fa
updates
germanurrus Jun 17, 2022
caea941
set state to null
germanurrus Jun 17, 2022
cfcf000
remove loader
germanurrus Jun 18, 2022
bb47fb1
update for one-address-one-vote
germanurrus Jun 18, 2022
64c1287
remove output
germanurrus Jun 18, 2022
7b9c3dd
change name
germanurrus Jun 18, 2022
0de640e
assign null
germanurrus Jun 18, 2022
80806b1
add enableDelete
germanurrus Jun 18, 2022
159c7fa
Merge branch 'cas-120' into cas-117
germanurrus Jun 18, 2022
b114ff4
Merge branch 'main' into cas-117
germanurrus Jun 18, 2022
56af811
hook function to save data to backend
germanurrus Jun 21, 2022
d8c87d4
remove wait
germanurrus Jun 21, 2022
82fea89
Merge branch 'cas-117' into cas-132
germanurrus Jun 21, 2022
9a157bc
extract Strategy Selector
germanurrus Jun 21, 2022
30faea7
add new step
germanurrus Jun 21, 2022
3dc92a2
extract Strategy Selector
germanurrus Jun 21, 2022
0b94a23
update name of component
germanurrus Jun 21, 2022
2250f3f
Merge branch 'cas-117' into cas-132
germanurrus Jun 21, 2022
9f7d569
update step four
germanurrus Jun 21, 2022
e4feb62
remove strategy
germanurrus Jun 21, 2022
31f1b4e
add validation to step four
germanurrus Jun 21, 2022
ffa75ac
Merge branch 'main' into cas-117
germanurrus Jun 22, 2022
00c36a8
eslint updates
germanurrus Jun 22, 2022
ae67d9a
eslint fixes
germanurrus Jun 22, 2022
6e30b7e
eslint fixes
germanurrus Jun 22, 2022
6514986
update text
germanurrus Jun 22, 2022
c478a11
update saving data
germanurrus Jun 22, 2022
de5b22b
update updating strategies
germanurrus Jun 23, 2022
c78f504
remove moked data
germanurrus Jun 23, 2022
e29515a
updates to match backend changes
germanurrus Jun 23, 2022
67b90fe
remove useEffect
germanurrus Jun 23, 2022
0cd51f6
typo
germanurrus Jun 23, 2022
64ea7f9
Merge branch 'cas-117' into cas-132
germanurrus Jun 23, 2022
55e337f
fix reloading strategies
germanurrus Jun 23, 2022
e892b9e
use name from strategy
germanurrus Jun 24, 2022
0e179d9
change name
germanurrus Jun 24, 2022
db7b170
Merge branch 'cas-117' into cas-132
germanurrus Jun 24, 2022
fbdb205
fix style and eslint
germanurrus Jun 24, 2022
16fb9e0
Merge branch 'main' into cas-117
germanurrus Jun 24, 2022
f525a20
Merge branch 'cas-117' into cas-132
germanurrus Jun 24, 2022
c743f3a
update add strategy button
germanurrus Jun 26, 2022
0bfaa72
fix dep
germanurrus Jun 26, 2022
0d27df2
update onStrategySelection callback call
germanurrus Jun 27, 2022
d28e9ab
Merge branch 'main' into cas-117
germanurrus Jun 28, 2022
c37e184
Merge branch 'cas-117' into cas-132
germanurrus Jun 28, 2022
020a157
Merge branch 'main' into cas-117
germanurrus Jun 29, 2022
ec9d9e3
add config for strategies
germanurrus Jun 29, 2022
40a9368
update payload
germanurrus Jun 29, 2022
6acbb9b
update mapping function
germanurrus Jun 29, 2022
14e0929
remove output
germanurrus Jun 29, 2022
38b8d6b
export and import helper function
germanurrus Jun 29, 2022
f68e726
Merge branch 'main' into cas-132
germanurrus Jun 29, 2022
aea0c1d
Merge branch 'cas-117' into cas-132
germanurrus Jun 29, 2022
42cb55b
update data
germanurrus Jun 29, 2022
a749860
Merge branch 'main' into cas-132
germanurrus Jun 30, 2022
d2be9f4
remove map func
germanurrus Jun 30, 2022
6e7dbc9
revert change removing wrapper
germanurrus Jun 30, 2022
6e5ede9
extract validation
germanurrus Jun 30, 2022
a05e969
Merge branch 'main' into cas-132
germanurrus Jun 30, 2022
b1380fd
remove useEffect
germanurrus Jun 30, 2022
c40fab3
update if clause
germanurrus Jun 30, 2022
110f465
remove dep
germanurrus Jul 1, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,23 +1,29 @@
import React, { useEffect, useState } from 'react';
import { useVotingStrategies } from 'hooks';
import isEqual from 'lodash/isEqual';
import { AddButton } from 'components';
import { useModalContext } from 'contexts/NotificationModal';
import StrategyEditorModal from './StrategyEditorModal';
import StrategySelectorInput from './StrategySelectorInput';
import StrategySelectorInput from 'components/Community/StrategySelectorInput';
import { useVotingStrategies } from 'hooks';
import { kebabToString } from 'utils';

export default function StrategySelectorForm({
existingStrategies = [],
disableAddButton = false,
// this fc returns a component(Button) to render
callToAction = () => {},
// callback to return strategies selected
onStrategySelection,
} = {}) {
// holds array of objects with strategy information
const [strategies, setStrategies] = useState(existingStrategies);

// reloads lists if update is done
// only notify parent component if callback was passed
useEffect(() => {
setStrategies(existingStrategies);
}, [existingStrategies]);
if (onStrategySelection && !isEqual(strategies, existingStrategies)) {
onStrategySelection(strategies);
}
}, [strategies, onStrategySelection, existingStrategies]);

const { data: allVotingStrategies, loading: loadingAllStrategies } =
useVotingStrategies();
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
import React, { useEffect } from 'react';
import StrategySelectorForm from 'components/Community/StrategySelectorForm';
import ActionButton from 'components/ActionButton';

export default function StepFour({
stepData,
setStepValid,
onDataChange,
onSubmit,
isStepValid,
} = {}) {
const { strategies } = stepData || {};

useEffect(() => {
if (strategies?.length > 0) {
setStepValid(true);
} else {
setStepValid(false);
}
}, [strategies, setStepValid]);

const onStrategySelection = (strategies) => {
onDataChange({ strategies });
};

return (
<StrategySelectorForm
existingStrategies={strategies}
onStrategySelection={onStrategySelection}
callToAction={() => {
return (
<ActionButton
label="CREATE COMMUNITY"
enabled={isStepValid}
onClick={isStepValid ? () => onSubmit() : () => {}}
classNames="mt-5"
/>
);
}}
/>
);
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ export default function StepThree({
stepData,
setStepValid,
onDataChange,
onSubmit,
isStepValid,
moveToNextStep,
}) {
const {
proposalThreshold = '',
Expand Down Expand Up @@ -94,7 +94,7 @@ export default function StepThree({
}
/>

<label className="checkbox column is-flex is-align-items-center is-full is-full-mobile px-0 mt-4">
<label className="checkbox column is-flex is-align-items-center is-full is-full-mobile px-0 mt-4 mb-4">
<input
type="checkbox"
className="mr-2 form-checkbox"
Expand All @@ -110,16 +110,18 @@ export default function StepThree({
</p>
</label>
</WrapperResponsive>
<div className="column p-0 is-12 mt-4">
<button
style={{ height: 48, width: '100%' }}
className={`button vote-button transition-all is-flex has-background-yellow rounded-sm is-enabled is-size-6 ${
!isStepValid ? 'is-disabled' : ''
}`}
onClick={isStepValid ? () => onSubmit() : () => {}}
>
CREATE COMMUNITY
</button>
<div className="columns mb-5">
<div className="column is-12">
<button
style={{ height: 48, width: '100%' }}
className={`button vote-button transition-all is-flex has-background-yellow rounded-sm is-size-6 is-uppercase is-${
isStepValid ? 'enabled' : 'disabled'
}`}
onClick={isStepValid ? () => moveToNextStep() : () => {}}
>
Next: VOTING STRATEGIES
</button>
</div>
</div>
</>
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,4 @@ export { default as StartSteps } from './StartSteps';
export { default as StepOne } from './StepOne';
export { default as StepTwo } from './StepTwo';
export { default as StepThree } from './StepThree';
export { default as StepFour } from './StepFour';
2 changes: 2 additions & 0 deletions frontend/packages/client/src/hooks/useCommunity.js
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,7 @@ export default function useCommunity() {
contractName,
storagePath,
onlyAuthorsToSubmitProposals,
strategies,
} = communityData;

let communityLogo;
Expand Down Expand Up @@ -117,6 +118,7 @@ export default function useCommunity() {
contractAddress,
contractName,
storagePath,
strategies,
onlyAuthorsToSubmit: Boolean(onlyAuthorsToSubmitProposals),
timestamp,
compositeSignatures,
Expand Down
16 changes: 8 additions & 8 deletions frontend/packages/client/src/pages/CommunityCreate.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import {
StepOne,
StepTwo,
StepThree,
StepFour,
} from 'components/CommunityCreate';
import useCommunity from 'hooks/useCommunity';
import { generateSlug } from 'utils';
Expand Down Expand Up @@ -93,21 +94,20 @@ export default function CommunityCreate() {
steps: [
{
label: 'Community Profile',
description:
'Some description of what you can write here that is useful.',
component: <StepOne />,
},
{
label: 'Community Details',
description:
'Some description of what you can write here that is useful.',
component: <StepTwo stepData={{ test: 'ok' }} />,
component: <StepTwo />,
},
{
label: 'Proposal & Voting',
description:
'Some description of what you can write here that is useful.',
component: <StepThree stepData={{ test: 'ok' }} />,
Comment on lines -96 to -110
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

unrelated changes but this is not being used

description: '',
component: <StepThree />,
},
{
label: 'Voting Strategies',
component: <StepFour />,
},
],
};
Expand Down