@powerhousedao/builder-profile 0.0.8 → 0.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/dist/document-models/builder-profile/actions.d.ts +1 -0
  2. package/dist/document-models/builder-profile/actions.d.ts.map +1 -1
  3. package/dist/document-models/builder-profile/gen/builders/actions.d.ts +6 -2
  4. package/dist/document-models/builder-profile/gen/builders/actions.d.ts.map +1 -1
  5. package/dist/document-models/builder-profile/gen/builders/creators.d.ts +3 -2
  6. package/dist/document-models/builder-profile/gen/builders/creators.d.ts.map +1 -1
  7. package/dist/document-models/builder-profile/gen/builders/creators.js +2 -1
  8. package/dist/document-models/builder-profile/gen/builders/operations.d.ts +2 -1
  9. package/dist/document-models/builder-profile/gen/builders/operations.d.ts.map +1 -1
  10. package/dist/document-models/builder-profile/gen/document-model.d.ts.map +1 -1
  11. package/dist/document-models/builder-profile/gen/document-model.js +14 -3
  12. package/dist/document-models/builder-profile/gen/document-schema.d.ts +57 -19
  13. package/dist/document-models/builder-profile/gen/document-schema.d.ts.map +1 -1
  14. package/dist/document-models/builder-profile/gen/ph-factories.d.ts.map +1 -1
  15. package/dist/document-models/builder-profile/gen/ph-factories.js +3 -1
  16. package/dist/document-models/builder-profile/gen/reducer.d.ts.map +1 -1
  17. package/dist/document-models/builder-profile/gen/reducer.js +5 -1
  18. package/dist/document-models/builder-profile/gen/schema/types.d.ts +7 -1
  19. package/dist/document-models/builder-profile/gen/schema/types.d.ts.map +1 -1
  20. package/dist/document-models/builder-profile/gen/schema/zod.d.ts +2 -1
  21. package/dist/document-models/builder-profile/gen/schema/zod.d.ts.map +1 -1
  22. package/dist/document-models/builder-profile/gen/schema/zod.js +9 -1
  23. package/dist/document-models/builder-profile/gen/utils.d.ts.map +1 -1
  24. package/dist/document-models/builder-profile/gen/utils.js +3 -1
  25. package/dist/document-models/builder-profile/src/reducers/builders.d.ts.map +1 -1
  26. package/dist/document-models/builder-profile/src/reducers/builders.js +14 -5
  27. package/dist/editors/builder-profile/components/MarkdownPreview.d.ts +8 -0
  28. package/dist/editors/builder-profile/components/MarkdownPreview.d.ts.map +1 -0
  29. package/dist/editors/builder-profile/components/MarkdownPreview.js +80 -0
  30. package/dist/editors/builder-profile/components/ProfilePreview.d.ts.map +1 -1
  31. package/dist/editors/builder-profile/components/ProfilePreview.js +2 -1
  32. package/dist/editors/builder-profile/editor.d.ts.map +1 -1
  33. package/dist/editors/builder-profile/editor.js +80 -5
  34. package/dist/style.css +835 -0
  35. package/dist/subgraphs/builder-profile/resolvers.d.ts.map +1 -1
  36. package/dist/subgraphs/builder-profile/resolvers.js +12 -0
  37. package/dist/subgraphs/builder-profile/schema.d.ts.map +1 -1
  38. package/dist/subgraphs/builder-profile/schema.js +11 -2
  39. package/package.json +16 -15
@@ -154,16 +154,18 @@ export type BuilderLink = {
154
154
  url: Scalars["URL"]["output"];
155
155
  };
