mirror of
https://github.com/Dvorinka/Containr.git
synced 2026-10-28 15:51:26 +00:00
feat: public template catalog + Vercel git integration
Backend: service_templates.is_public lets owners publish user templates to the anonymous catalog (GET /api/v1/templates), mirroring Railway's marketplace publish flow. Migration, sqlc queries, visibility rules, and openapi.yaml updated; types regenerated. App: template editor gains a "List in the public catalog" checkbox; Public badge on catalog cards and detail view. Site: new templates.html catalog page - search, category filters, Official vs Community badges, detail modal with variables and copyable import JSON. Fetches the live catalog from a reachable instance (?api= or localStorage override) and falls back to templates.json, generated from SeedTemplates via cmd/dumptemplates. Shared styles extracted to style.css. Vercel: project connected to GitHub repo with rootDirectory=site; .vercelignore limits CLI uploads to site/ so `vercel deploy --prod` from repo root matches git builds. Authored By: TDvorak <[email protected]> Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
This commit is contained in:
1 parent
2b38406a63
commit
117b469fae
18 files changed
+1589
-492
No files matched your search
@@ -7806,6 +7806,8 @@ export interface components {
|
||||
is_official?: boolean;
|
||||
/** @description Owning user ID for user-created templates; null for official presets */
|
||||
owner_id?: string | null;
|
||||
/** @description Whether a user-created template is published to the public catalog */
|
||||
is_public?: boolean;
|
||||
/**
|
||||
* Format: date-time
|
||||
* @description Creation timestamp
|
||||
@@ -7830,6 +7832,8 @@ export interface components {
|
||||
config: Record<string, never>;
|
||||
/** @description Configurable variables exposed at deploy time */
|
||||
variables?: components["schemas"]["TemplateVariable"][];
|
||||
/** @description Publish this template to the public catalog (visible anonymously) */
|
||||
is_public?: boolean;
|
||||
};
|
||||
TemplateConfig: {
|
||||
/** @description Service type for created service */
|
||||
|
||||
Reference in new issue
Block a user