8.1 KiB
8.1 KiB
DESIGN.md — HRIS MP (Menjadi Pengaruh Group)
HR Information System — Web Admin Dashboard & Employee Mobile App
⚠️ CRITICAL: This is a LIGHT THEME application. Do NOT use dark mode. All page backgrounds are light gray (#F8FAFC). All cards and content areas are WHITE (#FFFFFF). The sidebar is WHITE with a light gray right border. The dark navy color (#130F26) is ONLY used for: active sidebar menu items, primary action buttons, and the avatar circle. Everything else should be light, clean, and white.
Brand Identity
- Product Name: HRIS MP
- Company: Menjadi Pengaruh Group
- Design Mood: Clean, bright, minimal, professional, corporate. Light and airy with plenty of white space.
- Overall Feel: Like a premium SaaS admin dashboard. Think Linear, Notion, or Vercel Dashboard — clean white interfaces with subtle shadows.
Typography
- Font: Inter (Google Fonts), weights 300–700
- Page Title: 24px, Bold, color #1e293b (dark slate)
- Section Title: 18px, Bold, color #1e293b
- Card Label: 14px, Semibold, UPPERCASE, color #64748b (gray)
- Body Text: 14px, Regular, color #1e293b
- Secondary Text: 14px, Regular, color #64748b (medium gray)
- Caption/Small: 12px, color #94a3b8 (light gray)
- Badge Text: 10px, Bold
Color Palette
IMPORTANT: Light Theme Colors
Page background: #F8FAFC (very light gray, almost white) Card/Content background: #FFFFFF (pure white) Sidebar background: #FFFFFF (pure white) with right border #e2e8f0
Accent Color (used sparingly!)
- Primary accent: #130F26 (very dark navy) — ONLY for active menu items, primary buttons, and avatar
- Primary gradient: from #130F26 to #2A244A — ONLY for primary action buttons
- Primary hover: #1E1B3A
Text Colors
- Heading text: #1e293b (dark slate) on white background
- Body text: #334155 (medium dark) on white background
- Secondary text: #64748b (medium gray) on white background
- Placeholder text: #94a3b8 (light gray)
- Disabled text: #94a3b8
Border & Divider Colors
- Card borders: #f1f5f9 (very subtle, barely visible)
- Input borders: #e2e8f0 (light gray)
- Table dividers: #f1f5f9 (very light)
- Sidebar section dividers: #e2e8f0
Semantic Status Colors (for badges and indicators only)
- Success/Approved: bg #dcfce7, text #16a34a (green)
- Pending/Warning: bg #fff7ed, text #f97316 (orange)
- Rejected/Error: bg #fef2f2, text #dc2626 (red)
- Info: bg #eff6ff, text #2563eb (blue)
Action Button Colors
- Edit button: bg #fffbeb (light amber), text #d97706 (amber)
- Delete button: bg #fef2f2 (light red), text #dc2626 (red)
- Primary button: bg gradient #130F26→#2A244A, text white
Stat Card Icon Backgrounds (pastel, light colors)
- Indigo: bg #eef2ff, icon #4f46e5
- Purple: bg #faf5ff, icon #9333ea
- Blue: bg #eff6ff, icon #2563eb
- Emerald: bg #ecfdf5, icon #059669
- Orange: bg #fff7ed, icon #ea580c
- Red: bg #fef2f2, icon #dc2626
Shadows (subtle, not heavy)
- Card default: 0 2px 12px -2px rgba(0,0,0,0.04) — very subtle
- Card hover: 0 4px 20px -2px rgba(0,0,0,0.05) — slightly more visible
- Button hover glow: 0 0 15px rgba(19,15,38,0.15) — subtle navy glow
Layout Structure
Overall Page Layout
- Left: Fixed sidebar (288px wide, WHITE background, light gray right border)
- Right: Scrollable content area (light gray #F8FAFC background)
- Top of content: Sticky header bar (white with frosted glass effect)
Sidebar (LEFT SIDE)
- Background: WHITE (#FFFFFF)
- Width: 288px
- Right border: 1px solid #e2e8f0 (light gray line)
- Top: Company logo centered (height ~112px area)
- Menu items:
- Active item: bg #130F26 (dark navy), text white, rounded 12px, subtle shadow
- Inactive item: text #64748b (gray), hover: bg #f8fafc, text #0f172a
- Icon size: 20x20px, on the left of text
- Text: 14px semibold
- Section labels: 10px, bold, uppercase, gray (#94a3b8), with horizontal lines on both sides
- Sections: "Manajemen", "Absensi", "Data Master" (collapsible with chevron)
- Bottom: "Pengaturan Akun" link + red "Logout" button
Top Header Bar
- Background: white with 70% opacity + backdrop blur (frosted glass)
- Sticky at top
- Bottom border: 1px solid rgba(226,232,240,0.6)
- Very subtle shadow
- Left: Page title (24px, bold, #1e293b)
- Right: Notification bell icon → User name + email text → Circular avatar
- Avatar: 44px circle, gradient #130F26→#2B2545, white letter inside, white ring around it
Components
Cards
- Background: WHITE
- Border: 1px solid #f1f5f9 (barely visible)
- Border radius: 16px to 24px
- Shadow: very subtle (see shadows section)
- Padding: 24px inside
- On hover: slight lift (-1px up) with slightly stronger shadow
Stat Cards (Dashboard)
- Background: WHITE
- Large number: 30-36px, extra bold, color #1e293b
- Label: 14px, semibold, uppercase, color #64748b
- Icon: in a pastel-colored rounded square (16px radius, 12px padding)
- Subtle decorative gradient orb in background at very low opacity (3%)
Data Tables
- Container: WHITE background, 16px border radius, ring-1 #f1f5f9
- Header row: bg #f8fafc (almost white), text #64748b, 11px, bold, uppercase
- Body rows: WHITE background, divided by 1px #f1f5f9 lines
- Row hover: slight lift with shadow
- Cell padding: 16px vertical
Input Fields
- Background: #f8fafc (very light gray), turns WHITE on focus
- Border: 1px solid #e2e8f0
- Border radius: 12px
- Height: 44px
- Focus state: 4px ring in rgba(19,15,38,0.1), border turns #130F26
- Label above: 14px, semibold, #334155
Buttons
- Primary: gradient #130F26→#2A244A, text white, 12px radius, hover lifts up
- Secondary: WHITE bg, border #e2e8f0, text #334155
- Danger: gradient red-600→red-500, text white
- All buttons: 12px radius, padding 10px 24px
Modals
- Overlay: #0f172a at 40% opacity + backdrop blur
- Modal box: WHITE bg, 16px radius, heavy shadow
- Header: frosted glass (white 80% + blur), title bold, close X button
- Content area: white, 24px padding
Badges/Status Pills
- Small rounded-full pills
- Approved: light green bg #dcfce7, green text #16a34a
- Pending: light orange bg #fff7ed, orange text #f97316
- Rejected: light red bg #fef2f2, red text #dc2626
- Size: 10px bold text, padding 2px 8px
Search Input
- Same as input field but with magnifying glass icon on the left
Pagination
- Active page: bg #130F26, text white, rounded
- Inactive: WHITE bg, border, text #475569
Notification Dropdown
- Bell icon (24px), with red count badge
- Dropdown: WHITE bg, 384px wide, 16px radius, heavy shadow
- Each item: icon + title + message + time
SweetAlert Dialogs
- Rounded 20px, WHITE bg, centered
- Confirm button: #130F26 bg, full width
- Cancel button: #f1f5f9 bg, gray text
Page Types
1. Login Page
- Split screen: Left half = full bleed image with primary color overlay, Right half = WHITE form area
- Form: centered, max 384px wide
- Title "Sign in": 30px, extra bold, #130F26
- Inputs with labels
- Full-width primary button
- Footer: copyright text
2. Dashboard
- Stat cards in 4-column grid (responsive)
- Charts below
- WHITE cards on light gray page background
3. Data Table Pages
- Page header: title + subtitle + action buttons
- Filter bar: dropdowns + search input
- WHITE table card
- Pagination
4. Form Pages (Create/Edit)
- Back button
- WHITE form cards with sections
- 2-column grid layout for form fields
- Save button
5. Modal CRUD Pages (Divisi, Jabatan, Shift, Role, etc.)
- Table page with "+ Tambah" button
- Centered modal overlay for create/edit
- Same table + modal pattern
6. Calendar Page (Jadwal)
- Month view calendar
- Color-coded shift events
- Legend bar
Mobile App (Flutter)
- Light theme matching web
- Background: #F8FAFC
- Cards: WHITE
- Primary accent: #130F26
- Bottom navigation bar
- Card-based layouts
Animations
- Button hover: lift 0.5px up + glow shadow
- Card hover: lift 1px up + stronger shadow
- Sidebar icon hover: scale to 110%
- Modal: fade + slide up + scale
- Dropdown: fade + slide down
- Table row hover: lift with shadow
- All transitions: 200-300ms ease