Commit Graph

173 Commits

Author SHA1 Message Date
Will O'Beirne 708eaca511
Merge upstream changes. 2018-11-26 20:29:33 -05:00
Will O'Beirne 02b1260573
Merge in latest changes. 2018-11-26 20:14:00 -05:00
Will O'Beirne f9b4f65ac4
Merge develop in. 2018-11-26 18:47:24 -05:00
Will O'Beirne 5afdb2011d
Merge develop in. 2018-11-26 18:25:02 -05:00
Daniel Ternyak 00219e65c8
Only Runtime Contracts (#225) 2018-11-25 22:02:35 -06:00
AMStrix 7abeac7bd7 Sentry Integration (#221)
* BE sentry setup w/ user scope

* FE sentry integration + user scope

* FE env adjustments

* FE: use NODE_ENV for Sentry

* BE: use FLASK_ENV for Sentry

* BE: remove email, acct & ip from Sentry user scope

* comment .env.example SENTRY* for CI

* fix merge artifact
2018-11-21 23:45:29 -06:00
AMStrix 968974d8d7 E2E - Web3 interaction & more tests (#202)
* account switching & setting gas for e2e web3

* e2e web3 interaction + new specs

* refund after payout spec

* use send instead of sendAsync + update ganache script cmd

* sign intercept + deterministic accounts

* add authentication to creation tests

* adjust cy.request call

* refactor + WIP fiddle with xhr

* xhook to modify incoming api requests
2018-11-21 21:20:09 -06:00
AMStrix d367e6e474 Track proposal contributions (#219)
* BE proposal contribution tracking

* FE proposal contribution tracking

* validate contributions

* make sure we catch errors in the 'confirmation' listener

* remove console.log

* lowercase from address compare

* remove validate_contribution_tx from post_proposal_contribution
2018-11-21 21:18:22 -06:00
AMStrix a95a8ff080 Server-side API calling/preloading. (#224)
* make sure BACKEND_URL gets set for server in production mode

* ssr api calls by path

* turn off redux logger on server

* massage preloaded state (BNify JSONed BNs)

* make sure fetchProposal returns async/promise

* make sure render works on ssr (check window refs)

* linting issue
2018-11-21 21:17:49 -06:00
Daniel Ternyak f8910b1e09
Contract Build Improvements (#215) 2018-11-21 17:24:33 -06:00
Will O'Beirne a6902a464f
Clear comments on posting. Show error message on errors. 2018-11-20 11:38:01 -05:00
Will O'Beirne 117acc7a0a
Require logged in for create. 2018-11-20 11:02:57 -05:00
Will O'Beirne fcf13deea1
Fix tsc 2018-11-19 15:40:21 -05:00
Will O'Beirne c51b1e2dab
Finish up user and social media conversions. 2018-11-19 15:23:56 -05:00
Aaron e6cc99aa5c
fix reducer logic mistake 2018-11-16 22:24:41 -06:00
Aaron 866be8e62c
alert margin 2018-11-16 21:56:43 -06:00
Aaron 52f1f54442
avatar upload & download 2018-11-16 21:33:25 -06:00
Will O'Beirne d7e4c1c533
Check in user refactor. Incomplete, but computer is crashing routinely. 2018-11-16 18:05:17 -05:00
Will O'Beirne 89c1c3345d
Fix some zeroes, default fields. 2018-11-16 14:23:42 -05:00
Will O'Beirne 8eeee61498
Fix pending in review. 2018-11-16 14:19:13 -05:00
Will O'Beirne c1d7b88924
Dont show accepted invites. 2018-11-16 14:18:27 -05:00
Will O'Beirne df9ea60300
Invite tab on profile, allow accepting and rejecting invites. 2018-11-16 13:50:47 -05:00
Will O'Beirne ce3425ba0a
Add warnings to publish. Warn if outstanding invites. 2018-11-16 11:57:03 -05:00
Will O'Beirne a3cfbda3e2
Working invitations + deletions. 2018-11-16 11:16:52 -05:00
Will O'Beirne 8c96470826
Merge server-side-drafts in 2018-11-15 11:27:27 -05:00
Will O'Beirne 50cdf45882
Draft deleting. 2018-11-15 11:02:16 -05:00
AMStrix b177e7efa9 Backend Proposal Reads Pt. 2 (#209)
* web3 flask + read proposal

* tests

* use build/contracts indtead of build/abi

* fail if endpoint not set

* batched calls

* add web3 read to GET proposal(s) endpoints

* basic  integration of BE crowdFund data into FE

* handle dead contracts & omit on FE

* allow web3-free viewing & move crowdFundContract out of redux store

* upgrade flask-yolo2API to 0.2.6

* MetaMaskRequiredButton + use it in CampaignBlock

* convert to tuples

* farewell tuples

* flter dead proposals on BE

* give test_proposal_funded deadline more time
2018-11-14 17:24:56 -05:00
Will O'Beirne e11be1569d
Publish proposal 2018-11-14 17:03:50 -05:00
Will O'Beirne a7debd0bed
Fixup outstanding ts issues. 2018-11-14 16:21:41 -05:00
Will O'Beirne 8fc00d7d70
Remove team editing, always defaults to 1 member team of authd user. 2018-11-14 16:18:40 -05:00
Will O'Beirne 9c60af93d1
Stop filling in team for example. 2018-11-14 14:04:17 -05:00
Will O'Beirne 84daa1cba9
Rename a bunch of fields to their original values. Get draft saves working. 2018-11-14 12:59:48 -05:00
Will O'Beirne a6175e530c
Merge in develop 2018-11-14 12:03:40 -05:00
Will O'Beirne 8245795306
Temporary checkin, fuckup all of the types on the frontend. 2018-11-14 11:43:00 -05:00
Will O'Beirne 95c765834a
Setup draft list component, edit page from route. 2018-11-13 17:51:02 -05:00
Will O'Beirne 2c804a412a
Add frontend changes too 2018-11-13 11:07:37 -05:00
Will O'Beirne 829d072b8c
Check in work on proposals, drafts 2018-11-13 11:07:09 -05:00
Daniel Ternyak 56df655c05
Merge branch 'auth-endpoints' into working-comments 2018-11-13 15:24:25 +01:00
William O'Beirne a418f3d5b6 Authenticate endpoints (#193)
* Add auth to endpoints.
2018-11-13 15:17:06 +01:00
Daniel Ternyak 35ba78fadd
Merge branch 'develop' into auth-endpoints 2018-11-13 15:16:47 +01:00
Will O'Beirne 6000d015ff
UI for adding by address. 2018-11-09 14:54:04 -05:00
AMStrix 22487b331b Fix regressions from Readable URLs #190 (#200)
* admin adjustments for proposalId / proposalAddress

* ensure fetchProposal called with proposalId

* have ProposalCard display proposalAddress
2018-11-09 13:48:55 -05:00
Will O'Beirne c9d6e58e19
Hide reply actions if logged out. 2018-11-08 14:38:00 -05:00
Will O'Beirne 7ee7a53b3b
tsc 2018-11-08 14:16:42 -05:00
Will O'Beirne c4950b0b27
Remove unnecessary props, fix comment id. 2018-11-08 14:14:52 -05:00
Will O'Beirne 828bd1f636
Show correct avatar for comment author. 2018-11-08 13:52:36 -05:00
Will O'Beirne 7c023da066
Create and show replies to comments succesfully. 2018-11-08 13:42:19 -05:00
Will O'Beirne 1862b69169
Properly signing, creating, fetching comments. Fix incorrect types. Setup scaffolding for replies. 2018-11-08 13:29:29 -05:00
Will O'Beirne 5a1cf5ae2a
Add auth to endpoints. 2018-11-07 14:19:12 -05:00
William O'Beirne 250d5fb7a9
EIP-712 signatures for login & signup (#189)
* Signup requires valid EIP-712 signature. Refactor some auth reducer nomenclature for consistency.

* Add auth endpoint for logging in that checks for valid signature, like create user.

* Fix tests, move dummy data into test_data.py.

* No strict slashes.
2018-11-07 14:08:42 -05:00
AMStrix d8eba48847 Readable Proposal URLs (#190)
* proposal_id -> proposal_address & exposed proposal_id is prooposal.id

* FE proposalId to number + proposalUrlId generation and use
2018-11-07 12:33:19 -05:00
William O'Beirne 0670eaa054
Web3 Only Auth + MetaMask future proofing (#187)
* Setup ethereum.enable() flow, change login to only use web3.

* Fix sign in icon to be white again.
2018-11-06 13:42:45 -05:00
William O'Beirne 79773ea4da Prevent helmet crash (#178)
* Add key to helmet to prevent it from crashing.

* Undo key fix, comment out header details component.
2018-11-05 20:41:54 +01:00
AMStrix c3649d322b Frontend i18n Infrastructure (#174) 2018-11-04 19:26:34 +01:00
William O'Beirne 118d7b645e
Proposal updates (#171)
* Add models & endpoints

* Implement proposal updates.

* Reset state on close. Add missing key. Prompt on close if they will lose stuff.

* Dont warn if they submitted.
2018-11-02 12:24:28 -04:00
William O'Beirne cdc3ea0107
Email verification (#172)
* Add email_verification table and endpoints, setup email verification page, adjust emails to actually verify.

* Add User.create method
2018-11-02 12:07:06 -04:00
AMStrix f823488abb Misc bugs & cleanup (#173)
* fix Final.create getting called multiple times

* give moment the non-standard format string to parse with

* remove unused package & refs for nprogress

* remove unused file: theme.ts
2018-11-02 11:47:25 -04:00
William O'Beirne 8eeb9fc78a
New color palette & redesigned splash screen (#170)
* Use name and icon logos where possible. Add favicon and other general web meta info.

* Unused import

* Update icons and logos.

* Variablize all colors. Switch to purple primary.

* Redesign homepage. Slight color tweaks.

* Fix blue button
2018-10-31 17:05:35 -04:00
William O'Beirne b8e93994cb Require message signature on sign up / sign in (#165) 2018-10-31 00:18:26 +01:00
William O'Beirne 30a476a285
Logos, Icons, Manifest.json (#163)
* Use name and icon logos where possible. Add favicon and other general web meta info.

* Unused import

* Update icons and logos.
2018-10-30 13:58:05 -04:00
AMStrix 2d75150dff Profile edit (#160)
* cleanClone helper

* redux/store support for user update

* ProfileEdit and supporting UI

* ts fix

* fix spelling

* backend update user basics

* delete photo

* remove comments

* ignore leftover errors from previous update attempts

* fix ts unused arg

* make update user endpoint params optional

* connect ProfileUser for authUser & updateUser

* improve cleanClone function
2018-10-30 10:40:21 -04:00
AMStrix eae0e81ff0 Setup meta tags for social sharing and SEO (#156)
* PUBLIC_HOST_URL env variable

* default SEO stuff

* HeaderDetails component

* HeaderDetails usage in Home and Profile

* strict fix for urlToPublic
2018-10-22 12:16:15 -05:00
William O'Beirne 2895d1045a AddressInput component & Donation address (#157)
* Add donation address constant. Add AddressInput component. Replace using those 2 where needed.

* Fix invalid defaultValue logic
2018-10-22 02:51:29 -05:00
William O'Beirne f406cec255
Strict Typescript (pt. 1) (#150)
* Enable noImplicitThis, alwaysStrict, and strictFunctionTypes configs.

* Enable all strict rules. Implement typedKeys function for better typing. (#152)
2018-10-19 18:03:37 -04:00
AMStrix de32965012 thumb friendly proposal social buttons (#149) 2018-10-18 20:30:48 -05:00
AMStrix 45054ec573 Standard pages (#151)
* pages, routes &  links

* generic legal document style

* Tos component + dummy text

* Privacy component.

* Contact component.

* About component.
2018-10-18 20:59:49 -04:00
William O'Beirne 795117b44d Fix mobile styles on proposal detail page. (#148) 2018-10-16 15:18:12 -05:00
AMStrix b1099770f4 Use UserAvatar on Review (#141) 2018-10-09 12:30:09 -07:00
AMStrix 9cb71923d5 Autofill first team member with auth'd user (#140) 2018-10-08 21:21:40 -07:00
William O'Beirne 3dd4253acb TREZOR & Ledger Address Selection (#139)
* Add trezor selection

* Fix SSR by making providers lodable.

* Adjust identity styles.

* Add packages.

* Adjust style.

* Ledger address selection.

* Common use component for ledger and trezor.
2018-10-08 18:06:41 -07:00
AMStrix 1aab0915c0 Type Refactor (#133) 2018-10-04 23:27:02 -05:00
William O'Beirne ad0a153e7a Unify template & reduce web3 complexity (#132)
* Check in auth flow work.

* More work on auth steps. Check in before redux state.

* Create auth reducer and actions

* Stubbed out profile page to test auth aware routes. Minor style fixes.

* Fill out provider components

* Handle missing origin

* Fix reducer mistake. Show user info in profile page.

* Reflect auth state in header.

* tslint

* Actual user creation.

* Implement sign in

* Fix redux types.

* Add redux persist to config.

* Add sagas, fix persistence.

* Remove console log

* Split out header auth into own component. Add a menu, logout page, stub for settings page.

* Add mobile menu drawer.

* Adjust styles, fix sticky logout.

* Tslint

* Fix menu icon on transparent.

* Fix configureStore changes.

* All routes are config objects. Move template outside of routes. Combine AntWrap and Web3Page into one component.

* Sagafy web3 bootstrapping, remove it from components.

* Get errors rendering. Fix SSR issue with initial web3 error.

* Fix auth menu, sign out page.

* Simplify logic

* Remove console logs
2018-10-03 21:42:20 -05:00
Daniel Ternyak b2ca92362d
[RE-OPENING TO DEVELOP] Auth UI Menu (#130)
* Check in auth flow work.

* More work on auth steps. Check in before redux state.

* Create auth reducer and actions

* Stubbed out profile page to test auth aware routes. Minor style fixes.

* Fill out provider components

* Handle missing origin

* Fix reducer mistake. Show user info in profile page.

* Reflect auth state in header.

* tslint

* Actual user creation.

* Implement sign in

* Fix redux types.

* Add redux persist to config.

* Add sagas, fix persistence.

* Remove console log

* Split out header auth into own component. Add a menu, logout page, stub for settings page.

* Add mobile menu drawer.

* Adjust styles, fix sticky logout.

* Tslint

* Fix menu icon on transparent.

* Fix configureStore changes.
2018-10-03 15:12:26 -05:00
William O'Beirne 24350ec77f User Authentication UI (Pt 3 - Persistence) (#127)
* Check in auth flow work.

* More work on auth steps. Check in before redux state.

* Create auth reducer and actions

* Stubbed out profile page to test auth aware routes. Minor style fixes.

* Fill out provider components

* Handle missing origin

* Fix reducer mistake. Show user info in profile page.

* Reflect auth state in header.

* tslint

* Actual user creation.

* Implement sign in

* Fix redux types.

* Add redux persist to config.

* Add sagas, fix persistence.

* Remove console log
2018-10-03 14:08:14 -05:00
AMStrix 94aec1fdd3 Milestone Enhancements (#117)
* use antd Steps for Proposal/Milestones

* MilestoneAction component.

* Proposal/Milestones modifications.

* Proposal/Governance modifications.

* rename Governance tab to Refunds + hide if not contributor

* Story modifications for ProposalMilestones.

* Remove old Governance/Milestones + update story

* Make sure active step updates after mount via componentDidUpdate.

* have ProposalMilestones fill horizontal space

* allow outsiders to view state of MilestoneAction

* refactor + add is-count-n style

* count styles

* dynamic num milestones + rando titles

* geometryCases of 1 - 10 milestones

* better selected milestone visual hint

* dynamic step title overflow check + styles

* nowrap milestone title
2018-10-03 14:04:08 -05:00
AMStrix 1db0cd2adb Profile UI (#128)
* basic users redux + Profile page, route

* UserRow links to Profile

* Update UserRow story with BrowserRouter for Link

* display basic profile info

* render + style created and funded proposals

* clean up unused vars

* ProposalComment + misc. adjustments

* auth user adjustments

* user not found redirect to 404 + don't fetch if no user id param

* use PlaceHolder for empty proposal & comments
2018-10-03 13:11:44 -04:00
William O'Beirne 7ca1fc8de4 User Authentication UI (Pt 2 - Real Users) (#125)
* Check in auth flow work.

* More work on auth steps. Check in before redux state.

* Create auth reducer and actions

* Stubbed out profile page to test auth aware routes. Minor style fixes.

* Fill out provider components

* Handle missing origin

* Fix reducer mistake. Show user info in profile page.

* Reflect auth state in header.

* tslint

* Actual user creation.

* Implement sign in

* Fix redux types.
2018-10-01 18:22:56 -05:00
William O'Beirne 5c0430d37a User Authentication UI (Pt 1 - The Basics) (#123)
* Check in auth flow work.

* More work on auth steps. Check in before redux state.

* Create auth reducer and actions

* Stubbed out profile page to test auth aware routes. Minor style fixes.

* Fill out provider components

* Handle missing origin

* Fix reducer mistake. Show user info in profile page.

* Reflect auth state in header.

* tslint
2018-10-01 16:01:20 -05:00
AMStrix 5d674c1a01 SocialShare component + add to Proposal (#121) 2018-10-01 12:29:36 -04:00
AMStrix 73bbb1e7cd Add 404 Page (#118) 2018-09-27 22:03:53 -05:00
William O'Beirne e47b598739 Functioning proposal teams (pt 2 - the views) (#116)
* Team create flow step

* Show team on review step.

* Fix image types.

* Get team into ideal format. Properly post it to backend.

* Validate team forms and show errors.

* Adjust team member buttons.

* Add social medias to examples.

* Transform post and get responses to align with the TeamMember type.

* Split out user row and address row components. Use user row in the team block on proposal view.

* Use team on proposal card. Make user avatar component, use in create flow.

* Fix proposal preview.

* Fix up stories, add new one for UserRow
2018-09-27 15:39:37 -05:00
William O'Beirne 3b161f3476 Functioning proposal teams (pt 1 - the form) (#115)
* Team create flow step

* Show team on review step.

* Fix image types.

* Get team into ideal format. Properly post it to backend.

* Validate team forms and show errors.

* Adjust team member buttons.
2018-09-27 15:25:49 -05:00
Daniel Ternyak 0510cf3c8d
Fix Proposal Create 2018-09-26 03:46:30 -05:00
William O'Beirne 2886042c33 Style tasks (#103)
* Upgrade ant. Adjust header icon and styles.

* Remove unused newsletter form component.

* Fix up missing fonts, weights, spacings. Add some minor overrides to Ant.

* Fix progress percent going gren.

* Move styles to less.
2018-09-25 15:14:51 -05:00
Daniel Ternyak 397079869a
"Fuller" Users (#96)
* check in progress

* revert

* fix up API, add tests

* remove unused milestone commands

* support filtering users via proposalId

* get UI working

* refactoring / add minimum team size.

* fix proposal create API to properly support both email and account based
2018-09-25 15:09:25 -05:00
William O'Beirne 15f83f7d51 Fix body to be height of sidebar. (#104) 2018-09-25 14:52:08 -05:00
Daniel Ternyak 537db7b841
Use local accounts for proposal autofill (#105) 2018-09-25 14:49:47 -05:00
William O'Beirne 75f0b72022 Cancel / Refund proposal (#100)
* Cancel / refund modal for proposals. Fix some states where frozen contract still allowed interaction.

* Add more refund states. Move styles to less.

* Fix tsc, simplify logic
2018-09-25 14:41:47 -05:00
AMStrix 8be518fff7 Integrate Storybook (#98)
* add missing static alias + include ./stories in tsconfig

* add storybook dep + script + babel-core bridge dep.

* storybook setup

* expose unconnected Component for storybook

* fix discovered styling issue

* dummy props (ProposalWithCrowdFund)

* Basic stories.
2018-09-25 15:02:29 -04:00
Daniel Ternyak a8266eb4ac
Allow Proposal Auto-fill on Production (#97) 2018-09-25 13:31:17 -05:00
AMStrix e05fc5ec91 Markdown & MarkdownEditor to less. Remove styled-components SSR/dependencies. (#92)
* Markdown to less.

* MarkdownEditor to less.

* remove markdownStyles

* Remove styled-components loaders.

* Remove styled-components SSR.

* Remove styled-components dependency.

* Give shared markdown styles mixin a dedicated file.

* checkBodyOverflow on mount if proposal already loaded
2018-09-23 00:09:12 -05:00
AMStrix 694c7aebda NewsletterForm & ShortAddress to less. (#91)
* NewsletterForm to less.

* ShortAddress to less.
2018-09-22 11:57:04 -05:00
AMStrix 6f67d08985 Comment, Placeholder & Routes to less. (#88)
* Placeholder to less.

* Comment to less.

* Routes globals to less.

* remove comments
2018-09-22 11:53:22 -05:00
AMStrix f8321be39e Proposal style to less. (#90)
* Proposal CampaignBlock to less.

* remove comments

* ProposalComments to less.

* Capture heirarchy CampaignBlock -> ProposalCampaignBlock

* ProposalGovernance to less.

* ProposalMilestones to less.

* ProposalUpdates to less.

* Proposal root style to less.
2018-09-22 11:44:55 -05:00
William O'Beirne e0b94d06e1 Create Flow (first pass) (#76)
* Initial work on create flow.

* Redux and validation initial work.

* Fix typescript issues

* Review page

* Misc fixes

* Example fill in, and initial state setting.

* Milestone timeline in review

* Initial markdown state

* Draft saving, loading, resetting. Using local storage for now.

* Fix initial milestone state. Make steps clickable.

* Preview functionality.

* Create governance step that handles all contract data.

* Proposals can now be created with new flow. Team has been dismantled.

* Replace old create with new flow. Adjust url casing.

* Convert styles to less

* Fix form reset

* Remove team step

* tsc

* Show errors.

* Prevent publish if there are any errors.

* Remove comments, variablize time.

* Reset crowd fund deploy state when form is mounted to prevent getting error / success message from previous deploy.
2018-09-20 13:58:47 -05:00
AMStrix c77ecdf761 UserRow & Web3Page to less (#80)
* Web3Page to less

* import React

* UserRow to less
2018-09-19 20:57:05 -05:00
AMStrix 224d95cdbe Header, Footer & Home styled to less conversion (#75)
* Header to less

* Header - remove  redundant React.Fragments

* Home to less

* Footer to less
2018-09-19 20:48:49 -05:00
AMStrix c768292d2e Convert proposals to less (#74)
* main component to less

* add classnames dep

* ProposalCard to less

* fix css naming violations
2018-09-19 10:49:45 -04:00
Daniel Ternyak 6613d99e8a
Route Enhacements (#70) 2018-09-18 17:20:17 -05:00
William O'Beirne 4542dccfa9 Stubbed out comments UI (#57)
* Check in progress on comments.

* Reduced markdown options for comments.

* Comment replies.

* Fix tsc

* TSC fix
2018-09-18 17:15:01 -05:00