Skip to content

Add task fetcher for calendar sidebar #3233

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 11 commits into from
Jul 9, 2025
Merged

Conversation

phatgg221
Copy link
Collaborator

@phatgg221 phatgg221 commented Jul 7, 2025

Summary by CodeRabbit

  • New Features

    • Enhanced task sidebar with improved UI, animated transitions, and interactive elements for managing priorities and task actions.
    • Task priorities now use updated categories: low, normal, high, and critical, with new labels, icons, and colors.
    • Added due date display and formatting for tasks in the sidebar.
  • Bug Fixes

    • Task grouping and default priority logic updated to prevent misclassification.
  • Refactor

    • Streamlined sidebar code by removing unused imports and commented code.
    • Switched sidebar rendering from client-side to server-side for improved performance.
  • Chores

    • Reformatted configuration files for better readability.
    • Updated database and type definitions to reflect new task priority categories.

Copy link
Contributor

coderabbitai bot commented Jul 7, 2025

Walkthrough

This update modifies the task priority system across the database, shared types, and frontend. It changes the enum values for task priority (replacing "medium" and "urgent" with "normal" and "critical"), updates related database migration scripts, adjusts TypeScript types, and refactors the task sidebar UI to reflect these new priorities and improve interactivity.

Changes

File(s) Change Summary
apps/db/supabase/migrations/20250708033506_adjust_priority_enum.sql Migration script updates the "task_priority" enum, replacing "medium"/"urgent" with "normal"/"critical" and updates column defaults.
packages/types/src/supabase.ts Updates task_priority enum and related constants to new values.
apps/web/src/app/[locale]/(dashboard)/[wsId]/calendar/components/tasks-sidebar-content.tsx Refactors and restyles the task sidebar; updates priority logic/UI to match new enum values; adds utility for due date formatting.
apps/web/src/app/[locale]/(dashboard)/[wsId]/calendar/page.tsx Switches sidebar from client to server component; removes locale dependency from sidebar usage.
apps/web/src/app/[locale]/(dashboard)/[wsId]/time-tracker/types.ts Adds optional due_date property to the ExtendedWorkspaceTask interface.
apps/external/tsconfig.json Reformats arrays for readability; adds explicit include path for Next.js types.

Sequence Diagram(s)

sequenceDiagram
    participant User
    participant TasksSidebarContent
    participant PriorityView
    participant Database

    User->>TasksSidebarContent: Opens sidebar
    TasksSidebarContent->>PriorityView: Displays tasks grouped by priority
    PriorityView->>Database: (On priority change) Update task priority (TODO)
    PriorityView-->>TasksSidebarContent: Renders updated task list
Loading

Possibly related PRs

  • Feat/integrate task for calendar #3230: Refactors the calendar task sidebar and add-event dialog to handle task priorities in the UI, including updating priority labels and UI components, which aligns with the enum and UI changes in this PR.

Suggested reviewers

  • vhpx

Poem

🐇✨
Four priorities now, in a vibrant new row—
Low, normal, high, and critical aglow.
Tasks leap in color, with gradients bright,
Due dates and actions all polished just right.
The sidebar now sings with a bunny’s delight,
For order and clarity hop into sight!

✨ Finishing Touches
  • 📝 Generate Docstrings
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch fix/side-bar-contents-data-fetching

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Explain this complex logic.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai explain this code block.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and explain its main purpose.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai auto-generate unit tests to generate unit tests for this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link

graphite-app bot commented Jul 7, 2025

How to use the Graphite Merge Queue

Add either label to this PR to merge it via the merge queue:

  • merge-queue - adds this PR to the back of the merge queue
  • hotfix - for urgent hot fixes, skip the queue and merge this PR next

You must have a Graphite account in order to use the merge queue. Sign up using this link.

An organization admin has enabled the Graphite Merge Queue in this repository.

Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue.

Copy link

vercel bot commented Jul 7, 2025

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

4 Skipped Deployments
Name Status Preview Updated (UTC)
calendar ⬜️ Skipped (Inspect) Jul 9, 2025 8:54am
nova ⬜️ Skipped (Inspect) Jul 9, 2025 8:54am
platform ⬜️ Skipped (Inspect) Jul 9, 2025 8:54am
rewise ⬜️ Skipped (Inspect) Jul 9, 2025 8:54am

Copy link

codecov bot commented Jul 7, 2025

Codecov Report

Attention: Patch coverage is 0% with 337 lines in your changes missing coverage. Please review.

Project coverage is 1.41%. Comparing base (4c57920) to head (5c8666b).
Report is 12 commits behind head on main.

