Skip to content
This repository was archived by the owner on Apr 20, 2024. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Resources/Views/AdminPanel/Layout/Partials/navbar.leaf
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<nav class="navbar navbar-dark fixed-top bg-dark flex-md-nowrap p-0">
<a class="navbar-brand col-sm-3 col-md-2 mr-0" href="#">#adminpanel:config("name")</a>
#embed("AdminPanel/Layout/Partials/sitetitle")

<ul class="navbar-nav px-3">
<li class="nav-item text-nowrap">
Expand Down
6 changes: 6 additions & 0 deletions Resources/Views/AdminPanel/Layout/Partials/sitetitle.leaf
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<a class="navbar-brand col-sm-3 col-md-2 mr-0" href="/admin/dashboard">
#adminpanel:config("name")
#if(adminpanel:config("environment") != "production") {
<span class="badge badge-primary">#adminpanel:config("environment")</span>
}
</a>
5 changes: 4 additions & 1 deletion Sources/AdminPanel/Configs/AdminPanelConfig.swift
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ public struct AdminPanelConfig<U: AdminPanelUserType>: Service {
public let resetPasswordEmail: ResetPasswordEmail
public let specifyPasswordEmail: SpecifyPasswordEmail
public let newUserSetPasswordSigner: ExpireableJWTSigner
public let environment: Environment

public init(
name: String,
Expand All @@ -46,7 +47,8 @@ public struct AdminPanelConfig<U: AdminPanelUserType>: Service {
sidebarMenuPathGenerator: @escaping SidebarMenuPathGenerator<U.Role> = U.Role.sidebarMenuPathGenerator,
resetPasswordEmail: ResetPasswordEmail = .default,
specifyPasswordEmail: SpecifyPasswordEmail = .default,
newUserSetPasswordSigner: ExpireableJWTSigner
newUserSetPasswordSigner: ExpireableJWTSigner,
environment: Environment
) {
self.name = name
self.baseUrl = baseUrl
Expand All @@ -57,6 +59,7 @@ public struct AdminPanelConfig<U: AdminPanelUserType>: Service {
self.resetPasswordEmail = resetPasswordEmail
self.specifyPasswordEmail = specifyPasswordEmail
self.newUserSetPasswordSigner = newUserSetPasswordSigner
self.environment = environment
}
}

Expand Down
3 changes: 2 additions & 1 deletion Sources/AdminPanel/Providers/AdminPanelProvider.swift
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,8 @@ public final class AdminPanelProvider<U: AdminPanelUserType>: Provider {
services.register(AdminPanelConfigTagData<U>(
name: config.name,
baseUrl: config.baseUrl,
sidebarMenuPathGenerator: config.sidebarMenuPathGenerator
sidebarMenuPathGenerator: config.sidebarMenuPathGenerator,
environment: config.environment
))
services.register(config)
services.register(KeyedCacheSessions.self)
Expand Down
8 changes: 7 additions & 1 deletion Sources/AdminPanel/Tags/AdminPanelConfigTag.swift
Original file line number Diff line number Diff line change
Expand Up @@ -27,23 +27,27 @@ public final class AdminPanelConfigTagData<U: AdminPanelUserType>: Service {
case baseUrl = "baseUrl"
case sidebarMenuPath = "sidebarMenuPath"
case dashboardPath = "dashboardPath"
case environment = "environment"
}

public var name = ""
public var baseUrl = ""
public var dashboardPath: String?
public var sidebarMenuPathGenerator: SidebarMenuPathGenerator<U.Role>
public var environment: Environment

init(
name: String,
baseUrl: String,
sidebarMenuPathGenerator: @escaping SidebarMenuPathGenerator<U.Role>,
dashboardPath: String? = nil
dashboardPath: String? = nil,
environment: Environment
) {
self.name = name
self.baseUrl = baseUrl
self.sidebarMenuPathGenerator = sidebarMenuPathGenerator
self.dashboardPath = dashboardPath
self.environment = environment
}

func viewData(for data: TemplateData, user: U?, tag: TagContext) throws -> TemplateData {
Expand All @@ -66,6 +70,8 @@ public final class AdminPanelConfigTagData<U: AdminPanelUserType>: Service {
} ?? .null
case .dashboardPath:
return dashboardPath.map { .string($0) } ?? .null
case .environment:
return .string(environment.name)
}
}
}