dh_demo

DreamHanks demo project
git clone git://git.lair.cx/dh_demo
Log | Files | Refs | README

WikiToolbar.tsx (1253B)


      1 import { getSlugAndPath } from '@/lib/utils/wiki'
      2 import Link from 'next/link'
      3 import { useRouter } from 'next/router'
      4 import styles from './WikiToolbar.module.css';
      5 
      6 export interface WikiToolbarProps {
      7   pageKind: 'wiki' | 'edit' | 'talk' | 'logs' | 'manage'
      8   enableManage?: boolean
      9 }
     10 
     11 export default function WikiToolbar (props: WikiToolbarProps) {
     12   const router = useRouter()
     13 
     14   const [slug, path] = getSlugAndPath(router)
     15 
     16   return (
     17     <div className={styles['toolbar']}>
     18       {props.pageKind !== 'wiki' && (
     19         <Link href={`/wiki/${slug}/${path}`} className={styles['item']}>
     20           View
     21         </Link>
     22       )}
     23       {props.pageKind !== 'edit' && (
     24         <Link href={`/edit/${slug}/${path}`} className={styles['item']}>
     25           Edit
     26         </Link>
     27       )}
     28       {props.pageKind !== 'talk' && (
     29         <Link href={`/talk/${slug}/${path}`} className={styles['item']}>
     30           Talks
     31         </Link>
     32       )}
     33       {props.pageKind !== 'logs' && (
     34         <Link href={`/logs/${slug}/${path}`} className={styles['item']}>
     35           History
     36         </Link>
     37       )}
     38       {props.enableManage && (
     39         <Link href={`/manage/${slug}/${path}`} className={styles['item']}>
     40           Manage
     41         </Link>
     42       )}
     43     </div>
     44   )
     45 }