Add tina/__generated__ for TinaCloud branch indexing

TinaCloud requires _schema.json and _graphql.json to index branches.
Generated by running tinacms dev locally.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Vadym Samoilenko 2026-03-12 20:50:38 +00:00
parent fdf598422c
commit 2f3e4d3dd8
12 changed files with 17851 additions and 1 deletions

View file

@ -20,6 +20,7 @@ jobs:
- run: npm run build
env:
TINA_PUBLIC_CLIENT_ID: ${{ secrets.TINA_PUBLIC_CLIENT_ID }}
TINA_TOKEN: ${{ secrets.TINA_TOKEN }}
GITHUB_REF_NAME: ${{ github.ref_name }}
- name: Setup SSH

2
.gitignore vendored
View file

@ -5,7 +5,7 @@ dist
.env
.env.*
public/blog
tina/__generated__/
# tina/__generated__/ is committed — TinaCloud needs it for branch indexing
.claude/
pronpt.txt
.mcp.json

1
tina/__generated__/_graphql.json generated Normal file

File diff suppressed because one or more lines are too long

1
tina/__generated__/_lookup.json generated Normal file
View file

@ -0,0 +1 @@
{"DocumentConnection":{"type":"DocumentConnection","resolveType":"multiCollectionDocumentList","collections":["translationsEn","translationsUk","blogPost"]},"Node":{"type":"Node","resolveType":"nodeDocument"},"DocumentNode":{"type":"DocumentNode","resolveType":"multiCollectionDocument","createDocument":"create","updateDocument":"update"},"TranslationsEn":{"type":"TranslationsEn","resolveType":"collectionDocument","collection":"translationsEn","createTranslationsEn":"create","updateTranslationsEn":"update"},"TranslationsEnConnection":{"type":"TranslationsEnConnection","resolveType":"collectionDocumentList","collection":"translationsEn"},"TranslationsUk":{"type":"TranslationsUk","resolveType":"collectionDocument","collection":"translationsUk","createTranslationsUk":"create","updateTranslationsUk":"update"},"TranslationsUkConnection":{"type":"TranslationsUkConnection","resolveType":"collectionDocumentList","collection":"translationsUk"},"BlogPost":{"type":"BlogPost","resolveType":"collectionDocument","collection":"blogPost","createBlogPost":"create","updateBlogPost":"update"},"BlogPostConnection":{"type":"BlogPostConnection","resolveType":"collectionDocumentList","collection":"blogPost"}}

1
tina/__generated__/_schema.json generated Normal file

File diff suppressed because one or more lines are too long

5
tina/__generated__/client.ts generated Normal file
View file

@ -0,0 +1,5 @@
import { createClient } from "tinacms/dist/client";
import { queries } from "./types";
export const client = createClient({ url: 'http://localhost:4001/graphql', token: '720e4dceb53a1e6f65b9b89935a9cf7aa670d7fb', queries, });
export default client;

527
tina/__generated__/config.prebuild.jsx generated Normal file
View file

