Skip to content
This repository has been archived by the owner on Feb 25, 2024. It is now read-only.

Commit

Permalink
Revert "Revert "Merge pull request #308 from statelyai/matt/updated-v…
Browse files Browse the repository at this point in the history
…iz-with-new-registry-links-and-altered-source-file-queries""

This reverts commit a2cbf77.
  • Loading branch information
mattpocock committed Nov 2, 2021
1 parent a2cbf77 commit 570adb5
Show file tree
Hide file tree
Showing 9 changed files with 65 additions and 46 deletions.
2 changes: 1 addition & 1 deletion .graphqlconfig.yml
Original file line number Diff line number Diff line change
@@ -1 +1 @@
schema: https://api-prod.stately.ai
schema: https://api-dev.stately.ai
2 changes: 1 addition & 1 deletion codegen.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
schema:
- https://api-prod.stately.ai
- https://api-dev.stately.ai
documents:
- 'src/graphql/**/*.graphql'
generates:
Expand Down
30 changes: 19 additions & 11 deletions cypress/integration/saving.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,10 @@ describe('Saving', () => {
const sourceFileToBeCreated = {
id: 'source-file-id',
name: 'My awesome source file',
owner: {
id: 'id',
system: {
owner: {
id: 'id',
},
},
};

Expand All @@ -22,9 +24,11 @@ describe('Saving', () => {
},
createSourceFile: {
id: 'source-file-id',
name: 'Source File',
owner: {
id: 'id',
system: {
name: 'Source File',
owner: {
id: 'id',
},
},
},
});
Expand Down Expand Up @@ -53,16 +57,20 @@ describe('Saving', () => {
getSourceFile: {
id: 'source-file-id',
text: '// New File',
name: 'Source File',
owner: {
id: 'id',
system: {
name: 'Source File',
owner: {
id: 'id',
},
},
},
updateSourceFile: {
id: 'source-file-id',
name: 'Source File',
owner: {
id: 'id',
system: {
name: 'Source File',
owner: {
id: 'id',
},
},
},
});
Expand Down
8 changes: 5 additions & 3 deletions src/App.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -39,11 +39,13 @@ const VizHead = () => {

return (
<AppHead
title={[sourceRegistryData.name, defaultHeadProps.title]
title={[sourceRegistryData.system?.name, defaultHeadProps.title]
.filter(Boolean)
.join(' | ')}
ogTitle={sourceRegistryData.name || defaultHeadProps.ogTitle}
description={sourceRegistryData.name || defaultHeadProps.description}
ogTitle={sourceRegistryData.system?.name || defaultHeadProps.ogTitle}
description={
sourceRegistryData.system?.name || defaultHeadProps.description
}
ogImageUrl={registryLinks.sourceFileOgImage(sourceRegistryData.id)}
/>
);
Expand Down
40 changes: 22 additions & 18 deletions src/CanvasHeader.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,8 @@ export const CanvasHeader: React.FC = () => {

const loggedInUserData = useLoggedInUserData();
const registryData = sourceState.context.sourceRegistryData;
const userOwnsSource = loggedInUserData?.id === registryData?.owner?.id;
const userOwnsSource =
loggedInUserData?.id === registryData?.system?.owner?.id;
return (
<HStack zIndex={1} justifyContent="space-between" height="3rem">
<Link
Expand Down Expand Up @@ -52,7 +53,7 @@ export const CanvasHeader: React.FC = () => {
{registryData && (
<Stack direction="row" spacing="4" alignItems="center" pr="4">
<Text fontWeight="semibold" fontSize="sm" color="gray.100">
{registryData?.name || 'Unnamed Source'}
{registryData?.system?.name || 'Unnamed Source'}
</Text>
<HStack>
<LikeButton />
Expand All @@ -65,28 +66,31 @@ export const CanvasHeader: React.FC = () => {
size="sm"
/>
<MenuList>
{userOwnsSource && sourceState.context.sourceID && (
{userOwnsSource &&
sourceState.context.sourceRegistryData?.system?.id && (
<MenuItem
as="a"
href={registryLinks.editSystem(
sourceState.context.sourceRegistryData?.system?.id,
)}
>
<HStack spacing="3">
<EditIcon />
<Text>Edit</Text>
</HStack>
</MenuItem>
)}
{registryData.system?.owner && (
<MenuItem
as="a"
href={registryLinks.editSourceFile(
sourceState.context.sourceID,
href={registryLinks.viewUserById(
registryData?.system?.owner?.id,
)}
>
<HStack spacing="3">
<EditIcon />
<Text>Edit</Text>
</HStack>
</MenuItem>
)}
{registryData.owner && (
<MenuItem
as="a"
href={registryLinks.viewUserById(registryData?.owner?.id)}
>
<HStack spacing="3">
<Avatar
src={registryData.owner?.avatarUrl || ''}
name={registryData.owner?.displayName || ''}
src={registryData.system?.owner?.avatarUrl || ''}
name={registryData.system?.owner?.displayName || ''}
size="xs"
height="24px"
width="24px"
Expand Down
11 changes: 6 additions & 5 deletions src/EditorPanel.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -140,12 +140,13 @@ const editorPanelMachine = editorPanelModel.createMachine(
src: async (ctx) => {
const monaco = ctx.monacoRef!;
const uri = monaco.Uri.parse(ctx.mainFile);
const getWorker = await monaco.languages.typescript.getTypeScriptWorker();
const getWorker =
await monaco.languages.typescript.getTypeScriptWorker();
const tsWorker = await getWorker(uri);

const usedXStateGistIdentifiers: string[] = await (tsWorker as any).queryXStateGistIdentifiers(
uri.toString(),
);
const usedXStateGistIdentifiers: string[] = await (
tsWorker as any
).queryXStateGistIdentifiers(uri.toString());

if (usedXStateGistIdentifiers.length > 0) {
const fixupImportsText = buildGistFixupImportsText(
Expand Down Expand Up @@ -335,7 +336,7 @@ const getSourceOwnershipStatus = (sourceState: SourceMachineState) => {
if (!sourceState.matches('no_source')) {
if (
sourceState.context.loggedInUserId ===
sourceState.context.sourceRegistryData?.owner?.id
sourceState.context.sourceRegistryData?.system?.owner?.id
) {
sourceStatus = 'user-owns-source';
} else {
Expand Down
11 changes: 7 additions & 4 deletions src/graphql/SourceFileFragment.graphql
Original file line number Diff line number Diff line change
@@ -1,13 +1,16 @@
fragment SourceFile on SourceFile {
id
updatedAt
name
text
youHaveLiked
likesCount
owner {
system {
id
avatarUrl
displayName
name
owner {
id
displayName
avatarUrl
}
}
}
4 changes: 2 additions & 2 deletions src/registryLinks.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
export const registryLinks = {
viewUserById: (id: string) =>
`${process.env.NEXT_PUBLIC_REGISTRY_PUBLIC_URL}/user/${id}`,
editSourceFile: (id: string) =>
`${process.env.NEXT_PUBLIC_REGISTRY_PUBLIC_URL}/file/${id}/edit`,
editSystem: (id: string) =>
`${process.env.NEXT_PUBLIC_REGISTRY_PUBLIC_URL}/systems/${id}/edit`,
sourceFileOgImage: (id: string) =>
`${process.env.NEXT_PUBLIC_REGISTRY_PUBLIC_URL}/machines/${id}.png`,
};
3 changes: 2 additions & 1 deletion src/sourceMachine.ts
Original file line number Diff line number Diff line change
Expand Up @@ -344,7 +344,8 @@ export const makeSourceMachine = (params: {
always: [
{
cond: (ctx) => {
const ownerId = ctx.sourceRegistryData?.owner?.id;
const ownerId =
ctx.sourceRegistryData?.system?.owner?.id;

if (!ownerId || !ctx.loggedInUserId) return false;

Expand Down

0 comments on commit 570adb5

Please sign in to comment.