Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
81 commits
Select commit Hold shift + click to select a range
0ec7c6b
Setup nextjs project
Jul 3, 2023
391f8ff
Add nextjs code
Jul 3, 2023
b7fa901
Getting ready for some stuff
Jul 7, 2023
3ebcc8e
Ignore all env files
JeffBaumgardt Jul 14, 2023
1c23d89
Quick stuff
JeffBaumgardt Jul 17, 2023
4dff555
Cleanup navbar. More to come. Just wanted a new base.
JeffBaumgardt Jul 21, 2023
6798152
Minor nav cleanup and prepping for content to change from blog/post t…
JeffBaumgardt Jul 22, 2023
f2ca5b8
Remove categories
JeffBaumgardt Jul 23, 2023
56c68c5
Add the speakers file and update queries/client calls to work with sp…
JeffBaumgardt Jul 29, 2023
304cd94
Speakers and Events. Posts and authors to be removed soon.
JeffBaumgardt Jul 31, 2023
f4f8cbd
Remove post/author pages and schemas
JeffBaumgardt Aug 3, 2023
caaf6a9
random lint fix
JeffBaumgardt Aug 3, 2023
c7f8adc
Add organizers schema, pages and route. Also adjust some small css st…
JeffBaumgardt Aug 16, 2023
4ed8931
Clean consols
JeffBaumgardt Aug 19, 2023
dc90682
Add names to image cards for speakers and orgs
JeffBaumgardt Aug 19, 2023
fb565c2
Add event date and tito slug to event metadata
JeffBaumgardt Aug 19, 2023
ed0dc66
Update event dates on page.
JeffBaumgardt Aug 19, 2023
e6d44a0
Cleanup
JeffBaumgardt Aug 23, 2023
f5abc7e
Adding validation on schema fields to make them required.
JeffBaumgardt Aug 29, 2023
4f472c0
Update pnpm lock
JeffBaumgardt Sep 2, 2023
478eced
converting contact to sign-up (#60)
JeffBaumgardt Sep 6, 2023
578b15c
Ignore env and all sub env files. Also the .idea directory.
JeffBaumgardt Sep 7, 2023
140dd3e
Remove idea directory from origin.
JeffBaumgardt Sep 7, 2023
a33a002
Event signup form (#59)
pacalabre Sep 8, 2023
b27addc
Fix sort on events. Adjust speakers and organizers to show more than 3.
JeffBaumgardt Sep 8, 2023
00a2e62
Merge branch 'nextjs' of https://github.com/reactdenver/reactdenver.c…
JeffBaumgardt Sep 8, 2023
52dcbb3
Added SVG Icons for social links in speaker bio.
pacalabre Sep 9, 2023
1fa6d11
Added hover states to each social icon.
pacalabre Sep 9, 2023
8214347
Updated social icons to show brand colors on hover.
pacalabre Sep 9, 2023
b765b0f
Convert twitter to X.
JeffBaumgardt Sep 9, 2023
49a37a4
Update the tito api's to use the api route. Move fetch to seperate fi…
JeffBaumgardt Sep 9, 2023
01ee6f6
Created a component for each social media list item and made its own …
pacalabre Sep 12, 2023
a09ed38
Changed names of social icon files.
pacalabre Sep 12, 2023
9ffb86d
Merge pull request #61 from reactdenver/social-icons
pacalabre Sep 12, 2023
f558859
Shuffle the speakers on each render. Don't show preference.
JeffBaumgardt Sep 13, 2023
41c0ef6
Merge branch 'nextjs' of https://github.com/reactdenver/reactdenver.c…
JeffBaumgardt Sep 13, 2023
edcb056
fixes
JeffBaumgardt Sep 13, 2023
fc0a17d
more updates
JeffBaumgardt Sep 13, 2023
c7b7cba
Bump nextjs ver
JeffBaumgardt Sep 13, 2023
6bde968
Add social links to organizers and double up on the whole twitter / x…
JeffBaumgardt Sep 13, 2023
01e86d2
Fixes more fixes
JeffBaumgardt Sep 13, 2023
2806da5
Corrected dates.
JeffBaumgardt Sep 13, 2023
cb0a8db
Fix utc dates with offsets, hopefully.
JeffBaumgardt Sep 13, 2023
66ee775
formatWithOffset
JeffBaumgardt Sep 13, 2023
5e2d8a2
Merge branch 'main' of https://github.com/reactdenver/reactdenver.com…
JeffBaumgardt Sep 13, 2023
e0cb446
Make the featured header full width
JeffBaumgardt Sep 13, 2023
99feaf3
Change out the footer with a link to netlify.
JeffBaumgardt Sep 15, 2023
1bb710b
Fix time, address theme switch.
JeffBaumgardt Sep 18, 2023
be59c37
Fix shadcn ts error
JeffBaumgardt Sep 18, 2023
0fc047c
Add location information when available.
JeffBaumgardt Sep 18, 2023
24fde88
Fix registration dates.
JeffBaumgardt Sep 19, 2023
6a4af5b
Fix timezones
JeffBaumgardt Sep 19, 2023
5707b28
Fix
JeffBaumgardt Sep 19, 2023
f5e0840
I wonder
JeffBaumgardt Sep 19, 2023
6dc9c87
Make theme switch button trigger accessiable.
JeffBaumgardt Sep 23, 2023
1b17e37
Adding CoC
JeffBaumgardt Sep 23, 2023
9741f7f
fix signup
JeffBaumgardt Sep 23, 2023
137f842
Update next.js
JeffBaumgardt Oct 11, 2023
3abdfe3
Update events to show the top 7 correctly for the home page. Add meta…
JeffBaumgardt Oct 11, 2023
ae5960c
Woops
JeffBaumgardt Oct 11, 2023
ffcad0d
Setup meta data for all events and speakers
JeffBaumgardt Oct 11, 2023
67ca794
Update speaker and organizer metadata
JeffBaumgardt Oct 11, 2023
a3dfa81
Update metadata fields for OG
JeffBaumgardt Oct 11, 2023
30ed727
Poke
JeffBaumgardt Oct 11, 2023
4b081a0
Don't use bio, it's an array for some reason.
JeffBaumgardt Oct 11, 2023
dec7798
Woops
JeffBaumgardt Oct 11, 2023
97ff0f0
Add email sub popup for extra email cta
JeffBaumgardt Oct 19, 2023
9f7948c
Actually add the components this time. :)
JeffBaumgardt Oct 19, 2023
6326d9b
Add socials links in footer.
JeffBaumgardt Oct 19, 2023
43c887b
Fix some queries. Groq is not a fun syntax for queries.
JeffBaumgardt Oct 20, 2023
b0e6a58
More query updates
JeffBaumgardt Oct 20, 2023
9543a6d
Updates to a few packages. Not the full lot yet.
Feb 8, 2024
79519d5
Revallidate on the main page after 60s. This makes it so I don't need…
Feb 8, 2024
8bdcc71
Add discord links. Need to drive more traffic there.
Feb 8, 2024
68d9402
Add pnpm-lock
Feb 8, 2024
289c904
Add the revalidate
Feb 16, 2024
bfc52bc
Update the things. And fix the jam.dev link.
Feb 16, 2024
988a24f
No frozen lock file
Feb 16, 2024
142a7c4
Weird suspense boundry error.
Feb 16, 2024
0681575
More suspense stuff
Feb 16, 2024
c4b1927
Update Discord link in Navbar and NavbarAlt components; remove Twitte…
JeffBaumgardt Oct 25, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .eslintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"extends": "next/core-web-vitals"
}
5 changes: 4 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,11 @@
*.log
.DS_Store
.env
.env.*
/.cache
/public/build
/build
/.netlify
/.vscode
/.vscode
/.next
/.idea
1 change: 1 addition & 0 deletions .prettierrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{}
11 changes: 11 additions & 0 deletions .sanity/runtime/app.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@

