* Create following button that opens follow list in modal.
* Move react query deps to web package.json
* UseFollowers hook
* Following and followers button, dialog with tabs.
* Fix line endings
* Remove carriage return from default vscode eol
* Add placeholder message if no users followed / no followers
* Tweak spacing
* Migrate sellBet to v2
* Kill sellBet warmup requests
* Point client at new v2 sellbet function
* Clean up `getSellBetInfo`
* Fix up functions index.ts
* Revert "Revert "Notifications ux fixes - wip (#383)""
This reverts commit 699b03eb42.
* Group & provide more control over notification display
* UI/UX improvements
* Remove unused text key
* Refactor
* Refactor
* Show answer resolution in notification
* Disable eslint on single linefor exhaustive deps
* Handle arbritrary notifications
* Refactor
* Remove unused vars
* Add follow user
* Various UX improvements, add follow notif
* Various small ui changes
* Show notification settings breakdown
* Improve notification status lines
Before this PR, free response answers and their associated comments disappeared when all shares in the answer were sold. If it's just an answer, this is a surprising UX but not that bad. But this can also disappear an entire comment thread with great discussion, as I noticed on one of my markets recently.
I suppose the downside is that these answers take up space and are more likely to be undesired - but I think answers with M$1 of bets are much more common anyway.
* Use ChoicesToggleGroup for categories vs following
* Edit categories modal
* Filter closed and resolved using Configure. Set page to 0.
* Add useEvent hook, incase we want to use it before React releases it.
* useMemo on filters computation
* Try to fix prettier
* Use check box! Add select all/none button
* Add follow button to user page
* Update follows in the database using follow button.
* Add toggle for followed market creators to home
* Hide follow toggle from user's markets page
* Check that sold bet is by auth'd user
* Change follow toggle to category pill
* Remove unused imports
* Remove console.logs
* refactoring
(cherry picked from commit 4de86d5b08)
* removed unused imports and variables
* added type for binary resolution
* Prettier
* const for binary resolutions
* using the type "resolution"
* Prettier
* Update functions/src/create-contract.ts
* launch config for debugging with vs code
* "Launch Chrome" does not work since login via google is not possible in debugger-chrome
* Breakpoints are unbound when attached to chrome
* Notifications generating on comment,answer,contract update
* Notifications MVP
* Submitted an answer => answered
* Listen for unseen notifications
* Fix userlink formatting, move page
* Fix links
* Remove redundant code
* Cleanup
* Cleanup
* Refactor name
* Comments
* Cleanup & update notif only after data retrieval
* Find initial new notifs on user change
* Enforce auth rules in db
* eslint update
* Code review changes
* Refactor reason
* Add todos
* Show question in notifiation title
* Allow larger width on md
* Condense on mobile
* Decrease padding, hide title on mobile
* Line clamp notifications
* Shrink text
* Fix dependency of useEffect in BetsList
* Revert "Fix dependency of useEffect in BetsList"
This reverts commit 077b211f22.
* Disable linter for BetsList useEffect deps
* Add hideBetsBefore to useEffect dependencies
* Fix formatting
* Add tsconfig.json for common
* Prefer `const` over `let` over `var`
* Kill dead code
* Fix some trivial Typescript issues
* Turn on Typescript linting in common except for no-explicit-any
* Correctly specify tsconfig dir name in functions eslintrc
* Give react children explicit types
* Add explicit types to removeUndefinedProps
* Create StripeSession type
* Give event in Dropdown an explicit type
* Revert "Give event in Dropdown an explicit type"
This reverts commit 80604310f2.
* Give bids in NewBidTable an explicit type
* Cast results of removeUndefinedProps when neccessary
* Fix type of JoinSpans
* Revert "Cast results of removeUndefinedProps when neccessary"
This reverts commit 5541617bc8.
* Revert "Add explicit types to removeUndefinedProps"
This reverts commit ccf8ffb0b5.
* Give React children types everywhere
* Give event a type
* Give event correct type
* Lint
* Standardize React import
Co-authored-by: Marshall Polaris <marshall@pol.rs>
* Add the great Zod as a dependency to help us
* Tweak eslint
* Rewrite a ton of stuff in createContract and placeBet
* Clean up error reporting in API
* Make sure the UI is enforcing validated limits on lengths
* Remove unnecessary Math.abs
* Better type on `BetInfo`
* Kill `manaLimitPerUser`
* Clean up hacky parameters on bet info functions
* Validate `closeTime` as a valid timestamp in the future
* Add tsconfig.json for common
* Prefer `const` over `let` over `var`
* Kill dead code
* Fix some trivial Typescript issues
* Turn on Typescript linting in common except for no-explicit-any
* Correctly specify tsconfig dir name in functions eslintrc
* Move to tailwindui
* Remove commented code
* Prettier
* Show custom prob toggle, limit to 5-95%
* match left margin
* Show prob, date, time, other ui changes
* fix for firefox
* Move to tailwindui
* Remove commented code
* Prettier
* Show custom prob toggle, limit to 5-95%
* match left margin
* Show prob, date, time, other ui changes
* Show just first 3 letters and chosen answer
* 3 dots
* Just show resolved and the chosen answer
* Remove unused truncate & hide resolved except on xs
* Switch from triangle to a circle arrow
WIP
* Revert "Switch from triangle to a circle arrow"
This reverts commit 370f8eefe4.
* Show amount moved in probability
* Animate the prob bar change too
* Pull out quick bet display component
* Minor cleanups
* Clean up comments
* Close empty divs
* Feedback from Ian
* Pull out constant
* Get rid of quick bet separators
* Fix typescript change
* Invert colors so gray indicates placed bets
* Update comment on useSaveShares re: Ian's comments
* Play with using 3 icons for 1-click usage
* Align bet icons with the percentages
* Hide liquidity injection star, for now
* Fix Free Response card layouts
* Use triangles instead of planes
* Set correct hover states the arrows
* Fix down triangle & padding
* Default large nums to 2 sigfigs
* Clean up hover areas
* Fix bet width, remove "chance/expected"
* Show "M$20" on hover, hide arrows when closed
* Improve click targets
* FR: "MULTI" => "MANY", single => "TOP"
* Install react-hot-toaster
* Implement quick betting on binary questions
* Handle different kinds of markets
* Extract out QuickBet into its own component
* Minor tweaks
* Visually separate out quick bet pane
* Hide quick bet for FR markets with no answers
* Fill in which bets the user has already placed
* Animate movements, fix binary direction
* Hover arrows are now always gray
* Pull out code into quick-bet.tsx
* Minor comments
* Fix import
ts-ignore is scary
* Fixes from James's feedback
* Hide text only on quickbet
* Improve typing of client CORS helper
* Take node-fetch as a dependency
* Add explicit Firebase region into config
* Add new Vercel proxy API routes that talk to backend
* Call Vercel proxy routes from `api-call` module
* Tweak import to try to get Vercel happy
* Tidy up a tiny bit
* Set common package.json sideEffects: false
* Configure SWC to modularize lodash imports
* Import specific lodash functions instead of _
* Add an eslint rule to avoid full lodash import
* Remove needless wrappers from API requests and responses
* Return real HTTP status codes instead of status field
* More robustly handle API errors
* Fix broken error handling in NumericResolutionPanel warmup
* Rename `lib/firebase/api-call` -> `lib/firebase/fn-call`
This relieves ambiguity now that we will be using our actual
public API in the client.
* Rewrite client API calls to createContract, placeBet
* Tiny fixup for client market creation code
* Numeric contract type
* Create market numeric type
* Add numeric graph (coded without testing)
* Outline of numeric bet panel
* Update bet panel logic
* create numeric contracts
* remove batching for antes for numeric markets
* Remove focus
* numeric market range [1, 100]
* Zoom graph
* Hide bet panels
* getNumericBets
* Add numeric resolution panel
* Use getNumericBets in bet panel calc
* Switch bucket count to 100
* Parallelize ante creation
* placeBet for numeric markets
* halve std of numeric bets
* Update resolveMarket with numeric type
* Set min and max for contract
* lower std for numeric bets
* calculateNumericDpmShares: use sorted order
* Use min and max to map the input
* Fix probability calc
* normpdf variance mislabeled
* range input
* merge
* change numeric graph color
* fix getNewContract params
* bet panel labels
* validation
* number input
* fix bucketing
* bucket input, numeric resolution panel
* outcome label
* merge
* numeric bet panel on mobile
* Make text underneath filled green answer bar selectable
* Default to 'all' feed category when loading page.
* fix numeric resolution panel
* fix numeric bet panel calculations
* display numeric resolution
* don't render NumericBetPanel for non numeric markets
* numeric bets: store shares, bet amounts across buckets in each bet object
* restore your bets for numeric markets
* numeric pnl calculations
* remove hasUserHitManaLimit
* contrain contract type
* handle undefined allOutcomeShares
* numeric ante bet amount
* use correct amount for numeric dpm payouts
* change numeric graph/outcome color
* numeric constants
* hack to show correct numeric payout in calculateDpmPayoutAfterCorrectBet
* remove comment
* fix ante display in bet list
* halve bucket count
* cast to NumericContract
* fix merge imports
* OUTCOME_TYPES
* typo
* lower bucket count to 200
* store raw numeric value with bet
* store raw numeric resolution value
* number input max length
* create page: min, max to undefined if not numeric market
* numeric resolution formatting
* expected value for numeric markets
* expected value for numeric markets
* rearrange lines for readability
* move normalpdf to util/math
* show bets tab
* check if outcomeMode is undefined
* remove extraneous auto-merge cruft
* hide comment status for numeric markets
* import
Co-authored-by: mantikoros <sgrugett@gmail.com>
* Remove unused bets and sort in query
* remove console
* Explicitly ignore or include redemptions
* Pass options from parent function
* Fix let=>const
* Show majority stake on comments
* Darken comment input text
* Fix old FR comments displayed in general section
* Refactor feed comments and bets into files
* Only allow user to comment on most recent bet
* Fix overlapping sign in to comment
* Only calculate current users bets once
* Minor tweaks & is betting @ prob
* Show user bets on their profile
* Add an alert for current users
* Replace `/portfolio` with `/Austin?tab=Bets`
* Replace `/Austin?tab=Bets` with `/Austin/bets`
* Use replaceState for better browser history
* Remove two console.logs
* Note a bug
* Fix path
* Write in description of why we're doing this