Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
63 commits
Select commit Hold shift + click to select a range
4badb16
Updated READ.ME documentation
anikaahmed114 Sep 25, 2025
75c34bb
Merge branch 'cssgunc:main' into main
anikaahmed114 Sep 28, 2025
9e13dae
Update README.md
anikaahmed114 Sep 29, 2025
31d5cae
Update environment_setup.md
anikaahmed114 Sep 29, 2025
c52669c
Update contributing_guidelines.md
anikaahmed114 Sep 29, 2025
a900677
Update environment_setup.md
anikaahmed114 Sep 29, 2025
83e019b
Update environment_setup.md
anikaahmed114 Sep 29, 2025
a417c00
Update README.md
kristtoren Oct 1, 2025
33b449c
Update README.md
kristtoren Oct 1, 2025
50494ca
Update contributing_guidelines.md
kristtoren Oct 1, 2025
462aae2
Update contributing_guidelines.md
kristtoren Oct 1, 2025
8a628b6
Merge branch 'cssgunc:main' into stage
kristtoren Oct 6, 2025
2fd129b
Merge branch 'stage'
kristtoren Oct 6, 2025
d38b9c2
added components directory
anikaahmed114 Oct 10, 2025
e909351
Added basic page routing.
dhruvnpUNC Oct 18, 2025
c765211
Merge pull request #4 from cssgunc/2-application-routing
anikaahmed114 Oct 20, 2025
e79511b
added figtree font to root.tsx
kristtoren Oct 22, 2025
ab57588
Merge branch 'stage' of https://github.com/cssgunc/ccc
kristtoren Oct 22, 2025
8866a89
Added global fonts
anikaahmed114 Oct 22, 2025
ffb6026
Added images and fixed global styling
anikaahmed114 Oct 22, 2025
f78d189
Fixed file naming
anikaahmed114 Oct 22, 2025
0eb6798
Added header
AnujP75 Oct 23, 2025
ac9688f
Fixed routing error
AnujP75 Oct 23, 2025
4896b83
Created research outline page
vihaan-kk Oct 30, 2025
b0fa11a
added express.js
anikaahmed114 Oct 30, 2025
5749aac
Made changes to header component
AnujP75 Oct 30, 2025
3cffc41
Fixed sizing of plan card (spans page now)
vihaan-kk Oct 30, 2025
4a5a8e3
Updated header
AnujP75 Oct 30, 2025
d059355
Removed shadows
vihaan-kk Oct 30, 2025
71145c6
Merge pull request #12 from cssgunc/9-build-research-reports-content-…
kristtoren Oct 30, 2025
60635ff
make title clickable
anikaahmed114 Oct 31, 2025
29ea1e8
Merge branch 'stage' into 3-header
kristtoren Oct 31, 2025
73e7f27
Merge pull request #10 from cssgunc/3-header
kristtoren Oct 31, 2025
469460e
fixed merge conflicts
anikaahmed114 Oct 31, 2025
b925ec1
added header animation
anikaahmed114 Nov 2, 2025
08b3d0e
Added Header Hamburger + Responsiveness
maxwellhu9 Nov 4, 2025
1d825f3
Merge pull request #16 from cssgunc/13-header-hamburger
anikaahmed114 Nov 6, 2025
62ebb30
Added homepage sections
AnujP75 Nov 6, 2025
9586161
Merge pull request #18 from cssgunc/6-homepage-info
anikaahmed114 Nov 6, 2025
75c8a3e
Add newsletter sign-up form with validation
miraaanda10 Nov 6, 2025
e863a68
Added test mailchimp setup to server.js and created .env
vihaan-kk Nov 7, 2025
26920c4
Merge branch '8-create-newsletter-sign-up-form' into stage
anikaahmed114 Nov 7, 2025
b32d85e
Filled info on research page & added documents to app/routes/images
maxwellhu9 Nov 10, 2025
6714447
Updated package dependencies + header animation
anikaahmed114 Nov 10, 2025
1006689
Merge pull request #22 from cssgunc/20-info-on-research-page
anikaahmed114 Nov 10, 2025
9ba17e3
Updated file naming + general UI styling
anikaahmed114 Nov 10, 2025
c079de6
Merge remote-tracking branch 'origin' into 14-mailchimp-newsletter-co…
vihaan-kk Nov 14, 2025
f025468
Added partial code to server.js
vihaan-kk Nov 14, 2025
ee7f39c
Add footer component
Nov 14, 2025
976fff9
Update links to social medias and homepage
Nov 14, 2025
fa65c01
Merge pull request #26 from cssgunc/1.5-create-footer-component
anikaahmed114 Nov 14, 2025
f31dc38
Changed styling and sizing
maxwellhu9 Nov 15, 2025
be69de6
Merge pull request #27 from cssgunc/24-resources-page-refinement
anikaahmed114 Nov 17, 2025
de0588f
Finished connecting mailchimp newsletter connection
vihaan-kk Nov 18, 2025
51bb906
Added newsletter page and archived newsletter card components
miraaanda10 Nov 19, 2025
ba61fc0
added svg's under assets/icons
kristtoren Nov 19, 2025
061bbee
added 2 more svg's
kristtoren Nov 19, 2025
3c52955
Merge branch 'stage' into 14-mailchimp-newsletter-connection
anikaahmed114 Nov 19, 2025
88c9a52
Merge pull request #28 from cssgunc/14-mailchimp-newsletter-connection
anikaahmed114 Nov 19, 2025
e8ea1ee
Fixed merge conflict
anikaahmed114 Nov 19, 2025
c2b177f
Remove shadows, adjust button color, update newsletter card format
miraaanda10 Nov 20, 2025
4569986
Merge branch 'main' into 25-newsletter-page-refinement-archived-newsl…
anikaahmed114 Nov 20, 2025
c2e6848
Fixed success message rendering.
anikaahmed114 Nov 20, 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
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,5 @@
# React Router
/.react-router/
/build/

