Skip to content

Conversation

@gadingnst
Copy link
Owner

No description provided.

gadingnst added 30 commits May 12, 2025 22:09
The header component was relocated to better align with the project's modular structure. This change improves maintainability by placing shared components in the appropriate common modules directory rather than the packages directory.
- Add isValidRoute utility to validate path structure
- Implement getLanguageFromPathnameStrict for strict language detection
- Update middleware to redirect invalid routes to not-found page
- Replace fallback language logic with strict detection in client and server
- Add dedicated not-found page for invalid routes
Replace Geist fonts with Poppins and Courgette for better typography
… now pages

Add new content files for home pages in English and Indonesian, blog posts on various topics, about pages, and now pages. Includes posts about JavaScript engine, Gmail alias setup, PDO in PHP, and personal thoughts. Also adds now pages detailing current activities and setup.

The content covers technical topics, personal reflections, and practical guides. Files are organized by language and category with proper frontmatter metadata including titles, descriptions, keywords, and tags. Some posts include images and code examples.

This commit introduces a significant amount of new content to populate the website with valuable information across different sections.
- Implement StatefulMDX component for state management in MDX content
- Create Parser component with styling and custom components
- Update Home page to use markdown content from parser
- Temporarily disable rehype-responsive-tables due to import issues
refactor(header): split into modular components
style(parser): migrate from CSS modules to plain CSS
fix(routing): allow direct /about route access
- Implement scroll listener to detect page scroll position
- Apply dynamic styling to header, menu and language selector based on scroll
- Add backdrop blur and shadow effects when scrolled
- Adjust root layout padding to accommodate fixed header
- Update header and menu components with consistent styling when scrolled
- Remove commented code and unused CSS comments
- Adjust spacing in navbar-end for better alignment
…Name

Improve readability and maintainability by using the cn utility function for conditional className concatenation in header components. This change makes the code more consistent and easier to modify.
…ffect

- Create new Dropdown component with controlled/uncontrolled modes
- Replace custom dropdown implementations in Header components
- Add liquid-glass utility classes for consistent styling
- Simplify header components by using new Dropdown
- Add new font-courgette utility class for header title
- Improve menu item hover and active states with gradients and shadows
- Add subtle animations to menu items for better user experience
…ass design

- Move Dropdown to Floatings directory and update imports
- Create new Button and Link components with liquid glass effects
- Add comprehensive documentation and examples
- Update all references to use new component structure
- Implement project rules for component design patterns
refactor(navigation): split Link into simple text link and ButtonLink variants
feat(navigation): add cookie and localStorage persisters for SWR global state
feat(theme): implement app theme management with system preference detection
docs(navigation): add comprehensive documentation for Link and ButtonLink components
- Implement theme selector dropdown with light/dark/system options
- Add server-side theme detection via cookies
- Update theme constants and hooks for consistent naming
- Remove unused image from home page
- Adjust global styles for theme support
style(header): adjust responsive text size for logo
refactor(language-selector): remove chevron icon and improve dropdown styling
docs(project-rules): update coding guidelines for icons and styling
Add eslint-plugin-import and eslint-plugin-simple-import-sort to enforce consistent import ordering. Update all files to follow the new import sorting rules with external packages first, followed by internal packages and relative imports. Also fix quote style consistency in config files.

The changes improve code readability and maintainability by standardizing import organization across the codebase. The new eslint rules will automatically enforce this pattern going forward.
- Create new Footer component with responsive design
- Add footer to Root layout
- Include social media links and copyright information
- Add custom utility styles for footer
- Update components exports
…tility

- Reduce max-width from 1600px to 1200px and adjust padding in custom-utilities.css
- Apply base-container utility consistently across pages and components
- Remove redundant padding classes and center content using base-container
refactor(StatefulMDX): add eslint-disable comment for unused vars
chore: remove unused portfolio content file
Add transition-margin utility and hover-float utilities for subtle hover effects.
Apply hover-float-1 to footer social links for improved visual feedback.
Standardize hover animation translate-y values across button and link components for consistent visual feedback
Increase padding and slightly decrease icon size for better visual balance
gadingnst added 25 commits July 12, 2025 21:21
Clean up header components by removing unused isScrolled prop and related styling
Remove outdated component documentation comments
refactor(blog): rename BlogList component to List for consistency
feat(blog): add ContentSlugInitializer and useBlogContentLanguages hook
feat(dropdown): add disabled state and handle blog language selection
- Remove unused index parameter in LanguageSelector map
- Update menu styling to use liquid-glass effect
- Replace ArrowLeft/RightCircle with ArrowLeft/RightIcon in Pagination
feat(Button): add label prop for accessibility
feat(ButtonLink): add label prop for accessibility
feat(AppTheme): add dark theme detection utility
feat(scripts): add revalidation and cloudinary sync scripts
chore: add new dependencies for disqus, cloudinary and xml parsing
style(globals): replace oklch color values with rgb for better readability
Remove useEffect delay and simplify disqus loading logic
Add CSS to hide duplicate disqus elements
Use useEffect to reset and update disqus key when language or theme changes
- Introduce ContentInteraction component to consolidate share, support and disqus functionality
- Update styling for share and support components with new button designs
- Adjust spacing and margins across multiple pages for consistent layout
- Rename Disqus component to ContentDisqus for better naming consistency
Simplify theme system by removing unused colorblind variants. This reduces maintenance overhead and unused code.
- Add static path generation for blog pages and pagination
- Support language-specific routes with static generation
- Update content parser to handle clean slugs and default language
- Add Button component to content parser
- Improve state management in StatefulMDX component
- Replace separate default and language-specific page components with unified components
- Simplify path generation logic by introducing default and language-specific variants
- Remove redundant BlogContentDefault.page.tsx as its functionality is now handled by BlogContent.page.tsx
implement generateStaticParams functions for home, about and now pages
support both default and language-prefixed routes
Switch from ES6 export/import syntax to CommonJS require/module.exports for better compatibility with Node.js environment
Consistently use NextPageProps type across page components and handle language parameter in a unified way. This improves type safety and maintainability.
… utils

- Replace .tsx page files with .ts equivalents across app routes
- Add force-static and dynamicParams configurations
- Consolidate i18n language detection to use getDefaultLanguage
- Remove duplicate code and comments from deleted files
Replace server-side theme initialization with client-side implementation to handle theme changes dynamically
Implement sitemap generation with support for localized and default routes
for home, about, now, blog posts and pagination pages
…fetches

Use Promise.all to fetch all paths concurrently instead of sequential awaits
Reorganize route pushing to maintain logical grouping while improving performance
Add new services to generate RSS feed and sitemap for blog posts and pages
Move sitemap logic to content-parser module and update dependencies
- Add new script to generate RSS feed
- Remove colors system link from footer and add RSS feed link
- Update build script to include rss:generate
- Add tsconfig-paths dependency for script execution
Remove standalone rss:generate script and integrate feed generation into home page path generation
Update build script to remove rss:generate step
…neration

remove redundant lang type from NextPageProps and consolidate path generation
add generateStaticParams for blog pages to enable static generation
Move not-found page implementation to modules directory and add i18n support
Simplify page structure while maintaining same functionality
@gadingnst gadingnst self-assigned this Jul 13, 2025
@vercel
Copy link

vercel bot commented Jul 13, 2025

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
gading-dev 🔄 Building (Inspect) Visit Preview 💬 Add feedback Jul 13, 2025 11:43am

@gadingnst gadingnst merged commit 0d3980f into main Jul 13, 2025
1 of 3 checks passed
@gadingnst gadingnst deleted the pr/upgrade branch July 13, 2025 11:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants