Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
18 changes: 18 additions & 0 deletions .github/workflows/docker-image.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
name: Docker Image CI

on:
push:
branches: [ "develop" ]
pull_request:
branches: [ "develop" ]

jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Build and push the Docker image
run: |
docker login --username 8-prime --password ${{ secrets.GH_PAT }} ghcr.io
docker build . --tag ghcr.io/8-prime/file-flow:latest
docker push ghcr.io/8-prime/file-flow:latest
4 changes: 2 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM golang:latest as backend-build
FROM golang:1.24.3-bookworm AS backend-build

WORKDIR /app

Expand All @@ -12,7 +12,7 @@ RUN ls -la

RUN CGO_ENABLED=1 GOOS=linux go build -o /fileflow ./cmd/api/main.go

FROM node:alpine AS frontend-build
FROM node:slim AS frontend-build

WORKDIR /app
COPY frontend/package.json .
Expand Down
14 changes: 4 additions & 10 deletions frontend/src/pages/Admin.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ import { useDownloadInfos, useStats } from "@/api/api"
import { Header } from "@/components/Header"
import { Skeleton } from "@/components/ui/skeleton"
import { DownloadInfo, FileInfo } from "@/models/models"
import { safeCopyToClipboard } from "@/lib/utils"


export default function Admin() {
Expand All @@ -24,14 +25,14 @@ export default function Admin() {
}, [stats])

const copyLink = (id: string) => {
const link = `${window.location.origin}/download/${id}`
navigator.clipboard.writeText(link)
const link = `${window.location.origin}/files/${id}`
safeCopyToClipboard(link)
toast("Link copied", {
description: "The download link has been copied to your clipboard.",
})
}

const deleteUpload = (id: string) => {
const deleteUpload = (_: string) => {
// setUploads(uploads.filter((upload) => upload.id !== id))
// toast("Upload deleted", {
// description: "The upload and all its files have been permanently deleted.",
Expand Down Expand Up @@ -148,13 +149,6 @@ function UploadTable({
})
}

const humanizeBytes = (bytes: number, decimals: number = 2) => {
const units = ["B", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB"];

const base = Math.floor(Math.log(bytes) / Math.log(1024));
return (bytes / Math.pow(1024, base)).toFixed(decimals) + " " + units[base];
}

const toggleRow = (id: string) => {
setExpandedRows((prev) => ({
...prev,
Expand Down