Skip to content
Merged

Dev #52

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
8bd4ad8
Refactor: Rename "Key Learnings" to "Tech Used"
lovable-dev[bot] Oct 16, 2025
c0091cb
Refactor: Rename features to learnings
lovable-dev[bot] Oct 16, 2025
30cdb41
Refactor: Rename features to key learnings
lovable-dev[bot] Oct 16, 2025
fe3579a
Add rich text to projects and sections
lovable-dev[bot] Oct 17, 2025
f56116b
Fix: Resolve 'require is not defined' error
lovable-dev[bot] Oct 17, 2025
5a06f3b
Approve lovable tool use
lovable-dev[bot] Oct 17, 2025
15780f9
Fix: Prevent page reload on tab change
lovable-dev[bot] Oct 17, 2025
225065a
Fix page reload on tab change
lovable-dev[bot] Oct 17, 2025
8a36950
Fix: Persist edit mode state in localStorage
lovable-dev[bot] Oct 17, 2025
76a6dba
Fix: Persist project edit mode state
lovable-dev[bot] Oct 17, 2025
e3a800c
Fix: Project card edit state persistence
lovable-dev[bot] Oct 18, 2025
4559adb
Refactor project card edit state
lovable-dev[bot] Oct 18, 2025
f95158a
Refactor: Match Tech Used and Key Learnings styles
lovable-dev[bot] Oct 18, 2025
d09d939
Refactor project card bubbles
lovable-dev[bot] Oct 18, 2025
ace2874
Refactor: Improve color readability
lovable-dev[bot] Oct 18, 2025
8053eeb
Refactor bubble colors
lovable-dev[bot] Oct 18, 2025
a4f3863
Add 'Relevant links' header
lovable-dev[bot] Oct 21, 2025
e06610b
Refactor key learnings color
lovable-dev[bot] Oct 21, 2025
c20c0ce
Align relevant links behavior
lovable-dev[bot] Oct 21, 2025
2d172a4
Add text alignment to rich text
lovable-dev[bot] Oct 21, 2025
48843fc
Fix: Resolve duplicate project creation
lovable-dev[bot] Oct 21, 2025
81e773a
Fix: Rich text justification not showing
lovable-dev[bot] Oct 21, 2025
9de0851
Fix text justification in rich text editor
lovable-dev[bot] Oct 21, 2025
172eec4
Adjust project card width
lovable-dev[bot] Oct 21, 2025
2e78e56
Adjust text width in project card
lovable-dev[bot] Oct 21, 2025
aa20649
Fix: Align project card text width
lovable-dev[bot] Oct 21, 2025
caa47b9
Reverted to commit 9de0851228bbb1f1abce147c663ac9d21f736808
lovable-dev[bot] Oct 21, 2025
6fd05c9
Fix: Center align photo and user in edit mode
lovable-dev[bot] Oct 21, 2025
c526094
Fix profile photo alignment
lovable-dev[bot] Oct 21, 2025
2dfe170
Add conditional email centering
lovable-dev[bot] Oct 21, 2025
feb6345
Reverted to commit c52609468f5d41356788c8c1efa5151202104b4c
lovable-dev[bot] Oct 21, 2025
1528f07
Fix bubble font color
lovable-dev[bot] Oct 21, 2025
a22e10b
Fix text color in editable fields
lovable-dev[bot] Oct 21, 2025
a137cfc
Grant public profile access
lovable-dev[bot] Oct 21, 2025
e0c3ee7
Fix: Redirect to login page
lovable-dev[bot] Oct 21, 2025
56382e9
Fix shared profile redirect
lovable-dev[bot] Oct 21, 2025
4cb0608
Remove HTML from shared page
lovable-dev[bot] Oct 21, 2025
7f21968
Fix: Render HTML in descriptions
lovable-dev[bot] Oct 21, 2025
a912223
Add rich text editor to descriptions
lovable-dev[bot] Oct 21, 2025
bcaf2f8
Fix: Social links not appearing on shared page
lovable-dev[bot] Oct 21, 2025
a67b1c1
Fix social links on shared page
lovable-dev[bot] Oct 21, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
809 changes: 806 additions & 3 deletions package-lock.json

Large diffs are not rendered by default.

