Commit Graph

1521 Commits

Author SHA1 Message Date
Marshall Polaris
60e830974e
Migrate sellShares cloud function to v2 sellshares (#440)
* Migrate `sellShares` to v2 `sellshares`

* Point client at new v2 sellshares function

* Clean up `getCpmmSellBetInfo`
2022-06-07 13:54:58 -07:00
Austin Chen
2ac7caaf24
Rename /analytics to /stats to work around adblockers (#437)
* Rename /analytics to /stats to work around adblockers

* Fix prettier lint
2022-06-07 08:37:23 -07:00
Ian Philips
4aec46f880 Follow notif groups => Other activity 2022-06-06 16:36:55 -06:00
Ian Philips
85ad343d5d Follow notifications => user profile 2022-06-06 16:30:31 -06:00
Ian Philips
a7a482eecd
Various notifications bugfixes/improvements (#442)
* Various notifications bugfixes/improvements

* eslint
2022-06-06 16:15:36 -06:00
James Grugett
849e7d03a8 Switch to tabs for categories vs following 2022-06-06 14:53:05 -05:00
Marshall Polaris
d9eb9798e5
Point client at new v2 versions of createmarket and placebet (#433)
* Kill 'warmup spam' for createContract and placeBet

* Point v2 function calls at v2 endpoints

* Add real prod placebet and createmarket endpoints
2022-06-06 12:46:06 -07:00
Ian Philips
44b3579cc7 Add tip to see more 2022-06-06 12:01:12 -06:00
James Grugett
caa43856af Run prettier :P 2022-06-06 12:55:13 -05:00
James Grugett
587357c13f Description for categories / users you are following with edit button. 2022-06-06 12:51:45 -05:00
Ian Philips
6aa639591b Minor settings line wording tweaks 2022-06-06 11:46:26 -06:00
Ian Philips
1976bc755e Revert "Revert "Notification detail, grouping, and settings control [wip] (#403)""
This reverts commit 07f2d390e5.
2022-06-06 11:36:59 -06:00
Ian Philips
07f2d390e5 Revert "Notification detail, grouping, and settings control [wip] (#403)"
This reverts commit 37c7f909a3.
2022-06-06 10:54:25 -06:00
Ian Philips
37c7f909a3
Notification detail, grouping, and settings control [wip] (#403)
* 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
2022-06-06 10:52:11 -06:00
James Grugett
773465c6c5 Move select all button to top of category selector modal 2022-06-06 10:44:37 -05:00
mantikoros
43b0fe6749
Contract card ui tweaks: consistent market type colors, no underline,… (#402)
* contract card ui tweaks: consistent market type colors, no underline, adjust font/border size

* bigger probabiity numbers in contract card

* revert non-color changes; change prob bar width to 1.5
2022-06-06 09:54:43 -05:00
Marshall Polaris
e712a054ae Fix line endings 2022-06-05 18:57:49 -07:00
Jack
004dd7168e
Fix free response answers with 0 bets disappearing (#427)
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.
2022-06-05 17:20:06 -07:00
James Grugett
a39b1e502c Fix navigate to home not working 2022-06-05 15:45:33 -05:00
James Grugett
96db414ca1
Category checklist (#426)
* 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
2022-06-05 14:06:08 -05:00
James Grugett
3d31641050 Fix clicking card from user profile has no effect 2022-06-04 23:21:24 -05:00
James Grugett
a42a0f086c Remove Row and run prettier 2022-06-04 21:53:55 -05:00
James Grugett
cfd6af7c72 Tweak create page layout 2022-06-04 21:28:27 -05:00
James Grugett
11974f68fc Run prettier 2022-06-04 19:14:14 -05:00
James Grugett
93bb1dd519 Support ctrl or command click to open link in new tab 2022-06-04 19:13:07 -05:00
James Grugett
5152be57ba Quick back from clicking contract card on home! Preserves search state. 2022-06-04 19:00:13 -05:00
James Grugett
cd12628565 Tag page: load sort option from storage 2022-06-04 18:17:32 -05:00
Marshall Polaris
069b88d6fd
Fix API calls to hit emulated Firebase (#424) 2022-06-04 15:19:46 -07:00
Justin
e3eb43a14b
add volume to api response (#413) 2022-06-04 13:33:07 -07:00
Marshall Polaris
f8c44efeba
Small cleanup to some common code (#422)
* Remove unnecessary type helpers

* Turn on unused code lint
2022-06-04 13:30:54 -07:00
Forrest Wolf
b89753e1fe
Add yarn verify script (#378)
* Add yarn check script

* Rename

* Add verify script to subdirectories for convenience
2022-06-03 15:10:14 -07:00
Marshall Polaris
49859e6f00
Call cloud functions directly from web client instead of proxy (#405) 2022-06-03 00:50:24 -07:00
James Grugett
c1bda8a775
Follow other users. Filter markets by followed (#387)
* 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
2022-06-02 23:52:14 -05:00
Sinclair Chen
749f7aad40 copyedit: username in bet list empty state 2022-06-02 18:07:47 -07:00
Forrest Wolf
397d90c6b7
Replace some more uses of any with more specific types (#389)
* Give confirmation button icon a type

* Give setBids a type

* Make StripeSession type more specific

* Give MenuButton buttonContent a type
2022-06-02 17:40:41 -07:00
TrueMilli
0f2a311b74
Refactoring (#401)
* 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
2022-06-02 17:30:34 -07:00
James Grugett
bbb9a2c1fa Quick bet: Opposite arrow sells position 2022-06-02 18:24:10 -05:00
mantikoros
06c5c97a03 down betting arrow disabled for free response markets 2022-06-02 16:25:41 -05:00
mantikoros
5a4bb65d80 remove extra space (to fix prettier static check) 2022-06-02 16:00:38 -05:00
mantikoros
5af2e1fef0 up arrows green, down arrows red 2022-06-02 15:54:03 -05:00
Austin Chen
5b142baa98 Revert "Demote charity to more menu"
This reverts commit 311b39ffe9.
2022-06-02 13:35:31 -07:00
mantikoros
4fbc7703ce create page: remove numeric markets 2022-06-02 14:27:01 -05:00
Sinclair Chen
e1b1f30c55 make sell button show on mobile (bet list) 2022-06-02 10:56:56 -07:00
James Grugett
311b39ffe9 Demote charity to more menu 2022-06-01 23:31:38 -05:00
Ian Philips
78a359407d
Notifications reverted ux (#386)
* Revert "Revert "Notifications ux fixes - wip (#383)""

This reverts commit 699b03eb42.

* <p>=><div>
2022-06-01 12:26:41 -06:00
Ian Philips
699b03eb42 Revert "Notifications ux fixes - wip (#383)"
This reverts commit b5057f4028.
2022-06-01 11:52:27 -06:00
Ian Philips
b5057f4028
Notifications ux fixes - wip (#383)
* 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
2022-06-01 11:31:46 -06:00
TrueMilli
29a09ad276
Made an actual comment (#384) 2022-06-01 10:20:45 -07:00
James Grugett
2c4aa6152e Hide sell buttons in other people's profiles 2022-06-01 11:28:47 -05:00
Ian Philips
59830579a9
Set timeout to reset the free market banner (#367)
* wip - trigger recheck when past time

* wip - trigger recheck when past time

* Reset logic

* Interval=>timeout
2022-06-01 07:54:48 -06:00
Ian Philips
1c980ba678
Notifications (#354)
* 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
2022-06-01 07:11:25 -06:00
Marshall Polaris
35c373f6ce
MULTI contracts are not a thing (#381) 2022-05-31 20:40:08 -07:00
James Grugett
dec286583a Show bets loading indictor instead of wrong data 2022-05-31 22:21:45 -05:00
Marshall Polaris
9f1fe3ee17
Fix busted avatar links on charity pages (#380) 2022-05-31 20:02:50 -07:00
Marshall Polaris
7c4ec2a8e3
Refactor contract typing to be more concise and more correct (#355)
* Refactor contract types slightly

* Refactor contract types greatly

* Kill dead binary DPM contract creation code

* Use BinaryContract, DPMContract, etc. type aliases
2022-05-31 19:42:35 -07:00
Forrest Wolf
30adb5e1f8
Fix dependency of useEffect in BetsList (#379)
* 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
2022-05-31 21:36:00 -05:00
James Grugett
9cb24c9f3c Make categories work when signed out 2022-05-31 21:23:36 -05:00
James Grugett
b236ebdbd9 Fix janky horizontal scrollbar on home on mobile 2022-05-31 20:07:28 -05:00
Austin Chen
a840143990 Publicly display bets without infinite looping
React why
2022-05-31 18:06:29 -07:00
Sinclair Chen
c8bf71d40d
Allow selling CPMM binary position from bet table (#372)
* Allow selling CPMM binary position from bet table

* Only click to collapse on bet header, not body
2022-05-31 17:36:58 -07:00
Sinclair Chen
3d9d60e8fe refactor Row, Col to accept all div props 2022-05-31 17:13:54 -07:00
Sinclair Chen
6106eeee95 copyedit: donations available after May 2022-05-31 13:23:01 -07:00
James Grugett
5bcff4171b Revert "Publicly display bets placed after 06-01-2022"
This reverts commit a4330cfdf2.
2022-05-31 14:15:26 -05:00
Austin Chen
a4330cfdf2 Publicly display bets placed after 06-01-2022 2022-05-31 10:49:07 -07:00
Austin Chen
3bc4e7b336 Embed @wasabipesto's charts on /analytics 2022-05-31 08:32:11 -07:00
Austin Chen
5978f4b1cb Show blog link in sidebar 2022-05-29 17:33:41 -07:00
James Grugett
23944bf47a Filter redemption bets out of market 'Bets' tab 2022-05-28 15:57:12 -05:00
James Grugett
90a8de09d7 Ask a question => Create a question 2022-05-28 15:48:08 -05:00
James Grugett
4c81106612 Don't show quick bet when signed out, or for numeric markets 2022-05-28 15:36:16 -05:00
James Grugett
29a05ffff2 Disable quick bet for resolved markets 2022-05-28 15:27:01 -05:00
Marshall Polaris
c3a5205d8e
Use cross-env for things that set environment variables (#359) 2022-05-28 13:21:05 -07:00
James Grugett
45f92379bc Portfolio: Fix calculation of whether you sold all your shares 2022-05-28 00:18:09 -05:00
Austin Chen
2ea7ddc1aa Hide mobile bottom bar if Manifold is iframed 2022-05-27 21:27:37 -07:00
Marshall Polaris
86625798cd
Clean up some mess related to nullable collectedFees (#352)
* contract.collectedFees is no longer sometimes nonexistent

* Fix typing issues around payouts code
2022-05-27 14:02:02 -07:00
James Grugett
279b139556 Add 'sold' filter option in portfolio page 2022-05-27 15:51:55 -05:00
James Grugett
15d203977a Portfolio: Consistently filter out contracts you have sold out of. 2022-05-27 15:40:52 -05:00
Forrest Wolf
1e0845f4b9
Replace some uses of any with more specific types (#344)
* 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>
2022-05-26 15:22:44 -07:00
Marshall Polaris
420ea9e90e
Add more linting to web package (#343)
* Import React a lot

* Fix misc. linting concerns

* Turn on many recommended lints for `web` package
2022-05-26 14:41:24 -07:00
Marshall Polaris
5217270073
Serious business API validation & big cleanup of createContract, placeBet (#302)
* 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
2022-05-26 14:37:51 -07:00
mantikoros
7b0be014eb show resolved n/a for numeric markets 2022-05-26 09:39:14 -05:00
Ian Philips
6f23c16df7 Show up arrow if shares in numeric markets 2022-05-26 06:23:22 -06:00
Sinclair Chen
38fa58406d Fix embeds on incognito (blocked localStorage) 2022-05-25 22:30:03 -07:00
Austin Chen
eb68d059e2 Extend analytics to 90 days 2022-05-25 19:22:50 -07:00
Marshall Polaris
b8b1c0d056
Add tsconfig, more linting to common package (#324)
* 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
2022-05-25 17:12:36 -07:00
Ian Philips
0c3fa9f065
Handle free response outcomes for yes/no shares (#338) 2022-05-25 16:51:33 -06:00
Ian Philips
1334840ee0
Fix comment links from /activity & add to emails (#320) 2022-05-25 16:47:08 -06:00
Ian Philips
f0d44be2f4 Clean up time diff code 2022-05-25 16:04:14 -06:00
Ian Philips
f3be3b1f3c Maybe free market countdown will work now, beats me 2022-05-25 15:55:50 -06:00
Ian Philips
d117ff600a Adjust spacing on % input 2022-05-25 12:47:44 -06:00
Ian Philips
959ee5f8d1
Improve create market UI (#336)
* 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
2022-05-25 12:13:51 -06:00
Ian Philips
d69f4f9a0a
Move to tailwindui for create market page (#332)
* 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
2022-05-25 11:54:28 -06:00
James Grugett
92df092ad3 Fix DOM error in console 2022-05-25 11:48:37 -05:00
Forrest Wolf
c5763e6ec3
Extract signup prompt (#333)
* Extract SignUpPrompt component

* Return null instead of false when not showing SignUpPrompt

* Add trailing newline

* Lint
2022-05-25 09:25:39 -07:00
Ian Philips
1942e1c47a
Show just first 3 letters and chosen answer on fr cards (#318)
* 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
2022-05-25 07:13:33 -06:00
Austin Chen
eef5dda0f3 Shrink card margin between question & % 2022-05-24 17:25:23 -07:00
Austin Chen
d5a362502a Display liquidity "pool" instead of "bet" volume 2022-05-24 16:57:34 -07:00
Austin Chen
8715ff2740 Semibold the question on cards 2022-05-24 16:39:50 -07:00
Austin Chen
f9336c00be
Preview the quick bet result on hover (#319)
* 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
2022-05-24 16:38:43 -07:00
Marshall Polaris
2d8ad40e70
Add outcome type to API market descriptors (#325) 2022-05-24 14:31:49 -07:00
mantikoros
c3be126337
Revert "Update leaderboards.tsx (#314)" (#317)
This reverts commit d19d60eb6a.
2022-05-24 09:31:42 -05:00
Ian Philips
811a7cece7 Market => question 2022-05-24 08:28:09 -06:00
Ian Philips
49bfb67daa Revert to showing FR answer 2022-05-24 08:24:01 -06:00
Ian Philips
13bf5ac253 Free daily market bugfix 2022-05-24 07:31:44 -06:00
SirSaltyy
d19d60eb6a
Update leaderboards.tsx (#314)
Renamed top creators header from "market volume" to "market liquidity".
2022-05-24 14:05:12 +01:00
Austin Chen
8cedf93901
Implement quick betting: directly from the market card (#291)
* 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
2022-05-23 23:44:16 -07:00
Austin Chen
a8e47d4fc7 Update "No markets found" to point to /create
Fixes #308
2022-05-23 17:49:07 -07:00
Ian Philips
fc320ca1e4
Shrink avatar, paddding, gaps for mobile screens (#275)
* Shrink avatar, paddding, gaps for mobile screens

* Adjust padding, add arrow to input area

* Padding and reply ui adjustments
2022-05-23 16:09:40 -06:00
mantikoros
854daaebb7 nav bar: gray background for selected page (indigo color was too prominent) 2022-05-23 16:49:30 -05:00
mantikoros
244fd7c981 changed sidebar button color — violet doesn't match color scheme 2022-05-23 16:38:42 -05:00
Marshall Polaris
3987baa11b
Add Vercel routes for public write API (#280)
* 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
2022-05-23 14:16:56 -07:00
Ian Philips
fb33f829cc Clean up free market countdown bugfix 2022-05-23 15:14:50 -06:00
Ian Philips
0f01753795 Daily free market countdown fix 2022-05-23 11:26:17 -06:00
Ian Philips
d0347ff5c2
Add countdown timer for daily free market (#276)
* Add countdown timer for daily free market

* Reset example numbers

* Remove daily

* Free market reset => 4pm UTC
2022-05-23 08:43:11 -06:00
Ian Philips
355b2261a7 Show numeric bet panel between sm-xl 2022-05-23 08:04:55 -06:00
Ian Philips
e94d204a87
Simplify market creation page (#268)
* Simplify market creation page

* Minor improvements

* Prettier
2022-05-23 06:35:50 -06:00
James Grugett
fc6b36b690 Adjust numeric graph axis to use large number formatting 2022-05-22 22:05:52 -05:00
James Grugett
21527275d1 Fix numeric market embeds 2022-05-22 22:03:05 -05:00
James Grugett
1c73bba908 Show x value in numeric graph's tooltip 2022-05-22 17:48:02 -05:00
James Grugett
f85b10e517 Exclude partial day from analytics 2022-05-22 17:35:10 -05:00
Marshall Polaris
73d538c7cf
Modularize imports of hero icons in compiler (#292) 2022-05-22 12:40:34 -07:00
Marshall Polaris
d072216d2d
Kill /about page (#293) 2022-05-22 12:40:16 -07:00
Marshall Polaris
47f10301c8
Change lodash stuff so that it can be tree-shaken out of build (#233)
* 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
2022-05-22 01:36:05 -07:00
Marshall Polaris
0803a15902
Set up eslint for common, functions packages (#290)
* Move common dev dependencies to workspace top level

* Add .eslintrc.js for functions and common packages

* Add more linting to check workflow
2022-05-22 00:35:43 -07:00
Marshall Polaris
3061af3837
Kill Husky, lint-staged, and pretty-quick (#288) 2022-05-21 14:50:59 -07:00
Marshall Polaris
3db1de6b66
Add some useEffect dependencies (#289) 2022-05-21 14:48:15 -07:00
James Grugett
c5660ab762 Prevent flash of "No markets found" on search load 2022-05-21 13:51:41 -04:00
James Grugett
688ebb797a Add "Last updated" sort option 2022-05-21 13:44:55 -04:00
Marshall Polaris
540476f65a
Public API improvements (#266)
* 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
2022-05-20 14:58:14 -07:00
Austin Chen
03a13248a4 Limit large numbers to 3 sig figs 2022-05-20 15:25:32 -04:00
Austin Chen
52ad4c42b0 Persist homepage sort 2022-05-20 15:08:00 -04:00
Austin Chen
4c93da3cc0 Use a blue bar for Numeric types 2022-05-20 14:00:22 -04:00
Austin Chen
5d96fdafd6 Add padding to homepage 2022-05-20 13:53:12 -04:00
mantikoros
6f1a569797 back to M$ — the worst option except for all the others 2022-05-19 22:28:38 -04:00
James Grugett
1616ffc817 Make filter for isResolved work in all cases 2022-05-19 22:13:58 -04:00
mantikoros
99c41b6112 bug fix: use new placeBet api in numeric bet panel 2022-05-19 20:39:23 -04:00
Sinclair Chen
4c7836abc7
Show embed view of normal market links in iframes (#254) 2022-05-19 17:34:08 -07:00
Marshall Polaris
20f4b97d8b
Rewrite client for new public APIs to use fetch instead of callables (#241)
* 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
2022-05-19 15:04:34 -07:00
James Grugett
d4a49789d1 Add daily signups 2022-05-19 17:13:30 -04:00
James Grugett
a275b3a9c2 Fix analytics 2022-05-19 16:53:49 -04:00
James Grugett
4396456ed1 Add tooltip to analytics charts 2022-05-19 16:14:27 -04:00
mantikoros
be3d4d7735 exclude antes from bets list 2022-05-19 15:26:44 -04:00
James Grugett
76f27d1a93
Numeric range markets!! (#146)
* 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>
2022-05-19 12:42:03 -05:00
Ian Philips
7d8ccb78a4
Remove unused bets (redemptions, antes) and sort by desc in query (#264)
* Remove unused bets and sort in query

* remove console

* Explicitly ignore or include redemptions

* Pass options from parent function

* Fix let=>const
2022-05-19 10:03:37 -06:00
Ian Philips
8013862f15 Center question button on lg 2022-05-19 09:20:38 -06:00
Ian Philips
6935f8865d Move comment btn to its own row on xs 2022-05-18 21:34:59 -06:00
Ian Philips
e6dabf97d9
Show prob at time of comment on binary markets (#255)
* Show prob at time of comment on binary markets

* unused import
2022-05-18 19:38:02 -06:00
James Grugett
6a30a41b10 Make analytics show data up to current hour 2022-05-18 18:53:53 -04:00
James Grugett
e9ee7e2355 Truncate user link 2022-05-18 17:08:46 -04:00
James Grugett
1f3f800a57 Show close time in cards on close date sort 2022-05-18 17:08:46 -04:00
Ian Philips
6d3aaf71d4 Any question => anything 2022-05-18 13:47:53 -06:00
Sinclair Chen
e2b03f31e9 Style current page on mobile nav bar 2022-05-18 15:45:08 -04:00
Ian Philips
daf6cadea9 Remove border from sidebar buttons 2022-05-18 10:52:00 -06:00
Austin Chen
7b3c8ea046 Revert "back to M$ — playtime is over"
This reverts commit ed41d99484.
2022-05-18 12:09:24 -04:00
Ian Philips
ca9e93fe47 Show loading indicator on comment submit 2022-05-18 10:08:42 -06:00
Austin Chen
f17675bbcf Fix typo 2022-05-18 12:07:36 -04:00
Austin Chen
44c53ae96d Kill the ugly "Sign in" button 2022-05-18 12:06:41 -04:00
Austin Chen
89b05be5ec Tweak "Ask a question" button VisD 2022-05-18 11:57:22 -04:00
Austin Chen
39870dd933
Bets on profile, again (#251)
* Revert "Revert "Show every user's bets on their profile (#170)""

This reverts commit 142206b79a.

* Fix typo

* Delete portfolio page
2022-05-18 11:52:12 -04:00
Ian Philips
eb3ac802c0 Fix #208 - check for comments without ids 2022-05-18 09:35:32 -06:00
Ian Philips
974d5a8d89 hide free daily market when signed out 2022-05-18 09:25:56 -06:00
James Grugett
142206b79a Revert "Show every user's bets on their profile (#170)"
This reverts commit d50cc39c27.
2022-05-18 10:59:08 -04:00
James Grugett
d51a20e2e0 Add back useState to import 2022-05-18 10:57:45 -04:00
James Grugett
acd59767e4 Move search and sort/filter options in one line on mobile 2022-05-18 10:42:56 -04:00
Boa
7b3c21cf98
Comments ux improvements and bugfixes (#246)
* 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
2022-05-18 08:42:13 -06:00
Austin Chen
d50cc39c27
Show every user's bets on their profile (#170)
* 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
2022-05-18 10:36:17 -04:00
mantikoros
42c981a54d remove border on ask question button 2022-05-18 10:21:03 -04:00
James Grugett
76ffe8eea1 Infinite scroll: automatically load new page of results 2022-05-17 19:29:46 -04:00
James Grugett
be9df7bcd8 Fix links beginning with https 2022-05-17 17:11:24 -04:00
mantikoros
ed41d99484 back to M$ — playtime is over 2022-05-17 15:34:58 -04:00
James Grugett
7da46050e5
Swap home and explore (#244)
* Add activity page. Copy explore page into home

* Update navbar with activity. Show explore instead if signed out.

* Move category selector into contract search

* Make algolia filter by category

* Default tag page to all filter
2022-05-17 12:56:10 -05:00
Sinclair Chen
1bf2073e61
refactor SiteLink to not repeat (#125) 2022-05-17 10:36:36 -07:00
Sinclair Chen
f8601af45c
Bet embed (#204)
* Add bet buttons to embed

- Make only title link to market
- Prevent avatar / username from being clicked on

* refactor: remove extra elem, de-indent

* adjust embed info row styles

* make bet panel smaller

* make sell panel smaller
2022-05-17 10:31:19 -07:00
Ian Philips
d458d8a299 Includes=>endsWith for multi digit answers 2022-05-17 10:13:29 -06:00
Ian Philips
ef98c16c26 Created contrac today => true to avoid free market flash 2022-05-17 10:06:00 -06:00
mantikoros
b98468c7ea show none option in categories 2022-05-17 12:02:46 -04:00
Ian Philips
1afda07525 Handle linking from feed 2022-05-17 10:00:09 -06:00
Boa
8337cb251f
Enable url linking to comments and a copy to clipboard function [wip] (#239)
* Link to comments & highlight comment

* Copy link, show toast and fade bg

* Remove unused imports

* Standardize link copied toast

* Add linking to answer comment threads

* Refactor open answers component, use indigo highlight

* Distinguish chosen answer a bit more
2022-05-17 09:55:26 -06:00
mantikoros
5310da05e2 fix double hashtag 2022-05-17 11:49:10 -04:00
mantikoros
2858fd090c "create market" => "ask question" 2022-05-17 11:32:20 -04:00
mantikoros
14ce820dcb cache deservesDailyFreeMarket locally 2022-05-17 11:32:10 -04:00
mantikoros
f47d75c120 landing page tweaks 2022-05-17 10:25:51 -04:00
mantikoros
4860150334 change slogan 2022-05-17 10:02:29 -04:00
Austin Chen
a3c1cd2cc1 Unhardcode M$ in more locations 2022-05-17 08:17:22 -04:00
Austin Chen
8982dcae10 Replace "m1234" with "ϻ1234" 2022-05-17 08:13:12 -04:00
Marshall Polaris
cd7efb03ca
Implement onRequest versions of createContract, placeBet functions (#227)
* Reimplement createContract and placeBet cloud functions

* Fix broken warmup function error handling
2022-05-16 21:43:40 -07:00
Marshall Polaris
aafd2a226f
Clean up some stuff with SellPanel and AmountInput (#232)
* Hoist SellAmountInput logic into SellPanel

* Ditch now-unnecessary SellAmountInput

* Clean up sale proceeds markup

* Clean unused imports

* BuyPanel doesn't need userBets
2022-05-16 20:27:37 -07:00
Austin Chen
6c6cbdc1a5
Redesign the contract card (#235)
* Redesign the card

* Limit to 1 category on a card

* Make card tags a lighter gray

* Righbar always starts from the bottom
2022-05-16 19:15:22 -04:00
Marshall Polaris
6f1c20571b
Upgrade HeadlessUI to 1.6.1 (#234)
https://github.com/tailwindlabs/headlessui/releases
2022-05-16 07:38:16 -04:00
Marshall Polaris
72b21925e5
Allow users to generate an API key in their profile (#182)
* Add /private-users/apiKey to DB

* Add field to edit API key on profile

* Move API key to bottom of profile page

Austin thinks this is better since most people don't care about it.
2022-05-15 20:41:07 -07:00
James Grugett
19da0c6c82 Default to 'all' feed category when loading page. 2022-05-15 23:09:49 -04:00
James Grugett
727d85ddac Make text underneath filled green answer bar selectable 2022-05-15 23:07:38 -04:00
Marshall Polaris
ee91a94466
Clean up some bet panel markup and CSS (#231)
* Tidy up probability change markup

* Tidy up payout markup
2022-05-15 14:10:26 -07:00
James Grugett
c85b806bc1 Change analytics to 45 days instead of 90 to fix timeout 2022-05-15 15:50:28 -04:00
Marshall Polaris
07ded756d9
Remove unused imports from random files (#224) 2022-05-13 18:30:52 -07:00
Marshall Polaris
bc5cd5be45
Clean up some markup in the sidebar (#220)
* Remove wrapper div around logo

* Small refactor, remove wrapper around sidebar profile summary

* Remove random unused imports

* Replace random styles with Tailwind classes
2022-05-13 18:07:44 -07:00
Marshall Polaris
33c0471c29
Clean up some markup around the top of the page (#189)
* Remove unnecessary wrapper div around sidebar

* Remove extra column used for alignment on homepage

* Remove extra wrapper div around whole page
2022-05-13 16:47:50 -07:00
Marshall Polaris
babca140f1
Fix random errors (#205)
* Fix warning in ShareMarket component

* Fix NewContract component to use keys on category list

* Refactor NewContract component to assign `value` to `select`
2022-05-13 16:42:48 -07:00
James Grugett
8be6b79732 Remove 'Category' label 2022-05-13 16:19:15 -04:00
James Grugett
8ce3a09471 Shrink vertical padding on feed answer group 2022-05-13 16:16:46 -04:00
James Grugett
e660acab56 Put back hotjar code, but deactivate from hotjar site 2022-05-13 15:07:32 -04:00
James Grugett
67717bbde7 Prevent having to go back twice from profile / tag search page 2022-05-13 15:01:38 -04:00
James Grugett
b195dcdfd2 Print build info only once 2022-05-13 14:33:02 -04:00
James Grugett
5f59623be8 Disable hotjar 2022-05-13 14:31:03 -04:00
James Grugett
d62156b8c0 Hide scrollbar on categories 2022-05-13 14:27:47 -04:00
Austin Chen
805a997ba0 Fix hotjar typo
Copy+pasting is hard >.>
2022-05-13 10:59:47 -04:00
Austin Chen
bf07b45467 Add id to hotjar script
Apparently needed by NextJS
2022-05-13 10:49:01 -04:00
Austin Chen
c99cf7579b Try out Hotjar 2022-05-13 10:11:57 -04:00
James Grugett
06cdf2a84a
Show category on market card (#197)
* Show category on market card

* Show multiple categories in contract description

* Tweak layout of contract card and show multiple categories
2022-05-12 18:28:21 -05:00
Austin Chen
e0d266887c
Show prob of FR answer as a bar chart (#200) 2022-05-12 14:04:51 -04:00
Austin Chen
25d3fbcc5f Add a hover to the category selector 2022-05-12 13:47:07 -04:00
Ian Philips
c2f8aee89e Touch up reply buttons 2022-05-12 10:27:52 -06:00
James Grugett
aafc08f24c Prevent android chrome from defining categories on tap 2022-05-12 12:07:46 -04:00
Ian Philips
fed49d3040 Hide ante in FR bets tab 2022-05-12 09:48:19 -06:00
James Grugett
31f57f8ff2 Condense category names to just the tag name 2022-05-12 11:18:44 -04:00
James Grugett
49f900b298 Tags input: save on enter 2022-05-12 11:13:35 -04:00
mantikoros
9a4e5763f5
Categories (#132)
* basic market categories

* use tags to store market category

* display category in market

* display full category

* category selector component on feed

* Move feed data fetching to new file

* Decrease batch size for updating feed to prevent out-of-memory error

* Compute and update category feeds!

* Show feeds based on category tabs

* Add react-query package!

* Use react query to cache contracts

* Remove 'other' category

* Add back personal / friends to feed categories

* Show scrollbar temporarily for categories

* Remove 5 categories, change geopolitics to world

* finance => economics

* Show categories on two lines on larger screens

Co-authored-by: James Grugett <jahooma@gmail.com>
2022-05-12 10:07:10 -05:00
Boa
403156ed1a
FR ux changes, restore submit button for comments (#195) 2022-05-12 08:59:05 -06:00
James Grugett
696e6a7882 Revert "Fix hyperlinks when starting with an open paren"
This reverts commit 2fd9759bc1.
2022-05-11 21:42:33 -04:00
Marshall Polaris
1063897c7c
Clean up extra wrapper and CSS on BetRow (#178) 2022-05-11 14:35:50 -07:00
Boa
02ed9bf7e1
Single threaded comments (#175)
* Remove unused hideOutcome in comments

* Remove unused hideOutcome in comments

* Add replyToComment fields to Comment

* Add 1 threaded replies to comments & answers

* Allow smooth scrolling within pages via #

* remove yarn-error log

* correct spelling

* Remove smooth-scroll-to-hashtag component

* Cleanup & show user position/bets in replies
2022-05-11 15:11:46 -06:00
Sinclair Chen
aa433e309c
restyle home page (separation between markets) (#186) 2022-05-11 12:51:45 -07:00
Austin Chen
2fd9759bc1 Fix hyperlinks when starting with an open paren 2022-05-11 15:28:28 -04:00
James Grugett
2b9e639281 Default to 'all' search filter for markets on user page 2022-05-11 00:19:29 -04:00
Marshall Polaris
b55e807c62
Truncate multi-line commit messages in console build info (#180) 2022-05-10 21:12:00 -07:00
Marshall Polaris
22c594eb79
Print out build info in console (#179)
* Print out build info in console

* Fix up build info printing per feedback
2022-05-10 20:57:09 -07:00
James Grugett
948d878222 Prevent 500 error on markets with no collected fees 2022-05-10 23:01:07 -04:00
Marshall Polaris
9b376fb11a
Reinstate eslint warning cleanup (#174)
* Reinstate eslint upgrade and related fixes

* Another shot at improving ContractLeaderboard
2022-05-10 14:49:24 -07:00
Marshall Polaris
4565430db5 Revert "Upgrade eslint, fix eslint warnings (#149)"
It's not 100% clear, but this could have caused some production
problems on the contract page, so let's revert it for now.
2022-05-10 14:22:57 -07:00
Marshall Polaris
6c9df223d8
Feed container markup cleanup (#173)
* Move FeedContainer stuff into ActivityFeed

* Greatly clean up ActivityFeed container markup
2022-05-10 13:59:19 -07:00
Marshall Polaris
167cf20bfc
Upgrade eslint, fix eslint warnings (#149)
* Add a couple missing dependencies for hooks

* Upgrade eslint

This newer eslint and typescript-eslint fixes some spurious warnings
that were bugs and supports our version of Typescript.

* Use Next Script component the way it wants us to

* Rephrase ContractLeaderboard component to avoid useEffect woes

* Use perhaps more idiomatic type for ContractLeaderboard props

* Make Folds data fetching more correct and more clear
2022-05-10 13:58:38 -07:00
Sinclair Chen
a297f6492d
move manaToUSD to format.ts (#172) 2022-05-10 11:14:24 -07:00
Austin Chen
b97301c6fa Hardcode two new frontpage markets 2022-05-10 13:03:53 -04:00
mantikoros
264e5058ea
Separate out fees (#169)
* deduct market ante from profits

* display creator fees in stats

* show creator earnings in stats

* separate out creator, liquidity fees in payouts and deduct from profits

* include creator payout in resolution emails

* deduct liquidity from profits

* hide cost tooltip if daily free market
2022-05-10 08:49:14 -05:00
Marshall Polaris
d34907681a
Remove some random unnecessary wrapper divs (#163)
* Remove wrapper div in user comment feed item

* Remove wrapper div around feed market card title link

* Remove wrapper div around BetRow
2022-05-09 15:50:20 -07:00
mantikoros
ef43e46153 include fees in tooltip 2022-05-09 17:33:24 -04:00
Marshall Polaris
8a99f3772a
Cleanup avatar again (#161)
* Reinstate avatar component cleanup

This was reverted due to a bug, fixed in the subsequent commit.

* Kill additional wrapper divs around avatars

This also fixes a bug where the `w-8` answer row wrapper div was
constraining the width of the `w-10` avatar, leading it to be `w-8`
and `h-10` and appear as an oval.
2022-05-09 14:32:59 -07:00
mantikoros
5135135e79
Separate out fees (#159)
* deduct market ante from profits

* display creator fees in stats

* show creator earnings in stats

* separate out creator, liquidity fees in payouts and deduct from profits
2022-05-09 16:04:40 -05:00
Boa
a5b0372a6e
Free response markets with investment cap (#157)
* Show error message for FR bet

* Allow M$ limit for markets

* Allow M$ limit for markets

* Apply M$ limit to FR answer bets

* Improve error message

* Improve error message

* Only check stats if mana limit set

* Consolidate logic

* Remove unused variable

* absolute import

* absolute imports
2022-05-09 14:09:07 -06:00
James Grugett
d55990d5d4 Fix contract search not adjusting to new user 2022-05-09 15:47:18 -04:00
James Grugett
e8ab863557
🔍 Algolia search (#136)
* Add algolia and instantsearch packages

* Switch to hooks-web package

* Implement algolia search!

* Fix types

* Fix tags page

* Closed sort option

* Implement select for filtering on open, closed, resolved, all.

* Support search in dev environment

* Fix runtime error in landing page
2022-05-09 12:38:33 -05:00
Ian Philips
8fbbeffd38 Revert one more avatar component change 2022-05-09 10:33:52 -04:00
Ian Philips
5c1bc78408 Revert avatar component changes 2022-05-09 10:18:05 -04:00
Marshall Polaris
acc9c84e2e
More absolute imports (#156)
* Configure functions module to allow absolute imports

* Convert common imports in functions to be absolute

* Convert common imports in web to be absolute

* Convert lib imports in web to be absolute

* Convert hooks imports in web to be absolute

* Convert components imports in web to be absolute
2022-05-09 09:04:36 -04:00
Marshall Polaris
dd2366458d
Fix up target in web tsconfig (#155) 2022-05-08 23:57:29 -07:00
Austin Chen
b47e4364ad Remove circle around markets/comments count 2022-05-08 22:53:02 -04:00
Marshall Polaris
5efcf61289
Configure compiler to allow absolute imports from root (#147) 2022-05-08 13:33:58 -07:00
Austin Chen
2eed1c432a Hardcode in 8 frontpage markets 2022-05-07 19:44:01 -04:00
Austin Chen
cea9422802 Update site copy 2022-05-07 10:10:25 -04:00
Austin Chen
22a9901148 Feature Nonlinear as a charity 2022-05-07 08:15:40 -04:00
James Grugett
4de0fcd198 Revert "Represent DB avatar URLs as non-null (#128)"
This reverts commit bf8e09b6c1.
2022-05-06 14:29:15 -04:00