Skip to content

Commit fc96a03

Browse files
0xdevcollinsMaxzi3harjibbolar26
authored
Production (#275)
* Update page.tsx (#157) * fix: conflict * Merge to prod (#158) * Feature/landing page setup (#155) * feat: Enhance SignInPage with form validation and loading state - Implemented form validation using Zod and react-hook-form for email and password fields. - Added loading state to improve user experience during sign-in. - Integrated error handling for various sign-in scenarios, including unverified email and session management. - Updated LoginForm component to accept form props and handle submission logic. - Introduced Loading component for better visual feedback during loading states. - Refactored AuthLayout for improved layout and responsiveness. * feat: Revamp landing page structure and components - Removed the old Home component and replaced it with a new layout for the landing page. - Introduced a new LandingLayout component to encapsulate the Navbar and Footer. - Created multiple new pages for the landing section, including About, Contact, Disclaimer, Grants, Hackathons, Privacy, Projects, and Terms of Service. - Updated the Projects component to include pagination and improved project filtering based on user ownership and status. - Enhanced the ProjectCard component to conditionally display the ellipsis menu based on project ownership. - Added a Footer component for consistent navigation across the landing pages. * feat: Update CampaignTable and pagination handling across user pages - Modified CampaignTable component to accept `limit` and `showPagination` props for flexible display. - Adjusted CampaignTable instances in UserPage and CampaignsPage to utilize new props. - Refactored pagination logic in Projects component to streamline page navigation and improve user experience. - Enhanced Pagination component for better integration and usability across different contexts. * chore: Update Next.js version to 15.5.2 in package.json and package-lock.json - Upgraded Next.js from 15.4.4 to 15.5.2 for improved performance and features. - Updated related dependencies in package-lock.json to reflect the new version. * feat: Refactor Projects and RecentProjects components for improved data fetching and dependency management - Updated fetchProjects function in Projects component to include necessary dependencies for useCallback. - Enhanced RecentProjects component to properly utilize fetchProjects with updated dependency array. - Improved error handling and loading state management during project data fetching. * feat: Add GSAP animations and new waitlist page - Integrated GSAP for enhanced animations in the Navbar and new WaitlistPage component. - Added form validation using Zod and react-hook-form for the waitlist form. - Implemented character animations for the title and subtitle on the waitlist page. - Updated package.json and package-lock.json to include GSAP and @gsap/react dependencies. - Enhanced global styles with new CSS classes for animations and gradients. * feat: A lot of implentations * Feature/landing page setup (#156) * feat: Enhance SignInPage with form validation and loading state - Implemented form validation using Zod and react-hook-form for email and password fields. - Added loading state to improve user experience during sign-in. - Integrated error handling for various sign-in scenarios, including unverified email and session management. - Updated LoginForm component to accept form props and handle submission logic. - Introduced Loading component for better visual feedback during loading states. - Refactored AuthLayout for improved layout and responsiveness. * feat: Revamp landing page structure and components - Removed the old Home component and replaced it with a new layout for the landing page. - Introduced a new LandingLayout component to encapsulate the Navbar and Footer. - Created multiple new pages for the landing section, including About, Contact, Disclaimer, Grants, Hackathons, Privacy, Projects, and Terms of Service. - Updated the Projects component to include pagination and improved project filtering based on user ownership and status. - Enhanced the ProjectCard component to conditionally display the ellipsis menu based on project ownership. - Added a Footer component for consistent navigation across the landing pages. * feat: Update CampaignTable and pagination handling across user pages - Modified CampaignTable component to accept `limit` and `showPagination` props for flexible display. - Adjusted CampaignTable instances in UserPage and CampaignsPage to utilize new props. - Refactored pagination logic in Projects component to streamline page navigation and improve user experience. - Enhanced Pagination component for better integration and usability across different contexts. * chore: Update Next.js version to 15.5.2 in package.json and package-lock.json - Upgraded Next.js from 15.4.4 to 15.5.2 for improved performance and features. - Updated related dependencies in package-lock.json to reflect the new version. * feat: Refactor Projects and RecentProjects components for improved data fetching and dependency management - Updated fetchProjects function in Projects component to include necessary dependencies for useCallback. - Enhanced RecentProjects component to properly utilize fetchProjects with updated dependency array. - Improved error handling and loading state management during project data fetching. * feat: Add GSAP animations and new waitlist page - Integrated GSAP for enhanced animations in the Navbar and new WaitlistPage component. - Added form validation using Zod and react-hook-form for the waitlist form. - Implemented character animations for the title and subtitle on the waitlist page. - Updated package.json and package-lock.json to include GSAP and @gsap/react dependencies. - Enhanced global styles with new CSS classes for animations and gradients. * feat: A lot of implentations * feat: Enhance landing page components and add newsletter functionality - Updated spacing and layout in LandingPage, BackedBy, WhyBoundless, and Hero components for improved responsiveness. - Introduced a new Newsletter component with form handling and state management. - Added SVG assets for SDF, Trustless, and Stellar branding. - Improved dialog overlay styling for better visual consistency. - Refactored existing components to accommodate new design and functionality. * feat: Add BlogCard and BlogSection components with mock data and styling - Introduced BlogCard component to display individual blog posts with title, excerpt, image, and date. - Created BlogSection component to manage and display a collection of BlogCard components, including responsive design for mobile and desktop views. - Implemented a card stack animation for mobile users and a grid layout for larger screens. - Added mock blog data for initial rendering and testing. - Updated global styles for text clipping and improved layout consistency. * feat: Redirect to waitlist page on landing page load - Added useEffect to automatically navigate users to the waitlist page upon landing page load. - Imported useRouter from Next.js for routing functionality. - Updated import statements to include useEffect alongside useRef. * chore: Remove obsolete README files for Launch Campaign, Metadata, and Wallet Protection - Deleted outdated documentation files that are no longer relevant to the current project structure and features. - Ensured a cleaner codebase by removing unnecessary files that may cause confusion for developers. * chore: Comment out final build check in pre-push hook - Disabled the final build check in the pre-push hook to streamline the push process. - Retained the security audit and uncommitted changes check for continued code quality assurance. * feat: implemented about-us-page-testimonials-section (#165) * feat: Enhance TestimonialsSection with responsive column layout and animations - Updated TestimonialsSection to dynamically calculate the number of columns based on container width. - Improved scrolling animations using GSAP for a smoother user experience. - Added gradient images for visual enhancement and adjusted layout for better responsiveness. - Introduced a new fade.png asset for background effects. * chore: Update axios to version 1.12.0 and add data URL rejection in API client - Upgraded axios dependency in package.json and package-lock.json to version 1.12.0 for improved functionality. - Implemented a check in the API client to proactively reject requests to data: URLs, enhancing security and preventing potential issues with large payloads. * feat: our team and partners components design implementation (#166) * feat: Our Team and Partners section design implementation, prettier fix * fix: npm audit fix * refactor: Update image imports in CampaignLiveSuccess component to use direct paths - Replaced variable imports for images with direct paths in the CampaignLiveSuccess component for improved clarity and consistency. - This change simplifies the image handling and reduces unnecessary imports. * refactor: Enhance auth configuration with TypeScript types and improve session handling - Added TypeScript types for Session, JWT, and NextAuthUser to improve type safety in auth.ts. - Updated the authorize, jwt, and session callbacks to utilize these types, enhancing clarity and maintainability. - Adjusted eslint configuration to ignore specific directories and updated linting commands in package.json for consistency. --------- Co-authored-by: OBISIKE MAXWELL <126118236+Maxzi3@users.noreply.github.com> Co-authored-by: Jibola Paul <harjibbolar26@gmail.com> * feat: add environment variable setup to CI workflow and improve type definitions in Navbar component - Introduced a step in the CI workflow to set up environment variables for local development. - Enhanced type definitions for user props in AuthenticatedNav and MobileMenu components for better type safety. * fix: lock file sync --------- Co-authored-by: OBISIKE MAXWELL <126118236+Maxzi3@users.noreply.github.com> Co-authored-by: Jibola Paul <harjibbolar26@gmail.com>
1 parent 6406dad commit fc96a03

6 files changed

Lines changed: 125 additions & 559 deletions

File tree

.github/workflows/ci.yml

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,15 @@ jobs:
7878
- name: Install dependencies
7979
run: npm ci
8080

81+
- name: Set up environment variables
82+
run: |
83+
echo "🔧 Setting up environment variables for build..."
84+
echo "NEXT_PUBLIC_API_URL=http://localhost:3000/api" >> .env.local
85+
echo "NEXT_PUBLIC_APP_URL=http://localhost:3000" >> .env.local
86+
echo "NEXTAUTH_SECRET=ci-test-secret-key" >> .env.local
87+
echo "NEXTAUTH_URL=http://localhost:3000" >> .env.local
88+
echo "DATABASE_URL=postgresql://test:test@localhost:5432/test_db" >> .env.local
89+
8190
- name: Build application
8291
run: npm run build
8392

@@ -191,6 +200,15 @@ jobs:
191200
- name: Install dependencies
192201
run: npm ci
193202

203+
- name: Set up environment variables
204+
run: |
205+
echo "🔧 Setting up environment variables for build..."
206+
echo "NEXT_PUBLIC_API_URL=http://localhost:3000/api" >> .env.local
207+
echo "NEXT_PUBLIC_APP_URL=http://localhost:3000" >> .env.local
208+
echo "NEXTAUTH_SECRET=ci-test-secret-key" >> .env.local
209+
echo "NEXTAUTH_URL=http://localhost:3000" >> .env.local
210+
echo "DATABASE_URL=postgresql://test:test@localhost:5432/test_db" >> .env.local
211+
194212
- name: Build with bundle analysis
195213
run: |
196214
npm run build
@@ -223,6 +241,15 @@ jobs:
223241
- name: Install dependencies
224242
run: npm ci
225243

244+
- name: Set up environment variables
245+
run: |
246+
echo "🔧 Setting up environment variables for build..."
247+
echo "NEXT_PUBLIC_API_URL=http://localhost:3000/api" >> .env.local
248+
echo "NEXT_PUBLIC_APP_URL=http://localhost:3000" >> .env.local
249+
echo "NEXTAUTH_SECRET=ci-test-secret-key" >> .env.local
250+
echo "NEXTAUTH_URL=http://localhost:3000" >> .env.local
251+
echo "DATABASE_URL=postgresql://test:test@localhost:5432/test_db" >> .env.local
252+
226253
- name: Build application
227254
run: npm run build
228255

@@ -264,6 +291,15 @@ jobs:
264291
- name: Install dependencies
265292
run: npm ci
266293

294+
- name: Set up environment variables
295+
run: |
296+
echo "🔧 Setting up environment variables for build..."
297+
echo "NEXT_PUBLIC_API_URL=http://localhost:3000/api" >> .env.local
298+
echo "NEXT_PUBLIC_APP_URL=http://localhost:3000" >> .env.local
299+
echo "NEXTAUTH_SECRET=ci-test-secret-key" >> .env.local
300+
echo "NEXTAUTH_URL=http://localhost:3000" >> .env.local
301+
echo "DATABASE_URL=postgresql://test:test@localhost:5432/test_db" >> .env.local
302+
267303
- name: Build application
268304
run: npm run build
269305

@@ -295,6 +331,15 @@ jobs:
295331
- name: Install dependencies
296332
run: npm ci
297333

334+
- name: Set up environment variables
335+
run: |
336+
echo "🔧 Setting up environment variables for build..."
337+
echo "NEXT_PUBLIC_API_URL=http://localhost:3000/api" >> .env.local
338+
echo "NEXT_PUBLIC_APP_URL=http://localhost:3000" >> .env.local
339+
echo "NEXTAUTH_SECRET=ci-test-secret-key" >> .env.local
340+
echo "NEXTAUTH_URL=http://localhost:3000" >> .env.local
341+
echo "DATABASE_URL=postgresql://test:test@localhost:5432/test_db" >> .env.local
342+
298343
- name: Build application
299344
run: npm run build
300345

components/landing-page/navbar.tsx

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -208,7 +208,16 @@ export function Navbar() {
208208
);
209209
}
210210

211-
function AuthenticatedNav({ user }: { user: any }) {
211+
function AuthenticatedNav({
212+
user,
213+
}: {
214+
user: {
215+
name?: string | null;
216+
email?: string | null;
217+
image?: string | null;
218+
profile?: { firstName?: string | null; avatar?: string | null };
219+
} | null;
220+
}) {
212221
const { logout } = useZustandAuth(false);
213222

214223
return (
@@ -294,7 +303,12 @@ function MobileMenu({
294303
}: {
295304
isAuthenticated: boolean;
296305
isLoading: boolean;
297-
user: any;
306+
user: {
307+
name?: string | null;
308+
email?: string | null;
309+
image?: string | null;
310+
profile?: { firstName?: string | null; avatar?: string | null };
311+
} | null;
298312
}) {
299313
const mobileMenuRef = useRef<HTMLDivElement>(null);
300314
const mobileButtonRef = useRef<HTMLButtonElement>(null);

next.config.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ const nextConfig: NextConfig = {
44
/* config options here */
55
outputFileTracingRoot: __dirname,
66
images: {
7+
domains: ['i.pravatar.cc'],
78
remotePatterns: [
89
{
910
protocol: 'https',

0 commit comments

Comments
 (0)