Skip to content

Commit 4c0df6e

Browse files
justin808claude
andcommitted
Fix ESLint violations in RSC components and updated files
- Move eslint-disable after 'use client' directive in SimpleCommentScreen - Add no-promise-executor-return disable for setTimeout in CommentsFeed - Replace array index key with semantic key in ServerInfo - Add PropTypes to TogglePanel component - Fix import ordering in stimulus-bundle.js Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 4d09e13 commit 4c0df6e

5 files changed

Lines changed: 11 additions & 5 deletions

File tree

client/app/bundles/comments/components/SimpleCommentScreen/ror_components/SimpleCommentScreen.jsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
'use client';
2+
/* eslint-disable max-classes-per-file */
23

3-
// eslint-disable-next-line max-classes-per-file
44
import React from 'react';
55
import request from 'axios';
66
import Immutable from 'immutable';

client/app/bundles/server-components/components/CommentsFeed.jsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ marked.use(gfmHeadingId());
1313

1414
async function CommentsFeed() {
1515
// Simulate network latency to demonstrate streaming
16+
// eslint-disable-next-line no-promise-executor-return
1617
await new Promise((resolve) => setTimeout(resolve, 800));
1718

1819
// Fetch comments directly from the Rails API — no client-side fetch needed

client/app/bundles/server-components/components/ServerInfo.jsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,8 @@ async function ServerInfo() {
4040
used to format it never reaches the browser.
4141
</p>
4242
<div className="grid md:grid-cols-2 gap-x-8 gap-y-1">
43-
{grouped.map((group, gi) => (
44-
<div key={gi} className="space-y-1">
43+
{grouped.map((group) => (
44+
<div key={group.map(([k]) => k).join('-')} className="space-y-1">
4545
{group.map(([key, value]) => (
4646
<div key={key} className="flex justify-between py-1.5 border-b border-emerald-100 last:border-0">
4747
<span className="text-sm text-emerald-700 font-medium">{labels[key] || key}</span>

client/app/bundles/server-components/components/TogglePanel.jsx

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
'use client';
22

33
import React, { useState } from 'react';
4+
import PropTypes from 'prop-types';
45

56
const TogglePanel = ({ title, children }) => {
67
const [isOpen, setIsOpen] = useState(false);
@@ -31,4 +32,9 @@ const TogglePanel = ({ title, children }) => {
3132
);
3233
};
3334

35+
TogglePanel.propTypes = {
36+
title: PropTypes.string.isRequired,
37+
children: PropTypes.node.isRequired,
38+
};
39+
3440
export default TogglePanel;

client/app/packs/stimulus-bundle.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
'use client';
22

33
import ReactOnRails from 'react-on-rails-pro';
4+
import registerServerComponent from 'react-on-rails-pro/registerServerComponent/client';
45
import 'jquery-ujs';
56
import { Turbo } from '@hotwired/turbo-rails';
67

@@ -21,8 +22,6 @@ ReactOnRails.setOptions({
2122
// No need for manual registration
2223

2324
// React Server Components registration (client-side)
24-
import registerServerComponent from 'react-on-rails-pro/registerServerComponent/client';
25-
2625
registerServerComponent(
2726
{ rscPayloadGenerationUrlPath: 'rsc_payload/' },
2827
'ServerComponentsPage',

0 commit comments

Comments
 (0)