6 changes: 6 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -41,10 +41,16 @@
"@radix-ui/react-tooltip": "^1.1.4",
"@supabase/supabase-js": "^2.58.0",
"@tanstack/react-query": "^5.56.2",
"@tiptap/extension-link": "^3.7.2",
"@tiptap/extension-text-align": "^3.7.2",
"@tiptap/react": "^3.7.2",
"@tiptap/starter-kit": "^3.7.2",
"@types/dompurify": "^3.2.0",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"cmdk": "^1.0.0",
"date-fns": "^3.6.0",
"dompurify": "^3.3.0",
"embla-carousel-react": "^8.3.0",
"input-otp": "^1.2.4",
"lucide-react": "^0.462.0",
Expand Down
4 changes: 2 additions & 2 deletions src/components/EditableField.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@ useEffect(() => {
onChange={handleChange}
onBlur={handleBlur}
onKeyDown={handleKeyDown}
className={`w-full p-2 rounded border border-portfolio-blue bg-white ${className}`}
className={`w-full p-2 rounded border border-portfolio-blue bg-white !text-foreground ${className}`}
placeholder={placeholder}
rows={3}
/>
Expand All @@ -130,7 +130,7 @@ useEffect(() => {
onChange={handleChange}
onBlur={handleBlur}
onKeyDown={handleKeyDown}
className={`w-full p-2 rounded border border-portfolio-blue bg-white ${className}`}
className={`w-full p-2 rounded border border-portfolio-blue bg-white !text-foreground ${className}`}
placeholder={placeholder}
/>
);
Expand Down
2 changes: 1 addition & 1 deletion src/components/EditableImage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ const EditableImage: React.FC<EditableImageProps> = ({

return (
<div
className="relative inline-block cursor-pointer"
className="relative cursor-pointer mx-auto"
onMouseEnter={() => setIsHovering(true)}
onMouseLeave={() => setIsHovering(false)}
onClick={handleClick}
Expand Down
2 changes: 1 addition & 1 deletion src/components/PortfolioHeader.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -370,7 +370,7 @@ const PortfolioHeader: React.FC<PortfolioHeaderProps> = ({
return (
<header className="border-b bg-card sticky top-0 z-50 mb-6">
<nav className="container mx-auto px-6 h-16 flex items-center justify-between">
<Link to="/" className="flex items-center gap-2">
<Link to="/dashboard" className="flex items-center gap-2">
<span className="text-3xl font-outfit font-bold bg-gradient-to-r from-portfolio-violet to-portfolio-celadon bg-clip-text text-transparent">
clickly.it
</span>
Expand Down
21 changes: 12 additions & 9 deletions src/components/ProfileSection.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,10 @@ import React, { useEffect, useState } from "react";
import { toast } from "sonner";
import EditableImage from "./EditableImage";
import EditableField from "./EditableField";
import { RichTextEditor } from "./RichTextEditor";
import { supabase } from "../integrations/supabase/client";
import { useAuth } from "../contexts/AuthContext";
import { sanitizeHtml } from "@/utils/securityUtils";
import { Button } from "./ui/button";
import { SocialLink } from "@/types/portfolio";
import {
Expand Down Expand Up @@ -241,7 +243,7 @@ const ProfileSection: React.FC<ProfileSectionProps> = ({
// Loading state
if (isLoading) {
return (
<section className="flex flex-col items-center max-w-xl mx-auto mb-6 p-6">
<section className="flex flex-col items-center max-w-xl mx-auto mb-6 px-6">
<Skeleton className="w-32 h-32 md:w-40 md:h-40 rounded-full" />
<div className="mt-6 w-full text-center space-y-3">
<Skeleton className="h-8 w-48 mx-auto" />
Expand All @@ -257,7 +259,7 @@ const ProfileSection: React.FC<ProfileSectionProps> = ({
// Read-only mode
if (!isEditingMode) {
return (
<section className="flex flex-col items-center max-w-xl mx-auto mb-6 p-6">
<section className="flex flex-col items-center max-w-xl mx-auto mb-6 px-6">
{localState.photo && (
<img
src={localState.photo}
Expand Down Expand Up @@ -309,7 +311,10 @@ const ProfileSection: React.FC<ProfileSectionProps> = ({
)}

{localState.description && (
<p className="text-muted-foreground mt-4 max-w-prose mx-auto text-justify">{localState.description}</p>
<div
className="text-muted-foreground mt-4 max-w-prose mx-auto prose prose-sm max-w-none"
dangerouslySetInnerHTML={{ __html: sanitizeHtml(localState.description) }}
/>
)}
</div>
</section>
Expand All @@ -318,7 +323,7 @@ const ProfileSection: React.FC<ProfileSectionProps> = ({

// Edit mode
return (
<section className="flex flex-col items-center max-w-xl mx-auto mb-6 p-6">
<section className="flex flex-col items-center max-w-xl mx-auto mb-6 px-6">

<EditableImage
src={localState.photo}
Expand Down Expand Up @@ -471,13 +476,11 @@ const ProfileSection: React.FC<ProfileSectionProps> = ({
)}
</div>

<EditableField
value={localState.description}
<RichTextEditor
content={localState.description}
onChange={(value) => handleProfileUpdate("description", value)}
tag="p"
className="text-muted-foreground mt-4 max-w-prose mx-auto text-justify"
placeholder="Add a brief description about yourself..."
multiline
className="mt-4 max-w-prose mx-auto"
/>
</div>
</section>
Expand Down
Loading