Commit Graph

156 Commits

Author SHA1 Message Date
Ben Visness e011ec4553 New jam logo 2024-07-05 10:28:22 -05:00
Ben Visness bcc27b06d9 Visibility jam landing page 2024-07-04 16:45:37 -05:00
Asaf Gartner c5c773e82a Image selector errors 2024-07-03 10:59:40 +03:00
Ben Visness dffd1c94b5 Add a profile dropdown menu 2024-07-02 22:58:33 -05:00
Ben Visness 22c70cda8e Add live preview of project card stuff 2024-07-02 22:11:41 -05:00
Ben Visness 51ad8d03d4 Add interactive link previews 2024-07-02 21:23:39 -05:00
Ben Visness ba86da3374 Make the home page remember what tab you were on 2024-06-29 15:52:58 -05:00
Ben Visness 46afc573f6 Add project authors, improve user profiles 2024-06-29 14:18:26 -05:00
Ben Visness a6cfeb9c95 Various project and login improvements 2024-06-29 11:39:18 -05:00
Ben Visness 9093f38b47 Update project index a bit, track snippet updates for project recency 2024-06-28 22:37:05 -05:00
Ben Visness 06b270514c Overhaul CSS vars 2024-06-27 17:34:09 -05:00
Ben Visness 38cda22be9 Fix following button when logged out 2024-06-24 13:56:35 -05:00
Ben Visness 163eba8475 Add all tabs to home page 2024-06-24 13:36:50 -05:00
Ben Visness fe051080a6 Random styles 2024-06-24 12:24:30 -05:00
Ben Visness f42990ef96 Improve appearance of snippets per new styles 2024-06-23 13:05:36 -05:00
Asaf Gartner 497fda3251 Snippet page and edit 2024-06-23 17:12:20 +03:00
Ben Visness 81cb17b6eb Man whatever 2024-06-23 08:40:50 -05:00
Ben Visness 86825f1c09 Add projects / following UI to home page 2024-06-21 20:13:20 -05:00
Ben Visness 7144db58ed Start scaffolding landing page 2024-06-21 17:40:18 -05:00
Asaf Gartner f37635829d Replaced :invalid with :user-invalid so inputs won't be invalid on page load 2024-06-20 18:28:42 +03:00
Ben Visness 9537fef995 Update a bunch of colors for light mode 2024-06-17 19:39:21 -05:00
Ben Visness 75e21ccbe9 Handle empty project links correctly 2024-06-07 10:35:57 -04:00
Asaf Gartner 7410fbcd4a EsBuild with on-request rebuild and hot-reloading 2024-06-07 10:30:02 -04:00
Ben Visness d0c7605029 Reworked project edit page (no preview yet) 2024-06-07 10:30:01 -04:00
Ben Visness be7440acce New project home pages (incomplete) 2024-06-07 10:27:40 -04:00
Ben Visness 1a0be1912e Implement new header / footer (mostly) 2024-06-07 10:27:20 -04:00
Ben Visness 19a8c6bf0d Mostly convert old styles to plain CSS
wow there is a lot of garbage in here
2024-06-07 10:27:20 -04:00
Ben Visness 22265c9081 Add upcoming jam page 2024-05-08 21:01:04 -05:00
Ben Visness 1e5c0c7b42 Icons, favicons, jam index fix 2024-02-11 10:15:13 -06:00
Ben Visness 16e4b0327f Opengraph and banner 2024-02-10 22:06:43 -06:00
Ben Visness 97e6c74c52 Many change for great good yes 2024-02-10 20:54:13 -06:00
Ben Visness c5e458be8c Lay out top section 2024-02-09 15:02:58 -06:00
Ben Visness 25cc5ef11b Rework structure of project index. Need new copy. 2023-09-25 02:40:45 -05:00
Ben Visness 2e3cb658af Add banner image for emails 2023-09-16 16:26:07 -05:00
Ben Visness 6616e72ca6 Copy updates for WRJ2023 2023-09-01 19:33:18 -05:00
Asaf Gartner fdc7582701 Added WRJ2023 2023-09-01 17:35:40 +03:00
Ben Visness ad62793262 Add Leonard 2023-07-21 21:55:58 -05:00
Ben Visness 922690244d Add Agustin's second submission (oops) 2023-07-19 21:13:20 -05:00
Ben Visness 7b2d016fe2 Add agus_dev's submission 2023-07-12 18:06:53 -05:00
Ben Visness 8aa18901b2 Add NCommander Win98 submission 2023-06-19 14:20:44 -05:00
Ben Visness 1ea9fbefbc Merge branch 'feature/time_machine_page' 2023-06-01 21:08:54 -05:00
Ben Visness 2d61286831 Add OpenGraph assets 2023-06-01 13:56:35 -05:00
Ben Visness be888a98f1 Style updates + splash 2023-05-31 20:35:09 -05:00
Ilia Demianenko 43b9f993dc Add testing fishbowl 2023-05-28 00:51:52 -07:00
Ben Visness cdacc5b3a0 Use new thumbnails 2023-05-18 22:07:14 -05:00
bvisness 0210a0784b Add Discord login (#106)
This leverages our existing Discord OAuth implementation. Any users with a linked Discord account will be able to log in immediately. When logging in, we request the `email` scope in addition to `identity`, so existing users will be prompted one time to accept the new permissions. On subsequent logins, Discord will skip the prompt.

When linking your Discord account to an existing HMN account, we continue to only request the `identity` scope, so we do not receive the user's Discord email.

Both login and linking go through the same Discord OAuth callback. All flows through the callback try to achieve the same end goal: a logged-in HMN user with a linked Discord account.

Linking works the same as it ever has. Login, however, is different because we do not have a session ID to use as the OAuth state. To account for this, I have added a `pending_login` table that stores a secure unique ID and the eventual destination URL. These pending logins expire after 10 minutes. When we receive the OAuth callback, we look up the pending login by the OAuth `state` and immediately delete it. The destination URL will be used to redirect the user to the right place.

If we have a `discord_user` entry for the OAuth'd Discord user, we immediately log the user into the associated HMN account. This is the typical login case. If we do not have a `discord_user`, but there is exactly one HMN user with the same email address as the Discord user, we will link the two accounts and log into the HMN account.

(It is possible for multiple HMN accounts to have the same email, because we don't have a uniqueness constraint there. We fail the login in this case rather than link to the wrong account.)

Finally, if no associated HMN user exists, a new one will be created. It will use the Discord user's username, email, and avatar. This user will have no password, but they can set or reset a password through the usual flows.

Co-authored-by: Ben Visness <bvisness@gmail.com>
Reviewed-on: hmn/hmn#106
2023-05-06 19:38:50 +00:00
Ben Visness 1b1c25da80 Fix CSS issue on jams page 2023-04-22 11:31:14 -05:00
Ben Visness e4dd15d248 Add all jams index 2023-04-22 11:26:07 -05:00
Ben Visness 79c4c14631 Add jam recap (not yet shown off properly) 2023-04-21 23:11:32 -05:00
Jake Mason 0ccf3aba1a Add handmade cities banner v1 2023-03-24 17:38:24 -04:00