Add visual editing via useTina + configure tina collections for SPA

Configured TinaCloud for visual editing of translation files with useTina hook integration. Updated .gitignore to exclude generated runtime files while preserving schema files needed by TinaCloud for branch indexing.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Vadym Samoilenko 2026-03-12 21:42:05 +00:00
parent 1cca59dbdd
commit f53b64760a
7 changed files with 9 additions and 17319 deletions

9
.gitignore vendored
View file

@ -7,6 +7,15 @@ dist
public/blog
public/admin
# tina/__generated__/ is committed — TinaCloud needs it for branch indexing
# Generated runtime files — regenerated by tinacms build in CI
tina/__generated__/client.ts
tina/__generated__/types.ts
tina/__generated__/queries.gql
tina/__generated__/frags.gql
tina/__generated__/schema.gql
tina/__generated__/static-media.json
tina/__generated__/.cache
# Schema files below ARE committed (TinaCloud needs them for branch indexing)
.claude/
pronpt.txt
.mcp.json

View file

@ -1,5 +0,0 @@
import { createClient } from "tinacms/dist/client";
import { queries } from "./types";
export const client = createClient({ cacheDir: '/Volumes/SSD/Projects/Aimpress/Aimpress_site/tina/__generated__/.cache/1773349159099', url: 'http://localhost:4001/graphql', token: 'ea37fbfc0d77de4d130164ff058bcc658ea5db8d', queries, });
export default client;

File diff suppressed because it is too large Load diff

View file

@ -1,164 +0,0 @@
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
}
}
}
}

File diff suppressed because it is too large Load diff

View file

@ -1 +0,0 @@
[]

File diff suppressed because one or more lines are too long