From 1fc9ddbd64d94236ada4d6d157c04bd98348dc73 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nicole=20miko=C5=82ajczyk?= Date: Mon, 9 Feb 2026 18:13:28 +0100 Subject: [PATCH] pl-fe: styles migration, less nesting MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: nicole mikołajczyk --- .../pl-fe/src/components/empty-message.tsx | 14 +++----- .../features/admin/components/dashcounter.tsx | 17 ++++------ .../pl-fe/src/pages/dashboard/dashboard.tsx | 12 +++---- packages/pl-fe/src/styles/new/admin.scss | 32 +++++++++++++++++++ packages/pl-fe/src/styles/new/components.scss | 29 +++++++++++++++++ packages/pl-fe/src/styles/new/index.scss | 1 + 6 files changed, 77 insertions(+), 28 deletions(-) create mode 100644 packages/pl-fe/src/styles/new/admin.scss diff --git a/packages/pl-fe/src/components/empty-message.tsx b/packages/pl-fe/src/components/empty-message.tsx index fe25c0066..a91a5c932 100644 --- a/packages/pl-fe/src/components/empty-message.tsx +++ b/packages/pl-fe/src/components/empty-message.tsx @@ -1,8 +1,6 @@ import React from 'react'; import Icon from './ui/icon'; -import Stack from './ui/stack'; -import Text from './ui/text'; interface IEmptyMessage { text: React.ReactNode; @@ -10,15 +8,11 @@ interface IEmptyMessage { } const EmptyMessage: React.FC = ({ text, icon = require('@phosphor-icons/core/regular/empty.svg') }) => ( - -
- -
+
+ - - {text} - - +

{text}

+
); export { EmptyMessage }; diff --git a/packages/pl-fe/src/features/admin/components/dashcounter.tsx b/packages/pl-fe/src/features/admin/components/dashcounter.tsx index 63acc2855..6ab927778 100644 --- a/packages/pl-fe/src/features/admin/components/dashcounter.tsx +++ b/packages/pl-fe/src/features/admin/components/dashcounter.tsx @@ -2,7 +2,6 @@ import { Link, type LinkOptions } from '@tanstack/react-router'; import React from 'react'; import { FormattedNumber } from 'react-intl'; -import Text from '@/components/ui/text'; import { isNumber } from '@/utils/numbers'; type IDashCounter = { @@ -18,30 +17,28 @@ const DashCounter: React.FC = ({ count, label, percent = false, .. return null; } - const className = 'flex cursor-pointer flex-col items-center space-y-2 rounded bg-gray-200 p-4 transition-transform hover:-translate-y-1 dark:bg-gray-800'; - const body = ( <> - +

- - +

+

{label} - +

); if (!('to' in rest)) { - return {body}; + return {body}; } return ( - + {body} ); @@ -53,7 +50,7 @@ interface IDashCounters { /** Wrapper container for dash counters. */ const DashCounters: React.FC = ({ children }) => ( -
+
{children}
); diff --git a/packages/pl-fe/src/pages/dashboard/dashboard.tsx b/packages/pl-fe/src/pages/dashboard/dashboard.tsx index e785d4de3..8aebdc6ed 100644 --- a/packages/pl-fe/src/pages/dashboard/dashboard.tsx +++ b/packages/pl-fe/src/pages/dashboard/dashboard.tsx @@ -5,7 +5,6 @@ import List, { ListItem } from '@/components/list'; import { CardTitle } from '@/components/ui/card'; import Column from '@/components/ui/column'; import Icon from '@/components/ui/icon'; -import Stack from '@/components/ui/stack'; import { Counter } from '@/features/admin/components/counter'; import { DashCounter, DashCounters } from '@/features/admin/components/dashcounter'; import { Dimension } from '@/features/admin/components/dimension'; @@ -50,7 +49,7 @@ const Dashboard: React.FC = () => { return ( - +
{features.mastodonAdminMetrics ? ( { }> {sourceCode.displayName} {sourceCode.version} - + @@ -242,7 +238,7 @@ const Dashboard: React.FC = () => { )} - +
); }; diff --git a/packages/pl-fe/src/styles/new/admin.scss b/packages/pl-fe/src/styles/new/admin.scss new file mode 100644 index 000000000..574322665 --- /dev/null +++ b/packages/pl-fe/src/styles/new/admin.scss @@ -0,0 +1,32 @@ +@use 'mixins'; + +.⁂-dashboard { + display: flex; + flex-direction: column; + gap: 1.5rem; + + &__counters { + @apply grid grid-cols-1 gap-2 sm:grid-cols-2; + } + + &__source-code { + @apply flex items-center space-x-1 truncate; + + svg { + height: 1rem; + width: 1rem; + } + } +} + +.⁂-dashcounter { + @apply flex cursor-pointer flex-col items-center space-y-2 rounded bg-gray-200 p-4 transition-transform hover:-translate-y-1 dark:bg-gray-800; + + &__number { + @include mixins.text($align: center, $size: 2xl, $weight: medium); + } + + &__label { + @include mixins.text($align: center); + } +} \ No newline at end of file diff --git a/packages/pl-fe/src/styles/new/components.scss b/packages/pl-fe/src/styles/new/components.scss index 758100e48..f87ac8614 100644 --- a/packages/pl-fe/src/styles/new/components.scss +++ b/packages/pl-fe/src/styles/new/components.scss @@ -408,4 +408,33 @@ div[data-viewport-type="window"]:has(.⁂-empty-message) { @include mixins.button($theme: secondary); } } +} + +.⁂-empty-message { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + gap: 1rem; + padding: 1.5rem 0; + + > div { + background: rgb(var(--color-gray-200)); + padding: 1rem; + border-radius: 50%; + + &:is(.dark *) { + background: rgb(var(--color-gray-800)); + } + + svg { + height: 1.5rem; + width: 1.5rem; + color: rgb(var(--color-gray-600)) + } + } + + p { + @include mixins.text($align: center, $theme: muted); + } } \ No newline at end of file diff --git a/packages/pl-fe/src/styles/new/index.scss b/packages/pl-fe/src/styles/new/index.scss index daa0427fb..3f8037526 100644 --- a/packages/pl-fe/src/styles/new/index.scss +++ b/packages/pl-fe/src/styles/new/index.scss @@ -5,6 +5,7 @@ @use 'statuses'; @use 'timelines'; @use 'compose'; +@use 'admin'; @use 'drive'; @use 'chats'; @use 'events';