From e0a94b965a5a421ca55b71a89e7ce7b24369a194 Mon Sep 17 00:00:00 2001 From: Max Value Date: Tue, 29 Jul 2025 17:58:34 +0100 Subject: [PATCH] Added drag drop and styling changes --- .github/ISSUE_TEMPLATE/bug_report.md | 28 - .github/ISSUE_TEMPLATE/feature_requst.md | 16 - .github/workflows/ci.yaml | 46 - .github/workflows/release.yaml | 191 -- assets/favicon.ico | Bin 9277 -> 8442 bytes assets/index.css | 65 +- assets/index.html | 5 +- assets/index.js | 1680 ++++++----- src/server.rs | 3365 +++++++++++----------- 9 files changed, 2669 insertions(+), 2727 deletions(-) delete mode 100644 .github/ISSUE_TEMPLATE/bug_report.md delete mode 100644 .github/ISSUE_TEMPLATE/feature_requst.md delete mode 100644 .github/workflows/ci.yaml delete mode 100644 .github/workflows/release.yaml diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md deleted file mode 100644 index 0fe37df..0000000 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -name: Bug report -about: Create a report to help us improve ---- - -**Problem** - - - -**Configuration** - - - - - -**Log** - - - -**Screenshots/Media** - - - -**Environment Information** - - Dufs version: - - Browser/Webdav info: - - OS info: - - Proxy server (if any): \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/feature_requst.md b/.github/ISSUE_TEMPLATE/feature_requst.md deleted file mode 100644 index f8735b9..0000000 --- a/.github/ISSUE_TEMPLATE/feature_requst.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -name: Feature Request -about: If you have any interesting advice, you can tell us. ---- - -## Specific Demand - - - -## Implement Suggestion - - \ No newline at end of file diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml deleted file mode 100644 index 9cbf67a..0000000 --- a/.github/workflows/ci.yaml +++ /dev/null @@ -1,46 +0,0 @@ -name: CI - -on: - pull_request: - branches: - - '*' - push: - branches: - - main - -defaults: - run: - shell: bash - -jobs: - all: - name: All - - strategy: - matrix: - os: - - ubuntu-latest - - macos-latest - - windows-latest - - runs-on: ${{matrix.os}} - - env: - RUSTFLAGS: --deny warnings - - steps: - - uses: actions/checkout@v4 - - - name: Install Rust Toolchain Components - uses: dtolnay/rust-toolchain@stable - - - uses: Swatinem/rust-cache@v2 - - - name: Test - run: cargo test --all - - - name: Clippy - run: cargo clippy --all --all-targets - - - name: Format - run: cargo fmt --all --check \ No newline at end of file diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml deleted file mode 100644 index e91ec12..0000000 --- a/.github/workflows/release.yaml +++ /dev/null @@ -1,191 +0,0 @@ -name: Release - -on: - push: - tags: - - v[0-9]+.[0-9]+.[0-9]+* - -jobs: - release: - name: Publish to Github Releases - permissions: - contents: write - outputs: - rc: ${{ steps.check-tag.outputs.rc }} - - strategy: - matrix: - include: - - target: aarch64-unknown-linux-musl - os: ubuntu-latest - use-cross: true - cargo-flags: "" - - target: aarch64-apple-darwin - os: macos-latest - use-cross: true - cargo-flags: "" - - target: aarch64-pc-windows-msvc - os: windows-latest - use-cross: true - cargo-flags: "" - - target: x86_64-apple-darwin - os: macos-latest - cargo-flags: "" - - target: x86_64-pc-windows-msvc - os: windows-latest - cargo-flags: "" - - target: x86_64-unknown-linux-musl - os: ubuntu-latest - use-cross: true - cargo-flags: "" - - target: i686-unknown-linux-musl - os: ubuntu-latest - use-cross: true - cargo-flags: "" - - target: i686-pc-windows-msvc - os: windows-latest - use-cross: true - cargo-flags: "" - - target: armv7-unknown-linux-musleabihf - os: ubuntu-latest - use-cross: true - cargo-flags: "" - - target: arm-unknown-linux-musleabihf - os: ubuntu-latest - use-cross: true - cargo-flags: "" - - runs-on: ${{matrix.os}} - env: - BUILD_CMD: cargo - - steps: - - uses: actions/checkout@v4 - - - name: Check Tag - id: check-tag - shell: bash - run: | - ver=${GITHUB_REF##*/} - echo "version=$ver" >> $GITHUB_OUTPUT - if [[ "$ver" =~ [0-9]+.[0-9]+.[0-9]+$ ]]; then - echo "rc=false" >> $GITHUB_OUTPUT - else - echo "rc=true" >> $GITHUB_OUTPUT - fi - - - - name: Install Rust Toolchain Components - uses: dtolnay/rust-toolchain@stable - with: - targets: ${{ matrix.target }} - - - name: Install cross - if: matrix.use-cross - uses: taiki-e/install-action@v2 - with: - tool: cross - - - name: Overwrite build command env variable - if: matrix.use-cross - shell: bash - run: echo "BUILD_CMD=cross" >> $GITHUB_ENV - - - name: Show Version Information (Rust, cargo, GCC) - shell: bash - run: | - gcc --version || true - rustup -V - rustup toolchain list - rustup default - cargo -V - rustc -V - - - name: Build - shell: bash - run: $BUILD_CMD build --locked --release --target=${{ matrix.target }} ${{ matrix.cargo-flags }} - - - name: Build Archive - shell: bash - id: package - env: - target: ${{ matrix.target }} - version: ${{ steps.check-tag.outputs.version }} - run: | - set -euxo pipefail - - bin=${GITHUB_REPOSITORY##*/} - dist_dir=`pwd`/dist - name=$bin-$version-$target - executable=target/$target/release/$bin - - if [[ "$RUNNER_OS" == "Windows" ]]; then - executable=$executable.exe - fi - - mkdir $dist_dir - cp $executable $dist_dir - cd $dist_dir - - if [[ "$RUNNER_OS" == "Windows" ]]; then - archive=$dist_dir/$name.zip - 7z a $archive * - echo "archive=dist/$name.zip" >> $GITHUB_OUTPUT - else - archive=$dist_dir/$name.tar.gz - tar -czf $archive * - echo "archive=dist/$name.tar.gz" >> $GITHUB_OUTPUT - fi - - - name: Publish Archive - uses: softprops/action-gh-release@v2 - if: ${{ startsWith(github.ref, 'refs/tags/') }} - with: - draft: false - files: ${{ steps.package.outputs.archive }} - prerelease: ${{ steps.check-tag.outputs.rc == 'true' }} - - docker: - name: Publish to Docker Hub - if: startsWith(github.ref, 'refs/tags/') - runs-on: ubuntu-latest - needs: release - steps: - - name: Set up QEMU - uses: docker/setup-qemu-action@v3 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - name: Login to DockerHub - uses: docker/login-action@v3 - with: - username: ${{ github.repository_owner }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - name: Build and push - uses: docker/build-push-action@v5 - with: - file: Dockerfile-release - build-args: | - REPO=${{ github.repository }} - VER=${{ github.ref_name }} - platforms: | - linux/amd64 - linux/arm64 - linux/386 - linux/arm/v7 - push: ${{ needs.release.outputs.rc == 'false' }} - tags: ${{ github.repository }}:latest, ${{ github.repository }}:${{ github.ref_name }} - - publish-crate: - name: Publish to crates.io - if: ${{ needs.release.outputs.rc == 'false' }} - runs-on: ubuntu-latest - needs: release - steps: - - uses: actions/checkout@v4 - - - uses: dtolnay/rust-toolchain@stable - - - name: Publish - env: - CARGO_REGISTRY_TOKEN: ${{ secrets.CRATES_IO_API_TOKEN }} - run: cargo publish \ No newline at end of file diff --git a/assets/favicon.ico b/assets/favicon.ico index c40c5570dbe8aea77737957ef5f7ffa956c00e2d..8578ca365a8f3240abf2782d8e6f278f53d9f6d8 100644 GIT binary patch literal 8442 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 literal 9277 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 diff --git a/assets/index.css b/assets/index.css index 42d8e01..d2bb8d7 100644 --- a/assets/index.css +++ b/assets/index.css @@ -1,5 +1,10 @@ +:root { + --lm-color: #004088; + --dm-color: #004088; +} + html { - font-family: -apple-system, BlinkMacSystemFont, Roboto, Helvetica, Arial, sans-serif; + font-family: Helvetica, Arial, sans-serif; line-height: 1.5; color: #24292e; } @@ -182,14 +187,14 @@ body { } .path a { - color: #0366d6; + color: var(--lm-color); text-overflow: ellipsis; white-space: nowrap; overflow: hidden; display: block; text-decoration: none; - max-width: calc(100vw - 375px); - min-width: 170px; + max-width: calc(100vw - 375px - 200px); + min-width: calc(170px - 200px); } .path a:hover { @@ -250,6 +255,54 @@ body { cursor: pointer; } +.cell-name .drag-div { + display: inline-block; + vertical-align: top; +} + +.internaldrop { + width: 100px; + display: inline-block; + vertical-align: top; + text-align: center; + + color: rgba(3, 47, 98, 0.5); + border: 2px solid rgba(3, 47, 98, 0.5); + border-radius: 4px; + + background-color: rgba(3, 47, 98, 0); + opacity: 0; + transition: opacity 0.5s, background-color 0.5s; +} + +.internaldrop.dragging { + opacity: 1; +} + +.internaldrop.dragging.dragover { + background-color: rgba(3, 47, 98, 0.2); +} + +#filedrop { + width: 100%; + height: 50px; + line-height: 50px; + margin-bottom: 10px; + + text-align: center; + + color: rgba(3, 47, 98, 0.5); + border: 2px solid rgba(3, 47, 98, 0.5); + border-radius: 4px; + + background-color: rgba(3, 47, 98, 0); + transition: background-color 0.5s; +} + +#filedrop.dragoverfile { + background-color: rgba(3, 47, 98, 0.2); +} + @media (min-width: 768px) { .path a { min-width: 400px; @@ -293,7 +346,7 @@ body { } .path a { - color: #3191ff; + color: var(--dm-color); } .paths-table tbody tr:hover { @@ -304,4 +357,4 @@ body { background: black; color: white; } -} \ No newline at end of file +} diff --git a/assets/index.html b/assets/index.html index d814aa0..de4e464 100644 --- a/assets/index.html +++ b/assets/index.html @@ -102,6 +102,9 @@