package handler import ( "strings" ) // IsProjectRootURL reports whether urlPath names a project root — // exactly one path segment, no trailing slash. Used by the dispatcher // to route / (no trailing slash) to the landing tool's // project-workspace mode rather than the historical redirect-to-slash. // // Examples: // // "/Project-1" → true // "/Project-1/" → false (trailing slash → directory listing) // "/Project-1/x" → false (deeper) // "/" → false (deployment root) // "" → false // // The actual page rendering lives client-side in landing/js/landing.js // (mode='project'); this server-side predicate only decides where to // route the request. func IsProjectRootURL(urlPath string) bool { if urlPath == "" || urlPath == "/" { return false } if strings.HasSuffix(urlPath, "/") { return false } trimmed := strings.TrimPrefix(urlPath, "/") return !strings.Contains(trimmed, "/") }