Files
open-design/design-systems/slack/DESIGN-pl.md
681dacde18 feat(landing): DESIGN.md systems hub + design-token spec sheet + scenario mocks on design-system pages (#4420)
* feat(landing): systems-page DESIGN.md/FAQ copy + design-token loader

* feat(landing): DESIGN.md+FAQ sections on systems hub, token spec sheet on detail

* feat(landing): detail-page TOC nav, token visuals, tighter spacing, unified related cards

* feat(landing): multi-scenario themed previews (web/app/slides/poster) on design-system detail

* feat(landing): localized routes for design-system detail pages (chrome i18n, DESIGN.md body stays en)

* feat(landing): theme scenario mocks from real design tokens; phone app, 16:9 slide, refined poster

* feat(landing): redesign slide mock (two-zone), sticky schema nav, contribute moved to top

* feat(landing): right-rail section nav + 2-up related cards on design-system detail

* fix(landing): localize design-system detail title suffix + keyword-rich meta description + keywords meta

* feat(landing): declutter detail header — icon-only share, move contribute callout to page bottom

* fix(landing): cancel homepage 130px section padding on detail-block (killed huge inter-section gaps)

* i18n(landing): localize design-system detail + systems-hub chrome across 17 locales

* feat(landing): locale-aware DESIGN.md body loading (DESIGN-<locale>.md) with English fallback

* i18n(design-systems): localize apple DESIGN.md body into 17 locales

* i18n(design-systems): localize stripe DESIGN.md body into 17 locales

* i18n(design-systems): localize vercel DESIGN.md body into 17 locales

* i18n(design-systems): localize notion DESIGN.md body into 17 locales

* i18n(design-systems): localize github DESIGN.md body into 17 locales

* i18n(design-systems): localize airtable DESIGN.md body into 17 locales

* i18n(design-systems): localize figma DESIGN.md body into 17 locales

* i18n(design-systems): localize openai DESIGN.md body into 17 locales

* i18n(design-systems): localize slack DESIGN.md body into 17 locales

* i18n(design-systems): localize discord DESIGN.md body into 17 locales

* i18n(design-systems): localize webflow DESIGN.md body into 17 locales

* i18n(design-systems): localize cohere DESIGN.md body into 17 locales

* i18n(design-systems): localize duolingo DESIGN.md body into 17 locales

* i18n(design-systems): localize spotify DESIGN.md body into 17 locales

* i18n(design-systems): localize shopify DESIGN.md body into 17 locales

* i18n(design-systems): localize nvidia DESIGN.md body into 17 locales

* i18n(design-systems): localize pinterest DESIGN.md body into 17 locales

* i18n(design-systems): localize uber DESIGN.md body into 17 locales

* i18n(design-systems): localize nike DESIGN.md body into 17 locales

* i18n(design-systems): localize airbnb DESIGN.md body into 17 locales

* i18n(design-systems): localize ibm DESIGN.md body into 17 locales

* i18n(design-systems): localize playstation DESIGN.md body into 17 locales

* i18n(design-systems): localize starbucks DESIGN.md body into 17 locales

* i18n(landing): localize detailSystemLabel (design-system H1/title noun) across 17 locales

* i18n(landing): localize plugins chrome (contribute callout, card CTA, search, about) across 15 remaining locales

* i18n(landing): localized card taglines + category labels for design systems (149 systems x 17 locales)

* fix(landing): suppress on-load locale auto-redirect on design-system detail pages (keep localized routes + hreflang)

* fix(landing): localize SystemCard detail link so cards on /<locale>/ stay in-locale

---------

Co-authored-by: Joey <276262049+xne998808-ai@users.noreply.github.com>
2026-06-17 15:24:58 +08:00

14 KiB
Raw Permalink Blame History

System Projektowania Inspirowany Slackiem

Category: Produktywność & SaaS Platforma komunikacji w miejscu pracy. Aubergine jako kolor główny, wieloakcentowa paleta logo, jasne powierzchnie z ciemnym paskiem bocznym, ciepły i przystępny charakter.

1. Temat Wizualny & Atmosfera

Tożsamość Slacka buduje się wokół idei, że praca powinna być ludzka, a nawet trochę zabawna. Kanoniczna powierzchnia jest jasna — białe obszary treści z głębokim paskiem bocznym w kolorze aubergine (#4A154B) — co jest odwrotnością narzędzi stawiających na ciemny motyw. Ten kontrast jest zamierzony: pasek boczny to spokojna, zawsze widoczna kotwica nawigacyjna, podczas gdy obszar treści jest jasny i otwarty.

Paleta logo — niebieska, zielona, żółta, czerwona — pojawia się głównie w ikonie hashtagu i materiałach marketingowych, a nie rozrzucona po całym interfejsie. W samym produkcie Slack stosuje powściągliwy, profesjonalny system kolorów z aubergine jako jedyną kotwicą marki.

Kluczowe Cechy:

  • Jasne powierzchnie treści: biały #FFFFFF i prawie biały #F8F8F8
  • Głęboki aubergine #4A154B w pasku bocznym — najbardziej rozpoznawalny element UI marki
  • Cztery kolory akcentowe logo (niebieski, zielony, żółty, czerwony) używane oszczędnie tylko jako wyróżniki
  • Larsseit dla nagłówków (marketing), systemowy sans-serif dla UI
  • Zaokrąglone, ale nie kreskówkowe: promień 4–8px w większości komponentów
  • Gęsty, ale oddychający: zwarte wiersze wiadomości z wyraźną hierarchią wątków
  • Ciepły i konwersacyjny ton — emoji, reakcje i ilustracje są równoprawnym elementem

2. Paleta Kolorów & Role

Kolor Główny Marki

Token Hex Rola
--color-aubergine #4A154B Tło paska bocznego, główny kolor marki
--color-aubergine-dark #350d36 Stany hover na powierzchniach aubergine
--color-aubergine-light #611f69 Podświetlenie aktywnego elementu w pasku bocznym

Kolory Akcentowe Logo (używać oszczędnie — tylko wyróżniki, ikony, marketing)

Token Hex Nazwa Rola
--color-blue #36C5F0 Błękitny Ikony kanałów, linki, stany informacyjne
--color-green #2EB67D Zieleń morska Status online, stany sukcesu
--color-yellow #ECB22E Złoty Status nieobecności, ostrzeżenia, wyróżnienia
--color-red #E01E5A Rubinowy Powiadomienia, błędy, badge wzmianek

Powierzchnia & Tło

Token Hex Rola
--bg-primary #FFFFFF Główny obszar wiadomości, okna modalne
--bg-secondary #F8F8F8 Panele wątków, powierzchnie pomocnicze
--bg-tertiary #F1F1F1 Tła pól wejściowych, stany hover
--bg-sidebar #4A154B Lewy pasek boczny (aubergine)
--bg-sidebar-hover rgba(255,255,255,0.1) Hover elementu paska bocznego
--bg-sidebar-active rgba(255,255,255,0.2) Aktywny element paska bocznego
--bg-message-hover #F8F8F8 Hover wiersza wiadomości

Kolory Tekstu

Token Hex Rola
--text-primary #1D1C1D Główny tekst treści (prawie czarny)
--text-secondary #616061 Znaczniki czasu, wyciszone etykiety
--text-sidebar rgba(255,255,255,0.9) Nazwy kanałów w pasku bocznym
--text-sidebar-muted rgba(255,255,255,0.6) Nieaktywne elementy paska bocznego
--text-link #1264A3 Linki inline w wiadomościach
--text-mention #1264A3 Kolor tekstu @wzmianki

Kolory Semantyczne

Token Hex Rola
--color-success #2EB67D Toasty sukcesu, stany pozytywne
--color-warning #ECB22E Stany ostrzeżeń
--color-danger #E01E5A Stany błędów, destrukcyjne akcje
--color-info #36C5F0 Wyróżnienia informacyjne

Obramowanie & Linia Podziału

Token Hex Rola
--border-default #DDDDDD Standardowe linie podziału, obramowania kart
--border-subtle #F1F1F1 Subtelne separatory między wierszami
--border-focus #1264A3 Kolor pierścienia fokusowania

3. Zasady Typografii

Kroje Pisma

Rola Oficjalny Zamiennik Web
Nagłówki Display / Marketing Larsseit 'Larsseit', 'Helvetica Neue', Arial, sans-serif
UI / Treść / Chrome Slack Lato (własny) system-ui, -apple-system, BlinkMacSystemFont, sans-serif
Kod / Monospace — 'Monaco', 'Menlo', 'Courier New', monospace

Slack używa Larsseit do nagłówków marketingowych i własnego wariantu Lato dla UI wewnątrz produktu. W zastosowaniach webowych system-ui jest najbezpieczniejszym zamiennikiem.

Skala Typograficzna

Poziom Rozmiar Grubość Wysokość Linii Odstęp Liter Zastosowanie
Display XL 48px 800 1.1 -1px Nagłówki hero w marketingu
Display L 36px 700 1.15 -0.5px Hero sekcji
Nagłówek 1 28px 700 1.25 normal Tytuły okien modalnych, nagłówki stron
Nagłówek 2 22px 700 1.3 normal Tytuły kart, sekcje ustawień
Nagłówek 3 18px 700 1.35 normal Nagłówki podsekcji
Treść L 16px 400 1.5 normal Tekst wiadomości, opisy
Treść 15px 400 1.46667 normal Domyślny tekst UI (bazowy rozmiar Slacka)
Treść SM 13px 400 1.38462 normal Metadane pomocnicze
Podpis 12px 400 1.33 normal Znaczniki czasu, podpowiedzi
Kod 12px 400 1.5 normal Kod inline, bloki kodu

Zasady Typograficzne

  • Bazowy rozmiar treści Slacka to 15px — nieco mniejszy niż 16px dla większej gęstości
  • Nieprzeczytane kanały: grubość 700 — pogrubienie jest głównym wskaźnikiem nieprzeczytania
  • Znaczniki czasu: 12px --text-secondary, widoczne tylko po najechaniu
  • Bloki kodu: tło #F8F8F8, obramowanie 1px solid #DDDDDD, border-radius 4px
  • Nigdy nie używać rozmiarów czcionki poniżej 12px
  • Nagłówki marketingowe: letter-spacing -1px dla dużych rozmiarów display

4. Style Komponentów

Przyciski

/* Primary */
.btn-primary {
  background: #4A154B;
  color: #FFFFFF;
  border-radius: 4px;
  padding: 0 16px;
  height: 36px;
  font-size: 15px;
  font-weight: 700;
  border: none;
}
.btn-primary:hover { background: #611f69; }

/* Secondary */
.btn-secondary {
  background: #FFFFFF;
  color: #1D1C1D;
  border: 1px solid #DDDDDD;
  border-radius: 4px;
  padding: 0 16px;
  height: 36px;
  font-size: 15px;
  font-weight: 700;
}
.btn-secondary:hover { background: #F8F8F8; }

/* Danger */
.btn-danger {
  background: #E01E5A;
  color: #FFFFFF;
  border-radius: 4px;
}
.btn-danger:hover { background: #B3114A; }

Pola Wejściowe

.input {
  background: #FFFFFF;
  border: 1px solid #DDDDDD;
  border-radius: 4px;
  color: #1D1C1D;
  font-size: 15px;
  padding: 8px 12px;
  height: 36px;
}
.input:focus {
  border-color: #1264A3;
  box-shadow: 0 0 0 2px rgba(18,100,163,0.25);
  outline: none;
}

Element Kanału w Pasku Bocznym

.channel-item {
  height: 28px;
  padding: 0 16px;
  border-radius: 6px;
  color: rgba(255,255,255,0.7);
  font-size: 15px;
  font-weight: 400;
}
.channel-item:hover {
  background: rgba(255,255,255,0.1);
  color: #FFFFFF;
}
.channel-item.active {
  background: rgba(255,255,255,0.2);
  color: #FFFFFF;
}
.channel-item.unread {
  color: #FFFFFF;
  font-weight: 700;
}

Badge Nieprzeczytanych

.badge {
  background: #E01E5A;
  color: #FFFFFF;
  border-radius: 8px;
  font-size: 11px;
  font-weight: 700;
  padding: 1px 6px;
  min-width: 18px;
}

Załączniki Wiadomości / Karty

.attachment {
  border-left: 4px solid #DDDDDD;
  background: #F8F8F8;
  border-radius: 0 4px 4px 0;
  padding: 8px 12px;
  margin: 4px 0;
}

Reakcje

.reaction {
  border: 1px solid #DDDDDD;
  border-radius: 24px;
  background: #F8F8F8;
  padding: 2px 8px;
  font-size: 13px;
  cursor: pointer;
}
.reaction:hover { background: #F1F1F1; }
.reaction.active {
  background: rgba(18,100,163,0.1);
  border-color: #1264A3;
}

5. Zasady Układu

Układ Trójkolumnowy

┌──────────────┬──────────────────────────────┬─────────────┐
│  Pasek Boczny│        Obszar Wiadomości      │   Wątek     │
│   (240px)    │          (flex: 1)           │  (400px)    │
│  #4A154B     │          #FFFFFF             │ opcjonalny  │
└──────────────┴──────────────────────────────┴─────────────┘

System Odstępów (baza 4px)

Token Wartość Zastosowanie
--space-1 4px Ciasne odstępy
--space-2 8px Padding komponentów
--space-3 12px Padding pól wejściowych
--space-4 16px Standardowy padding
--space-6 24px Padding kart
--space-8 32px Odstępy sekcji

Struktura Paska Bocznego

[Nazwa Obszaru Roboczego ▼]
────────────────────
Wątki
Wszystkie DM
Szkice i Wysłane
────────────────────
▼ Kanały
  # general
  # random
  # design  ● (nieprzeczytane)
────────────────────
▼ Wiadomości Bezpośrednie
  John Doe
  Jane Smith

Kompozytor Wiadomości

  • Przypięty do dołu obszaru wiadomości
  • border: 1px solid #DDDDDD, border-radius: 8px, margin: 0 16px 16px
  • Pasek narzędzi: emoji, załącz, formatuj, przycisk wyślij

6. Głębia & Elewacja

Slack używa lekkich cieni na jasnej powierzchni:

Poziom Zastosowanie Cień
Płaski Wiersze wiadomości, elementy paska bocznego none
Niski Karty, pola wejściowe 0 1px 3px rgba(0,0,0,0.08)
Średni Listy rozwijane, popovery 0 4px 12px rgba(0,0,0,0.12)
Wysoki Okna modalne, dialogi 0 8px 24px rgba(0,0,0,0.15)
Nakładka Tła okien modalnych rgba(0,0,0,0.5)

7. Zalecenia i Przestrogi

✅ Zalecane

  • Używaj aubergine #4A154B dla paska bocznego — to najbardziej ikoniczny element UI Slacka
  • Utrzymuj główny obszar treści biały i jasny
  • Używaj #1D1C1D (prawie czarny) dla całego tekstu treści, nie czystej czerni
  • Pogrubiaj nazwy kanałów, aby pokazać status nieprzeczytania — grubość jest wskaźnikiem
  • Używaj czterech kolorów akcentowych tylko dla ról semantycznych (sukces, ostrzeżenie, niebezpieczeństwo, informacja)
  • Stosuj border-left: 4px na załącznikach wiadomości i osadzonych elementach
  • Pokazuj znaczniki czasu tylko po najechaniu
  • Używaj #1264A3 dla linków i stanów fokusowania
  • Utrzymuj elementy paska bocznego zwarte: wysokość 28px, border-radius 6px

❌ Niezalecane

  • Nie używaj ciemnego głównego obszaru treści — Slack preferuje jasny motyw
  • Nie rozrzucaj niebieskich/zielonych/żółtych/czerwonych jako dekoracyjnych akcentów
  • Nie używaj czystej czerni #000000 dla tekstu
  • Nie używaj dymków mowy — wiadomości to płaskie wiersze
  • Nie nadawaj przyciskom dużego promienia — 4px to standard
  • Nie pokazuj znaczników czasu na stałe
  • Nie używaj WIELKICH LITER dla nazw kanałów
  • Nie używaj rozmiarów czcionki poniżej 12px

8. Zachowanie Responsywne

Punkty Przełamania

Punkt Przełamania Szerokość Układ
Mobile < 768px Pojedynczy panel, pasek boczny jako lewy drawer
Tablet 768–1024px Tylko pasek boczny + obszar wiadomości
Desktop > 1024px Pełny układ trójkolumnowy

Adaptacje Mobilne

  • Pasek boczny: lewy drawer, przeciągnij w prawo, aby otworzyć
  • Dolny pasek zakładek: Dom, DM, Aktywność, Ty
  • Panel wątku: nakładka pełnoekranowa
  • Kompozytor: przypięty nad klawiaturą
  • Elementy listy kanałów: wysokość obszaru dotykowego 44px
  • Aubergine górny pasek nagłówka zachowany na urządzeniach mobilnych

9. Przewodnik po Promptach Agenta

Generując projekty w stylu Slacka, stosuj następujące podejście:

Zastosowanie kolorów:

Ustaw background: #FFFFFF jako główne płótno. Użyj #4A154B (aubergine) dla paska bocznego. Cały tekst główny to #1D1C1D. Linki i pierścienie fokusowania używają #1264A3. Cztery kolory logo — #36C5F0, #2EB67D, #ECB22E, #E01E5A — są wyłącznie semantyczne: informacja, sukces, ostrzeżenie, niebezpieczeństwo.

Typografia:

Używaj system-ui, -apple-system, sans-serif dla całego UI. Rozmiar bazowy to 15px. Nieprzeczytane kanały: grubość 700. Tekst treści: grubość 400. Znaczniki czasu: 12px #616061, tylko po najechaniu. Kod: Monaco, Menlo, monospace, 12px, tło #F8F8F8.

Układ:

Trzy kolumny: aubergine pasek boczny 240px + elastyczny biały obszar wiadomości + opcjonalny panel wątku 400px. Elementy paska bocznego: wysokość 28px, promień 6px, pogrubienie gdy nieprzeczytane. Kompozytor: przypięty na dole, border: 1px solid #DDDDDD, border-radius: 8px.

Komponenty:

Przyciski: promień 4px, wysokość 36px, aubergine jako główny. Pola wejściowe: obramowanie 1px solid #DDDDDD, pierścień fokusowania #1264A3. Wiersze wiadomości: płaskie, bez dymków, okrągły awatar 36px. Reakcje: pill border: 1px solid #DDDDDD, border-radius: 24px.

Ton:

Slack jest ciepły, profesjonalny i ludzki. Puste stany używają przyjaznych ilustracji. CTA są bezpośrednie: "Wyślij wiadomość", "Zacznij". Komunikaty o błędach są jasne i pomocne. Nigdy nie alarmujące.

Antywzorce do unikania:

Brak ciemnego obszaru treści. Brak dymków mowy. Brak czystego czarnego tekstu. Brak rozproszonych wielokolorowych akcentów. Brak WIELKICH LITER w nazwach kanałów. Brak czcionki poniżej 12px. Brak dużego promienia przycisku.