diff --git a/CHANGELOG.md b/CHANGELOG.md
index 264d108..4071412 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,22 @@
# FigLog Change Log
+## 3.0.0 (05-09-2024)
+
+New editing flow, user must save changes
+User can edit the start dates for logs
+User can hide and show avatars
+Added Nearform_Commerce branding
+Prettier integration
+Figma API update
+Cleanup and documentation and README
+
+## 2.0.0 (02-09-2024)
+
+User can add changelog types
+User can add links to logs
+Switch to Lucide icons
+Cleanup and documentation and README
+
## 1.0.0 (09-29-2023)
README update
diff --git a/README.md b/README.md
index 92ba893..0ba2c5c 100644
--- a/README.md
+++ b/README.md
@@ -38,12 +38,13 @@ We hope FigLog becomes a useful tool for you as a way of documenting the evoluti
## Features
-- đšī¸ Optional component status, name, description, version, log types, and branding
-- đĢ Multiplayer collaboration with user name and avatar
-- đī¸ Automatic date handling (including log edits)
-- đ
6 status types
-- đˇī¸ 7 log types **(New!)**
-- đ 26 link types **(New!)**
+- đšī¸ Customizable name, description, version, and branding
+- đĢ Multiplayer collaboration with optional avatars
+- đī¸ Automatic date capture and handling **(Now Editable)**
+- đ
Multiple status types to define stages
+- đˇī¸ 7 log types for easier organization
+- đ 26 link types with automatic branding support
+- đ Enhanced security for added control **(New!)**
## Usage
diff --git a/example.png b/example.png
index bd8dbad..1adec6b 100644
Binary files a/example.png and b/example.png differ
diff --git a/package.json b/package.json
index ef565cf..99ed30d 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "figlog",
- "version": "1.0.0",
+ "version": "3.0.0",
"repository": "https://github.com/FormidableLabs/figlog.git",
"devDependencies": {
"@figma/plugin-typings": "^1.92.0",
diff --git a/widget-src/components/ChangeLogList.tsx b/widget-src/components/ChangeLogList.tsx
index 742bd44..8bb1fad 100644
--- a/widget-src/components/ChangeLogList.tsx
+++ b/widget-src/components/ChangeLogList.tsx
@@ -3,7 +3,7 @@ import { PADDING } from '../utilities/Styles';
import { ChangeLogRow } from './ChangeLogRow';
const { widget } = figma;
-const { AutoLayout, useEffect } = widget;
+const { AutoLayout } = widget;
interface ChangeLogListProps {
changeLogIds: string[];
@@ -26,10 +26,6 @@ export const ChangeLogList = ({
showAvatars,
isLocked,
}: ChangeLogListProps) => {
- useEffect(() => {
- // console.log('ChangeLogs', changeLogs.entries());
- });
-
return (
(
(
fontSize={FONT.size.lg}
fontWeight={FONT.weight.light}
>
- | Evolution Tracker
+ |
+
+
+ Evolution Tracker
+
+
+ {' '}
+ version {figLogVersion}
+
+
(
openExternal('https://commerce.nearform.com/');
}}
>
-
+
diff --git a/widget-src/components/log/LinkList.tsx b/widget-src/components/log/LinkList.tsx
index a23f229..06a6182 100644
--- a/widget-src/components/log/LinkList.tsx
+++ b/widget-src/components/log/LinkList.tsx
@@ -1,10 +1,6 @@
import { LinkType } from '../../types/LinkTypes';
-import { GAP } from '../../utilities/Styles';
import { Link } from './Link';
-const { widget } = figma;
-const { AutoLayout } = widget;
-
interface LinkListProps {
links?: Array;
editing?: boolean;
@@ -15,15 +11,7 @@ export const LinkList = ({ links, editing = false, deleteLink }: LinkListProps)
return (
<>
{!!links && links.length > 0 && (
-
+ <>
{links.map(link => (
(!!deleteLink ? deleteLink(link.key) : null)}
/>
))}
-
+ >
)}
>
);
diff --git a/widget-src/components/log/LogDisplay.tsx b/widget-src/components/log/LogDisplay.tsx
index e06713a..74cbe55 100644
--- a/widget-src/components/log/LogDisplay.tsx
+++ b/widget-src/components/log/LogDisplay.tsx
@@ -123,7 +123,7 @@ export const ChangeLogDisplay = ({
: false,
},
},
- links: changeLog.state?.updates?.links ? changeLog.state?.updates?.links : changeLog.links,
+ links: changeLog.state?.updates?.links ? changeLog.state?.updates?.links : [],
link: {
label: changeLog.state?.updates?.link?.label ? changeLog.state?.updates?.link?.label : '',
url: changeLog.state?.updates?.link?.url ? changeLog.state?.updates?.link?.url : '',
@@ -131,7 +131,7 @@ export const ChangeLogDisplay = ({
key: changeLog.state?.updates?.link?.key ? changeLog.state?.updates?.link?.key : '',
},
type: changeLog.state?.updates?.type ? changeLog.state?.updates?.type : changeLog.type,
- change: changeLog.state?.updates?.change ? changeLog.state?.updates?.change : '',
+ change: changeLog.state?.updates?.change ? changeLog.state?.updates?.change : changeLog.change,
linkFormError: {
label: changeLog.state?.updates?.linkFormError?.label
? changeLog.state?.updates?.linkFormError?.label
@@ -148,19 +148,29 @@ export const ChangeLogDisplay = ({
)}
-
-
- {changeLog.change || ''}
-
-
+ {!!changeLog.change && changeLog.change !== '' && (
+
+
+ {changeLog.change || ''}
+
+
+ )}
{!!changeLog.links && changeLog.links.length > 0 && (
-
+
)}
diff --git a/widget-src/components/log/LogEditing.tsx b/widget-src/components/log/LogEditing.tsx
index 2f087af..065c5ac 100644
--- a/widget-src/components/log/LogEditing.tsx
+++ b/widget-src/components/log/LogEditing.tsx
@@ -12,7 +12,7 @@ import { ActionCloseIcon } from '../../svgs/ActionCloseIcon';
import { displayDate } from '../../utilities/Utils';
const { widget } = figma;
-const { AutoLayout, Text, useEffect } = widget;
+const { AutoLayout, Text } = widget;
interface ChangeLogEditingProps {
changeLog: ChangeLog;
@@ -33,10 +33,6 @@ export const ChangeLogEditing = ({
showTypes,
isLastRow,
}: ChangeLogEditingProps) => {
- useEffect(() => {
- // console.log('state: ', changeLog.state);
- });
-
return (
- }
- action={() => {
- updateChangeState({
- ...changeLog.state,
- editing: false,
- updates: {
- createdDate: changeLog.createdDate,
- createdDateTmp: {
- date: {
- val: displayDate(changeLog.createdDate, 'date'),
- er: false,
+ {changeLog.editCount > 0 && (
+ }
+ action={() => {
+ updateChangeState({
+ ...changeLog.state,
+ editing: false,
+ showLinkForm: false,
+ updates: {
+ createdDate: changeLog.createdDate,
+ createdDateTmp: {
+ date: {
+ val: displayDate(changeLog.createdDate, 'date'),
+ er: false,
+ },
+ time: {
+ val: displayDate(changeLog.createdDate, 'time'),
+ er: false,
+ },
},
- time: {
- val: displayDate(changeLog.createdDate, 'time'),
- er: false,
+ links: [],
+ link: {
+ label: '',
+ url: '',
+ icon: '',
+ key: '',
},
+ type: changeLog.type,
+ change: changeLog.change,
+ linkFormError: { label: false, url: false },
},
- links: changeLog.links,
- link: {
- label: '',
- url: '',
- icon: '',
- key: '',
- },
- type: changeLog.type,
- change: changeLog.change,
- linkFormError: { label: false, url: false },
- },
- });
- }}
- />
+ });
+ }}
+ />
+ )}
@@ -212,22 +218,40 @@ export const ChangeLogEditing = ({
large={true}
behavior="multiline"
action={val => {
- if (val !== changeLog.change) {
- updateChangeState({
- ...changeLog.state,
- updates: {
- ...changeLog.state?.updates,
- change: val,
- },
- });
- }
+ updateChangeState({
+ ...changeLog.state,
+ updates: {
+ ...changeLog.state?.updates,
+ change: val,
+ },
+ });
}}
/>
- {!!changeLog.state?.updates?.links && changeLog.state?.updates?.links.length > 0 && (
-
+ {((!!changeLog.links && changeLog.links.length > 0) ||
+ (!!changeLog.state?.updates?.links && changeLog.state?.updates?.links.length > 0)) && (
+
+ {
+ updateChange({
+ ...changeLog.state,
+ links: changeLog.links ? changeLog.links.filter(link => link.key !== linkToDelete) : [],
+ });
+ }}
+ />
+
{
updateChangeState({
@@ -251,8 +275,8 @@ export const ChangeLogEditing = ({
)}
-
-
+
+
diff --git a/widget-src/svgs/LogoNearformCommerce.tsx b/widget-src/svgs/LogoNearformCommerce.tsx
new file mode 100644
index 0000000..65a972b
--- /dev/null
+++ b/widget-src/svgs/LogoNearformCommerce.tsx
@@ -0,0 +1,13 @@
+export const LogoNearformCommerce: string = `
+`;