From 5b384487331eaf08031dfe438bb2affa31aafcbb Mon Sep 17 00:00:00 2001
From: Ellie Huxtable <ellie@atuin.sh>
Date: Mon, 8 Jul 2024 11:17:47 +0100
Subject: feat(gui): runbooks that run (#2233)

* add initial runbooks frontend

* fix buttons, scroll, add shell support to editor

* work

* some tweaks

* wip - run crate

* functioning executable blocks

* handle resizing, killing ptys

* clear properly on stop

* move terminal to its own component, handle lifecycle better

* fix all build issues

* ffs codespelll

* update lockfile

* clippy is needy once more

* only build pty stuff on mac/linux

* vendor pty handling into desktop

* update lockfile
---
 ui/src/App.tsx | 12 ++++++++++++
 1 file changed, 12 insertions(+)

(limited to 'ui/src/App.tsx')

diff --git a/ui/src/App.tsx b/ui/src/App.tsx
index c643720a..6dba3d71 100644
--- a/ui/src/App.tsx
+++ b/ui/src/App.tsx
@@ -13,6 +13,9 @@ import {
   ClockIcon,
   WrenchScrewdriverIcon,
 } from "@heroicons/react/24/outline";
+
+import { ChevronRightSquare } from "lucide-react";
+
 import Logo from "./assets/logo-light.svg";
 
 function classNames(...classes: any) {
@@ -23,11 +26,13 @@ import Home from "./pages/Home.tsx";
 import History from "./pages/History.tsx";
 import Dotfiles from "./pages/Dotfiles.tsx";
 import LoginOrRegister from "./components/LoginOrRegister.tsx";
+import Runbooks from "./pages/Runbooks.tsx";
 
 enum Section {
   Home,
   History,
   Dotfiles,
+  Runbooks,
 }
 
 function renderMain(section: Section): ReactElement {
@@ -38,6 +43,8 @@ function renderMain(section: Section): ReactElement {
       return <History />;
     case Section.Dotfiles:
       return <Dotfiles />;
+    case Section.Runbooks:
+      return <Runbooks />;
   }
 }
 
@@ -65,6 +72,11 @@ function App() {
       icon: WrenchScrewdriverIcon,
       section: Section.Dotfiles,
     },
+    {
+      name: "Runbooks",
+      icon: ChevronRightSquare,
+      section: Section.Runbooks,
+    },
   ];
 
   return (
-- 
cgit v1.3.1