Files with missing lines Patch % Lines
[...sId]/calendar/components/tasks-sidebar-content.tsx](https://app.codecov.io/gh/tutur3u/platform/pull/3233?src=pr&el=tree&filepath=apps%2Fweb%2Fsrc%2Fapp%2F%5Blocale%5D%2F%28dashboard%29%2F%5BwsId%5D%2Fcalendar%2Fcomponents%2Ftasks-sidebar-content.tsx&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=tutur3u#diff-YXBwcy93ZWIvc3JjL2FwcC9bbG9jYWxlXS8oZGFzaGJvYXJkKS9bd3NJZF0vY2FsZW5kYXIvY29tcG9uZW50cy90YXNrcy1zaWRlYmFyLWNvbnRlbnQudHN4) 0.00% 330 Missing ⚠️
.../app/[locale]/(dashboard)/[wsId]/calendar/page.tsx 0.00% 5 Missing ⚠️
.../[locale]/(dashboard)/[wsId]/time-tracker/types.ts 0.00% 1 Missing ⚠️
packages/types/src/supabase.ts 0.00% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #3233      +/-   ##
==========================================
- Coverage    1.41%    1.41%   -0.01%     
==========================================
  Files        1853     1853              
  Lines      241254   241422     +168     
  Branches     2464     2464              
==========================================
  Hits         3419     3419              
- Misses     236324   236492     +168     
  Partials     1511     1511              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Summary of Changes

Hello @phatgg221, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request primarily addresses the core issue of data fetching for the calendar sidebar by migrating its primary component to a server-side rendering approach, which should enhance performance. In parallel, it delivers a substantial visual overhaul of the sidebar, introducing modern UI elements, animations, and a more intuitive task prioritization display. The PR also includes important development environment improvements and minor database schema adjustments, all contributing to a more robust and user-friendly application.

Highlights

  • Architectural Shift to Server Components: The TasksSidebar component has been refactored from a client-side component to a server-side component (TaskSidebarServer). This change is aimed at optimizing data fetching and improving initial load performance for the sidebar content.
  • Comprehensive UI/UX Redesign: The calendar sidebar's visual design has been significantly updated. This includes enhanced styling and animations for collapsed/expanded states, improved header and tab navigation, a redesigned task search input with dynamic focus effects, and a completely revamped display for tasks grouped by priority, featuring new icons, color schemes, and animations for individual task items.
  • TypeScript Configuration Enhancement: The tsconfig.json for apps/external now explicitly includes .next/types/**/*.ts. This ensures that generated Next.js types are properly recognized by TypeScript, leading to improved type safety and a better development experience.
  • Codebase Cleanup and Refinement: Several unused imports and commented-out code blocks have been removed from tasks-sidebar-content.tsx, contributing to a cleaner and more maintainable codebase. Additionally, a line dropping the pg_trgm extension was removed from a Supabase migration script, indicating a cleanup or correction in the database schema management.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point in your pull request via creating an issue comment (i.e. comment on the pull request page) using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in issue comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist is currently in preview and may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments to provide feedback.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request refactors the tasks sidebar, introducing UI/UX enhancements. However, there's a critical bug with priority mapping and a high-severity regression where the AI Chat tab is missing. Addressing these issues will significantly improve the user experience.

@vercel vercel bot temporarily deployed to Preview – nova July 7, 2025 08:00 Inactive
@vercel vercel bot temporarily deployed to Preview – rewise July 7, 2025 08:00 Inactive
@vercel vercel bot temporarily deployed to Preview – calendar July 7, 2025 08:00 Inactive
Copy link
Contributor

github-actions bot commented Jul 7, 2025

🚨 Biome Check Report

Issues Found: 5801

📊 Analysis Summary

Metric Value Status
📁 Files Checked 1997 ✅ Complete
⚠️ Total Issues 5801 🚧 Needs attention

🔍 Issue Breakdown

Issue Type Count Status
Errors 904 🔴 Needs fixing
⚠️ Warnings 1037 🟡 Consider fixing
📝 Total Issues 1941 📊 See details above

🛠️ Next Steps

Run the following command to fix issues:

bun format-and-lint:fix

Then commit and push the changes.


🤖 Auto-generated by Biome Check workflow • Last updated: 7/9/2025, 8:55:15 AM

@vhpx vhpx changed the title fix: fetching data for side bar Add task fetcher for calendar sidebar Jul 8, 2025
@vercel vercel bot temporarily deployed to Preview – rewise July 9, 2025 04:57 Inactive
@vercel vercel bot temporarily deployed to Preview – calendar July 9, 2025 04:57 Inactive
@vercel vercel bot temporarily deployed to Preview – nova July 9, 2025 04:57 Inactive
@vercel vercel bot temporarily deployed to Preview – calendar July 9, 2025 05:08 Inactive
@vercel vercel bot temporarily deployed to Preview – nova July 9, 2025 05:08 Inactive
@vercel vercel bot temporarily deployed to Preview – rewise July 9, 2025 05:08 Inactive
@vercel vercel bot temporarily deployed to Preview – nova July 9, 2025 05:15 Inactive
@vercel vercel bot temporarily deployed to Preview – rewise July 9, 2025 05:15 Inactive
@vercel vercel bot temporarily deployed to Preview – calendar July 9, 2025 05:15 Inactive
@vercel vercel bot temporarily deployed to Preview – rewise July 9, 2025 05:17 Inactive
@vercel vercel bot temporarily deployed to Preview – nova July 9, 2025 05:17 Inactive
@vercel vercel bot temporarily deployed to Preview – calendar July 9, 2025 05:17 Inactive
@vercel vercel bot temporarily deployed to Preview – platform July 9, 2025 05:17 Inactive
@vercel vercel bot temporarily deployed to Preview – platform July 9, 2025 08:54 Inactive
@vercel vercel bot temporarily deployed to Preview – rewise July 9, 2025 08:54 Inactive
@vercel vercel bot temporarily deployed to Preview – calendar July 9, 2025 08:54 Inactive
@vercel vercel bot temporarily deployed to Preview – nova July 9, 2025 08:54 Inactive
@phatgg221 phatgg221 marked this pull request as ready for review July 9, 2025 08:54
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

♻️ Duplicate comments (1)
apps/web/src/app/[locale]/(dashboard)/[wsId]/calendar/page.tsx (1)

52-52: Verify TaskSidebarServer handles all required props.

The switch from client-side TasksSidebar to server-side TaskSidebarServer is good for performance, but a previous review comment flagged that TaskSidebarServer doesn't pass the hasAiChatAccess prop, which could break the AI Chat tab functionality.

Please verify that TaskSidebarServer properly handles the hasAiChatAccess prop and passes it to TasksSidebarContent:

#!/bin/bash
# Description: Check if TaskSidebarServer properly handles hasAiChatAccess prop
# Expected: TaskSidebarServer should fetch AI chat access data and pass it to TasksSidebarContent

echo "Checking TaskSidebarServer implementation..."
ast-grep --pattern $'export default $_ TaskSidebarServer($_) {
  $$$
}'

