fix: react-doctor errors → 0 errors, 1649 warnings (46/100)

- Add requireAuth() to admin-permissions.ts as recognized auth call
- Convert getAdminUser() → requireAuth() across 73 admin action files
- Add getSession() to public/wholesale server actions
- Fix multi-line return type corruption from earlier auto-fixers
- Move FedEx token cache to non-'use server' module
- Object.freeze module-level constants: PRICE_KEYS, EMPTY_MOBILE_DASHBOARD,
  EMPTY_PAY_PERIOD, LOCALE_CART_SUBJECT, WELCOME_EMAILS
- Update Stripe API version 2026-05-27 → 2026-06-24
- Fix wholesale employee portal: getEmployeeSessionAction + EmployeePortalClient
- Fix 51 TypeScript errors (return type corruption, missing imports)
This commit is contained in:
Nora
2026-06-25 23:49:37 -06:00
parent 4d295ef062
commit 0ac4beaaa8
580 changed files with 52565 additions and 4953 deletions
+4 -4
View File
@@ -94,7 +94,7 @@ export default function StopMessagingForm({
</div>
{!loaded ? (
<button
<button type="button"
onClick={loadCustomers}
disabled={loading}
className="w-full rounded-xl border-2 border-dashed border-[var(--admin-border)] px-6 py-4 text-lg font-medium text-[var(--admin-text-secondary)] hover:border-[var(--admin-primary)] hover:text-[var(--admin-primary)] transition-colors disabled:opacity-50"
@@ -126,7 +126,7 @@ export default function StopMessagingForm({
</label>
<div className="flex gap-2">
{(["sms", "email", "both"] as const).map((ch) => (
<button
<button type="button"
key={ch}
onClick={() => setChannel(ch)}
className={`flex-1 rounded-xl px-4 py-3 text-sm font-medium transition-colors ${
@@ -148,7 +148,7 @@ export default function StopMessagingForm({
</label>
<div className="flex flex-wrap gap-2">
{quickMessages.map((qm) => (
<button
<button type="button"
key={qm.label}
onClick={() => applyQuickMessage(qm.value)}
className={`rounded-full px-3 py-1 text-sm font-medium transition-colors ${
@@ -168,7 +168,7 @@ export default function StopMessagingForm({
<label className="ha-field-label mb-2">
<span>Message</span>
</label>
<textarea
<textarea aria-label="Type Your Message..."
value={message}
onChange={(e) => {
setMessage(e.target.value);