Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
150 commits
Select commit Hold shift + click to select a range
bd22f8d
chore(ui): remove Bootstrap and legacy CSS; Tailwind-only baseline
cole92 Jan 3, 2026
b8fb884
start
cole92 Jan 4, 2026
db5c400
refactor(ui): migrate PostDetails to ui-* dark theme
cole92 Jan 4, 2026
066ca7d
refactor(ui): dark skeleton loader (SkeletonCard/Bits)
cole92 Jan 4, 2026
2e087c1
refactor(ui): unify modals to ui-card + ui-buttons
cole92 Jan 5, 2026
39f6b41
multiple-changes
cole92 Jan 5, 2026
e8949c9
ui-fixes
cole92 Jan 5, 2026
b160959
refactor
cole92 Jan 6, 2026
fa19563
chore(ui): finish tailwind migration (remove legacy tokens)
cole92 Jan 6, 2026
0df3b62
refactor(ui): custom sort dropdown (replace native select)
cole92 Jan 7, 2026
b7da524
chore(firestore): sync staging indexes
cole92 Jan 8, 2026
c1a1772
chore(firebase): add staging alias; ignore env files
cole92 Jan 8, 2026
1797fdb
chore(firestore): sync staging indexes (mvp e2e)
cole92 Jan 10, 2026
a633723
refactor(ui): move home toolbar to Home and widen shells
cole92 Jan 11, 2026
a5dc52c
refactor(ui): move Home toolbar out of header + add desktop filters s…
cole92 Jan 11, 2026
e3b9a38
aria
cole92 Jan 11, 2026
42efed2
UI: mobile filters overlay via portal above sticky header
cole92 Jan 12, 2026
15c8e7b
UI: Responsive Home - docked Filters sidebar from md, 1-col feed unti…
cole92 Jan 13, 2026
0802421
UI: Home responsive - 1-col feed below lg + fix Filters panel scroll
cole92 Jan 13, 2026
aa36bd2
ui(home): refine md/lg layout + docked filters sidebar
cole92 Jan 13, 2026
47cf3ba
UI: Home feed premium PostCard + reactions polish
cole92 Jan 14, 2026
561fdb3
working
cole92 Jan 15, 2026
0d9ec1f
UI: Home feed PostCard sky surface + perf polish
cole92 Jan 15, 2026
d257d27
UI: Home polish (avatar frames + reaction styling)
cole92 Jan 15, 2026
eaf30fc
UI: centralize avatar rings + Top Contributor glow
cole92 Jan 16, 2026
de9144a
UI: add uiClasses tokens + apply pills/focus ring in Home feed
cole92 Jan 16, 2026
d5f0955
UI: unify dropdown surfaces (AvatarDropdown + sort menu)
cole92 Jan 17, 2026
f6f29ed
ui(modals): extend ModalPortal + polish Avatar zoom
cole92 Jan 17, 2026
d104d87
ui: polish avatar zoom modal + align Top Contributor shield
cole92 Jan 17, 2026
1aa74ef
ui: modal portal v2 + avatar zoom + dropdown polish
cole92 Jan 18, 2026
d99dd3f
feat(ui): unify dashboard width with app shell, add sticky dashboard …
cole92 Jan 18, 2026
73dfaa3
ui(dashboard): align width with Home, compact tabs, remove banner, di…
cole92 Jan 18, 2026
758e404
Move mobile create action into My Posts actions row (keep md+ layout …
cole92 Jan 18, 2026
15c61e1
Align Dashboard mobile create button with Home toolbar (SVG icon-only)
cole92 Jan 18, 2026
7cc675c
Polish My Posts mobile toolbar layout (stable status pill width)
cole92 Jan 18, 2026
c046d88
Make Moderation tab prop-driven and match dashboard tab styling
cole92 Jan 19, 2026
846ed32
fix
cole92 Jan 19, 2026
5a3e140
Fix dashboard tab active matching and improve filter active highlight
cole92 Jan 19, 2026
bcc8f38
feat(ui): PostCardDashboard (MyPosts) + PostsList CardComponent prop
cole92 Jan 20, 2026
db93a36
chore(ui/dashboard): polish edit status pills (hide when archived)
cole92 Jan 20, 2026
7ce8cac
feat(ui/dashboard): responsive management row (Edit + pills left, act…
cole92 Jan 20, 2026
a24b05d
small fixes
cole92 Jan 20, 2026
6802c88
feat(ui): align Saved page with feed grid + card template (v1)
cole92 Jan 21, 2026
1992453
feat(ui): align Saved cards width + stabilize meta/tags on small screens
cole92 Jan 21, 2026
af718e2
feat(trash): add PostCardTrash + align Trash layout with app grid
cole92 Jan 22, 2026
24406fb
someFixes
cole92 Jan 22, 2026
96657d1
moreFixes
cole92 Jan 22, 2026
4bb251b
fix
cole92 Jan 24, 2026
4d3dcf0
feat(ui): unify card meta row + tags pattern (XS 320px safe) across f…
cole92 Jan 24, 2026
261d8d6
refactor(ui): centralize card date formatting (Intl + fixed timezone)
cole92 Jan 24, 2026
7111c7f
feat(ui): unify card meta + responsive tags pattern (xs=2, sm+=3) and…
cole92 Jan 24, 2026
cbc4348
feat(ui): trash filter bar xs horizontal scroll + moving indicator
cole92 Jan 25, 2026
1bfffce
fix(ui): Trash filter bar responsive scroll
cole92 Jan 25, 2026
ab31016
ui(trash): refine TTL placement + add divider under tags
cole92 Jan 25, 2026
f3bc941
ui(postcard): feed content preview + mobile padding
cole92 Jan 25, 2026
5fc63c5
fix(stats): stabilize charts across breakpoints + replace pie legend …
cole92 Jan 26, 2026
4057e65
smallFix
cole92 Jan 26, 2026
1dc41a2
fix(trash): server-side TTL filter + pagination-safe results
cole92 Jan 26, 2026
bf02637
fix(layout): keep footer at bottom on short pages
cole92 Jan 26, 2026
ab6cd7c
fix(dashboard): align Archived filter value with locked state
cole92 Jan 26, 2026
b9199d4
start
cole92 Jan 27, 2026
13e3328
secondFix
cole92 Jan 27, 2026
9d39e07
added-drawer
cole92 Jan 27, 2026
6124974
small-fix
cole92 Jan 27, 2026
caa6af0
fix(ui-comments): refactor comments thread + mobile sheet UX
cole92 Jan 28, 2026
993d70b
smallFixes
cole92 Jan 28, 2026
100b45c
fix
cole92 Jan 28, 2026
e0cfe9c
fix
cole92 Jan 28, 2026
de982a1
fix(comments): standardize auth, unify addComment, hide deleted empty…
cole92 Jan 29, 2026
6e053fe
ui(postdetails): lg fixed-height card + scrollable body
cole92 Jan 29, 2026
d932e22
position-fix
cole92 Jan 29, 2026
269c402
someFix
cole92 Jan 29, 2026
f93dde2
just-avatar-problem
cole92 Jan 30, 2026
90f85ff
working
cole92 Jan 30, 2026
851cd9f
fix
cole92 Jan 31, 2026
0e528d8
fix
cole92 Jan 31, 2026
e563d37
fix
cole92 Jan 31, 2026
774e2a3
feat(ui): improve mobile CommentsSheet (drag handle + compact composer)
cole92 Jan 31, 2026
2d5f441
final-fix
cole92 Jan 31, 2026
ca79bb3
feat(ui): redesign profile page hero + top posts layout
cole92 Jan 31, 2026
6972d49
feat(ui): redesign profile page layout + stabilize top posts cards
cole92 Feb 1, 2026
e7bf7a2
fix
cole92 Feb 1, 2026
e75e5c3
fix
cole92 Feb 1, 2026
4e683d4
fix
cole92 Feb 1, 2026
479c19e
fix(profile): stabilize TopPostCard pills (+N) across breakpoints
cole92 Feb 2, 2026
d76f9b3
fix(profile): responsive tag pills (+N) + consistent # tags in TopPos…
cole92 Feb 2, 2026
869c5f9
added some css
cole92 Feb 3, 2026
dfdd86c
fix
cole92 Feb 3, 2026
6d1f959
Profile: responsive hero layout + long text hardening
cole92 Feb 3, 2026
97a683f
someStart
cole92 Feb 4, 2026
28c502b
fixes
cole92 Feb 4, 2026
b1cb2a3
fix
cole92 Feb 4, 2026
a6e5c1b
fix
cole92 Feb 4, 2026
1250a97
ui(profile): polish hero layout + responsive highlights + avatar/badg…
cole92 Feb 4, 2026
3ddd44d
backup
cole92 Feb 5, 2026
c25d9f8
feat(post-editor): unsaved changes guard + tags search perf
cole92 Feb 5, 2026
e8810d9
fixes
cole92 Feb 5, 2026
b90cd1b
focus-fix
cole92 Feb 5, 2026
d90cf6b
fix
cole92 Feb 5, 2026
f5d7651
UI: refine TagsInput dropdown (sticky headers, active state, compact …
cole92 Feb 5, 2026
e12a187
ui(editor): align create/edit theme with feed cards
cole92 Feb 5, 2026
f1b4aa3
UI: polish TagsInput show-more + round mobile editor card
cole92 Feb 6, 2026
39e02a7
fix
cole92 Feb 6, 2026
6dd44ed
backup
cole92 Feb 7, 2026
bdeb73e
width-fix
cole92 Feb 7, 2026
09613c3
fix
cole92 Feb 7, 2026
b328c07
fix
cole92 Feb 7, 2026
ca0efca
fixed
cole92 Feb 7, 2026
19461c9
fix
cole92 Feb 7, 2026
1c24c99
feat(settings): polish Settings UX + responsive layout (preview clean…
cole92 Feb 7, 2026
f523b4c
fix
cole92 Feb 7, 2026
d9f7621
fix
cole92 Feb 7, 2026
8f54a87
done
cole92 Feb 7, 2026
703356f
fix
cole92 Feb 7, 2026
fcf93e4
fix
cole92 Feb 7, 2026
efb562f
backup
cole92 Feb 8, 2026
141584e
fix
cole92 Feb 8, 2026
bcd3b9e
p-s-p
cole92 Feb 9, 2026
230a000
backup
cole92 Feb 10, 2026
e6e0eea
PostDetails UI/UX polish: fixed header overlap + sticky footer + tag …
cole92 Feb 10, 2026
d43ce02
ui(cards): add "No tags" placeholder to tag rails across post cards
cole92 Feb 10, 2026
f17824d
fix(profile): stabilize TopPostCard tags/reactions on mobile + adjust…
cole92 Feb 10, 2026
08995e7
ui(header): switch to wordmark-only logo + centralize brand constants
cole92 Feb 11, 2026
26d5b21
brand: unify wordmark constants + update favicon and document title
cole92 Feb 12, 2026
32abb15
fix(modals): remove nested ui-card wrappers in Badge/Reaction modals
cole92 Feb 13, 2026
053fad8
fix(modals): remove double borders + link likes to profiles
cole92 Feb 13, 2026
2c6f570
feat(ux): add portrait-only guard for phone landscape
cole92 Feb 14, 2026
49f02ec
refactor(toast): unify auth + upload + undo toastId
cole92 Feb 15, 2026
f3bc637
fix
cole92 Feb 16, 2026
d67ad94
fix
cole92 Feb 16, 2026
93c36d5
refactor(toast): centralize emit/update + add stable toastIds across …
cole92 Feb 16, 2026
190aa65
feat(reactions): block self powerup (UI) + session-only toast
cole92 Feb 16, 2026
722bafc
feat(auth): email verification gate + forgot password flow
cole92 Feb 17, 2026
8f959d4
feat: add report issue page (gmail/mailto/copy)
cole92 Feb 18, 2026
6f7c30b
feat: add support & feedback report page (gmail/mailto/copy)
cole92 Feb 19, 2026
fe65e66
feat(about): add markdown-powered About page
cole92 Feb 19, 2026
3ce625d
Add About page + avatar menu divider
cole92 Feb 19, 2026
b9fa2b9
done
cole92 Feb 21, 2026
c2f09b8
feat(home): add Trending sort (lastHotAt) + disable categories
cole92 Feb 21, 2026
2bfceff
added sentence
cole92 Feb 21, 2026
476710c
fix
cole92 Feb 21, 2026
d979974
fix
cole92 Feb 22, 2026
2fb85ae
feat(comments): improve thread UI + profile links + cold-start hint
cole92 Feb 22, 2026
ae63080
about-fix
cole92 Feb 22, 2026
d3fb5df
fix
cole92 Feb 22, 2026
22f111d
fix
cole92 Feb 23, 2026
577fe86
refactor(ui): unify post badge chips (mini glass frame)
cole92 Feb 23, 2026
53e942c
refactor(ui): simplify saved archived indicator
cole92 Feb 23, 2026
c7415fa
fix
cole92 Feb 23, 2026
5e2bd97
chore: comment cleanup across app
cole92 Feb 25, 2026
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
10 changes: 7 additions & 3 deletions .firebaserc
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
{
"projects": {
"default": "myblogapp-4bae3"
}
}
"default": "myblogapp-4bae3",
"prod": "myblogapp-4bae3",
"staging": "liferecompiled-staging"
},
"targets": {},
"etags": {}
}
9 changes: 9 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -129,3 +129,12 @@ dist
.yarn/install-state.gz
.pnp.*
.vscode/

# env files (never commit)
.env
.env.*
!.env.example

# firebase local cache
.firebase/

9 changes: 3 additions & 6 deletions firebase.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,8 @@
]
},
"hosting": {
"public": "public",
"ignore": [
"firebase.json",
"**/.*",
"**/node_modules/**"
]
"public": "dist",
"ignore": ["firebase.json", "**/.*", "**/node_modules/**"],
"rewrites": [{ "source": "**", "destination": "/index.html" }]
}
}
183 changes: 182 additions & 1 deletion firestore.indexes.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,189 @@
{
"fieldPath": "timestamp",
"order": "DESCENDING"
},
{
"fieldPath": "__name__",
"order": "DESCENDING"
}
],
"density": "SPARSE_ALL"
},
{
"collectionGroup": "comments",
"queryScope": "COLLECTION",
"fields": [
{
"fieldPath": "userID",
"order": "ASCENDING"
},
{
"fieldPath": "timestamp",
"order": "ASCENDING"
},
{
"fieldPath": "__name__",
"order": "ASCENDING"
}
],
"density": "SPARSE_ALL"
},
{
"collectionGroup": "posts",
"queryScope": "COLLECTION",
"fields": [
{
"fieldPath": "category",
"order": "ASCENDING"
},
{
"fieldPath": "deleted",
"order": "ASCENDING"
},
{
"fieldPath": "createdAt",
"order": "DESCENDING"
},
{
"fieldPath": "__name__",
"order": "DESCENDING"
}
],
"density": "SPARSE_ALL"
},
{
"collectionGroup": "posts",
"queryScope": "COLLECTION",
"fields": [
{
"fieldPath": "deleted",
"order": "ASCENDING"
},
{
"fieldPath": "createdAt",
"order": "ASCENDING"
},
{
"fieldPath": "__name__",
"order": "ASCENDING"
}
],
"density": "SPARSE_ALL"
},
{
"collectionGroup": "posts",
"queryScope": "COLLECTION",
"fields": [
{
"fieldPath": "deleted",
"order": "ASCENDING"
},
{
"fieldPath": "createdAt",
"order": "DESCENDING"
},
{
"fieldPath": "__name__",
"order": "DESCENDING"
}
],
"density": "SPARSE_ALL"
},
{
"collectionGroup": "posts",
"queryScope": "COLLECTION",
"fields": [
{
"fieldPath": "deleted",
"order": "ASCENDING"
},
{
"fieldPath": "locked",
"order": "ASCENDING"
},
{
"fieldPath": "userId",
"order": "ASCENDING"
},
{
"fieldPath": "createdAt",
"order": "DESCENDING"
},
{
"fieldPath": "__name__",
"order": "DESCENDING"
}
],
"density": "SPARSE_ALL"
},
{
"collectionGroup": "posts",
"queryScope": "COLLECTION",
"fields": [
{
"fieldPath": "deleted",
"order": "ASCENDING"
},
{
"fieldPath": "userId",
"order": "ASCENDING"
},
{
"fieldPath": "createdAt",
"order": "DESCENDING"
},
{
"fieldPath": "__name__",
"order": "DESCENDING"
}
],
"density": "SPARSE_ALL"
},
{
"collectionGroup": "posts",
"queryScope": "COLLECTION",
"fields": [
{
"fieldPath": "deleted",
"order": "ASCENDING"
},
{
"fieldPath": "userId",
"order": "ASCENDING"
},
{
"fieldPath": "deletedAt",
"order": "DESCENDING"
},
{
"fieldPath": "__name__",
"order": "DESCENDING"
}
],
"density": "SPARSE_ALL"
},
{
"collectionGroup": "posts",
"queryScope": "COLLECTION",
"fields": [
{
"fieldPath": "deleted",
"order": "ASCENDING"
},
{
"fieldPath": "userId",
"order": "ASCENDING"
},
{
"fieldPath": "title_lc",
"order": "ASCENDING"
},
{
"fieldPath": "__name__",
"order": "ASCENDING"
}
]
],
"density": "SPARSE_ALL"
}
],
"fieldOverrides": []
Expand Down
Loading