echo "Checking for hasAiChatAccess usage in TaskSidebarServer..."
rg -A 10 "hasAiChatAccess" --type ts
🧹 Nitpick comments (2)
packages/types/src/supabase.ts (1)

8902-8902: Maintain a consistent severity order in Constants.task_priority.

The array is now ['low', 'normal', 'high', 'critical'].
If UI components rely on index/order for color mapping or sorting, double-check they haven’t drifted from the DB enum order above. Divergence will cause subtle UI bugs.

apps/web/src/app/[locale]/(dashboard)/[wsId]/calendar/components/tasks-sidebar-content.tsx (1)

222-227: Complete the priority update implementation.

The function currently only logs to console. Implementing the actual API call is essential for the feature to work.

Would you like me to generate the implementation for updating task priority via API call or open a new issue to track this task?

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 4c57920 and 5c8666b.

📒 Files selected for processing (6)
  • apps/db/supabase/migrations/20250708033506_adjust_priority_enum.sql (1 hunks)
  • apps/external/tsconfig.json (2 hunks)
  • apps/web/src/app/[locale]/(dashboard)/[wsId]/calendar/components/tasks-sidebar-content.tsx (4 hunks)
  • apps/web/src/app/[locale]/(dashboard)/[wsId]/calendar/page.tsx (3 hunks)
  • apps/web/src/app/[locale]/(dashboard)/[wsId]/time-tracker/types.ts (1 hunks)
  • packages/types/src/supabase.ts (2 hunks)
🧰 Additional context used
🪛 GitHub Actions: Check Database Migrations
apps/db/supabase/migrations/20250708033506_adjust_priority_enum.sql

[error] 1-1: Migration file 'apps/db/supabase/migrations/20250708033506_adjust_priority_enum.sql' must not end with '_new_migration.sql'.

🪛 GitHub Check: CodeFactor
apps/web/src/app/[locale]/(dashboard)/[wsId]/calendar/components/tasks-sidebar-content.tsx

[notice] 223-223: apps/web/src/app/[locale]/(dashboard)/[wsId]/calendar/components/tasks-sidebar-content.tsx#L223
Unresolved 'todo' comment. (eslint/no-warning-comments)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (6)
  • GitHub Check: Analyze (javascript-typescript)
  • GitHub Check: Deploy-Preview
  • GitHub Check: Deploy-Preview
  • GitHub Check: Verify generated types
  • GitHub Check: Deploy-Preview
  • GitHub Check: Deploy-Preview
