Skip to content

Commit 1b59d9d

Browse files
committed
remove raw profiles
1 parent 86f3cbb commit 1b59d9d

File tree

2 files changed

+41
-9
lines changed

2 files changed

+41
-9
lines changed

app/views/pages/home.html.erb

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030

3131
<div class="flex flex-col gap-4 sm:flex-row sm:items-center">
3232
<% if current_user %>
33-
<%= link_to raw_profile_path(current_user.login), class: "inline-flex items-center justify-center gap-2 rounded-full bg-slate-700 text-white px-8 py-4 text-lg font-semibold shadow-lg transition-all duration-200 hover:shadow-xl hover:scale-105 hover:bg-slate-600 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 dark:bg-slate-600 dark:hover:bg-slate-500" do %>
33+
<%= link_to profile_path(username: current_user.login), class: "inline-flex items-center justify-center gap-2 rounded-full bg-slate-700 text-white px-8 py-4 text-lg font-semibold shadow-lg transition-all duration-200 hover:shadow-xl hover:scale-105 hover:bg-slate-600 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 dark:bg-slate-600 dark:hover:bg-slate-500" do %>
3434
<span>View My Profile</span>
3535
<svg class="h-5 w-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
3636
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 7l5 5m0 0l-5 5m5-5H6" />
@@ -196,13 +196,13 @@
196196
DevOps engineer and open source contributor with expertise in Rails, Docker, and cloud infrastructure.
197197
</p>
198198
<div class="flex gap-3">
199-
<%= link_to raw_profile_path("loftwah"), class: "inline-flex items-center gap-2 rounded-full bg-slate-700 text-white px-6 py-3 text-sm font-semibold transition-all duration-200 hover:scale-105 hover:bg-slate-600 dark:bg-slate-600 dark:hover:bg-slate-500" do %>
199+
<%= link_to profile_path(username: "loftwah"), class: "inline-flex items-center gap-2 rounded-full bg-slate-700 text-white px-6 py-3 text-sm font-semibold transition-all duration-200 hover:scale-105 hover:bg-slate-600 dark:bg-slate-600 dark:hover:bg-slate-500" do %>
200200
<span>View Profile</span>
201201
<svg class="h-4 w-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
202202
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 7l5 5m0 0l-5 5m5-5H6" />
203203
</svg>
204204
<% end %>
205-
<%= link_to raw_profile_path("loftwah", format: :json), class: "inline-flex items-center gap-2 rounded-full border border-slate-200 bg-white px-6 py-3 text-sm font-semibold text-slate-900 transition hover:bg-slate-50 dark:border-slate-700 dark:bg-slate-800 dark:text-slate-100 dark:hover:bg-slate-700" do %>
205+
<%= link_to profile_path(username: "loftwah", format: :json), class: "inline-flex items-center gap-2 rounded-full border border-slate-200 bg-white px-6 py-3 text-sm font-semibold text-slate-900 transition hover:bg-slate-50 dark:border-slate-700 dark:bg-slate-800 dark:text-slate-100 dark:hover:bg-slate-700" do %>
206206
<svg class="h-4 w-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
207207
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 20l4-16m4 4l4 4-4 4M6 16l-4-4 4-4" />
208208
</svg>
@@ -227,13 +227,13 @@
227227
Co-creator of TecHub, passionate about developer tools and open source collaboration.
228228
</p>
229229
<div class="flex gap-3">
230-
<%= link_to raw_profile_path("jrh89"), class: "inline-flex items-center gap-2 rounded-full bg-slate-700 text-white px-6 py-3 text-sm font-semibold transition-all duration-200 hover:scale-105 hover:bg-slate-600 dark:bg-slate-600 dark:hover:bg-slate-500" do %>
230+
<%= link_to profile_path(username: "jrh89"), class: "inline-flex items-center gap-2 rounded-full bg-slate-700 text-white px-6 py-3 text-sm font-semibold transition-all duration-200 hover:scale-105 hover:bg-slate-600 dark:bg-slate-600 dark:hover:bg-slate-500" do %>
231231
<span>View Profile</span>
232232
<svg class="h-4 w-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
233233
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 7l5 5m0 0l-5 5m5-5H6" />
234234
</svg>
235235
<% end %>
236-
<%= link_to raw_profile_path("jrh89", format: :json), class: "inline-flex items-center gap-2 rounded-full border border-slate-200 bg-white px-6 py-3 text-sm font-semibold text-slate-900 transition hover:bg-slate-50 dark:border-slate-700 dark:bg-slate-800 dark:text-slate-100 dark:hover:bg-slate-700" do %>
236+
<%= link_to profile_path(username: "jrh89", format: :json), class: "inline-flex items-center gap-2 rounded-full border border-slate-200 bg-white px-6 py-3 text-sm font-semibold text-slate-900 transition hover:bg-slate-50 dark:border-slate-700 dark:bg-slate-800 dark:text-slate-100 dark:hover:bg-slate-700" do %>
237237
<svg class="h-4 w-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
238238
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 20l4-16m4 4l4 4-4 4M6 16l-4-4 4-4" />
239239
</svg>
@@ -247,11 +247,11 @@
247247
<!-- Try Your Own -->
248248
<div class="mt-12 text-center">
249249
<div class="mx-auto max-w-2xl rounded-2xl border border-slate-200 bg-white p-8 shadow-lg dark:border-slate-800 dark:bg-slate-900">
250-
<h3 class="mb-4 text-2xl font-bold text-slate-900 dark:text-slate-100">Try Any GitHub Username</h3>
250+
<h3 class="mb-4 text-2xl font-bold text-slate-900 dark:text-slate-100">Add Your GitHub Profile</h3>
251251
<p class="mb-6 text-slate-600 dark:text-slate-400">
252-
Simply visit <code class="rounded bg-slate-100 px-2 py-1 text-sm text-slate-900 dark:bg-slate-800 dark:text-slate-100">/raw_profiles/&lt;username&gt;</code> to view any profile
252+
Sign in and submit your username to generate your TecHub profile.
253253
</p>
254-
<form id="profileSearch" class="flex flex-col sm:flex-row gap-3">
254+
<form id="profileSearch" class="flex flex-col sm:flex-row gap-3 hidden">
255255
<input
256256
type="text"
257257
id="usernameInput"
@@ -274,7 +274,7 @@
274274
e.preventDefault();
275275
const username = document.getElementById('usernameInput').value.trim();
276276
if (username) {
277-
window.location.href = '/raw_profiles/' + encodeURIComponent(username);
277+
window.location.href = '/profiles/' + encodeURIComponent(username);
278278
}
279279
});
280280
</script>

