# 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 ```css /* 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 ```css .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 ```css .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 ```css .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 ```css .attachment { border-left: 4px solid #DDDDDD; background: #F8F8F8; border-radius: 0 4px 4px 0; padding: 8px 12px; margin: 4px 0; } ``` ### Reakcje ```css .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.