Commit Graph

24 Commits

Author SHA1 Message Date
zio
39660772ab fix(web): full-bleed responsive sweep across all screens (task #39)
Normalize 13 custom page roots to the .kx-page canon (flex:1, min-width:0,
overflow-y:auto) fixing right-side dead space and bottom clipping inside the
shell content flexbox; add missing narrow-width breakpoints to settlement KPIs
and hall-assignment forms. No visual redesign - WISE shell and kx tokens intact.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-13 05:31:31 +09:00
zio
452398d941 docs: reconcile owner feedback log with deployed state (2026-07-13)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-13 05:16:36 +09:00
zio
7a117a018c fix(mobile): declare roleCode on AuthUser so admin/manager land on tabs home, not visitor tickets
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-13 05:16:35 +09:00
zio
ecf60aac1d feat(web): tabulator data table + breadcrumb/404 navigation + message-template admin
- KxDataTable: in-house tabulator features (sort/filter/pagination/CSV UTF-8 BOM)
  on canonical .kx-table; applied to exhibitors, lead scoring, visitor registration
- Breadcrumb in shell content top (menu-IA-aligned trails, detail->list return),
  NotFoundPage wired to router catch-all with role-aware home return
- MessageAdminPage (/admin/messages): V48 sys_message CRUD + {key} placeholder
  render preview, wired to shell menu / breadcrumb / MDI labels / admin dashboard
- i18n: datatable/breadcrumb/notFound/msg namespaces, ko-en-zh-ja parity kept

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-13 05:16:35 +09:00
zio
e67db2e773 merge: reconcile with server-side deploy snapshot 58aa844 (keep local tree)
Remote main was force-rewritten by the deploy pipeline into a single snapshot
commit built from local 0add2cd/490b723. Local HEAD supersedes it (deliverables
docs, icons.tsx, title-icon sweep, gitignore, solution-name fix), so this merge
keeps the local tree verbatim while preserving the remote commit in history.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-13 04:32:48 +09:00
zio
37aeebdd28 솔루션명 수정 2026-07-13 04:23:07 +09:00
GUARDiA
58aa8440d9 deploy: public header restore + accent white-text sweep + mobile v0.2.0 source (web 0add2cd/mobile 490b723 over f3b800f) 2026-07-13 00:31:51 +09:00
zio
277c895b47 chore: gitignore graphify-out and screenshot generated outputs
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-13 00:30:30 +09:00
zio
490b723a45 chore(mobile): v0.2.0 source snapshot for reproducibility
- app.json: version 0.2.0 / versionCode 2, drop expo-screen-capture plugin
- add lib/i18n (ko/en/ja/zh), lib/roleTrack, LanguageContext + LanguageSelector
- profile/security hardening across screens (login/register/forgot/profile/tabs)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-13 00:29:38 +09:00
zio
0add2cd417 fix(web): restore public header login + track-tab icons/tooltips, visitor CTA to /tickets/lookup, accent-button white-text sweep
- PublicShell: track tabs get icons + title tooltips (right-aligned), login link restored at >=768px
- VisitorTrackPage: wayfinding/checkin CTAs point to #guide/#transport//tickets/lookup instead of /login
- accent buttons: enforce --color-on-accent (white text) across approval/docs/home/movein/schedule/work/public

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-13 00:29:12 +09:00
zio
f3b800f9be fix(auth): grant global ADMIN hall-manager scope to resolve 403 on event-scoped APIs
KintexPrincipal.hasAccess/roleFor ignored global role_code=ADMIN, so
admin@ users got 403 on all event-scoped endpoints. Add isAdmin() and
treat ADMIN as hall-manager equivalent (all-event read + approve).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-13 00:15:25 +09:00
zio
c77cba7c5b feat(web): home calendar holiday markers + unify public header into single frame
- HomePage: wire fetchHolidaySet, is-holiday cell class + holiday name label
- home.css: is-holiday red daynum, kx-home__cal-holiday-name, neutral-100 grid lines
- PublicShell: absorb 3-track switcher into single top header (COEX 1-frame), drop dark topbar
- public.css: remove .kxp-topbar styles, tracktabs bar/menu variants

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-12 23:56:59 +09:00
zio
a5a78f1ea1 feat(web): exhibitor mgmt, Nifty detail views, app-download QR, settings customizer, home todos + i18n
- exhibitors: organizer exhibitor roster page + read-only backend (Controller/Service/@Mapper/dto), /exhibitors route
- detail views: Nifty blog-style .kx-detailview for auction & review-details (+shared.css)
- app download: AppQrCodePage visual/class hardening
- settings customizer: customizerStore + SettingsCustomizer panel (density/accent), AppShell gear wiring, menu-fallback removal
- home: todos aggregation (8 sources) HomePage/homeApi/HomeMapper/HomeService
- i18n: merge 112 new keys across ko/en/zh/ja (parity 0 missing)

No new migrations (read-only queries); Flyway stays at V49.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-12 23:36:02 +09:00
zio
55a3114141 feat(login): add password show/hide (eye) toggle on login form
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-12 22:31:34 +09:00
zio
7316cd99c5 feat(public): rotating 5-slide hero backdrop with real photos on public tracks
Add PublicHeroSlides cross-fade component (5 real JPGs) wired into
gateway/visitor/business/agency hero backdrops. Rotation handled by
usePublicMotion ([data-hero-slides], reduced-motion aware); .pub-hero__slides
layering + is-active transition in public.css. Graceful gradient fallback on
image load error.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-12 22:09:35 +09:00
zio
c595560d82 fix(system/message): avoid bean-name collision with existing work/message module
Existing com.zioinfo.kintex.work.message.{MessageController,MessageService,MessageMapper}
share default bean names with the new system/message beans, causing
ConflictingBeanDefinitionException at startup (health-check fail -> rollback).
- rename mapper interface MessageMapper -> SysMessageMapper (MyBatis bean name can't
  be overridden by annotation value)
- explicit bean names: @RestController("sysMessageController"), @Service("sysMessageService")
No request-path change (new: /api/admin/messages, /api/messages/{code}/render).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-12 21:51:24 +09:00
zio
276293ebe7 feat(system,ui): message-template admin (V48) + empty-table demo seed (V49) + Nifty design/token alignment & public card visuals
- system/message: sys_message template CRUD + {key} render API (ADMIN-gated, render for authed)
- V48: sys_message table + 36 seeded templates (9 codes x ko/en/zh/ja), idempotent upsert
- V49: backfill 12 empty domain tables (render_job, cms_media, logistics_*, mail_log,
  edm_followup, webhook_*, login_history, sys_role_menu, audit_log); idempotent guards.
  followup ON CONFLICT targets business key (event_id, lead_id) to skip pre-seeded rows
- frontend: Nifty token/typography sweep (--fs-*/--fw-*), public e-card 3:4 media + cover fit,
  footer copy update across ko/en/zh/ja

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-12 21:40:38 +09:00
zio
3077cb04f5 feat(public,settlement): coex-style public visuals + Nifty calendar + local poster assets + e-2026-live close-loop demo (V46,V47)
- public: motion hooks (usePublicMotion), gateway/track/shell visual refresh, stat-band white->on-accent contrast fix
- schedule: Nifty calendar restyle (neutral cell borders, today warning-bg)
- settlement: card padding fix
- i18n: +public visual keys (ko/en/zh/ja)
- backend: PublicEventDto.posterUrl (additive, non-breaking) via PublicSiteMapper/Service
- db: V46 rewires event.poster_url to local /media/posters assets (34 imgs); V47 seeds e-2026-live close-loop (invoice/payment/tax/refund, auction/bid/award, visitor/lead, edm/sponsorship)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-12 20:59:59 +09:00
zio
55e27b3309 fix(theme): white text on colored buttons/badges in dark mode (--color-on-accent)
Root cause: dark theme remaps --color-white to --dk-surface (a dark color),
so every 'color: var(--color-white)' on a colored background (primary/error/
success buttons, badges, chips, hero CTAs) rendered dark/invisible text in
dark mode (e.g. '등록 신청' blue button showed navy text).

Add always-white --color-on-accent token and repoint 77 text-color usages
across 28 files to it. Background/border usages of --color-white untouched
(they legitimately flip to dark surface). Full-CSS audit applied.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-12 20:34:30 +09:00
zio
87f310f40a fix(brand): replace Tomcat default favicon.ico with KINTEX-branded icon
Root cause of persistent Tomcat cat favicon: public/favicon.ico was the
Tomcat default (21630 bytes), shipped by every build; browsers prefer
/favicon.ico over the correct favicon.png. Regenerate favicon.ico from the
KINTEX wordmark PNG (multi-size 16/32/48/64) and bump cache-bust to v3.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-12 20:10:56 +09:00
zio
a2b2bd9110 feat(ui): add line shield-check icon to 2FA challenge panel
- icons.tsx: new IconShieldCheck (stroke/line, 24 viewBox standard)
- OtpChallengePanel: shield badge above 2차 인증 title (was icon-less/bare)
- login.css: .kx-otp__badge circular primary-tinted badge

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-12 20:05:01 +09:00
zio
6e95ac6273 fix(schedule,ui): mark holidays on mini-calendar + neutral cell borders; fix disabled CTA label contrast
- ExhibitionSchedulePage MiniCalendar: pass/receive holidays prop, apply
  is-holiday class + title/aria per date cell
- schedule.css: neutral-200 border on kx-cal cells; is-holiday cells in error color
- mobile.css: disabled CTA label neutral-500 (contrast fix)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-12 19:47:31 +09:00
GUARDiA
cf6a9a2171 chore(frontend): cache-bust favicon links to evict stale default icon 2026-07-12 19:28:53 +09:00
GUARDiA
6294627070 fix(schedule,ui): holidays on exhibition calendar, bilingual brand, neutral calendar borders 2026-07-12 19:16:48 +09:00