Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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: 1 addition & 1 deletion apps/web/app/events/create/page.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import CreateEventForm from "@/components/events/create-event-form";
import { Camera } from "lucide-react";
import { Camera } from "@/components/ui/icons";

export default function CreateEventPage() {
return (
Expand Down
2 changes: 1 addition & 1 deletion apps/web/app/help/[category]/[slug]/client-sidebar.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

import { useState } from "react";
import Link from "next/link";
import { ChevronDown, ChevronUp } from "lucide-react";
import { ChevronDown, ChevronUp } from "@/components/ui/icons";
import type { Article } from "../../data";

interface ClientSidebarProps {
Expand Down
2 changes: 1 addition & 1 deletion apps/web/components/events/TicketModal.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import React, { useState, useEffect, useRef } from "react";
import { motion, AnimatePresence } from "framer-motion";
import { QRCodeSVG } from "qrcode.react";
import { toast } from "sonner";
import { X, Minus, Plus, Ticket, ArrowRight, CheckCircle2, Gift } from "lucide-react";
import { X, Minus, Plus, Ticket, ArrowRight, CheckCircle2, Gift } from "@/components/ui/icons";
import Image from "next/image";
import { Button } from "@/components/ui/button";

Expand Down
59 changes: 59 additions & 0 deletions apps/web/components/ui/icons.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
interface IconProps {
size?: number;
className?: string;
}

function Icon({ src, alt, size = 24, className }: IconProps & { src: string; alt: string }) {
return (
// eslint-disable-next-line @next/next/no-img-element
<img src={src} alt={alt} width={size} height={size} className={className} />
);
}

export function ChevronDown(props: IconProps) {
return <Icon src="/icons/chevron-down.svg" alt="chevron down" {...props} />;
}

export function ChevronUp(props: IconProps) {
return <Icon src="/icons/chevron-up.svg" alt="chevron up" {...props} />;
}

export function Camera(props: IconProps) {
return <Icon src="/icons/camera.svg" alt="camera" {...props} />;
}

export function CheckCircle2(props: IconProps) {
return <Icon src="/icons/check-circle.svg" alt="check circle" {...props} />;
}

export function Home(props: IconProps) {
return <Icon src="/icons/home.svg" alt="home" {...props} />;
}

export function ExternalLink(props: IconProps) {
return <Icon src="/icons/external-link.svg" alt="external link" {...props} />;
}

export function X(props: IconProps) {
return <Icon src="/icons/close.svg" alt="close" {...props} />;
}

export function Minus(props: IconProps) {
return <Icon src="/icons/minus.svg" alt="minus" {...props} />;
}

export function Plus(props: IconProps) {
return <Icon src="/icons/plus.svg" alt="plus" {...props} />;
}

export function Ticket(props: IconProps) {
return <Icon src="/icons/ticket.svg" alt="ticket" {...props} />;
}

export function ArrowRight(props: IconProps) {
return <Icon src="/icons/arrow-right.svg" alt="arrow right" {...props} />;
}

export function Gift(props: IconProps) {
return <Icon src="/icons/gift.svg" alt="gift" {...props} />;
}
16 changes: 10 additions & 6 deletions apps/web/lib/prisma.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,14 @@ import { PrismaClient } from "@prisma/client";

const globalForPrisma = global as unknown as { prisma: PrismaClient };

// If we are in the GitHub CI pipeline, return a dummy object so the build doesn't crash.
// Otherwise, boot up the real Prisma Client.
export const prisma =
globalForPrisma.prisma ||
(process.env.CI ? ({} as PrismaClient) : new PrismaClient());
function createPrismaClient(): PrismaClient {
// Skip real instantiation when there's no database (CI builds, static generation)
if (!process.env.DATABASE_URL) {
return {} as PrismaClient;
}
return new PrismaClient();
}

if (process.env.NODE_ENV !== "production") globalForPrisma.prisma = prisma;
export const prisma = globalForPrisma.prisma || createPrismaClient();

if (process.env.NODE_ENV !== "production") globalForPrisma.prisma = prisma;
1 change: 0 additions & 1 deletion apps/web/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@
"framer-motion": "^12.26.2",
"jsonwebtoken": "^9.0.3",
"leaflet": "^1.9.4",
"lucide-react": "^0.575.0",
"next": "16.1.3",
"nprogress": "^0.2.0",
"qrcode.react": "^4.2.0",
Expand Down
1 change: 1 addition & 0 deletions apps/web/public/icons/check-circle.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions apps/web/public/icons/chevron-down.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions apps/web/public/icons/chevron-up.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions apps/web/public/icons/close.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions apps/web/public/icons/external-link.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions apps/web/public/icons/gift.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions apps/web/public/icons/minus.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions apps/web/public/icons/plus.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
18 changes: 3 additions & 15 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading