Commit Graph

304 Commits

Author SHA1 Message Date
jahooma
bc3e43802b Listen for new folds on /folds 2022-01-23 23:48:10 -06:00
jahooma
b059a44acc Use fold hook 2022-01-23 00:51:19 -06:00
jahooma
aa1022546d Implement leaderboards for folds! 2022-01-22 17:59:50 -06:00
jahooma
bc1decdbfc Initialize folds with one primary tag 2022-01-22 15:47:24 -06:00
jahooma
0617fedb17 Add /markets for fold 2022-01-22 11:39:35 -06:00
mantikoros
4698d119b4 activity, withoutAnteBets: check for undefined 2022-01-22 11:15:14 -06:00
jahooma
d357f51883 Reorg homepage. No feed when not signed in, add back hot & closing soon for signed 2022-01-21 18:28:12 -06:00
James Grugett
60f68b178d
Folds (#34)
* Fold type, fold page, query for fold contracts

* Tsconfig: target esnext, nounused locals: false

* Store tags in field on contract. Script to update contract tags

* Show tags on fold page

* Load all fold comments server-side to serve better feed

* Fix the annoying firebase already initialized error!

* Add links to /edit and /leaderboards for fold

* Page with list of folds

* UI for creating a fold

* Create a fold

* Edit fold page
2022-01-21 17:21:46 -06:00
mantikoros
4528615863
Private user (#32)
* PrivateUser

* createUser: create private user; detect multiple signups

* include user properties in private user

* script: create private users

* unsubscribing from market resolution emails

* track total deposits
2022-01-18 21:36:46 -06:00
jahooma
142feaffff Don't show unlisted contracts in closing soon 2022-01-18 13:17:56 -06:00
mantikoros
908c8c03e6
Create user cloud function (#31)
* createUser cloud function; change User object

* initial commit

* listenForLogin: avoid race condition

* createUser: allow capital letters in username

* remove debugging

* leaderboard: empty url for undefined avatar image
2022-01-18 01:18:38 -06:00
James Grugett
6625983bb7
Leaderboards 🏅 (#30)
* Simple leaderboards

* Filter out SG from traders. Center leaderboard. Use Nextjs Image.

* Add leaderboards menu option

* Put leaderboards side-by-side on large screens

* Add medal emoji
2022-01-17 21:20:25 -06:00
jahooma
4d975ff512 Add closing soon section to home 2022-01-17 16:54:00 -06:00
jahooma
56c7e2597d Schedule cloud function to update user metrics: totalPnL, creatorVolume 2022-01-17 15:39:34 -06:00
Austin Chen
7d7286b1c1
Denormalize the avatar URL on contract creation (#29) 2022-01-16 01:03:59 -05:00
Austin Chen
279437ba08
List users on admin page (#28)
* Admin page using gridjs

* Move hook into separate file

* Link to each user's Manifold and Firestore /user entry

* Gate admin access to Austin/James/Stephen

* Don't leak the existence of /admin

* Add a custom 404 page that directs to Discord.

* Fix broken window.location.href on NextJS server
2022-01-15 22:09:15 -05:00
jahooma
f6079e68d0 Choose random hot contracts from top 16 every 5 minutes. 2022-01-15 00:44:33 -06:00
jahooma
e12e399679 Fix feed order moving around on load 2022-01-14 19:12:38 -06:00
jahooma
895eba4553 Get static props of just data for feed: active contracts, their bets & comments. 2022-01-14 18:16:32 -06:00
jahooma
dfcac2fb97 Hide ante bets in graph and feed 2022-01-13 11:01:23 -06:00
jahooma
de043de589 Add visibility field to contracts. Hot contracts & activity feed show only visibility 'public'. 2022-01-12 19:53:50 -06:00
jahooma
cc5312f52e Change is prod to true 2022-01-12 15:23:29 -06:00
mantikoros
9d5490cf9a
Switch to new dpm mechanism (#26)
* initial commit

* antes

* rename path, compute to contractPath, contractMetrics

* merge

* Include antes as bets; more calculations

* fees on estimated winnings

* mkt payout calculation

* contract: remove startPool, add phantomShares

* Merge branch 'main' into new-dpm

* dpm migration script

* my service account
2022-01-12 13:01:04 -06:00
Austin Chen
5b431226d4
Show all recent activity on a central feed (#24)
* Tracks all market activity on a single page

* Support both global and per-contract feeds

* UI tweaks

* Include contract description in activity feed

* Show activity feed on Create page
2022-01-11 11:56:26 -05:00
mantikoros
b97a65cf2c refactor data structures, calculations to common directory 2022-01-10 15:07:57 -06:00
jahooma
16ab0e0c37 Query hot contracts from volume24Hours field. 2022-01-09 14:26:51 -06:00
jahooma
6b4417d8b8 Every 15 minutes, compute contract volume in last 24 hours and 7 days 2022-01-09 13:34:42 -06:00
jahooma
6d4554e9ef Don't show resolved markets in hot markets 2022-01-09 12:14:20 -06:00
jahooma
44fa4f263b Encode referrer url param for stripe checkout 2022-01-07 18:51:16 -06:00
James Grugett
af6387bbf3
Stripe (#22)
* basic working payments

* Select funds amount and prettier funds button / dialog

* Add funds page and nav menu option

* Format funds amount. Use ghost button for back.

* Add mantic dollars description

* Improve styles of add funds page

* about styling

* change faq => about

* change default font to Courier

* header sign out menu item; remove user  card

* keep logo font

* fix header issue

* stripe webhook: handle repeat events

* Make add funds button a gradient

* add funds referer url

* Fix add funds page after merge

* Slight VisD tweaks

* Update add funds button position. Mantic => Manifold

* Remove Add funds menu option for now.

* Set up product ids and endpoint for stripe prod

* Swap back order in profile menu

Co-authored-by: mantikoros <sgrugett@gmail.com>
Co-authored-by: Austin Chen <akrolsmir@gmail.com>
2022-01-07 16:56:14 -06:00
mantikoros
1b69a34270 allow updating contract description 2022-01-07 13:29:23 -06:00
jahooma
75e9d419ee Fix payout calculation for correct bet in bet panel. 2022-01-05 17:03:30 -06:00
mantikoros
0b8ad76b0f global warming: warm up all cloud functions on client 2022-01-05 12:30:16 -06:00
jahooma
e20537bf49 Remove tags and date from card. 2022-01-05 01:06:30 -06:00
jahooma
1bc323d575 Hot markets! 🔥 2022-01-05 00:33:01 -06:00
mantikoros
7c875f80da subsidized markets; create contract cloud function 2022-01-04 23:51:34 -06:00
Austin Chen
07ce27f20b
Show activity feed on each market & allow comments on your bets (#18)
* Copy feed template from TailwindUI

* Show all bets in a feed-like manner

* Tweak design of individual trades

* Allow traders to comment on their bets

* Code cleanups

* Incorporate contract description into the feed

* Support description editing from contract feed

* Group together bets placed within 24h

* Fix build error

* Add a feed item for market resolution

* Add a feed item for markets that have closed

* Comment on a separate subcollection
2022-01-03 23:21:14 -08:00
Austin Chen
fb0e16d619
Add a closing date to Create Market (#10)
* Preview a slimmed-down version of /Create

* Rework dropdown to be on bottom

* Parse the close time as just before midnight

* Prevent invalid contracts from being created

* Prevent trading after contract has closed
2022-01-02 21:21:25 -08:00
jahooma
3ba96028f4 Parse tags to get unique ignoring case 2022-01-02 16:53:20 -06:00
mantikoros
907acec601
Mkt resolution 2: Enable MKT resolution (#16)
* new standard resolution; contract.totalBets; MKT resolution

* recalculate script

* enable resolve MKT

* different approach to resolve MKT

* comment out init

* Count payouts for bets with exluded sales

Co-authored-by: jahooma <jahooma@gmail.com>
2022-01-02 00:27:58 -06:00
mantikoros
5890b74225
Mkt resolution: new standard resolution (pay back bets first) (#15)
* new standard resolution; contract.totalBets; MKT resolution

* recalculate script

* Fix one bug and change script name

Co-authored-by: jahooma <jahooma@gmail.com>
2022-01-01 19:03:18 -06:00
jahooma
4db7e03b92 Switch to old current value calculation 2021-12-31 17:22:15 -06:00
jahooma
96d5ea0437 Add sort by tag 2021-12-31 13:41:41 -06:00
jahooma
a5e4411075 Load all contracts, and filter to 99 client-side. 2021-12-30 13:35:29 -05:00
Austin Chen
a9e1cbc0be
Point local server to prod Firebase for now (#13) 2021-12-29 23:31:26 -08:00
mantikoros
f48ae0170b
Sell bets (#12)
* sell bet

* dev mode

* single-pot no-refund payoff; bet selling

* Increase default fetch size 25 -> 99

* Fix about page numbering

* Don't flash no markets when loading on tag page.

* Change Title to use body font

* Make a bunch of predictions at once (#9)

* Set up a page to make bulk predictions

* Integrate preview into the same card

* List created predictions

* Make changes per James's comments

* Increase the starting balance (#11)

* Remove references to paying for our Mantic Dollars

* Update simulator to use new calculations

* Change simulator random to be evenly random again

* Sell bet UI

* Migrate contracts and bets script

* Add comment to script

* bets => trades; exclude sold bets

* change sale formula

* Change current value to uncapped sell value.

* Disable sell button while selling

* Update some 'bet' to 'trade'

Co-authored-by: Austin Chen <akrolsmir@gmail.com>
Co-authored-by: jahooma <jahooma@gmail.com>
2021-12-24 15:06:01 -06:00
James Grugett
ff4550fe51
Increase the starting balance (#11) 2021-12-21 13:52:27 -06:00
Austin Chen
9d438dc356
Make a bunch of predictions at once (#9)
* Set up a page to make bulk predictions

* Integrate preview into the same card

* List created predictions

* Make changes per James's comments
2021-12-20 22:29:32 -08:00
Austin Chen
f79d69cd69 Increase default fetch size 25 -> 99 2021-12-20 09:56:27 -08:00
Austin Chen
77e15e3aa8 Denormalize username to each contract 2021-12-17 23:27:29 -08:00
mantikoros
b5761baeaf raise start pool capital to M$200 2021-12-17 17:40:32 -06:00
mantikoros
03a3df261c contract slugs 2021-12-17 17:16:42 -06:00
mantikoros
756f31b1b7 rename contract properties 2021-12-17 16:15:09 -06:00
Austin Chen
022caa4407 Revert to URLs without @ 2021-12-17 10:55:18 -08:00
jahooma
9bf257ef64 Embed markets below landing page. Listen for market changes 2021-12-16 22:44:48 -06:00
jahooma
2c9f8e00bf Fix nextjs console error by not loading from localstorage immedately. Use layout effect instead. 2021-12-16 22:09:38 -06:00
jahooma
96791e11a5 Stop flash of landing page when signed in and loading '/' 2021-12-16 21:37:38 -06:00
mantikoros
99637d913d add meta tags to contract 2021-12-16 12:21:16 -06:00
jahooma
8abbc34652 Improve graph for resolved bets 2021-12-16 00:44:04 -06:00
mantikoros
9bd0ad7211 test 2021-12-15 22:20:39 -06:00
jahooma
83b4cc38b3 Show just payout column for resolved markets, tweak calculation and resolved labels. 2021-12-15 20:28:40 -06:00
Austin Chen
743616449f Prefix username URLs with @ 2021-12-15 18:26:38 -08:00
Austin Chen
9df78a4963 Support user profiles on /[username]
Currently all bets are also shown
2021-12-15 17:34:36 -08:00
Austin Chen
8e119a6338 Replace /contract/[id] with /[username]/[id] 2021-12-15 16:52:19 -08:00
jahooma
f32933f668 Bet calculation / UI updates 2021-12-15 17:27:02 -06:00
jahooma
e8f94f48e2 Update bet UI with market summary and computed columns 2021-12-15 16:58:38 -06:00
mantikoros
e281233924 contract now has dpmWeights 2021-12-15 16:44:22 -06:00
mantikoros
4b123d47ee change starting balance to 100 2021-12-15 16:27:57 -06:00
jahooma
fda5013bf8 Simple bets list 2021-12-15 01:41:56 -06:00
jahooma
344b06124f useUser: Listen for changes to logged in user 2021-12-14 18:45:13 -06:00
jahooma
6e61b38a9b Remove resolved panel, move info into contract overview. 2021-12-14 12:51:30 -06:00
mantikoros
b85d9035b0 lower new user starting balance to M$1000 2021-12-14 11:36:23 -06:00
Austin Chen
dc90c4fa74 Extract shared logic into ContractDetails 2021-12-14 02:23:32 -08:00
Austin Chen
d4bb419478 Prettier everything
(Hopefully for the last time)
2021-12-13 23:30:09 -08:00
jahooma
1562565f9a Try to fix build maximum fraction digits out of range error 2021-12-14 01:09:46 -06:00
jahooma
5c7a8e52c9 Fix type errors 2021-12-14 01:05:33 -06:00
jahooma
43941cd212 Simple market resolved panel 2021-12-14 00:12:25 -06:00
jahooma
15691c0a38 Query for user bets. Template page to show them. 2021-12-13 23:40:38 -06:00
Austin Chen
bae969058a Add a page which lists all markets
TODO: Add in functionality
2021-12-13 17:09:58 -08:00
mantikoros
5ffe266cf7 contract creation: use slug, calculate seed amounts from given probability 2021-12-13 19:07:36 -06:00
Austin Chen
e9c183a493 Allow users to sign in from /account
SQ
2021-12-13 10:37:16 -08:00
mantikoros
53907d2d52 user.balanceUsd => user.balance 2021-12-13 11:58:47 -06:00
mantikoros
cfd2f22254 simulator: quadratic price function, random bets, change table cols 2021-12-12 17:06:46 -06:00
jahooma
b216236503 Graph bets by afterProb. 2021-12-12 16:14:52 -06:00
jahooma
29e13497bf Add volume calculation. Remove new bet button that was unnecessary. 2021-12-10 22:09:32 -06:00
jahooma
e253b3beca Make bet panel calculate bet info and display it. 2021-12-10 21:51:35 -06:00
Austin Chen
fb9a690707 Run prettier 2021-12-10 17:20:52 -08:00
mantikoros
d95bef8ab3 placeBet 2021-12-10 18:06:17 -06:00
jahooma
77ce27f45f Submit bets to firestore 2021-12-10 11:14:05 -06:00
Austin Chen
d945dc894b Merge branch 'contract-page' into create-contract 2021-12-10 00:21:55 -08:00
Austin Chen
70e86155be Sort contracts by creation time 2021-12-09 23:08:28 -08:00
jahooma
7309096854 Merge branch 'main' into contract-page 2021-12-10 00:33:11 -06:00
jahooma
443b742c4a Implement skeleton ContractPage 2021-12-10 00:21:12 -06:00
Austin Chen
4f2c8bcdce Add back listenForContract 2021-12-09 21:01:44 -08:00
Austin Chen
09b4639198 Allow users to create new contracts 2021-12-09 20:54:40 -08:00
Austin Chen
89a7bd65d2 Standardize on useUser hook 2021-12-09 16:09:16 -08:00
Austin Chen
7ec3da5504
Allow logging in with Firebase (#2)
* Pin package.json to exact version

* Fix according to reviewer feedback
2021-12-09 15:33:01 -08:00
jahooma
1cd3e2f1be Add contract page 2021-12-09 16:44:04 -06:00
jahooma
c8b86a43b9 Add template contract page 2021-12-09 16:05:55 -06:00
Austin Chen
e41250a89b Upload basic Firebase Auth code 2021-12-09 15:31:20 -06:00
Austin Chen
2a3d9e6272 Add Firestore package and config 2021-12-09 15:31:20 -06:00
Austin Chen
021341331f Upload basic Firebase Auth code 2021-12-08 16:43:42 -08:00
Austin Chen
55ddb2a7d4 Add Firestore package and config 2021-12-08 16:43:42 -08:00
Austin Chen
634c0af85b
Finish porting simulator into React (#1)
* Preview bid results; toggle bid type

* Code cleanup: move hooks to where they're used

* Extract header to separate component

* Fix & reactify according to James's review

* Remove unnecessary useMemo

* Hack Chartjs type

* Add some notes on DX Todos

* Move non-page elements to lib/
2021-12-08 08:30:29 -08:00