// SPDX-License-Identifier: AGPL-3.0
import * as React from 'react';
-import IconBase, { IconTypes } from '../../icon/icon';
-import Attribute from '../../attribute/attribute';
-import AbstractItem from './abstract-item';
+import { CollectionIcon } from '../../icon/icon';
+import { Attribute } from '../../attribute/attribute';
+import { AbstractItem } from './abstract-item';
import { CollectionResource } from '../../../models/collection';
+import { formatDate } from '../../../common/formatters';
+import { resourceLabel } from '../../../common/labels';
+import { ResourceKind } from '../../../models/resource';
-export default class CollectionItem extends AbstractItem<CollectionResource> {
+export class CollectionItem extends AbstractItem<CollectionResource> {
- getIcon(): IconTypes {
- return IconTypes.COLLECTION;
+ getIcon(className?: string) {
+ return <CollectionIcon className={className} />;
}
- buildDetails(): React.ReactElement<any> {
+ buildDetails() {
return <div>
- <Attribute label='Type' value='Data Collection' />
+ <Attribute label='Type' value={resourceLabel(ResourceKind.Collection)} />
<Attribute label='Size' value='---' />
- <Attribute label="Location">
- <IconBase icon={IconTypes.FOLDER} />
- Collection
- </Attribute>
- <Attribute label='Owner' value='me' />
- <Attribute label='Last modified' value='5:25 PM 5/23/2018' />
- <Attribute label='Created at' value='1:25 PM 5/23/2018' />
+ <Attribute label='Owner' value={this.item.ownerUuid} />
+ <Attribute label='Last modified' value={formatDate(this.item.modifiedAt)} />
+ <Attribute label='Created at' value={formatDate(this.item.createdAt)} />
+ {/* Links but we dont have view */}
+ <Attribute label='Collection UUID' link={this.item.uuid} value={this.item.uuid} />
+ <Attribute label='Content address' link={this.item.portableDataHash} value={this.item.portableDataHash} />
+ {/* Missing attrs */}
<Attribute label='Number of files' value='20' />
<Attribute label='Content size' value='54 MB' />
- <Attribute label='Collection UUID' link='http://www.google.pl' value='nfnz05wp63ibf8w' />
- <Attribute label='Content address' link='http://www.google.pl' value='nfnz05wp63ibf8w' />
- <Attribute label='Creator' value='Chrystian' />
- <Attribute label='Used by' value='---' />
</div>;
}
-}
\ No newline at end of file
+}