// This file is auto-generated on 'sanity dev'
// Modifications to this file is automatically discarded
import {renderStudio} from "sanity"
import studioConfig from "../../sanity.config.ts"

renderStudio(
document.getElementById("sanity"),
studioConfig,
{reactStrictMode: false, basePath: "/"}
)
203 changes: 203 additions & 0 deletions .sanity/runtime/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,203 @@
<!DOCTYPE html><html lang="en">
<!--
This file is auto-generated from "sanity dev".
Modifications to this file are automatically discarded.
-->
<head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover"/><meta name="robots" content="noindex"/><meta name="referrer" content="same-origin"/><link rel="icon" href="/static/favicon.ico" sizes="any"/><link rel="icon" href="/static/favicon.svg" type="image/svg+xml"/><link rel="apple-touch-icon" href="/static/apple-touch-icon.png"/><link rel="manifest" href="/static/manifest.webmanifest"/><title>Sanity Studio</title><script>
;(function () {
var _caughtErrors = []

var errorChannel = (function () {
var subscribers = []

function publish(msg) {
for (var i = 0; i < subscribers.length; i += 1) {
subscribers[i](msg)
}
}

function subscribe(subscriber) {
subscribers.push(subscriber)

return function () {
var idx = subscribers.indexOf(subscriber)

if (idx > -1) {
subscribers.splice(idx, 1)
}
}
}

return {publish, subscribe, subscribers}
})()

// NOTE: Store the error channel instance in the global scope so that the Studio application can
// access it and subscribe to errors.
window.__sanityErrorChannel = {
subscribe: errorChannel.subscribe,
}

function _nextTick(callback) {
setTimeout(callback, 0)
}

function _handleError(error, params) {
_nextTick(function () {
// - If there are error channel subscribers, then we notify them (no console error).
// - If there are no subscribers, then we log the error to the console and render the error overlay.
if (errorChannel.subscribers.length) {
errorChannel.publish({error, params})
} else {
console.error(error)

_renderErrorOverlay(error, params)
}
})
}

var ERROR_BOX_STYLE = [
'background: #fff',
'border-radius: 6px',
'box-sizing: border-box',
'color: #121923',
'flex: 1',
"font-family: -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue','Liberation Sans',Helvetica,Arial,system-ui,sans-serif",
'font-size: 16px',
'line-height: 21px',
'margin: 0 auto',
'max-width: 960px',
'overflow: auto',
'padding: 20px',
'width: 100%',
].join(';')

var ERROR_CODE_STYLE = [
'color: #972E2A',
"font-family: -apple-system-ui-monospace, 'SF Mono', Menlo, Monaco, Consolas, monospace",
'font-size: 13px',
'line-height: 17px',
'margin: 0',
].join(';')

function _renderErrorOverlay(error, params) {
var errorElement = document.querySelector('#__sanityError') || document.createElement('div')
var colno = params.event.colno
var lineno = params.event.lineno
var filename = params.event.filename

errorElement.id = '__sanityError'
errorElement.innerHTML = [
'<div style="' + ERROR_BOX_STYLE + '">',
'<div style="font-weight: 700;">Uncaught error: ' + error.message + '</div>',
'<div style="color: #515E72; font-size: 13px; line-height: 17px; margin: 10px 0;">' +
filename +
':' +
lineno +
':' +
colno +
'</div>',
'<pre style="' + ERROR_CODE_STYLE + '">' + error.stack + '</pre>',
'</div>',
].join('')

errorElement.style.position = 'fixed'
errorElement.style.zIndex = 1000000
errorElement.style.top = 0
errorElement.style.left = 0
errorElement.style.right = 0
errorElement.style.bottom = 0
errorElement.style.padding = '20px'
errorElement.style.background = 'rgba(16,17,18,0.66)'
errorElement.style.display = 'flex'
errorElement.style.alignItems = 'center'
errorElement.style.justifyContent = 'center'

document.body.appendChild(errorElement)
}

// NOTE:
// Yes – we're attaching 2 error listeners below 👀
// This is because React makes the same error throw twice (in development mode).
// See: https://github.com/facebook/react/issues/10384

// Error listener #1
window.onerror = function (event, source, lineno, colno, error) {
_nextTick(function () {
if (_caughtErrors.indexOf(error) !== -1) return

_caughtErrors.push(error)

_handleError(error, {
event,
lineno,
colno,
source,
})

_nextTick(function () {
var idx = _caughtErrors.indexOf(error)

if (idx > -1) _caughtErrors.splice(idx, 1)
})
})

// IMPORTANT: this callback must return `true` to prevent the error from being rendered in
// the browser’s console.
return true
}

// Error listener #2
window.addEventListener('error', function (event) {
if (_caughtErrors.indexOf(event.error) !== -1) return true

_caughtErrors.push(event.error)

_handleError(event.error, {
event,
lineno: event.lineno,
colno: event.colno,
})

_nextTick(function () {
_nextTick(function () {
var idx = _caughtErrors.indexOf(event.error)

if (idx > -1) _caughtErrors.splice(idx, 1)
})
})

return true
})
})()
</script><style>
html {
background-color: #f1f3f6;
}
html,
body,
#sanity {
height: 100%;
}
body {
margin: 0;
-webkit-font-smoothing: antialiased;
}
</style></head><body><div id="sanity"></div><script type="module" src="/.sanity/runtime/app.js"></script><noscript><div class="sanity-app-no-js__root"><div class="sanity-app-no-js__content"><style type="text/css">
.sanity-app-no-js__root {
position: absolute;
top: 0;
right: 0;
left: 0;
bottom: 0;
background: #fff;
}

