This commit is contained in:
isUnknown 2024-09-04 08:25:43 +02:00
commit 3f9c8bbebf
68 changed files with 1875 additions and 26 deletions

View file

@ -0,0 +1,10 @@
/* CSS VARIABLES */
:root {
/* Colors */
--color-l-200: 95%;
--color-l-300: 85%;
--color-l-400: 80%;
--color-l-500: 74%;
}

View file

@ -0,0 +1,21 @@
Title: Dior
----
Headline:
----
Text:
----
Logo: - file://25NN1En7lGeEttZy
----
Color: #000
----
Uuid: G418qZ4ABsoWFx4i

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

View file

@ -0,0 +1 @@
Uuid: 25NN1En7lGeEttZy

View file

@ -0,0 +1,13 @@
Title: Hermes
----
Logo: - file://Nj3oUfpMGXwRETWn
----
Color: #fb6b22
----
Uuid: PweFYnBx27eMZ2mr

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

View file

@ -0,0 +1 @@
Uuid: Nj3oUfpMGXwRETWn

View file

@ -0,0 +1,5 @@
Title: Clients
----
Uuid: TsaoiLb9iQJWZAvX

View file

@ -1,4 +1,4 @@
Title: Error
Title: Erreur
----

View file

@ -1,4 +1,4 @@
Title: Home
Title: Accueil
----
@ -10,7 +10,7 @@ Testtext: test
----
Testblocks: [{"content":{"location":"kirby","image":["home/image.png"],"src":"","alt":"","caption":"","link":"","ratio":"","crop":"false"},"id":"ad071a0e-852b-473b-9f6f-46ea4079168e","isHidden":false,"type":"image"}]
Testblocks:
----

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

View file

@ -0,0 +1,5 @@
Uuid: aWouZREvKfW9VWMt
----
Template: image

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

View file

@ -0,0 +1,5 @@
Uuid: T3MXkEhh9mmAGkUH
----
Template: image

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

View file

@ -0,0 +1,5 @@
Uuid: e57fucmyhXX9jJv4
----
Template: image

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

View file

@ -0,0 +1,5 @@
Uuid: aGCNfbFS7FcFJls1
----
Template: image

Binary file not shown.

After

Width:  |  Height:  |  Size: 92 KiB

View file

@ -0,0 +1,5 @@
Uuid: qqhD8ABZ7BkkJxd5
----
Template: image

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

View file

@ -0,0 +1,5 @@
Uuid: B3TFeDZKd5d8dxKK
----
Template: image

View file

@ -0,0 +1,36 @@
Title: Miss Dior Blooming Bouquet
----
Client: - page://G418qZ4ABsoWFx4i
----
Briefclientpdf:
----
Description: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas faucibus mollis interdum. Maecenas faucibus mollis interdum. Maecenas sed diam eget risus varius blandit sit amet non magna. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Integer posuere erat a ante venenatis dapibus posuere velit aliquet. Integer posuere erat a ante venenatis dapibus posuere velit aliquet.
----
Briefclientimages:
- file://aWouZREvKfW9VWMt
- file://qqhD8ABZ7BkkJxd5
- file://e57fucmyhXX9jJv4
- file://aGCNfbFS7FcFJls1
- file://T3MXkEhh9mmAGkUH
- file://B3TFeDZKd5d8dxKK
----
Pdf:
----
Text:
----
Uuid: 513oEM4JFuWBt2Bw

View file

@ -0,0 +1,5 @@
Title: Projets
----
Uuid: JgUmDeKdunC06yBi

View file

@ -0,0 +1,29 @@
Title: Projet Test
----
Client: - page://G418qZ4ABsoWFx4i
----
Briefclientpdf:
----
Description: Maecenas sed diam eget risus varius blandit sit amet non magna. Curabitur blandit tempus porttitor. Nullam quis risus eget urna mollis ornare vel eu leo. Maecenas faucibus mollis interdum.
----
Briefclientimages:
----
Pdf:
----
Text:
----
Uuid: Bdho8W2PQkSk1x21

View file

@ -1 +1,5 @@
Title: Site Title
Title: Nom du service
----
Briefclientimagestags: Parachèvements, Forme & design, Matériaux & textures, Coloris & nuances, Bouchon, Bouton poussoir, DA globale

View file

@ -0,0 +1,15 @@
title: Image
accept:
mime: image/*
type: image
focus: false
fields:
description:
type: textarea
buttons: false
size: small
width: 1/2
# tags:
# type: tags

View file

@ -0,0 +1,5 @@
title: PDF
accept:
mime: application/pdf
focus: false

View file

@ -0,0 +1,45 @@
title: Client
tabs:
projects:
label: Projets
icon: folder
columns:
- width: 1/2
sections:
projectsListed:
extends: sections/projects
headline: Projets en cours
query: page.projectsListed
status: unlisted
columns:
title: true
client: false
- width: 1/2
sections:
projectsUnlisted:
extends: sections/projects
headline: Projets archivés
query: page.projectsUnlisted
status: unlisted
columns:
title: true
client: false
brand:
label: Brand
icon: palette
fields:
logo:
type: files
multiple: false
layout: cards
image:
ratio: 1/1
back: white
width: 1/6
color:
label: Couleur
type: color
width: 2/6
files: tabs/files

View file

@ -0,0 +1,21 @@
title: Clients
sections:
pages:
label: Tous les clients
status: all
templates: client
layout: table
columns:
title:
label: Nom
projectsListed:
label: En cours
value: "{{ page.projectsListed.count }}"
width: 1/12
projectsUnlisted:
label: Archivés
value: "{{ page.projectsUnlisted.count }}"
width: 1/12
image:
cover: true

View file

@ -1,7 +1 @@
fields:
testImages:
type: files
testText:
type: text
testBlocks:
type: blocks
title: Home

View file

@ -0,0 +1,67 @@
title: Projet
icon: page
tabs:
brief:
label: Brief client
icon: document
columns:
- width: 1/2
sections:
brief:
type: fields
fields:
client:
type: pages
multiple: false
query: site.find("clients").childrenAndDrafts
subpages: false
image:
query: page.logo.toFile
layout: cardlets
width: 1/2
briefClientPdf:
label: PDF
type: files
multiple: false
uploads: pdf
layout: cardlets
width: 1/2
- width: 1/2
sections:
description:
type: fields
fields:
description:
type: textarea
size: tiny
buttons: false
maxlength: 700
- width: 1/1
sections:
images:
type: fields
fields:
briefClientImages:
label: Images
type: files
uploads: image
layout: cards
size: medium
# client:
# label: Client
# icon: account
# columns:
# - width: 1/1
# sections:
# client:
# type: fields
# fields:
# client:
# type: pages
# multiple: false
# query: site.find("clients").childrenAndDrafts
# subpages: false
# layout: cards
# size: medium
files: tabs/files

View file

@ -0,0 +1,15 @@
title: Projets
sections:
drafts:
extends: sections/projects
headline: Brouillons
status: draft
listed:
extends: sections/projects
headline: En cours
status: listed
unlisted:
extends: sections/projects
headline: Archivés
status: unlisted

View file

@ -0,0 +1,11 @@
type: pages
headline: Projets
template: project
layout: table
columns:
title:
label: Titre
client: true
empty: Pas encore de projet
image: false
search: true

View file

@ -1,5 +1,41 @@
title: Site
sections:
pages:
type: pages
tabs:
dashboard:
label: Dashboard
icon: dashboard
columns:
clients:
width: 1/2
sections:
clients:
label: Clients
type: pages
parent: site.find("clients")
template: client
search: true
image:
back: white
projects:
width: 1/2
sections:
projects:
extends: sections/projects
headline: Projets récement modifiés
parent: site.find("projects")
layout: list
sortBy: modified desc
settings:
label: Paramètres
icon: cog
columns:
- width: 1/1
sections:
settings:
label: Paramètres
type: fields
fields:
briefClientImagesTags:
label: Tags des images de Brief client
help: Ensemble des tags dimages disponibles lors de la création du Brief client
type: tags

View file

@ -0,0 +1,15 @@
label:
en: Files
fr: Fichiers
icon: images
columns:
- width: 1/1
sections:
files:
label:
en: Files
fr: Fichiers
type: files
layout: cards
size: small

View file

@ -0,0 +1 @@
title: Admin

View file

@ -0,0 +1,4 @@
title: Client
permissions:
access:
panel: false

View file

@ -0,0 +1,3 @@
title:
fr: Chef·fe de projet
en: Project Manager

View file

@ -7,7 +7,68 @@ return [
// Enable api access without SSL. To disable in production.
'allowInsecure' => true
],
'content' => [
'uuid' => false
'panel' => [
'language' => 'fr',
'css' => 'assets/css/panel.css',
'favicon' => 'assets/favicons/favicon.svg',
'menu' => [
'site' => [
'label' => 'Dashboard',
'icon' => 'dashboard',
'current' => function (string $current): bool {
// the links of all your custom menu entries
$links = [
'pages/clients',
'pages/projects',
'pages/notifications',
'pages/events'
];
$path = Kirby\Cms\App::instance()->path();
return
$current === 'site' &&
A::every($links, fn ($link) => Str::contains($path, $link) === false);
}
],
'clients' => [
'label' => 'Clients',
'icon' => 'account',
'link' => 'pages/clients',
'current' => function (string $current): bool {
$path = Kirby\Cms\App::instance()->path();
return Str::contains($path, 'pages/clients');
}
],
'projects' => [
'label' => 'Projets',
'icon' => 'folder',
'link' => 'pages/projects',
'current' => function (string $current): bool {
$path = Kirby\Cms\App::instance()->path();
return Str::contains($path, 'pages/projects');
}
],
'-',
'notifications' => [
'label' => 'Notifications',
'icon' => 'bell',
'link' => 'pages/notifications',
'current' => function (string $current): bool {
$path = Kirby\Cms\App::instance()->path();
return Str::contains($path, 'pages/notifications');
}
],
'events' => [
'label' => 'Événements',
'icon' => 'calendar',
'link' => 'pages/events',
'current' => function (string $current): bool {
$path = Kirby\Cms\App::instance()->path();
return Str::contains($path, 'pages/events');
}
],
'-',
'users',
'system'
]
]
];
];

View file

@ -0,0 +1,18 @@
<?php
class ClientPage extends Page {
public function projects() {
return page('projects')->children()->filterBy('intendedTemplate', 'project')->filterBy(function($project) {
return $project->client()->toPage() === $this;
});
}
public function projectsListed() {
return page('projects')->children()->listed()->filterBy('intendedTemplate', 'project')->filterBy(function($project) {
return $project->client()->toPage() === $this;
});
}
public function projectsUnlisted() {
return page('projects')->children()->unlisted()->filterBy('intendedTemplate', 'project')->filterBy(function($project) {
return $project->client()->toPage() === $this;
});
}
}