<feed xmlns='http://www.w3.org/2005/Atom'>
<title>fct-drive/frontend/app, branch main</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<link rel='alternate' type='text/html' href='http://git.d464.sh/fct-drive/'/>
<entry>
<title>feat: add footer with contact information</title>
<updated>2025-08-24T21:17:26+00:00</updated>
<author>
<name>diogo464</name>
<email>diogo464@d464.sh</email>
</author>
<published>2025-08-24T21:17:26+00:00</published>
<link rel='alternate' type='text/html' href='http://git.d464.sh/fct-drive/commit/?id=1b6bb98af1014c500c75de376c87a9b6bfa7ffb9'/>
<id>1b6bb98af1014c500c75de376c87a9b6bfa7ffb9</id>
<content type='text'>
- Add Footer component with inbox@fctdrive.xyz contact email
- Update main layout to include footer at bottom of all pages
- Use flexbox layout to ensure footer stays at bottom

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude &lt;noreply@anthropic.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Add Footer component with inbox@fctdrive.xyz contact email
- Update main layout to include footer at bottom of all pages
- Use flexbox layout to ensure footer stays at bottom

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude &lt;noreply@anthropic.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>frontend: improvements</title>
<updated>2025-08-14T20:13:57+00:00</updated>
<author>
<name>diogo464</name>
<email>diogo464@d464.sh</email>
</author>
<published>2025-08-14T20:11:48+00:00</published>
<link rel='alternate' type='text/html' href='http://git.d464.sh/fct-drive/commit/?id=e4917874be67de24f934e069b53e1726599c6cc5'/>
<id>e4917874be67de24f934e069b53e1726599c6cc5</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>updated website description</title>
<updated>2025-08-14T17:55:12+00:00</updated>
<author>
<name>diogo464</name>
<email>diogo464@d464.sh</email>
</author>
<published>2025-08-14T17:55:12+00:00</published>
<link rel='alternate' type='text/html' href='http://git.d464.sh/fct-drive/commit/?id=465d5271a59e76744380bcead203b9374a464541'/>
<id>465d5271a59e76744380bcead203b9374a464541</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>feat: update favicon to FCT university logo</title>
<updated>2025-08-14T14:15:09+00:00</updated>
<author>
<name>diogo464</name>
<email>diogo464@d464.sh</email>
</author>
<published>2025-08-14T14:15:09+00:00</published>
<link rel='alternate' type='text/html' href='http://git.d464.sh/fct-drive/commit/?id=9ae9253e8f8b8171069bb652cc849f9a0d5499db'/>
<id>9ae9253e8f8b8171069bb652cc849f9a0d5499db</id>
<content type='text'>
- Replace default Next.js favicon with FCT university favicon
- Downloaded from https://www.fct.unl.pt/sites/default/files/favicon_3.ico
- 64x64 PNG format with transparent background
- Improves branding consistency with FCT Drive purpose

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude &lt;noreply@anthropic.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Replace default Next.js favicon with FCT university favicon
- Downloaded from https://www.fct.unl.pt/sites/default/files/favicon_3.ico
- 64x64 PNG format with transparent background
- Improves branding consistency with FCT Drive purpose

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude &lt;noreply@anthropic.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>fix: update searchParams interface for Next.js 15 compatibility</title>
<updated>2025-08-14T14:13:01+00:00</updated>
<author>
<name>diogo464</name>
<email>diogo464@d464.sh</email>
</author>
<published>2025-08-14T14:13:01+00:00</published>
<link rel='alternate' type='text/html' href='http://git.d464.sh/fct-drive/commit/?id=ba1d991f6a42941f2bf0ea08c937a6f07a8093e4'/>
<id>ba1d991f6a42941f2bf0ea08c937a6f07a8093e4</id>
<content type='text'>
- Change searchParams from object to Promise&lt;object&gt; in HistoryPageProps
- Await searchParams resolution in HistoryPage component
- Fixes TypeScript compilation error during build process

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude &lt;noreply@anthropic.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Change searchParams from object to Promise&lt;object&gt; in HistoryPageProps
- Await searchParams resolution in HistoryPage component
- Fixes TypeScript compilation error during build process

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude &lt;noreply@anthropic.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>feat: add paginated history page with activity log</title>
<updated>2025-08-14T14:07:28+00:00</updated>
<author>
<name>diogo464</name>
<email>diogo464@d464.sh</email>
</author>
<published>2025-08-14T14:07:28+00:00</published>
<link rel='alternate' type='text/html' href='http://git.d464.sh/fct-drive/commit/?id=912bef7608aab286a5cc82c8ac9e2e19b19b5f1c'/>
<id>912bef7608aab286a5cc82c8ac9e2e19b19b5f1c</id>
<content type='text'>
- Create /history page showing drive activity with server-side rendering
- Display timestamp, action, user, path, and file size in table format
- Add pagination (50 entries per page) using URL query parameters
- Sort entries by timestamp descending (most recent first)
- Add History button to drive header for easy navigation
- Use existing UI components and styling patterns

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude &lt;noreply@anthropic.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Create /history page showing drive activity with server-side rendering
- Display timestamp, action, user, path, and file size in table format
- Add pagination (50 entries per page) using URL query parameters
- Sort entries by timestamp descending (most recent first)
- Add History button to drive header for easy navigation
- Use existing UI components and styling patterns

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude &lt;noreply@anthropic.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor: move auth components to server-side rendering</title>
<updated>2025-08-13T15:49:09+00:00</updated>
<author>
<name>diogo464</name>
<email>diogo464@d464.sh</email>
</author>
<published>2025-08-13T15:49:09+00:00</published>
<link rel='alternate' type='text/html' href='http://git.d464.sh/fct-drive/commit/?id=0a588ec2d7417b12b53a8cc816a399a09d3a0814'/>
<id>0a588ec2d7417b12b53a8cc816a399a09d3a0814</id>
<content type='text'>
- Create server-side AuthButtons component that renders login/logout based on auth state
- Add DriveHeader component for title and auth buttons (server-side)
- Restructure DriveDirectoryClient to focus on breadcrumbs/actions/files only
- Remove client-side auth state management from DriveDirectoryClient
- Add /api/logout route handler for server-side logout flow
- Update DriveDirectoryView to compose header and directory components
- Preserve existing TinyAuth integration and dev mode bypass

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude &lt;noreply@anthropic.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Create server-side AuthButtons component that renders login/logout based on auth state
- Add DriveHeader component for title and auth buttons (server-side)
- Restructure DriveDirectoryClient to focus on breadcrumbs/actions/files only
- Remove client-side auth state management from DriveDirectoryClient
- Add /api/logout route handler for server-side logout flow
- Update DriveDirectoryView to compose header and directory components
- Preserve existing TinyAuth integration and dev mode bypass

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude &lt;noreply@anthropic.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor: split auth module into separate files and fix imports</title>
<updated>2025-08-13T15:34:34+00:00</updated>
<author>
<name>diogo464</name>
<email>diogo464@d464.sh</email>
</author>
<published>2025-08-13T15:34:34+00:00</published>
<link rel='alternate' type='text/html' href='http://git.d464.sh/fct-drive/commit/?id=817d5696ec6dfe7679467f05619d58b8d741230d'/>
<id>817d5696ec6dfe7679467f05619d58b8d741230d</id>
<content type='text'>
- Created auth_types.ts for type definitions
- Created auth_shared.ts for utility functions and endpoints
- Updated auth.ts to focus on session management
- Fixed all auth import statements throughout codebase
- Updated login redirect to use Auth_tinyauth_public_endpoint properly

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude &lt;noreply@anthropic.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Created auth_types.ts for type definitions
- Created auth_shared.ts for utility functions and endpoints
- Updated auth.ts to focus on session management
- Fixed all auth import statements throughout codebase
- Updated login redirect to use Auth_tinyauth_public_endpoint properly

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude &lt;noreply@anthropic.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix SSR storage data fetching in drive pages</title>
<updated>2025-08-13T13:02:35+00:00</updated>
<author>
<name>diogo464</name>
<email>diogo464@d464.sh</email>
</author>
<published>2025-08-13T13:02:35+00:00</published>
<link rel='alternate' type='text/html' href='http://git.d464.sh/fct-drive/commit/?id=86c0a412d2ed3fb22735e373d951e50ee24cdacd'/>
<id>86c0a412d2ed3fb22735e373d951e50ee24cdacd</id>
<content type='text'>
- Replace HTTP fetch with direct function import
- Remove environment-dependent URL construction
- Fix 'Failed to parse URL from /api/storage' error in production
- Import fetchStorageData directly from lib/storage
- Enable static rendering for /drive page

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude &lt;noreply@anthropic.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Replace HTTP fetch with direct function import
- Remove environment-dependent URL construction
- Fix 'Failed to parse URL from /api/storage' error in production
- Import fetchStorageData directly from lib/storage
- Enable static rendering for /drive page

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude &lt;noreply@anthropic.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Refactor storage API to use shared utility</title>
<updated>2025-08-13T13:02:28+00:00</updated>
<author>
<name>diogo464</name>
<email>diogo464@d464.sh</email>
</author>
<published>2025-08-13T13:02:28+00:00</published>
<link rel='alternate' type='text/html' href='http://git.d464.sh/fct-drive/commit/?id=80b66131b793c7d3b9a5df9168906e29e296a057'/>
<id>80b66131b793c7d3b9a5df9168906e29e296a057</id>
<content type='text'>
- Import fetchStorageData from lib/storage instead of duplicating logic
- Simplify API route by removing duplicate implementation
- Maintain same API response format

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude &lt;noreply@anthropic.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Import fetchStorageData from lib/storage instead of duplicating logic
- Simplify API route by removing duplicate implementation
- Maintain same API response format

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude &lt;noreply@anthropic.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
