feat(09-05): ProfileChannelsSection (Teams + ntfy + QR code) + qrcode.react install

- Create ProfileChannelsSection.tsx with Teams + ntfy sub-sections
- Teams: URL input, inline 400 error (teamsError), save/clear buttons, inline test result
- ntfy: mint-on-first-save (State A → State B), QR code via QRCodeSVG, subscribe link
- ntfy: advanced disclosure with custom topic input + inline 400 error (customTopicError)
- ntfy: test-now and remove buttons
- Install qrcode.react ^4.2.0 (node_modules + package.json + package-lock.json updated)
- Delete ProfileChannelsSectionPlaceholder.tsx (replaced by real component)
- Update app/mobile/profile/page.tsx import to ProfileChannelsSection (not Placeholder)
This commit is contained in:
lorentz 2026-05-10 07:48:03 -04:00
parent 7238c97a98
commit 1b7c453c6d
5 changed files with 363 additions and 26 deletions

View file

@ -6,7 +6,7 @@ import { requireAuth } from '@/lib/auth-utils';
import { ProfileTimezoneSection } from '@/components/mobile/profile/ProfileTimezoneSection';
import { ProfileThemeSection } from '@/components/mobile/profile/ProfileThemeSection';
import { ProfileNotificationMatrix } from '@/components/mobile/profile/ProfileNotificationMatrix';
import { ProfileChannelsSection } from '@/components/mobile/profile/ProfileChannelsSectionPlaceholder';
import { ProfileChannelsSection } from '@/components/mobile/profile/ProfileChannelsSection';
export default async function MobileProfilePage() {
const { session, error } = await requireAuth();