import {
defineField,
defineModule,
defineNavItem,
defineObject,
defineView,
} from '@devias/core';
import { ids } from './ids';
export const manifest = defineModule({
id: ids.module,
version: '0.1.0',
label: 'Projects',
icon: 'folder',
objects: [
defineObject({
id: ids.project,
nameSingular: 'project',
namePlural: 'projects',
labelSingular: 'Project',
labelPlural: 'Projects',
primaryFieldId: ids.name,
fields: [
defineField({
id: ids.name,
name: 'name',
label: 'Name',
type: 'text',
isRequired: true,
}),
defineField({
id: ids.status,
name: 'status',
label: 'Status',
type: 'select',
settings: {
options: [
{ value: 'active', label: 'Active', color: 'green' },
{ value: 'done', label: 'Done', color: 'neutral' },
],
},
}),
],
}),
],
views: [
defineView({
id: ids.all,
objectId: ids.project,
label: 'All projects',
type: 'table',
isDefault: true,
fields: [{ fieldId: ids.name }, { fieldId: ids.status }],
}),
],
navItems: [
defineNavItem({
id: ids.nav,
label: 'Projects',
icon: 'folder',
target: { kind: 'object', objectId: ids.project, viewId: ids.all },
}),
],
});