···5858- Profile page should show more details, and allow brew entries to take up more vertical space
59596060- Show "view" button on brews in profile page (same as on brews list page)
6161-6262-- Navigating to "my profile" while on another user's profile, the url changes but the page does not change
6363-6464-- Clicking "back to brews" on brew view page returns user to their brews list, even if the brew belonged to another user
+23-2
frontend/src/routes/BrewView.svelte
···1313 let loading = true;
1414 let error = null;
1515 let isOwnProfile = false;
1616+ let brewOwnerHandle = null;
1717+ let brewOwnerDID = null;
16181719 $: isAuthenticated = $authStore.isAuthenticated;
1820 $: currentUserDID = $authStore.user?.did;
···5254 brew = brews.find((b) => b.rkey === brewRKey);
5355 if (!brew) {
5456 error = "Brew not found";
5757+ } else {
5858+ // Set owner to current user for own brews
5959+ brewOwnerDID = currentUserDID;
6060+ brewOwnerHandle = $authStore.user?.handle;
5561 }
5662 }
5763···6066 // Fetch brew from API using AT-URI
6167 const atURI = `at://${userDID}/social.arabica.alpha.brew/${brewRKey}`;
6268 brew = await api.get(`/api/brew?uri=${encodeURIComponent(atURI)}`);
6969+ brewOwnerDID = userDID;
7070+7171+ // Fetch the profile to get the handle
7272+ const profileData = await api.get(`/api/profile-json/${userDID}`);
7373+ brewOwnerHandle = profileData.profile?.handle;
6374 } catch (err) {
6475 console.error("Failed to load brew:", err);
6576 error = err.message || "Failed to load brew";
···341352 <!-- Back button -->
342353 <div class="mt-6">
343354 <button
344344- on:click={() => navigate("/brews")}
355355+ on:click={() => {
356356+ if (isOwnProfile) {
357357+ navigate("/brews");
358358+ } else if (brewOwnerHandle) {
359359+ navigate(`/profile/${brewOwnerHandle}`);
360360+ } else if (brewOwnerDID) {
361361+ navigate(`/profile/${brewOwnerDID}`);
362362+ } else {
363363+ navigate("/");
364364+ }
365365+ }}
345366 class="text-brown-700 hover:text-brown-900 font-medium hover:underline"
346367 >
347347- ← Back to Brews
368368+ ← {isOwnProfile ? "Back to My Brews" : "Back to Profile"}
348369 </button>
349370 </div>
350371 </div>
+5
frontend/src/routes/Profile.svelte
···4141 await loadProfile();
4242 });
43434444+ // Reload profile when actor prop changes (e.g., navigating from one profile to another)
4545+ $: if (actor) {
4646+ loadProfile();
4747+ }
4848+4449 async function loadProfile() {
4550 try {
4651 const data = await api.get(`/api/profile-json/${actor}`);