Skip to content

Conversation

@jlengstorf
Copy link
Contributor

Very early start of coding up the new hackathon landing page designs.

Very early start of coding up the new hackathon landing page designs.
@netlify
Copy link

netlify bot commented Aug 9, 2025

Deploy Preview for codetv-links ready!

Name Link
🔨 Latest commit cd67a7d
🔍 Latest deploy log https://app.netlify.com/projects/codetv-links/deploys/6945b962e0d16b00089690a0
😎 Deploy Preview https://deploy-preview-52--codetv-links.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@netlify
Copy link

netlify bot commented Aug 9, 2025

Deploy Preview for codetv-automations ready!

Name Link
🔨 Latest commit cd67a7d
🔍 Latest deploy log https://app.netlify.com/projects/codetv-automations/deploys/6945b962b7cec70007c7589e
😎 Deploy Preview https://deploy-preview-52--codetv-automations.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@netlify
Copy link

netlify bot commented Aug 9, 2025

Deploy Preview for codetv ready!

Name Link
🔨 Latest commit cd67a7d
🔍 Latest deploy log https://app.netlify.com/projects/codetv/deploys/6945b96116d54b00084316df
😎 Deploy Preview https://deploy-preview-52--codetv.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

jlengstorf and others added 26 commits August 13, 2025 08:47
- simplifies episode object
… queries

- Introduced a new optional submissionForm field in the hackathon document schema.
- Updated the hackathon query to include submissionForm.
- Adjusted types to accommodate the new field.
… into feat/hackathon-landing-pages"

This reverts commit 08b4849, reversing
changes made to d7e33c9.
- Replaced the existing FAQ schema with a new structure in faqs.ts.
- Introduced a new rules schema in rules.ts and updated the hackathon document to reference it.
- Removed obsolete rule-item schema and adjusted related fields in rewards and hackathon documents.
- Added new list items for 'Rules' and 'Hackathons' in the content structure.
- Updated the filter to exclude 'Rules' and 'Hackathon' from the document type list items.
- Reordered the list to include 'Episodes' after 'Rules' for better organization.
- Introduced a new 'weight' field to the rules schema to determine the order of rules.
- Updated the selection display to show '(Default)' for rules marked as default.
…nd array references

- Added a 'weight' field to the FAQ and rewards schemas to determine the order of items.
- Updated the hackathon schema to use array references for rewards, FAQs, and rules, allowing multiple entries.
- Modified initial value fetching for rewards, FAQs, and rules to prioritize items marked as default and order them by weight.
- Eliminated the 'featured' field from the hackathon document schema to streamline the structure and focus on essential attributes.
…ferences

- Updated the 'sponsors' field in the hackathon schema to support multiple sponsors as an array of references, enhancing flexibility in sponsor management.
Creeland and others added 21 commits October 24, 2025 19:17
…#55)

* fix: force redirect back to form after sign in AND sign up

* fix: add fallback check for ID on new account creation

* feat: Apollo hackathon announcement

