diff --git a/Dockerfile b/Dockerfile index 5b81129..ebd0414 100644 --- a/Dockerfile +++ b/Dockerfile @@ -24,18 +24,10 @@ RUN apt-get update -qq && \ # or for debian/ubuntu-based images # RUN apt-get update -y && apt-get install -y ca-certificates fuse3 sqlite3 -# COPY --from=flyio/litefs:0.5 /usr/local/bin/litefs /usr/local/bin/litefs - -# ENTRYPOINT litefs mount - # Install node modules COPY --link package-lock.json package.json ./ RUN npm ci --include=dev -# Generate Prisma Client -# COPY --link prisma . -# RUN npx prisma generate - # Copy application code COPY --link . . @@ -51,17 +43,6 @@ FROM base # Copy built application COPY --from=build /app /app -# Setup sqlite3 on a separate volume -RUN mkdir -p /litefs -VOLUME /litefs - -# Copy existing database to the correct directory -#COPY ./dev.db /litefs/dev.db - -# Ensure LiteFS configuration -# COPY litefs.yml /etc/litefs.yml - # Start the server by default, this can be overwritten at runtime -EXPOSE 3000 -ENV DATABASE_URL="file:/litefs/dev.db" +EXPOSE 5173 CMD [ "npm", "run", "start" ] \ No newline at end of file diff --git a/app/components/CTA/DiscordCommunity.tsx b/app/components/CTA/DiscordCommunity.tsx index 107973b..cf02f76 100644 --- a/app/components/CTA/DiscordCommunity.tsx +++ b/app/components/CTA/DiscordCommunity.tsx @@ -4,8 +4,8 @@ import { Link } from '@remix-run/react'; export function DiscordCommunity() { return ( -
diff --git a/app/components/CTA/Geekdom.tsx b/app/components/CTA/Geekdom.tsx index 73b106e..5d90740 100644 --- a/app/components/CTA/Geekdom.tsx +++ b/app/components/CTA/Geekdom.tsx @@ -1,10 +1,11 @@ import { Container } from '~/components/ui/Container'; import { AltButton } from '~/components/ui/AltButton'; import { FadeIn } from '~/components/ui/FadeIn'; +import { Link } from '@remix-run/react'; export function Geekdom() { return ( -
Professional, student, or simply passionate about - technology, you'll find a supportive community here + technology, you'll find a supportive community here.{' '} + + + Learn more
- + +Show your DEVSA pride and support the local developer community - with our exclusive swag! Thanks to the{' '} + with our exclusive swag! Thanks to the Python Software Foundation for allowing us to feature Python merch in our store
diff --git a/app/components/CTA/SlideShow.tsx b/app/components/CTA/SlideShow.tsx index 7737404..bf2ffdd 100644 --- a/app/components/CTA/SlideShow.tsx +++ b/app/components/CTA/SlideShow.tsx @@ -21,7 +21,8 @@ export function SlideShow() { return ( <> -- While San Antonio celebrates its growing reputation as a - cybersecurity hub and strengthens ties with Monterrey and the - South Texas triangle, we refuse to let the headlines overshadow - the needs of San Antonio's tech community -
-- Building a Thriving Hub! San Antonio has a - growing ecosystem of community organizations hosting in-person - and virtual tech events -
+Collaboration is at the Heart of DEVSA: By working hand-in-hand with existing organizations in the city, - we've fostered a network of knowledge sharing and support. Our - non-profit status allows us to secure affordable venues, ensuring - inclusivity and accessibility for everyone + we've fostered a network of knowledge sharing and support
Building a Strong Foundation Together: From the @@ -89,13 +73,7 @@ function Community() { src: 'https://res.cloudinary.com/jessebubble/image/upload/v1714599154/devsa_u7xs6b.jpg', }} > -
- Built by Developers, For the Tech Community: We - understand your needs because we share them. We're a community of - passionate techies who believe a strong community thrives on - providing real value to its members -
+
Focus on Engagement, Not Sales: We believe in
empowering the tech community through meaningful connections,
diff --git a/app/components/images/Logo.jsx b/app/components/images/Logo.tsx
similarity index 56%
rename from app/components/images/Logo.jsx
rename to app/components/images/Logo.tsx
index 93d7744..4098b31 100644
--- a/app/components/images/Logo.jsx
+++ b/app/components/images/Logo.tsx
@@ -1,15 +1,58 @@
-// Site Logo
-export function Logo({ ...props }) {
+import { clsx } from 'clsx';
+import { motion } from 'motion/react';
+
+export function Logo({ className }: { className?: string }) {
+ let transition = {
+ duration: 0.5,
+ ease: 'easeInOut',
+ };
+
return (
-
+
);
}
diff --git a/app/components/ui/Button.jsx b/app/components/ui/Button.jsx
deleted file mode 100644
index e6c323a..0000000
--- a/app/components/ui/Button.jsx
+++ /dev/null
@@ -1,28 +0,0 @@
-import { Link } from '@remix-run/react';
-import clsx from 'clsx';
-
-export function Button({ invert, href, className, children, ...props }) {
- className = clsx(
- className,
- 'inline-flex rounded-full px-4 py-1.5 text-sm font-semibold transition',
- invert
- ? 'bg-white text-neutral-950 hover:bg-neutral-50'
- : 'bg-neutral-950 text-white hover:bg-neutral-800'
- );
-
- let inner = {children};
-
- if (href) {
- return (
-
- {inner}
-
- );
- }
-
- return (
-
- );
-}
diff --git a/app/components/ui/Button.tsx b/app/components/ui/Button.tsx
new file mode 100644
index 0000000..33cfa33
--- /dev/null
+++ b/app/components/ui/Button.tsx
@@ -0,0 +1,46 @@
+import * as Headless from '@headlessui/react'
+import { clsx } from 'clsx'
+import { Link } from '@remix-run/react'
+
+const variants = {
+ primary: clsx(
+ 'inline-flex items-center justify-center px-4 py-[calc(theme(spacing.2)-1px)]',
+ 'rounded-full border border-transparent bg-gray-950 shadow-md',
+ 'whitespace-nowrap text-base font-medium text-white',
+ 'data-[disabled]:bg-gray-950 data-[hover]:bg-gray-800 data-[disabled]:opacity-40',
+ ),
+ secondary: clsx(
+ 'relative inline-flex items-center justify-center px-4 py-[calc(theme(spacing.2)-1px)]',
+ 'rounded-full border border-transparent bg-white/15 shadow-md ring-1 ring-[#D15052]/15',
+ 'after:absolute after:inset-0 after:rounded-full after:shadow-[inset_0_0_2px_1px_#ffffff4d]',
+ 'whitespace-nowrap text-base font-medium text-gray-950',
+ 'data-[disabled]:bg-white/15 data-[hover]:bg-white/20 data-[disabled]:opacity-40',
+ ),
+ outline: clsx(
+ 'inline-flex items-center justify-center px-2 py-[calc(theme(spacing.[1.5])-1px)]',
+ 'rounded-lg border border-transparent shadow ring-1 ring-black/10',
+ 'whitespace-nowrap text-sm font-medium text-gray-950',
+ 'data-[disabled]:bg-transparent data-[hover]:bg-gray-50 data-[disabled]:opacity-40',
+ ),
+}
+
+type ButtonProps = {
+ variant?: keyof typeof variants
+} & (
+ | React.ComponentPropsWithoutRef
+ Your Support Matters
+
+ DEVSA is building a stronger ecosystem for the techies in San Antonio
+
+ Tax-Deductible Donations
+ {children}
+}
+
+function SitemapLinks({ children }: { children: React.ReactNode }) {
+ return {children}
+}
+
+function SitemapLink(props: React.ComponentPropsWithoutRef