.sanity-app-no-js__content {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
text-align: center;
font-family: helvetica, arial, sans-serif;
}
</style><h1>JavaScript disabled</h1><p>Please <a href="https://www.enable-javascript.com/">enable JavaScript</a> in your browser and reload the page to proceed.</p></div></div></noscript></body></html>
19 changes: 0 additions & 19 deletions CODE_OF_CONDUCT.md

This file was deleted.

129 changes: 129 additions & 0 deletions LICENSE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,129 @@
# EULA (End User License Agreement)

## Personal License

Web3Templates grants you an on-going, non-exclusive license to use this Template.

The license grants permission to **one individual** (the Licensee) to access and use this Template.

You **can**:

- Use this Template to create unlimited End Products.
- Modify this Template to create derivative components and templates. Those components and templates are subject to this license.
- Use this Template to create unlimited End Products for unlimited Clients.
- Use this Template to create End Products where the End Product is sold to End Users.
- Use this Template to create End Products that are open source and freely available to End Users.

You **cannot**:

- Use this Template to create End Products that are designed to allow an End User to build their own End Products using this Template or derivatives of this Template.
- Re-distribute this Template or derivatives of this Template separately from an End Product, neither in code or as design assets.
- Share your access to this Template with any other individuals.
- Use this Template to produce anything that may be deemed by Web3Templates, in their sole and absolute discretion, to be competitive or in conflict with the business of Web3Templates.

