Skip to content

Commit 6f019ec

Browse files
authored
add sign out link for home page navbar (#66)
2 parents 9d6ef1b + 57e0d35 commit 6f019ec

File tree

3 files changed

+127
-120
lines changed

3 files changed

+127
-120
lines changed

app/views/home/index.html.erb

Lines changed: 121 additions & 116 deletions
Original file line numberDiff line numberDiff line change
@@ -1,123 +1,128 @@
1-
<body class="d-flex flex-column min-vh-100">
2-
<nav class="navbar navbar-expand-lg navbar-light bg-white shadow-sm">
3-
<div class="container">
4-
<a class="navbar-brand fw-bold" href="#">SkillRx</a>
5-
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav">
6-
<span class="navbar-toggler-icon"></span>
7-
</button>
8-
<div class="collapse navbar-collapse" id="navbarNav">
9-
<ul class="navbar-nav ms-auto">
10-
<li class="nav-item"><a class="nav-link" href="#about">About</a></li>
11-
<li class="nav-item"><a class="nav-link" href="#features">Features</a></li>
12-
<li class="nav-item"><a class="nav-link" href="#contact">Contact</a></li>
13-
<!-- New Sign In link using Rails 8 authentication -->
14-
<li class="nav-item">
15-
<%= link_to "Sign In", new_session_path, class: "nav-link" %>
16-
</li>
17-
</ul>
18-
</div>
19-
</div>
20-
</nav>
1+
<nav class="navbar navbar-expand-lg navbar-light bg-white shadow-sm">
2+
<div class="container">
3+
<a class="navbar-brand fw-bold" href="#">SkillRx</a>
4+
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav">
5+
<span class="navbar-toggler-icon"></span>
6+
</button>
7+
<div class="collapse navbar-collapse" id="navbarNav">
8+
<ul class="navbar-nav ms-auto">
9+
<li class="nav-item"><a class="nav-link" href="#about">About</a></li>
10+
<li class="nav-item"><a class="nav-link" href="#features">Features</a></li>
11+
<li class="nav-item"><a class="nav-link" href="#contact">Contact</a></li>
12+
<!-- New Sign In link using Rails 8 authentication -->
13+
<% if authenticated? %>
14+
<li class="nav-item">
15+
<%= link_to "Sign Out", session_path, method: :delete, class: "nav-link" %>
16+
</li>
17+
<% else %>
18+
<li class="nav-item">
19+
<%= link_to "Sign In", new_session_path, class: "nav-link" %>
20+
</li>
21+
<% end %>
22+
</ul>
23+
</div>
24+
</div>
25+
</nav>
2126

22-
<!-- Hero Section -->
23-
<header class="bg-primary text-white py-5">
24-
<div class="container">
25-
<div class="row align-items-center">
26-
<div class="col-lg-6">
27-
<h1 class="display-4 fw-bold">Medical Education Without Borders</h1>
28-
<p class="lead">Empowering healthcare professionals worldwide with accessible continuing medical education</p>
29-
<%= link_to "Get Started", new_session_path, class: "btn btn-light btn-lg" %>
30-
</div>
31-
<div class="col-lg-6">
32-
<img src="/api/placeholder/600/400" alt="Medical professionals using SkillRx" class="img-fluid rounded">
33-
</div>
34-
</div>
35-
</div>
36-
</header>
27+
<!-- Hero Section -->
28+
<header class="bg-primary text-white py-5">
29+
<div class="container">
30+
<div class="row align-items-center">
31+
<div class="col-lg-6">
32+
<h1 class="display-4 fw-bold">Medical Education Without Borders</h1>
33+
<p class="lead">Empowering healthcare professionals worldwide with accessible continuing medical education</p>
34+
<%= link_to "Get Started", new_session_path, class: "btn btn-light btn-lg" %>
35+
</div>
36+
<div class="col-lg-6">
37+
<img src="/api/placeholder/600/400" alt="Medical professionals using SkillRx" class="img-fluid rounded">
38+
</div>
39+
</div>
40+
</div>
41+
</header>
3742

38-
<!-- Features Section -->
39-
<section id="features" class="py-5">
40-
<div class="container">
41-
<h2 class="text-center mb-5">How SkillRx Works</h2>
42-
<div class="row g-4">
43-
<div class="col-md-4">
44-
<div class="card h-100">
45-
<div class="card-body">
46-
<h3 class="card-title h5">Offline Access</h3>
47-
<p class="card-text">Access medical education content anytime, anywhere - no internet required</p>
48-
</div>
49-
</div>
50-
</div>
51-
<div class="col-md-4">
52-
<div class="card h-100">
53-
<div class="card-body">
54-
<h3 class="card-title h5">Smart Sync</h3>
55-
<p class="card-text">Automatically update content when connected to optimize your learning</p>
56-
</div>
57-
</div>
58-
</div>
59-
<div class="col-md-4">
60-
<div class="card h-100">
61-
<div class="card-body">
62-
<h3 class="card-title h5">Multi-Platform</h3>
63-
<p class="card-text">Available via USB drive, mobile app, or local server for maximum flexibility</p>
64-
</div>
65-
</div>
66-
</div>
67-
</div>
43+
<!-- Features Section -->
44+
<section id="features" class="py-5">
45+
<div class="container">
46+
<h2 class="text-center mb-5">How SkillRx Works</h2>
47+
<div class="row g-4">
48+
<div class="col-md-4">
49+
<div class="card h-100">
50+
<div class="card-body">
51+
<h3 class="card-title h5">Offline Access</h3>
52+
<p class="card-text">Access medical education content anytime, anywhere - no internet required</p>
53+
</div>
6854
</div>
69-
</section>
70-
71-
<!-- About Section -->
72-
<section id="about" class="bg-light py-5">
73-
<div class="container">
74-
<div class="row align-items-center">
75-
<div class="col-lg-6">
76-
<h2>Our Mission</h2>
77-
<p class="lead">Enabling medical practitioners in resource-constrained areas to maintain competence and improve patient care through accessible continuing education.</p>
78-
<ul class="list-unstyled">
79-
<li class="mb-2">✓ Free and open access</li>
80-
<li class="mb-2">✓ Cutting-edge medical literature</li>
81-
<li class="mb-2">✓ Adaptable to local needs</li>
82-
</ul>
83-
</div>
84-
<div class="col-lg-6">
85-
<img src="/api/placeholder/600/400" alt="Healthcare professionals collaborating" class="img-fluid rounded">
86-
</div>
87-
</div>
55+
</div>
56+
<div class="col-md-4">
57+
<div class="card h-100">
58+
<div class="card-body">
59+
<h3 class="card-title h5">Smart Sync</h3>
60+
<p class="card-text">Automatically update content when connected to optimize your learning</p>
61+
</div>
62+
</div>
63+
</div>
64+
<div class="col-md-4">
65+
<div class="card h-100">
66+
<div class="card-body">
67+
<h3 class="card-title h5">Multi-Platform</h3>
68+
<p class="card-text">Available via USB drive, mobile app, or local server for maximum flexibility</p>
69+
</div>
8870
</div>
89-
</section>
71+
</div>
72+
</div>
73+
</div>
74+
</section>
9075

91-
<!-- Contact Section -->
92-
<section id="contact" class="py-5">
93-
<div class="container">
94-
<div class="row justify-content-center">
95-
<div class="col-lg-6 text-center">
96-
<h2>Get In Touch</h2>
97-
<p class="lead mb-4">Questions? We're here to help.</p>
98-
<div class="d-grid gap-2">
99-
<a href="mailto:[email protected]" class="btn btn-primary">Email Us</a>
100-
<a href="#survey" class="btn btn-outline-primary">Take Our Survey</a>
101-
</div>
102-
</div>
103-
</div>
76+
<!-- About Section -->
77+
<section id="about" class="bg-light py-5">
78+
<div class="container">
79+
<div class="row align-items-center">
80+
<div class="col-lg-6">
81+
<h2>Our Mission</h2>
82+
<p class="lead">Enabling medical practitioners in resource-constrained areas to maintain competence and improve patient care through accessible continuing education.</p>
83+
<ul class="list-unstyled">
84+
<li class="mb-2">✓ Free and open access</li>
85+
<li class="mb-2">✓ Cutting-edge medical literature</li>
86+
<li class="mb-2">✓ Adaptable to local needs</li>
87+
</ul>
88+
</div>
89+
<div class="col-lg-6">
90+
<img src="/api/placeholder/600/400" alt="Healthcare professionals collaborating" class="img-fluid rounded">
91+
</div>
92+
</div>
93+
</div>
94+
</section>
95+
96+
<!-- Contact Section -->
97+
<section id="contact" class="py-5">
98+
<div class="container">
99+
<div class="row justify-content-center">
100+
<div class="col-lg-6 text-center">
101+
<h2>Get In Touch</h2>
102+
<p class="lead mb-4">Questions? We're here to help.</p>
103+
<div class="d-grid gap-2">
104+
<a href="mailto:[email protected]" class="btn btn-primary">Email Us</a>
105+
<a href="#survey" class="btn btn-outline-primary">Take Our Survey</a>
104106
</div>
105-
</section>
107+
</div>
108+
</div>
109+
</div>
110+
</section>
106111

107-
<!-- Ensure main content takes available space -->
108-
<main class="flex-fill">
109-
<!-- Footer anchored at the bottom -->
110-
<footer class="bg-dark text-white py-4 mt-auto">
111-
<div class="container">
112-
<div class="row">
113-
<div class="col-md-6">
114-
<p class="mb-0">© 2025 SkillRx</p>
115-
</div>
116-
<div class="col-md-6 text-md-end">
117-
<a href="#privacy" class="text-white me-3">Privacy Policy</a>
118-
<a href="#terms" class="text-white">Terms of Use</a>
119-
</div>
120-
</div>
121-
</div>
122-
</footer>
123-
</main>
112+
<!-- Ensure main content takes available space -->
113+
<main class="flex-fill">
114+
<!-- Footer anchored at the bottom -->
115+
<footer class="bg-dark text-white py-4 mt-auto">
116+
<div class="container">
117+
<div class="row">
118+
<div class="col-md-6">
119+
<p class="mb-0">© 2025 SkillRx</p>
120+
</div>
121+
<div class="col-md-6 text-md-end">
122+
<a href="#privacy" class="text-white me-3">Privacy Policy</a>
123+
<a href="#terms" class="text-white">Terms of Use</a>
124+
</div>
125+
</div>
126+
</div>
127+
</footer>
128+
</main>

app/views/layouts/home.html.erb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
<%= javascript_importmap_tags %>
2727
</head>
2828

29-
<body>
29+
<body class="d-flex flex-column min-vh-100">
3030
<script src="https://cdn.jsdelivr.net/gh/zuramai/mazer@docs/demo/assets/static/js/initTheme.js"></script>
3131

3232
<!-- Start content here -->

config/routes.rb

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,4 @@
11
Rails.application.routes.draw do
2-
root "home#index"
3-
get "home/index", as: :home
4-
get "dashboard/index", as: :dashboard
52
resources :languages, only: %i[index show new create edit update]
63
resources :passwords, param: :token
74
resources :providers
@@ -21,8 +18,13 @@
2118
# Can be used by load balancers and uptime monitors to verify that the app is live.
2219
get "up" => "rails/health#show", as: :rails_health_check
2320

21+
get "home/index", as: :home
22+
get "dashboard/index", as: :dashboard
23+
2424
# Render dynamic PWA files from app/views/pwa/* (remember to link manifest in application.html.erb)
2525
# get "manifest" => "rails/pwa#manifest", as: :pwa_manifest
2626
# get "service-worker" => "rails/pwa#service_worker", as: :pwa_service_worker
2727
# Defines the root path route ("/")
28+
29+
root "home#index"
2830
end

0 commit comments

Comments
 (0)