Skip to content

Adrian Garced Dev Team Application - #551

Open
pinkytoefoo wants to merge 9 commits into
KnightHacks:mainfrom
pinkytoefoo:blade/adrian-garced
Open

Adrian Garced Dev Team Application#551
pinkytoefoo wants to merge 9 commits into
KnightHacks:mainfrom
pinkytoefoo:blade/adrian-garced

Conversation

@pinkytoefoo

Copy link
Copy Markdown

Why

My dev team application

What

Added a mini portfolio page at /adrian-garced. I also added some dependencies to apps/blade such as simple-icons and motion for frontend eye-candy.

Test Plan

Ran the command pnpm lint with no errors. Also ran locally on localhost:3000 via pnpm --filter blade run dev. All links on the page are verified and redirect as intended.

@pinkytoefoo
pinkytoefoo requested a review from a team as a code owner September 8, 2026 22:50
@pinkytoefoo pinkytoefoo changed the title Blade/adrian garced Adrian Garced Dev Team Application Sep 8, 2026
@coderabbitai

coderabbitai Bot commented Sep 8, 2026

Copy link
Copy Markdown

Review Change StackReview Change Stack

📝 Walkthrough

Walkthrough

Adds the /adrian-garced portfolio route with intro, projects, tools, hobbies, about content, navigation, animations, and footer components. Adds static project data, a canvas-based technology playground, custom fonts, Tailwind animations, tooltip context, and TypeScript/Vitest path aliases.

Priority: ⬇️ Low

Merge Risk: 🔵 Low · up to 8cda0

The new portfolio page can open itself instead of a project repository, leave unavailable project media permanently loading, and make icon navigation inaccessible to assistive technology. These are low-risk presentation defects but should be corrected before publishing the page.

🚥 Pre-merge checks | ✅ 6 | ❌ 2

❌ Failed checks (2 warnings)