### Example usage

Examples of usage **allowed** by the license:

- Creating a personal website by yourself.
- Creating a website or web application for a client that will be owned by that client.
- Creating a commercial SaaS application (like an invoicing app for example) where end users have to pay a fee to use the application.
- Creating a commercial self-hosted web application that is sold to end users for a one-time fee.
- Creating a web application where the primary purpose is clearly not to simply re-distribute the template that is free and open source, where the source code is publicly available.

Examples of usage **not allowed** by the license:

- Creating a repository of your favorite Web3Templates components or templates (or derivatives based on Web3Templates components or templates) and publishing it publicly.
- Creating a React or Vue version of Web3Templates and making it available either for sale or for free.
- Create a Figma or Sketch UI kit based on the Web3Templates component designs.
- Creating a "website builder" project where end users can build their own websites using components or templates included with or derived from Web3Templates.
- Creating a theme, template, or project starter kit using the components or templates and making it available either for sale or for free.
- Creating an admin panel tool that is made available either for sale or for free.

In simple terms, use Web3Templates for anything you like as long as it doesn't compete with Web3Templates.

### Personal License Definitions

Licensee is the individual who has purchased a Personal License.

Components and Templates are the source code and design assets made available to the Licensee after purchasing a Web3Templates license.

End Product is any artifact produced that incorporates the Components or Templates or derivatives of the Components or Templates.

