Skip to content

Commit 8d984e5

Browse files
authored
Merge pull request #350 from aurelianware/copilot/update-welcome-page-design
Redesign Welcome page with Sentinel branding and Bootstrap layout
2 parents 6cf7126 + 65169e7 commit 8d984e5

File tree

8 files changed

+197
-491
lines changed

8 files changed

+197
-491
lines changed

.github/workflows/docker-build.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ jobs:
7272
tags: |
7373
type=ref,event=branch
7474
type=ref,event=pr
75-
type=sha,prefix={{branch}}-
75+
type=sha,prefix=sha-
7676
type=raw,value=latest,enable={{is_default_branch}}
7777
7878
- name: Build and push
@@ -115,7 +115,7 @@ jobs:
115115
tags: |
116116
type=ref,event=branch
117117
type=ref,event=pr
118-
type=sha,prefix={{branch}}-
118+
type=sha,prefix=sha-
119119
type=raw,value=latest,enable={{is_default_branch}}
120120
121121
- name: Build and push
@@ -159,7 +159,7 @@ jobs:
159159
tags: |
160160
type=ref,event=branch
161161
type=ref,event=pr
162-
type=sha,prefix={{branch}}-
162+
type=sha,prefix=sha-
163163
type=raw,value=latest,enable={{is_default_branch}}
164164
165165
- name: Build and push
@@ -217,7 +217,7 @@ jobs:
217217
tags: |
218218
type=ref,event=branch
219219
type=ref,event=pr
220-
type=sha,prefix={{branch}}-
220+
type=sha,prefix=sha-
221221
type=raw,value=latest,enable={{is_default_branch}}
222222
223223
- name: Check if Dockerfile exists

package-lock.json

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 119 additions & 133 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
@page "/welcome"
22
@using Microsoft.AspNetCore.Authorization
3+
@using System.ComponentModel.DataAnnotations
34
@inject NavigationManager Navigation
45

56
@attribute [AllowAnonymous]
@@ -12,150 +13,135 @@
1213
*@
1314
</HeadContent>
1415

15-
<div class="welcome-container">
16-
<!-- Hero Section -->
17-
<section class="hero">
18-
<div class="hero-content">
19-
<img src="/images/logo-cloudhealthoffice-sentinel-primary.svg" alt="Cloud Health Office" class="hero-logo" />
20-
<h1>Cloud Health Office</h1>
21-
<p class="hero-tagline">The #1 Open-Source Azure-Native Multi-Payer EDI Platform</p>
22-
<p class="hero-description">
23-
Process claims, verify eligibility, manage prior authorizations, and handle all X12 EDI transactions
24-
in a production-grade, HIPAA-compliant cloud platform.
25-
</p>
26-
<div class="hero-cta">
27-
<a href="/signup" class="btn btn-primary-large">Start Free Trial</a>
28-
<a href="/signin-oidc" class="btn btn-secondary-large">Sign In</a>
29-
</div>
30-
<p class="hero-note">✓ &lt; 1-hour onboarding · ✓ Zero custom code · ✓ Production-grade HIPAA</p>
31-
</div>
32-
</section>
16+
<!-- Hero Section -->
17+
<section class="hero">
18+
<div class="container">
19+
<img src="/images/logo-cloudhealthoffice-sentinel-primary.svg" alt="Cloud Health Office" class="hero-logo" />
20+
<h1 class="display-4">Welcome to Cloud Health Office</h1>
21+
<p class="lead">Your Complete EDI Transaction Suite for Efficient Health Plan Management</p>
22+
<a href="#signup" class="btn btn-light btn-lg">Sign Up Now</a>
23+
</div>
24+
</section>
3325