Check name Status Explanation Resolution
Title check ⚠️ Warning The title describes the portfolio page but does not start with an issue number in brackets. Add the issue number prefix and keep the concise description, for example: "[#123] Add Adrian Garced portfolio page".
Docstring Coverage ⚠️ Warning Docstring coverage is 6.67% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 15 functions across 17 files. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (6 passed)
Check name Status Explanation
Description check ✅ Passed The description explains the portfolio page, added dependencies, and test plan, which matches the changeset.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
No Hardcoded Secrets ✅ Passed No hardcoded API keys, passwords, tokens, or secrets were found in the changed portfolio files. Credential-assignment and provider-key pattern scans returned no matches. The visible email, repository …
Validated Env Access ✅ Passed No direct process.env usage was introduced. The portfolio pull-request range (f4436df15..8cda097de) adds or modifies 21 paths, and neither the patch additions nor any touched tip blob contains `pr…
No Typescript Escape Hatches ✅ Passed No TypeScript escape hatch was introduced. The PR diff from merge base f4436df to HEAD contains no @ts-ignore, @ts-expect-error, any type, or non-null assertion. AST searches also found no any
  • Fix all pre-merge checks with AI
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Warning

Some tools did not complete. Review the errors below.

🔧 ESLint

If the error stems from missing dependencies, add them to the package.json file. For unrecoverable errors (e.g., due to private dependencies), disable the tool in the CodeRabbit configuration.

apps/blade/src/app/_components/adrian-garced/playground.tsx

ESLint skipped: missing config or dependency (missing-dependency). The ESLint configuration references a package that is not available in the sandbox.

apps/blade/src/app/_components/adrian-garced/sections/hobby.tsx

ESLint skipped: the matched ESLint configuration already failed (missing-dependency).

apps/blade/src/app/_components/adrian-garced/sections/my-tools.tsx

ESLint skipped: the matched ESLint configuration already failed (missing-dependency).

  • 3 others

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

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

Note

Quiet mode is enabled, so only the most important comments were posted inline. Other review comments are grouped below.

🟡 Other comments (5)
apps/blade/src/app/layout.tsx-104-104 (1)

104-104: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Remove the quote characters around dark.

The generated class list contains "dark" instead of dark. Tailwind dark-mode selectors do not match that token in the server-rendered HTML.

apps/blade/src/app/_components/adrian-garced/sections/selected-data.ts-17-17 (1)

17-17: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Do not publish an empty repository link.

selected.tsx renders href={project.repoUrl} for every project. With repoUrl: "", the Image Upscaler Repo link opens the current page. Set the repository URL or render the link only when repoUrl is non-empty.

apps/blade/src/app/_components/adrian-garced/sections/selected.tsx-30-31 (1)

30-31: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Add DOM IDs for project subsections.

PAGE_SECTIONS emits title-slug fragment links, but neither card wrapper renders the matching ID. Use one shared slug helper and set the resulting ID on each wrapper.

  • apps/blade/src/app/_components/adrian-garced/sections/selected.tsx#L30-L31: set the selected-project title slug as the wrapper id.
  • apps/blade/src/app/_components/adrian-garced/sections/hobby.tsx#L89-L91: set the hobby-project title slug as the wrapper id.
apps/blade/src/app/_components/adrian-garced/navbar.tsx-45-50 (1)

45-50: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Add an accessible name to each icon link.

The four anchors contain only SVG icons. The tooltip provides a description, not an accessible name. Add aria-label={icons.tooltip} to each anchor.

apps/blade/src/app/_components/adrian-garced/sections/my-tools.tsx-61-63 (1)

61-63: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Populate the playground heading.

The empty <h3> can expose an unnamed level-3 heading in heading navigation. Move DVD Animation but for my Technologies into the <h3> and remove the duplicate <p>.


ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yml

Review profile: QUIET

Plan: Advanced

Run ID: b3415df1-b1f5-4a4d-83ff-edcb6921925e

📥 Commits

Reviewing files that changed from the base of the PR and between d22c913 and 7ef9870.

⛔ Files ignored due to path filters (2)
  • apps/blade/public/adrian-garced/Resume.pdf is excluded by !**/*.pdf
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml, !pnpm-lock.yaml
📒 Files selected for processing (19)
  • apps/blade/package.json
  • apps/blade/src/app/_components/adrian-garced/footer.tsx
  • apps/blade/src/app/_components/adrian-garced/navbar.tsx
  • apps/blade/src/app/_components/adrian-garced/playground.tsx
  • apps/blade/src/app/_components/adrian-garced/reveal.tsx
  • apps/blade/src/app/_components/adrian-garced/sections/about-me.tsx
  • apps/blade/src/app/_components/adrian-garced/sections/hobby-data.ts
  • apps/blade/src/app/_components/adrian-garced/sections/hobby.tsx
  • apps/blade/src/app/_components/adrian-garced/sections/intro.tsx
  • apps/blade/src/app/_components/adrian-garced/sections/my-tools.tsx
  • apps/blade/src/app/_components/adrian-garced/sections/selected-data.ts
  • apps/blade/src/app/_components/adrian-garced/sections/selected.tsx
  • apps/blade/src/app/_components/adrian-garced/toc.tsx
  • apps/blade/src/app/adrian-garced/icons.tsx
  • apps/blade/src/app/adrian-garced/page.tsx
  • apps/blade/src/app/layout.tsx
  • apps/blade/tailwind.config.ts
  • apps/blade/tsconfig.json
  • apps/blade/vitest.config.ts

Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review.

Comment thread apps/blade/src/app/_components/adrian-garced/sections/hobby.tsx Outdated

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Note

Quiet mode is enabled, so only the most important comments were posted inline. Other review comments are grouped below.

🟡 Other comments (2)
apps/blade/src/app/_components/adrian-garced/sections/selected-data.ts-17-17 (1)

17-17: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Remove the empty repository URL.

repoUrl: "" makes the unconditional Repo link open the current portfolio page in a new tab. If this project has no repository, omit repoUrl and render the Repo link only when it exists.

apps/blade/src/app/_components/adrian-garced/sections/hobby.tsx-59-59 (1)

59-59: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Handle image load failures.

If project.visualUrl fails to load, isLoaded remains false and the card shows Loading visual... forever. Add an onError path that replaces the loader with an unavailable-media state.


ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yml

Review profile: QUIET

Plan: Advanced

Run ID: 0df0603b-c425-47ff-9159-f645170b0f87

📥 Commits

Reviewing files that changed from the base of the PR and between 7ef9870 and 8cda097.

📒 Files selected for processing (6)
  • apps/blade/src/app/_components/adrian-garced/playground.tsx
  • apps/blade/src/app/_components/adrian-garced/sections/hobby.tsx
  • apps/blade/src/app/_components/adrian-garced/sections/my-tools.tsx
  • apps/blade/src/app/_components/adrian-garced/sections/selected-data.ts
  • apps/blade/src/app/_components/adrian-garced/sections/selected.tsx
  • apps/blade/src/app/adrian-garced/page.tsx

Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review.

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.

1 participant