NetCore Web\index.css-155- color: var(--accent-blue); NetCore Web\index.css-156-} NetCore Web\index.css-157- NetCore Web\index.css:158:.nav-links { NetCore Web\index.css-159- display: flex; NetCore Web\index.css-160- gap: 2rem; NetCore Web\index.css-161-} NetCore Web\index.css-162- NetCore Web\index.css:163:.nav-links a { NetCore Web\index.css-164- color: var(--text-black); NetCore Web\index.css-165- font-weight: 500; NetCore Web\index.css-166-} NetCore Web\index.css-167- NetCore Web\index.css:168:.nav-links a:hover { NetCore Web\index.css-169- color: var(--accent-blue); NetCore Web\index.css-170-} NetCore Web\index.css-171- -- NetCore Web\index.css-695-} NetCore Web\index.css-696- NetCore Web\index.css-697-@media (max-width: 768px) { NetCore Web\index.css:698: .nav-links { display: none; } NetCore Web\index.css-699- .mobile-menu-toggle { display: block; } NetCore Web\index.css-700- .navbar .btn { display: none; } NetCore Web\index.css-701- -- NetCore Web\css\styles.css-270- } NetCore Web\css\styles.css-271-} NetCore Web\css\styles.css-272- NetCore Web\css\styles.css:273:.nav-link { NetCore Web\css\styles.css-274- color: var(--text-secondary); NetCore Web\css\styles.css-275- font-weight: 500; NetCore Web\css\styles.css-276- font-size: 0.95rem; NetCore Web\css\styles.css-277- padding-block: 0.4rem; NetCore Web\css\styles.css-278-} NetCore Web\css\styles.css-279- NetCore Web\css\styles.css:280:.nav-link:hover { NetCore Web\css\styles.css-281- color: var(--color-primary); NetCore Web\css\styles.css-282-} NetCore Web\css\styles.css-283- -- NetCore Web\css\styles.css-375- visibility: visible; NetCore Web\css\styles.css-376-} NetCore Web\css\styles.css-377- NetCore Web\css\styles.css:378:.mobile-nav .nav-link { NetCore Web\css\styles.css-379- font-size: 1.15rem; NetCore Web\css\styles.css-380- font-weight: 600; NetCore Web\css\styles.css-381- color: var(--text-primary); -- NetCore Web\css\styles.css-383- border-radius: var(--radius-sm); NetCore Web\css\styles.css-384-} NetCore Web\css\styles.css-385- NetCore Web\css\styles.css:386:.mobile-nav .nav-link:active { NetCore Web\css\styles.css-387- background-color: var(--bg-surface-hover); NetCore Web\css\styles.css-388- color: var(--color-primary); NetCore Web\css\styles.css-389-} -- NetCore Web\css\styles.css-490-} NetCore Web\css\styles.css-491- NetCore Web\css\styles.css-492-/* Metrics Section Responsive */ NetCore Web\css\styles.css:493:.metrics-section { NetCore Web\css\styles.css-494- padding-block: 2rem; NetCore Web\css\styles.css-495- border-block: 1px solid var(--border-subtle); NetCore Web\css\styles.css-496- background-color: var(--bg-pure); -- NetCore Web\js\app.js-69- }); NetCore Web\js\app.js-70- }, { threshold: 0.3 }); NetCore Web\js\app.js-71- NetCore Web\js\app.js:72: const metricsSection = document.querySelector('.metrics-section'); NetCore Web\js\app.js-73- if (metricsSection) observer.observe(metricsSection); NetCore Web\js\app.js-74- NetCore Web\js\app.js-75- function animateSingleCounter(el) { -- node_modules\next\dist\docs\01-app\03-api-reference\02-components\link.md-584- node_modules\next\dist\docs\01-app\03-api-reference\02-components\link.md-585-You can use [`usePathname()`](/docs/app/api-reference/functions/use-pathname) to determine if a link is active. For example, to add a class to the active link, you can check if the current `pathname` matches the `href` of the link: node_modules\next\dist\docs\01-app\03-api-reference\02-components\link.md-586- node_modules\next\dist\docs\01-app\03-api-reference\02-components\link.md:587:```tsx filename="app/ui/nav-links.tsx" switcher node_modules\next\dist\docs\01-app\03-api-reference\02-components\link.md-588-'use client' node_modules\next\dist\docs\01-app\03-api-reference\02-components\link.md-589- node_modules\next\dist\docs\01-app\03-api-reference\02-components\link.md-590-import { usePathname } from 'next/navigation' -- node_modules\next\dist\docs\01-app\03-api-reference\02-components\link.md-610-} node_modules\next\dist\docs\01-app\03-api-reference\02-components\link.md-611-``` node_modules\next\dist\docs\01-app\03-api-reference\02-components\link.md-612- node_modules\next\dist\docs\01-app\03-api-reference\02-components\link.md:613:```jsx filename="app/ui/nav-links.js" switcher node_modules\next\dist\docs\01-app\03-api-reference\02-components\link.md-614-'use client' node_modules\next\dist\docs\01-app\03-api-reference\02-components\link.md-615- node_modules\next\dist\docs\01-app\03-api-reference\02-components\link.md-616-import { usePathname } from 'next/navigation' -- node_modules\next\dist\docs\01-app\02-guides\prefetching.md-33- node_modules\next\dist\docs\01-app\02-guides\prefetching.md-34-## Automatic prefetch node_modules\next\dist\docs\01-app\02-guides\prefetching.md-35- node_modules\next\dist\docs\01-app\02-guides\prefetching.md:36:```tsx filename="app/ui/nav-link.tsx" switcher node_modules\next\dist\docs\01-app\02-guides\prefetching.md-37-import Link from 'next/link' node_modules\next\dist\docs\01-app\02-guides\prefetching.md-38- node_modules\next\dist\docs\01-app\02-guides\prefetching.md-39-export default function NavLink() { -- node_modules\next\dist\docs\01-app\02-guides\prefetching.md-41-} node_modules\next\dist\docs\01-app\02-guides\prefetching.md-42-``` node_modules\next\dist\docs\01-app\02-guides\prefetching.md-43- node_modules\next\dist\docs\01-app\02-guides\prefetching.md:44:```jsx filename="app/ui/nav-link.js" switcher node_modules\next\dist\docs\01-app\02-guides\prefetching.md-45-import Link from 'next/link' node_modules\next\dist\docs\01-app\02-guides\prefetching.md-46- node_modules\next\dist\docs\01-app\02-guides\prefetching.md-47-export default function NavLink() { -- node_modules\next\dist\docs\01-app\03-api-reference\04-functions\use-selected-layout-segment.md-72- node_modules\next\dist\docs\01-app\03-api-reference\04-functions\use-selected-layout-segment.md-73-You can use `useSelectedLayoutSegment` to create an active link component that changes style depending on the active segment. For example, a featured posts list in the sidebar of a blog: node_modules\next\dist\docs\01-app\03-api-reference\04-functions\use-selected-layout-segment.md-74- node_modules\next\dist\docs\01-app\03-api-reference\04-functions\use-selected-layout-segment.md:75:```tsx filename="app/blog/blog-nav-link.tsx" switcher node_modules\next\dist\docs\01-app\03-api-reference\04-functions\use-selected-layout-segment.md-76-'use client' node_modules\next\dist\docs\01-app\03-api-reference\04-functions\use-selected-layout-segment.md-77- node_modules\next\dist\docs\01-app\03-api-reference\04-functions\use-selected-layout-segment.md-78-import Link from 'next/link' -- node_modules\next\dist\docs\01-app\03-api-reference\04-functions\use-selected-layout-segment.md-103-} node_modules\next\dist\docs\01-app\03-api-reference\04-functions\use-selected-layout-segment.md-104-``` node_modules\next\dist\docs\01-app\03-api-reference\04-functions\use-selected-layout-segment.md-105- node_modules\next\dist\docs\01-app\03-api-reference\04-functions\use-selected-layout-segment.md:106:```jsx filename="app/blog/blog-nav-link.js" switcher node_modules\next\dist\docs\01-app\03-api-reference\04-functions\use-selected-layout-segment.md-107-'use client' node_modules\next\dist\docs\01-app\03-api-reference\04-functions\use-selected-layout-segment.md-108- node_modules\next\dist\docs\01-app\03-api-reference\04-functions\use-selected-layout-segment.md-109-import Link from 'next/link' -- node_modules\next\dist\docs\01-app\03-api-reference\04-functions\use-selected-layout-segment.md-130- node_modules\next\dist\docs\01-app\03-api-reference\04-functions\use-selected-layout-segment.md-131-```tsx filename="app/blog/layout.tsx" switcher node_modules\next\dist\docs\01-app\03-api-reference\04-functions\use-selected-layout-segment.md-132-// Import the Client Component into a parent Layout (Server Component) node_modules\next\dist\docs\01-app\03-api-reference\04-functions\use-selected-layout-segment.md:133:import { BlogNavLink } from './blog-nav-link' node_modules\next\dist\docs\01-app\03-api-reference\04-functions\use-selected-layout-segment.md-134-import getFeaturedPosts from './get-featured-posts' node_modules\next\dist\docs\01-app\03-api-reference\04-functions\use-selected-layout-segment.md-135- node_modules\next\dist\docs\01-app\03-api-reference\04-functions\use-selected-layout-segment.md-136-export default async function Layout({ -- node_modules\next\dist\docs\01-app\03-api-reference\04-functions\use-selected-layout-segment.md-154- node_modules\next\dist\docs\01-app\03-api-reference\04-functions\use-selected-layout-segment.md-155-```jsx filename="app/blog/layout.js" switcher node_modules\next\dist\docs\01-app\03-api-reference\04-functions\use-selected-layout-segment.md-156-// Import the Client Component into a parent Layout (Server Component) node_modules\next\dist\docs\01-app\03-api-reference\04-functions\use-selected-layout-segment.md:157:import { BlogNavLink } from './blog-nav-link' node_modules\next\dist\docs\01-app\03-api-reference\04-functions\use-selected-layout-segment.md-158-import getFeaturedPosts from './get-featured-posts' node_modules\next\dist\docs\01-app\03-api-reference\04-functions\use-selected-layout-segment.md-159- node_modules\next\dist\docs\01-app\03-api-reference\04-functions\use-selected-layout-segment.md-160-export default async function Layout({ children }) { -- node_modules\next\dist\docs\01-app\03-api-reference\03-file-conventions\layout.md-446- node_modules\next\dist\docs\01-app\03-api-reference\03-file-conventions\layout.md-447-Layouts do not have access to the route segments below itself. To access all route segments, you can use [`useSelectedLayoutSegment`](/docs/app/api-reference/functions/use-selected-layout-segment) or [`useSelectedLayoutSegments`](/docs/app/api-reference/functions/use-selected-layout-segments) in a Client Component. node_modules\next\dist\docs\01-app\03-api-reference\03-file-conventions\layout.md-448- node_modules\next\dist\docs\01-app\03-api-reference\03-file-conventions\layout.md:449:```tsx filename="app/ui/nav-link.tsx" switcher node_modules\next\dist\docs\01-app\03-api-reference\03-file-conventions\layout.md-450-'use client' node_modules\next\dist\docs\01-app\03-api-reference\03-file-conventions\layout.md-451- node_modules\next\dist\docs\01-app\03-api-reference\03-file-conventions\layout.md-452-import Link from 'next/link' -- node_modules\next\dist\docs\01-app\03-api-reference\03-file-conventions\layout.md-474-} node_modules\next\dist\docs\01-app\03-api-reference\03-file-conventions\layout.md-475-``` node_modules\next\dist\docs\01-app\03-api-reference\03-file-conventions\layout.md-476- node_modules\next\dist\docs\01-app\03-api-reference\03-file-conventions\layout.md:477:```jsx filename="app/ui/nav-link.js" switcher node_modules\next\dist\docs\01-app\03-api-reference\03-file-conventions\layout.md-478-'use client' node_modules\next\dist\docs\01-app\03-api-reference\03-file-conventions\layout.md-479- node_modules\next\dist\docs\01-app\03-api-reference\03-file-conventions\layout.md-480-import Link from 'next/link' -- node_modules\next\dist\docs\01-app\03-api-reference\03-file-conventions\layout.md-496-``` node_modules\next\dist\docs\01-app\03-api-reference\03-file-conventions\layout.md-497- node_modules\next\dist\docs\01-app\03-api-reference\03-file-conventions\layout.md-498-```tsx filename="app/blog/layout.tsx" switcher node_modules\next\dist\docs\01-app\03-api-reference\03-file-conventions\layout.md:499:import { NavLink } from './nav-link' node_modules\next\dist\docs\01-app\03-api-reference\03-file-conventions\layout.md-500-import getPosts from './get-posts' node_modules\next\dist\docs\01-app\03-api-reference\03-file-conventions\layout.md-501- node_modules\next\dist\docs\01-app\03-api-reference\03-file-conventions\layout.md-502-export default async function Layout({ -- node_modules\next\dist\docs\01-app\03-api-reference\03-file-conventions\layout.md-519-``` node_modules\next\dist\docs\01-app\03-api-reference\03-file-conventions\layout.md-520- node_modules\next\dist\docs\01-app\03-api-reference\03-file-conventions\layout.md-521-```jsx filename="app/blog/layout.js" switcher node_modules\next\dist\docs\01-app\03-api-reference\03-file-conventions\layout.md:522:import { NavLink } from './nav-link' node_modules\next\dist\docs\01-app\03-api-reference\03-file-conventions\layout.md-523-import getPosts from './get-posts' node_modules\next\dist\docs\01-app\03-api-reference\03-file-conventions\layout.md-524- node_modules\next\dist\docs\01-app\03-api-reference\03-file-conventions\layout.md-525-export default async function Layout({ children }) { -- node_modules\next\dist\docs\01-app\03-api-reference\03-file-conventions\layout.md-573- node_modules\next\dist\docs\01-app\03-api-reference\03-file-conventions\layout.md-574-Since `usePathname` is a client hook, you need to extract the nav links into a Client Component, which can be imported into your layout: node_modules\next\dist\docs\01-app\03-api-reference\03-file-conventions\layout.md-575- node_modules\next\dist\docs\01-app\03-api-reference\03-file-conventions\layout.md:576:```tsx filename="app/ui/nav-links.tsx" switcher node_modules\next\dist\docs\01-app\03-api-reference\03-file-conventions\layout.md-577-'use client' node_modules\next\dist\docs\01-app\03-api-reference\03-file-conventions\layout.md-578- node_modules\next\dist\docs\01-app\03-api-reference\03-file-conventions\layout.md-579-import { usePathname } from 'next/navigation' -- node_modules\next\dist\docs\01-app\03-api-reference\03-file-conventions\layout.md-599-} node_modules\next\dist\docs\01-app\03-api-reference\03-file-conventions\layout.md-600-``` node_modules\next\dist\docs\01-app\03-api-reference\03-file-conventions\layout.md-601- node_modules\next\dist\docs\01-app\03-api-reference\03-file-conventions\layout.md:602:```jsx filename="app/ui/nav-links.js" switcher node_modules\next\dist\docs\01-app\03-api-reference\03-file-conventions\layout.md-603-'use client' node_modules\next\dist\docs\01-app\03-api-reference\03-file-conventions\layout.md-604- node_modules\next\dist\docs\01-app\03-api-reference\03-file-conventions\layout.md-605-import { usePathname } from 'next/navigation' -- node_modules\next\dist\docs\01-app\03-api-reference\03-file-conventions\layout.md-626-``` node_modules\next\dist\docs\01-app\03-api-reference\03-file-conventions\layout.md-627- node_modules\next\dist\docs\01-app\03-api-reference\03-file-conventions\layout.md-628-```tsx filename="app/layout.tsx" switcher node_modules\next\dist\docs\01-app\03-api-reference\03-file-conventions\layout.md:629:import { NavLinks } from '@/app/ui/nav-links' node_modules\next\dist\docs\01-app\03-api-reference\03-file-conventions\layout.md-630- node_modules\next\dist\docs\01-app\03-api-reference\03-file-conventions\layout.md-631-export default function Layout({ children }: { children: React.ReactNode }) { node_modules\next\dist\docs\01-app\03-api-reference\03-file-conventions\layout.md-632- return ( -- node_modules\next\dist\docs\01-app\03-api-reference\03-file-conventions\layout.md-641-``` node_modules\next\dist\docs\01-app\03-api-reference\03-file-conventions\layout.md-642- node_modules\next\dist\docs\01-app\03-api-reference\03-file-conventions\layout.md-643-```jsx filename="app/layout.js" switcher node_modules\next\dist\docs\01-app\03-api-reference\03-file-conventions\layout.md:644:import { NavLinks } from '@/app/ui/nav-links' node_modules\next\dist\docs\01-app\03-api-reference\03-file-conventions\layout.md-645- node_modules\next\dist\docs\01-app\03-api-reference\03-file-conventions\layout.md-646-export default function Layout({ children }) { node_modules\next\dist\docs\01-app\03-api-reference\03-file-conventions\layout.md-647- return ( ground cable construction, and network drop installations for telecommunications providers and regional networks.
Explore markets currently published by our operations team. Availability updates directly from NetCore CRM.
Delivering precision engineering, high-capacity optical fiber networks, and reliable connection services for project owners.
High-precision single-strand and ribbon fusion splicing, OTDR trace characterization, and optical loss testing for flawless network performance.
Learn more →Complete pole line attachment, strand placing, overlash operations, directional boring (HDD), and underground conduit placement.
Learn more →Last-mile fiber and coaxial cable drops for residential and commercial premises with high-reliability ONT provisioning.
Learn more →Structured cabling, riser microduct installation, and telecommunications room (IDF/MDF) construction for commercial buildings and multi-tenant properties.
Learn more →24/7 emergency repair, cable damage restoration, preventive plant maintenance, and emergency line cuts recovery.
Learn more →Rigorous optical power testing, signal verification, and comprehensive final documentation on every project.
Learn more →NetCore LLC combines skilled professionals, state-of-the-art equipment, and strict quality control.
OSHA compliant field protocols, full safety certification, and a commitment to zero workplace incidents.
Highly trained specialists equipped with advanced fusion splicers and calibrated testing instrumentation.
Fully equipped utility vehicles, bucket trucks, mobile fiber laboratories, and directional drill rigs.
Responsive project management and 24/7 technical support to ensure continuous network uptime.
Investing in modern machinery and precision optical instruments for superior execution.
Commercial vans and utility trucks fully equipped with tools and supplies for rapid deployment.
Insulated 45ft aerial lifts for safe overhead fiber and cable placement.
Mobile climate-controlled splicing trailers with core-alignment splicers and EXFO OTDRs.
Common questions from clients, partners, and project managers working with NetCore LLC.
Have a project or inquiry? Send us a message and our management team will respond promptly.
Thank you for reaching out to NetCore LLC. A member of our team will get back to you shortly.