34-
<!-- Features Section -->
35-
<section class="features">
36-
<div class="features-container">
37-
<h2>Complete EDI Transaction Suite</h2>
38-
<div class="feature-grid">
39-
<div class="feature-card">
40-
<div class="feature-icon">📋</div>
41-
<h3>Claims Processing</h3>
42-
<p>837 Professional & Institutional claims submission, 835 ERA processing, real-time adjudication</p>
43-
</div>
44-
<div class="feature-card">
45-
<div class="feature-icon">✓</div>
46-
<h3>Eligibility Verification</h3>
47-
<p>270/271 real-time eligibility inquiries, benefit coverage details, plan information</p>
48-
</div>
49-
<div class="feature-card">
50-
<div class="feature-icon">🔐</div>
51-
<h3>Prior Authorization</h3>
52-
<p>278 authorization requests and responses, automated workflow routing, status tracking</p>
53-
</div>
54-
<div class="feature-card">
55-
<div class="feature-icon">📎</div>
56-
<h3>Claim Attachments</h3>
57-
<p>275/276/277 unsolicited and solicited attachments, FHIR integration, automated delivery</p>
58-
</div>
59-
<div class="feature-card">
60-
<div class="feature-icon">👥</div>
61-
<h3>Member Enrollment</h3>
62-
<p>834 enrollment transactions, member demographics, coverage updates, sponsor management</p>
63-
</div>
64-
<div class="feature-card">
65-
<div class="feature-icon">📊</div>
66-
<h3>Claim Status</h3>
67-
<p>276/277 claim status inquiries and responses, tracking, reporting</p>
68-
</div>
26+
<!-- Features Section -->
27+
<section class="py-5">
28+
<div class="container">
29+
<h2 class="text-center mb-5">Our Key Features</h2>
30+
<div class="row">
31+
<div class="col-md-4 text-center">
32+
<div class="feature-icon">📋</div>
33+
<h4>Claims Processing</h4>
34+
<p>837 Professional & Institutional claims submission, 835 ERA processing, and real-time adjudication.</p>
35+
</div>
36+
<div class="col-md-4 text-center">
37+
<div class="feature-icon">✓</div>
38+
<h4>Eligibility Verification</h4>
39+
<p>270/271 real-time eligibility inquiries, benefit coverage details, and plan information.</p>
40+
</div>
41+
<div class="col-md-4 text-center">
42+
<div class="feature-icon">🔐</div>
43+
<h4>Prior Authorization</h4>
44+
<p>278 authorization requests and responses, automated workflow routing, and status tracking.</p>
45+
</div>
46+
<div class="col-md-4 text-center">
47+
<div class="feature-icon">📎</div>
48+
<h4>Claim Attachments</h4>
49+
<p>275 claim attachments (unsolicited and solicited), FHIR integration, and automated delivery.</p>
50+
</div>
51+
<div class="col-md-4 text-center">
52+
<div class="feature-icon">👥</div>
53+
<h4>Member Enrollment</h4>
54+
<p>834 enrollment transactions, member demographics, coverage updates, and sponsor management.</p>
55+
</div>
56+
<div class="col-md-4 text-center">
57+
<div class="feature-icon">📊</div>
58+
<h4>Claim Status</h4>
59+
<p>276/277 claim status inquiries and responses, tracking, and reporting.</p>
6960
</div>
7061
</div>
71-
</section>
62+
</div>
63+
</section>
7264

73-
<!-- Pricing Section -->
74-
<section class="pricing">
75-
<div class="pricing-container">
76-
<h2>Simple, Transparent Pricing</h2>
77-
<div class="pricing-grid">
78-
<div class="pricing-card">
79-
<h3>Starter</h3>
80-
<p class="price">$499<span>/month</span></p>
81-
<ul>
82-
<li>Up to 10,000 claims/month</li>
83-
<li>Core EDI transactions (837, 835)</li>
84-
<li>Email support</li>
85-
<li>Standard SLA</li>
86-
</ul>
87-
<a href="/signup?tier=starter" class="btn btn-outline">Get Started</a>
65+
<!-- Testimonials Section -->
66+
<section class="py-5 bg-light">
67+
<div class="container">
68+
<h2 class="text-center mb-5">Trusted by Leading Health Plans</h2>
69+
<div class="row">
70+
<div class="col-md-4">
71+
<div class="testimonial">
72+
<p>"Reduced prior authorization turnaround from 12 days to under 2 minutes"</p>
73+
<p><strong>— Regional Health Plan (450K members)</strong></p>
8874
</div>
89-
<div class="pricing-card featured">
90-
<div class="badge">Most Popular</div>
91-
<h3>Professional</h3>
92-
<p class="price">$1,499<span>/month</span></p>
93-
<ul>
94-
<li>Up to 50,000 claims/month</li>
95-
<li>All EDI transactions</li>
96-
<li>Prior authorization workflows</li>
97-
<li>Priority support</li>
98-
<li>Advanced analytics</li>
99-
</ul>
100-
<a href="/signup?tier=professional" class="btn btn-primary">Get Started</a>
75+
</div>
76+
<div class="col-md-4">
77+
<div class="testimonial">
78+
<p>"Processing 2.3M claims/month with 99.97% accuracy"</p>
79+
<p><strong>— Multi-State Medicaid MCO</strong></p>
10180
</div>
102-
<div class="pricing-card">
103-
<h3>Enterprise</h3>
104-
<p class="price">Custom</p>
105-
<ul>
106-
<li>Unlimited claims</li>
107-
<li>Dedicated infrastructure</li>
108-
<li>99.99% SLA guarantee</li>
109-
<li>24/7 phone support</li>
110-
<li>Custom integrations</li>
111-
</ul>
112-
<a href="/signup?tier=enterprise" class="btn btn-outline">Contact Sales</a>
81+
</div>
82+
<div class="col-md-4">
83+
<div class="testimonial">
84+
<p>"Went from contract signed to first claim in 47 minutes"</p>
85+
<p><strong>— Medicare Advantage Plan</strong></p>
11386
</div>
11487
</div>
11588
</div>
116-
</section>
89+
</div>
90+
</section>
11791