@ -0,0 +1,527 @@
// tina/config.ts
import { defineConfig } from "tinacms";
function stringField(name, label) {
return { name, label, type: "string" };
}
function textareaField(name, label) {
return { name, label, type: "string", ui: { component: "textarea" } };
}
function objectField(name, label, fields) {
return {
name,
label,
type: "object",
ui: { allowedActions: { create: false, delete: false } },
fields
};
}
function pricingItemField(name, label, extraFields = []) {
return objectField(name, label, [
stringField("_", "Name"),
...extraFields
]);
}
function translationFields() {
return [
objectField("header", "Header", [
objectField("nav", "Navigation", [
stringField("home", "Home"),
stringField("about", "About"),
stringField("services", "Services"),
stringField("pricing", "Pricing"),
stringField("blog", "Blog"),
stringField("contacts", "Contacts")
]),
objectField("lang", "Language Labels", [
stringField("en", "English"),
stringField("uk", "Ukrainian")
]),
stringField("login", "Login Button"),
objectField("loginModal", "Login Modal", [
stringField("title", "Title"),
stringField("emailLabel", "Email Label"),
stringField("emailPlaceholder", "Email Placeholder"),
stringField("passwordLabel", "Password Label"),
stringField("passwordPlaceholder", "Password Placeholder"),
stringField("submit", "Submit Button"),
stringField("signupPrompt", "Signup Prompt"),
stringField("signupLink", "Signup Link")
])
]),
objectField("hero", "Hero Section", [
stringField("circle1", "Rotating Text 1"),
stringField("circle2", "Rotating Text 2"),
stringField("circle3", "Rotating Text 3"),
textareaField("title", "Headline"),
stringField("cta", "CTA Button")
]),
objectField("benefits", "Benefits Section", [
objectField("card1", "Card 1", [
stringField("front", "Front"),
stringField("subtitle", "Subtitle"),
textareaField("back", "Back")
]),
objectField("card2", "Card 2", [
stringField("front", "Front"),
stringField("subtitle", "Subtitle"),
textareaField("back", "Back")
]),
objectField("card3", "Card 3", [
stringField("front", "Front"),
stringField("subtitle", "Subtitle"),
textareaField("back", "Back")
]),
stringField("builtTitle", "Built Title"),
textareaField("builtDesc", "Built Description"),
objectField("static1", "Static 1", [stringField("title", "Title"), stringField("desc", "Desc")]),
objectField("static2", "Static 2", [stringField("title", "Title"), stringField("desc", "Desc")]),
objectField("static3", "Static 3", [stringField("title", "Title"), stringField("desc", "Desc")]),
objectField("static4", "Static 4", [stringField("title", "Title"), stringField("desc", "Desc")])
]),
objectField("banner1", "Banner 1 (Quiz)", [
stringField("q1", "Question 1"),
stringField("q2", "Question 2"),
stringField("q3", "Question 3"),
stringField("cta", "CTA Button")
]),
objectField("realResults", "Real Results Section", [
stringField("title", "Title"),
objectField("card1", "Card 1 \u2014 AutoBrat Garage", [
stringField("title", "Title"),
stringField("resultsLabel", "Results Label"),
textareaField("desc", "Description"),
stringField("stat1", "Stat 1"),
stringField("stat2", "Stat 2"),
stringField("stat3", "Stat 3")
]),
objectField("card2", "Card 2 \u2014 Cotswolld Honey", [
stringField("title", "Title"),
textareaField("desc", "Description"),
stringField("stat1", "Stat 1"),
stringField("stat2", "Stat 2")
]),
objectField("card3", "Card 3 \u2014 Wcounting", [
stringField("title", "Title"),
textareaField("desc", "Description"),
stringField("stat1", "Stat 1"),
stringField("stat2", "Stat 2")
])
]),
objectField("timeline", "Timeline Section", [
stringField("title", "Title"),
objectField("step1", "Step 1", [stringField("title", "Title"), stringField("duration", "Duration"), textareaField("short", "Short"), textareaField("detail", "Detail")]),
objectField("step2", "Step 2", [stringField("title", "Title"), stringField("duration", "Duration"), textareaField("short", "Short"), textareaField("detail", "Detail")]),
objectField("step3", "Step 3", [stringField("title", "Title"), stringField("duration", "Duration"), textareaField("short", "Short"), textareaField("detail", "Detail")]),
objectField("step4", "Step 4", [stringField("title", "Title"), stringField("duration", "Duration"), textareaField("short", "Short"), textareaField("detail", "Detail")]),
objectField("step5", "Step 5", [stringField("title", "Title"), stringField("duration", "Duration"), textareaField("short", "Short"), textareaField("detail", "Detail")])
]),
objectField("banner2", "Banner 2", [
stringField("cta", "CTA Button")
]),
objectField("comparison", "Comparison Table", [
stringField("title", "Title"),
stringField("aiLabel", "AI Label"),
objectField("metric1", "Metric 1 \u2014 Cost", [stringField("label", "Label"), stringField("ai", "AI"), stringField("agency", "Agency"), stringField("inhouse", "In-House")]),
objectField("metric2", "Metric 2 \u2014 Speed", [stringField("label", "Label"), stringField("ai", "AI"), stringField("agency", "Agency"), stringField("inhouse", "In-House")]),
objectField("metric3", "Metric 3 \u2014 Availability", [stringField("label", "Label"), stringField("ai", "AI"), stringField("agency", "Agency"), stringField("inhouse", "In-House")]),
objectField("metric4", "Metric 4 \u2014 Scalability", [stringField("label", "Label"), stringField("ai", "AI"), stringField("agency", "Agency"), stringField("inhouse", "In-House")]),
stringField("altHeading", "Alternatives Heading"),
stringField("alt1", "Alternative 1"),
stringField("alt2", "Alternative 2"),
textareaField("footer", "Footer Text"),
stringField("cta", "CTA Button")
]),
objectField("blogSection", "Blog Section (Homepage)", [
stringField("title", "Title"),
stringField("readMore", "Read More Link"),
stringField("viewAll", "View All Link")
]),
objectField("resources", "Resources Section", [
stringField("title", "Title")
]),
objectField("contactSection", "Contact Section", [
stringField("title", "Title"),
textareaField("subtitle", "Subtitle")
]),
objectField("contactForm", "Contact Form", [
stringField("title", "Title"),
stringField("fullName", "Full Name Label"),
stringField("fullNamePlaceholder", "Full Name Placeholder"),
stringField("jobTitle", "Job Title Label"),
stringField("jobTitlePlaceholder", "Job Title Placeholder"),
stringField("email", "Email Label"),
stringField("emailPlaceholder", "Email Placeholder"),
stringField("need", "Need Label"),
stringField("needPlaceholder", "Need Placeholder"),
stringField("company", "Company Label"),
stringField("companyPlaceholder", "Company Placeholder"),
stringField("phone", "Phone Label"),
stringField("phonePlaceholder", "Phone Placeholder"),
stringField("submit", "Submit Button"),
stringField("sending", "Sending State"),
stringField("error", "Error Message"),
stringField("successTitle", "Success Title"),
textareaField("successText", "Success Text"),
stringField("sendAnother", "Send Another Button")
]),
objectField("footer", "Footer", [
stringField("privacy", "Privacy Link"),
stringField("terms", "Terms Link"),
stringField("copyright", "Copyright")
]),
objectField("cookie", "Cookie Consent", [
textareaField("text", "Cookie Text"),
stringField("privacyLink", "Privacy Link Text"),
stringField("reject", "Reject Button"),
stringField("accept", "Accept Button")
]),
objectField("chat", "Chat Widget", [
stringField("greeting", "Greeting"),
stringField("openChat", "Open Chat"),
stringField("headerTitle", "Header Title"),
stringField("status", "Status"),
stringField("clearChat", "Clear Chat"),
stringField("closeChat", "Close Chat"),
textareaField("welcome", "Welcome Message"),
objectField("lead", "Lead Form", [
stringField("title", "Title"),
stringField("subtitle", "Subtitle"),
textareaField("intro", "Intro"),
stringField("namePlaceholder", "Name Placeholder"),
stringField("nameError", "Name Error"),
stringField("emailPlaceholder", "Email Placeholder"),
stringField("emailError", "Email Error"),
stringField("emailInvalid", "Email Invalid"),
stringField("companyPlaceholder", "Company Placeholder"),
textareaField("consent", "Consent Text"),
stringField("privacyLink", "Privacy Link Text"),
stringField("consentError", "Consent Error"),
stringField("submit", "Submit Button")
]),
stringField("inputPlaceholder", "Input Placeholder"),
stringField("send", "Send Button")
]),
objectField("quoteForm", "Quote Form", [
stringField("title", "Title"),
stringField("fullName", "Full Name Label"),
stringField("fullNamePlaceholder", "Full Name Placeholder"),
stringField("jobTitle", "Job Title Label"),
stringField("jobTitlePlaceholder", "Job Title Placeholder"),
stringField("email", "Email Label"),
stringField("emailPlaceholder", "Email Placeholder"),
stringField("phone", "Phone Label"),
stringField("phonePlaceholder", "Phone Placeholder"),
stringField("company", "Company Label"),
stringField("companyPlaceholder", "Company Placeholder"),
stringField("service", "Service Label"),
stringField("serviceDefault", "Service Default"),
stringField("service1", "Service 1"),
stringField("service2", "Service 2"),
stringField("service3", "Service 3"),
stringField("service4", "Service 4"),
stringField("service5", "Service 5"),
stringField("service6", "Service 6"),
stringField("service7", "Service 7"),
stringField("service8", "Service 8"),
stringField("service9", "Service 9"),
stringField("description", "Description Label"),
textareaField("descriptionPlaceholder", "Description Placeholder"),
stringField("submit", "Submit Button"),
stringField("sending", "Sending State"),
stringField("error", "Error Message"),
stringField("successTitle", "Success Title"),
textareaField("successText", "Success Text"),
stringField("sendAnother", "Send Another Button")
]),
objectField("about", "About Page", [
objectField("hero", "Hero", [stringField("title", "Title"), textareaField("subtitle", "Subtitle")]),
objectField("story", "Our Story", [
stringField("title", "Title"),
textareaField("p1", "Paragraph 1"),
textareaField("p2", "Paragraph 2"),
textareaField("p3", "Paragraph 3")
]),
objectField("diff", "What Makes Us Different", [stringField("title", "Title")]),
objectField("diff1", "Differentiator 1", [stringField("title", "Title"), textareaField("desc", "Description")]),
objectField("diff2", "Differentiator 2", [stringField("title", "Title"), textareaField("desc", "Description")]),
objectField("diff3", "Differentiator 3", [stringField("title", "Title"), textareaField("desc", "Description")]),
objectField("diff4", "Differentiator 4", [stringField("title", "Title"), textareaField("desc", "Description")]),
objectField("values", "Values", [stringField("title", "Title")]),
objectField("val1", "Value 1", [stringField("name", "Name"), stringField("desc", "Description")]),
objectField("val2", "Value 2", [stringField("name", "Name"), stringField("desc", "Description")]),
objectField("val3", "Value 3", [stringField("name", "Name"), stringField("desc", "Description")]),
objectField("val4", "Value 4", [stringField("name", "Name"), stringField("desc", "Description")]),
objectField("val5", "Value 5", [stringField("name", "Name"), stringField("desc", "Description")]),
objectField("founder", "Founder", [
stringField("title", "Section Title"),
stringField("name", "Name"),
stringField("role", "Role"),
stringField("bgLabel", "Background Label"),
textareaField("bgText", "Background Text"),
stringField("certLabel", "Certifications Label"),
textareaField("certText", "Certifications Text"),
stringField("analyticsLabel", "Analytics Label"),
textareaField("analyticsText", "Analytics Text"),
stringField("eduLabel", "Education Label"),
textareaField("eduText", "Education Text"),
stringField("visionLabel", "Vision Label"),
textareaField("visionText", "Vision Text")
]),
objectField("industries", "Industries", [stringField("title", "Title")]),
objectField("ind1", "Industry 1", [stringField("name", "Name"), stringField("desc", "Description")]),
objectField("ind2", "Industry 2", [stringField("name", "Name"), stringField("desc", "Description")]),
objectField("ind3", "Industry 3", [stringField("name", "Name"), stringField("desc", "Description")]),
objectField("ind4", "Industry 4", [stringField("name", "Name"), stringField("desc", "Description")]),
objectField("ind5", "Industry 5", [stringField("name", "Name"), stringField("desc", "Description")]),
objectField("ind6", "Industry 6", [stringField("name", "Name"), stringField("desc", "Description")]),
objectField("ind7", "Industry 7", [stringField("name", "Name"), stringField("desc", "Description")]),
objectField("cta", "CTA", [stringField("title", "Title"), textareaField("subtitle", "Subtitle"), stringField("button", "Button")])
]),
objectField("services", "Services Page", [
objectField("hero", "Hero", [stringField("title", "Title"), textareaField("subtitle", "Subtitle")]),
objectField("s1", "Service 1 \u2014 AI Chatbots", [stringField("title", "Title"), stringField("price", "Price"), textareaField("purpose", "Purpose"), stringField("f1", "F1"), stringField("f2", "F2"), stringField("f3", "F3"), stringField("f4", "F4"), stringField("f5", "F5"), stringField("f6", "F6")]),
objectField("s2", "Service 2 \u2014 Website Dev", [stringField("title", "Title"), stringField("price", "Price"), textareaField("purpose", "Purpose"), stringField("f1", "F1"), stringField("f2", "F2"), stringField("f3", "F3"), stringField("f4", "F4"), stringField("f5", "F5"), stringField("f6", "F6")]),
objectField("s3", "Service 3 \u2014 Workflow Automation", [stringField("title", "Title"), stringField("price", "Price"), textareaField("purpose", "Purpose"), stringField("f1", "F1"), stringField("f2", "F2"), stringField("f3", "F3"), stringField("f4", "F4"), stringField("f5", "F5")]),
objectField("s4", "Service 4 \u2014 System Integration", [stringField("title", "Title"), stringField("price", "Price"), textareaField("purpose", "Purpose"), stringField("f1", "F1"), stringField("f2", "F2"), stringField("f3", "F3"), stringField("f4", "F4"), stringField("f5", "F5")]),
objectField("s5", "Service 5 \u2014 CRM", [stringField("title", "Title"), stringField("price", "Price"), textareaField("purpose", "Purpose"), stringField("f1", "F1"), stringField("f2", "F2"), stringField("f3", "F3"), stringField("f4", "F4"), stringField("f5", "F5")]),
objectField("s6", "Service 6 \u2014 Marketing Automation", [stringField("title", "Title"), stringField("price", "Price"), textareaField("purpose", "Purpose"), stringField("f1", "F1"), stringField("f2", "F2"), stringField("f3", "F3"), stringField("f4", "F4"), stringField("f5", "F5")]),
objectField("s7", "Service 7 \u2014 AI Integration", [stringField("title", "Title"), stringField("price", "Price"), textareaField("purpose", "Purpose"), stringField("f1", "F1"), stringField("f2", "F2"), stringField("f3", "F3"), stringField("f4", "F4"), stringField("f5", "F5")]),
objectField("s8", "Service 8 \u2014 Infrastructure", [stringField("title", "Title"), stringField("price", "Price"), textareaField("purpose", "Purpose"), stringField("f1", "F1"), stringField("f2", "F2"), stringField("f3", "F3"), stringField("f4", "F4"), stringField("f5", "F5")]),
stringField("popular", "Popular Badge"),
stringField("whatsIncluded", "What's Included"),
stringField("showLess", "Show Less"),
objectField("assurance", "Assurance Pack", [
stringField("title", "Title"),
stringField("subtitle", "Subtitle"),
stringField("i1", "Item 1"),
stringField("i2", "Item 2"),
stringField("i3", "Item 3"),
stringField("i4", "Item 4"),
stringField("i5", "Item 5"),
stringField("i6", "Item 6"),
stringField("i7", "Item 7"),
stringField("i8", "Item 8"),
stringField("i9", "Item 9")
]),
objectField("metrics", "Metrics", [
stringField("title", "Title"),
stringField("v1", "Value 1"),
stringField("l1", "Label 1"),
stringField("v2", "Value 2"),
stringField("l2", "Label 2"),
stringField("v3", "Value 3"),
stringField("l3", "Label 3"),
stringField("v4", "Value 4"),
stringField("l4", "Label 4")
]),
objectField("selector", "Service Selector", [
stringField("title", "Title"),
stringField("step1", "Step 1"),
stringField("step2", "Step 2"),
stringField("step3", "Step 3"),
stringField("goalQ", "Goal Question"),
stringField("goal1", "Goal 1"),
stringField("goal2", "Goal 2"),
stringField("goal3", "Goal 3"),
stringField("goal4", "Goal 4"),
stringField("goal5", "Goal 5"),
stringField("budgetQ", "Budget Question"),
stringField("budget1", "Budget 1"),
stringField("budget2", "Budget 2"),
stringField("budget3", "Budget 3"),
stringField("resultsHeading", "Results Heading"),
textareaField("noMatch", "No Match"),
stringField("viewButton", "View Button"),
stringField("resetButton", "Reset Button"),
stringField("backButton", "Back Button")
]),
objectField("bundles", "Bundles", [stringField("title", "Title")]),
objectField("bundle1", "Bundle 1 \u2014 Starter", [stringField("name", "Name"), stringField("tagline", "Tagline"), stringField("price", "Price")]),
objectField("bundle2", "Bundle 2 \u2014 Growth", [stringField("name", "Name"), stringField("tagline", "Tagline"), stringField("price", "Price"), stringField("badge", "Badge")]),
objectField("bundle3", "Bundle 3 \u2014 Full Stack", [stringField("name", "Name"), stringField("tagline", "Tagline"), stringField("price", "Price")]),
objectField("bundle", "Bundle CTA", [stringField("cta", "CTA Button")]),
objectField("cta", "Bottom CTA", [stringField("title", "Title"), textareaField("subtitle", "Subtitle"), stringField("button", "Button")])
]),
objectField("pricing", "Pricing Page", [
objectField("hero", "Hero", [stringField("title", "Title"), textareaField("subtitle", "Subtitle")]),
objectField("impl", "Implementation Pricing", [
stringField("title", "Section Title"),
pricingItemField("s1", "Service 1", [stringField("price", "Price")]),
pricingItemField("s2", "Service 2", [stringField("price", "Price")]),
pricingItemField("s3", "Service 3", [stringField("price", "Price")]),
pricingItemField("s4", "Service 4", [stringField("price", "Price")]),
pricingItemField("s5", "Service 5", [stringField("price", "Price")]),
pricingItemField("s6", "Service 6", [stringField("price", "Price")]),
pricingItemField("s7", "Service 7", [stringField("price", "Price")]),
pricingItemField("s8", "Service 8", [stringField("price", "Price")])
]),
stringField("popular", "Popular Badge"),
objectField("retainers", "Retainers", [stringField("title", "Title")]),
objectField("ret1", "Retainer \u2014 Essential", [
stringField("name", "Name"),
stringField("price", "Price"),
stringField("period", "Period"),
stringField("hours", "Hours"),
stringField("sla", "SLA"),
stringField("f1", "F1"),
stringField("f2", "F2"),
stringField("f3", "F3"),
stringField("f4", "F4"),
stringField("f5", "F5")
]),
objectField("ret2", "Retainer \u2014 Professional", [
stringField("name", "Name"),
stringField("price", "Price"),
stringField("hours", "Hours"),
stringField("sla", "SLA"),
stringField("badge", "Badge"),
stringField("f1", "F1"),
stringField("f2", "F2"),
stringField("f3", "F3"),
stringField("f4", "F4"),
stringField("f5", "F5"),
stringField("f6", "F6")
]),
objectField("ret3", "Retainer \u2014 Enterprise", [
stringField("name", "Name"),
stringField("price", "Price"),
stringField("hours", "Hours"),
stringField("sla", "SLA"),
stringField("f1", "F1"),
stringField("f2", "F2"),
stringField("f3", "F3"),
stringField("f4", "F4"),
stringField("f5", "F5"),
stringField("f6", "F6"),
stringField("f7", "F7")
]),
objectField("training", "Training & Workshops", [
stringField("title", "Title"),
pricingItemField("t1", "Training 1", [stringField("price", "Price"), stringField("desc", "Desc")]),
pricingItemField("t2", "Training 2", [stringField("price", "Price")]),
pricingItemField("t3", "Training 3", [stringField("price", "Price"), stringField("desc", "Desc")]),
pricingItemField("t4", "Training 4", [stringField("price", "Price"), stringField("desc", "Desc")])
]),
objectField("payment", "Payment Terms", [
stringField("title", "Title"),
pricingItemField("r1", "Range 1", [stringField("split", "Split")]),
pricingItemField("r2", "Range 2", [stringField("split", "Split")]),
pricingItemField("r3", "Range 3", [stringField("split", "Split")]),
pricingItemField("r4", "Range 4 (Public Sector)", [stringField("split", "Split")])
]),
objectField("discounts", "Discounts / Impact Grant", [
stringField("title", "Title"),
textareaField("intro", "Intro"),
pricingItemField("g1", "Group 1", [stringField("disc", "Discount")]),
stringField("g2", "Group 2"),
stringField("g3", "Group 3"),
pricingItemField("g4", "Group 4", [stringField("disc", "Discount")]),
stringField("g5", "Group 5")
]),
objectField("compare", "Comparison Table", [
stringField("title", "Title"),
stringField("aimpress", "AImpress Label"),
stringField("agency", "Agency Label"),
stringField("inhouse", "In-House Label"),
objectField("r1", "Row 1", [stringField("metric", "Metric"), stringField("ai", "AI"), stringField("agency", "Agency"), stringField("inhouse", "In-House")]),
objectField("r2", "Row 2", [stringField("metric", "Metric"), stringField("ai", "AI"), stringField("agency", "Agency"), stringField("inhouse", "In-House")]),
objectField("r3", "Row 3", [stringField("metric", "Metric"), stringField("ai", "AI"), stringField("agency", "Agency"), stringField("inhouse", "In-House")]),
objectField("r4", "Row 4", [stringField("metric", "Metric"), stringField("ai", "AI"), stringField("agency", "Agency"), stringField("inhouse", "In-House")]),
objectField("r5", "Row 5", [stringField("metric", "Metric"), stringField("ai", "AI"), stringField("agency", "Agency")]),
objectField("r6", "Row 6", [stringField("metric", "Metric"), stringField("ai", "AI"), stringField("agency", "Agency"), stringField("inhouse", "In-House")])
]),
objectField("faq", "FAQ", [
stringField("title", "Title"),
stringField("q1", "Q1"),
textareaField("a1", "A1"),
stringField("q2", "Q2"),
textareaField("a2", "A2"),
stringField("q3", "Q3"),
textareaField("a3", "A3"),
stringField("q4", "Q4"),
textareaField("a4", "A4"),
stringField("q5", "Q5"),
textareaField("a5", "A5"),
stringField("q6", "Q6"),
textareaField("a6", "A6")
]),
objectField("cta", "Bottom CTA", [stringField("title", "Title"), textareaField("subtitle", "Subtitle")])
]),
objectField("blog", "Blog Page", [
stringField("title", "Title"),
stringField("loading", "Loading"),
stringField("noPosts", "No Posts"),
stringField("readMore", "Read More")
]),
objectField("blogPost", "Blog Post Page", [
stringField("back", "Back Link"),
stringField("notFound", "Not Found"),
stringField("loading", "Loading"),
stringField("source", "Source Label")
]),
objectField("seo", "SEO Meta Tags", [
objectField("home", "Home Page", [stringField("title", "Title"), textareaField("description", "Description")]),
objectField("about", "About Page", [stringField("title", "Title"), textareaField("description", "Description")]),
objectField("services", "Services Page", [stringField("title", "Title"), textareaField("description", "Description")]),
objectField("pricing", "Pricing Page", [stringField("title", "Title"), textareaField("description", "Description")]),
objectField("blog", "Blog Page", [stringField("title", "Title"), textareaField("description", "Description")]),
stringField("siteName", "Site Name")
])
];
}
var config_default = defineConfig({
branch: process.env.GITHUB_REF_NAME ?? "main",
clientId: process.env.TINA_PUBLIC_CLIENT_ID,
token: process.env.TINA_TOKEN,
build: {
outputFolder: "admin",
publicFolder: "public"
},
media: {
tina: {
mediaRoot: "uploads",
publicFolder: "public"
}
},
schema: {
collections: [
{
name: "translationsEn",
label: "Site Content (English)",
path: "content/translations",
match: { include: "en" },
format: "json",
ui: { allowedActions: { create: false, delete: false } },
fields: translationFields()
},
{
name: "translationsUk",
label: "Site Content (Ukrainian)",
path: "content/translations",
match: { include: "uk" },
format: "json",
ui: { allowedActions: { create: false, delete: false } },
fields: translationFields()
},
{
name: "blogPost",
label: "Blog Posts",
path: "content/blog",
format: "md",
fields: [
{ name: "title", type: "string", label: "Title", required: true, isTitle: true },
{ name: "date", type: "datetime", label: "Date", required: true },
{ name: "excerpt", type: "string", label: "Excerpt", ui: { component: "textarea" } },
{ name: "coverImage", type: "image", label: "Cover Image" },
{ name: "hashtags", type: "string", label: "Tags", list: true },
{ name: "sourceTitle", type: "string", label: "Source Name" },
{ name: "sourceUrl", type: "string", label: "Source URL" },
{ name: "body", type: "rich-text", label: "Body", isBody: true }
]
}
]
}
});
export {
config_default as default
};

