Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
febf89f
Merge pull request #4 from venu123143/main
venu123143 Sep 23, 2025
fb50b44
notification popup added
venu123143 Sep 24, 2025
6fe16c3
Merge pull request #5 from venu123143/notification_popup
venu123143 Sep 25, 2025
e55574a
idle state issue fixes
venu123143 Sep 26, 2025
d7c3c01
Merge pull request #6 from venu123143/notification_popup
venu123143 Sep 26, 2025
dbc4fce
recent files get api added
venu123143 Sep 27, 2025
ce9f8db
Merge pull request #7 from venu123143/notification_popup
venu123143 Sep 27, 2025
032fb78
sessions added
venu123143 Nov 9, 2025
059d099
auth api session changes
venu123143 Nov 12, 2025
fde377f
Merge pull request #8 from venu123143/notification_popup
venu123143 Nov 13, 2025
1e7d34d
protected route and private route added
venu123143 Nov 19, 2025
c276296
Merge pull request #9 from venu123143/notification_popup
venu123143 Nov 19, 2025
db9f826
skip and forward 10 seconds in the video player changes
venu123143 Nov 19, 2025
60c7e86
Merge pull request #10 from venu123143/notification_popup
venu123143 Nov 19, 2025
e8ab5f2
ui changes, dark and light mode changes
venu123143 Nov 22, 2025
9da1de6
when dont want to go to the private folder, you can come back to the …
venu123143 Nov 22, 2025
5d02eb9
Merge pull request #11 from venu123143/notification_popup
venu123143 Nov 22, 2025
dc7c05d
lazy loading implementing for routes
venu123143 Nov 22, 2025
3008e4a
Merge pull request #12 from venu123143/notification_popup
venu123143 Nov 22, 2025
90585c6
api token ui changes
venu123143 Nov 22, 2025
d72a02e
Merge pull request #13 from venu123143/notification_popup
venu123143 Nov 22, 2025
c0c1c87
share files changes
venu123143 Nov 23, 2025
8d67a83
Merge pull request #14 from venu123143/notification_popup
venu123143 Nov 23, 2025
ad25bce
refresh tokens implemented
venu123143 Dec 7, 2025
9d4ca5a
file context changes
venu123143 Dec 7, 2025
275e9a4
Merge pull request #15 from venu123143/notification_popup
venu123143 Dec 7, 2025
dd205df
ui changes
venu123143 Dec 7, 2025
efcd730
Merge pull request #16 from venu123143/notification_popup
venu123143 Dec 7, 2025
a28ea8d
some ui and funcnality changes
venu123143 Dec 9, 2025
5f5291e
navigation ui changes
venu123143 Dec 9, 2025
7809f1c
Merge pull request #17 from venu123143/notification_popup
venu123143 Dec 9, 2025
1f3cf1a
file flow upload ui changes
venu123143 Dec 28, 2025
fc120d7
notifications modified to the new cursor technique to improve perform…
venu123143 Dec 28, 2025
8f7f8d0
sorting added
venu123143 Dec 28, 2025
3571a2a
download file code added
venu123143 Dec 28, 2025
278970d
eslint errors fixes
venu123143 Dec 28, 2025
55b3200
Merge pull request #18 from venu123143/notification_popup
venu123143 Dec 28, 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
255 changes: 0 additions & 255 deletions README-FILE-MANAGER.md

This file was deleted.

6 changes: 6 additions & 0 deletions bun.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,11 @@
"axios": "^1.11.0",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"date-fns": "^4.1.0",
"framer-motion": "^12.23.12",
"lucide-react": "^0.539.0",
"react": "^19.1.1",
"react-day-picker": "^8.10.0",
"react-dom": "^19.1.1",
"react-hook-form": "^7.62.0",
"react-router-dom": "^7.8.0",
Expand Down
24 changes: 13 additions & 11 deletions src/App.tsx
Original file line number Diff line number Diff line change
@@ -1,22 +1,24 @@
import "./css/App.css";
import { Suspense } from "react";
import { Suspense, lazy } from "react";
import { ProtectedRoute } from "@/components/layouts/index";
import { USER_ROLES } from "@/types/user.types";
import { Routes, Route } from "react-router-dom";
import NotFound from "@/routes/Notfound";
import Home from "@/routes/Home";
import DeletedFiles from "@/routes/DeletedFiles";
import AllFiles from "@/routes/AllFiles";
import PrivateFiles from "@/routes/PrivateFiles";
import Settings from "@/routes/Settings";
import SharedFiles from "@/routes/SharedFiles";
import Notifications from "@/routes/Notifications";
import Login from "@/routes/auth/Login";
import Register from "@/routes/auth/Register";
import Unauthorized from "@/routes/Unauthorized";
import Upload from "@/routes/Upload";
import UploadPopup from "@/components/upload/UploadPopup";

// Lazy load routes
const NotFound = lazy(() => import("@/routes/Notfound"));
const Home = lazy(() => import("@/routes/Home"));
const DeletedFiles = lazy(() => import("@/routes/DeletedFiles"));
const AllFiles = lazy(() => import("@/routes/AllFiles"));
const PrivateFiles = lazy(() => import("@/routes/PrivateFiles"));
const Settings = lazy(() => import("@/routes/Settings"));
const SharedFiles = lazy(() => import("@/routes/SharedFiles"));
const Notifications = lazy(() => import("@/routes/Notifications"));
const Unauthorized = lazy(() => import("@/routes/Unauthorized"));
const Upload = lazy(() => import("@/routes/Upload"));

// Loading component for Suspense fallback
const Loading = () => (
<div className="flex items-center justify-center h-screen">
Expand Down
46 changes: 46 additions & 0 deletions src/api/api-token.api.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
import apiClient from "@/api/axios";

export interface ApiToken {
id: string;
name: string;
token?: string; // Only present when generated
last_used_at?: string;
usage_count: number;
expires_at?: string;
created_at: string;
is_active: boolean;
}

export interface GenerateTokenDto {
name: string;
expires_at?: string;
}

const generateToken = async (data: GenerateTokenDto) => {
try {
const response = await apiClient.post('/api-token/generate', data);
return response.data;
} catch (error) {
throw error;
}
};

const listTokens = async () => {
try {
const response = await apiClient.get('/api-token/list');
return response.data;
} catch (error) {
throw error;
}
};

const revokeToken = async (id: string) => {
try {
const response = await apiClient.delete(`/api-token/${id}`);
return response.data;
} catch (error) {
throw error;
}
};

export default { generateToken, listTokens, revokeToken };
Loading