From ab9db9a2c7f7abb062abdf9591b704d03e2da7d2 Mon Sep 17 00:00:00 2001 From: lby Date: Fri, 9 Aug 2024 21:52:20 +0800 Subject: [PATCH 1/2] refactor(web): update sort for projects and assets (#1101) --- web/src/beta/features/Assets/hooks.ts | 22 ++++----- web/src/beta/features/AssetsManager/hooks.ts | 49 +++++++------------ .../ContentsContainer/Projects/hooks.ts | 13 +++-- .../ContentsContainer/Projects/index.tsx | 16 +++--- web/src/services/gql/__gen__/gql.ts | 8 +-- web/src/services/gql/__gen__/graphql.ts | 27 +++++----- web/src/services/gql/provider/index.tsx | 2 +- web/src/services/gql/queries/asset.ts | 4 +- web/src/services/gql/queries/project.ts | 6 +-- 9 files changed, 67 insertions(+), 80 deletions(-) diff --git a/web/src/beta/features/Assets/hooks.ts b/web/src/beta/features/Assets/hooks.ts index a16e92be9..99cc48146 100644 --- a/web/src/beta/features/Assets/hooks.ts +++ b/web/src/beta/features/Assets/hooks.ts @@ -4,23 +4,23 @@ import { useCallback, useState, useRef, useMemo, useEffect } from "react"; import { Asset, SortType } from "@reearth/beta/features/Assets/types"; import { autoFillPage, onScrollToBottom } from "@reearth/beta/utils/infinite-scroll"; import { useAssetsFetcher } from "@reearth/services/api"; -import { Maybe, AssetSortType as GQLSortType } from "@reearth/services/gql"; +import { Maybe } from "@reearth/services/gql"; import { useT } from "@reearth/services/i18n"; // TODO: Remove this file const assetsPerPage = 20; -const enumTypeMapper: Partial> = { - [GQLSortType.Date]: "date", - [GQLSortType.Name]: "name", - [GQLSortType.Size]: "size", -}; +// const enumTypeMapper: Partial> = { +// [GQLSortType.Date]: "date", +// [GQLSortType.Name]: "name", +// [GQLSortType.Size]: "size", +// }; -function toGQLEnum(val?: SortType) { - if (!val) return; - return (Object.keys(enumTypeMapper) as GQLSortType[]).find(k => enumTypeMapper[k] === val); -} +// function toGQLEnum(val?: SortType) { +// if (!val) return; +// return (Object.keys(enumTypeMapper) as GQLSortType[]).find(k => enumTypeMapper[k] === val); +// } function pagination( sort?: { type?: Maybe; reverse?: boolean }, @@ -55,7 +55,7 @@ export default ({ const { assets, hasMoreAssets, loading, isRefetching, endCursor, fetchMore } = useAssetsQuery({ teamId: workspaceId ?? "", pagination: pagination(sort), - sort: toGQLEnum(sort?.type), + // sort: toGQLEnum(sort?.type), keyword: searchTerm, }); diff --git a/web/src/beta/features/AssetsManager/hooks.ts b/web/src/beta/features/AssetsManager/hooks.ts index 64ba3beef..b4f00bce1 100644 --- a/web/src/beta/features/AssetsManager/hooks.ts +++ b/web/src/beta/features/AssetsManager/hooks.ts @@ -4,7 +4,7 @@ import useFileInput from "use-file-input"; import { BreadcrumbItem } from "@reearth/beta/lib/reearth-ui"; import { ManagerLayout } from "@reearth/beta/ui/components/ManagerBase"; import { useAssetsFetcher } from "@reearth/services/api"; -import { AssetSortType, Maybe } from "@reearth/services/gql"; +import { AssetSortField, SortDirection } from "@reearth/services/gql"; import { useT } from "@reearth/services/i18n"; import { @@ -18,6 +18,12 @@ import { Asset, sortOptionValue, SortType } from "./types"; const ASSETS_PER_PAGE = 20; const ASSETS_LAYOUT_STORAGE_KEY = `reearth-visualizer-dashboard-assets-layout`; +const typeToGQLField = { + date: AssetSortField.Date, + name: AssetSortField.Name, + size: AssetSortField.Size, +}; + export default ({ workspaceId, allowMultipleSelection, @@ -96,8 +102,13 @@ export default ({ const { useAssetsQuery, useRemoveAssets, useCreateAssets } = useAssetsFetcher(); const { assets, hasMoreAssets, isRefetching, endCursor, loading, fetchMore } = useAssetsQuery({ teamId: workspaceId ?? "", - pagination: pagination(sort), - sort: toGQLEnum(sort?.type), + pagination: { + first: ASSETS_PER_PAGE, + }, + sort: { + direction: sort.reverse ? SortDirection.Desc : SortDirection.Asc, + field: typeToGQLField[sort.type ?? "date"], + }, keyword: searchTerm, }); @@ -125,12 +136,15 @@ export default ({ setLoadingMore(true); await fetchMore({ variables: { - pagination: pagination(sort, endCursor), + pagination: { + first: ASSETS_PER_PAGE, + after: endCursor, + }, }, }); setLoadingMore(false); isLoadingMoreRef.current = false; - }, [hasMoreAssets, isRefetching, fetchMore, sort, endCursor]); + }, [hasMoreAssets, isRefetching, fetchMore, endCursor]); const loadMoreRef = useRef<() => void>(loadMore); loadMoreRef.current = loadMore; @@ -309,28 +323,3 @@ export default ({ loadingMore, }; }; - -const enumTypeMapper: Partial> = { - [AssetSortType.Date]: "date", - [AssetSortType.Name]: "name", - [AssetSortType.Size]: "size", -}; - -function toGQLEnum(val?: SortType) { - if (!val) return; - return (Object.keys(enumTypeMapper) as AssetSortType[]).find(k => enumTypeMapper[k] === val); -} - -function pagination( - sort?: { type?: Maybe; reverse?: boolean }, - endCursor?: string | null, -) { - const reverseOrder = !sort?.type || sort?.type === "date" ? !sort?.reverse : !!sort?.reverse; - - return { - after: !reverseOrder ? endCursor : undefined, - before: reverseOrder ? endCursor : undefined, - first: !reverseOrder ? ASSETS_PER_PAGE : undefined, - last: reverseOrder ? ASSETS_PER_PAGE : undefined, - }; -} diff --git a/web/src/beta/features/Dashboard/ContentsContainer/Projects/hooks.ts b/web/src/beta/features/Dashboard/ContentsContainer/Projects/hooks.ts index aed372025..93cf27ac5 100644 --- a/web/src/beta/features/Dashboard/ContentsContainer/Projects/hooks.ts +++ b/web/src/beta/features/Dashboard/ContentsContainer/Projects/hooks.ts @@ -24,15 +24,16 @@ export default (workspaceId?: string) => { const navigate = useNavigate(); const [searchTerm, setSearchTerm] = useState(); - const [sortValue, setSort] = useState("date"); + const [sortValue, setSort] = useState("date-updated"); const wrapperRef = useRef(null); const { projects, loading, isRefetching, hasMoreProjects, endCursor, fetchMore } = useProjectsQuery({ teamId: workspaceId || "", - first: pagination(sortValue).first, - last: pagination(sortValue).last, + pagination: { + first: pagination(sortValue).first, + }, sort: pagination(sortValue).sortBy, keyword: searchTerm, }); @@ -68,8 +69,10 @@ export default (workspaceId?: string) => { isFetchingMore.current = true; await fetchMore({ variables: { - after: endCursor, - first: PROJECTS_PER_PAGE, + pagination: { + after: endCursor, + first: PROJECTS_PER_PAGE, + }, }, }); isFetchingMore.current = false; diff --git a/web/src/beta/features/Dashboard/ContentsContainer/Projects/index.tsx b/web/src/beta/features/Dashboard/ContentsContainer/Projects/index.tsx index 8a9259b8b..9eca578f8 100644 --- a/web/src/beta/features/Dashboard/ContentsContainer/Projects/index.tsx +++ b/web/src/beta/features/Dashboard/ContentsContainer/Projects/index.tsx @@ -236,14 +236,11 @@ const Projects: FC<{ workspaceId?: string }> = ({ workspaceId }) => { )} - {isLoading && - (hasMoreProjects ? ( - - - - ) : ( + {isLoading && ( + - ))} + + )} {projectCreatorVisible && ( ({ flex: 0.5, })); -const StyledLoading = styled("div")(() => ({ - margin: "52px auto", +const LoadingWrapper = styled("div")(() => ({ + width: "100%", + height: 100, })); diff --git a/web/src/services/gql/__gen__/gql.ts b/web/src/services/gql/__gen__/gql.ts index 69dac7cc5..0f8a156b8 100644 --- a/web/src/services/gql/__gen__/gql.ts +++ b/web/src/services/gql/__gen__/gql.ts @@ -27,7 +27,7 @@ const documents = { "\n fragment PropertySchemaFieldFragment on PropertySchemaField {\n fieldId\n title\n description\n translatedTitle(lang: $lang)\n translatedDescription(lang: $lang)\n prefix\n suffix\n type\n defaultValue\n ui\n min\n max\n choices {\n key\n icon\n title\n translatedTitle(lang: $lang)\n }\n isAvailableIf {\n fieldId\n type\n value\n }\n }\n\n fragment PropertySchemaGroupFragment on PropertySchemaGroup {\n schemaGroupId\n title\n collection\n translatedTitle(lang: $lang)\n isList\n representativeFieldId\n isAvailableIf {\n fieldId\n type\n value\n }\n fields {\n ...PropertySchemaFieldFragment\n }\n }\n\n fragment PropertyFieldFragment on PropertyField {\n id\n fieldId\n type\n value\n links {\n ...PropertyFieldLink\n }\n }\n\n fragment PropertyGroupFragment on PropertyGroup {\n id\n schemaGroupId\n fields {\n ...PropertyFieldFragment\n }\n }\n\n fragment PropertyItemFragment on PropertyItem {\n ... on PropertyGroupList {\n id\n schemaGroupId\n groups {\n ...PropertyGroupFragment\n }\n }\n ... on PropertyGroup {\n ...PropertyGroupFragment\n }\n }\n\n fragment PropertyFragmentWithoutSchema on Property {\n id\n items {\n ...PropertyItemFragment\n }\n }\n\n fragment PropertyFragment on Property {\n id\n ...PropertyFragmentWithoutSchema\n schema {\n id\n groups {\n ...PropertySchemaGroupFragment\n }\n }\n }\n\n fragment MergedPropertyGroupCommonFragment on MergedPropertyGroup {\n schemaGroupId\n fields {\n fieldId\n type\n actualValue\n overridden\n links {\n ...PropertyFieldLink\n }\n }\n }\n\n fragment MergedPropertyGroupFragment on MergedPropertyGroup {\n ...MergedPropertyGroupCommonFragment\n groups {\n ...MergedPropertyGroupCommonFragment\n }\n }\n\n fragment MergedPropertyFragmentWithoutSchema on MergedProperty {\n originalId\n parentId\n linkedDatasetId\n groups {\n ...MergedPropertyGroupFragment\n }\n }\n\n fragment MergedPropertyFragment on MergedProperty {\n ...MergedPropertyFragmentWithoutSchema\n schema {\n id\n }\n }\n\n fragment PropertyFieldLink on PropertyFieldLink {\n datasetId\n datasetSchemaId\n datasetSchemaFieldId\n }\n": types.PropertySchemaFieldFragmentFragmentDoc, "\n fragment StoryFragment on Story {\n id\n title\n panelPosition\n bgColor\n isBasicAuthActive\n basicAuthUsername\n basicAuthPassword\n alias\n publicTitle\n publicDescription\n publishmentStatus\n publicImage\n publicNoIndex\n pages {\n ...StoryPageFragment\n }\n }\n": types.StoryFragmentFragmentDoc, "\n fragment StoryPageFragment on StoryPage {\n id\n title\n swipeable\n propertyId\n property {\n id\n ...PropertyFragment\n }\n layersIds\n blocks {\n id\n pluginId\n extensionId\n property {\n id\n ...PropertyFragment\n }\n }\n }\n": types.StoryPageFragmentFragmentDoc, - "\n query GetAssets($teamId: ID!, $sort: AssetSortType, $keyword: String, $pagination: Pagination) {\n assets(teamId: $teamId, keyword: $keyword, sort: $sort, pagination: $pagination) {\n edges {\n cursor\n node {\n id\n teamId\n name\n size\n url\n createdAt\n contentType\n }\n }\n nodes {\n id\n teamId\n name\n size\n url\n createdAt\n contentType\n }\n pageInfo {\n endCursor\n hasNextPage\n hasPreviousPage\n startCursor\n }\n totalCount\n }\n }\n": types.GetAssetsDocument, + "\n query GetAssets($teamId: ID!, $pagination: Pagination, $keyword: String, $sort: AssetSort) {\n assets(teamId: $teamId, pagination: $pagination, keyword: $keyword, sort: $sort) {\n edges {\n cursor\n node {\n id\n teamId\n name\n size\n url\n createdAt\n contentType\n }\n }\n nodes {\n id\n teamId\n name\n size\n url\n createdAt\n contentType\n }\n pageInfo {\n endCursor\n hasNextPage\n hasPreviousPage\n startCursor\n }\n totalCount\n }\n }\n": types.GetAssetsDocument, "\n mutation CreateAsset($teamId: ID!, $file: Upload!) {\n createAsset(input: { teamId: $teamId, file: $file }) {\n asset {\n id\n teamId\n name\n size\n url\n contentType\n }\n }\n }\n": types.CreateAssetDocument, "\n mutation RemoveAsset($assetId: ID!) {\n removeAsset(input: { assetId: $assetId }) {\n assetId\n }\n }\n": types.RemoveAssetDocument, "\n mutation AddGeoJSONFeature($input: AddGeoJSONFeatureInput!) {\n addGeoJSONFeature(input: $input) {\n id\n\t\t type\n\t\t properties\n }\n }\n": types.AddGeoJsonFeatureDocument, @@ -49,7 +49,7 @@ const documents = { "\n mutation UploadPlugin($sceneId: ID!, $file: Upload, $url: URL) {\n uploadPlugin(input: { sceneId: $sceneId, file: $file, url: $url }) {\n plugin {\n id\n name\n version\n description\n author\n }\n scenePlugin {\n pluginId\n propertyId\n }\n }\n }\n": types.UploadPluginDocument, "\n mutation UninstallPlugin($sceneId: ID!, $pluginId: ID!) {\n uninstallPlugin(input: { sceneId: $sceneId, pluginId: $pluginId }) {\n pluginId\n }\n }\n": types.UninstallPluginDocument, "\n query GetProject($projectId: ID!) {\n node(id: $projectId, type: PROJECT) {\n id\n ... on Project {\n ...ProjectFragment\n scene {\n id\n }\n }\n }\n }\n": types.GetProjectDocument, - "\n query GetProjects($teamId: ID!, $first: Int, $last: Int, $after: Cursor, $before: Cursor, $keyword: String, $sort: ProjectSort) {\n projects(teamId: $teamId, first: $first, last: $last, after: $after, before: $before, keyword: $keyword, sort: $sort) {\n edges {\n node {\n id\n ...ProjectFragment\n scene {\n id\n }\n }\n }\n nodes {\n id\n ...ProjectFragment\n scene {\n id\n }\n }\n pageInfo {\n endCursor\n hasNextPage\n hasPreviousPage\n startCursor\n }\n totalCount\n }\n }\n\n\n": types.GetProjectsDocument, + "\n query GetProjects($teamId: ID!, $pagination: Pagination, $keyword: String, $sort: ProjectSort) {\n projects(teamId: $teamId, pagination: $pagination, keyword: $keyword, sort: $sort) {\n edges {\n node {\n id\n ...ProjectFragment\n scene {\n id\n }\n }\n }\n nodes {\n id\n ...ProjectFragment\n scene {\n id\n }\n }\n pageInfo {\n endCursor\n hasNextPage\n hasPreviousPage\n startCursor\n }\n totalCount\n }\n }\n": types.GetProjectsDocument, "\n query CheckProjectAlias($alias: String!) {\n checkProjectAlias(alias: $alias) {\n alias\n available\n }\n }\n": types.CheckProjectAliasDocument, "\n mutation CreateProject(\n $teamId: ID!\n $visualizer: Visualizer!\n $name: String!\n $description: String!\n $imageUrl: URL\n $coreSupport: Boolean\n ) {\n createProject(\n input: {\n teamId: $teamId\n visualizer: $visualizer\n name: $name\n description: $description\n imageUrl: $imageUrl\n coreSupport: $coreSupport\n }\n ) {\n project {\n id\n name\n description\n imageUrl\n coreSupport\n }\n }\n }\n": types.CreateProjectDocument, "\n mutation UpdateProject(\n $projectId: ID!\n $name: String\n $description: String\n $imageUrl: URL\n $publicTitle: String\n $publicDescription: String\n $publicImage: String\n $deleteImageUrl: Boolean\n $deletePublicImage: Boolean\n $enableGa: Boolean\n $trackingId: String\n $starred:Boolean\n ) {\n updateProject(\n input: {\n projectId: $projectId\n name: $name\n description: $description\n imageUrl: $imageUrl\n publicTitle: $publicTitle\n publicDescription: $publicDescription\n publicImage: $publicImage\n deleteImageUrl: $deleteImageUrl\n deletePublicImage: $deletePublicImage\n enableGa: $enableGa\n trackingId: $trackingId\n starred: $starred\n }\n ) {\n project {\n id\n ...ProjectFragment\n }\n }\n }\n\n": types.UpdateProjectDocument, @@ -160,7 +160,7 @@ export function gql(source: "\n fragment StoryPageFragment on StoryPage {\n /** * The gql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. */ -export function gql(source: "\n query GetAssets($teamId: ID!, $sort: AssetSortType, $keyword: String, $pagination: Pagination) {\n assets(teamId: $teamId, keyword: $keyword, sort: $sort, pagination: $pagination) {\n edges {\n cursor\n node {\n id\n teamId\n name\n size\n url\n createdAt\n contentType\n }\n }\n nodes {\n id\n teamId\n name\n size\n url\n createdAt\n contentType\n }\n pageInfo {\n endCursor\n hasNextPage\n hasPreviousPage\n startCursor\n }\n totalCount\n }\n }\n"): (typeof documents)["\n query GetAssets($teamId: ID!, $sort: AssetSortType, $keyword: String, $pagination: Pagination) {\n assets(teamId: $teamId, keyword: $keyword, sort: $sort, pagination: $pagination) {\n edges {\n cursor\n node {\n id\n teamId\n name\n size\n url\n createdAt\n contentType\n }\n }\n nodes {\n id\n teamId\n name\n size\n url\n createdAt\n contentType\n }\n pageInfo {\n endCursor\n hasNextPage\n hasPreviousPage\n startCursor\n }\n totalCount\n }\n }\n"]; +export function gql(source: "\n query GetAssets($teamId: ID!, $pagination: Pagination, $keyword: String, $sort: AssetSort) {\n assets(teamId: $teamId, pagination: $pagination, keyword: $keyword, sort: $sort) {\n edges {\n cursor\n node {\n id\n teamId\n name\n size\n url\n createdAt\n contentType\n }\n }\n nodes {\n id\n teamId\n name\n size\n url\n createdAt\n contentType\n }\n pageInfo {\n endCursor\n hasNextPage\n hasPreviousPage\n startCursor\n }\n totalCount\n }\n }\n"): (typeof documents)["\n query GetAssets($teamId: ID!, $pagination: Pagination, $keyword: String, $sort: AssetSort) {\n assets(teamId: $teamId, pagination: $pagination, keyword: $keyword, sort: $sort) {\n edges {\n cursor\n node {\n id\n teamId\n name\n size\n url\n createdAt\n contentType\n }\n }\n nodes {\n id\n teamId\n name\n size\n url\n createdAt\n contentType\n }\n pageInfo {\n endCursor\n hasNextPage\n hasPreviousPage\n startCursor\n }\n totalCount\n }\n }\n"]; /** * The gql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. */ @@ -248,7 +248,7 @@ export function gql(source: "\n query GetProject($projectId: ID!) {\n node(i /** * The gql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. */ -export function gql(source: "\n query GetProjects($teamId: ID!, $first: Int, $last: Int, $after: Cursor, $before: Cursor, $keyword: String, $sort: ProjectSort) {\n projects(teamId: $teamId, first: $first, last: $last, after: $after, before: $before, keyword: $keyword, sort: $sort) {\n edges {\n node {\n id\n ...ProjectFragment\n scene {\n id\n }\n }\n }\n nodes {\n id\n ...ProjectFragment\n scene {\n id\n }\n }\n pageInfo {\n endCursor\n hasNextPage\n hasPreviousPage\n startCursor\n }\n totalCount\n }\n }\n\n\n"): (typeof documents)["\n query GetProjects($teamId: ID!, $first: Int, $last: Int, $after: Cursor, $before: Cursor, $keyword: String, $sort: ProjectSort) {\n projects(teamId: $teamId, first: $first, last: $last, after: $after, before: $before, keyword: $keyword, sort: $sort) {\n edges {\n node {\n id\n ...ProjectFragment\n scene {\n id\n }\n }\n }\n nodes {\n id\n ...ProjectFragment\n scene {\n id\n }\n }\n pageInfo {\n endCursor\n hasNextPage\n hasPreviousPage\n startCursor\n }\n totalCount\n }\n }\n\n\n"]; +export function gql(source: "\n query GetProjects($teamId: ID!, $pagination: Pagination, $keyword: String, $sort: ProjectSort) {\n projects(teamId: $teamId, pagination: $pagination, keyword: $keyword, sort: $sort) {\n edges {\n node {\n id\n ...ProjectFragment\n scene {\n id\n }\n }\n }\n nodes {\n id\n ...ProjectFragment\n scene {\n id\n }\n }\n pageInfo {\n endCursor\n hasNextPage\n hasPreviousPage\n startCursor\n }\n totalCount\n }\n }\n"): (typeof documents)["\n query GetProjects($teamId: ID!, $pagination: Pagination, $keyword: String, $sort: ProjectSort) {\n projects(teamId: $teamId, pagination: $pagination, keyword: $keyword, sort: $sort) {\n edges {\n node {\n id\n ...ProjectFragment\n scene {\n id\n }\n }\n }\n nodes {\n id\n ...ProjectFragment\n scene {\n id\n }\n }\n pageInfo {\n endCursor\n hasNextPage\n hasPreviousPage\n startCursor\n }\n totalCount\n }\n }\n"]; /** * The gql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. */ diff --git a/web/src/services/gql/__gen__/graphql.ts b/web/src/services/gql/__gen__/graphql.ts index cd356fbac..a72733a97 100644 --- a/web/src/services/gql/__gen__/graphql.ts +++ b/web/src/services/gql/__gen__/graphql.ts @@ -203,7 +203,12 @@ export type AssetEdge = { node?: Maybe; }; -export enum AssetSortType { +export type AssetSort = { + direction: SortDirection; + field: AssetSortField; +}; + +export enum AssetSortField { Date = 'DATE', Name = 'NAME', Size = 'SIZE' @@ -2039,7 +2044,7 @@ export type Query = { export type QueryAssetsArgs = { keyword?: InputMaybe; pagination?: InputMaybe; - sort?: InputMaybe; + sort?: InputMaybe; teamId: Scalars['ID']['input']; }; @@ -2095,12 +2100,9 @@ export type QueryPluginsArgs = { export type QueryProjectsArgs = { - after?: InputMaybe; - before?: InputMaybe; - first?: InputMaybe; includeArchived?: InputMaybe; keyword?: InputMaybe; - last?: InputMaybe; + pagination?: InputMaybe; sort?: InputMaybe; teamId: Scalars['ID']['input']; }; @@ -3155,9 +3157,9 @@ export type StoryPageFragmentFragment = { __typename?: 'StoryPage', id: string, export type GetAssetsQueryVariables = Exact<{ teamId: Scalars['ID']['input']; - sort?: InputMaybe; - keyword?: InputMaybe; pagination?: InputMaybe; + keyword?: InputMaybe; + sort?: InputMaybe; }>; @@ -3319,10 +3321,7 @@ export type GetProjectQuery = { __typename?: 'Query', node?: { __typename?: 'Ass export type GetProjectsQueryVariables = Exact<{ teamId: Scalars['ID']['input']; - first?: InputMaybe; - last?: InputMaybe; - after?: InputMaybe; - before?: InputMaybe; + pagination?: InputMaybe; keyword?: InputMaybe; sort?: InputMaybe; }>; @@ -3682,7 +3681,7 @@ export const ProjectFragmentFragmentDoc = {"kind":"Document","definitions":[{"ki export const StoryPageFragmentFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"StoryPageFragment"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"StoryPage"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"swipeable"}},{"kind":"Field","name":{"kind":"Name","value":"propertyId"}},{"kind":"Field","name":{"kind":"Name","value":"property"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"FragmentSpread","name":{"kind":"Name","value":"PropertyFragment"}}]}},{"kind":"Field","name":{"kind":"Name","value":"layersIds"}},{"kind":"Field","name":{"kind":"Name","value":"blocks"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"pluginId"}},{"kind":"Field","name":{"kind":"Name","value":"extensionId"}},{"kind":"Field","name":{"kind":"Name","value":"property"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"FragmentSpread","name":{"kind":"Name","value":"PropertyFragment"}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"PropertyFieldLink"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"PropertyFieldLink"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"datasetId"}},{"kind":"Field","name":{"kind":"Name","value":"datasetSchemaId"}},{"kind":"Field","name":{"kind":"Name","value":"datasetSchemaFieldId"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"PropertyFieldFragment"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"PropertyField"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"fieldId"}},{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"value"}},{"kind":"Field","name":{"kind":"Name","value":"links"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"PropertyFieldLink"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"PropertyGroupFragment"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"PropertyGroup"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"schemaGroupId"}},{"kind":"Field","name":{"kind":"Name","value":"fields"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"PropertyFieldFragment"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"PropertyItemFragment"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"PropertyItem"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"PropertyGroupList"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"schemaGroupId"}},{"kind":"Field","name":{"kind":"Name","value":"groups"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"PropertyGroupFragment"}}]}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"PropertyGroup"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"PropertyGroupFragment"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"PropertyFragmentWithoutSchema"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Property"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"items"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"PropertyItemFragment"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"PropertySchemaFieldFragment"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"PropertySchemaField"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"fieldId"}},{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"translatedTitle"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"lang"}}}]},{"kind":"Field","name":{"kind":"Name","value":"translatedDescription"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"lang"}}}]},{"kind":"Field","name":{"kind":"Name","value":"prefix"}},{"kind":"Field","name":{"kind":"Name","value":"suffix"}},{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"defaultValue"}},{"kind":"Field","name":{"kind":"Name","value":"ui"}},{"kind":"Field","name":{"kind":"Name","value":"min"}},{"kind":"Field","name":{"kind":"Name","value":"max"}},{"kind":"Field","name":{"kind":"Name","value":"choices"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"key"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"translatedTitle"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"lang"}}}]}]}},{"kind":"Field","name":{"kind":"Name","value":"isAvailableIf"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"fieldId"}},{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"value"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"PropertySchemaGroupFragment"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"PropertySchemaGroup"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"schemaGroupId"}},{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"collection"}},{"kind":"Field","name":{"kind":"Name","value":"translatedTitle"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"lang"}}}]},{"kind":"Field","name":{"kind":"Name","value":"isList"}},{"kind":"Field","name":{"kind":"Name","value":"representativeFieldId"}},{"kind":"Field","name":{"kind":"Name","value":"isAvailableIf"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"fieldId"}},{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"value"}}]}},{"kind":"Field","name":{"kind":"Name","value":"fields"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"PropertySchemaFieldFragment"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"PropertyFragment"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Property"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"FragmentSpread","name":{"kind":"Name","value":"PropertyFragmentWithoutSchema"}},{"kind":"Field","name":{"kind":"Name","value":"schema"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"groups"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"PropertySchemaGroupFragment"}}]}}]}}]}}]} as unknown as DocumentNode; export const StoryFragmentFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"StoryFragment"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Story"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"panelPosition"}},{"kind":"Field","name":{"kind":"Name","value":"bgColor"}},{"kind":"Field","name":{"kind":"Name","value":"isBasicAuthActive"}},{"kind":"Field","name":{"kind":"Name","value":"basicAuthUsername"}},{"kind":"Field","name":{"kind":"Name","value":"basicAuthPassword"}},{"kind":"Field","name":{"kind":"Name","value":"alias"}},{"kind":"Field","name":{"kind":"Name","value":"publicTitle"}},{"kind":"Field","name":{"kind":"Name","value":"publicDescription"}},{"kind":"Field","name":{"kind":"Name","value":"publishmentStatus"}},{"kind":"Field","name":{"kind":"Name","value":"publicImage"}},{"kind":"Field","name":{"kind":"Name","value":"publicNoIndex"}},{"kind":"Field","name":{"kind":"Name","value":"pages"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"StoryPageFragment"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"PropertyFieldLink"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"PropertyFieldLink"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"datasetId"}},{"kind":"Field","name":{"kind":"Name","value":"datasetSchemaId"}},{"kind":"Field","name":{"kind":"Name","value":"datasetSchemaFieldId"}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"PropertyFieldFragment"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"PropertyField"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"fieldId"}},{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"value"}},{"kind":"Field","name":{"kind":"Name","value":"links"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"PropertyFieldLink"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"PropertyGroupFragment"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"PropertyGroup"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"schemaGroupId"}},{"kind":"Field","name":{"kind":"Name","value":"fields"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"PropertyFieldFragment"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"PropertyItemFragment"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"PropertyItem"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"PropertyGroupList"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"schemaGroupId"}},{"kind":"Field","name":{"kind":"Name","value":"groups"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"PropertyGroupFragment"}}]}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"PropertyGroup"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"PropertyGroupFragment"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"PropertyFragmentWithoutSchema"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Property"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"items"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"PropertyItemFragment"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"PropertySchemaFieldFragment"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"PropertySchemaField"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"fieldId"}},{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"translatedTitle"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"lang"}}}]},{"kind":"Field","name":{"kind":"Name","value":"translatedDescription"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"lang"}}}]},{"kind":"Field","name":{"kind":"Name","value":"prefix"}},{"kind":"Field","name":{"kind":"Name","value":"suffix"}},{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"defaultValue"}},{"kind":"Field","name":{"kind":"Name","value":"ui"}},{"kind":"Field","name":{"kind":"Name","value":"min"}},{"kind":"Field","name":{"kind":"Name","value":"max"}},{"kind":"Field","name":{"kind":"Name","value":"choices"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"key"}},{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"translatedTitle"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"lang"}}}]}]}},{"kind":"Field","name":{"kind":"Name","value":"isAvailableIf"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"fieldId"}},{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"value"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"PropertySchemaGroupFragment"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"PropertySchemaGroup"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"schemaGroupId"}},{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"collection"}},{"kind":"Field","name":{"kind":"Name","value":"translatedTitle"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"lang"},"value":{"kind":"Variable","name":{"kind":"Name","value":"lang"}}}]},{"kind":"Field","name":{"kind":"Name","value":"isList"}},{"kind":"Field","name":{"kind":"Name","value":"representativeFieldId"}},{"kind":"Field","name":{"kind":"Name","value":"isAvailableIf"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"fieldId"}},{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"value"}}]}},{"kind":"Field","name":{"kind":"Name","value":"fields"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"PropertySchemaFieldFragment"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"PropertyFragment"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Property"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"FragmentSpread","name":{"kind":"Name","value":"PropertyFragmentWithoutSchema"}},{"kind":"Field","name":{"kind":"Name","value":"schema"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"groups"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"PropertySchemaGroupFragment"}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"StoryPageFragment"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"StoryPage"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"swipeable"}},{"kind":"Field","name":{"kind":"Name","value":"propertyId"}},{"kind":"Field","name":{"kind":"Name","value":"property"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"FragmentSpread","name":{"kind":"Name","value":"PropertyFragment"}}]}},{"kind":"Field","name":{"kind":"Name","value":"layersIds"}},{"kind":"Field","name":{"kind":"Name","value":"blocks"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"pluginId"}},{"kind":"Field","name":{"kind":"Name","value":"extensionId"}},{"kind":"Field","name":{"kind":"Name","value":"property"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"FragmentSpread","name":{"kind":"Name","value":"PropertyFragment"}}]}}]}}]}}]} as unknown as DocumentNode; export const TeamFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"Team"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Team"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"members"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"user"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"email"}}]}},{"kind":"Field","name":{"kind":"Name","value":"userId"}},{"kind":"Field","name":{"kind":"Name","value":"role"}}]}},{"kind":"Field","name":{"kind":"Name","value":"personal"}},{"kind":"Field","name":{"kind":"Name","value":"policyId"}},{"kind":"Field","name":{"kind":"Name","value":"policy"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"projectCount"}},{"kind":"Field","name":{"kind":"Name","value":"memberCount"}},{"kind":"Field","name":{"kind":"Name","value":"publishedProjectCount"}},{"kind":"Field","name":{"kind":"Name","value":"layerCount"}},{"kind":"Field","name":{"kind":"Name","value":"assetStorageSize"}},{"kind":"Field","name":{"kind":"Name","value":"datasetSchemaCount"}},{"kind":"Field","name":{"kind":"Name","value":"datasetCount"}}]}}]}}]} as unknown as DocumentNode; -export const GetAssetsDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetAssets"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"teamId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"sort"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"AssetSortType"}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"keyword"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"pagination"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"Pagination"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"assets"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"teamId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"teamId"}}},{"kind":"Argument","name":{"kind":"Name","value":"keyword"},"value":{"kind":"Variable","name":{"kind":"Name","value":"keyword"}}},{"kind":"Argument","name":{"kind":"Name","value":"sort"},"value":{"kind":"Variable","name":{"kind":"Name","value":"sort"}}},{"kind":"Argument","name":{"kind":"Name","value":"pagination"},"value":{"kind":"Variable","name":{"kind":"Name","value":"pagination"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"edges"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"cursor"}},{"kind":"Field","name":{"kind":"Name","value":"node"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"teamId"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"size"}},{"kind":"Field","name":{"kind":"Name","value":"url"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"contentType"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"nodes"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"teamId"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"size"}},{"kind":"Field","name":{"kind":"Name","value":"url"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"contentType"}}]}},{"kind":"Field","name":{"kind":"Name","value":"pageInfo"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"endCursor"}},{"kind":"Field","name":{"kind":"Name","value":"hasNextPage"}},{"kind":"Field","name":{"kind":"Name","value":"hasPreviousPage"}},{"kind":"Field","name":{"kind":"Name","value":"startCursor"}}]}},{"kind":"Field","name":{"kind":"Name","value":"totalCount"}}]}}]}}]} as unknown as DocumentNode; +export const GetAssetsDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetAssets"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"teamId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"pagination"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"Pagination"}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"keyword"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"sort"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"AssetSort"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"assets"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"teamId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"teamId"}}},{"kind":"Argument","name":{"kind":"Name","value":"pagination"},"value":{"kind":"Variable","name":{"kind":"Name","value":"pagination"}}},{"kind":"Argument","name":{"kind":"Name","value":"keyword"},"value":{"kind":"Variable","name":{"kind":"Name","value":"keyword"}}},{"kind":"Argument","name":{"kind":"Name","value":"sort"},"value":{"kind":"Variable","name":{"kind":"Name","value":"sort"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"edges"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"cursor"}},{"kind":"Field","name":{"kind":"Name","value":"node"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"teamId"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"size"}},{"kind":"Field","name":{"kind":"Name","value":"url"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"contentType"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"nodes"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"teamId"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"size"}},{"kind":"Field","name":{"kind":"Name","value":"url"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"contentType"}}]}},{"kind":"Field","name":{"kind":"Name","value":"pageInfo"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"endCursor"}},{"kind":"Field","name":{"kind":"Name","value":"hasNextPage"}},{"kind":"Field","name":{"kind":"Name","value":"hasPreviousPage"}},{"kind":"Field","name":{"kind":"Name","value":"startCursor"}}]}},{"kind":"Field","name":{"kind":"Name","value":"totalCount"}}]}}]}}]} as unknown as DocumentNode; export const CreateAssetDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"CreateAsset"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"teamId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"file"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Upload"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"createAsset"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"input"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"teamId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"teamId"}}},{"kind":"ObjectField","name":{"kind":"Name","value":"file"},"value":{"kind":"Variable","name":{"kind":"Name","value":"file"}}}]}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"asset"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"teamId"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"size"}},{"kind":"Field","name":{"kind":"Name","value":"url"}},{"kind":"Field","name":{"kind":"Name","value":"contentType"}}]}}]}}]}}]} as unknown as DocumentNode; export const RemoveAssetDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"RemoveAsset"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"assetId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"removeAsset"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"input"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"assetId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"assetId"}}}]}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"assetId"}}]}}]}}]} as unknown as DocumentNode; export const AddGeoJsonFeatureDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"AddGeoJSONFeature"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"input"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"AddGeoJSONFeatureInput"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"addGeoJSONFeature"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"input"},"value":{"kind":"Variable","name":{"kind":"Name","value":"input"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"type"}},{"kind":"Field","name":{"kind":"Name","value":"properties"}}]}}]}}]} as unknown as DocumentNode; @@ -3704,7 +3703,7 @@ export const UpgradePluginDocument = {"kind":"Document","definitions":[{"kind":" export const UploadPluginDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"UploadPlugin"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"sceneId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"file"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"Upload"}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"url"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"URL"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"uploadPlugin"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"input"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"sceneId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"sceneId"}}},{"kind":"ObjectField","name":{"kind":"Name","value":"file"},"value":{"kind":"Variable","name":{"kind":"Name","value":"file"}}},{"kind":"ObjectField","name":{"kind":"Name","value":"url"},"value":{"kind":"Variable","name":{"kind":"Name","value":"url"}}}]}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"plugin"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"version"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"author"}}]}},{"kind":"Field","name":{"kind":"Name","value":"scenePlugin"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"pluginId"}},{"kind":"Field","name":{"kind":"Name","value":"propertyId"}}]}}]}}]}}]} as unknown as DocumentNode; export const UninstallPluginDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"UninstallPlugin"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"sceneId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"pluginId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"uninstallPlugin"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"input"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"sceneId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"sceneId"}}},{"kind":"ObjectField","name":{"kind":"Name","value":"pluginId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"pluginId"}}}]}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"pluginId"}}]}}]}}]} as unknown as DocumentNode; export const GetProjectDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetProject"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"projectId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"node"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"projectId"}}},{"kind":"Argument","name":{"kind":"Name","value":"type"},"value":{"kind":"EnumValue","value":"PROJECT"}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Project"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"ProjectFragment"}},{"kind":"Field","name":{"kind":"Name","value":"scene"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}}]}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ProjectFragment"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Project"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"imageUrl"}},{"kind":"Field","name":{"kind":"Name","value":"isArchived"}},{"kind":"Field","name":{"kind":"Name","value":"isBasicAuthActive"}},{"kind":"Field","name":{"kind":"Name","value":"basicAuthUsername"}},{"kind":"Field","name":{"kind":"Name","value":"basicAuthPassword"}},{"kind":"Field","name":{"kind":"Name","value":"publicTitle"}},{"kind":"Field","name":{"kind":"Name","value":"publicDescription"}},{"kind":"Field","name":{"kind":"Name","value":"publicImage"}},{"kind":"Field","name":{"kind":"Name","value":"alias"}},{"kind":"Field","name":{"kind":"Name","value":"enableGa"}},{"kind":"Field","name":{"kind":"Name","value":"trackingId"}},{"kind":"Field","name":{"kind":"Name","value":"publishmentStatus"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"coreSupport"}},{"kind":"Field","name":{"kind":"Name","value":"starred"}}]}}]} as unknown as DocumentNode; -export const GetProjectsDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetProjects"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"teamId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"first"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"Int"}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"last"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"Int"}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"after"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"Cursor"}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"before"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"Cursor"}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"keyword"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"sort"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"ProjectSort"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"projects"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"teamId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"teamId"}}},{"kind":"Argument","name":{"kind":"Name","value":"first"},"value":{"kind":"Variable","name":{"kind":"Name","value":"first"}}},{"kind":"Argument","name":{"kind":"Name","value":"last"},"value":{"kind":"Variable","name":{"kind":"Name","value":"last"}}},{"kind":"Argument","name":{"kind":"Name","value":"after"},"value":{"kind":"Variable","name":{"kind":"Name","value":"after"}}},{"kind":"Argument","name":{"kind":"Name","value":"before"},"value":{"kind":"Variable","name":{"kind":"Name","value":"before"}}},{"kind":"Argument","name":{"kind":"Name","value":"keyword"},"value":{"kind":"Variable","name":{"kind":"Name","value":"keyword"}}},{"kind":"Argument","name":{"kind":"Name","value":"sort"},"value":{"kind":"Variable","name":{"kind":"Name","value":"sort"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"edges"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"node"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"FragmentSpread","name":{"kind":"Name","value":"ProjectFragment"}},{"kind":"Field","name":{"kind":"Name","value":"scene"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}}]}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"nodes"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"FragmentSpread","name":{"kind":"Name","value":"ProjectFragment"}},{"kind":"Field","name":{"kind":"Name","value":"scene"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"pageInfo"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"endCursor"}},{"kind":"Field","name":{"kind":"Name","value":"hasNextPage"}},{"kind":"Field","name":{"kind":"Name","value":"hasPreviousPage"}},{"kind":"Field","name":{"kind":"Name","value":"startCursor"}}]}},{"kind":"Field","name":{"kind":"Name","value":"totalCount"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ProjectFragment"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Project"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"imageUrl"}},{"kind":"Field","name":{"kind":"Name","value":"isArchived"}},{"kind":"Field","name":{"kind":"Name","value":"isBasicAuthActive"}},{"kind":"Field","name":{"kind":"Name","value":"basicAuthUsername"}},{"kind":"Field","name":{"kind":"Name","value":"basicAuthPassword"}},{"kind":"Field","name":{"kind":"Name","value":"publicTitle"}},{"kind":"Field","name":{"kind":"Name","value":"publicDescription"}},{"kind":"Field","name":{"kind":"Name","value":"publicImage"}},{"kind":"Field","name":{"kind":"Name","value":"alias"}},{"kind":"Field","name":{"kind":"Name","value":"enableGa"}},{"kind":"Field","name":{"kind":"Name","value":"trackingId"}},{"kind":"Field","name":{"kind":"Name","value":"publishmentStatus"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"coreSupport"}},{"kind":"Field","name":{"kind":"Name","value":"starred"}}]}}]} as unknown as DocumentNode; +export const GetProjectsDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"GetProjects"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"teamId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"pagination"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"Pagination"}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"keyword"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"sort"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"ProjectSort"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"projects"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"teamId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"teamId"}}},{"kind":"Argument","name":{"kind":"Name","value":"pagination"},"value":{"kind":"Variable","name":{"kind":"Name","value":"pagination"}}},{"kind":"Argument","name":{"kind":"Name","value":"keyword"},"value":{"kind":"Variable","name":{"kind":"Name","value":"keyword"}}},{"kind":"Argument","name":{"kind":"Name","value":"sort"},"value":{"kind":"Variable","name":{"kind":"Name","value":"sort"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"edges"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"node"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"FragmentSpread","name":{"kind":"Name","value":"ProjectFragment"}},{"kind":"Field","name":{"kind":"Name","value":"scene"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}}]}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"nodes"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"FragmentSpread","name":{"kind":"Name","value":"ProjectFragment"}},{"kind":"Field","name":{"kind":"Name","value":"scene"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"pageInfo"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"endCursor"}},{"kind":"Field","name":{"kind":"Name","value":"hasNextPage"}},{"kind":"Field","name":{"kind":"Name","value":"hasPreviousPage"}},{"kind":"Field","name":{"kind":"Name","value":"startCursor"}}]}},{"kind":"Field","name":{"kind":"Name","value":"totalCount"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ProjectFragment"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Project"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"imageUrl"}},{"kind":"Field","name":{"kind":"Name","value":"isArchived"}},{"kind":"Field","name":{"kind":"Name","value":"isBasicAuthActive"}},{"kind":"Field","name":{"kind":"Name","value":"basicAuthUsername"}},{"kind":"Field","name":{"kind":"Name","value":"basicAuthPassword"}},{"kind":"Field","name":{"kind":"Name","value":"publicTitle"}},{"kind":"Field","name":{"kind":"Name","value":"publicDescription"}},{"kind":"Field","name":{"kind":"Name","value":"publicImage"}},{"kind":"Field","name":{"kind":"Name","value":"alias"}},{"kind":"Field","name":{"kind":"Name","value":"enableGa"}},{"kind":"Field","name":{"kind":"Name","value":"trackingId"}},{"kind":"Field","name":{"kind":"Name","value":"publishmentStatus"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"coreSupport"}},{"kind":"Field","name":{"kind":"Name","value":"starred"}}]}}]} as unknown as DocumentNode; export const CheckProjectAliasDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"CheckProjectAlias"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"alias"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"checkProjectAlias"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"alias"},"value":{"kind":"Variable","name":{"kind":"Name","value":"alias"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"alias"}},{"kind":"Field","name":{"kind":"Name","value":"available"}}]}}]}}]} as unknown as DocumentNode; export const CreateProjectDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"CreateProject"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"teamId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"visualizer"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Visualizer"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"name"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"description"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"imageUrl"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"URL"}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"coreSupport"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"Boolean"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"createProject"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"input"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"teamId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"teamId"}}},{"kind":"ObjectField","name":{"kind":"Name","value":"visualizer"},"value":{"kind":"Variable","name":{"kind":"Name","value":"visualizer"}}},{"kind":"ObjectField","name":{"kind":"Name","value":"name"},"value":{"kind":"Variable","name":{"kind":"Name","value":"name"}}},{"kind":"ObjectField","name":{"kind":"Name","value":"description"},"value":{"kind":"Variable","name":{"kind":"Name","value":"description"}}},{"kind":"ObjectField","name":{"kind":"Name","value":"imageUrl"},"value":{"kind":"Variable","name":{"kind":"Name","value":"imageUrl"}}},{"kind":"ObjectField","name":{"kind":"Name","value":"coreSupport"},"value":{"kind":"Variable","name":{"kind":"Name","value":"coreSupport"}}}]}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"project"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"imageUrl"}},{"kind":"Field","name":{"kind":"Name","value":"coreSupport"}}]}}]}}]}}]} as unknown as DocumentNode; export const UpdateProjectDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"UpdateProject"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"projectId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"name"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"description"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"imageUrl"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"URL"}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"publicTitle"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"publicDescription"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"publicImage"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"deleteImageUrl"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"Boolean"}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"deletePublicImage"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"Boolean"}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"enableGa"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"Boolean"}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"trackingId"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"starred"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"Boolean"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"updateProject"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"input"},"value":{"kind":"ObjectValue","fields":[{"kind":"ObjectField","name":{"kind":"Name","value":"projectId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"projectId"}}},{"kind":"ObjectField","name":{"kind":"Name","value":"name"},"value":{"kind":"Variable","name":{"kind":"Name","value":"name"}}},{"kind":"ObjectField","name":{"kind":"Name","value":"description"},"value":{"kind":"Variable","name":{"kind":"Name","value":"description"}}},{"kind":"ObjectField","name":{"kind":"Name","value":"imageUrl"},"value":{"kind":"Variable","name":{"kind":"Name","value":"imageUrl"}}},{"kind":"ObjectField","name":{"kind":"Name","value":"publicTitle"},"value":{"kind":"Variable","name":{"kind":"Name","value":"publicTitle"}}},{"kind":"ObjectField","name":{"kind":"Name","value":"publicDescription"},"value":{"kind":"Variable","name":{"kind":"Name","value":"publicDescription"}}},{"kind":"ObjectField","name":{"kind":"Name","value":"publicImage"},"value":{"kind":"Variable","name":{"kind":"Name","value":"publicImage"}}},{"kind":"ObjectField","name":{"kind":"Name","value":"deleteImageUrl"},"value":{"kind":"Variable","name":{"kind":"Name","value":"deleteImageUrl"}}},{"kind":"ObjectField","name":{"kind":"Name","value":"deletePublicImage"},"value":{"kind":"Variable","name":{"kind":"Name","value":"deletePublicImage"}}},{"kind":"ObjectField","name":{"kind":"Name","value":"enableGa"},"value":{"kind":"Variable","name":{"kind":"Name","value":"enableGa"}}},{"kind":"ObjectField","name":{"kind":"Name","value":"trackingId"},"value":{"kind":"Variable","name":{"kind":"Name","value":"trackingId"}}},{"kind":"ObjectField","name":{"kind":"Name","value":"starred"},"value":{"kind":"Variable","name":{"kind":"Name","value":"starred"}}}]}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"project"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"FragmentSpread","name":{"kind":"Name","value":"ProjectFragment"}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"ProjectFragment"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Project"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"name"}},{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"imageUrl"}},{"kind":"Field","name":{"kind":"Name","value":"isArchived"}},{"kind":"Field","name":{"kind":"Name","value":"isBasicAuthActive"}},{"kind":"Field","name":{"kind":"Name","value":"basicAuthUsername"}},{"kind":"Field","name":{"kind":"Name","value":"basicAuthPassword"}},{"kind":"Field","name":{"kind":"Name","value":"publicTitle"}},{"kind":"Field","name":{"kind":"Name","value":"publicDescription"}},{"kind":"Field","name":{"kind":"Name","value":"publicImage"}},{"kind":"Field","name":{"kind":"Name","value":"alias"}},{"kind":"Field","name":{"kind":"Name","value":"enableGa"}},{"kind":"Field","name":{"kind":"Name","value":"trackingId"}},{"kind":"Field","name":{"kind":"Name","value":"publishmentStatus"}},{"kind":"Field","name":{"kind":"Name","value":"updatedAt"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"coreSupport"}},{"kind":"Field","name":{"kind":"Name","value":"starred"}}]}}]} as unknown as DocumentNode; diff --git a/web/src/services/gql/provider/index.tsx b/web/src/services/gql/provider/index.tsx index 5a29d4f72..da38de88b 100644 --- a/web/src/services/gql/provider/index.tsx +++ b/web/src/services/gql/provider/index.tsx @@ -28,7 +28,7 @@ const Provider: React.FC<{ children?: ReactNode }> = ({ children }) => { merge: paginationMerge, }, projects: { - keyArgs: ["teamId", "keyword", "sort", "first", "last"], + keyArgs: ["teamId", "keyword", "sort", "pagination", ["first", "last"]], merge: paginationMerge, }, datasetSchemas: { diff --git a/web/src/services/gql/queries/asset.ts b/web/src/services/gql/queries/asset.ts index decbf529c..e637908b2 100644 --- a/web/src/services/gql/queries/asset.ts +++ b/web/src/services/gql/queries/asset.ts @@ -1,8 +1,8 @@ import { gql } from "@reearth/services/gql/__gen__"; export const GET_ASSETS = gql(` - query GetAssets($teamId: ID!, $sort: AssetSortType, $keyword: String, $pagination: Pagination) { - assets(teamId: $teamId, keyword: $keyword, sort: $sort, pagination: $pagination) { + query GetAssets($teamId: ID!, $pagination: Pagination, $keyword: String, $sort: AssetSort) { + assets(teamId: $teamId, pagination: $pagination, keyword: $keyword, sort: $sort) { edges { cursor node { diff --git a/web/src/services/gql/queries/project.ts b/web/src/services/gql/queries/project.ts index 6d28fc0a6..88426fbd6 100644 --- a/web/src/services/gql/queries/project.ts +++ b/web/src/services/gql/queries/project.ts @@ -15,8 +15,8 @@ export const GET_PROJECT = gql(` `); export const GET_PROJECTS = gql(` - query GetProjects($teamId: ID!, $first: Int, $last: Int, $after: Cursor, $before: Cursor, $keyword: String, $sort: ProjectSort) { - projects(teamId: $teamId, first: $first, last: $last, after: $after, before: $before, keyword: $keyword, sort: $sort) { + query GetProjects($teamId: ID!, $pagination: Pagination, $keyword: String, $sort: ProjectSort) { + projects(teamId: $teamId, pagination: $pagination, keyword: $keyword, sort: $sort) { edges { node { id @@ -42,8 +42,6 @@ export const GET_PROJECTS = gql(` totalCount } } - - `); export const CHECK_PROJECT_ALIAS = gql(` From b46698fcc0a45738932e6f71f0825b431dd469f6 Mon Sep 17 00:00:00 2001 From: Beatrice Mkumbo Date: Fri, 9 Aug 2024 17:06:23 +0300 Subject: [PATCH 2/2] refactor(web): link block (#1096) Co-authored-by: airslice --- .../Icon/Icons/linkStoryBlockButton.svg | 5 + web/src/beta/components/Icon/icons.ts | 3 + .../Block/builtin/Camera/Content.tsx | 21 +- .../StoryPanel/Block/builtin/Link/Content.tsx | 123 ++++ .../Block/builtin/Link/Editor/hooks.ts | 116 +++ .../Block/builtin/Link/Editor/index.tsx | 137 ++++ .../StoryPanel/Block/builtin/Link/index.tsx | 50 ++ .../Crust/StoryPanel/Block/builtin/index.ts | 6 +- .../Visualizer/Crust/StoryPanel/constants.ts | 2 + .../builtin/Navigator/UI/index.test.tsx | 6 +- web/src/beta/ui/fields/AssetField/index.tsx | 2 +- web/src/services/i18n/translations/en.yml | 667 +++++++++--------- web/src/services/i18n/translations/ja.yml | 1 + 13 files changed, 781 insertions(+), 358 deletions(-) create mode 100644 web/src/beta/components/Icon/Icons/linkStoryBlockButton.svg create mode 100644 web/src/beta/features/Visualizer/Crust/StoryPanel/Block/builtin/Link/Content.tsx create mode 100644 web/src/beta/features/Visualizer/Crust/StoryPanel/Block/builtin/Link/Editor/hooks.ts create mode 100644 web/src/beta/features/Visualizer/Crust/StoryPanel/Block/builtin/Link/Editor/index.tsx create mode 100644 web/src/beta/features/Visualizer/Crust/StoryPanel/Block/builtin/Link/index.tsx diff --git a/web/src/beta/components/Icon/Icons/linkStoryBlockButton.svg b/web/src/beta/components/Icon/Icons/linkStoryBlockButton.svg new file mode 100644 index 000000000..a253b8c99 --- /dev/null +++ b/web/src/beta/components/Icon/Icons/linkStoryBlockButton.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/web/src/beta/components/Icon/icons.ts b/web/src/beta/components/Icon/icons.ts index e265486cb..85c8c0956 100644 --- a/web/src/beta/components/Icon/icons.ts +++ b/web/src/beta/components/Icon/icons.ts @@ -93,6 +93,8 @@ import ShowLayersStoryBlock from "./Icons/showLayersStoryBlock.svg?react"; import TimelineStoryBlock from "./Icons/timelineStoryBlock.svg?react"; import TimelineStoryBlockSolid from "./Icons/timelineStoryBlockSolid.svg?react"; import NextPageStoryBlock from "./Icons/nextPageStoryBlock.svg?react"; +//TODO: will be not be use in future +import LinkButtonStoryBlock from "./Icons/linkStoryBlockButton.svg?react"; // Widget tab import Desktop from "./Icons/desktop.svg?react"; @@ -204,6 +206,7 @@ export default { timelineStoryBlock: TimelineStoryBlock, timelineStoryBlockSolid: TimelineStoryBlockSolid, nextPageStoryBlock: NextPageStoryBlock, + linkButtonStoryBlock: LinkButtonStoryBlock, widget: Widgets, widgets: Widgets, menu: WidgetMenu, diff --git a/web/src/beta/features/Visualizer/Crust/StoryPanel/Block/builtin/Camera/Content.tsx b/web/src/beta/features/Visualizer/Crust/StoryPanel/Block/builtin/Camera/Content.tsx index 856ccc1ab..c3bf493ab 100644 --- a/web/src/beta/features/Visualizer/Crust/StoryPanel/Block/builtin/Camera/Content.tsx +++ b/web/src/beta/features/Visualizer/Crust/StoryPanel/Block/builtin/Camera/Content.tsx @@ -112,12 +112,15 @@ const ButtonWrapper = styled("div")(({ theme }) => ({ maxWidth: "400px", })); -const StyledButton = styled(Button)<{ color?: string; bgColor?: string }>(({ color, bgColor }) => ({ - color: color || color, - background: bgColor || bgColor, - borderColor: color || color, - ["&:hover"]: { - color: bgColor || bgColor, - background: color ? color : "inherit", - }, -})); +const StyledButton = styled(Button)<{ color?: string; bgColor?: string; userSelected?: boolean }>( + ({ color, bgColor, userSelected, theme }) => ({ + color: userSelected ? bgColor ?? theme.content.strong : color, + backgroundColor: userSelected ? color ?? theme.primary.main : bgColor, + borderColor: color, + + ":hover": { + color: bgColor, + backgroundColor: color ?? theme.primary.main, + }, + }), +); diff --git a/web/src/beta/features/Visualizer/Crust/StoryPanel/Block/builtin/Link/Content.tsx b/web/src/beta/features/Visualizer/Crust/StoryPanel/Block/builtin/Link/Content.tsx new file mode 100644 index 000000000..abe1744e0 --- /dev/null +++ b/web/src/beta/features/Visualizer/Crust/StoryPanel/Block/builtin/Link/Content.tsx @@ -0,0 +1,123 @@ +import { FC, useCallback, useContext, useState } from "react"; + +import Button from "@reearth/beta/components/Button"; +import { BlockContext } from "@reearth/beta/features/Visualizer/shared/components/BlockWrapper"; +import { useT } from "@reearth/services/i18n"; +import { styled } from "@reearth/services/theme"; + +import LinkEditor, { type LinkBlock as LinkBlockType } from "./Editor"; + +type Props = { + propertyId?: string; + linkButtons: LinkBlockType[]; + isEditable?: boolean; + onPropertyUpdate?: ( + propertyId?: string, + schemaItemId?: string, + fieldId?: string, + itemId?: string, + vt?: any, + v?: any, + ) => Promise; + onPropertyItemAdd?: (propertyId?: string, schemaGroupId?: string) => Promise; + onPropertyItemMove?: ( + propertyId?: string, + schemaGroupId?: string, + itemId?: string, + index?: number, + ) => Promise; + onPropertyItemDelete?: ( + propertyId?: string, + schemaGroupId?: string, + itemId?: string, + ) => Promise; +}; + +const Content: FC = ({ + propertyId, + linkButtons, + isEditable, + onPropertyUpdate, + onPropertyItemAdd, + onPropertyItemDelete, + onPropertyItemMove, +}) => { + const t = useT(); + const blockContext = useContext(BlockContext); + const [selected, setSelected] = useState(linkButtons[0]?.id); + + const handleClick = useCallback( + (itemId: string) => { + if (isEditable) { + setSelected(itemId); + return; + } + const item = linkButtons.find(i => i.id === itemId); + + if (!item?.url?.value) return; + window.open(item.url.value, "_blank"); + }, + [isEditable, linkButtons], + ); + + return ( + + + {linkButtons.map(({ title, color, bgColor, id }) => { + return ( + //The button will be updated in future + handleClick(id)} + /> + ); + })} + + {blockContext?.editMode && ( + + )} + + ); +}; + +export default Content; + +const Wrapper = styled("div")(() => ({ + width: "100%", +})); + +const ButtonWrapper = styled("div")(({ theme }) => ({ + width: "100%", + display: "flex", + flexWrap: "wrap", + gap: theme.spacing.smallest, + maxWidth: "400px", +})); + +const StyledButton = styled(Button)<{ color?: string; bgColor?: string; userSelected?: boolean }>( + ({ color, bgColor, userSelected, theme }) => ({ + color: userSelected ? bgColor ?? theme.content.strong : color, + backgroundColor: userSelected ? color ?? theme.primary.main : bgColor, + borderColor: color, + + ":hover": { + color: bgColor, + backgroundColor: color ?? theme.primary.main, + }, + }), +); diff --git a/web/src/beta/features/Visualizer/Crust/StoryPanel/Block/builtin/Link/Editor/hooks.ts b/web/src/beta/features/Visualizer/Crust/StoryPanel/Block/builtin/Link/Editor/hooks.ts new file mode 100644 index 000000000..8e5e82935 --- /dev/null +++ b/web/src/beta/features/Visualizer/Crust/StoryPanel/Block/builtin/Link/Editor/hooks.ts @@ -0,0 +1,116 @@ +import { debounce } from "lodash-es"; +import { useCallback, useMemo } from "react"; + +import { ValueTypes } from "@reearth/beta/utils/value"; +import { useT } from "@reearth/services/i18n"; + +import type { Field } from "../../../../types"; + +export type LinkBlock = { + id: string; + title?: Field; + color?: Field; + bgColor?: Field; + url?: Field; +}; + +export default ({ + items, + propertyId, + selected, + onPropertyUpdate, + onPropertyItemAdd, + onPropertyItemDelete, + onPropertyItemMove, +}: { + items: LinkBlock[]; + propertyId?: string; + selected?: string; + onPropertyUpdate?: ( + propertyId?: string, + schemaItemId?: string, + fieldId?: string, + itemId?: string, + vt?: any, + v?: any, + ) => Promise; + onPropertyItemAdd?: (propertyId?: string, schemaGroupId?: string) => Promise; + onPropertyItemMove?: ( + propertyId?: string, + schemaGroupId?: string, + itemId?: string, + index?: number, + ) => Promise; + onPropertyItemDelete?: ( + propertyId?: string, + schemaGroupId?: string, + itemId?: string, + ) => Promise; +}) => { + const t = useT(); + + const editorProperties = useMemo(() => items.find(i => i.id === selected), [items, selected]); + + const handlePropertyValueUpdate = useCallback( + (schemaGroupId: string, propertyId: string, fieldId: string, vt: any, itemId?: string) => { + return async (v?: any) => { + await onPropertyUpdate?.(propertyId, schemaGroupId, fieldId, itemId, vt, v); + }; + }, + [onPropertyUpdate], + ); + + const handleUpdate = useCallback( + ( + itemId: string, + fieldId: string, + fieldType: keyof ValueTypes, + updatedValue?: ValueTypes[keyof ValueTypes], + ) => { + if (!propertyId || !itemId) return; + + handlePropertyValueUpdate("default", propertyId, fieldId, fieldType, itemId)(updatedValue); + }, + [propertyId, handlePropertyValueUpdate], + ); + + const debounceOnUpdate = useMemo(() => debounce(handleUpdate, 500), [handleUpdate]); + + const listItems = useMemo( + () => items.map(({ id, title }) => ({ id, title: title?.value ?? t("New Link Button") })), + [items, t], + ); + + const handleItemAdd = useCallback(() => { + if (!propertyId) return; + onPropertyItemAdd?.(propertyId, "default"); + }, [propertyId, onPropertyItemAdd]); + + const handleItemRemove = useCallback( + (itemId: string) => { + if (!propertyId || !itemId) return; + + onPropertyItemDelete?.(propertyId, "default", itemId); + }, + [propertyId, onPropertyItemDelete], + ); + + const handleItemMove = useCallback( + (id: string, index: number) => { + if (!propertyId || !id) return; + + onPropertyItemMove?.(propertyId, "default", id, index); + }, + [propertyId, onPropertyItemMove], + ); + + return { + editorProperties, + debounceOnUpdate, + listItems, + handleUpdate, + handleItemAdd, + handleItemRemove, + handleItemMove, + }; +}; diff --git a/web/src/beta/features/Visualizer/Crust/StoryPanel/Block/builtin/Link/Editor/index.tsx b/web/src/beta/features/Visualizer/Crust/StoryPanel/Block/builtin/Link/Editor/index.tsx new file mode 100644 index 000000000..768d7e300 --- /dev/null +++ b/web/src/beta/features/Visualizer/Crust/StoryPanel/Block/builtin/Link/Editor/index.tsx @@ -0,0 +1,137 @@ +import { FC } from "react"; + +import { AssetField, ColorField, InputField, ListField } from "@reearth/beta/ui/fields"; +import { useT } from "@reearth/services/i18n"; +import { styled } from "@reearth/services/theme"; + +import useHooks, { type LinkBlock } from "./hooks"; + +export { type LinkBlock } from "./hooks"; + +export type Props = { + items: LinkBlock[]; + selected: string; + propertyId?: string; + setSelected: (id: string) => void; + onPropertyUpdate?: ( + propertyId?: string, + schemaItemId?: string, + fieldId?: string, + itemId?: string, + vt?: any, + v?: any, + ) => Promise; + onPropertyItemAdd?: (propertyId?: string, schemaGroupId?: string) => Promise; + onPropertyItemMove?: ( + propertyId?: string, + schemaGroupId?: string, + itemId?: string, + index?: number, + ) => Promise; + onPropertyItemDelete?: ( + propertyId?: string, + schemaGroupId?: string, + itemId?: string, + ) => Promise; +}; + +const LinkBlockEditor: FC = ({ + items, + propertyId, + selected, + setSelected, + onPropertyUpdate, + onPropertyItemAdd, + onPropertyItemDelete, + onPropertyItemMove, +}) => { + const t = useT(); + const { + editorProperties, + debounceOnUpdate, + listItems, + handleItemAdd, + handleItemRemove, + handleItemMove, + } = useHooks({ + selected, + items, + propertyId, + onPropertyUpdate, + onPropertyItemAdd, + onPropertyItemDelete, + onPropertyItemMove, + }); + + return ( + + + + + debounceOnUpdate(selected, "title", "string", value)} + /> + debounceOnUpdate(selected, "color", "string", value)} + /> + debounceOnUpdate(selected, "bgColor", "string", value)} + /> + + + debounceOnUpdate(selected, "url", "url", value)} + /> + + ); +}; + +const EditorWrapper = styled("div")(({ theme }) => ({ + padding: theme.spacing.normal, + margin: `${theme.spacing.micro}px 0`, + background: theme.bg[1], + display: "flex", + flexDirection: "column", + gap: theme.spacing.small, +})); + +const GroupWrapper = styled("div")(() => ({ + display: "grid", + gridTemplateColumns: "55% 42%", + gridGap: "10px", +})); + +const FieldGroup = styled("div")<{ disabled: boolean }>(({ theme, disabled }) => ({ + display: "flex", + flexDirection: "column", + gap: theme.spacing.small, + opacity: disabled ? 0.6 : 1, + cursor: disabled ? "not-allowed" : "inherit", + pointerEvents: disabled ? "none" : "inherit", +})); + +export default LinkBlockEditor; diff --git a/web/src/beta/features/Visualizer/Crust/StoryPanel/Block/builtin/Link/index.tsx b/web/src/beta/features/Visualizer/Crust/StoryPanel/Block/builtin/Link/index.tsx new file mode 100644 index 000000000..9eee7fd56 --- /dev/null +++ b/web/src/beta/features/Visualizer/Crust/StoryPanel/Block/builtin/Link/index.tsx @@ -0,0 +1,50 @@ +import { FC, useEffect, useMemo } from "react"; + +import BlockWrapper from "@reearth/beta/features/Visualizer/shared/components/BlockWrapper"; +import type { CommonBlockProps as BlockProps } from "@reearth/beta/features/Visualizer/shared/types"; + +import { StoryBlock } from "../../../types"; + +import Content from "./Content"; +import { type LinkBlock as LinkBlockType } from "./Editor"; + +export type Props = BlockProps; + +const LinkBlock: FC = ({ block, isSelected, onPropertyItemAdd, ...props }) => { + const linkButtons = useMemo( + () => (block?.property?.default ?? []) as LinkBlockType[], + [block?.property?.default], + ); + + // if there's no item add 1 button. + // TODO: Should be added to block creationAPI for generic blocks that require at least 1 item + useEffect(() => { + if (!block?.property?.default || block?.property?.default.length === 0) { + onPropertyItemAdd?.(block?.propertyId, "default"); + } + }, [block?.propertyId, block?.property?.default, onPropertyItemAdd]); + + return ( + + + + ); +}; + +export default LinkBlock; diff --git a/web/src/beta/features/Visualizer/Crust/StoryPanel/Block/builtin/index.ts b/web/src/beta/features/Visualizer/Crust/StoryPanel/Block/builtin/index.ts index c4955685f..d918e0bbb 100644 --- a/web/src/beta/features/Visualizer/Crust/StoryPanel/Block/builtin/index.ts +++ b/web/src/beta/features/Visualizer/Crust/StoryPanel/Block/builtin/index.ts @@ -11,11 +11,13 @@ import { VIDEO_BUILTIN_STORY_BLOCK_ID, LAYER_BUILTIN_STORY_BLOCK_ID, NEXT_PAGE_BUILTIN_STORY_BLOCK_ID, + LINK_BUILTIN_STORY_BLOCK_ID, } from "../../constants"; import CameraBlock from "./Camera"; import ImageBlock from "./Image"; import LayerBlock from "./Layer"; +import LinkBlock from "./Link"; import MdBlock from "./Markdown"; import NextPageBlock from "./NextPage"; import TextBlock from "./Text"; @@ -32,7 +34,8 @@ export type ReEarthBuiltinStoryBlocks = Record< | typeof CAMERA_BUILTIN_STORY_BLOCK_ID | typeof LAYER_BUILTIN_STORY_BLOCK_ID | typeof TIMELINE_BUILTIN_STORY_BLOCK_ID - | typeof NEXT_PAGE_BUILTIN_STORY_BLOCK_ID, + | typeof NEXT_PAGE_BUILTIN_STORY_BLOCK_ID + | typeof LINK_BUILTIN_STORY_BLOCK_ID, T >; @@ -49,6 +52,7 @@ const reearthBuiltin: BuiltinStoryBlocks = { [CAMERA_BUILTIN_STORY_BLOCK_ID]: CameraBlock, [LAYER_BUILTIN_STORY_BLOCK_ID]: LayerBlock, [NEXT_PAGE_BUILTIN_STORY_BLOCK_ID]: NextPageBlock, + [LINK_BUILTIN_STORY_BLOCK_ID]: LinkBlock, }; const builtin = merge({}, reearthBuiltin); diff --git a/web/src/beta/features/Visualizer/Crust/StoryPanel/constants.ts b/web/src/beta/features/Visualizer/Crust/StoryPanel/constants.ts index 6ece747d4..315edc0a6 100644 --- a/web/src/beta/features/Visualizer/Crust/StoryPanel/constants.ts +++ b/web/src/beta/features/Visualizer/Crust/StoryPanel/constants.ts @@ -22,6 +22,7 @@ export const CAMERA_BUILTIN_STORY_BLOCK_ID = "reearth/cameraButtonStoryBlock"; export const LAYER_BUILTIN_STORY_BLOCK_ID = "reearth/showLayersStoryBlock"; export const TIMELINE_BUILTIN_STORY_BLOCK_ID = "reearth/timelineStoryBlock"; export const NEXT_PAGE_BUILTIN_STORY_BLOCK_ID = "reearth/nextPageStoryBlock"; +export const LINK_BUILTIN_STORY_BLOCK_ID = "reearth/linkButtonStoryBlock"; export const AVAILABLE_STORY_BLOCK_IDS = [ IMAGE_BUILTIN_STORY_BLOCK_ID, @@ -32,4 +33,5 @@ export const AVAILABLE_STORY_BLOCK_IDS = [ LAYER_BUILTIN_STORY_BLOCK_ID, TIMELINE_BUILTIN_STORY_BLOCK_ID, NEXT_PAGE_BUILTIN_STORY_BLOCK_ID, + LINK_BUILTIN_STORY_BLOCK_ID, ]; diff --git a/web/src/beta/features/Visualizer/Crust/Widgets/Widget/builtin/Navigator/UI/index.test.tsx b/web/src/beta/features/Visualizer/Crust/Widgets/Widget/builtin/Navigator/UI/index.test.tsx index 7318fc65f..ec389f1e3 100644 --- a/web/src/beta/features/Visualizer/Crust/Widgets/Widget/builtin/Navigator/UI/index.test.tsx +++ b/web/src/beta/features/Visualizer/Crust/Widgets/Widget/builtin/Navigator/UI/index.test.tsx @@ -7,7 +7,7 @@ import Navigator from "."; test("it should rotate compass when degree props is changed", async () => { const { rerender } = render(); - const compass = screen.getByLabelText("compass"); + const compass = screen.getByLabelText("aria-label-compass"); if (!compass.parentElement) { throw new Error("compass.parentElement should be exist"); @@ -26,7 +26,7 @@ test("it should rotate compass by mouse operation", async () => { const onRotateMock = vitest.fn(); render(); - const compass = screen.getByLabelText("compass"); + const compass = screen.getByLabelText("aria-label-compass"); if (!compass.parentElement) { throw new Error("compass.parentElement should be exist"); @@ -66,7 +66,7 @@ test("it should orbit by mouse operation", async () => { />, ); - const angle = screen.getByLabelText("adjust angle"); + const angle = screen.getByLabelText("aria-label-adjust-angle"); if (!angle.parentElement) { throw new Error("angle.parentElement should be exist"); } diff --git a/web/src/beta/ui/fields/AssetField/index.tsx b/web/src/beta/ui/fields/AssetField/index.tsx index 2cdebeb21..c8315fcbc 100644 --- a/web/src/beta/ui/fields/AssetField/index.tsx +++ b/web/src/beta/ui/fields/AssetField/index.tsx @@ -80,7 +80,7 @@ const AssetField: FC = ({ {inputMethod === "asset" && ( diff --git a/web/src/services/i18n/translations/en.yml b/web/src/services/i18n/translations/en.yml index 7ca4885c0..f56785dbd 100644 --- a/web/src/services/i18n/translations/en.yml +++ b/web/src/services/i18n/translations/en.yml @@ -1,379 +1,358 @@ -Current Position: Current Position -Latitude: Latitude -Longitude: Longitude -Height: Height -Current Rotation: Current Rotation -Heading: Heading -Pitch: Pitch -Roll: Roll -Camera Position Editor: Camera Position Editor -Cancel: Cancel -Capture: Capture -Location: Location -Rotation: Rotation -Apply: Apply -Position Set: Position Set -Not set: Not set -Edit: Edit -Color Picker: Color Picker -You have passed the maximum value.: You have passed the maximum value. -You have passed the minimum value.: You have passed the minimum value. -Set Time: Set Time -Date: Date -Time: Time -Time Zone: Time Zone -set: set -Remove: Remove -Add: Add -Settings: Settings -Options: Options -Please choose an option: Please choose an option -Add text here: Add text here -Timeline Settings: Timeline Settings -'* Start Time': '* Start Time' -Start time for the timeline: Start time for the timeline -'* Current Time': '* Current Time' -Current time should be between start and end time: Current time should be between start and end time -'* End Time': '* End Time' -End time for the timeline: End time for the timeline -Please make sure the Current time must between the Start time and End Time.: Please make sure the Current time must between the Start time and End Time. -not set: not set -Wrong file format: Wrong file format -Choose: Choose -Upload: Upload -Not found: Not found -Last Uploaded: Last Uploaded -First Uploaded: First Uploaded -A To Z: A To Z -Z To A: Z To A -Size Small to Large: Size Small to Large -Size Large to Small: Size Large to Small -Select Asset: Select Asset -Upload File: Upload File -Search in all assets library: Search in all assets library -Assets selected: Assets selected -Asset selected: Asset selected -Name: Name -Uploaded At: Uploaded At -Size: Size -Use Name or Email: Use Name or Email -Find Member: Find Member -No Member match your search.: No Member match your search. +Current Position: '' +Latitude: '' +Longitude: '' +Height: '' +Current Rotation: '' +Heading: '' +Pitch: '' +Roll: '' +Camera Position Editor: '' +Cancel: '' +Capture: '' +Location: '' +Rotation: '' +Apply: '' +Position Set: '' +Not set: '' +Edit: '' +Color Picker: '' +You have passed the maximum value.: '' +You have passed the minimum value.: '' +Set Time: '' +Date: '' +Time: '' +Time Zone: '' +set: '' +Remove: '' +Add: '' +Settings: '' +Options: '' +Please choose an option: '' +Add text here: '' +Timeline Settings: '' +'* Start Time': '' +Start time for the timeline: '' +'* Current Time': '' +Current time should be between start and end time: '' +'* End Time': '' +End time for the timeline: '' +Please make sure the Current time must between the Start time and End Time.: '' +not set: '' +Wrong file format: '' +Choose: '' +Upload: '' +Not found: '' +Last Uploaded: '' +First Uploaded: '' +A To Z: '' +Z To A: '' +Size Small to Large: '' +Size Large to Small: '' +Select Asset: '' +Upload File: '' +Search in all assets library: '' +Assets selected: '' +Asset selected: '' +Name: '' +Uploaded At: '' +Size: '' +Use Name or Email: '' +Find Member: '' +No Member match your search.: '' Last Created: '' -First Created: First Created +First Created: '' Last Updated: '' -New Project: New Project +New Project: '' Search Result for: '' -Project Name: Project Name -Last modified: Last modified -Created time: Created time -Rename: Rename -Project Setting: Project Setting -Create new project: Create new project -Project Name *: Project Name * -Text: Text -Description: Description -Write down your content: Write down your content -Cover Image: Cover Image -Re:Earth Visualizer: Re:Earth Visualizer -Switch WorkSpace: Switch WorkSpace +Project Name: '' +Last modified: '' +Created time: '' +Rename: '' +Project Setting: '' +Create new project: '' +Project Name *: '' +Text: '' +Description: '' +Write down your content: '' +Cover Image: '' +Re:Earth Visualizer: '' +Switch WorkSpace: '' Personal: '' Team Workspace: '' -Log Out: Log Out -Page: Page -From Assets: From Assets -From Web: From Web -From Value: From Value -File Format: File Format -File format of the data source you want to add.: File format of the data source you want to add. -Source Type: Source Type -Asset: Asset -Resource URL: Resource URL -Input Text: Input Text -Value: Value -Input data here: Input data here -Prioritize Performance: Prioritize Performance -Add to Layer: Add to Layer -Visualizer currently only supports CSV point data. Please specify the column names for latitude and longitude in your data below.: >- - Visualizer currently only supports CSV point data. Please specify the column - names for latitude and longitude in your data below. -Latitude Column Name: Latitude Column Name -Column Name: Column Name -Longitude Column Name: Longitude Column Name -Common: Common -CSV: CSV -WMS: WMS -Vector Tile: Vector Tile -3D Tiles: 3D Tiles -Data Source Manager: Data Source Manager -Choose layer to add: Choose layer to add -layer name: layer name -Layer name: Layer Name -Inspector: Inspector -Layer Name: Layer Name -Format: Format -Unsupported custom field: Unsupported custom field -Custom Properties: Custom Properties +Log Out: '' +Page: '' +From Assets: '' +From Web: '' +From Value: '' +File Format: '' +File format of the data source you want to add.: '' +Source Type: '' +Asset: '' +Resource URL: '' +Input Text: '' +Value: '' +Input data here: '' +Prioritize Performance: '' +Add to Layer: '' +Visualizer currently only supports CSV point data. Please specify the column names for latitude and longitude in your data below.: '' +Latitude Column Name: '' +Column Name: '' +Longitude Column Name: '' +Common: '' +CSV: '' +WMS: '' +Vector Tile: '' +3D Tiles: '' +Data Source Manager: '' +Choose layer to add: '' +layer name: '' +Layer name: '' +Inspector: '' +Layer Name: '' +Format: '' +Unsupported custom field: '' +Custom Properties: '' Save & Apply: '' No custom properties: '' -Geometry: Geometry -Properties: Properties -Enable Infobox: Enable Infobox -Show infobox when the user clicks on a layer: Show infobox when the user clicks on a layer -Layer Style: Layer Style -Add Layer from Resource: Add Layer from Resource +Geometry: '' +Properties: '' +Enable Infobox: '' +Show infobox when the user clicks on a layer: '' +Layer Style: '' +Add Layer from Resource: '' Add Sketch Layer: '' -Layers: Layers -Style_: Style_ -New Style: New Style -Delete: Delete -Save: Save -Main: Main -Tiles: Tiles -Terrain: Terrain -Globe: Globe -Sky: Sky -Camera: Camera -Unknown scene setting: Unknown scene setting -Scene: Scene -Type Title here: Type Title here -Please select one type: Please select one type -Title: Title -Type: Type -New Property: New Property -' Text': Text -General: General -New Sketch Layer: New Sketch Layer -Custom properties Schema Setting: Custom properties Schema Setting -Story: Story -Publish: Publish -Unpublish: Unpublish -Update: Update -Congratulations!: Congratulations! -Publish your story: Publish your story -Publish your scene: Publish your scene -Update your story: Update your story -Update your scene: Update your scene -Ok: Ok -Your published story will be updated. This means all current changes will overwrite the current published story.: >- - Your published story will be updated. This means all current changes will - overwrite the current published story. -Your published scene will be updated. This means all current changes will overwrite the current published scene.: >- - Your published scene will be updated. This means all current changes will - overwrite the current published scene. -Your story will be published. This means anybody with the below URL will be able to view this story.: >- - Your story will be published. This means anybody with the below URL will be - able to view this story. -Your scene will be published. This means anybody with the below URL will be able to view this scene.: >- - Your scene will be published. This means anybody with the below URL will be - able to view this scene. -Your story has been published!: Your story has been published! -Your scene has been published!: Your scene has been published! -Public URL: Public URL -'* Anyone can see your story with this URL': '* Anyone can see your story with this URL' -'* Anyone can see your scene with this URL': '* Anyone can see your scene with this URL' -Copy: Copy -Embed Code: Embed Code -'* Please use this code if you want to embed your story into a webpage': '* Please use this code if you want to embed your story into a webpage' -Publish domain: Publish domain -Need to change domain related settings?: Need to change domain related settings? -Go to settings: Go to settings -Search engine indexing: Search engine indexing -Page will be available as result on search engines: Page will be available as result on search engines -Your story will be unpublished.: Your story will be unpublished. -Your scene will be unpublished.: Your scene will be unpublished. -This means that anybody with the URL will become unable to view this story. This includes websites where this story is embedded.: >- - This means that anybody with the URL will become unable to view this story. - This includes websites where this story is embedded. -This means that anybody with the URL will become unable to view this scene. This includes websites where this scene is embedded.: >- - This means that anybody with the URL will become unable to view this scene. - This includes websites where this scene is embedded. -Page Settings: Page Settings -All Layers: All Layers -Untitled: Untitled -Container Settings: Container Settings -Padding top: Padding top -Padding right: Padding right -Padding bottom: Padding bottom -Padding left: Padding left -Gap spacing: Gap spacing -Align centered: Align centered -Background color: Background color -Align System: Align System -Widget Manager: Widget Manager -Please select an asset before clicking Select.: Please select an asset before clicking Select. -Select Image: Select Image -Select: Select -Sort By: Sort By -No assets match your search.: No assets match your search. -You haven't uploaded any assets yet. Click the upload button above and select a compatible file from your computer.: >- - You haven't uploaded any assets yet. Click the upload button above and select - a compatible file from your computer. +Layers: '' +Style_: '' +New Style: '' +Delete: '' +Save: '' +Main: '' +Tiles: '' +Terrain: '' +Globe: '' +Sky: '' +Camera: '' +Unknown scene setting: '' +Scene: '' +Type Title here: '' +Please select one type: '' +Title: '' +Type: '' +New Property: '' +' Text': '' +General: '' +New Sketch Layer: '' +Custom properties Schema Setting: '' +Story: '' +Publish: '' +Unpublish: '' +Update: '' +Congratulations!: '' +Publish your story: '' +Publish your scene: '' +Update your story: '' +Update your scene: '' +Ok: '' +Your published story will be updated. This means all current changes will overwrite the current published story.: '' +Your published scene will be updated. This means all current changes will overwrite the current published scene.: '' +Your story will be published. This means anybody with the below URL will be able to view this story.: '' +Your scene will be published. This means anybody with the below URL will be able to view this scene.: '' +Your story has been published!: '' +Your scene has been published!: '' +Public URL: '' +'* Anyone can see your story with this URL': '' +'* Anyone can see your scene with this URL': '' +Copy: '' +Embed Code: '' +'* Please use this code if you want to embed your story into a webpage': '' +Publish domain: '' +Need to change domain related settings?: '' +Go to settings: '' +Search engine indexing: '' +Page will be available as result on search engines: '' +Your story will be unpublished.: '' +Your scene will be unpublished.: '' +This means that anybody with the URL will become unable to view this story. This includes websites where this story is embedded.: '' +This means that anybody with the URL will become unable to view this scene. This includes websites where this scene is embedded.: '' +Page Settings: '' +All Layers: '' +Untitled: '' +Container Settings: '' +Padding top: '' +Padding right: '' +Padding bottom: '' +Padding left: '' +Gap spacing: '' +Align centered: '' +Background color: '' +Align System: '' +Widget Manager: '' +Please select an asset before clicking Select.: '' +Select Image: '' +Select: '' +Sort By: '' +No assets match your search.: '' +You haven't uploaded any assets yet. Click the upload button above and select a compatible file from your computer.: '' Please select an layer style before clicking Select.: '' -Select Layer Style: Select Layer Style +Select Layer Style: '' No layerStyle match your search.: '' You haven't added any layerStyle yet. Click the add button in the bottom panel to get started.: '' -Project settings: Project settings -Plugin: Plugin -Unknown: Unknown -Switch workspace: Switch workspace -Log out: Log out -Asset management: Asset management -Map: Map -Widgets: Widgets -Error: Error -Warning: Warning -Notice: Notice +Project settings: '' +Plugin: '' +Unknown: '' +Switch workspace: '' +Log out: '' +Asset management: '' +Map: '' +Widgets: '' +Error: '' +Warning: '' +Notice: '' You have reached a policy limit. Please contact an administrator of your Re:Earth system.: '' -Something went wrong. Please try again later.: Something went wrong. Please try again later. -Most project settings are hidden when the project is archived. Please unarchive the project to view and edit these settings.: >- - Most project settings are hidden when the project is archived. Please - unarchive the project to view and edit these settings. -Project Info: Project Info -Thumbnail: Thumbnail +Something went wrong. Please try again later.: '' +Most project settings are hidden when the project is archived. Please unarchive the project to view and edit these settings.: '' +Project Info: '' +Thumbnail: '' Submit: '' -Danger Zone: Danger Zone -Delete this project: Delete this project +Danger Zone: '' +Delete this project: '' This process will remove this project to recycle bin.: '' -Delete project: Delete project -I am sure I want to delete this project.: I am sure I want to delete this project. +Delete project: '' +I am sure I want to delete this project.: '' This process will remove this project to Recycle bin. If the project was published, this also means websites and domains referencing the project will not be able to access it anymore.: '' -Please type your project name to continue.: Please type your project name to continue. -Plugin Marketplace: Plugin Marketplace -Public Installed: Public Installed -Personal Installed: Personal Installed -Zip file from PC: Zip file from PC -Public GitHub repository: Public GitHub repository +Please type your project name to continue.: '' +Plugin Marketplace: '' +Public Installed: '' +Personal Installed: '' +Zip file from PC: '' +Public GitHub repository: '' Installed Plugins: '' -Uninstall: Uninstall -Installed: Installed -Install: Install -You are uninstalling the selected plugin. The data used by this plugin may also be deleted.: >- - You are uninstalling the selected plugin. The data used by this plugin may - also be deleted. -Please be sure before uninstalling.: Please be sure before uninstalling. +Uninstall: '' +Installed: '' +Install: '' +You are uninstalling the selected plugin. The data used by this plugin may also be deleted.: '' +Please be sure before uninstalling.: '' No description.: '' -Import GitHub repository: Import GitHub repository -Continue: Continue -'Repository url:': 'Repository url:' -Public Info: Public Info -Basic Authorization: Basic Authorization +Import GitHub repository: '' +Continue: '' +'Repository url:': '' +Public Info: '' +Basic Authorization: '' Enable Basic Authorization: '' -Username: Username -Password: Password -Site Setting: Site Setting -Site name: Site name -You are about to change the site name for your project. Only alphanumeric characters and hyphens are allows.: >- - You are about to change the site name for your project. Only alphanumeric - characters and hyphens are allows. +Username: '' +Password: '' +Site Setting: '' +Site name: '' +You are about to change the site name for your project. Only alphanumeric characters and hyphens are allows.: '' Google Analytics: '' Enable Google Analytics: '' Tracking ID: '' -Left: Left -Right: Right -Story Panel: Story Panel -Panel Position: Panel Position -Background Color: Background Color -Something went wrong.: Something went wrong. -Couldn't find the Re:Earth project you were after.: Couldn't find the Re:Earth project you were after. -Your account has been successfully verified! Feel free to login now.: Your account has been successfully verified! Feel free to login now. -Could not verify your signup. Please start the process over.: Could not verify your signup. Please start the process over. -New Field: New Field -New Camera: New Camera -New Camera Button: New Camera Button -Buttons List: Buttons List -New Layers Button: New Layers Button -Add markdown text here: Add markdown text here -aria-label-compass: compass -aria-label-adjust-angle: adjust angle -aria-label-zoom-in: zoom in -aria-label-Go-to-the-home-position: Go to the home position -aria-label-zoom-out: zoom out -Angle: Angle -Narrow: Narrow -Wide: Wide -Spacing settings: Spacing settings -Block: Block -Unsupported field type: Unsupported field type -Write your story :): Write your story :) -Normal: Normal -Heading 1: Heading 1 -Heading 2: Heading 2 -Heading 3: Heading 3 -Bullet List: Bullet List -Numbered List: Numbered List -Quote: Quote -Formatting options for font family: Formatting options for font family -Formatting options for font size: Formatting options for font size -Formatting options for line height: Formatting options for line height -Center Align: Center Align -Justify Align: Justify Align -Left Align: Left Align -Right Align: Right Align -Outdent: Outdent -Indent: Indent -Bulleted List: Bulleted List -Insert Code Block: Insert Code Block -Insert Link: Insert Link -Text Color: Text Color -Strikethrough: Strikethrough -Subscript: Subscript -Superscript: Superscript -Clear Formatting: Clear Formatting +Left: '' +Right: '' +Story Panel: '' +Panel Position: '' +Background Color: '' +Something went wrong.: '' +Couldn't find the Re:Earth project you were after.: '' +Your account has been successfully verified! Feel free to login now.: '' +Could not verify your signup. Please start the process over.: '' +New Field: '' +New Camera: '' +New Camera Button: '' +Buttons List: '' +New Layers Button: '' +New Link Button: '' +Add markdown text here: '' +aria-label-compass: '' +aria-label-adjust-angle: '' +aria-label-zoom-in: '' +aria-label-Go-to-the-home-position: '' +aria-label-zoom-out: '' +Angle: '' +Narrow: '' +Wide: '' +Spacing settings: '' +Block: '' +Unsupported field type: '' +Write your story :): '' +Normal: '' +Heading 1: '' +Heading 2: '' +Heading 3: '' +Bullet List: '' +Numbered List: '' +Quote: '' +Formatting options for font family: '' +Formatting options for font size: '' +Formatting options for line height: '' +Center Align: '' +Justify Align: '' +Left Align: '' +Right Align: '' +Outdent: '' +Indent: '' +Bulleted List: '' +Insert Code Block: '' +Insert Link: '' +Text Color: '' +Strikethrough: '' +Subscript: '' +Superscript: '' +Clear Formatting: '' 'Sort:': '' Position Capture: '' value: '' -Time Period Settings: Time Period Settings -Failed to add one or more assets.: Failed to add one or more assets. -Successfully added one or more assets.: Successfully added one or more assets. -Failed to delete one or more assets.: Failed to delete one or more assets. -One or more assets were successfully deleted.: One or more assets were successfully deleted. +Time Period Settings: '' +Failed to add one or more assets.: '' +Successfully added one or more assets.: '' +Failed to delete one or more assets.: '' +One or more assets were successfully deleted.: '' Failed to add layer.: '' Successfully added a new layer: '' Failed to update the layer.: '' Successfully updated a the layer!: '' -Failed to create block.: Failed to create block. -Successfullly created a block!: Successfullly created a block! -Failed to delete block.: Failed to delete block. -Block was successfully deleted.: Block was successfully deleted. -Failed to move block.: Failed to move block. -Block was successfully moved.: Block was successfully moved. +Failed to create block.: '' +Successfullly created a block!: '' +Failed to delete block.: '' +Block was successfully deleted.: '' +Failed to move block.: '' +Block was successfully moved.: '' Successfully updated the layer!: '' Failed to remove the layer.: '' Successfully removed the layer!: '' -Failed to update the custom property schema.: Failed to update the custom property schema -Successfully updated the custom property schema!: Successfully updated the custom property schema! +Failed to update the custom property schema.: '' +Successfully updated the custom property schema!: '' Failed to add layer style.: '' Successfully added a new layer style!: '' Failed to update the layerStyle.: '' Successfully updated a the layerStyle!: '' Failed to delete the layer style.: '' Successfully deleted the layer style!: '' -Failed to install plugin.: Failed to install plugin. -Successfully installed plugin!: Successfully installed plugin! +Failed to install plugin.: '' +Successfully installed plugin!: '' Failed to upgrade plugin.: '' Successfully upgraded plugin!: '' -Failed to uninstall plugin.: Failed to uninstall plugin. +Failed to uninstall plugin.: '' Successfully uninstalled plugin.: '' -Failed to create project.: Failed to create project. -Default: Default -Failed to create story page on project creation.: Failed to create story page on project creation. -Successfully created project!: Successfully created project! -Failed to publish project.: Failed to publish project. -Successfully published your scene!: Successfully published your scene! -Successfully published your project with search engine indexing!: Successfully published your project with search engine indexing! -Successfully unpublished your scene. Now nobody can access your scene.: Successfully unpublished your scene. Now nobody can access your scene. +Failed to create project.: '' +Default: '' +Failed to create story page on project creation.: '' +Successfully created project!: '' +Failed to publish project.: '' +Successfully published your scene!: '' +Successfully published your project with search engine indexing!: '' +Successfully unpublished your scene. Now nobody can access your scene.: '' Failed to update project.: '' Successfully updated project!: '' -Failed to archive project.: Failed to archive project. -Failed to unarchive project.: Failed to unarchive project. +Failed to archive project.: '' +Failed to unarchive project.: '' Successfully archive project!: '' -Successfully unarchived the project. You can now edit this project.: Successfully unarchived the project. You can now edit this project. -Failed to delete project.: Failed to delete project. +Successfully unarchived the project. You can now edit this project.: '' +Failed to delete project.: '' Successfully delete project!: '' -Failed to update property.: Failed to update property. +Failed to update property.: '' Successfully updated the property value!: '' -Failed to create story.: Failed to create story. +Failed to create story.: '' Successfully created a story!: '' Failed to update story.: '' Successfully updated a story!: '' @@ -381,18 +360,18 @@ Failed to publish story.: '' Successfully published your story!: '' Successfully published your story with search engine indexing!: '' Successfully unpublished your story. Now nobody can access your story.: '' -Failed to create page.: Failed to create page. -Successfullly created a page!: Successfullly created a page! -Failed to delete page.: Failed to delete page. -Page was successfully deleted.: Page was successfully deleted. -Failed to move page.: Failed to move page. -Page was successfully moved.: Page was successfully moved. +Failed to create page.: '' +Successfullly created a page!: '' +Failed to delete page.: '' +Page was successfully deleted.: '' +Failed to move page.: '' +Page was successfully moved.: '' Failed to update page.: '' Successfullly updated a page!: '' -Failed to add widget.: Failed to add widget. -Failed to update widget.: Failed to update widget. -Failed to remove widget.: Failed to remove widget. -Failed to update widget alignment.: Failed to update widget alignment. -Failed to update the widget align system.: Failed to update the widget align system. -Failed to create workspace.: Failed to create workspace. -Successfully created workspace!: Successfully created workspace! +Failed to add widget.: '' +Failed to update widget.: '' +Failed to remove widget.: '' +Failed to update widget alignment.: '' +Failed to update the widget align system.: '' +Failed to create workspace.: '' +Successfully created workspace!: '' diff --git a/web/src/services/i18n/translations/ja.yml b/web/src/services/i18n/translations/ja.yml index 2e7fc4826..73135650c 100644 --- a/web/src/services/i18n/translations/ja.yml +++ b/web/src/services/i18n/translations/ja.yml @@ -261,6 +261,7 @@ New Camera: 新しいカメラ New Camera Button: 新しいカメラボタン Buttons List: ボタン一覧 New Layers Button: 新しいレイヤーボタン +New Link Button: '' Add markdown text here: マークダウンテキストを入力 aria-label-compass: コンパス aria-label-adjust-angle: 角度を調節する