source-code/
portofolio-neo-gruv
Public
codeCodeinfoIssues 0call_splitPull Requestsplay_circleActions
portofolio-neo-gruv/src/context/DataContext.tsx
typescript20 lines559 B
"use client";

import React, { createContext, useContext } from 'react';

import { SiteData } from '../types';

const DataContext = createContext<SiteData | null>(null);

export const DataProvider: React.FC<{ data: SiteData; children: React.ReactNode }> = ({ data, children }) => {
  return <DataContext.Provider value={data}>{children}</DataContext.Provider>;
};

export const useData = (): SiteData => {
  const context = useContext(DataContext);
  if (!context) {
    throw new Error('useData must be used within a DataProvider');
  }
  return context;
};

About

Custom portfolio frontend designed using retro Neo-Brutalist styling. Features server-rendered pages, persistent codebase layout, interactive file explorer tree, and Shiki code syntax highlighting.

TypeScriptNext.jsReact 19Tailwind CSSShiki

Contributors

1