fix(site): fix metadata sorting

This commit is contained in:
BrunoQuaresma 2024-02-28 14:05:14 +00:00
parent 76273bf369
commit d67dc3a5bd
5 changed files with 14 additions and 3 deletions

View File

@ -1601,6 +1601,7 @@ func convertWorkspaceAgentMetadata(db []database.WorkspaceAgentMetadatum) []code
result := make([]codersdk.WorkspaceAgentMetadata, len(db))
for i, datum := range db {
result[i] = codersdk.WorkspaceAgentMetadata{
Order: datum.DisplayOrder,
Result: codersdk.WorkspaceAgentMetadataResult{
Value: datum.Value,
Error: datum.Error,

View File

@ -134,6 +134,7 @@ type WorkspaceAgentMetadataDescription struct {
type WorkspaceAgentMetadata struct {
Result WorkspaceAgentMetadataResult `json:"result"`
Description WorkspaceAgentMetadataDescription `json:"description"`
Order int32 `json:"order"`
}
type DisplayApp string

View File

@ -1737,6 +1737,7 @@ export interface WorkspaceAgentLogSource {
export interface WorkspaceAgentMetadata {
readonly result: WorkspaceAgentMetadataResult;
readonly description: WorkspaceAgentMetadataDescription;
readonly order: number;
}
// From codersdk/workspaceagents.go

View File

@ -32,6 +32,7 @@ const Example: Story = {
args: {
metadata: [
{
order: 6,
result: {
...resultDefaults,
value: "110%",
@ -43,6 +44,7 @@ const Example: Story = {
},
},
{
order: 5,
result: {
...resultDefaults,
value: "50GB",
@ -54,6 +56,7 @@ const Example: Story = {
},
},
{
order: 4,
result: {
...resultDefaults,
value: "stale value",
@ -67,6 +70,7 @@ const Example: Story = {
},
},
{
order: 3,
result: {
...resultDefaults,
value: "oops",
@ -79,6 +83,7 @@ const Example: Story = {
},
},
{
order: 2,
result: {
...resultDefaults,
value: "",
@ -92,6 +97,7 @@ const Example: Story = {
},
},
{
order: 1,
result: {
...resultDefaults,
value: "r".repeat(1000),

View File

@ -34,9 +34,11 @@ export const AgentMetadataView: FC<AgentMetadataViewProps> = ({ metadata }) => {
}
return (
<section css={styles.root}>
{metadata.map((m) => (
<MetadataItem key={m.description.key} item={m} />
))}
{[...metadata]
.sort((a, b) => a.order - b.order)
.map((m) => (
<MetadataItem key={m.description.key} item={m} />
))}
</section>
);
};