Skip to main content
Glama

MCP-RSS-Crawler

by mshk
Layout.tsx2.68 kB
import React, { ReactNode, useState } from 'react'; import Sidebar from './Sidebar'; import SearchBar from './SearchBar'; import Link from 'next/link'; import FeedItemDetail from './FeedItemDetail'; interface LayoutProps { children: ReactNode; selectedCategory?: string; selectedFeed?: string; } export default function Layout({ children, selectedCategory, selectedFeed }: LayoutProps) { const [selectedItem, setSelectedItem] = useState<string | null>(null); // Create a context object to pass to children const childContext = { setSelectedItem }; return ( <div className="flex min-h-screen bg-gray-50"> {/* Left Pane: Sidebar */} <Sidebar selectedCategory={selectedCategory} selectedFeed={selectedFeed} /> {/* Middle and Right Panes */} <div className="flex-1 flex flex-col"> {/* Header */} <header className="bg-white shadow-sm"> <div className="max-w-7xl mx-auto px-4 py-4 sm:px-6 lg:px-8 flex justify-between items-center"> <div> <Link href="/" className="text-xl font-bold text-gray-900"> RSS Feed Viewer </Link> </div> <SearchBar /> </div> </header> {/* Main content - 2 panes side by side */} <main className="flex-1 overflow-hidden flex"> {/* Middle Pane: Feed Item List */} <div className="w-1/2 overflow-y-auto border-r border-gray-200"> <div className="px-4 sm:px-6 lg:px-8 py-4"> {/* Create a context provider for the children */} <LayoutContext.Provider value={childContext}> {children} </LayoutContext.Provider> </div> </div> {/* Right Pane: Content Display */} <div className="w-1/2 overflow-y-auto"> {selectedItem ? ( <FeedItemDetail itemId={selectedItem} /> ) : ( <div className="flex items-center justify-center h-full text-gray-500"> <p>Select an item to view its content</p> </div> )} </div> </main> {/* Footer */} <footer className="bg-white shadow-sm-top py-4"> <div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 text-center text-gray-500 text-sm"> RSS Feed Viewer - View and manage your RSS feeds </div> </footer> </div> </div> ); } // Create a context for the layout export const LayoutContext = React.createContext<{ setSelectedItem: (itemId: string | null) => void; }>({ setSelectedItem: () => {} });

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mshk/mcp-rss-crawler'

If you have feedback or need assistance with the MCP directory API, please join our Discord server