.env
57 changes: 12 additions & 45 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,55 +1,22 @@
<p align="center">
<img src="./public/cssglogo.svg" alt="CSSG Logo" width="200">
</p>
# CCC

# CSSG Starter Template
A CS + SG project in partnership with The Campus &amp; Community Coalition

This is a starter template for CSSG projects using React, TypeScript, and Tailwind CSS. It is configured to be used with VS Code Dev Containers for a consistent development environment.
## About The Campus &amp; Community Coalition

## Prerequisites
The Campus & Community Coalition (CCC) is a collaborative force bringing together university and community partners to address the harms associated with high-risk drinking. By fostering open dialogue, sharing power, and using data-driven strategies, they work to create an environment where everyone can thrive socially, academically, and economically.

Before you begin, ensure you have the following installed:
## Project Mission

- [Git](https://git-scm.com/)
- [Docker Desktop](https://www.docker.com/products/docker-desktop)
- [Visual Studio Code](https://code.visualstudio.com/)
- [Dev Containers extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers) for VS Code.
CCC wants to migrate from under Downtown Chapel Hill's website to their own. [Click here to see the current website.](https://www.downtownchapelhill.com/coalition)

## Getting Started
## Project Overview

1. **Fork the repository:**
This website will be used primarily to display important trends regarding alcohol use in the Chapel Hill community alongside other important resources.

Fork this repository. Then, clone your forked repository:
This webpage uses React. [Click here to get started with React.](https://react.dev/learn)

```bash
git clone <your-forked-repository-url>
cd <repository-name>
```
## Get Started

2. **Open in VS Code/Cursor:**

Open the cloned repository folder in VS Code or Cursor.

3. **Open in Dev Container:**

Once the project is open in VS Code, you will be prompted to "Reopen in Container". Click on it.

If you don't see the prompt, you can open the command palette and run "Dev Containers: Reopen in Container".
- **Windows/Linux:** `Ctrl+Shift+P`
- **Mac:** `Cmd+Shift+P`

This will build the Docker container for the development environment. The first build might take a few minutes. Subsequent loads will be much faster.

## Available Commands

Inside the dev container, you can use the following commands:

| Command | Description |
| :------------------ | :--------------------------------------------------------- |
| `npm run dev` | Starts the development server with Hot Module Replacement. |
| `npm run build` | Builds the application for production. |
| `npm run start` | Serves the production build. |
| `npm run lint` | Lints the codebase using ESLint. |
| `npm run lint:fix` | Lints and automatically fixes issues. |
| `npm run format` | Formats the code using Prettier. |
| `npm run typecheck` | Runs the TypeScript compiler to check for type errors. |
Look at our environment setup docs: [Environment Setup](docs/environment_setup.md)\
Also, make sure to look over the: [Contributing Guidelines](docs/contributing_guidelines.md)
7 changes: 3 additions & 4 deletions app/app.css
Original file line number Diff line number Diff line change
@@ -1,14 +1,13 @@
@import "tailwindcss";

@theme {
--font-sans:
"Inter", ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji",
"Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
--font-sans: "Figtree";
}

html,
body {
@apply bg-white dark:bg-gray-950;
@apply bg-white text-black;
color-scheme: light;

@media (prefers-color-scheme: dark) {
color-scheme: dark;
Expand Down
Binary file added app/assets/CCC-Strategic-Plan-2024-27-1.pdf
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file added app/assets/facebook-logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
8 changes: 8 additions & 0 deletions app/assets/icons/additional-partners.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions app/assets/icons/location.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions app/assets/icons/mail.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
8 changes: 8 additions & 0 deletions app/assets/icons/orange-county.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
8 changes: 8 additions & 0 deletions app/assets/icons/our-mission.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
8 changes: 8 additions & 0 deletions app/assets/icons/our-values.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
8 changes: 8 additions & 0 deletions app/assets/icons/reports.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions app/assets/icons/strategic-plan.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions app/assets/icons/town-of-chapel-hill.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
8 changes: 8 additions & 0 deletions app/assets/icons/unc-chapel-hill.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added app/assets/instagram-logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added app/assets/logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added app/assets/newsletter-left.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added app/assets/newsletter-right.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
65 changes: 65 additions & 0 deletions app/components/archivedNewsletterCard.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
type ArchivedNewsletterCardProps = {
title: string;
date: string;
href?: string;
};

export default function ArchivedNewsletterCard({
title,
date,
href,
}: ArchivedNewsletterCardProps) {
const ArrowIcon = (
<svg
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M9 6L15 12L9 18"
stroke="currentColor"
strokeWidth="2"
strokeLinecap="round"
strokeLinejoin="round"
/>
</svg>
);

return (
<div
className="flex h-[197px] w-[366px] flex-col gap-2 rounded-[16px] border-4 border-[#6A9F26] bg-white p-5"
style={{
fontFamily: '"Figtree", sans-serif',
}}
>
<div>
<p className="text-2xl font-normal text-[#1c1c1c]">{title}</p>
<p className="text-base font-normal text-[#000000]">{date}</p>
</div>
<div className="mt-auto flex justify-end pt-2">
{href ? (
<a
href={href}
target="_blank"
rel="noreferrer"
className="inline-flex items-center gap-3 rounded-full bg-[#6cb33f] px-5 py-2 text-[20px] font-semibold text-white transition hover:bg-[#5a9a33] focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[#1c75ff]"
>
View
<span aria-hidden="true" className="text-white">
{ArrowIcon}
</span>
</a>
) : (
<span className="inline-flex items-center gap-3 rounded-full bg-[#c4c4c4] px-5 py-2 text-[20px] font-semibold text-white">
View
<span aria-hidden="true" className="text-white">
{ArrowIcon}
</span>
</span>
)}
</div>
</div>
);
}
Loading