🔇 Additional comments (1)
apps/external/tsconfig.json (1)

4-8: LGTM! Good formatting improvements.

The multi-line formatting of JSON arrays enhances readability while maintaining the same compiler behavior. The addition of .next/types/**/*.ts to the include array is a standard Next.js practice for TypeScript type generation.

Also applies to: 26-28, 31-39

@@ -46,6 +46,7 @@

// Extended task interface with additional properties
export interface ExtendedWorkspaceTask extends WorkspaceTask {
due_date?: any;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛠️ Refactor suggestion

Replace any type with a more specific type.

The due_date property uses any which defeats TypeScript's type safety. Consider using a more specific type based on the expected data format.

-  due_date?: any;
+  due_date?: string | Date | null;

If the due date comes from a database, it's typically a string in ISO format. If it's processed as a Date object, use Date. The null allows for tasks without due dates.

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
due_date?: any;
due_date?: string | Date | null;
🤖 Prompt for AI Agents
In apps/web/src/app/[locale]/(dashboard)/[wsId]/time-tracker/types.ts at line
49, replace the type of the due_date property from any to a more specific type
such as string | Date | null depending on whether the due date is stored as an
ISO string, a Date object, or can be null for tasks without due dates. This will
improve type safety and clarity in the code.

@@ -8736,7 +8736,7 @@
platform_service: 'TUTURUUU' | 'REWISE' | 'NOVA' | 'UPSKII';
subscription_status: 'trialing' | 'active' | 'canceled' | 'past_due';
task_board_status: 'not_started' | 'active' | 'done' | 'closed';
task_priority: 'low' | 'medium' | 'high' | 'urgent';
task_priority: 'low' | 'normal' | 'high' | 'critical';
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Verification agent

🧩 Analysis chain

Renamed enum values are a backwards-incompatible change – audit the whole codebase & data.

Changing 'medium' | 'urgent''normal' | 'critical' will:

  1. Break existing rows that still hold the old text values.
  2. Break any run-time code, API requests, or UI components still sending 'medium' / 'urgent'.
  3. Potentially invalidate persisted filters, analytics dashboards, etc.

Please confirm that:
• A data migration script has already converted existing tasks.user_defined_priority values.
• All front-end/SDK usages have been updated (including tests, constants, mock data, etc.).

This should return zero results (except in migration scripts).
If matches appear, update them or introduce a compatibility layer.


🏁 Script executed:

#!/usr/bin/env bash
# Grep the repo for the removed enum literals to surface missed occurrences.
rg -n "'medium'|'urgent'|\"medium\"|\"urgent\"" --glob '*.{ts,tsx,js,sql,go,py}'

Length of output: 7398


Action Required: Update all ‘medium’/‘urgent’ references to ‘normal’/‘critical’ (or add a compatibility layer)

Our grep check (rg -n "'medium'|'urgent'") surfaced numerous remaining occurrences of the old enum literals across UI, API, analytics, AI modules, migrations, etc. These will break at runtime unless updated:

• apps/web/src/components/...
• apps/web/src/app/.../tasks/boards/...
• apps/web/src/app/.../time-tracker/...
• apps/web/src/app/.../ai/spark/...
• apps/calendar/src/app/.../scheduler/...
• packages/ui/src/hooks/use-calendar.tsx
• packages/ui/src/components/ui/legacy/calendar/...
• packages/types/src/primitives/calendar-event.ts
• packages/ai/src/...
• apps/db/supabase/migrations/...sql

Next steps:

  1. Replace all occurrences of
    • 'medium''normal'
    • 'urgent''critical'
      in code, tests, mock data, constants, and migration scripts (or introduce a runtime shim).
  2. Ensure your data-migration script has converted existing tasks.user_defined_priority rows.
  3. Re-run the grep command and verify zero matches for the old literals.
🤖 Prompt for AI Agents
In packages/types/src/supabase.ts at line 8739, update all instances of the old
enum literals 'medium' and 'urgent' to 'normal' and 'critical' respectively
throughout the entire codebase including UI, API, analytics, AI modules,
migrations, tests, mock data, and constants. Additionally, ensure the
data-migration script converts existing database entries for
tasks.user_defined_priority accordingly. After making these changes, run the
grep command again to confirm no occurrences of 'medium' or 'urgent' remain.
Optionally, consider adding a runtime compatibility layer if immediate full
replacement is not feasible.

Copy link
Member

@vhpx vhpx left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! Thanks @phatgg221.

@vhpx vhpx merged commit e5f1950 into main Jul 9, 2025
23 checks passed
@vhpx vhpx deleted the fix/side-bar-contents-data-fetching branch July 9, 2025 09:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants