Fixed issue where updating a link would fail when no topic was selected (bug reported to Jazz, forwarded to Anslem on Discord)
New Features
Topic Detail
Added keyboard navigation:
Use arrow up/down to navigate between links
Press Enter to open the selected link
Implemented "Add to My Profile" feature
Learning State Selector
Added toggle functionality
Personal Page
Added createdAt and updatedAt fields to schema
Made slug and title fields optional in schema
Show a placeholder to Untitled for pages without a title
Enabled direct page creation without requiring a title
Page Sidebar
Replaced manual sorting with last edited sort. since we dont have a draggable page item feature in the sidebar now.
Added "Show X items" functionality to the page item sidebar
Personal Link
Added link relation to schema
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.
## 📋 Pull Request Information
**Original PR:** https://github.com/linsa-io/linsa/pull/117
**Author:** [@Aslam97](https://github.com/Aslam97)
**Created:** 8/26/2024
**Status:** ✅ Merged
**Merged:** 8/28/2024
**Merged by:** [@Aslam97](https://github.com/Aslam97)
**Base:** `main` ← **Head:** `fix/topics`
---
### 📝 Commits (10+)
- [`c3d1a9f`](https://github.com/linsa-io/linsa/commit/c3d1a9f3115e20f92b5877208ffc58b793687a4e) feat: keyboard nav
- [`ab65f73`](https://github.com/linsa-io/linsa/commit/ab65f73ec0735514a32dd3b8b645ac2efbabbf6e) fix: link update
- [`1471784`](https://github.com/linsa-io/linsa/commit/1471784e2e6325e86544f4b7c11f954a3ee8d582) feat: reusable learning state
- [`031b69d`](https://github.com/linsa-io/linsa/commit/031b69d7d51995da8299b15bfe46b9d7cb750d25) chore: use new learning state
- [`e668f59`](https://github.com/linsa-io/linsa/commit/e668f592e924de88a44c96a961ecbff22dcb56bc) feat: add to my profile
- [`9073dc3`](https://github.com/linsa-io/linsa/commit/9073dc330349e5e82beb998d177e5b47430fec2a) .
- [`9c2bc35`](https://github.com/linsa-io/linsa/commit/9c2bc35e4ea5cda3fb231ea6917b70af9dca235e) .
- [`e4b6ab7`](https://github.com/linsa-io/linsa/commit/e4b6ab7a6784ffa5dbe301c05bfe415ecfdc51ea) feat: on enter open the link
- [`2664eb0`](https://github.com/linsa-io/linsa/commit/2664eb096b59d91da81611a65d715958d76b314f) fix: lint
- [`4d9432a`](https://github.com/linsa-io/linsa/commit/4d9432abcd1e3b0264533b243262d53f51416b57) fix: use eslint v8 instead of v9
### 📊 Changes
**50 files changed** (+1651 additions, -984 deletions)
<details>
<summary>View changed files</summary>
📝 `web/app/(pages)/page.tsx` (+2 -2)
📝 `web/app/(pages)/pages/[id]/page.tsx` (+2 -2)
📝 `web/app/layout.tsx` (+1 -2)
➖ `web/components/LinkOptions.tsx` (+0 -25)
➕ `web/components/custom/learning-state-selector.tsx` (+107 -0)
📝 `web/components/custom/sidebar/partial/page-section.tsx` (+205 -164)
📝 `web/components/custom/sidebar/partial/topic-section.tsx` (+123 -53)
📝 `web/components/custom/sidebar/sidebar.tsx` (+11 -3)
📝 `web/components/la-editor/styles/partials/placeholder.css` (+1 -1)
➖ `web/components/routes/AuthHomeRoute.tsx` (+0 -19)
📝 `web/components/routes/force-graph.tsx` (+1 -1)
➖ `web/components/routes/link/AuthHomeRoute.tsx` (+0 -19)
➕ `web/components/routes/link/LinkRoute.tsx` (+28 -0)
➕ `web/components/routes/link/bottom-bar.tsx` (+198 -0)
➖ `web/components/routes/link/form/index.ts` (+0 -1)
➖ `web/components/routes/link/form/manage.tsx` (+0 -100)
➖ `web/components/routes/link/form/partial/floating-button.tsx` (+0 -28)
➖ `web/components/routes/link/form/partial/learning-state-selector.tsx` (+0 -90)
📝 `web/components/routes/link/header.tsx` (+2 -0)
➖ `web/components/routes/link/list-item.tsx` (+0 -255)
_...and 30 more files_
</details>
### 📄 Description
## Bug Fixes
- Fixed issue where updating a link would fail when no topic was selected (bug reported to Jazz, forwarded to Anslem on Discord)
## New Features
### Topic Detail
- Added keyboard navigation:
- Use arrow up/down to navigate between links
- Press Enter to open the selected link
- Implemented "Add to My Profile" feature
### Learning State Selector
- Added toggle functionality
### Personal Page
- Added `createdAt` and `updatedAt` fields to schema
- Made `slug` and `title` fields optional in schema
- Show a placeholder to `Untitled` for pages without a title
- Enabled direct page creation without requiring a title
### Page Sidebar
- Replaced `manual` sorting with `last edited` sort. since we dont have a draggable page item feature in the sidebar now.
- Added "Show X items" functionality to the page item sidebar
### Personal Link
- Added link relation to schema
<img width="80" alt="Screenshot 2024-08-27 at 22 03 20" src="https://github.com/user-attachments/assets/3a42caba-44e7-44f2-a915-688e4bee741f">
<img width="244" alt="Screenshot 2024-08-27 at 22 03 12" src="https://github.com/user-attachments/assets/2521a8a6-6dc5-4134-b0be-ef0b096f723e">
<img width="252" alt="Screenshot 2024-08-27 at 22 03 06" src="https://github.com/user-attachments/assets/7eededc2-d3f6-490e-9bbc-9ebc06593fdb">
<img width="521" alt="Screenshot 2024-08-27 at 22 03 00" src="https://github.com/user-attachments/assets/a771cbe9-60b7-42a9-93c3-31a6173e2e7d">
<img width="207" alt="Screenshot 2024-08-27 at 22 02 48" src="https://github.com/user-attachments/assets/d6cd8848-2966-42d9-ac03-d56e3d73a0c2">
---
<sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
📋 Pull Request Information
Original PR: https://github.com/linsa-io/linsa/pull/117
Author: @Aslam97
Created: 8/26/2024
Status: ✅ Merged
Merged: 8/28/2024
Merged by: @Aslam97
Base:
main← Head:fix/topics📝 Commits (10+)
c3d1a9ffeat: keyboard navab65f73fix: link update1471784feat: reusable learning state031b69dchore: use new learning statee668f59feat: add to my profile9073dc3.9c2bc35.e4b6ab7feat: on enter open the link2664eb0fix: lint4d9432afix: use eslint v8 instead of v9📊 Changes
50 files changed (+1651 additions, -984 deletions)
View changed files
📝
web/app/(pages)/page.tsx(+2 -2)📝
web/app/(pages)/pages/[id]/page.tsx(+2 -2)📝
web/app/layout.tsx(+1 -2)➖
web/components/LinkOptions.tsx(+0 -25)➕
web/components/custom/learning-state-selector.tsx(+107 -0)📝
web/components/custom/sidebar/partial/page-section.tsx(+205 -164)📝
web/components/custom/sidebar/partial/topic-section.tsx(+123 -53)📝
web/components/custom/sidebar/sidebar.tsx(+11 -3)📝
web/components/la-editor/styles/partials/placeholder.css(+1 -1)➖
web/components/routes/AuthHomeRoute.tsx(+0 -19)📝
web/components/routes/force-graph.tsx(+1 -1)➖
web/components/routes/link/AuthHomeRoute.tsx(+0 -19)➕
web/components/routes/link/LinkRoute.tsx(+28 -0)➕
web/components/routes/link/bottom-bar.tsx(+198 -0)➖
web/components/routes/link/form/index.ts(+0 -1)➖
web/components/routes/link/form/manage.tsx(+0 -100)➖
web/components/routes/link/form/partial/floating-button.tsx(+0 -28)➖
web/components/routes/link/form/partial/learning-state-selector.tsx(+0 -90)📝
web/components/routes/link/header.tsx(+2 -0)➖
web/components/routes/link/list-item.tsx(+0 -255)...and 30 more files
📄 Description
Bug Fixes
New Features
Topic Detail
Learning State Selector
Personal Page
createdAtandupdatedAtfields to schemaslugandtitlefields optional in schemaUntitledfor pages without a titlePage Sidebar
manualsorting withlast editedsort. since we dont have a draggable page item feature in the sidebar now.Personal Link
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.