End User is a user of an End Product.

Client is an individual or entity receiving custom professional services directly from the Licensee, produced specifically for that individual or entity. Customers of software-as-a-service products are not considered clients for the purpose of this document.

## Team License

Web3Templates grants you an on-going, non-exclusive license to use this Template.

The license grants permission for **up to 25 Employees and Contractors of the Licensee** to access and use this Template.

You **can**:

- Use this Template to create unlimited End Products.
- Modify this Template to create derivative components and templates. Those components and templates are subject to this license.
- Use this Template to create unlimited End Products for unlimited Clients.
- Use this Template to create End Products where the End Product is sold to End Users.
- Use this Template to create End Products that are open source and freely available to End Users.

You **cannot**:

- Use the Components or Templates to create End Products that are designed to allow an End User to build their own End Products using the Components or Templates or derivatives of the Components or Templates.
- Re-distribute the Components or Templates or derivatives of the Components or Templates separately from an End Product.
- Use the Components or Templates to create End Products that are the property of any individual or entity other than the Licensee or Clients of the Licensee.
- Use the Components or Templates to produce anything that may be deemed by Web3Templates, in their sole and absolute discretion, to be competitive or in conflict with the business of Web3Templates.

### Example usage

Examples of usage **allowed** by the license:

- Creating a website for your company
- Creating a website or web application for a client that will be owned by that client
- Creating a commercial SaaS application (like an invoicing app for example) where end users have to pay a fee to use the application
- Creating a commercial self-hosted web application that is sold to end users for a one-time fee
- Creating a web application where the primary purpose is clearly not to simply re-distribute the components or templates (like a conference organization app that uses the components or a template for its UI for example) that is free and open source, where the source code is publicly available

Examples of use **not allowed** by the license:

- Creating a repository of your favorite Web3Templates components or template (or derivatives based on Web3Templates components or templates) and publishing it publicly
- Creating a React or Vue version of Web3Templates and making it available either for sale or for free
- Creating a "website builder" project where end users can build their own websites using components or templates included with or derived from Web3Templates
- Creating a theme or template using the components or templates and making it available either for sale or for free
- Creating an admin panel tool that is made available either for sale or for free
- Creating any End Product that is not the sole property of either your company or a client of your company. For example your employees/contractors can't use your company Web3Templates license to build their own websites or side projects.

### Team License Definitions

Licensee is the business entity who has purchased a Team License.

Components and Templates are the source code and design assets made available to the Licensee after purchasing a Web3Templates license.

End Product is any artifact produced that incorporates the Components or Templates or derivatives of the Components or Templates.

End User is a user of an End Product.

Employee is a full-time or part-time employee of the Licensee.

Contractor is an individual or business entity contracted to perform services for the Licensee.

Client is an individual or entity receiving custom professional services directly from the Licensee, produced specifically for that individual or entity. Customers of software-as-a-service products are not considered clients for the purpose of this document.

## Enforcement

If you are found to be in violation of the license, access to your Web3Templates account will be terminated, and a refund may be issued at our discretion. When license violation is blatant and malicious (such as intentionally redistributing the Components or Templates through private warez channels), no refund will be issued.

The copyright of this Template is owned by You are granted only the permissions described in this license; all other rights are reserved. reserves the right to pursue legal remedies for any unauthorized use of the Components or Templates outside the scope of this license.

## Liability

Web3Templates.’s liability to you for costs, damages, or other losses arising from your use of the Components or Templates — including third-party claims against you — is limited to a refund of your license fee. may not be held liable for any consequential damages related to your use of the Components or Templates.

This Agreement is governed by the laws of the Province of Ontario and the applicable laws of Canada. Legal proceedings related to this Agreement may only be brought in the courts of Ontario. You agree to service of process at the e-mail address on your original order.

## Questions?

Unsure which license you need, or unsure if your use case is covered by our licenses?

Email us at [[email protected]](mailto:[email protected]) with your questions.
Loading