From 77f5fa11eb3776b72c1ac94470eb747b31cb5230 Mon Sep 17 00:00:00 2001 From: Giuseppe Criscione <18699708+giuscris@users.noreply.github.com> Date: Sat, 19 Oct 2024 19:47:29 +0200 Subject: [PATCH 1/5] Remove routability from page status --- formwork/src/Pages/Page.php | 5 ----- formwork/src/Pages/Traits/PageStatus.php | 5 ++--- panel/views/partials/pages/status.php | 2 -- 3 files changed, 2 insertions(+), 10 deletions(-) diff --git a/formwork/src/Pages/Page.php b/formwork/src/Pages/Page.php index 64e4dcd32..8e730d0f2 100644 --- a/formwork/src/Pages/Page.php +++ b/formwork/src/Pages/Page.php @@ -50,11 +50,6 @@ class Page extends Model implements Stringable */ public const PAGE_STATUS_NOT_PUBLISHED = 'notPublished'; - /** - * Page `not routable` status - */ - public const PAGE_STATUS_NOT_ROUTABLE = 'notRoutable'; - protected const MODEL_IDENTIFIER = 'page'; /** diff --git a/formwork/src/Pages/Traits/PageStatus.php b/formwork/src/Pages/Traits/PageStatus.php index e218d5bf3..fd9f59856 100644 --- a/formwork/src/Pages/Traits/PageStatus.php +++ b/formwork/src/Pages/Traits/PageStatus.php @@ -50,9 +50,8 @@ public function status(): string } $this->status = match (true) { - $published => Page::PAGE_STATUS_PUBLISHED, - !$this->routable() => Page::PAGE_STATUS_NOT_ROUTABLE, - !$published => Page::PAGE_STATUS_NOT_PUBLISHED + $published => Page::PAGE_STATUS_PUBLISHED, + !$published => Page::PAGE_STATUS_NOT_PUBLISHED }; return $this->status; diff --git a/panel/views/partials/pages/status.php b/panel/views/partials/pages/status.php index a0fcfd3df..fb2234ae4 100644 --- a/panel/views/partials/pages/status.php +++ b/panel/views/partials/pages/status.php @@ -2,6 +2,4 @@ = $this->icon('circle-small-fill') ?> status() === 'notPublished') : ?> = $this->icon('circle-small-fill') ?> -status() === 'notRoutable') : ?> - = $this->icon('circle-small-fill') ?> \ No newline at end of file From 1729a29f4c502f09d2ed862bf2beecbbc1b9f871 Mon Sep 17 00:00:00 2001 From: Giuseppe Criscione <18699708+giuscris@users.noreply.github.com> Date: Sat, 19 Oct 2024 23:12:47 +0200 Subject: [PATCH 2/5] Add badges variants --- panel/src/scss/components/_badges.scss | 46 ++++++++++++++++---------- 1 file changed, 29 insertions(+), 17 deletions(-) diff --git a/panel/src/scss/components/_badges.scss b/panel/src/scss/components/_badges.scss index 803a5a9ea..c23f2266d 100644 --- a/panel/src/scss/components/_badges.scss +++ b/panel/src/scss/components/_badges.scss @@ -3,36 +3,48 @@ min-width: 1.375em; padding: 0.25rem 0.5rem; border-radius: 2em; - margin-left: 0.25rem; background-color: var(--color-base-600); + color: var(--color-base-100); font-size: 0.75em; font-weight: 600; line-height: 1.125; text-align: center; + vertical-align: 0.125em; + white-space: nowrap; } -.button .badge { - padding: 0.125rem 0.375rem; - font-size: 0.75rem; - line-height: 1; +.badge .icon { + min-width: auto; + min-height: auto; +} + +.badge-blue { + background-color: var(--color-accent-800); + color: var(--color-accent-300); } -.button-accent .badge { - background-color: var(--color-accent-900); - color: var(--color-accent-500); +.badge-green { + background-color: var(--color-success-800); + color: var(--color-success-300); } -.button-success .badge { - background-color: var(--color-success-900); - color: var(--color-success-500); +.badge-amber { + background-color: var(--color-warning-700); + color: var(--color-warning-300); } -.button-warning .badge { - background-color: var(--color-warning-900); - color: var(--color-warning-500); +.badge-red { + background-color: var(--color-danger-700); + color: var(--color-danger-300); } -.button-danger .badge { - background-color: var(--color-danger-900); - color: var(--color-danger-500); +.badge-purple { + background-color: var(--color-purple-800); + color: var(--color-purple-300); +} + +.button .badge { + margin: -0.375rem 0; + font-size: 0.75rem; + vertical-align: 0.0625rem; } From 18ea1894b70d0ea6a67fc05d33fba78a677b8b18 Mon Sep 17 00:00:00 2001 From: Giuseppe Criscione <18699708+giuscris@users.noreply.github.com> Date: Sat, 19 Oct 2024 23:13:43 +0200 Subject: [PATCH 3/5] Fix icons positioning --- panel/src/scss/components/_buttons.scss | 2 ++ panel/src/scss/components/_icon.scss | 2 +- panel/src/scss/components/_tooltip.scss | 4 ++-- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/panel/src/scss/components/_buttons.scss b/panel/src/scss/components/_buttons.scss index a84da3dde..8f7ab6026 100644 --- a/panel/src/scss/components/_buttons.scss +++ b/panel/src/scss/components/_buttons.scss @@ -40,6 +40,7 @@ & .icon { display: inline-block; margin-right: 0.25rem; + vertical-align: text-top; } } @@ -132,6 +133,7 @@ .button-link { & .icon { margin-right: 0; + vertical-align: -0.125rem; } } diff --git a/panel/src/scss/components/_icon.scss b/panel/src/scss/components/_icon.scss index 3614f023e..2a70cd0a1 100644 --- a/panel/src/scss/components/_icon.scss +++ b/panel/src/scss/components/_icon.scss @@ -4,5 +4,5 @@ min-width: 16px; height: 1em; min-height: 16px; - vertical-align: -0.125rem; + vertical-align: -0.125em; } diff --git a/panel/src/scss/components/_tooltip.scss b/panel/src/scss/components/_tooltip.scss index c6f6c4905..e012b1742 100644 --- a/panel/src/scss/components/_tooltip.scss +++ b/panel/src/scss/components/_tooltip.scss @@ -13,6 +13,6 @@ } .tooltip .icon { - transform: scale(0.75); - vertical-align: -0.25rem; + min-width: auto; + min-height: auto; } From 561fb898534d5064bd13cbb7258cd0a024f3ef7d Mon Sep 17 00:00:00 2001 From: Giuseppe Criscione <18699708+giuscris@users.noreply.github.com> Date: Sat, 19 Oct 2024 23:28:51 +0200 Subject: [PATCH 4/5] Add page info card --- formwork/translations/de.yaml | 5 ++- formwork/translations/en.yaml | 6 ++-- formwork/translations/es.yaml | 5 ++- formwork/translations/fr.yaml | 6 ++-- formwork/translations/it.yaml | 5 ++- formwork/translations/pt.yaml | 5 ++- formwork/translations/ru.yaml | 5 ++- panel/assets/icons/svg/eye-slash.svg | 1 + panel/src/scss/components/_pages.scss | 40 +++++++++++++++++++++--- panel/views/pages/editor.php | 17 +++++++--- panel/views/pages/tree.php | 45 ++++++++++++++++----------- panel/views/partials/pages/info.php | 16 ++++++++++ 12 files changed, 119 insertions(+), 37 deletions(-) create mode 100644 panel/assets/icons/svg/eye-slash.svg create mode 100644 panel/views/partials/pages/info.php diff --git a/formwork/translations/de.yaml b/formwork/translations/de.yaml index 6461c5dda..76102ffe5 100644 --- a/formwork/translations/de.yaml +++ b/formwork/translations/de.yaml @@ -23,16 +23,19 @@ page.cacheable: Im Cache speichern page.content: Inhalt page.files: Dateien page.image: Bild -page.listed: Im Menü sichtbar +page.listed: Aufgelistet page.noImage: Kein Bild page.none: (Keine) page.noTags: Keine Tags +page.notListed: Nicht aufgelistet +page.notRoutable: Nicht routbar page.options: Optionen page.page: Seite page.parent: Übergeordnete Seite page.postsPerPage: Beiträge pro Seite page.publishDate: Veröffentlichungsdatum page.routable: Routbar +page.slug: Slug page.status.notPublished: Nicht veröffentlicht page.status.notRoutable: Nicht routbar page.status.published: Veröffentlicht diff --git a/formwork/translations/en.yaml b/formwork/translations/en.yaml index e3fd7a4a8..f0eb75338 100644 --- a/formwork/translations/en.yaml +++ b/formwork/translations/en.yaml @@ -23,18 +23,20 @@ page.cacheable: Cacheable page.content: Content page.files: Files page.image: Image -page.listed: Visible in the menu +page.listed: Listed page.noImage: No image page.none: (None) page.noTags: No tags +page.notListed: Not listed +page.notRoutable: Not routable page.options: Options page.page: Page page.parent: Parent page page.postsPerPage: Posts per page page.publishDate: Publish date page.routable: Routable +page.slug: Slug page.status.notPublished: Not published -page.status.notRoutable: Not routable page.status.published: Published page.summary: Summary page.tags: Tags diff --git a/formwork/translations/es.yaml b/formwork/translations/es.yaml index 358d8f4b2..d15d3b335 100644 --- a/formwork/translations/es.yaml +++ b/formwork/translations/es.yaml @@ -23,16 +23,19 @@ page.cacheable: En caché page.content: Contenido page.files: Archivos page.image: Imagen -page.listed: Visible en el menú +page.listed: Listada page.noImage: Sin imagen page.none: (Ninguno) page.noTags: Sin etiquetas +page.notListed: No listada +page.notRoutable: No enrutable page.options: Opciones page.page: Página page.parent: Página principal page.postsPerPage: Publicaciones por página page.publishDate: Fecha de publicación page.routable: Enrutable +page.slug: Slug page.status.notPublished: No publicado page.status.notRoutable: No enrutable page.status.published: Publicado diff --git a/formwork/translations/fr.yaml b/formwork/translations/fr.yaml index 7b6a414a8..bd034e17e 100644 --- a/formwork/translations/fr.yaml +++ b/formwork/translations/fr.yaml @@ -23,18 +23,20 @@ page.cacheable: Activer le cache page.content: Contenu page.files: Fichiers page.image: Image d’accroche -page.listed: Visible dans le menu +page.listed: Répertoriée page.noImage: Aucune image page.none: (Aucun) page.noTags: Aucun tag +page.notListed: Non répertoriée +page.notRoutable: Inaccessible page.options: Options page.page: Page page.parent: Parent page.postsPerPage: Articles par page page.publishDate: Date de publication page.routable: Accessible +page.slug: Slug page.status.notPublished: Brouillon -page.status.notRoutable: Inaccessible page.status.published: Publié page.summary: Résumé page.tags: Tags diff --git a/formwork/translations/it.yaml b/formwork/translations/it.yaml index 981de172a..0f0d2418e 100644 --- a/formwork/translations/it.yaml +++ b/formwork/translations/it.yaml @@ -23,16 +23,19 @@ page.cacheable: Abilita cache page.content: Contenuto page.files: File page.image: Immagine -page.listed: Visibile nel menu +page.listed: Elencata page.noImage: Nessuna immagine page.none: (Nessuna) page.noTags: Nessun tag +page.notListed: Non elencata +page.notRoutable: Non raggiungibile page.options: Opzioni page.page: Pagina page.parent: Pagina superiore page.postsPerPage: Post per pagina page.publishDate: Data di pubblicazione page.routable: Raggiungibile +page.slug: Slug page.status.notPublished: Non pubblicato page.status.notRoutable: Non raggiungibile page.status.published: Pubblicato diff --git a/formwork/translations/pt.yaml b/formwork/translations/pt.yaml index a10dd7644..ead360c8f 100644 --- a/formwork/translations/pt.yaml +++ b/formwork/translations/pt.yaml @@ -23,16 +23,19 @@ page.cacheable: Cache page.content: Conteúdo page.files: Ficheiros page.image: Imagem -page.listed: Visível no menu +page.listed: Listada page.noImage: Sem imagem page.none: (Nenhum) page.noTags: Sem tags +page.notListed: Não listada +page.notRoutable: Não roteável page.options: Opções page.page: Página page.parent: Página parente page.postsPerPage: Items por página page.publishDate: Data de publicação page.routable: Roteável +page.slug: Slug page.status.notPublished: Não publicado page.status.notRoutable: Não roteável page.status.published: Publicado diff --git a/formwork/translations/ru.yaml b/formwork/translations/ru.yaml index 0f7f34bb3..66f38d99b 100644 --- a/formwork/translations/ru.yaml +++ b/formwork/translations/ru.yaml @@ -23,16 +23,19 @@ page.cacheable: Кешируемый page.content: Содержание page.files: Файлы page.image: Изображение -page.listed: Видимо в меню +page.listed: Указана page.noImage: Нет изображения page.none: (Нет) page.noTags: Нет тегов +page.notListed: Не указана +page.notRoutable: Не маршрутизируемый page.options: Параметры page.page: Страница page.parent: Родитель страницы page.postsPerPage: Сообщения на странице page.publishDate: Дата публикации page.routable: Маршрутизируемый +page.slug: Slug page.status.notPublished: Не Опубликовано page.status.notRoutable: Не маршрутизируемый page.status.published: Опубликованный diff --git a/panel/assets/icons/svg/eye-slash.svg b/panel/assets/icons/svg/eye-slash.svg new file mode 100644 index 000000000..7be9b643f --- /dev/null +++ b/panel/assets/icons/svg/eye-slash.svg @@ -0,0 +1 @@ + diff --git a/panel/src/scss/components/_pages.scss b/panel/src/scss/components/_pages.scss index 855c635a6..22e091277 100644 --- a/panel/src/scss/components/_pages.scss +++ b/panel/src/scss/components/_pages.scss @@ -56,13 +56,45 @@ white-space: nowrap; } -.page-actions .button-link { +.page-info { + position: absolute; + z-index: 8; + display: none; + padding: 0.5rem; + border: 1px solid var(--color-base-500); + border-radius: $border-radius; + margin: 0.25rem 0 1rem; + background-color: var(--color-base-900); + box-shadow: $box-shadow-md; +} + +.page-icon > .icon { + vertical-align: -0.25rem; +} + +.page-icon:hover .page-info { + display: block; +} + +.is-dragging .page-icon:hover .page-info { + display: none; +} + +.page-info-row { + padding: 0.5rem 0.25rem; + border-bottom: 1px solid var(--color-base-600); + font-size: $font-size-sm; +} + +.page-info-badges { + padding: 0.5rem 0.25rem; font-size: $font-size-md; + white-space: nowrap; } -.page-info { - padding: 0 0.25rem; - margin-bottom: 0.75rem; +.page-languages { + font-size: $font-size-md; + white-space: nowrap; } .page-slug-change { diff --git a/panel/views/pages/editor.php b/panel/views/pages/editor.php index 21d8c0846..47e22540d 100644 --- a/panel/views/pages/editor.php +++ b/panel/views/pages/editor.php @@ -3,7 +3,14 @@ attr(['hidden' => true, 'aria-hidden' => 'true', 'data-command' => 'save', 'formaction' => $history?->isJustCreated() ? '?publish=false' : null]) ?>>