docs/roadmap.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -192,6 +192,14 @@ Milestone — E2E Auth → Submit → Generate status
192192
- Physical printing pipeline
193193
- Leaderboards/trending, marketplace integrations, mobile client
194194

195+
Raw Profiles deprecation
196+
197+
- Remove public references and links to `/raw_profiles` in UI (landing, examples)
198+
- Keep routes for legacy/testing temporarily; restrict access behind admin flag if needed
199+
- Move raw JSON/profile refresh to owner-only tools within `My Profiles` settings
200+
- Add a button to refresh raw profile data in settings; show last synced timestamp
201+
- DoD: UI has no raw links; settings include refresh; docs updated
202+
195203
## Next Up (sequenced TODOs)
196204

197205
PR 19 — Directory Listing (browse)
@@ -256,6 +264,30 @@ PR 27 — Theme & Color Customization (owner UI)
256264
- DoD: settings form + persistence; previews reflect chosen colors; docs updated
257265
(`docs/asset-guidelines.md`)
258266

267+
PR 28 — Public Profile Page (Product v1)
268+
269+
- Replace current `profiles/:username` view with product page (cards-first)
270+
- Pull from `ProfileCard`, `ProfileAssets`, OG/card/simple screenshots; show generated artifacts
271+
- CTAs: View/copy OG URL, Share, View card variants; enqueue generation when missing (202 UI)
272+
- SEO: OG/Twitter tags use generated images; canonical URL
273+
- Fallbacks: skeleton/loading states, eligibility messages when gated
274+
- Tests: controller/view integration; artifacts presence/absence; share links
275+
- DoD: page is the primary “product” view; no raw data dump here
276+
277+
PR 29 — Header/navigation cleanup
278+
279+
- Single source of truth for account actions; remove duplicate “My Profiles”
280+
- When signed in: one My Profiles entry + Sign Out; when signed out: Sign In
281+
- Optional: user avatar chip linking to GitHub profile
282+
- Tests: nav renders correctly for signed in/out states
283+
284+
PR 30 — Raw profile tooling (owner-only)
285+
286+
- Move raw JSON/profile refresh to `My Profiles → Settings` (owner only)
287+
- Add “Refresh from GitHub” button + last synced timestamp
288+
- Remove public links to `/raw_profiles`; keep routes flagged for admin/tests only
289+
- Tests: settings renders refresh; action queues sync and updates timestamp
290+
259291
PR 25 — Prompt Context Enrichment (DONE)
260292

261293
- Extend `profile_context` with: followers band, activity intensity (90d), tenure (years), 1–2

0 commit comments

Comments
 (0)