import { RiBusLine } from 'react-icons/ri'
var dateobj = new Date()
dateobj.setHours(7); //réglé à 07h00
var B = dateobj.getHours()
var C = dateobj.getDate()
var D = dateobj.getMonth()
var E = dateobj.getFullYear()
var eventAtSeven = new Date(E,D,C,B,0,0,0)
Date.prototype.addDays = function(days) {
var date = new Date(this.valueOf());
date.setDate(date.getDate() + days);
return date
}
var eventAtSevenToFourDays = eventAtSeven.addDays(4)
var event = new Date()
export default {
name: 'service',
title: 'Service',
icon: RiBusLine,
description: 'un service Cityvision est un événement plus une offre commerciale',
type: 'document',
// description: "représentation de l'affectation prévisionnelle d'un Service Cityvision pour être effectué à une date, une heure, selon un programme représenté code d'affectation en une langue donnée; la représentation elle-même a été publiée depuis une date et une heure données, depuis cette publication son actualité est décrit par un statut: événement prévu, annulé, reporté, reprogrammé, prévu pour se tenir virtuellement en ligne"
fields: [
{
name: 'startDate', // ATTENTION CHANGEMENT PAR RAPPORT À GATSBY
title: 'Date',
description: 'Date et Heure de Départ du service Cityvision',
type: 'datetime', // ATTENTION CHANGEMENT PAR RAPPORT À GATSBY
options: {
dateFormat: 'YYYY-MM-DD',
timeFormat: 'HH:mm',
timeStep: 15,
},
},
{
name: 'codeList',
description: 'Code commercial du service Cityvision (valeur default: VT)',
title: 'Code List',
type: 'reference',
validation: Rule => Rule.required(),
to: [
{
name: 'codeList',
title: 'Code List',
type: 'codeList',
},
],
},
{
name: 'lang',
description: 'Langue parlée durant le service Cityvision (valeur default: ja)',
title: 'Langue',
type: 'reference',
validation: Rule => Rule.required(),
to: [
{
name: 'lang',
title: 'Langue',
type: 'lang',
},
],
},
{
name: 'releaseDate', // ATTENTION CHANGEMENT PAR RAPPORT À GATSBY
description: 'Date de publication du service Cityvision',
title: 'Date de publication',
type: 'datetime', // ATTENTION CHANGEMENT PAR RAPPORT À GATSBY
options: {
dateFormat: 'YYYY-MM-DD',
timeFormat: 'HH:mm',
},
},
{
type: 'string',
title: 'Status',
description: 'Status de la publication du service Cityvision',
name: 'status',
options: {
list: [
{title: 'Scheduled', value: 'EventScheduled'},
{title: 'Cancelled', value: 'EventCancelled'},
{title: 'Postponed', value: 'EventPostponed'},
{title: 'Rescheduled', value: 'EventRescheduled'},
{title: 'MovedOnline', value: 'EventMovedOnline'},
],
layout: 'radio',
direction: 'vertical',
},
},
],
initialValue: async () => ({
startDate: eventAtSevenToFourDays.toISOString(),
status: 'EventScheduled',
releaseDate: event.toISOString(),
codeList: {
_ref: '56d99a7f-bd55-4cd7-9eeb-d5b65fe63d5e',
_type: 'reference',
},
// codeList: await client.fetch(`// groq
// *[_type == 'codeList' && code match 'VT' ]{
// '_type': 'serviceCodeList',
// 'codeList': {
// '_ref': _id,
// '_type': 'reference'
// }
// }
// `)
lang: {
_ref: '236a03a9-d72c-456b-b79b-3eb8ccb1c211',
// _ref: await client.fetch(`// groq
// *[_type == 'lang' && name match 'ja' ]{
// _id
// }[0]`),
_type: 'reference',
},
}),
orderings: [
{
title: 'Start Date, New',
name: 'startDateAsc',
by: [
{field: 'startDate', direction: 'asc'}
]
},
],
};