Commit Graph

25 Commits

Author SHA1 Message Date
heagbokat
ae01ebdeea feat: clean navbar icons, floating theme bubble, auto theme on first visit
- Navbar: remove theme switcher, clean nav icons (no text labels),
  active state is accent dot underline + icon color — no pill bg
- useTheme: drop 'system' from stored type; first visit = auto
  by system preference, stays unset until user explicitly clicks
- ThemeBubble: fixed bottom-right pill with Sun/Moon icon + label,
  hover lift, click toggles light ↔ dark and persists to localStorage
- App.tsx: render ThemeBubble inside ThemeProvider

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-26 00:51:42 +03:00
heagbokat
492bd1b4e1 fix: redesign buttons — depth, outline contrast, press effect
- button.tsx: primary gets gradient + shadow + hover glow + -translate-y-px
  lift; outline gets border-2 for visibility on dark bg; all variants
  get active:scale-[0.96] press feel; lg size h-12 for auth forms
- Remove hardcoded bg-[var(--accent)] overrides from Login, Register,
  Feed, Profile, Upload — variants now handle all coloring

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-26 00:47:44 +03:00
heagbokat
91ab44c6fb feat: UI redesign — polished layout, modal, nav, profile
- CSS: refined shadows with border ring, dark bg #0A0A0A, larger card
  radius (16/22px), modal-backdrop blur, scrollbar styling, new
  dropzone + profile-grid CSS classes
- Navbar: paw emoji logo, labels under icons, accent gradient bar,
  active-state ring on avatar
- Login / Register: auth card with decorative background blobs,
  form wrapped in card, cleaner spacing
- CatModal: two-column layout on desktop (photo left, info right),
  modal-backdrop blur, comment input with user avatar, like label
- ProfilePage: 88px avatar with camera overlay, inline stat bar with
  icons, grid section divider, Stat helper component
- CatCard: points badge in header (amber), caption text secondary
  color, ring on avatar
- FeedSidebar: color-coded rank badges, hover rows, star icon
- UploadPage: new dropzone-idle/dropzone-active CSS classes,
  filename chip on preview, UserAvatar in caption row, HEIC/AVIF in
  accepted formats hint, 500-char counter

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-26 00:30:41 +03:00
heagbokat
94fff09a41 feat: infinite scroll, HEIC support, likes fix, security & backup
- Fix liked hearts not showing after page reload (sync useEffect in CatCard)
- Replace pagination with infinite scroll (useInfiniteQuery + IntersectionObserver)
- Add HEIC/HEIF/AVIF image support with sharp conversion to JPEG on upload
- Validate MIME type alongside file extension to prevent spoofing
- Limit caption to 500 chars; increase upload size limit to 20MB
- Delete physical file from uploads/ when post is removed (cats + admin routes)
- Add WAL journal mode and graceful shutdown (SIGTERM/SIGINT) to db
- Add rate limiter for upload endpoint (10 req / 15 min)
- Add pre-deploy backup of data.db and uploads/ to deploy.sh (keeps last 10)
- Add plan_modernization.md with ideas for future improvements

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-26 00:18:46 +03:00
heagbokat
81c9bba56f feat: redesign UI with pastel theme, dark mode and smooth animations
- Add light/dark/system theme switcher with localStorage persistence
  and automatic prefers-color-scheme detection
- New pastel Instagram-inspired palette: rose accent (#C9445D light,
  #E8687E dark), clean #FAFAFA / #000000 backgrounds
- Replace all hardcoded bg-white / red-* colors with CSS variables
  so every page and modal respects the active theme
- Smooth card hover: translateY elevation + image zoom (no layout shift)
- Micro-animations on action buttons with spring cubic-bezier
- Editorial navbar: 3px accent top bar, uppercase wordmark
- Theme toggle button (sun/moon/monitor) added to navbar

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-25 23:57:33 +03:00
heagbokat
e0247bc288 Fix case-insensitive auth and harden for production
- Fix login/register to treat usernames case-insensitively (HeagBoKaT == heagbokat) using LOWER() in SQL with JS .toLowerCase() for Unicode safety
- Add helmet for HTTP security headers and express-rate-limit on auth endpoints (20 req / 15 min) to prevent brute-force
- Lock CORS to ALLOWED_ORIGIN env var; warn if JWT_SECRET is the default dev key
- Serve built client/dist from Express so a single PM2 process handles everything
- Add deploy.sh, README.md with full first-run and auto-restart instructions, and server/.env.example

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-25 23:29:06 +03:00
HeagBoKaT
68c17b16fe Fix avatar picker modal: use createPortal to escape animated parent 2026-05-29 15:51:12 +03:00
HeagBoKaT
398f3225de Fix modal: use createPortal to render outside transformed parent 2026-05-29 15:49:48 +03:00
HeagBoKaT
eea0fd716a Fix modal: simple flex center, remove body position hacks 2026-05-29 15:30:53 +03:00
HeagBoKaT
2086483ede Fix modal: position at 50vh with translate-y -50% 2026-05-29 15:22:13 +03:00
HeagBoKaT
40d3729a78 Fix modal offset: use overflow:hidden instead of position:fixed on body 2026-05-29 15:10:27 +03:00
HeagBoKaT
c0be9f6eb4 Fix modal: center on all screens, remove bottom-sheet that caused offset 2026-05-29 15:06:22 +03:00
HeagBoKaT
f043107f87 Fix modal scroll shift: add width:100% to body lock 2026-05-29 14:59:33 +03:00
HeagBoKaT
466cb97a4e Fix likes batch route order, add profile links to all usernames 2026-05-29 14:46:18 +03:00
HeagBoKaT
025e52e6b1 Fix likes display, add avatar system (presets+upload), improve desktop layout, fix profile viewing 2026-05-29 14:21:40 +03:00
HeagBoKaT
3664b60f10 Fix mobile scroll jump, add comments, rename to Котограм 2026-05-29 13:58:42 +03:00
HeagBoKaT
4bf9ea22dd UI: complete redesign — warm atelier style, Manrope font, burnt orange accent, shadow-based cards 2026-05-29 13:34:58 +03:00
HeagBoKaT
7fa7394739 UI: modern editorial redesign — stone palette, blue-purple gradient, clean typography 2026-05-29 13:19:05 +03:00
HeagBoKaT
cfc6001d62 Админ: управление caption, баллами, список постов 2026-05-29 12:43:37 +03:00
HeagBoKaT
12701ffbc2 Баллы +1 за загрузку, убраны из лайков. Админ-панель (admin/admin123) 2026-05-29 12:13:42 +03:00
HeagBoKaT
f8f220469c UI: доработано оформление — тени, анимации, градиенты, iOS-стиль 2026-05-29 11:52:04 +03:00
HeagBoKaT
a67b8c3341 UI: полноценный красивый интерфейс, iOS-style дизайн, все страницы 2026-05-29 11:12:53 +03:00
HeagBoKaT
b277e0f177 UI: Telegram-стиль, синий акцент, bubble-карточки 2026-05-29 10:42:13 +03:00
HeagBoKaT
ea0df060e8 UI: тёплый современный дизайн + русификация 2026-05-29 10:38:01 +03:00
HeagBoKaT
e4b25fe4b7 first commit 2026-05-29 10:23:25 +03:00