118-
<!-- Case Studies -->
119-
<section class="case-studies">
120-
<div class="case-studies-container">
121-
<h2>Trusted by Leading Health Plans</h2>
122-
<div class="case-study-grid">
123-
<div class="case-study">
124-
<p class="quote">"Reduced prior authorization turnaround from 12 days to under 2 minutes"</p>
125-
<p class="author">— Regional Health Plan (450K members)</p>
126-
</div>
127-
<div class="case-study">
128-
<p class="quote">"Processing 2.3M claims/month with 99.97% accuracy"</p>
129-
<p class="author">— Multi-State Medicaid MCO</p>
130-
</div>
131-
<div class="case-study">
132-
<p class="quote">"Went from contract signed to first claim in 47 minutes"</p>
133-
<p class="author">— Medicare Advantage Plan</p>
92+
<!-- Signup Section with Stripe -->
93+
<section id="signup" class="signup-section">
94+
<div class="container">
95+
<h2 class="text-center mb-4">Sign Up and Start Today</h2>
96+
<p class="text-center mb-5">Secure billing powered by Stripe. Choose your plan and get instant access.</p>
97+
<EditForm Model="signupModel" OnValidSubmit="HandleSignup">
98+
<DataAnnotationsValidator />
99+
<ValidationSummary />
100+
<div class="row justify-content-center">
101+
<div class="col-md-6">
102+
<div class="mb-3">
103+
<label for="email" class="form-label">Email Address</label>
104+
<InputText id="email"
105+
type="email"
106+
autocomplete="email"
107+
class="form-control"
108+
@bind-Value="signupModel.Email" />
109+
<ValidationMessage For="@(() => signupModel.Email)" />
110+
</div>
111+
<div class="mb-3">
112+
<label for="plan" class="form-label">Select Plan</label>
113+
<InputSelect id="plan" class="form-select" @bind-Value="signupModel.Plan">
114+
<option value="basic">Basic ($29/month)</option>
115+
<option value="pro">Pro ($99/month)</option>
116+
<option value="enterprise">Enterprise (Contact Us)</option>
117+
</InputSelect>
118+
</div>
119+
<!-- Stripe Integration Placeholder -->
120+
<button type="submit" class="btn btn-primary w-100">Sign Up via Stripe</button>
134121
</div>
135122
</div>
136-
</div>
137-
</section>
123+
</EditForm>
124+
</div>
125+
</section>
138126

139-
<!-- CTA Section -->
140-
<section class="cta">
141-
<div class="cta-content">
142-
<h2>Ready to modernize your EDI processing?</h2>
143-
<p>Join the future of payer integration. Start processing claims in under an hour.</p>
144-
<a href="/signup" class="btn btn-primary-large">Start Free Trial</a>
145-
</div>
146-
</section>
127+
@code {
128+
private SignupModel signupModel = new();
147129

148-
<!-- Footer -->
149-
<footer class="welcome-footer">
150-
<div class="footer-content">
151-
<div class="footer-links">
152-
<a href="/terms">Terms of Service</a>
153-
<a href="/privacy">Privacy Policy</a>
154-
<a href="/security">Security</a>
155-
<a href="/docs">Documentation</a>
156-
<a href="https://github.com/aurelianware/cloudhealthoffice">GitHub</a>
157-
</div>
158-
<p class="copyright">© 2026 Cloud Health Office. Apache 2.0 License.</p>
159-
</div>
160-
</footer>
161-
</div>
130+
private class SignupModel
131+
{
132+
[Required(ErrorMessage = "Email address is required")]
133+
[EmailAddress(ErrorMessage = "Invalid email address")]
134+
public string Email { get; set; } = string.Empty;
135+
136+
[Required(ErrorMessage = "Plan selection is required")]
137+
public string Plan { get; set; } = "basic";
138+
}
139+
140+
private Task HandleSignup()
141+
{
142+
// TODO: Integrate with Stripe API here
143+
// For example, use JS Interop to call Stripe.js or server-side creation of Checkout Session
144+
// This is a placeholder; implement actual signup logic
145+
return Task.CompletedTask;
146+
}
147+
}

0 commit comments

Comments
 (0)