| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- <!DOCTYPE html>
- <html lang="en" data-mode="auto">
- <head>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <pstm-name>main</pstm-name>
- <pstm-title>ClankerSaddle</pstm-title>
- <script pstm-res-src="statum.js"></script>
- <link rel="stylesheet" pstm-res-href="spry.css">
- <link rel="stylesheet" pstm-res-href="spry-theme-airy.css">
- <link rel="stylesheet" pstm-res-href="spry-theme-dwarf.css">
- <link rel="stylesheet" pstm-res-href="spry-theme-formal.css">
- <link rel="stylesheet" pstm-res-href="spry-theme-glassy.css">
- <link rel="stylesheet" pstm-res-href="spry-theme-h2o.css">
- <link rel="stylesheet" pstm-res-href="spry-theme-living-sky.css">
- <link rel="stylesheet" pstm-res-href="spry-theme-modern.css">
- <link rel="stylesheet" pstm-res-href="app.css">
- <link rel="icon" type="image/png" pstm-res-href="clanker-saddle.png">
- <link rel="apple-touch-icon" type="image/png" pstm-res-href="clanker-saddle.png">
- <link rel="stm-guard" require="auth != null || location.pathname == '/login'" href="/login">
- <script pstm-res-src="app.js"></script>
- </head>
- <body>
- <header class="topbar">
- <a class="topbar-brand" href="/"><img class="brand-emblem" alt="" pstm-res-src="clanker-saddle-emblem.png">ClankerSaddle</a>
- <nav class="nav" stm-if="auth != null">
- <!-- spry:nav-begin -->
- <ul class="nav" role="menubar">
- <li class="has-submenu">
- <button type="button" class="nav-toggle" aria-expanded="false">Work</button>
- <ul class="submenu" role="menu">
- <li><a href="/">Dashboard</a></li>
- <li><a href="/tasks">Tasks</a></li>
- <li><a class="nav-goal" href="/goals"><em class="goal-icon">🎯</em> Goals</a></li>
- <li><a href="/chats">Chats</a></li>
- </ul>
- </li>
- <li class="has-submenu">
- <button type="button" class="nav-toggle" aria-expanded="false">Library</button>
- <ul class="submenu" role="menu">
- <li><a href="/projects">Projects</a></li>
- <li><a href="/rules">Rules</a></li>
- <li><a href="/stacks">Stacks</a></li>
- <li><a href="/discoveries">Discoveries</a></li>
- </ul>
- </li>
- <li class="has-submenu">
- <button type="button" class="nav-toggle" aria-expanded="false">Admin</button>
- <ul class="submenu" role="menu">
- <li><a href="/saddles">Saddles</a></li>
- <!-- The users and model links are display-guarded
- (the pages' entrypoint guards are
- authoritative); auth.permissions rides the
- signed auth slot, so an admin sees them
- everywhere. -->
- <li stm-if="auth != null && auth.permissions.indexOf('admin') != -1"><a href="/users">Users</a></li>
- <li stm-if="auth != null && auth.permissions.indexOf('admin') != -1"><a href="/models">Model</a></li>
- </ul>
- </li>
- </ul>
- <!-- spry:nav-end -->
- <span class="nav-auth">
- <ul class="nav" role="menu">
- <li class="has-submenu">
- <button type="button" class="nav-toggle" aria-expanded="false">Account</button>
- <ul class="submenu" role="menu">
- <li class="nav-user" stm-text="auth.username">user</li>
- <li><a href="/profile" title="Your profile">Profile</a></li>
- <li><button type="button" class="btn-ghost" stm-action="auth.logout" stm-busy-class="is-busy">Log out</button></li>
- </ul>
- </li>
- </ul>
- <!-- spry:nav-auth-begin -->
- <!-- spry:nav-auth-end -->
- </span>
- </nav>
- </header>
- <main class="container">
- <div stm-preloader class="page-loading" role="status" aria-label="Loading"><span class="spinner spinner-lg"></span></div>
- <div stm-content hidden>
- <pstm-content></pstm-content>
- </div>
- </main>
- <footer class="site-footer"><p>ClankerSaddle — the agent works while you sleep.</p></footer>
- </body>
- </html>
|