diff --git a/services/web/frontend/stories/history/history-version.stories.tsx b/services/web/frontend/stories/history/history-version.stories.tsx new file mode 100644 index 0000000000..7dd3cda078 --- /dev/null +++ b/services/web/frontend/stories/history/history-version.stories.tsx @@ -0,0 +1,92 @@ +import HistoryVersionComponent from '../../js/features/history/components/change-list/history-version' +import { ScopeDecorator } from '../decorators/scope' +import { HistoryProvider } from '../../js/features/history/context/history-context' +import { disableControlsOf } from '../utils/arg-types' + +const update = { + fromV: 3, + toV: 4, + meta: { + users: [ + { + first_name: 'john.doe', + last_name: '', + email: 'john.doe@test.com', + id: '631710ab1094c5002647184e', + }, + ], + start_ts: 1681220036419, + end_ts: 1681220036419, + }, + labels: [ + { + id: '643561cdfa2b2beac88f0024', + comment: 'tag-1', + version: 4, + user_id: '123', + created_at: '2023-04-11T13:34:05.856Z', + user_display_name: 'john.doe', + }, + { + id: '643561d1fa2b2beac88f0025', + comment: 'tag-2', + version: 4, + user_id: '123', + created_at: '2023-04-11T13:34:09.280Z', + user_display_name: 'john.doe', + }, + ], + pathnames: [], + project_ops: [{ add: { pathname: 'name.tex' }, atV: 3 }], +} + +export const HistoryVersion = ( + args: React.ComponentProps +) => { + return ( + + + + ) +} + +export default { + title: 'History / Change list', + component: HistoryVersionComponent, + args: { + update, + currentUserId: '1', + projectId: '123', + comparing: false, + faded: false, + showDivider: false, + selected: false, + setSelection: () => {}, + dropdownOpen: false, + dropdownActive: false, + setActiveDropdownItem: () => {}, + closeDropdownForItem: () => {}, + }, + argTypes: disableControlsOf( + 'update', + 'currentUserId', + 'projectId', + 'setSelection', + 'dropdownOpen', + 'dropdownActive', + 'setActiveDropdownItem', + 'closeDropdownForItem' + ), + decorators: [ + ScopeDecorator, + (Story: React.ComponentType) => ( +
+
+
+ +
+
+
+ ), + ], +} diff --git a/services/web/frontend/stories/history/label-version.stories.tsx b/services/web/frontend/stories/history/label-version.stories.tsx new file mode 100644 index 0000000000..0ae1a619c4 --- /dev/null +++ b/services/web/frontend/stories/history/label-version.stories.tsx @@ -0,0 +1,75 @@ +import LabelListItemComponent from '../../js/features/history/components/change-list/label-list-item' +import { ScopeDecorator } from '../decorators/scope' +import { HistoryProvider } from '../../js/features/history/context/history-context' +import { disableControlsOf } from '../utils/arg-types' + +const labels = [ + { + id: '643561cdfa2b2beac88f0024', + comment: 'tag-1', + version: 1, + user_id: '123', + created_at: '2023-04-11T13:34:05.856Z', + user_display_name: 'john.doe', + }, + { + id: '643561d1fa2b2beac88f0025', + comment: 'tag-2', + version: 1, + user_id: '123', + created_at: '2023-04-11T13:34:09.280Z', + user_display_name: 'john.doe', + }, +] + +export const LabelVersion = ( + args: React.ComponentProps +) => { + return ( + + + + ) +} + +export default { + title: 'History / Change list', + component: LabelListItemComponent, + args: { + labels, + version: 1, + currentUserId: '1', + projectId: '123', + comparing: false, + selected: false, + selectable: false, + setSelection: () => {}, + dropdownOpen: false, + dropdownActive: false, + setActiveDropdownItem: () => {}, + closeDropdownForItem: () => {}, + }, + argTypes: disableControlsOf( + 'labels', + 'version', + 'currentUserId', + 'projectId', + 'setSelection', + 'dropdownOpen', + 'dropdownActive', + 'setActiveDropdownItem', + 'closeDropdownForItem' + ), + decorators: [ + ScopeDecorator, + (Story: React.ComponentType) => ( +
+
+
+ +
+
+
+ ), + ], +} diff --git a/services/web/frontend/stories/history/toggle-switch.stories.tsx b/services/web/frontend/stories/history/toggle-switch.stories.tsx index dfcb1a0f76..5fe673db55 100644 --- a/services/web/frontend/stories/history/toggle-switch.stories.tsx +++ b/services/web/frontend/stories/history/toggle-switch.stories.tsx @@ -3,7 +3,7 @@ import ToggleSwitchComponent from '../../js/features/history/components/change-l import { ScopeDecorator } from '../decorators/scope' import { HistoryProvider } from '../../js/features/history/context/history-context' -export const LabelsOnlyToggleSwitch = () => { +export const HistoryAndLabelsToggleSwitch = () => { const [labelsOnly, setLabelsOnly] = useState(false) return ( diff --git a/services/web/frontend/stories/utils/arg-types.ts b/services/web/frontend/stories/utils/arg-types.ts new file mode 100644 index 0000000000..e14aa11444 --- /dev/null +++ b/services/web/frontend/stories/utils/arg-types.ts @@ -0,0 +1,12 @@ +export const disableControlsOf = (...args: string[]) => { + return args.reduce>((prev, cur) => { + return { + ...prev, + [cur]: { + table: { + disable: true, + }, + }, + } + }, {}) +}