* feat(post): CSS layers in Astro (#53)

* wip: new post

* feat: Apollo hackathon announcement

* feat: update newsletter title and sharing details

* wip: kinda there

* feat: post on CSS overrides in Astro with layers

---------

Co-authored-by: Jason Lengstorf <jason@codetv.dev>

* feat: redirects

* feat: update eyebrow

* feat: update Discord redirect

* feat: add shortlinks

* fix: move redirects to the right place

* feat: hackathon for Hashbrown

* feat: update hackathon

* fix: redirect

* feat: add goose link

* feat: add shortlink

* wip: add hackathon document schema and integrate into content types

* feat: WDC S2.E10 hackathon (#54)

* feat: WDC S2.E10 hackathon

* feat: goose hackathon

---------

Co-authored-by: Jason Lengstorf <jason@codetv.dev>

* fix: comment out required validation for share image in hackathon schema

* feat: enhance content structure by adding 'Episodes' list item to sanity configuration

* feat: add 'hackathons' field to episode schema for related hackathon associations

* feat: add 'episodes' field to hackathon schema for related episode associations

* feat: add queries for fetching all hackathons and individual hackathon by slug

* feat: redirects for WDC S2.E11

* feat: DevSquares

* fix: redirect to player view

* feat: add FAQ document schema and integrate into content structure

* feat: add Rewards and FAQ document schemas, enhance content structure with new list items

* refactor: add rewards and faq fields to hackathon document with default values

* feat: introduce resourceItem and ruleItem schemas, enhance hackathon document with rules and resources fields

* feat: add sponsor reference to hackathon document

* feat: add deadline field to hackathon document schema

* feat: update hackathon by slug query

- simplifies episode object

* feat: add submissionForm field to hackathon schema and update related queries

- Introduced a new optional submissionForm field in the hackathon document schema.
- Updated the hackathon query to include submissionForm.
- Adjusted types to accommodate the new field.

* Revert "Merge branch 'main' of https://github.com/codetv-dev/codetv.dev into feat/hackathon-landing-pages"

This reverts commit 08b4849, reversing
changes made to d7e33c9.

* feat: refactor FAQ and rules schema, update hackathon document

- Replaced the existing FAQ schema with a new structure in faqs.ts.
- Introduced a new rules schema in rules.ts and updated the hackathon document to reference it.
- Removed obsolete rule-item schema and adjusted related fields in rewards and hackathon documents.

* feat: update content structure in sanity.config.ts

- Added new list items for 'Rules' and 'Hackathons' in the content structure.
- Updated the filter to exclude 'Rules' and 'Hackathon' from the document type list items.
- Reordered the list to include 'Episodes' after 'Rules' for better organization.

* feat: add weight field to rules schema and update selection display

- Introduced a new 'weight' field to the rules schema to determine the order of rules.
- Updated the selection display to show '(Default)' for rules marked as default.

* feat: enhance FAQ, rewards, and hackathon schemas with weight field and array references

- Added a 'weight' field to the FAQ and rewards schemas to determine the order of items.
- Updated the hackathon schema to use array references for rewards, FAQs, and rules, allowing multiple entries.
- Modified initial value fetching for rewards, FAQs, and rules to prioritize items marked as default and order them by weight.

* refactor: remove 'featured' field from hackathon schema

- Eliminated the 'featured' field from the hackathon document schema to streamline the structure and focus on essential attributes.

* refactor: update content schema

* refactor: update rewards and FAQ data structure in hackathon query

* refactor: change sponsors field in hackathon schema to an array of references

- Updated the 'sponsors' field in the hackathon schema to support multiple sponsors as an array of references, enhancing flexibility in sponsor management.

* feat: add sponsors field to hackathon query

* feat: run sanity typegen

* refactor: remove 'featured' references from hackathon schema and query

- Eliminated the 'featured' property from the hackathon schema and its related query to streamline the data structure and focus on essential attributes.

---------

Co-authored-by: Jason Lengstorf <jason@codetv.dev>
Co-authored-by: Jason Lengstorf <jason@lengstorf.com>
… into feat/hackathon-landing-pages"

This reverts commit 08b4849, reversing
changes made to d7e33c9.
- Introduced 'hero_image' and 'hero_title' fields to the hackathon document schema for enhanced content presentation.
- Updated related queries and types to accommodate the new fields.
- Adjusted indentation and formatting for better code clarity.
- Simplified conditional rendering of hackathon description.
- Updated the handling of playback IDs for video components.
- Updated hero image logic to prioritize 'hero_image' over 'share_image' and added fallback options.
- Introduced a new hero title variable that defaults to 'hackathon.title' or a specified string.
- Improved layout styles for the hero section to enhance visual presentation.
- Improved layout and styling of the submission block to ensure proper centering and responsiveness across all screen sizes.
- Added descriptive text to guide users on app submission requirements and deadlines.
- Refined button styles for better visibility and interaction.
- Added an optional 'link' prop to the card component for wrapping images and titles in anchor tags.
- Updated rendering logic to conditionally display links based on the presence of the 'link' prop.
- Improved CSS to accommodate the new link structure, ensuring proper layout and styling.
- Replaced individual video player components with a unified VideoPlayer component for better maintainability.
- Simplified hero image logic to streamline fallback handling and improve readability.
- Enhanced conditional rendering for episode videos to support both YouTube and Mux formats.
- Integrated Cloudinary functions to streamline image URL generation and default image handling.
- Ensured consistent title rendering across hackathon cards and pages by removing fallback logic.
- Updated types to enforce required title fields for hackathons, enhancing data integrity.
Co-authored-by: Jason Lengstorf <jason@codetv.dev>
Co-authored-by: Jason Lengstorf <jason@codetv.dev>
- Improved the handling of resources, rules, FAQs, sponsors, and rewards by checking their existence before rendering.
- Refactored the primary sponsor retrieval logic to ensure it only accesses available sponsors.
- Updated the rendering logic for resources, rules, FAQs, and rewards to utilize mapped data for better clarity and maintainability.
- Added comments to address future improvements related to type handling in the Sanity Typegen.
@jlengstorf jlengstorf marked this pull request as ready for review November 18, 2025 02:59
jlengstorf and others added 8 commits November 18, 2025 18:29
… into feat/hackathon-landing-pages"

This reverts commit 08b4849, reversing
changes made to d7e33c9.
* feat: add submission form for Web Dev Challenge

- Introduced a new submission page for the Web Dev Challenge, allowing users to submit their applications.
- Implemented form handling with basic validation for required fields.
- Added user feedback for successful submissions and error handling.
- Included terms and conditions for participants, along with options for sponsorship preferences.

* feat: add functionality to retrieve current active hackathon

- Implemented a new function to fetch the current active hackathon from Sanity.
- Updated the schema to include validation for the new hackathon retrieval endpoint.
- Added a GROQ query to efficiently retrieve active hackathon details, including associated media and rewards.

* feat: enhance getActiveHackathon function and integrate into workflow

- Updated getActiveHackathon to use await for fetching data, ensuring proper asynchronous handling.
- Added the getCurrentActiveHackathon function to the integrations and exported it for use in the main functions array.
- Improved null handling in getActiveHackathon to return null if no active hackathon is found.

* feat: getting user, hackathon, discord in inngest function

- Added form submission logic to the hackathon submission page, sending data to Inngest for processing.
- Introduced a new Inngest function to handle hackathon submissions, including user data retrieval and validation.
- Updated the schema to define the structure of hackathon submission data, ensuring proper validation.

* feat: add hackathon submission schema and integration

- Introduced a new schema for hackathon submissions, defining fields for participant details and submission metadata.
- Updated the person schema to include hackathon participation tracking.
- Implemented Inngest functions to handle hackathon submission creation and retrieval of participant data.
- Enhanced the website integration to process and store hackathon submissions effectively.

* feat: add badge functionality for hackathon participants

- Introduced a new Inngest function to assign badges to users, specifically for hackathon participants.
- Updated Discord configuration to include a role ID placeholder for hackathon participants.
- Enhanced the schema to validate badge assignment events.
- Integrated badge assignment into the hackathon submission workflow on the website.

* feat: enhance Clerk client initialization and add user badge functionality

- Updated Clerk client initialization to use lazy loading, ensuring environment variables are loaded at runtime.
- Improved error handling for missing CLERK_SECRET_KEY with a more descriptive message.
- Added a new Inngest function to assign user badges, integrating it into the existing functions array.
- Updated Discord configuration to include the correct role ID for hackathon participants.

* feat: add hackathon sheet integration and submission handling

- Introduced a new Inngest function to append hackathon submission data to a Google Sheet.
- Updated the configuration to include a new hackathon sheet reference.
- Enhanced the existing schema to validate hackathon submission data.
- Integrated the hackathon sheet appending functionality into the hackathon submission workflow on the website.

* feat: add hackathon association functionality for persons

- Introduced new Inngest functions to associate persons with hackathons and hackathon submissions.
- Updated the schema to include fields for hackathon submissions in the person document.
- Enhanced the website integration to invoke these new functions during the hackathon submission process.
- Improved the Sanity client to handle associations and ensure data integrity.

* chore: trim down the hackathon-submission schema

* refactor: simplify hackathon submission parameters

- Removed unnecessary fields (email, fullName, agreeTerms, optOutSponsorship) from the hackathon submission schema.
- Made deployedUrl optional and ensured proper handling of undefined values.

* fix: Removed the requirement for the deployed URL field in the hackathon submission form

- Removed the requirement for the deployed URL field in the hackathon submission form.
- Updated the handling of the deployed URL to ensure it defaults to an empty string if not provided.
- Revised the label for the deployed URL input to indicate it is optional.

* feat: implement helper function to append rows to Google Sheets

- Added a new `appendToSheet` function to facilitate appending rows to Google Sheets with automatic timestamping.
- Refactored existing `appendValue` and `appendHackathonValue` functions to utilize the new helper for cleaner code and improved maintainability.
- Updated error handling to return detailed error information when appending fails.

* refactor: consolidate hackathon and general sheet row appending logic

- Removed the separate `hackathonSheetRowAppend` function and integrated its logic into the existing `sheetRowAppend` function.
- Updated the `sheetRowAppend` function to handle both general and hackathon-specific data based on the `formType` field.
- Adjusted the schema to unify the data structure for sheet appending, enhancing maintainability and reducing redundancy.

* refactor: optimize hackathon submission handling with parallel execution

- Consolidated the invocation of Discord user ID retrieval and hackathon submission creation into a single Promise.all call for improved performance.
- Streamlined the association of persons with hackathons and submissions, ensuring all related operations are executed in parallel.
- Enhanced the clarity and maintainability of the code by reducing nested calls and improving the structure of the submission workflow.

* feat: add demo video field to hackathon submission

- Introduced a new field for demo video links in the hackathon submission schema, allowing participants to provide a URL to showcase their projects.
- Updated the submission form to include an input for the demo video, enhancing the user experience by allowing optional video submissions.
- Adjusted the handling of submission data to accommodate the new demo video field across relevant integrations and services.

* feat: implement addRoleIfMissing function for role management

- Added a new helper function `addRoleIfMissing` to streamline the process of adding roles to Discord members, ensuring roles are only added if they are not already present.
- Refactored existing role assignment logic in the `addAlumniRole`, `addUserBadge`, and `discordUpdateUserRole` functions to utilize the new helper, improving code clarity and reducing redundancy.

* feat: consolidate Discord role management into updateUserRole function

- Replaced the deprecated addAlumniRole and addUserBadge functions with a new updateUserRole function to streamline role assignment for Discord users.
- Updated the role assignment logic to handle both alumni and badge roles, improving code clarity and maintainability.
- Adjusted relevant integrations to utilize the new function, ensuring consistent role management across the application.

* refactor: remove deprecated Discord role events from schema

- Eliminated legacy events 'discord/user.alumni-role.add' and 'discord/user.badge.add' from the Discord integration schema, as they are no longer in use.
- Updated the schema to streamline role management by focusing on the current 'discord/user.role.add' event, enhancing clarity and maintainability.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants