Skip to content
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
12 changes: 6 additions & 6 deletions internal/plugins/admin/dashboard.templ
Original file line number Diff line number Diff line change
Expand Up @@ -76,16 +76,16 @@ templ AdminDashboardPage(userCount, campaignCount, mediaFileCount int, totalStor
<p class="text-3xl font-bold text-fg mt-2">{ fmt.Sprintf("%d", addonCount) }</p>
<p class="text-xs text-fg-muted mt-1 group-hover:text-accent transition-colors">Manage features &rarr;</p>
</a>
<!-- Content Packs -->
<a href="/admin/extensions" class="card hover:shadow-md transition-shadow group">
<!-- Systems -->
<a href="/admin/systems" class="card hover:shadow-md transition-shadow group">
<div class="flex items-center justify-between">
<p class="text-sm font-medium text-fg-secondary">Content Packs</p>
<p class="text-sm font-medium text-fg-secondary">Systems</p>
<span class="stat-icon-purple">
<i class="fa-solid fa-puzzle-piece"></i>
<i class="fa-solid fa-microchip"></i>
</span>
</div>
<p class="text-lg font-semibold text-fg mt-2">Extensions & Game Systems</p>
<p class="text-xs text-fg-muted mt-1 group-hover:text-accent transition-colors">Manage content packs &rarr;</p>
<p class="text-lg font-semibold text-fg mt-2">Game System Diagnostics</p>
<p class="text-xs text-fg-muted mt-1 group-hover:text-accent transition-colors">View system status &rarr;</p>
</a>
<!-- API Monitor -->
<a href="/admin/api" class="card hover:shadow-md transition-shadow group">
Expand Down
5 changes: 5 additions & 0 deletions internal/systems/json_provider.go
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,11 @@ func NewJSONProvider(moduleID, dataDir string) (*JSONProvider, error) {

entries, err := os.ReadDir(dataDir)
if err != nil {
if os.IsNotExist(err) {
// No data directory is valid — widget-only systems don't need
// reference data. Return an empty provider.
return p, nil
}
return nil, fmt.Errorf("reading data dir %s: %w", dataDir, err)
}

Expand Down
15 changes: 8 additions & 7 deletions internal/templates/layouts/app.templ
Original file line number Diff line number Diff line change
Expand Up @@ -621,16 +621,17 @@ templ AdminSidebarNav() {
</span>
SMTP Settings
</a>
<div
class="flex items-center pl-3.5 pr-4 py-2 text-sm text-fg-muted/50 cursor-not-allowed"
title="Community Content Packs: Install community-created content like calendar presets, entity type collections, map icon packs, and tag sets. Coming soon."
<a
href="/admin/systems"
class={ sidebarNavLink,
templ.KV(sidebarNavActive, isPathPrefix(ctx, "/admin/systems")),
templ.KV(sidebarNavInactive, !isPathPrefix(ctx, "/admin/systems")) }
>
<span class="w-4 h-4 mr-3 shrink-0 flex items-center justify-center">
<i class="fa-solid fa-puzzle-piece text-xs"></i>
<i class="fa-solid fa-microchip text-xs"></i>
</span>
<span>Content Packs</span>
<span class="ml-auto text-[9px] px-1.5 py-0.5 rounded bg-amber-500/20 text-amber-500 font-medium">WIP</span>
</div>
Systems
</a>
<div class="pb-2"></div>
</div>
</div>
Expand Down
Loading