1811
tina/__generated__/frags.gql generated Normal file

File diff suppressed because it is too large Load diff

164
tina/__generated__/queries.gql generated Normal file
View file

@ -0,0 +1,164 @@
query translationsEn($relativePath: String!) {
translationsEn(relativePath: $relativePath) {
... on Document {
_sys {
filename
basename
hasReferences
breadcrumbs
path
relativePath
extension
}
id
}
...TranslationsEnParts
}
}
query translationsEnConnection($before: String, $after: String, $first: Float, $last: Float, $sort: String, $filter: TranslationsEnFilter) {
translationsEnConnection(
before: $before
after: $after
first: $first
last: $last
sort: $sort
filter: $filter
) {
pageInfo {
hasPreviousPage
hasNextPage
startCursor
endCursor
}
totalCount
edges {
cursor
node {
... on Document {
_sys {
filename
basename
hasReferences
breadcrumbs
path
relativePath
extension
}
id
}
...TranslationsEnParts
}
}
}
}
query translationsUk($relativePath: String!) {
translationsUk(relativePath: $relativePath) {
... on Document {
_sys {
filename
basename
hasReferences
breadcrumbs
path
relativePath
extension
}
id
}
...TranslationsUkParts
}
}
query translationsUkConnection($before: String, $after: String, $first: Float, $last: Float, $sort: String, $filter: TranslationsUkFilter) {
translationsUkConnection(
before: $before
after: $after
first: $first
last: $last
sort: $sort
filter: $filter
) {
pageInfo {
hasPreviousPage
hasNextPage
startCursor
endCursor
}
totalCount
edges {
cursor
node {
... on Document {
_sys {
filename
basename
hasReferences
breadcrumbs
path
relativePath
extension
}
id
}
...TranslationsUkParts
}
}
}
}
query blogPost($relativePath: String!) {
blogPost(relativePath: $relativePath) {
... on Document {
_sys {
filename
basename
hasReferences
breadcrumbs
path
relativePath
extension
}
id
}
...BlogPostParts
}
}
query blogPostConnection($before: String, $after: String, $first: Float, $last: Float, $sort: String, $filter: BlogPostFilter) {
blogPostConnection(
before: $before
after: $after
first: $first
last: $last
sort: $sort
filter: $filter
) {
pageInfo {
hasPreviousPage
hasNextPage
startCursor
endCursor
}
totalCount
edges {
cursor
node {
... on Document {
_sys {
filename
basename
hasReferences
breadcrumbs
path
relativePath
extension
}
id
}
...BlogPostParts
}
}
}
}

6385
tina/__generated__/schema.gql generated Normal file

File diff suppressed because it is too large Load diff

1
tina/__generated__/static-media.json generated Normal file
View file

@ -0,0 +1 @@
[]

8953
tina/__generated__/types.ts generated Normal file

File diff suppressed because one or more lines are too long