Main - #1
Open
miracleweasel wants to merge 77 commits into
Open
Main#1miracleweasel wants to merge 77 commits into
miracleweasel wants to merge 77 commits into
Conversation
…, drizzle defaults cleanup
Spacious layouts, softer shadows, larger radii, Inter font, pill CTAs, table-based submissions, grid form cards, breadcrumbs, empty states, gradient CTA section, trust bar, SVG icons, white filter bar, and improved i18n copy across landing, dashboard, and public form pages. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
… Sentry, Plausible, Railway - Onboarding checklist (3-step) on /forms dashboard with inline Backlog config - Settings page (/settings) with reusable BacklogConnectionForm component - Sentry error monitoring (client/server/edge, global-error.tsx, sanitized) - Plausible analytics (conditional script via NEXT_PUBLIC_PLAUSIBLE_DOMAIN) - Railway deployment config (standalone output, railway.json, healthcheck) - CSP updated for plausible.io + sentry.io - i18n: onboarding + settings sections (JA/EN) - Nav: Settings link added between Forms and Billing - proxy.ts: /settings route protected by auth Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The standalone server doesn't serve .next/static by default, causing CSS/JS to not load in production. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add magic link authentication (email-only, no password) - Add users and magic_links tables (migration 0006) - Add Resend email integration for magic link delivery - Rewrite all API routes for multi-user scoping (user_email on forms) - Add /api/auth/verify endpoint for magic link verification - Auto-register users on first login (upsert) - Scope forms, submissions, billing, integrations per user - Update login UI (email-only, "check your email" flow) - Remove password.ts, admin.ts, hash-password.ts - Add lib/auth/cookies.ts, getSessionEmail.ts, requireUser.ts - Update all tests (279 pass, 0 fail) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…tadata - Add pain point section (before/after comparison) to landing page - Add FAQ section with 5 common questions (JA/EN) - Add Open Graph + Twitter Card metadata for SEO - Add keywords meta tag - Improve magic link email template (proper HTML email, text fallback) - Update privacy page (remove password references, magic link auth) - Update README.md and CLAUDE.md with current state Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Date objects cannot be passed directly to sql`` template literals in Drizzle - the pg driver expects strings. Convert firstOfMonth to ISO string and cast to timestamptz in the query. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Display the complete URL (with domain) instead of just the path, add a one-click copy button with clipboard API fallback, and improve the preview button with an external-link icon. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…riting polish - Send email notification to form owner on each new submission (fire-and-forget) - Send welcome email on first signup with quick-start tips - Add /help page with comprehensive user guide in Japanese (5 sections) - Add Help nav link in dashboard header - Polish copywriting across JA/EN: friendlier errors, motivating empty states, stronger CTAs, less alarming billing messages Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…update - Click-to-expand rows in submissions list showing all payload fields - Auto-cleanup expired magic link tokens (opportunistic + API endpoint) - Add nixpacks.toml for Railway Node 22 - Complete .env.example with all LemonSqueezy + TRUSTED_PROXY vars - Update README.md and CLAUDE.md with current feature status Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Remove unused legacy schema.ts from health endpoint dir. Add .claude/ settings. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Railway ignores railway.json buildCommand. Move the static file copy step into package.json build script so it always runs. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Nixpacks was not copying static assets into standalone output. Custom Dockerfile with multi-stage build ensures static files (CSS, JS, fonts) are properly included. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Standalone output requires manual static file copying which Nixpacks doesn't handle. Standard mode works out of the box. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Remove Dockerfile/.dockerignore (Railway uses Nixpacks) - Remove default create-next-app SVGs from public/ - Replace default favicon with FormGate branded icon (gate + form + checkmark) - Add Apple Touch Icon for mobile Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- robots.txt: allow public pages, block dashboard/API - sitemap.ts: dynamic sitemap with public pages - opengraph-image.tsx: branded OG image (gradient, flow diagram) - twitter-image.tsx: Twitter card image Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add url, phone, date, checkbox, and radio field types with full server-side validation, client-side rendering, field builder support, and i18n translations (JA/EN). Add 6 pre-configured form templates (blank, contact, bug report, feature request, feedback, support) with a template selector on the form creation page. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Three differentiating features for Backlog integration:
- Auto-assignment: static (always same member) or field_match
(conditional rules based on form field values, with fallback)
- Sub-tasks: auto-create up to 5 child issues after parent ticket,
with {field} template support in summaries
- File attachments: new "file" field type (11 total), FormData upload
to Backlog via multipart API, max 10MB/file, 3 files/submission,
MIME validation, backward-compatible JSON flow
Includes full i18n (JA/EN), project members in project-meta API,
BacklogSettingsClient UI for all three features, and updated tests.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…xporting Next.js 16 requires route segment config exports like `runtime` to be declared directly in the file, not re-exported from another module. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.