Commit Graph

67 Commits

Author SHA1 Message Date
Ben Visness 25cc5ef11b Rework structure of project index. Need new copy. 2023-09-25 02:40:45 -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: #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
Jake Mason 1825e93b04 Compile .scss assets 2023-01-16 23:02:54 -05:00
Asaf Gartner 620533784a Fixed showcase modal again 2023-01-03 00:20:43 +02:00
Asaf Gartner 77ac6d4200 Fixed timeline item css in jam page and showcase modal 2023-01-03 00:16:25 +02:00
Ben Visness 9b3a972e37 Rework about page, finally
Start foundation / about page work

Add some job descriptions

Add Advocacy role

Make things look barely tolerable

Cloin'd

Better About intro

no fundo

Link from manifesto

swanky changes
2022-12-14 17:49:08 -06:00
Ben Visness b75b59aad5 Add highlight to currently-selected education course 2022-10-31 17:39:19 -05:00
Ben Visness 48af5e650d Better edu home page 2022-10-27 00:20:59 -05:00
Ben Visness 4e44ba0b45 Make articles responsive 2022-10-26 13:26:01 -05:00
Ben Visness 8eee541ccc Scrap the "resource" tag, make figures nice 2022-10-26 12:32:39 -05:00
Asaf Gartner 851f9e0f67 Fixed small logo css 2022-10-20 13:45:57 +03:00
Ben Visness 8121830561 Remove resources from the table of contents 2022-09-19 20:26:43 -05:00
bvisness d2b34cb87d Initial version of education content (#90)
Co-authored-by: Ben Visness <bvisness@gmail.com>
Reviewed-on: #90
2022-09-10 16:29:57 +00:00
Ben Visness a0cc2f5c66 Update auth flows 2022-08-13 14:15:00 -05:00
giggs 9e786e132d New buttons with project colors + small bugfix (#80)
Following the discussion on [#74](#74), here are changes to the submit buttons so that they match theme/project color.

Border colors are set to match the button background.

I've also included a "bugfix" where the `editor-toolbar-button-background` parameter in the dark theme.css and variables.scss were missing the # sign.

I wasn't sure whether to remove the `form button` values from theme.css and variables.scss and left them, as I'm not sure they're used anywhere now

Reviewed-on: #80
Co-authored-by: giggs <darkgiggsxx@gmail.com>
Co-committed-by: giggs <darkgiggsxx@gmail.com>
2022-08-13 02:13:13 +00:00
Asaf Gartner 822a489c09 Don't center file links in snippets. 2022-08-09 12:33:52 +03:00
Ben Visness 7ea11ebd51 Bam that's the rest of the todo list 2022-08-06 23:43:15 -05:00
Ben Visness 4289a1e27a Improvements to snippet edit 2022-08-06 22:32:29 -05:00
Asaf Gartner 89b1e48e69 Code review 2022-08-06 00:42:08 +03:00
Asaf Gartner efc7d76cb7 Snippet creation and editing 2022-08-06 00:41:37 +03:00
Ben Visness 09652c4146 Re-apply the avatar change
It was only made to CSS and we overwrote it...
2022-08-03 18:59:48 -05:00
Ben Visness e84754eda0 Add last year's projects to the jam page 2022-08-02 14:56:47 -05:00
giggs 85c8c92a0c Non square avatars no more squeeshed (#76)
Avatars don't get squeeshed anymore

[#15](#15)

Please ignore the commit history, still learning git

Reviewed-on: #76
Co-authored-by: giggs <darkgiggsxx@gmail.com>
Co-committed-by: giggs <darkgiggsxx@gmail.com>
2022-07-29 16:05:42 +00:00
Ben Visness f8aa839353 Update conference page design / copy 2022-07-26 11:34:05 -05:00
Ben Visness 7a6f2a7d4b Remove the code of conduct, tweak the communication guidelines
The code of conduct has historically not been of much use, while the
communication guidelines are more tangible. The two are also just kind
of redundant.
2022-02-13 16:24:01 -06:00
Asaf Gartner b2a2b49abe Added the search bar to the footer 2022-02-10 22:27:28 +02:00
Ben Visness 73824a027b Add tag management to projects
Also rearrange that ProjectAndLogos stuff because agh it was so weird
2021-12-07 21:37:52 -06:00
Ben Visness 693e00d494 Merge remote-tracking branch 'origin/live' into beta 2021-10-27 22:51:22 -05:00
Ben Visness 60aef6d032 Fix mobile nav issues and add circuit logo 2021-10-27 22:44:08 -05:00
Ben Visness 949e93791e Fix nav issues on mobile 2021-10-27 22:05:31 -05:00
Ben Visness 4e47c51fa1 Add back project nav 2021-10-27 21:55:42 -05:00
Ben Visness f8d5f9fce5 Rework the home page 2021-10-27 21:55:40 -05:00
Ben Visness 7d422cb533 Timeline template logic updates 2021-10-27 21:55:40 -05:00
Ben Visness 09e6a15085 Rejigger timelines to avoid explicit types 2021-10-27 21:55:39 -05:00
Ben Visness ccdbad8978 Rework the nav for projects 2.0 2021-10-27 21:55:38 -05:00
Asaf Gartner c224ad55b9 Added file dialog, image pasting, and progress UI 2021-09-22 13:59:03 +03:00
Ben Visness 7e4116359a Improve appearance of option bars on mobile 2021-09-08 23:01:21 -05:00
Asaf Gartner c76ea45ca9 Replaced relogin rejection with a notice and proper redirect. 2021-09-05 22:50:15 +03:00
Ben Visness 6aa705d5cc Random CSS I dunno 2021-09-01 21:41:39 -05:00
Ben Visness 1f39b166cb Make many improvements and fixes to the markdown experience 2021-09-01 01:15:13 -05:00
Ben Visness 1ac867fded Make forum anchors more pleasant 2021-08-30 18:57:44 -05:00
Ben Visness bc39b4c0b7 Clean up TODOs 2021-08-28 12:07:45 -05:00
Ben Visness f7c754e53b Style tweaks 2021-08-28 08:43:11 -05:00
Ben Visness 0179ee1993 Use the new font on the logo 2021-08-28 07:33:20 -05:00
Ben Visness a655fe96bc Fix up remaining project colors 2021-08-28 07:14:49 -05:00
Ben Visness 73a20a9a93 Add jam page 2021-08-28 06:26:17 -05:00
Ben Visness 67b86720a9 Add user edit form
Add most of the user settings backend

still need to do discord lol

Add the Discord settings

Add avatar uploads
2021-08-27 17:18:02 -05:00
Asaf Gartner 660f65ba95 Registration flow and email 2021-08-08 23:05:52 +03:00
Ben Visness c3e067fa44 Add blog indexes 2021-08-02 20:52:46 -05:00