|
- <!doctype html>
- <%
- Response.Charset = "utf-8"
- Response.CodePage = 65001
-
- ' Safe title resolution
- Dim pageTitle
- If IsObject(CurrentController) Then
- On Error Resume Next
- pageTitle = CurrentController.Title
- If Err.Number <> 0 Then
- pageTitle = "RouteKit Classic ASP"
- Err.Clear
- End If
- On Error GoTo 0
- End If
-
- If Len(pageTitle) = 0 Then pageTitle = "Classic ASP Starter Template"
- %>
- <html lang="en">
- <head>
- <meta charset="utf-8" />
- <title><%= pageTitle %></title>
- <meta name="viewport" content="width=device-width, initial-scale=1" />
-
- <!-- Bootstrap CSS -->
- <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet" />
- <!-- Bootstrap Icons (optional) -->
- <link href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.css" rel="stylesheet" />
- <!-- App Fonts -->
- <link rel="preconnect" href="https://fonts.googleapis.com" />
- <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
- <link href="https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Fraunces:opsz,wght@9..144,600&display=swap" rel="stylesheet" />
-
- <!-- App CSS -->
- <link href="/css/site.css" rel="stylesheet" />
- </head>
- <body>
- <!-- Top navbar -->
- <nav class="navbar navbar-expand-lg navbar-dark rk-topnav">
- <div class="container-fluid">
- <a class="navbar-brand rk-navbar-brand" href="/">
- RouteKit
- <span class="small">Classic ASP</span>
- </a>
-
- <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#rkMainNav" aria-controls="rkMainNav" aria-expanded="false" aria-label="Toggle navigation">
- <span class="navbar-toggler-icon"></span>
- </button>
-
- <div class="collapse navbar-collapse" id="rkMainNav">
- <ul class="navbar-nav me-auto mb-2 mb-lg-0">
- <li class="nav-item">
- <a class="nav-link <%= Active("home") %>" href="/home">Home</a>
- </li>
- <li class="nav-item">
- <a class="nav-link <%= Active("boards") %>" href="/boards">Boards</a>
- </li>
- </ul>
-
- <%
- If KeycloakIsLoggedIn() Then
- Dim currentUser, displayName
- Set currentUser = KeycloakCurrentUser()
- displayName = ""
- If Not currentUser Is Nothing Then
- On Error Resume Next
- displayName = CStr(currentUser.Item("preferred_username"))
- If Err.Number <> 0 Then
- displayName = ""
- Err.Clear
- End If
- If Len(displayName) = 0 Then
- displayName = CStr(currentUser.Item("email"))
- If Err.Number <> 0 Then
- displayName = ""
- Err.Clear
- End If
- End If
- On Error GoTo 0
- End If
- If Len(displayName) = 0 Then displayName = "User"
- %>
- <ul class="navbar-nav mb-2 mb-lg-0">
- <li class="nav-item dropdown">
- <a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">
- <i class="bi bi-person-circle me-1"></i><%= Server.HTMLEncode(displayName) %>
- </a>
- <ul class="dropdown-menu dropdown-menu-end">
- <li><a class="dropdown-item" href="/auth/logout"><i class="bi bi-box-arrow-right me-1"></i>Sign Out</a></li>
- </ul>
- </li>
- </ul>
- <% Else %>
- <ul class="navbar-nav mb-2 mb-lg-0">
- <li class="nav-item">
- <a class="nav-link" href="/auth/login"><i class="bi bi-box-arrow-in-right me-1"></i>Sign In</a>
- </li>
- </ul>
- <% End If %>
- </div>
- </div>
- </nav>
-
- <!-- Main container for views -->
- <main class="routekit-main">
- <div class="container">
-
- <% Flash().ShowErrorsIfPresent : Flash().ShowSuccessIfPresent %>
|