156
156
  export type BuilderProfileState = {
157
+ about: Maybe<Scalars["String"]["output"]>;
157
158
  code: Maybe<Scalars["String"]["output"]>;
158
159
  contributors: Array<Scalars["PHID"]["output"]>;
159
160
  description: Maybe<Scalars["String"]["output"]>;
160
161
  icon: Maybe<Scalars["URL"]["output"]>;
161
162
  id: Maybe<Scalars["PHID"]["output"]>;
163
+ isOperator: Scalars["Boolean"]["output"];
162
164
  lastModified: Maybe<Scalars["DateTime"]["output"]>;
163
165
  links: Array<BuilderLink>;
164
166
  name: Maybe<Scalars["String"]["output"]>;
165
167
  scopes: Array<BuilderScope>;
166
- skils: Array<BuilderSkill>;
168
+ skills: Array<BuilderSkill>;
167
169
  slug: Maybe<Scalars["String"]["output"]>;
168
170
  status: Maybe<BuilderStatus>;
169
171
  type: TeamType;
@@ -191,7 +193,11 @@ export type RemoveScopeInput = {
191
193
  export type RemoveSkillInput = {
192
194
  skill?: InputMaybe<BuilderSkillInput>;
193
195
  };
196
+ export type SetOperatorInput = {
197
+ isOperator: Scalars["Boolean"]["input"];
198
+ };
194
199
  export type UpdateProfileInput = {
200
+ about?: InputMaybe<Scalars["String"]["input"]>;
195
201
  code?: InputMaybe<Scalars["String"]["input"]>;
196
202
  description?: InputMaybe<Scalars["String"]["input"]>;
197
203
  icon?: InputMaybe<Scalars["URL"]["input"]>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../document-models/builder-profile/gen/schema/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../document-models/builder-profile/gen/schema/types.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { z } from "zod";
2
- import type { AddContributorInput, AddLinkInput, AddScopeInput, AddSkillInput, BuilderLink, BuilderProfileState, EditLinkInput, RemoveContributorInput, RemoveLinkInput, RemoveScopeInput, RemoveSkillInput, UpdateProfileInput } from "./types.js";
2
+ import type { AddContributorInput, AddLinkInput, AddScopeInput, AddSkillInput, BuilderLink, BuilderProfileState, EditLinkInput, RemoveContributorInput, RemoveLinkInput, RemoveScopeInput, RemoveSkillInput, SetOperatorInput, UpdateProfileInput } from "./types.js";
3
3
  type Properties<T> = Required<{
4
4
  [K in keyof T]: z.ZodType<T[K], any, T[K]>;
5
5
  }>;
@@ -25,6 +25,7 @@ export declare function RemoveContributorInputSchema(): z.ZodObject<Properties<R
25
25
  export declare function RemoveLinkInputSchema(): z.ZodObject<Properties<RemoveLinkInput>>;
26
26
  export declare function RemoveScopeInputSchema(): z.ZodObject<Properties<RemoveScopeInput>>;
27
27
  export declare function RemoveSkillInputSchema(): z.ZodObject<Properties<RemoveSkillInput>>;
28
+ export declare function SetOperatorInputSchema(): z.ZodObject<Properties<SetOperatorInput>>;
28
29
  export declare function UpdateProfileInputSchema(): z.ZodObject<Properties<UpdateProfileInput>>;
29
30
  export {};
30
31
  //# sourceMappingURL=zod.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"zod.d.ts","sourceRoot":"","sources":["../../../../../document-models/builder-profile/gen/schema/zod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EACV,mBAAmB,EACnB,YAAY,EACZ,aAAa,EACb,aAAa,EACb,WAAW,EACX,mBAAmB,EAOnB,aAAa,EACb,sBAAsB,EACtB,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAGnB,MAAM,YAAY,CAAC;AAEpB,KAAK,UAAU,CAAC,CAAC,IAAI,QAAQ,CAAC;KAC3B,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;CAC3C,CAAC,CAAC;AAEH,KAAK,iBAAiB,GAAG,EAAE,CAAC;AAE5B,eAAO,MAAM,mBAAmB,GAAI,GAAG,GAAG,KAAG,CAAC,IAAI,iBACnB,CAAC;AAEhC,eAAO,MAAM,uBAAuB,gDAEI,CAAC;AAEzC,eAAO,MAAM,kBAAkB,4GAQ7B,CAAC;AAEH,eAAO,MAAM,uBAAuB,4GAQlC,CAAC;AAEH,eAAO,MAAM,kBAAkB,yOAW7B,CAAC;AAEH,eAAO,MAAM,uBAAuB,yOAWlC,CAAC;AAEH,eAAO,MAAM,mBAAmB,uEAM9B,CAAC;AAEH,eAAO,MAAM,wBAAwB,uEAMnC,CAAC;AAEH,eAAO,MAAM,cAAc,mCAAiC,CAAC;AAE7D,eAAO,MAAM,mBAAmB,mCAAiC,CAAC;AAElE,wBAAgB,yBAAyB,IAAI,CAAC,CAAC,SAAS,CACtD,UAAU,CAAC,mBAAmB,CAAC,CAChC,CAIA;AAED,wBAAgB,kBAAkB,IAAI,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAM1E;AAED,wBAAgB,mBAAmB,IAAI,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAI5E;AAED,wBAAgB,mBAAmB,IAAI,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAI5E;AAED,wBAAgB,iBAAiB,IAAI,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAOxE;AAED,wBAAgB,yBAAyB,IAAI,CAAC,CAAC,SAAS,CACtD,UAAU,CAAC,mBAAmB,CAAC,CAChC,CAiBA;AAED,wBAAgB,mBAAmB,IAAI,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAM5E;AAED,wBAAgB,4BAA4B,IAAI,CAAC,CAAC,SAAS,CACzD,UAAU,CAAC,sBAAsB,CAAC,CACnC,CAIA;AAED,wBAAgB,qBAAqB,IAAI,CAAC,CAAC,SAAS,CAClD,UAAU,CAAC,eAAe,CAAC,CAC5B,CAIA;AAED,wBAAgB,sBAAsB,IAAI,CAAC,CAAC,SAAS,CACnD,UAAU,CAAC,gBAAgB,CAAC,CAC7B,CAIA;AAED,wBAAgB,sBAAsB,IAAI,CAAC,CAAC,SAAS,CACnD,UAAU,CAAC,gBAAgB,CAAC,CAC7B,CAIA;AAED,wBAAgB,wBAAwB,IAAI,CAAC,CAAC,SAAS,CACrD,UAAU,CAAC,kBAAkB,CAAC,CAC/B,CAWA"}
1
+ {"version":3,"file":"zod.d.ts","sourceRoot":"","sources":["../../../../../document-models/builder-profile/gen/schema/zod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EACV,mBAAmB,EACnB,YAAY,EACZ,aAAa,EACb,aAAa,EACb,WAAW,EACX,mBAAmB,EAOnB,aAAa,EACb,sBAAsB,EACtB,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAGnB,MAAM,YAAY,CAAC;AAEpB,KAAK,UAAU,CAAC,CAAC,IAAI,QAAQ,CAAC;KAC3B,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;CAC3C,CAAC,CAAC;AAEH,KAAK,iBAAiB,GAAG,EAAE,CAAC;AAE5B,eAAO,MAAM,mBAAmB,GAAI,GAAG,GAAG,KAAG,CAAC,IAAI,iBACnB,CAAC;AAEhC,eAAO,MAAM,uBAAuB,gDAEI,CAAC;AAEzC,eAAO,MAAM,kBAAkB,4GAQ7B,CAAC;AAEH,eAAO,MAAM,uBAAuB,4GAQlC,CAAC;AAEH,eAAO,MAAM,kBAAkB,yOAW7B,CAAC;AAEH,eAAO,MAAM,uBAAuB,yOAWlC,CAAC;AAEH,eAAO,MAAM,mBAAmB,uEAM9B,CAAC;AAEH,eAAO,MAAM,wBAAwB,uEAMnC,CAAC;AAEH,eAAO,MAAM,cAAc,mCAAiC,CAAC;AAE7D,eAAO,MAAM,mBAAmB,mCAAiC,CAAC;AAElE,wBAAgB,yBAAyB,IAAI,CAAC,CAAC,SAAS,CACtD,UAAU,CAAC,mBAAmB,CAAC,CAChC,CAIA;AAED,wBAAgB,kBAAkB,IAAI,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAM1E;AAED,wBAAgB,mBAAmB,IAAI,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAI5E;AAED,wBAAgB,mBAAmB,IAAI,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAI5E;AAED,wBAAgB,iBAAiB,IAAI,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAOxE;AAED,wBAAgB,yBAAyB,IAAI,CAAC,CAAC,SAAS,CACtD,UAAU,CAAC,mBAAmB,CAAC,CAChC,CAmBA;AAED,wBAAgB,mBAAmB,IAAI,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAM5E;AAED,wBAAgB,4BAA4B,IAAI,CAAC,CAAC,SAAS,CACzD,UAAU,CAAC,sBAAsB,CAAC,CACnC,CAIA;AAED,wBAAgB,qBAAqB,IAAI,CAAC,CAAC,SAAS,CAClD,UAAU,CAAC,eAAe,CAAC,CAC5B,CAIA;AAED,wBAAgB,sBAAsB,IAAI,CAAC,CAAC,SAAS,CACnD,UAAU,CAAC,gBAAgB,CAAC,CAC7B,CAIA;AAED,wBAAgB,sBAAsB,IAAI,CAAC,CAAC,SAAS,CACnD,UAAU,CAAC,gBAAgB,CAAC,CAC7B,CAIA;AAED,wBAAgB,sBAAsB,IAAI,CAAC,CAAC,SAAS,CACnD,UAAU,CAAC,gBAAgB,CAAC,CAC7B,CAIA;AAED,wBAAgB,wBAAwB,IAAI,CAAC,CAAC,SAAS,CACrD,UAAU,CAAC,kBAAkB,CAAC,CAC/B,CAYA"}
@@ -94,16 +94,18 @@ export function BuilderLinkSchema() {
94
94
  export function BuilderProfileStateSchema() {
95
95
  return z.object({
96
96
  __typename: z.literal("BuilderProfileState").optional(),
97
+ about: z.string().nullable(),
97
98
  code: z.string().nullable(),
98
99
  contributors: z.array(z.string()),
99
100
  description: z.string().nullable(),
100
101
  icon: z.string().url().nullable(),
101
102
  id: z.string().nullable(),
103
+ isOperator: z.boolean(),
102
104
  lastModified: z.string().datetime().nullable(),
103
105
  links: z.array(BuilderLinkSchema()),
104
106
  name: z.string().nullable(),
105
107
  scopes: z.array(BuilderScopeSchema),
106
- skils: z.array(BuilderSkillSchema),
108
+ skills: z.array(BuilderSkillSchema),
107
109
  slug: z.string().nullable(),
108
110
  status: BuilderStatusSchema.nullable(),
109
111
  type: TeamTypeSchema,
@@ -136,8 +138,14 @@ export function RemoveSkillInputSchema() {
136
138
  skill: z.lazy(() => BuilderSkillInputSchema.nullish()),
137
139
  });
138
140
  }
141
+ export function SetOperatorInputSchema() {
142
+ return z.object({
143
+ isOperator: z.boolean(),
144
+ });
145
+ }
139
146
  export function UpdateProfileInputSchema() {
140
147
  return z.object({
148
+ about: z.string().nullish(),
141
149
  code: z.string().nullish(),
142
150
  description: z.string().nullish(),
143
151
  icon: z.string().url().nullish(),
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../document-models/builder-profile/gen/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAQzD,OAAO,KAAK,EACV,yBAAyB,EACzB,wBAAwB,EACzB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAUxD,eAAO,MAAM,kBAAkB,EAAE,yBAchC,CAAC;AACF,eAAO,MAAM,iBAAiB,EAAE,wBAA6B,CAAC;AAE9D,eAAO,MAAM,KAAK,EAAE,kBAAkB,CAAC,qBAAqB,CAqC3D,CAAC;AAEF,eAAO,MAAM,cAAc,gEAAuB,CAAC;AACnD,eAAO,MAAM,WAAW,6DAAoB,CAAC;AAC7C,eAAO,MAAM,gBAAgB,2CAAyB,CAAC;AACvD,eAAO,MAAM,aAAa,+DAAsB,CAAC;AACjD,eAAO,MAAM,aAAa,+DAAsB,CAAC;AACjD,eAAO,MAAM,mBAAmB,qEAA4B,CAAC;AAC7D,eAAO,MAAM,gBAAgB,kEAAyB,CAAC;AACvD,eAAO,MAAM,sBAAsB,wEAA+B,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../document-models/builder-profile/gen/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAQzD,OAAO,KAAK,EACV,yBAAyB,EACzB,wBAAwB,EACzB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAUxD,eAAO,MAAM,kBAAkB,EAAE,yBAgBhC,CAAC;AACF,eAAO,MAAM,iBAAiB,EAAE,wBAA6B,CAAC;AAE9D,eAAO,MAAM,KAAK,EAAE,kBAAkB,CAAC,qBAAqB,CAqC3D,CAAC;AAEF,eAAO,MAAM,cAAc,gEAAuB,CAAC;AACnD,eAAO,MAAM,WAAW,6DAAoB,CAAC;AAC7C,eAAO,MAAM,gBAAgB,2CAAyB,CAAC;AACvD,eAAO,MAAM,aAAa,+DAAsB,CAAC;AACjD,eAAO,MAAM,aAAa,+DAAsB,CAAC;AACjD,eAAO,MAAM,mBAAmB,qEAA4B,CAAC;AAC7D,eAAO,MAAM,gBAAgB,kEAAyB,CAAC;AACvD,eAAO,MAAM,sBAAsB,wEAA+B,CAAC"}
@@ -9,11 +9,13 @@ export const initialGlobalState = {
9
9
  name: null,
10
10
  icon: null,
11
11
  description: null,
12
+ about: null,
12
13
  lastModified: null,
14
+ isOperator: false,
13
15
  type: "INDIVIDUAL",
14
16
  contributors: [],
15
17
  status: null,
16
- skils: [],
18
+ skills: [],
17
19
  scopes: [],
18
20
  links: [],
19
21
  };
@@ -1 +1 @@
1
- {"version":3,"file":"builders.d.ts","sourceRoot":"","sources":["../../../../../document-models/builder-profile/src/reducers/builders.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,gEAAgE,CAAC;AAEvH,eAAO,MAAM,gCAAgC,EAAE,gCAyG5C,CAAC"}
1
+ {"version":3,"file":"builders.d.ts","sourceRoot":"","sources":["../../../../../document-models/builder-profile/src/reducers/builders.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,gEAAgE,CAAC;AAEvH,eAAO,MAAM,gCAAgC,EAAE,gCAmH5C,CAAC"}
@@ -10,8 +10,14 @@ export const builderProfileBuildersOperations = {
10
10
  state.name = action.input.name;
11
11
  if (action.input.icon)
12
12
  state.icon = action.input.icon;
13
- if (action.input.description)
13
+ if (action.input.description) {
14
+ if (action.input.description.length > 350) {
15
+ throw new Error(`Description exceeds maximum length of 350 characters (${action.input.description.length} provided)`);
16
+ }
14
17
  state.description = action.input.description;
18
+ }
19
+ if (action.input.about)
20
+ state.about = action.input.about;
15
21
  if (action.input.status)
16
22
  state.status = action.input.status;
17
23
  if (action.input.type)
@@ -21,8 +27,8 @@ export const builderProfileBuildersOperations = {
21
27
  },
22
28
  addSkillOperation(state, action) {
23
29
  if (action.input.skill) {
24
- if (!state.skils.includes(action.input.skill)) {
25
- state.skils.push(action.input.skill);
30
+ if (!state.skills.includes(action.input.skill)) {
31
+ state.skills.push(action.input.skill);
26
32
  }
27
33
  }
28
34
  // Convert UTC timestamp (ms) to ISO string for storage
@@ -30,9 +36,9 @@ export const builderProfileBuildersOperations = {
30
36
  },
31
37
  removeSkillOperation(state, action) {
32
38
  if (action.input.skill) {
33
- const index = state.skils.indexOf(action.input.skill);
39
+ const index = state.skills.indexOf(action.input.skill);
34
40
  if (index !== -1) {
35
- state.skils.splice(index, 1);
41
+ state.skills.splice(index, 1);
36
42
  }
37
43
  }
38
44
  // Convert UTC timestamp (ms) to ISO string for storage
@@ -105,4 +111,7 @@ export const builderProfileBuildersOperations = {
105
111
  // Convert UTC timestamp (ms) to ISO string for storage
106
112
  state.lastModified = new Date(action.timestampUtcMs).toISOString();
107
113
  },
114
+ setOperatorOperation(state, action) {
115
+ state.isOperator = action.input.isOperator;
116
+ },
108
117
  };
@@ -0,0 +1,8 @@
1
+ interface MarkdownPreviewProps {
2
+ content: string;
3
+ maxLength?: number;
4
+ className?: string;
5
+ }
6
+ export declare function MarkdownPreview({ content, maxLength, className, }: MarkdownPreviewProps): import("react/jsx-runtime").JSX.Element;
7
+ export {};
8
+ //# sourceMappingURL=MarkdownPreview.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MarkdownPreview.d.ts","sourceRoot":"","sources":["../../../../editors/builder-profile/components/MarkdownPreview.tsx"],"names":[],"mappings":"AAGA,UAAU,oBAAoB;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,eAAe,CAAC,EAC9B,OAAO,EACP,SAAe,EACf,SAAc,GACf,EAAE,oBAAoB,2CAoHtB"}
@@ -0,0 +1,80 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useEffect, useState } from "react";
3
+ import { ChevronDown, ChevronUp } from "lucide-react";
4
+ export function MarkdownPreview({ content, maxLength = 300, className = "", }) {
5
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
6
+ const [MarkdownRenderer, setMarkdownRenderer] = useState(null);
7
+ const [isExpanded, setIsExpanded] = useState(false);
8
+ const shouldTruncate = content.length > maxLength;
9
+ const displayContent = shouldTruncate && !isExpanded
10
+ ? content.slice(0, maxLength) + "..."
11
+ : content;
12
+ useEffect(() => {
13
+ import("@uiw/react-markdown-preview")
14
+ .then((module) => {
15
+ setMarkdownRenderer(() => module.default);
16
+ })
17
+ .catch(() => {
18
+ // Silently fail - will use fallback
19
+ });
20
+ }, []);
21
+ const ExpandButton = () => shouldTruncate ? (_jsx("button", { type: "button", onClick: () => setIsExpanded(!isExpanded), className: "mt-2 inline-flex items-center gap-1 text-sm font-medium text-indigo-600 hover:text-indigo-700 transition-colors", children: isExpanded ? (_jsxs(_Fragment, { children: ["Show less ", _jsx(ChevronUp, { size: 16 })] })) : (_jsxs(_Fragment, { children: ["Read more ", _jsx(ChevronDown, { size: 16 })] })) })) : null;
22
+ // Fallback to plain text if markdown renderer not loaded
23
+ if (!MarkdownRenderer) {
24
+ return (_jsxs("div", { className: className, children: [_jsx("p", { className: "text-slate-600 text-sm leading-relaxed whitespace-pre-wrap", children: displayContent }), _jsx(ExpandButton, {})] }));
25
+ }
26
+ return (_jsxs("div", { className: className, children: [_jsx("style", { children: `
27
+ .markdown-preview-content {
28
+ font-size: 0.875rem;
29
+ line-height: 1.625;
30
+ color: #475569;
31
+ }
32
+ .markdown-preview-content p {
33
+ margin-bottom: 0.75em;
34
+ }
35
+ .markdown-preview-content p:last-child {
36
+ margin-bottom: 0;
37
+ }
38
+ .markdown-preview-content h1,
39
+ .markdown-preview-content h2,
40
+ .markdown-preview-content h3 {
41
+ font-weight: 600;
42
+ color: #1e293b;
43
+ margin-top: 1em;
44
+ margin-bottom: 0.5em;
45
+ }
46
+ .markdown-preview-content h1 { font-size: 1.25rem; }
47
+ .markdown-preview-content h2 { font-size: 1.125rem; }
48
+ .markdown-preview-content h3 { font-size: 1rem; }
49
+ .markdown-preview-content ul {
50
+ list-style-type: disc;
51
+ padding-left: 1.5em;
52
+ margin-bottom: 0.75em;
53
+ }
54
+ .markdown-preview-content ol {
55
+ list-style-type: decimal;
56
+ padding-left: 1.5em;
57
+ margin-bottom: 0.75em;
58
+ }
59
+ .markdown-preview-content a {
60
+ color: #4f46e5;
61
+ text-decoration: underline;
62
+ }
63
+ .markdown-preview-content code {
64
+ background: #f1f5f9;
65
+ padding: 0.125em 0.375em;
66
+ border-radius: 0.25em;
67
+ font-size: 0.875em;
68
+ }
69
+ .markdown-preview-content blockquote {
70
+ border-left: 3px solid #e2e8f0;
71
+ padding-left: 1em;
72
+ color: #64748b;
73
+ font-style: italic;
74
+ }
75
+ .markdown-preview-content strong {
76
+ font-weight: 600;
77
+ color: #334155;
78
+ }
79
+ ` }), _jsx("div", { className: "markdown-preview-content", "data-color-mode": "light", children: _jsx(MarkdownRenderer, { source: displayContent }) }), _jsx(ExpandButton, {})] }));
80
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"ProfilePreview.d.ts","sourceRoot":"","sources":["../../../../editors/builder-profile/components/ProfilePreview.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,mBAAmB,EAGpB,MAAM,uDAAuD,CAAC;AAkD/D,UAAU,mBAAmB;IAC3B,KAAK,EAAE,mBAAmB,CAAC;CAC5B;AAED,wBAAgB,cAAc,CAAC,EAAE,KAAK,EAAE,EAAE,mBAAmB,kDAsI5D"}
1
+ {"version":3,"file":"ProfilePreview.d.ts","sourceRoot":"","sources":["../../../../editors/builder-profile/components/ProfilePreview.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,mBAAmB,EAGpB,MAAM,uDAAuD,CAAC;AAmD/D,UAAU,mBAAmB;IAC3B,KAAK,EAAE,mBAAmB,CAAC;CAC5B;AAED,wBAAgB,cAAc,CAAC,EAAE,KAAK,EAAE,EAAE,mBAAmB,kDA6I5D"}
@@ -1,5 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Users, Link2 } from "lucide-react";
3
+ import { MarkdownPreview } from "./MarkdownPreview.js";
3
4
  const SKILL_LABELS = {
4
5
  FRONTEND_DEVELOPMENT: "Frontend",
5
6
  BACKEND_DEVELOPMENT: "Backend",
@@ -51,5 +52,5 @@ export function ProfilePreview({ state }) {
51
52
  const statusStyle = state.status
52
53
  ? STATUS_STYLES[state.status]
53
54
  : STATUS_STYLES.INACTIVE;
54
- return (_jsxs("div", { className: "bg-white border border-slate-200/60 rounded-2xl shadow-sm overflow-hidden", children: [_jsx("div", { className: "h-24 bg-gradient-to-br from-indigo-500 via-purple-500 to-pink-500 relative", children: _jsx("div", { className: "absolute inset-0 bg-[url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNjAiIGhlaWdodD0iNjAiIHZpZXdCb3g9IjAgMCA2MCA2MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxnIGZpbGw9IiNmZmYiIGZpbGwtb3BhY2l0eT0iMC4xIj48cGF0aCBkPSJNMzYgMzBoLTZWMGg2djMwem0tNiAwSDI0VjBoNnYzMHoiLz48L2c+PC9nPjwvc3ZnPg==')] opacity-30" }) }), _jsxs("div", { className: "px-6 pb-6", children: [_jsxs("div", { className: "-mt-12 mb-4 flex items-end justify-between", children: [_jsxs("div", { className: "relative", children: [state.icon ? (_jsx("img", { src: state.icon, alt: "Profile", className: "w-24 h-24 rounded-2xl object-cover border-4 border-white shadow-lg" })) : (_jsx("div", { className: "w-24 h-24 rounded-2xl bg-gradient-to-br from-slate-700 to-slate-900 border-4 border-white shadow-lg flex items-center justify-center", children: _jsx("span", { className: "text-3xl font-bold text-white", children: state.name?.charAt(0).toUpperCase() || "?" }) })), state.type === "TEAM" && (_jsx("div", { className: "absolute -bottom-1 -right-1 w-7 h-7 bg-purple-500 rounded-lg border-2 border-white flex items-center justify-center", children: _jsx(Users, { size: 14, className: "text-white" }) }))] }), state.status && (_jsxs("div", { className: `flex items-center gap-1.5 px-3 py-1.5 rounded-full ${statusStyle.bg}`, children: [_jsx("span", { className: `w-2 h-2 rounded-full ${statusStyle.dot}` }), _jsx("span", { className: `text-xs font-medium ${statusStyle.text}`, children: state.status.replace("_", " ") })] }))] }), _jsxs("div", { className: "mb-4", children: [_jsx("h4", { className: "text-xl font-semibold text-slate-900 tracking-tight", children: state.name || "Unnamed Builder" }), state.slug && (_jsxs("p", { className: "text-sm text-slate-500 font-medium", children: ["@", state.slug] }))] }), state.description && (_jsx("p", { className: "text-slate-600 text-sm leading-relaxed mb-5", children: state.description })), state.skils && state.skils.length > 0 && (_jsxs("div", { className: "mb-4", children: [_jsx("p", { className: "text-xs font-semibold text-slate-400 uppercase tracking-wider mb-2", children: "Skills" }), _jsx("div", { className: "flex flex-wrap gap-1.5", children: state.skils.map((skill) => (_jsx("span", { className: "px-2.5 py-1 rounded-lg text-xs font-medium bg-indigo-50 text-indigo-700 border border-indigo-100", children: SKILL_LABELS[skill] || skill }, skill))) })] })), state.scopes && state.scopes.length > 0 && (_jsxs("div", { className: "mb-4", children: [_jsx("p", { className: "text-xs font-semibold text-slate-400 uppercase tracking-wider mb-2", children: "Scopes" }), _jsx("div", { className: "flex flex-wrap gap-1.5", children: state.scopes.map((scope) => (_jsx("span", { className: "px-2.5 py-1 rounded-lg text-xs font-medium bg-emerald-50 text-emerald-700 border border-emerald-100", children: SCOPE_LABELS[scope] || scope }, scope))) })] })), state.links && state.links.length > 0 && (_jsx("div", { className: "pt-4 border-t border-slate-100", children: _jsx("div", { className: "flex flex-wrap gap-3", children: state.links.map((link) => (_jsxs("a", { href: link.url, target: "_blank", rel: "noopener noreferrer", className: "inline-flex items-center gap-1.5 text-sm text-slate-600 hover:text-indigo-600 transition-colors group", children: [_jsx(Link2, { size: 14, className: "text-slate-400 group-hover:text-indigo-500 transition-colors" }), _jsx("span", { className: "group-hover:underline underline-offset-2", children: link.label || new URL(link.url).hostname })] }, link.id))) }) }))] })] }));
55
+ return (_jsxs("div", { className: "bg-white border border-slate-200/60 rounded-2xl shadow-sm overflow-hidden", children: [_jsx("div", { className: "h-24 bg-gradient-to-br from-indigo-500 via-purple-500 to-pink-500 relative", children: _jsx("div", { className: "absolute inset-0 bg-[url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNjAiIGhlaWdodD0iNjAiIHZpZXdCb3g9IjAgMCA2MCA2MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxnIGZpbGw9IiNmZmYiIGZpbGwtb3BhY2l0eT0iMC4xIj48cGF0aCBkPSJNMzYgMzBoLTZWMGg2djMwem0tNiAwSDI0VjBoNnYzMHoiLz48L2c+PC9nPjwvc3ZnPg==')] opacity-30" }) }), _jsxs("div", { className: "px-6 pb-6", children: [_jsxs("div", { className: "-mt-12 mb-4 flex items-end justify-between", children: [_jsxs("div", { className: "relative", children: [state.icon ? (_jsx("img", { src: state.icon, alt: "Profile", className: "w-24 h-24 rounded-2xl object-cover border-4 border-white shadow-lg" })) : (_jsx("div", { className: "w-24 h-24 rounded-2xl bg-gradient-to-br from-slate-700 to-slate-900 border-4 border-white shadow-lg flex items-center justify-center", children: _jsx("span", { className: "text-3xl font-bold text-white", children: state.name?.charAt(0).toUpperCase() || "?" }) })), state.type === "TEAM" && (_jsx("div", { className: "absolute -bottom-1 -right-1 w-7 h-7 bg-purple-500 rounded-lg border-2 border-white flex items-center justify-center", children: _jsx(Users, { size: 14, className: "text-white" }) }))] }), state.status && (_jsxs("div", { className: `flex items-center gap-1.5 px-3 py-1.5 rounded-full ${statusStyle.bg}`, children: [_jsx("span", { className: `w-2 h-2 rounded-full ${statusStyle.dot}` }), _jsx("span", { className: `text-xs font-medium ${statusStyle.text}`, children: state.status.replace("_", " ") })] }))] }), _jsxs("div", { className: "mb-4", children: [_jsx("h4", { className: "text-xl font-semibold text-slate-900 tracking-tight", children: state.name || "Unnamed Builder" }), state.slug && (_jsxs("p", { className: "text-sm text-slate-500 font-medium", children: ["@", state.slug] }))] }), state.description && (_jsx("p", { className: "text-sm text-slate-600 mb-4 leading-relaxed", children: state.description })), state.about && (_jsx("div", { className: "mb-5", children: _jsx(MarkdownPreview, { content: state.about, maxLength: 300 }) })), state.skills && state.skills.length > 0 && (_jsxs("div", { className: "mb-4", children: [_jsx("p", { className: "text-xs font-semibold text-slate-400 uppercase tracking-wider mb-2", children: "Skills" }), _jsx("div", { className: "flex flex-wrap gap-1.5", children: state.skills.map((skill) => (_jsx("span", { className: "px-2.5 py-1 rounded-lg text-xs font-medium bg-indigo-50 text-indigo-700 border border-indigo-100", children: SKILL_LABELS[skill] || skill }, skill))) })] })), state.scopes && state.scopes.length > 0 && (_jsxs("div", { className: "mb-4", children: [_jsx("p", { className: "text-xs font-semibold text-slate-400 uppercase tracking-wider mb-2", children: "Scopes" }), _jsx("div", { className: "flex flex-wrap gap-1.5", children: state.scopes.map((scope) => (_jsx("span", { className: "px-2.5 py-1 rounded-lg text-xs font-medium bg-emerald-50 text-emerald-700 border border-emerald-100", children: SCOPE_LABELS[scope] || scope }, scope))) })] })), state.links && state.links.length > 0 && (_jsx("div", { className: "pt-4 border-t border-slate-100", children: _jsx("div", { className: "flex flex-wrap gap-3", children: state.links.map((link) => (_jsxs("a", { href: link.url, target: "_blank", rel: "noopener noreferrer", className: "inline-flex items-center gap-1.5 text-sm text-slate-600 hover:text-indigo-600 transition-colors group", children: [_jsx(Link2, { size: 14, className: "text-slate-400 group-hover:text-indigo-500 transition-colors" }), _jsx("span", { className: "group-hover:underline underline-offset-2", children: link.label || new URL(link.url).hostname })] }, link.id))) }) }))] })] }));
55
56
  }
@@ -1 +1 @@
1
- {"version":3,"file":"editor.d.ts","sourceRoot":"","sources":["../../../editors/builder-profile/editor.tsx"],"names":[],"mappings":"AAwCA,MAAM,CAAC,OAAO,UAAU,MAAM,4CAmgB7B"}
1
+ {"version":3,"file":"editor.d.ts","sourceRoot":"","sources":["../../../editors/builder-profile/editor.tsx"],"names":[],"mappings":"AA0CA,MAAM,CAAC,OAAO,UAAU,MAAM,4CAupB7B"}
@@ -3,7 +3,7 @@ import { TextInput, Textarea } from "@powerhousedao/document-engineering";
3
3
  import { User, Users, Settings, FileText, Copy, Info } from "lucide-react";
4
4
  import { toast, ToastContainer, DocumentToolbar, } from "@powerhousedao/design-system/connect";
5
5
  import { actions } from "../../document-models/builder-profile/index.js";
6
- import { useCallback, useEffect, useRef } from "react";
6
+ import { useCallback, useEffect, useRef, useState } from "react";
7
7
  import { useSelectedBuilderProfileDocument } from "../../document-models/builder-profile/hooks.js";
8
8
  import { setSelectedNode, useParentFolderForSelectedNode, } from "@powerhousedao/reactor-browser";
9
9
  import { SkillsSection } from "./components/SkillsSection.js";
@@ -20,6 +20,7 @@ const STATUS_OPTIONS = [
20
20
  { value: "COMPLETED", label: "Completed", color: "bg-sky-500" },
21
21
  { value: "ARCHIVED", label: "Archived", color: "bg-slate-300" },
22
22
  ];
23
+ const DESCRIPTION_MAX_LENGTH = 350;
23
24
  export default function Editor() {
24
25
  const [doc, dispatch] = useSelectedBuilderProfileDocument();
25
26
  const state = doc?.state.global;
@@ -28,6 +29,11 @@ export default function Editor() {
28
29
  setSelectedNode(parentFolder?.id);
29
30
  }
30
31
  const idGeneratedRef = useRef(false);
32
+ const [descriptionValue, setDescriptionValue] = useState(state?.description || "");
33
+ // Sync description state when document changes
34
+ useEffect(() => {
35
+ setDescriptionValue(state?.description || "");
36
+ }, [state?.description]);
31
37
  // Auto-generate ID if not present (only once)
32
38
  useEffect(() => {
33
39
  if (!state?.id && !idGeneratedRef.current && dispatch) {
@@ -149,6 +155,14 @@ export default function Editor() {
149
155
  return;
150
156
  dispatch(actions.removeContributor({ contributorPHID }));
151
157
  }, [dispatch]);
158
+ // Operator handler
159
+ const handleSetOperator = useCallback((isOperator) => {
160
+ if (!dispatch)
161
+ return;
162
+ dispatch(actions.setOperator({ isOperator }));
163
+ }, [dispatch]);
164
+ // Dynamic role label based on isOperator flag
165
+ const roleLabel = state?.isOperator ? "Operator" : "Builder";
152
166
  return (_jsxs("div", { className: "w-full min-h-screen bg-gradient-to-br from-slate-50 via-white to-slate-100", children: [_jsx("style", { children: `
153
167
  .builder-editor input, .builder-editor textarea, .builder-editor select {
154
168
  font-family: 'SF Pro Text', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
@@ -222,12 +236,57 @@ export default function Editor() {
222
236
  background-size: 1.25em 1.25em;
223
237
  padding-right: 2.5rem;
224
238
  }
225
- ` }), _jsx(DocumentToolbar, { document: doc, onClose: handleClose }), _jsxs("div", { className: "builder-editor p-6 max-w-4xl mx-auto space-y-6 pb-12", children: [_jsx("div", { className: "section-card p-8", children: _jsxs("div", { children: [_jsx("h1", { className: "text-2xl font-semibold text-slate-900 tracking-tight", children: "Builder Profile" }), _jsx("p", { className: "text-slate-500 mt-1 text-sm", children: "Configure your builder identity and capabilities" })] }) }), state && _jsx(ProfilePreview, { state: state }), _jsxs("div", { className: "section-card p-6", children: [_jsxs("h3", { className: "text-lg font-semibold text-slate-900 mb-6 flex items-center gap-2", children: [_jsx("span", { className: "w-8 h-8 rounded-lg bg-slate-100 flex items-center justify-center", children: _jsx(Info, { size: 18, className: "text-slate-600" }) }), "Metadata"] }), _jsxs("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-6", children: [_jsxs("div", { children: [_jsx("label", { className: "field-label", children: "Builder ID" }), _jsxs("div", { className: "flex items-center gap-2", children: [_jsx("code", { className: "meta-value flex-1 truncate", children: doc?.header.id }), _jsx("button", { type: "button", className: "p-2 rounded-lg border border-slate-200 hover:bg-slate-50 transition-colors", title: "Copy Builder ID", onClick: () => {
239
+ .builder-editor .role-toggle {
240
+ display: flex;
241
+ background: linear-gradient(135deg, #F8FAFC 0%, #F1F5F9 100%);
242
+ border-radius: 12px;
243
+ padding: 3px;
244
+ gap: 3px;
245
+ border: 1px solid rgba(0, 0, 0, 0.06);
246
+ box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.04);
247
+ }
248
+ .builder-editor .role-toggle button {
249
+ display: flex;
250
+ align-items: center;
251
+ gap: 6px;
252
+ padding: 0.5rem 0.875rem;
253
+ font-size: 0.8125rem;
254
+ font-weight: 500;
255
+ border-radius: 9px;
256
+ border: none;
257
+ cursor: pointer;
258
+ transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
259
+ color: #64748B;
260
+ background: transparent;
261
+ white-space: nowrap;
262
+ }
263
+ .builder-editor .role-toggle button .role-icon {
264
+ font-size: 0.875rem;
265
+ transition: transform 0.2s ease;
266
+ }
267
+ .builder-editor .role-toggle button:hover:not(.active) {
268
+ color: #475569;
269
+ background: rgba(255, 255, 255, 0.6);
270
+ }
271
+ .builder-editor .role-toggle button.active {
272
+ color: white;
273
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.08);
274
+ }
275
+ .builder-editor .role-toggle button.active.builder {
276
+ background: linear-gradient(135deg, #3B82F6 0%, #2563EB 100%);
277
+ }
278
+ .builder-editor .role-toggle button.active.operator {
279
+ background: linear-gradient(135deg, #8B5CF6 0%, #7C3AED 100%);
280
+ }
281
+ .builder-editor .role-toggle button.active .role-icon {
282
+ transform: scale(1.1);
283
+ }
284
+ ` }), _jsx(DocumentToolbar, { document: doc, onClose: handleClose }), _jsxs("div", { className: "builder-editor p-6 max-w-4xl mx-auto space-y-6 pb-12", children: [_jsx("div", { className: "section-card p-8", children: _jsxs("div", { className: "flex items-start justify-between gap-6", children: [_jsxs("div", { children: [_jsxs("h1", { className: "text-2xl font-semibold text-slate-900 tracking-tight", children: [roleLabel, " Profile"] }), _jsxs("p", { className: "text-slate-500 mt-1 text-sm", children: ["Configure your ", roleLabel.toLowerCase(), " identity and capabilities"] })] }), _jsxs("div", { className: "flex flex-col items-end gap-1.5", children: [_jsxs("div", { className: "role-toggle", children: [_jsxs("button", { type: "button", onClick: () => handleSetOperator(false), className: !state?.isOperator ? "active builder" : "", children: [_jsx("span", { className: "role-icon", children: "\uD83D\uDD28" }), "Builder"] }), _jsxs("button", { type: "button", onClick: () => handleSetOperator(true), className: state?.isOperator ? "active operator" : "", children: [_jsx("span", { className: "role-icon", children: "\u26A1" }), "Operator"] })] }), _jsx("p", { className: "text-xs text-slate-400 text-right max-w-[180px]", children: state?.isOperator ? "Sells & buys services" : "Buys services" })] })] }) }), state && _jsx(ProfilePreview, { state: state }), _jsxs("div", { className: "section-card p-6", children: [_jsxs("h3", { className: "text-lg font-semibold text-slate-900 mb-6 flex items-center gap-2", children: [_jsx("span", { className: "w-8 h-8 rounded-lg bg-slate-100 flex items-center justify-center", children: _jsx(Info, { size: 18, className: "text-slate-600" }) }), "Metadata"] }), _jsxs("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-6", children: [_jsxs("div", { children: [_jsxs("label", { className: "field-label", children: [roleLabel, " ID"] }), _jsxs("div", { className: "flex items-center gap-2", children: [_jsx("code", { className: "meta-value flex-1 truncate", children: doc?.header.id }), _jsx("button", { type: "button", className: "p-2 rounded-lg border border-slate-200 hover:bg-slate-50 transition-colors", title: `Copy ${roleLabel} ID`, onClick: () => {
226
285
  void navigator.clipboard.writeText(doc?.header.id || "");
227
- toast("Copied Builder ID!", { type: "success" });
286
+ toast(`Copied ${roleLabel} ID!`, { type: "success" });
228
287
  }, children: _jsx(Copy, { size: 16, className: "text-slate-500" }) })] })] }), _jsxs("div", { children: [_jsx("label", { className: "field-label", children: "Last Modified" }), _jsx("div", { className: "meta-value", children: state?.lastModified
229
288
  ? formatLastModified(state.lastModified)
230
- : "Never modified" })] })] })] }), _jsxs("div", { className: "section-card p-6", children: [_jsxs("h3", { className: "text-lg font-semibold text-slate-900 mb-6 flex items-center gap-2", children: [_jsx("span", { className: "w-8 h-8 rounded-lg bg-indigo-50 flex items-center justify-center", children: _jsx(User, { size: 18, className: "text-indigo-600" }) }), "Identity"] }), _jsxs("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-6", children: [_jsxs("div", { children: [_jsx("label", { className: "field-label", children: "Builder Name" }), _jsx(TextInput, { className: "w-full", defaultValue: state?.name || "", onBlur: (e) => {
289
+ : "Never modified" })] })] })] }), _jsxs("div", { className: "section-card p-6", children: [_jsxs("h3", { className: "text-lg font-semibold text-slate-900 mb-6 flex items-center gap-2", children: [_jsx("span", { className: "w-8 h-8 rounded-lg bg-indigo-50 flex items-center justify-center", children: _jsx(User, { size: 18, className: "text-indigo-600" }) }), "Identity"] }), _jsxs("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-6", children: [_jsxs("div", { children: [_jsxs("label", { className: "field-label", children: [roleLabel, " Name"] }), _jsx(TextInput, { className: "w-full", defaultValue: state?.name || "", onBlur: (e) => {
231
290
  if (e.target.value !== state?.name) {
232
291
  handleFieldChange("name", e.target.value);
233
292
  }
@@ -243,5 +302,21 @@ export default function Editor() {
243
302
  }
244
303
  }, children: [_jsx("option", { value: "", disabled: true, children: "Select status..." }), STATUS_OPTIONS.map((option) => (_jsx("option", { value: option.value, children: option.label }, option.value)))] })] }), _jsxs("div", { children: [_jsx("label", { className: "field-label", children: "Profile Type" }), _jsxs("div", { className: "type-toggle", children: [_jsx("button", { type: "button", onClick: () => handleTypeChange("INDIVIDUAL"), className: state?.type === "INDIVIDUAL" ? "active" : "", children: _jsxs("span", { className: "flex items-center justify-center gap-2", children: [_jsx(User, { size: 16 }), "Individual"] }) }), _jsx("button", { type: "button", onClick: () => handleTypeChange("TEAM"), className: state?.type === "TEAM" ? "active" : "", children: _jsxs("span", { className: "flex items-center justify-center gap-2", children: [_jsx(Users, { size: 16 }), "Team"] }) })] }), _jsx("p", { className: "field-hint", children: state?.type === "TEAM"
245
304
  ? "Teams can add contributors to their profile"
246
- : "Individual profiles represent a single builder" })] })] })] }), _jsxs("div", { className: "section-card p-6", children: [_jsxs("h3", { className: "text-lg font-semibold text-slate-900 mb-6 flex items-center gap-2", children: [_jsx("span", { className: "w-8 h-8 rounded-lg bg-emerald-50 flex items-center justify-center", children: _jsx(FileText, { size: 18, className: "text-emerald-600" }) }), "About"] }), _jsxs("div", { children: [_jsx(MarkdownEditor, { label: "What is the builder profile about?", height: 350, value: state?.description || "", onChange: () => { }, onBlur: (value) => handleFieldChange("description", value) }), _jsx("p", { className: "field-hint", children: "A compelling description helps others understand your capabilities" })] })] }), _jsx(SkillsSection, { skills: state?.skils || [], onAddSkill: handleAddSkill, onRemoveSkill: handleRemoveSkill }), _jsx(ScopesSection, { scopes: state?.scopes || [], onAddScope: handleAddScope, onRemoveScope: handleRemoveScope }), _jsx(LinksSection, { links: state?.links || [], onAddLink: handleAddLink, onEditLink: handleEditLink, onRemoveLink: handleRemoveLink }), state?.type === "TEAM" && (_jsx(ContributorsSection, { contributors: state.contributors, onAddContributor: handleAddContributor, onRemoveContributor: handleRemoveContributor })), _jsx(ToastContainer, { position: "bottom-right" })] })] }));
305
+ : `Individual profiles represent a single ${roleLabel.toLowerCase()}` })] })] })] }), _jsxs("div", { className: "section-card p-6", children: [_jsxs("h3", { className: "text-lg font-semibold text-slate-900 mb-6 flex items-center gap-2", children: [_jsx("span", { className: "w-8 h-8 rounded-lg bg-emerald-50 flex items-center justify-center", children: _jsx(FileText, { size: 18, className: "text-emerald-600" }) }), "Description & About"] }), _jsxs("div", { className: "space-y-6", children: [_jsxs("div", { children: [_jsxs("div", { className: "flex items-center justify-between mb-2", children: [_jsx("label", { className: "field-label mb-0", children: "Short Description" }), _jsxs("span", { className: `text-xs font-medium ${descriptionValue.length > DESCRIPTION_MAX_LENGTH
306
+ ? "text-red-500"
307
+ : descriptionValue.length > DESCRIPTION_MAX_LENGTH * 0.9
308
+ ? "text-amber-500"
309
+ : "text-slate-400"}`, children: [descriptionValue.length, "/", DESCRIPTION_MAX_LENGTH] })] }), _jsx(Textarea, { className: `w-full ${descriptionValue.length > DESCRIPTION_MAX_LENGTH
310
+ ? "border-red-300 focus:ring-red-500 focus:border-red-500"
311
+ : ""}`, value: descriptionValue, onChange: (e) => {
312
+ setDescriptionValue(e.target.value);
313
+ }, onBlur: (e) => {
314
+ if (e.target.value !== state?.description) {
315
+ if (e.target.value.length > DESCRIPTION_MAX_LENGTH) {
316
+ toast(`Description exceeds ${DESCRIPTION_MAX_LENGTH} character limit`, { type: "error" });
317
+ return;
318
+ }
319
+ handleFieldChange("description", e.target.value);
320
+ }
321
+ }, placeholder: `A brief summary of your ${roleLabel.toLowerCase()} profile`, rows: 3, maxLength: DESCRIPTION_MAX_LENGTH + 50 }), descriptionValue.length > DESCRIPTION_MAX_LENGTH && (_jsxs("p", { className: "text-xs text-red-500 mt-1", children: ["Description exceeds ", DESCRIPTION_MAX_LENGTH, " character limit. Please shorten it to save."] })), _jsx("p", { className: "field-hint", children: "A short, plain-text description shown in previews and listings" })] }), _jsxs("div", { children: [_jsx(MarkdownEditor, { label: "About", height: 350, value: state?.about || "", onChange: () => { }, onBlur: (value) => handleFieldChange("about", value) }), _jsx("p", { className: "field-hint", children: "A detailed description with markdown formatting to showcase your capabilities" })] })] })] }), _jsx(SkillsSection, { skills: state?.skills || [], onAddSkill: handleAddSkill, onRemoveSkill: handleRemoveSkill }), _jsx(ScopesSection, { scopes: state?.scopes || [], onAddScope: handleAddScope, onRemoveScope: handleRemoveScope }), _jsx(LinksSection, { links: state?.links || [], onAddLink: handleAddLink, onEditLink: handleEditLink, onRemoveLink: handleRemoveLink }), state?.type === "TEAM" && (_jsx(ContributorsSection, { contributors: state.contributors, onAddContributor: handleAddContributor, onRemoveContributor: handleRemoveContributor })), _jsx(ToastContainer, { position: "bottom-right" })] })] }));
247
322
  }