Compare commits
20 Commits
fdroid-v1.
...
rust_proce
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1e9cc64a64 | ||
|
|
0205bec30a | ||
|
|
fad0c4559f | ||
|
|
2e4866d302 | ||
|
|
aadbe75c50 | ||
|
|
899bf79460 | ||
|
|
21af6d0070 | ||
|
|
1bad2b3555 | ||
|
|
ffa50df43e | ||
|
|
8fdc7dcd89 | ||
|
|
1ed26567a5 | ||
|
|
6101570c9d | ||
|
|
a33bbb22ae | ||
|
|
a2661ef6ed | ||
|
|
8daa22e423 | ||
|
|
aeb2235875 | ||
|
|
bf903562f6 | ||
|
|
9cb7c01481 | ||
|
|
233d1715e9 | ||
|
|
e3c019f7ed |
16
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
@@ -1,6 +1,6 @@
|
||||
name: Report a bug
|
||||
description: Let us know if something's not working the way you expected.
|
||||
labels: []
|
||||
labels: ["triage"]
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
@@ -26,20 +26,6 @@ body:
|
||||
label: Version
|
||||
description: The version can be seen at the bottom of settings.
|
||||
placeholder: e.g. v1.2.3
|
||||
- type: input
|
||||
attributes:
|
||||
label: Last working version
|
||||
description: >
|
||||
The version where the feature was last known to be working. It is
|
||||
fine if you don't remember the exact version (mention roughly
|
||||
then), but if there just isn't a last known working version, then
|
||||
it is likely that what is being reported is not an issue but a
|
||||
feature request. The difference between the two categories is not
|
||||
just semantic - feature requests use GitHub discussions and so can
|
||||
be [upvoted by the
|
||||
community](https://github.com/ente-io/ente/discussions/categories/feature-requests)
|
||||
(issues can't be).
|
||||
placeholder: e.g. v1.2.3
|
||||
- type: dropdown
|
||||
attributes:
|
||||
label: What product are you using?
|
||||
|
||||
4
.github/workflows/auth-crowdin-push.yml
vendored
@@ -9,10 +9,6 @@ on:
|
||||
# Or the workflow itself is changed
|
||||
- ".github/workflows/auth-crowdin.yml"
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
pull-requests: write
|
||||
|
||||
jobs:
|
||||
push-sources-to-crowdin:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
4
.github/workflows/auth-crowdin-sync.yml
vendored
@@ -8,10 +8,6 @@ on:
|
||||
# Also allow manually running the workflow.
|
||||
workflow_dispatch:
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
pull-requests: write
|
||||
|
||||
jobs:
|
||||
synchronize-with-crowdin:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
14
.github/workflows/auth-internal-release.yml
vendored
@@ -6,9 +6,6 @@ on:
|
||||
env:
|
||||
FLUTTER_VERSION: "3.24.3"
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
@@ -43,7 +40,7 @@ jobs:
|
||||
|
||||
- name: Build PlayStore AAB
|
||||
run: |
|
||||
flutter build appbundle --dart-define=cronetHttpNoPlay=true --release --flavor playstore
|
||||
flutter build appbundle --release --flavor playstore --dart-define=app.flavor=playstore
|
||||
env:
|
||||
SIGNING_KEY_PATH: "/home/runner/work/_temp/keystore/ente_auth_key.jks"
|
||||
SIGNING_KEY_ALIAS: ${{ secrets.SIGNING_KEY_ALIAS }}
|
||||
@@ -57,12 +54,3 @@ jobs:
|
||||
packageName: io.ente.auth
|
||||
releaseFiles: auth/build/app/outputs/bundle/playstoreRelease/app-playstore-release.aab
|
||||
track: internal
|
||||
|
||||
- name: Notify Discord
|
||||
uses: sarisia/actions-status-discord@v1
|
||||
with:
|
||||
webhook: ${{ secrets.DISCORD_INTERNAL_RELEASE_WEBHOOK }}
|
||||
nodetail: true
|
||||
title: "🏆 Internal release available for Auth"
|
||||
description: "[Download](https://play.google.com/store/apps/details?id=io.ente.auth)"
|
||||
color: 0x800080
|
||||
|
||||
30
.github/workflows/auth-lint.yml
vendored
@@ -10,9 +10,6 @@ on:
|
||||
env:
|
||||
FLUTTER_VERSION: "3.24.3"
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
lint:
|
||||
runs-on: ubuntu-latest
|
||||
@@ -25,30 +22,6 @@ jobs:
|
||||
with:
|
||||
submodules: recursive
|
||||
|
||||
- name: Verify custom icons are lowercase including optional understores, and end with .svg
|
||||
run: |
|
||||
find assets/custom-icons -type f -name "*.svg" | while read -r file; do
|
||||
if [[ "$(basename "$file")" != "$(basename "$file" | tr '[:upper:]' '[:lower:]' | tr ' ' '_')" ]]; then
|
||||
echo "File name is not lowercase: $file"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
- name: Verify all icons are less than 20KB
|
||||
run: |
|
||||
find assets/custom-icons -type f -name "*.svg" | while read -r file; do
|
||||
if [[ "$file" == "assets/custom-icons/icons/bbs_nga.svg" ]]; then
|
||||
continue
|
||||
fi
|
||||
if [[ "$(stat --printf="%s" "$file")" -gt 20480 ]]; then
|
||||
echo "File size is greater than 20KB: $file ($file_size bytes)"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
- name: Verify custom icon JSON
|
||||
run: cat assets/custom-icons/_data/custom-icons.json | jq empty
|
||||
|
||||
- name: Install Flutter ${{ env.FLUTTER_VERSION }}
|
||||
uses: subosito/flutter-action@v2
|
||||
with:
|
||||
@@ -59,3 +32,6 @@ jobs:
|
||||
- run: flutter pub get
|
||||
|
||||
- run: flutter analyze --no-fatal-infos
|
||||
|
||||
- name: Verify custom icon JSON
|
||||
run: cat assets/custom-icons/_data/custom-icons.json | jq empty
|
||||
|
||||
99
.github/workflows/auth-release.yml
vendored
@@ -31,12 +31,9 @@ on:
|
||||
env:
|
||||
FLUTTER_VERSION: "3.24.3"
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
|
||||
jobs:
|
||||
build-linux-latest:
|
||||
runs-on: ubuntu-22.04
|
||||
build-ubuntu:
|
||||
runs-on: ubuntu-20.04
|
||||
|
||||
defaults:
|
||||
run:
|
||||
@@ -71,7 +68,7 @@ jobs:
|
||||
|
||||
- name: Build independent APK
|
||||
run: |
|
||||
flutter build apk --dart-define=cronetHttpNoPlay=true --release --flavor independent
|
||||
flutter build apk --release --flavor independent --dart-define=app.flavor=independent
|
||||
mv build/app/outputs/flutter-apk/app-independent-release.apk artifacts/ente-${{ github.ref_name }}.apk
|
||||
env:
|
||||
SIGNING_KEY_PATH: "/home/runner/work/_temp/keystore/ente_auth_key.jks"
|
||||
@@ -83,7 +80,7 @@ jobs:
|
||||
# disable this step if release tag contains nightly or beta
|
||||
if: startsWith(github.ref, 'refs/tags/auth-v') && !contains(github.ref, 'nightly') && !contains(github.ref, 'beta')
|
||||
run: |
|
||||
flutter build appbundle --release --flavor playstore --dart-define=app.flavor=playstore --dart-define=cronetHttpNoPlay=true
|
||||
flutter build appbundle --release --flavor playstore --dart-define=app.flavor=playstore
|
||||
env:
|
||||
SIGNING_KEY_PATH: "/home/runner/work/_temp/keystore/ente_auth_key.jks"
|
||||
SIGNING_KEY_ALIAS: ${{ secrets.SIGNING_KEY_ALIAS }}
|
||||
@@ -93,33 +90,22 @@ jobs:
|
||||
- name: Install dependencies for desktop build
|
||||
run: |
|
||||
sudo apt-get update -y
|
||||
sudo apt-get install -y libsecret-1-dev libsodium-dev libfuse2 ninja-build libgtk-3-dev dpkg-dev pkg-config rpm patchelf libsqlite3-dev locate libayatana-appindicator3-dev libffi-dev libtiff5 xz-utils libarchive-tools libcurl4-openssl-dev
|
||||
sudo apt-get install -y libsecret-1-dev libsodium-dev libfuse2 ninja-build libgtk-3-dev dpkg-dev pkg-config libsqlite3-dev locate appindicator3-0.1 libappindicator3-dev libffi-dev libtiff5
|
||||
sudo updatedb --localpaths='/usr/lib/x86_64-linux-gnu'
|
||||
|
||||
- name: Install appimagetool
|
||||
run: |
|
||||
wget -O appimagetool "https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage"
|
||||
chmod +x appimagetool
|
||||
mv appimagetool /usr/local/bin/
|
||||
|
||||
- name: Build desktop app
|
||||
run: |
|
||||
flutter config --enable-linux-desktop
|
||||
dart pub global activate --source git https://github.com/ente-io/flutter_distributor_fork --git-ref develop --git-path packages/flutter_distributor
|
||||
# RPM
|
||||
flutter_distributor package --platform=linux --targets=rpm --skip-clean
|
||||
mv dist/**/*-*-linux.rpm artifacts/ente-${{ github.ref_name }}-x86_64.rpm
|
||||
# APPIMAGE
|
||||
flutter_distributor package --platform=linux --targets=appimage --skip-clean
|
||||
mv dist/**/*-*-linux.AppImage artifacts/ente-${{ github.ref_name }}-x86_64.AppImage
|
||||
# DEB
|
||||
# dart pub global activate flutter_distributor
|
||||
dart pub global activate --source git https://github.com/prateekmedia/flutter_distributor --git-ref develop --git-path packages/flutter_distributor
|
||||
flutter_distributor package --platform=linux --targets=deb --skip-clean
|
||||
mv dist/**/*-*-linux.deb artifacts/ente-${{ github.ref_name }}-x86_64.deb
|
||||
env:
|
||||
LIBSODIUM_USE_PKGCONFIG: 1
|
||||
|
||||
- name: Generate checksums
|
||||
- name: Generate checksums and push to artifacts
|
||||
run: |
|
||||
sha256sum artifacts/ente-auth-*.apk >> artifacts/sha256sum-apk
|
||||
sha256sum artifacts/ente-auth-*.deb artifacts/ente-auth-*.rpm artifacts/ente-auth-*.AppImage >> artifacts/sha256sum-linux
|
||||
sha256sum artifacts/ente-* > artifacts/sha256sum-apk-deb
|
||||
|
||||
- name: Create a draft GitHub release
|
||||
uses: ncipollo/release-action@v1
|
||||
@@ -139,6 +125,67 @@ jobs:
|
||||
releaseFiles: auth/build/app/outputs/bundle/playstoreRelease/app-playstore-release.aab
|
||||
track: internal
|
||||
|
||||
build-fedora-etc:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
defaults:
|
||||
run:
|
||||
working-directory: auth
|
||||
|
||||
steps:
|
||||
- name: Checkout code and submodules
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: recursive
|
||||
|
||||
- name: Install Flutter ${{ env.FLUTTER_VERSION }}
|
||||
uses: subosito/flutter-action@v2
|
||||
with:
|
||||
channel: "stable"
|
||||
flutter-version: ${{ env.FLUTTER_VERSION }}
|
||||
cache: true
|
||||
|
||||
- name: Create artifacts directory
|
||||
run: mkdir artifacts
|
||||
|
||||
- name: Install dependencies for desktop build
|
||||
run: |
|
||||
sudo apt-get update -y
|
||||
sudo apt-get install -y libsecret-1-dev libsodium-dev libfuse2 ninja-build libgtk-3-dev dpkg-dev pkg-config rpm patchelf libsqlite3-dev locate libayatana-appindicator3-dev libffi-dev libtiff5 xz-utils libarchive-tools
|
||||
sudo updatedb --localpaths='/usr/lib/x86_64-linux-gnu'
|
||||
|
||||
- name: Install appimagetool
|
||||
run: |
|
||||
wget -O appimagetool "https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage"
|
||||
chmod +x appimagetool
|
||||
mv appimagetool /usr/local/bin/
|
||||
|
||||
- name: Build desktop app
|
||||
run: |
|
||||
flutter config --enable-linux-desktop
|
||||
# dart pub global activate flutter_distributor
|
||||
dart pub global activate --source git https://github.com/prateekmedia/flutter_distributor --git-ref develop --git-path packages/flutter_distributor
|
||||
# Run below command if it is a beta or nightly
|
||||
if [[ ${{ github.ref }} =~ beta|nightly ]]; then
|
||||
flutter_distributor package --platform=linux --targets=pacman --skip-clean
|
||||
mv dist/**/*-*-linux.pacman artifacts/ente-${{ github.ref_name }}-x86_64.pacman
|
||||
fi
|
||||
flutter_distributor package --platform=linux --targets=rpm --skip-clean
|
||||
mv dist/**/*-*-linux.rpm artifacts/ente-${{ github.ref_name }}-x86_64.rpm
|
||||
flutter_distributor package --platform=linux --targets=appimage --skip-clean
|
||||
mv dist/**/*-*-linux.AppImage artifacts/ente-${{ github.ref_name }}-x86_64.AppImage
|
||||
|
||||
- name: Generate checksums
|
||||
run: sha256sum artifacts/ente-* >> artifacts/sha256sum-rpm-appimage
|
||||
|
||||
- name: Create a draft GitHub release
|
||||
uses: ncipollo/release-action@v1
|
||||
with:
|
||||
artifacts: "auth/artifacts/*"
|
||||
draft: true
|
||||
allowUpdates: true
|
||||
updateOnlyUnreleased: true
|
||||
|
||||
build-windows:
|
||||
runs-on: windows-latest
|
||||
|
||||
@@ -166,7 +213,7 @@ jobs:
|
||||
run: |
|
||||
flutter config --enable-windows-desktop
|
||||
# dart pub global activate flutter_distributor
|
||||
dart pub global activate --source git https://github.com/ente-io/flutter_distributor_fork --git-ref develop --git-path packages/flutter_distributor
|
||||
dart pub global activate --source git https://github.com/prateekmedia/flutter_distributor --git-ref develop --git-path packages/flutter_distributor
|
||||
make innoinstall
|
||||
flutter_distributor package --platform=windows --targets=exe --skip-clean
|
||||
mv dist/**/*-windows-setup.exe artifacts/ente-${{ github.ref_name }}-installer.exe
|
||||
|
||||
6
.github/workflows/cli-release.yml
vendored
@@ -12,10 +12,6 @@ on:
|
||||
tags:
|
||||
- "cli-v*"
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
packages: write
|
||||
|
||||
jobs:
|
||||
draft-release:
|
||||
runs-on: ubuntu-latest
|
||||
@@ -49,7 +45,7 @@ jobs:
|
||||
goarch: ${{ matrix.goarch }}
|
||||
asset_name: ente-${{ github.ref_name }}-${{ matrix.goos }}-${{ matrix.goarch }}
|
||||
release_name: ${{ github.ref_name }}
|
||||
goversion: "1.23"
|
||||
goversion: "1.20"
|
||||
project_path: "./cli"
|
||||
pre_command: export CGO_ENABLED=0
|
||||
build_flags: "-trimpath"
|
||||
|
||||
53
.github/workflows/codeql.yml
vendored
@@ -1,53 +0,0 @@
|
||||
# The only reason we're making a custom CodeQL configuration is because the
|
||||
# default setup does not have an option to run daily / weekly instead of per
|
||||
# push, which is too slow.
|
||||
#
|
||||
# In the future, it might become faster. Then just delete this file, and revert
|
||||
# to the default configuration.
|
||||
#
|
||||
# References:
|
||||
# https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/
|
||||
|
||||
name: "CodeQL"
|
||||
|
||||
on:
|
||||
workflow_dispatch: # Allow running manually
|
||||
schedule:
|
||||
- cron: "22 1 * * 1"
|
||||
|
||||
jobs:
|
||||
analyze:
|
||||
name: Analyze (${{ matrix.language }})
|
||||
runs-on: 'ubuntu-latest'
|
||||
permissions:
|
||||
contents: read
|
||||
# Required for all workflows.
|
||||
security-events: write
|
||||
# Required to fetch internal or private CodeQL packs.
|
||||
packages: read
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- language: actions
|
||||
build-mode: none
|
||||
- language: go
|
||||
build-mode: autobuild
|
||||
- language: javascript-typescript
|
||||
build-mode: none
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Initialize CodeQL
|
||||
uses: github/codeql-action/init@v3
|
||||
with:
|
||||
languages: ${{ matrix.language }}
|
||||
build-mode: ${{ matrix.build-mode }}
|
||||
|
||||
- name: Perform CodeQL Analysis
|
||||
uses: github/codeql-action/analyze@v3
|
||||
with:
|
||||
category: "/language:${{matrix.language}}"
|
||||
3
.github/workflows/copycat-db-release.yml
vendored
@@ -3,9 +3,6 @@ name: "Release (copycat-db)"
|
||||
on:
|
||||
workflow_dispatch: # Run manually
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
5
.github/workflows/desktop-lint.yml
vendored
@@ -7,9 +7,6 @@ on:
|
||||
- "desktop/**"
|
||||
- ".github/workflows/desktop-lint.yml"
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
lint:
|
||||
runs-on: ubuntu-latest
|
||||
@@ -23,7 +20,7 @@ jobs:
|
||||
- name: Setup node and enable yarn caching
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 22
|
||||
node-version: 20
|
||||
cache: "yarn"
|
||||
cache-dependency-path: "desktop/yarn.lock"
|
||||
|
||||
|
||||
5
.github/workflows/docs-deploy.yml
vendored
@@ -10,9 +10,6 @@ on:
|
||||
# Also allow manually running the workflow
|
||||
workflow_dispatch:
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
runs-on: ubuntu-latest
|
||||
@@ -28,7 +25,7 @@ jobs:
|
||||
- name: Setup node and enable yarn caching
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 22
|
||||
node-version: 20
|
||||
cache: "yarn"
|
||||
cache-dependency-path: "docs/yarn.lock"
|
||||
|
||||
|
||||
5
.github/workflows/docs-verify-build.yml
vendored
@@ -10,9 +10,6 @@ on:
|
||||
- "docs/**"
|
||||
- ".github/workflows/docs-verify-build.yml"
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
verify-build:
|
||||
runs-on: ubuntu-latest
|
||||
@@ -28,7 +25,7 @@ jobs:
|
||||
- name: Setup node and enable yarn caching
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 22
|
||||
node-version: 20
|
||||
cache: "yarn"
|
||||
cache-dependency-path: "docs/yarn.lock"
|
||||
|
||||
|
||||
5
.github/workflows/infra-deploy-staff.yml
vendored
@@ -10,9 +10,6 @@ on:
|
||||
# Also allow manually running the workflow
|
||||
workflow_dispatch:
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
lint:
|
||||
runs-on: ubuntu-latest
|
||||
@@ -28,7 +25,7 @@ jobs:
|
||||
- name: Setup node and enable yarn caching
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 22
|
||||
node-version: 20
|
||||
cache: "yarn"
|
||||
cache-dependency-path: "infra/staff/yarn.lock"
|
||||
|
||||
|
||||
5
.github/workflows/infra-lint-staff.yml
vendored
@@ -7,9 +7,6 @@ on:
|
||||
- "infra/staff/**"
|
||||
- ".github/workflows/infra-deploy-staff.yml"
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
runs-on: ubuntu-latest
|
||||
@@ -25,7 +22,7 @@ jobs:
|
||||
- name: Setup node and enable yarn caching
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 22
|
||||
node-version: 20
|
||||
cache: "yarn"
|
||||
cache-dependency-path: "infra/staff/yarn.lock"
|
||||
|
||||
|
||||
4
.github/workflows/mobile-crowdin-push.yml
vendored
@@ -9,10 +9,6 @@ on:
|
||||
# Or the workflow itself is changed
|
||||
- ".github/workflows/mobile-crowdin.yml"
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
pull-requests: write
|
||||
|
||||
jobs:
|
||||
push-sources-to-crowdin:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
4
.github/workflows/mobile-crowdin-sync.yml
vendored
@@ -8,10 +8,6 @@ on:
|
||||
# Also allow manually running the workflow.
|
||||
workflow_dispatch:
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
pull-requests: write
|
||||
|
||||
jobs:
|
||||
synchronize-with-crowdin:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
@@ -1,77 +0,0 @@
|
||||
name: "Internal release (photos)"
|
||||
|
||||
on:
|
||||
workflow_dispatch: # Allow manually running the action
|
||||
|
||||
env:
|
||||
FLUTTER_VERSION: "3.24.3"
|
||||
RUST_VERSION: "1.85.1"
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
defaults:
|
||||
run:
|
||||
working-directory: mobile
|
||||
|
||||
steps:
|
||||
- name: Checkout code and submodules
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: recursive
|
||||
|
||||
- name: Setup JDK 17
|
||||
uses: actions/setup-java@v1
|
||||
with:
|
||||
java-version: 17
|
||||
|
||||
- name: Install Flutter ${{ env.FLUTTER_VERSION }}
|
||||
uses: subosito/flutter-action@v2
|
||||
with:
|
||||
channel: "stable"
|
||||
flutter-version: ${{ env.FLUTTER_VERSION }}
|
||||
cache: true
|
||||
|
||||
- name: Install Rust ${{ env.RUST_VERSION }}
|
||||
uses: dtolnay/rust-toolchain@master
|
||||
with:
|
||||
toolchain: ${{ env.RUST_VERSION }}
|
||||
|
||||
- name: Install Flutter Rust Bridge
|
||||
run: cargo install flutter_rust_bridge_codegen
|
||||
|
||||
- name: Setup keys
|
||||
uses: timheuer/base64-to-file@v1
|
||||
with:
|
||||
fileName: "keystore/ente_photos_key.jks"
|
||||
encodedString: ${{ secrets.SIGNING_KEY_PHOTOS }}
|
||||
|
||||
- name: Build PlayStore AAB
|
||||
run: |
|
||||
flutter build appbundle --dart-define=cronetHttpNoPlay=true --release --flavor playstore
|
||||
env:
|
||||
SIGNING_KEY_PATH: "/home/runner/work/_temp/keystore/ente_photos_key.jks"
|
||||
SIGNING_KEY_ALIAS: ${{ secrets.SIGNING_KEY_ALIAS_PHOTOS }}
|
||||
SIGNING_KEY_PASSWORD: ${{ secrets.SIGNING_KEY_PASSWORD_PHOTOS }}
|
||||
SIGNING_STORE_PASSWORD: ${{ secrets.SIGNING_STORE_PASSWORD_PHOTOS }}
|
||||
|
||||
- name: Upload AAB to PlayStore
|
||||
uses: r0adkll/upload-google-play@v1
|
||||
with:
|
||||
serviceAccountJsonPlainText: ${{ secrets.SERVICE_ACCOUNT_JSON }}
|
||||
packageName: io.ente.photos
|
||||
releaseFiles: mobile/build/app/outputs/bundle/playstoreRelease/app-playstore-release.aab
|
||||
track: internal
|
||||
|
||||
- name: Notify Discord
|
||||
uses: sarisia/actions-status-discord@v1
|
||||
with:
|
||||
webhook: ${{ secrets.DISCORD_INTERNAL_RELEASE_WEBHOOK }}
|
||||
nodetail: true
|
||||
title: "🏆 Internal release available for Photos"
|
||||
description: "[Download](https://play.google.com/store/apps/details?id=io.ente.photos)"
|
||||
color: 0x00ff00
|
||||
14
.github/workflows/mobile-internal-release.yml
vendored
@@ -6,9 +6,6 @@ on:
|
||||
env:
|
||||
FLUTTER_VERSION: "3.24.3"
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
@@ -43,7 +40,7 @@ jobs:
|
||||
|
||||
- name: Build PlayStore AAB
|
||||
run: |
|
||||
flutter build appbundle --dart-define=cronetHttpNoPlay=true --release --flavor playstore
|
||||
flutter build appbundle --release --flavor playstore
|
||||
env:
|
||||
SIGNING_KEY_PATH: "/home/runner/work/_temp/keystore/ente_photos_key.jks"
|
||||
SIGNING_KEY_ALIAS: ${{ secrets.SIGNING_KEY_ALIAS_PHOTOS }}
|
||||
@@ -57,12 +54,3 @@ jobs:
|
||||
packageName: io.ente.photos
|
||||
releaseFiles: mobile/build/app/outputs/bundle/playstoreRelease/app-playstore-release.aab
|
||||
track: internal
|
||||
|
||||
- name: Notify Discord
|
||||
uses: sarisia/actions-status-discord@v1
|
||||
with:
|
||||
webhook: ${{ secrets.DISCORD_INTERNAL_RELEASE_WEBHOOK }}
|
||||
nodetail: true
|
||||
title: "🏆 Internal release Photos (Branch: ${{ github.ref_name }})"
|
||||
description: "[Download](https://play.google.com/store/apps/details?id=io.ente.photos)"
|
||||
color: 0x00ff00
|
||||
|
||||
4
.github/workflows/mobile-lint.yml
vendored
@@ -8,10 +8,8 @@ on:
|
||||
- ".github/workflows/mobile-lint.yml"
|
||||
|
||||
env:
|
||||
FLUTTER_VERSION: "3.24.3"
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
FLUTTER_VERSION: "3.24.3"
|
||||
|
||||
jobs:
|
||||
lint:
|
||||
|
||||
5
.github/workflows/mobile-release.yml
vendored
@@ -11,9 +11,6 @@ on:
|
||||
env:
|
||||
FLUTTER_VERSION: "3.24.3"
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
@@ -48,7 +45,7 @@ jobs:
|
||||
|
||||
- name: Build independent APK
|
||||
run: |
|
||||
flutter build apk --dart-define=cronetHttpNoPlay=true --release --flavor independent
|
||||
flutter build apk --release --flavor independent
|
||||
mv build/app/outputs/flutter-apk/app-independent-release.apk build/app/outputs/flutter-apk/ente-${{ github.ref_name }}.apk
|
||||
env:
|
||||
SIGNING_KEY_PATH: "/home/runner/work/_temp/keystore/ente_photos_key.jks"
|
||||
|
||||
3
.github/workflows/server-lint.yml
vendored
@@ -7,9 +7,6 @@ on:
|
||||
- "server/**"
|
||||
- ".github/workflows/server-lint.yml"
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
lint:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
@@ -1,28 +1,27 @@
|
||||
name: "Publish ghcr (server)"
|
||||
name: "Publish (server)"
|
||||
|
||||
on:
|
||||
# Run automatically on 15th of every month, at 05:00 UTC.
|
||||
schedule:
|
||||
- cron: '0 5 15 * *'
|
||||
# Run manually if needed to publish out of schedule.
|
||||
# Run manually, providing it the commit.
|
||||
#
|
||||
# To obtain the commit from the currently deployed museum, do:
|
||||
# curl -s https://api.ente.io/ping | jq -r '.id'
|
||||
#
|
||||
# See server/docs/publish.md for more details.
|
||||
workflow_dispatch:
|
||||
|
||||
permissions:
|
||||
contents: write # for pushing the `ghcr/server` branch
|
||||
packages: write
|
||||
inputs:
|
||||
commit:
|
||||
description: "Commit to publish the image from"
|
||||
type: string
|
||||
required: true
|
||||
|
||||
jobs:
|
||||
publish:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Determine commit from prod museum
|
||||
run: |
|
||||
echo "museum_commit=$(curl -s https://api.ente.io/ping | jq -r .id)" >> $GITHUB_ENV
|
||||
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
ref: ${{ env.museum_commit }}
|
||||
ref: ${{ inputs.commit }}
|
||||
|
||||
- name: Build and push
|
||||
uses: mr-smithers-excellent/docker-build-push@v6
|
||||
@@ -35,11 +34,12 @@ jobs:
|
||||
enableBuildKit: true
|
||||
multiPlatform: true
|
||||
platform: linux/amd64,linux/arm64
|
||||
buildArgs: GIT_COMMIT=${{ env.museum_commit }}
|
||||
tags: ${{ env.museum_commit }}, latest
|
||||
buildArgs: GIT_COMMIT=${{ inputs.commit }}
|
||||
tags: ${{ inputs.commit }}, latest
|
||||
username: ${{ github.actor }}
|
||||
password: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Update branch ghcr/server to point to source commit
|
||||
- name: Tag as server/ghcr
|
||||
run: |
|
||||
git push -f origin HEAD:refs/heads/ghcr/server
|
||||
git tag -f server/ghcr
|
||||
git push -f origin server/ghcr
|
||||
3
.github/workflows/server-release.yml
vendored
@@ -3,9 +3,6 @@ name: "Release (server)"
|
||||
on:
|
||||
workflow_dispatch: # Run manually
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
4
.github/workflows/web-crowdin-push-both.yml
vendored
@@ -12,10 +12,6 @@ on:
|
||||
# `gh workflow run web-crowdin-push-both.yml --ref <my-branch>`
|
||||
workflow_dispatch:
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
pull-requests: write
|
||||
|
||||
jobs:
|
||||
push-both-to-crowdin:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
9
.github/workflows/web-crowdin-sync.yml
vendored
@@ -22,15 +22,6 @@ on:
|
||||
# Also allow manually running the workflow.
|
||||
workflow_dispatch:
|
||||
|
||||
# "In order to push translations and create pull requests, the Crowdin GitHub
|
||||
# action requires the `GITHUB_TOKEN` to have write permission on the `contents`
|
||||
# and `pull-requests`.
|
||||
#
|
||||
# - https://github.com/crowdin/github-action?tab=readme-ov-file#permissions
|
||||
permissions:
|
||||
contents: write
|
||||
pull-requests: write
|
||||
|
||||
jobs:
|
||||
synchronize-with-crowdin:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
7
.github/workflows/web-deploy-one.yml
vendored
@@ -15,9 +15,6 @@ on:
|
||||
- "payments"
|
||||
- "photos"
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
runs-on: ubuntu-latest
|
||||
@@ -29,11 +26,13 @@ jobs:
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: recursive
|
||||
|
||||
- name: Setup node and enable yarn caching
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 22
|
||||
node-version: 20
|
||||
cache: "yarn"
|
||||
cache-dependency-path: "web/yarn.lock"
|
||||
|
||||
|
||||
7
.github/workflows/web-deploy-preview.yml
vendored
@@ -15,9 +15,6 @@ on:
|
||||
- "payments"
|
||||
- "photos"
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
runs-on: ubuntu-latest
|
||||
@@ -29,11 +26,13 @@ jobs:
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: recursive
|
||||
|
||||
- name: Setup node and enable yarn caching
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 22
|
||||
node-version: 20
|
||||
cache: "yarn"
|
||||
cache-dependency-path: "web/yarn.lock"
|
||||
|
||||
|
||||
6
.github/workflows/web-deploy-staging.yml
vendored
@@ -11,9 +11,6 @@ on:
|
||||
# Also allow manually running the workflow
|
||||
workflow_dispatch:
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
runs-on: ubuntu-latest
|
||||
@@ -37,11 +34,12 @@ jobs:
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
ref: ${{ steps.select-branch.outputs.branch }}
|
||||
submodules: recursive
|
||||
|
||||
- name: Setup node and enable yarn caching
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 22
|
||||
node-version: 20
|
||||
cache: "yarn"
|
||||
cache-dependency-path: "web/yarn.lock"
|
||||
|
||||
|
||||
11
.github/workflows/web-deploy.yml
vendored
@@ -4,7 +4,7 @@ on:
|
||||
schedule:
|
||||
# [Note: Run workflow every 24 hours]
|
||||
#
|
||||
# Run every weekday at ~8:00 AM IST.
|
||||
# Run everyday at ~8:00 AM IST (except Sundays).
|
||||
#
|
||||
# First field is minute, second is hour of the day. Last is day of week,
|
||||
# 0 being Sunday.
|
||||
@@ -15,13 +15,10 @@ on:
|
||||
# https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#schedule
|
||||
# https://crontab.guru/
|
||||
#
|
||||
- cron: "25 2 * * 1-5"
|
||||
- cron: "25 2 * * 1-6"
|
||||
# Also allow manually running the workflow
|
||||
workflow_dispatch:
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
runs-on: ubuntu-latest
|
||||
@@ -33,11 +30,13 @@ jobs:
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: recursive
|
||||
|
||||
- name: Setup node and enable yarn caching
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 22
|
||||
node-version: 20
|
||||
cache: "yarn"
|
||||
cache-dependency-path: "web/yarn.lock"
|
||||
|
||||
|
||||
5
.github/workflows/web-lint.yml
vendored
@@ -7,9 +7,6 @@ on:
|
||||
- "web/**"
|
||||
- ".github/workflows/web-lint.yml"
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
# Cancel in-progress lint runs when a new commit is pushed.
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
@@ -28,7 +25,7 @@ jobs:
|
||||
- name: Setup node and enable yarn caching
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 22
|
||||
node-version: 20
|
||||
cache: "yarn"
|
||||
cache-dependency-path: "web/yarn.lock"
|
||||
|
||||
|
||||
38
.github/workflows/web-publish-ghcr.yml
vendored
@@ -1,38 +0,0 @@
|
||||
name: "Publish ghcr (web)"
|
||||
|
||||
on:
|
||||
# Run automatically every Wednesday, at 07:00 UTC.
|
||||
schedule:
|
||||
- cron: '0 7 * * 3'
|
||||
# Run manually if needed to publish out of schedule.
|
||||
workflow_dispatch:
|
||||
|
||||
permissions:
|
||||
contents: write # for pushing the `ghcr/web` branch
|
||||
packages: write
|
||||
|
||||
jobs:
|
||||
publish:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Build and push
|
||||
uses: mr-smithers-excellent/docker-build-push@v6
|
||||
with:
|
||||
dockerfile: web/Dockerfile
|
||||
directory: web
|
||||
# Resultant package name will be ghcr.io/ente-io/web
|
||||
image: web
|
||||
registry: ghcr.io
|
||||
enableBuildKit: true
|
||||
multiPlatform: true
|
||||
platform: linux/amd64,linux/arm64
|
||||
tags: ${{ github.sha }}, latest
|
||||
username: ${{ github.actor }}
|
||||
password: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Update branch ghcr/web to point to source commit
|
||||
run: |
|
||||
git push -f origin HEAD:refs/heads/ghcr/web
|
||||
11
.gitmodules
vendored
@@ -9,6 +9,11 @@
|
||||
[submodule "auth/assets/simple-icons"]
|
||||
path = auth/assets/simple-icons
|
||||
url = https://github.com/simple-icons/simple-icons.git
|
||||
[submodule "mobile/thirdparty/flutter"]
|
||||
path = mobile/thirdparty/flutter
|
||||
url = https://github.com/flutter/flutter.git
|
||||
[submodule "web/apps/photos/thirdparty/ffmpeg-wasm"]
|
||||
path = web/apps/photos/thirdparty/ffmpeg-wasm
|
||||
url = https://github.com/abhinavkgrd/ffmpeg.wasm.git
|
||||
branch = master
|
||||
[submodule "web/apps/photos/thirdparty/photoswipe"]
|
||||
path = web/apps/photos/thirdparty/photoswipe
|
||||
url = https://github.com/ente-io/PhotoSwipe.git
|
||||
branch = single-thread
|
||||
|
||||
@@ -66,19 +66,16 @@ best to start small. Consider some well-scoped changes, say like adding more
|
||||
[custom icons to auth](auth/docs/adding-icons.md).
|
||||
|
||||
Each of the individual product/platform specific directories in this repository
|
||||
have instructions on setting up a dev environment.
|
||||
have instructions on setting up a dev environment and making changes. The issues
|
||||
and discussions (feature requests) labelled "good first issues" should be good
|
||||
starting points. Once you have a bearing, you can head on to issues or
|
||||
discussions labelled "help wanted".
|
||||
|
||||
For anything beyond trivial bug fixes, please use [features requests and
|
||||
discussions](https://github.com/ente-io/ente/discussions) instead of performing
|
||||
code changes directly.
|
||||
|
||||
> [!TIP]
|
||||
>
|
||||
> Please remember that code is a important, but small, part of the overall big
|
||||
> picture that makes a product a joy to use. Something that's easy in code is
|
||||
> not necessarily the right choice for the product as a whole. So we'll repeat -
|
||||
> there are other ways to contribute than code that we'd request you to
|
||||
> consider.
|
||||
If you're planning on adding a new feature or making any other substantial
|
||||
change, please [discuss it with
|
||||
us](https://github.com/ente-io/ente/discussions). Discussing your idea with us
|
||||
first ensures that everyone is on the same page before you start working on your
|
||||
change.
|
||||
|
||||
## Leave a review or star
|
||||
|
||||
|
||||
14
README.md
@@ -30,12 +30,12 @@ Learn more at [ente.io](https://ente.io).
|
||||
|
||||

|
||||
|
||||
Our flagship product. 3x data replication. Face detection. Semantic search.
|
||||
Private sharing. Collaborative albums. Family plans. Easy import, easier export.
|
||||
Background uploads. The list goes on. And of course, all of this, while being
|
||||
fully end-to-end encrypted across platforms.
|
||||
Our flagship product. 3x data replication. On device machine learning. Cross
|
||||
platform. Private sharing. Collaborative albums. Family plans. Easy import,
|
||||
easier export. Background uploads. The list goes on. And of course, all of this,
|
||||
while being fully end-to-end encrypted.
|
||||
|
||||
Ente Photos is a paid service, but we offer 10GB of free storage.
|
||||
Ente Photos is a paid service, but we offer 5GB of free storage.
|
||||
You can also clone this repository and choose to self-host.
|
||||
|
||||
<br />
|
||||
@@ -95,8 +95,8 @@ please see our [support guide](SUPPORT.md).
|
||||
<img src=".github/assets/ente-ducky.png" width=200 alt="Ente's Mascot, Ducky,
|
||||
inviting people to Ente's source code repository" />
|
||||
|
||||
Please visit the [community section](https://ente.io/about#community) for all the ways to
|
||||
connect with our community.
|
||||
Please visit our [community page](https://ente.io/community) for all the ways to
|
||||
connect with the community.
|
||||
|
||||
[](https://discord.gg/z2YVKkycX3)
|
||||
[](https://ente.io/blog/rss.xml)
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
{
|
||||
"flutter": "3.24.3"
|
||||
}
|
||||
6
auth/.gitignore
vendored
@@ -32,7 +32,6 @@
|
||||
.pub-cache/
|
||||
.pub/
|
||||
/build/
|
||||
macos/build/
|
||||
|
||||
# Web related
|
||||
lib/generated_plugin_registrant.dart
|
||||
@@ -41,7 +40,4 @@ lib/generated_plugin_registrant.dart
|
||||
!/packages/flutter_tools/test/data/dart_dependencies_test/**/.packages
|
||||
|
||||
android/key.properties
|
||||
dist/
|
||||
|
||||
# FVM Version Cache
|
||||
.fvm/
|
||||
dist/
|
||||
@@ -100,16 +100,6 @@ Photos](../mobile/README.md) or spreading the word.
|
||||
|
||||
For more ways to contribute, see [../CONTRIBUTING.md](../CONTRIBUTING.md).
|
||||
|
||||
## Certificate Fingerprints
|
||||
|
||||
- **SHA1**: 57:E8:C6:59:C3:AA:C9:38:B0:10:70:5E:90:85:BC:20:67:E6:8F:4B
|
||||
- **SHA256**: BA:8B:F0:32:98:62:70:05:ED:DF:F6:B1:D6:0B:3B:FA:A1:4E:E8:BD:C7:61:4F:FB:3B:B1:1C:58:8D:9E:3A:D7
|
||||
|
||||
To verify these fingerprints, use the following command:
|
||||
```bash
|
||||
apksigner verify --print-certs <path_to_apk>
|
||||
```
|
||||
|
||||
## ⭐️ About
|
||||
|
||||
To know more about Ente and the ways to get in touch or seek help, see [our main
|
||||
|
||||
2
auth/android/.gitignore
vendored
@@ -5,8 +5,6 @@ gradle-wrapper.jar
|
||||
/gradlew.bat
|
||||
/local.properties
|
||||
GeneratedPluginRegistrant.java
|
||||
/app/.cxx/
|
||||
/.kotlin/
|
||||
|
||||
# Remember to never publicly share your keystore.
|
||||
# See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app
|
||||
|
||||
@@ -46,7 +46,6 @@
|
||||
<!-- Don't delete the meta-data below.
|
||||
This is used by the Flutter tool to generate GeneratedPluginRegistrant.java -->
|
||||
<meta-data android:name="flutterEmbedding" android:value="2"/>
|
||||
<meta-data android:name="flutter_deeplinking_enabled" android:value="false" />
|
||||
|
||||
<meta-data android:name="io.sentry.dsn"
|
||||
android:value="https://ed4ddd6309b847ba8849935e26e9b648@sentry.ente.io/9"/>
|
||||
|
||||
@@ -1,19 +1,24 @@
|
||||
Ente Auth helps you generate and store 2 step verification (2FA) tokens on your mobile devices.
|
||||
Ente Auth helps you generate and store 2 step verification (2FA)
|
||||
tokens on your mobile devices.
|
||||
|
||||
|
||||
FEATURES
|
||||
|
||||
- Secure Backups
|
||||
Auth provides end-to-end encrypted cloud backups so that you don't have to worry about losing your tokens. We use the same protocols Ente Photos uses to encrypt and preserve your data.
|
||||
Auth provides end-to-end encrypted cloud backups so that you don't have to worry
|
||||
about losing your tokens. We use the same protocols Ente Photos uses to encrypt
|
||||
and preserve your data.
|
||||
|
||||
- Multi Device Synchronization
|
||||
Auth will automatically sync the 2FA tokens you add to your account, across all your devices. Every new device you sign into will have access to these tokens.
|
||||
Auth will automatically sync the 2FA tokens you add to your account, across all
|
||||
your devices. Every new device you sign into will have access to these tokens.
|
||||
|
||||
- Web access
|
||||
You can access your 2FA code from any web browser by visiting https://auth.ente.io .
|
||||
|
||||
- Offline Mode
|
||||
Auth generates 2FA tokens offline, so your network connectivity will not get in the way of your workflow.
|
||||
Auth generates 2FA tokens offline, so your network connectivity will not get in
|
||||
the way of your workflow.
|
||||
|
||||
- Import and Export Tokens
|
||||
You can add tokens to Auth by one of the following methods:
|
||||
@@ -25,7 +30,8 @@ otpauth://totp/provider.com:you@email.com?secret=YOUR_SECRET
|
||||
|
||||
The codes maybe separated by new lines or commas.
|
||||
|
||||
You can also export the codes you have added to Auth, to an **unencrypted** text file, that adheres to the above format.
|
||||
You can also export the codes you have added to Auth, to an **unencrypted** text
|
||||
file, that adheres to the above format.
|
||||
|
||||
|
||||
SUPPORT
|
||||
|
||||
|
Before Width: | Height: | Size: 2.8 KiB |
|
Before Width: | Height: | Size: 1.9 KiB |
|
Before Width: | Height: | Size: 3.9 KiB |
|
Before Width: | Height: | Size: 6.2 KiB |
|
Before Width: | Height: | Size: 8.7 KiB |
@@ -1,14 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<background android:drawable="@drawable/ic_launcher_background"/>
|
||||
<foreground>
|
||||
<inset
|
||||
android:drawable="@drawable/ic_launcher_foreground"
|
||||
android:inset="0%" />
|
||||
</foreground>
|
||||
<monochrome>
|
||||
<inset
|
||||
android:drawable="@drawable/ic_launcher_monochrome"
|
||||
android:inset="0%" />
|
||||
</monochrome>
|
||||
<foreground android:drawable="@drawable/ic_launcher_foreground"/>
|
||||
<monochrome android:drawable="@drawable/ic_launcher_foreground"/>
|
||||
</adaptive-icon>
|
||||
|
||||
|
Before Width: | Height: | Size: 55 KiB |
|
Before Width: | Height: | Size: 50 KiB |
|
Before Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 104 KiB |
|
Before Width: | Height: | Size: 93 KiB |
|
Before Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 33 KiB |
|
Before Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 481 B After Width: | Height: | Size: 481 B |
1
auth/assets/custom-icons/icons/Aiven.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 177.5 146.3"><defs><linearGradient id="a" x1="23.81" y1="-10.95" x2="154.81" y2="-10.95" gradientTransform="translate(-0.6 95.1)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#fd743e"/><stop offset="1" stop-color="#fd3254"/></linearGradient><linearGradient id="b" x1="38.19" y1="-69.68" x2="137.21" y2="-87.5" xlink:href="#a"/><linearGradient id="c" x1="39.75" y1="-60.99" x2="138.77" y2="-78.82" xlink:href="#a"/><linearGradient id="d" x1="58.81" y1="44.91" x2="157.84" y2="27.09" xlink:href="#a"/></defs><path d="M138.5,99.1a27,27,0,0,1,9,1.6c4.5-5.2,6.9-10.8,6.9-16.6,0-9.6-6.5-18.8-18.2-26-12.6-7.6-29.5-11.9-47.3-11.9-18,0-34.9,4.3-47.3,11.9-11.8,7.2-18.2,16.4-18.2,26,0,5.8,2.4,11.5,6.9,16.6a26.6,26.6,0,0,1,9-1.6A25.85,25.85,0,0,1,58,106.9a26.87,26.87,0,0,1,7,12.5,103.46,103.46,0,0,0,24.1,2.7,104.71,104.71,0,0,0,24.1-2.7,26.49,26.49,0,0,1,7-12.5A24.52,24.52,0,0,1,138.5,99.1ZM88.8,77A14.72,14.72,0,0,1,74.1,62.3h29.5A14.87,14.87,0,0,1,88.8,77Z" fill="url(#a)"/><path d="M37.7,51.2c1.5-.9,2.9-1.7,4.4-2.5H42a20.68,20.68,0,0,0-12.5-4.2A20.41,20.41,0,0,0,13,52.7l-1.7,2.4L23,63.9A52.74,52.74,0,0,1,37.7,51.2Z" fill="#fd743e"/><path d="M23.2,104.3A33.77,33.77,0,0,1,16.1,88a26.93,26.93,0,0,1-.3-4,32.19,32.19,0,0,1,6.4-19H20.7A20.68,20.68,0,0,0,0,85.7v2.9H15.4a20.88,20.88,0,0,0-7.3,13.2,20.43,20.43,0,0,0,4,15.3l1.2,1.7a25.29,25.29,0,0,1,6.9-11.9A34.77,34.77,0,0,1,23.2,104.3Z" fill="#fd743e"/><path d="M154.4,63.9l11.7-8.8-1.7-2.4a20.7,20.7,0,0,0-29-4h-.1c1.5.8,3,1.6,4.4,2.5a50,50,0,0,1,14.7,12.7Z" fill="#df2c4a"/><path d="M177.5,85.7A20.68,20.68,0,0,0,156.8,65h-1.6a31.74,31.74,0,0,1,6.4,19,26.93,26.93,0,0,1-.3,4,35.77,35.77,0,0,1-7.1,16.3,34.67,34.67,0,0,1,2.9,2.5,26.15,26.15,0,0,1,6.9,11.9l1.2-1.7a20.12,20.12,0,0,0,4-15.3,20.63,20.63,0,0,0-7.3-13.2h15.5V85.6h.1Z" fill="#df2c4a"/><path d="M63.8,41.4A20.7,20.7,0,1,0,43.1,20.7,20.68,20.68,0,0,0,63.8,41.4Zm0-32.1h0A8.77,8.77,0,0,0,61.6,15a8,8,0,0,0,8,8,7.85,7.85,0,0,0,5.7-2.4v.1a11.4,11.4,0,1,1-22.8,0A11.25,11.25,0,0,1,63.8,9.3Z" fill="url(#b)"/><path d="M113.6,41.4A20.7,20.7,0,1,0,92.9,20.7,20.68,20.68,0,0,0,113.6,41.4Zm0-32.1h0a8.77,8.77,0,0,0-2.2,5.7,8,8,0,0,0,8,8,7.85,7.85,0,0,0,5.7-2.4v.1a11.39,11.39,0,0,1-11.4,11.4,11.16,11.16,0,0,1-11.3-11.3A11.25,11.25,0,0,1,113.6,9.3Z" fill="url(#c)"/><path d="M39.1,104.8a20.7,20.7,0,0,0,0,41.4A20,20,0,0,0,46,145a3.39,3.39,0,0,1-.6-.6c-6-6-8.1-13.7-4.5-17.2s11.2-1.5,17.2,4.5a3.39,3.39,0,0,0,.6.6,19.23,19.23,0,0,0,1.2-6.9A20.94,20.94,0,0,0,39.1,104.8Z" fill="#fd743e"/><path d="M138.5,104.8a20.61,20.61,0,0,0-20.7,20.7,20,20,0,0,0,1.2,6.9,3.39,3.39,0,0,1,.6-.6c6-6,13.7-8.1,17.2-4.5s1.5,11.2-4.5,17.2l-.6.6a19.23,19.23,0,0,0,6.9,1.2,20.61,20.61,0,0,0,20.7-20.7,21,21,0,0,0-20.8-20.8Z" fill="url(#d)"/></svg>
|
||||
|
After Width: | Height: | Size: 2.8 KiB |
6
auth/assets/custom-icons/icons/Amazon Web Services.svg
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
|
||||
<svg width="800px" height="800px" viewBox="0 -30 150 150" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M122.714 62.703c5.28-.643 16.924-2.027 18.997.643 2.072 2.621-2.319 13.649-4.293 18.544-.592 1.484.691 2.077 2.023.94 8.684-7.319 10.954-22.6 9.178-24.825-1.777-2.175-17.023-4.055-26.3 2.473-1.431 1.038-1.184 2.423.395 2.225z" fill="#F90"/>
|
||||
<path d="M74.852 89.456c20.28 0 43.865-6.38 60.099-18.396 2.664-1.978.345-4.994-2.369-3.758-18.207 7.714-37.993 11.473-56.003 11.473-26.694 0-52.5-7.368-73.42-19.533-1.827-1.088-3.208.791-1.679 2.176 19.343 17.505 44.951 28.038 73.372 28.038z" fill="#F90"/>
|
||||
<path d="M42.632 32.835c0 1.83.197 3.313.542 4.401a26.505 26.505 0 001.58 3.56c.246.396.345.792.345 1.138 0 .495-.296.99-.938 1.484l-3.108 2.077c-.444.296-.889.445-1.283.445-.494 0-.987-.248-1.48-.693a15.29 15.29 0 01-1.777-2.324 38.28 38.28 0 01-1.53-2.918c-3.848 4.55-8.684 6.825-14.506 6.825-4.145 0-7.45-1.187-9.868-3.56-2.418-2.374-3.652-5.54-3.652-9.495 0-4.204 1.48-7.616 4.49-10.187 3.01-2.572 7.007-3.857 12.09-3.857 1.677 0 3.404.148 5.23.395 1.825.248 3.7.643 5.674 1.088v-3.61c0-3.758-.79-6.379-2.32-7.912-1.578-1.533-4.243-2.274-8.042-2.274-1.727 0-3.503.197-5.329.642a39.247 39.247 0 00-5.329 1.682 14.14 14.14 0 01-1.727.643c-.345.098-.592.148-.79.148-.69 0-1.036-.494-1.036-1.533V6.577c0-.791.1-1.385.346-1.73.246-.347.69-.693 1.381-1.04 1.727-.89 3.8-1.631 6.217-2.225C20.23.94 22.797.642 25.51.642c5.872 0 10.164 1.336 12.927 4.006 2.714 2.67 4.096 6.726 4.096 12.165v16.022h.099zm-20.033 7.517c1.628 0 3.306-.297 5.082-.89 1.776-.594 3.355-1.682 4.687-3.165.79-.94 1.382-1.978 1.678-3.165.296-1.187.493-2.621.493-4.302v-2.077a41.135 41.135 0 00-4.539-.84 37.099 37.099 0 00-4.638-.298c-3.306 0-5.724.643-7.352 1.978-1.628 1.336-2.418 3.215-2.418 5.687 0 2.324.592 4.055 1.826 5.242 1.184 1.236 2.911 1.83 5.18 1.83zm39.621 5.34c-.888 0-1.48-.148-1.875-.494-.394-.297-.74-.99-1.036-1.929L47.714 5.044c-.296-.99-.444-1.632-.444-1.978 0-.791.394-1.236 1.184-1.236h4.835c.938 0 1.58.148 1.925.494.395.297.69.99.987 1.929l8.29 32.736 7.697-32.736c.246-.99.542-1.632.937-1.929.395-.297 1.085-.494 1.974-.494h3.947c.938 0 1.579.148 1.974.494.395.297.74.99.937 1.929l7.796 33.132L98.29 4.253c.295-.99.64-1.632.986-1.929.395-.297 1.036-.494 1.925-.494h4.588c.79 0 1.234.395 1.234 1.236 0 .247-.049.494-.099.791a7.041 7.041 0 01-.345 1.236L94.688 43.32c-.297.989-.642 1.631-1.037 1.928-.394.297-1.036.495-1.875.495h-4.243c-.938 0-1.58-.149-1.974-.495-.394-.346-.74-.989-.937-1.978l-7.648-31.895-7.599 31.846c-.247.989-.543 1.632-.938 1.978-.394.346-1.085.494-1.973.494H62.22zm63.405 1.336c-2.566 0-5.132-.297-7.599-.89-2.467-.594-4.391-1.237-5.674-1.979-.79-.445-1.332-.94-1.53-1.384a3.503 3.503 0 01-.296-1.385v-2.522c0-1.038.395-1.533 1.135-1.533.296 0 .592.05.888.148.296.1.74.297 1.234.495a26.791 26.791 0 005.428 1.73c1.973.396 3.898.594 5.871.594 3.109 0 5.527-.544 7.204-1.632 1.678-1.088 2.566-2.67 2.566-4.698 0-1.384-.444-2.521-1.332-3.461-.888-.94-2.566-1.78-4.984-2.571l-7.154-2.226c-3.602-1.137-6.267-2.818-7.895-5.044-1.628-2.176-2.467-4.599-2.467-7.17 0-2.077.444-3.907 1.332-5.489.888-1.582 2.072-2.967 3.553-4.055 1.48-1.137 3.157-1.978 5.131-2.571 1.974-.594 4.046-.841 6.217-.841 1.086 0 2.221.05 3.306.198 1.135.148 2.171.346 3.207.544.987.247 1.925.494 2.813.79.888.298 1.579.594 2.072.891.691.396 1.185.791 1.481 1.236.296.396.444.94.444 1.632V8.16c0 1.039-.395 1.583-1.135 1.583-.395 0-1.036-.198-1.875-.594-2.813-1.285-5.971-1.928-9.474-1.928-2.812 0-5.033.445-6.562 1.384-1.53.94-2.319 2.374-2.319 4.402 0 1.384.493 2.57 1.48 3.51s2.812 1.88 5.427 2.72l7.007 2.226c3.553 1.137 6.118 2.72 7.648 4.747 1.53 2.027 2.27 4.351 2.27 6.923 0 2.126-.444 4.055-1.283 5.736-.888 1.681-2.072 3.165-3.602 4.352-1.53 1.236-3.355 2.126-5.477 2.769-2.22.692-4.54 1.039-7.056 1.039z" fill="#252F3E"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.9 KiB |
1
auth/assets/custom-icons/icons/Appwrite.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 112 98"><path fill="#fd366e" d="M111.1 73.5V98H48.9A49 49 0 0 1 6.4 73.5 48.7 48.7 0 0 1 0 52.3v-6.6a48.5 48.5 0 0 1 1.7-10 49 49 0 0 1 94.3 0H69.4a24.5 24.5 0 0 0-41 0 24.3 24.3 0 0 0-3.1 6.6 24.5 24.5 0 0 0-1 6.7c0 7 3 13.3 7.8 17.8a24.4 24.4 0 0 0 16.8 6.7zm0-31.2v24.5H65.7A24.4 24.4 0 0 0 73.4 49c0-2.3-.4-4.6-1-6.7z"/></svg>
|
||||
|
After Width: | Height: | Size: 384 B |
10
auth/assets/custom-icons/icons/Aternos.svg
Normal file
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="500px" height="500px" style="shape-rendering:geometricPrecision; text-rendering:geometricPrecision; image-rendering:optimizeQuality; fill-rule:evenodd; clip-rule:evenodd" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g><path style="opacity:0.993" fill="#2b87d3" d="M -0.5,-0.5 C 166.167,-0.5 332.833,-0.5 499.5,-0.5C 499.5,166.167 499.5,332.833 499.5,499.5C 332.833,499.5 166.167,499.5 -0.5,499.5C -0.5,332.833 -0.5,166.167 -0.5,-0.5 Z M 62.5,62.5 C 187.167,62.5 311.833,62.5 436.5,62.5C 436.5,187.167 436.5,311.833 436.5,436.5C 311.833,436.5 187.167,436.5 62.5,436.5C 62.5,311.833 62.5,187.167 62.5,62.5 Z"/></g>
|
||||
<g><path style="opacity:0.964" fill="#2b87d3" d="M 92.5,92.5 C 134.833,92.5 177.167,92.5 219.5,92.5C 219.5,113.833 219.5,135.167 219.5,156.5C 198.5,156.5 177.5,156.5 156.5,156.5C 156.5,177.5 156.5,198.5 156.5,219.5C 135.167,219.5 113.833,219.5 92.5,219.5C 92.5,177.167 92.5,134.833 92.5,92.5 Z"/></g>
|
||||
<g><path style="opacity:0.964" fill="#2b87d3" d="M 279.5,92.5 C 321.833,92.5 364.167,92.5 406.5,92.5C 406.5,134.833 406.5,177.167 406.5,219.5C 385.167,219.5 363.833,219.5 342.5,219.5C 342.5,198.5 342.5,177.5 342.5,156.5C 321.5,156.5 300.5,156.5 279.5,156.5C 279.5,135.167 279.5,113.833 279.5,92.5 Z"/></g>
|
||||
<g><path style="opacity:0.984" fill="#2b87d3" d="M 186.5,186.5 C 228.5,186.5 270.5,186.5 312.5,186.5C 312.5,228.5 312.5,270.5 312.5,312.5C 270.5,312.5 228.5,312.5 186.5,312.5C 186.5,270.5 186.5,228.5 186.5,186.5 Z"/></g>
|
||||
<g><path style="opacity:0.964" fill="#2b87d3" d="M 92.5,279.5 C 113.833,279.5 135.167,279.5 156.5,279.5C 156.5,300.5 156.5,321.5 156.5,342.5C 177.5,342.5 198.5,342.5 219.5,342.5C 219.5,363.833 219.5,385.167 219.5,406.5C 177.167,406.5 134.833,406.5 92.5,406.5C 92.5,364.167 92.5,321.833 92.5,279.5 Z"/></g>
|
||||
<g><path style="opacity:0.964" fill="#2b87d3" d="M 342.5,279.5 C 363.833,279.5 385.167,279.5 406.5,279.5C 406.5,321.833 406.5,364.167 406.5,406.5C 364.167,406.5 321.833,406.5 279.5,406.5C 279.5,385.167 279.5,363.833 279.5,342.5C 300.5,342.5 321.5,342.5 342.5,342.5C 342.5,321.5 342.5,300.5 342.5,279.5 Z"/></g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.2 KiB |
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
1
auth/assets/custom-icons/icons/BBS.NGA.svg
Normal file
|
After Width: | Height: | Size: 52 KiB |
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
1
auth/assets/custom-icons/icons/Binance.svg
Normal file
|
After Width: | Height: | Size: 15 KiB |
1
auth/assets/custom-icons/icons/Black Desert.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><linearGradient id="a" x1="50" x2="50" y1="100" y2="0" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#ba9c5f"/><stop offset="1" stop-color="#795e41"/></linearGradient></defs><rect width="100" height="100" fill="url(#a)" ry="3.7"/><path fill="#fff" d="m40 20.07 30.7 30.69-20 20L31 51.05l9.52-9.51 6 5.98-6.38 6.4 9.4 9.41 14.07-14.07L36.74 22.4 8.85 50.33l40.7 40.69L90.94 49.6 50.34 9 39.69 19.67Z"/></svg>
|
||||
|
After Width: | Height: | Size: 490 B |
43
auth/assets/custom-icons/icons/Blackbaud.svg
Normal file
|
After Width: | Height: | Size: 41 KiB |
1
auth/assets/custom-icons/icons/Blizzard.svg
Normal file
|
After Width: | Height: | Size: 14 KiB |
1
auth/assets/custom-icons/icons/Bohemia.svg
Normal file
|
After Width: | Height: | Size: 47 KiB |
|
Before Width: | Height: | Size: 662 B After Width: | Height: | Size: 662 B |
1
auth/assets/custom-icons/icons/Box.svg
Normal file
|
After Width: | Height: | Size: 91 KiB |
1
auth/assets/custom-icons/icons/Broadcom.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32.47 32.47"><circle cx="16.24" cy="16.24" r="16.24" fill="#cc092f"/><path fill="#fff" d="M30.54 20.62c-1.86-.74-3.56-.49-5.26.54l-.81.5c-.79.5-1.54.97-2.26.97s-1.36-.18-1.65-1.51l-2.01-9.69-.59-2.82c-.28-.95-.79-1.47-1.52-1.56 0 0-.11-.02-.21-.02s-.22.02-.22.02c-.72.09-1.23.61-1.51 1.55-.16.54-.31 1.34-.59 2.82l-2.01 9.69c-.29 1.33-.96 1.51-1.65 1.51s-1.47-.47-2.26-.97l-.81-.5c-1.7-1.03-3.4-1.28-5.26-.54l-1.17.52a16.6 16.6 0 0 0 .95 2.34c.41-.2.84-.4 1.28-.53.63-.19 1.28-.2 1.91.01.61.2 1.16.57 1.7.91 1.02.64 2.18 1.37 3.66 1.37 2.19 0 3.72-1.31 4.21-3.58l1.76-8.42 1.76 8.42c.49 2.28 2.02 3.58 4.21 3.58 1.48 0 2.63-.73 3.66-1.37.54-.34 1.09-.7 1.7-.91.63-.21 1.28-.2 1.91-.01.44.13.87.33 1.28.53.37-.75.69-1.54.95-2.34l-1.17-.52"/></svg>
|
||||
|
After Width: | Height: | Size: 799 B |
|
Before Width: | Height: | Size: 4.9 KiB After Width: | Height: | Size: 4.9 KiB |
1
auth/assets/custom-icons/icons/Capcom.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 926.7 958.6"><path fill="#0c4da2" d="m874 951.9 4-358.3H678.1c-15.7 43.4-60 72.7-113.2 72.7a163 163 0 0 1-82.5-21.2 180.4 180.4 0 0 1-75-82 373.8 373.8 0 0 1-28.4-123c4.7-79.8 28.9-108.2 73.3-141 9.8-7.4 37.3-13.2 45.2-13.2 17.4-.1 32 10.5 39.8 26 11.4 22.7-5.3 50.1-21.9 69.7L677 492.9l249.7-261.2C839.6 93 680.4 0 498.6 0 223.2 0 0 213 0 475.7s216 461.4 498.6 482.9l376.6-1.7c.2-315-12.8-291-1.3-5Z"/><path fill="#ffcb08" d="M498.2 89.4C271.2 90.8 86 256 86 472.4S290.5 874.5 538.2 869l240.7.7V680h-45.4c-14.3 35.7-81 70.7-129.4 70.7-25.5 0-89.6-3.5-113.4-11.8C448.8 724.3 389 703.2 337 615.8c-14-30.6-53.2-105.2-44.4-214.1 4.2-65.7 46-147.6 120.8-184.7 32.6-16.2 65.4-18.9 123-13.6 41.5 3.7 82.6 32.8 97 67.8 11 27 7.9 60-5.2 78.7-1 1.3-1 2.5-.8 3.8.2 1 1.4 2.6 1.4 2.6l22.8 17.8s6.5 4.5 14.1 4.3c4.4-.1 12.3-5 12.3-5L808 237C727.7 128.4 584.8 89.4 498.3 89.4Z"/></svg>
|
||||
|
After Width: | Height: | Size: 926 B |
44
auth/assets/custom-icons/icons/Cloud66.svg
Normal file
|
After Width: | Height: | Size: 53 KiB |
1
auth/assets/custom-icons/icons/Cloudhq.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 305.5 234.9"><path fill="#183648" d="M142.1 142.4c0-24 1.7-23.5 6.2-25.5 3-1.5 4.7-3.8 4.7-7.1 0-10.6-20-10.7-27.2-10.7-30 0-29.4 8.4-29.4 11.3 0 4 2.7 5.3 5.6 7 2 1 4.6 2.1 4.6 18.5 0 4.8.2 6.3-9.7 6.3h-7.7c-7.2 0-11.1 1-11.1-7.5 0-13.4.9-15.2 4.6-17.3 3.5-2.2 6-3.8 6-8.5 0-9-17.4-9.8-23.7-9.8-8.5 0-33.7 1.2-33.7 12.8 0 3 2.7 4.4 5 5.6 5.6 3 6.2-.3 6.2 39.9 0 31.6-2 31.2-7.4 33.7-2.6 1.2-4.8 3.2-4.8 6.4 0 10.2 21 10.8 27.9 10.8 7.2 0 29.2-.6 29.2-11.2 0-9.7-9.3-1.5-9.3-22.2 0-13.5-2-14.2 19-14.2 7.6 0 9.5-.3 9.5 8 0 30.6-11.2 17.7-10.6 29.4 0 10 19.3 10.3 26 10.3 29.6 0 30-7.6 30-11.3 0-3.7-2.2-4.6-5.2-6.3-4-2.2-4.7-4.5-4.7-9zm93.8 27.7c0 8.2-4 16.2-13.1 16.2-16.3 0-25.3-36.2-25.3-49 0-7.4 4.2-16.1 12.6-16.1 17.6 0 25.8 35.2 25.8 49zM216 230c8.7 3.1 15.3 5 24.7 5 24.8 0 34.5-13.5 34.5-18.2 0-2-1.6-5.9-3.9-5.9-1.2 0-5.8 2.7-11.9 2.7-17.5 0-22.6-4.5-22.6-7 0-.8 1.2-1.8 2-2 22-9 35.8-26 35.8-49.7 0-19.5-16-56.3-57.6-56.3-32.8 0-58.3 22.7-58.3 54.7 0 30.4 19.2 40.4 19.2 43.7 0 1.2-1.4 1.5-2.3 1.5l-3.2-.2c-5.7 0-11.9 3.5-11.9 9.9 0 2.1 1 4.3 3.5 4.3l3.7-.2c6.8 0 12.1 2.8 25 8.1zM0 47c0 16 12.7 27.6 28.4 27.6 14.5 0 23.9-8 23.9-14.1 0-2.5-1.9-5.7-4.7-5.7-2.2 0-4.3 2.7-10.9 2.7-8.2 0-14-7.8-14-15.5 0-4.1 2.5-8.9 7.1-8.9 8.3 0 3 13 14.3 13a10 10 0 0 0 10.2-10.3c0-7.3-8.2-16-23.8-16C13 19.8 0 32 0 47zm88.3-12.8c0-15 1.3-26.4 1.3-28.8 0-3-.8-5.4-4.4-5.4-1.4 0-28.5 2.2-28.5 11.3 0 5.9 6.2 3.2 7.7 11 1 4.6.8 12.4.8 16.5 0 5 0 18.1-1.4 22.4-1.2 3.9-5.7 2.5-5.7 6.1 0 7.5 14.6 7 19.2 7 4.5 0 17.2.5 17.2-6.5 0-4.4-4.7-2.6-5.8-6.4-.5-1.6-.4-5-.4-7zM126 74.6c15.3 0 33.6-10.5 33.6-27.6 0-13-10.4-27.2-28.6-27.2-17.1 0-33.5 10.6-33.5 29.2 0 16.5 13.1 25.6 28.5 25.6zm9.7-19.6c0 3.3-.8 6.6-4.8 6.4-7.2-.4-9-16.5-9.5-23-.2-3 1.7-6.3 5.1-6.3 7.1 0 9.2 18.1 9.2 22.9zm57-31c0-2.5-.2-3.9-3.1-3.9-.9 0-27 .3-27 7 0 6.9 7.1-.1 7.1 15.9 0 15.6-1.7 31.2 18.1 31.2 4.6 0 7.9-1.5 10.4-3 2.5-1.6 4.2-3.2 5.3-3.2 4.2 0-1.1 6.2 6.9 6.2 5.7 0 24.1-2 24.1-9 0-5-5.7-2.1-5.7-8.4v-21l.2-9.8c0-3.7-1.6-5.9-5.3-5.9-4 0-24.9 1-24.9 7.2 0 4.4 5.1 2.6 6 7.8.5 3.4.4 7.9.4 11.3 0 5 1 14.8-6.5 14.8-5.6 0-5.9-6.5-5.9-10.6zM277 44c0 4.7.4 17.5-6.5 17.5-6.5 0-7.7-8.5-7.7-13.4 0-5 1.2-17 8.2-17 6 0 6 9 6 13zm23-38.4c0-3.4-.7-5.6-3.8-5.6-.4 0-26.9 2-26.9 9.7 0 5.6 7.6 2.2 7.6 8.6 0 1.2 0 4.6-1.6 4.6-1.2 0-5.2-3.1-12.4-3.1-14.4 0-25.6 13.6-25.6 27.4 0 12.8 10.6 27.4 24.2 27.4a19 19 0 0 0 10.2-3c2.4-1.6 4-3.1 4.9-3.1 3.5 0-.3 5.7 5 5.7 1.2 0 24-.5 24-8.4 0-5.4-5.6-3-5.6-10.3z"/></svg>
|
||||
|
After Width: | Height: | Size: 2.5 KiB |
8
auth/assets/custom-icons/icons/Digital Ocean.svg
Normal file
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
|
||||
<svg width="800px" height="800px" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg" fill="none">
|
||||
|
||||
<g fill="#0080FF">
|
||||
|
||||
<path d="M8 12.208v2.652c4.495 0 7.988-4.34 6.518-9.053a6.642 6.642 0 00-4.333-4.333C5.48.004 1.14 3.504 1.14 7.992h2.652c0-2.815 2.792-4.993 5.756-3.92a3.975 3.975 0 012.372 2.372c1.08 2.961-1.1 5.75-3.912 5.756V9.563H5.363v2.645H8z"/>
|
||||
|
After Width: | Height: | Size: 586 B |
1
auth/assets/custom-icons/icons/Dropbox.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 75.1 63.8"><path d="M37.6 12 18.8 24l18.8 12-18.8 12L0 35.9l18.8-12L0 12 18.8 0zM18.7 51.8l18.8-12 18.8 12-18.8 12zm18.9-15.9 18.8-12L37.6 12 56.3 0l18.8 12-18.8 12 18.8 12-18.8 12z" fill="#0061ff"/></svg>
|
||||
|
After Width: | Height: | Size: 258 B |
5
auth/assets/custom-icons/icons/EA.svg
Normal file
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="500px" height="500px" style="shape-rendering:geometricPrecision; text-rendering:geometricPrecision; image-rendering:optimizeQuality; fill-rule:evenodd; clip-rule:evenodd" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g><path style="opacity:0.984" fill="#fe4746" d="M 223.5,-0.5 C 240.833,-0.5 258.167,-0.5 275.5,-0.5C 362.426,11.5279 427.593,55.5279 471,131.5C 486.091,160.555 495.591,191.222 499.5,223.5C 499.5,240.833 499.5,258.167 499.5,275.5C 487.472,362.426 443.472,427.593 367.5,471C 338.445,486.091 307.778,495.591 275.5,499.5C 258.167,499.5 240.833,499.5 223.5,499.5C 136.574,487.472 71.4072,443.472 28,367.5C 12.9093,338.445 3.40931,307.778 -0.5,275.5C -0.5,258.167 -0.5,240.833 -0.5,223.5C 11.5279,136.574 55.5279,71.4072 131.5,28C 160.555,12.9093 191.222,3.40931 223.5,-0.5 Z M 150.5,153.5 C 197.168,153.333 243.835,153.5 290.5,154C 283.708,164.415 277.042,174.915 270.5,185.5C 223.837,186.667 177.17,186.833 130.5,186C 137.565,175.362 144.232,164.528 150.5,153.5 Z M 320.5,154.5 C 357.686,211.02 395.019,267.52 432.5,324C 419.167,324.667 405.833,324.667 392.5,324C 385.081,312.494 377.414,301.16 369.5,290C 348.167,289.667 326.833,289.333 305.5,289C 312.209,279.085 318.542,268.919 324.5,258.5C 332.138,257.503 339.804,257.169 347.5,257.5C 347.649,256.448 347.483,255.448 347,254.5C 339.068,242.29 330.901,230.29 322.5,218.5C 299.67,253.51 277.003,288.676 254.5,324C 194.5,324.667 134.5,324.667 74.5,324C 88.9582,301.585 103.292,279.085 117.5,256.5C 107.183,255.668 96.8494,255.168 86.5,255C 93.7487,244.504 100.749,233.838 107.5,223C 151.167,222.333 194.833,222.333 238.5,223C 231.251,233.496 224.251,244.162 217.5,255C 198.158,255.167 178.825,255.667 159.5,256.5C 152.167,267.833 144.833,279.167 137.5,290.5C 170.167,291.833 202.833,291.833 235.5,290.5C 263.86,245.149 292.193,199.816 320.5,154.5 Z"/></g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.0 KiB |
1
auth/assets/custom-icons/icons/ESL Gaming.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg fill="#000000" width="800px" height="800px" viewBox="0 0 24 24" role="img" xmlns="http://www.w3.org/2000/svg"><title>ESLGaming icon</title><path d="M12 0C5.373 0 0 5.373 0 12c0 6.628 5.373 12 12 12s12-5.372 12-12c0-6.627-5.373-12-12-12zm.455 2.163a9.8 9.8 0 0 1 5.789 2.222L4.384 18.244a9.862 9.862 0 0 1-1.06-1.582zm7.191 3.632a9.802 9.802 0 0 1 2.192 5.806l-14.45 9.1a9.834 9.834 0 0 1-1.592-1.055zm1.979 8.292c-.888 4.45-5.619 8.892-11.9 7.494Z"/></svg>
|
||||
|
After Width: | Height: | Size: 462 B |
1
auth/assets/custom-icons/icons/Elastic Cloud.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path fill="#FFF" d="M32 16.77a6.334 6.334 0 0 0-1.14-3.641 6.298 6.298 0 0 0-3.02-2.32 9.098 9.098 0 0 0-.873-5.965A9.05 9.05 0 0 0 22.56.746a9.007 9.007 0 0 0-5.994-.419 9.037 9.037 0 0 0-4.93 3.446 4.789 4.789 0 0 0-5.78-.07A4.833 4.833 0 0 0 4.198 9.26a6.384 6.384 0 0 0-3.035 2.33A6.42 6.42 0 0 0 0 15.242 6.341 6.341 0 0 0 1.145 18.9a6.305 6.305 0 0 0 3.039 2.321 9.334 9.334 0 0 0-.16 1.725 9.067 9.067 0 0 0 1.727 5.333 9.014 9.014 0 0 0 4.526 3.287 8.982 8.982 0 0 0 5.587-.023 9.016 9.016 0 0 0 4.5-3.322 4.789 4.789 0 0 0 5.77.074 4.833 4.833 0 0 0 1.672-5.542 6.383 6.383 0 0 0 3.032-2.331A6.419 6.419 0 0 0 32 16.77z"/><path fill="#FEC514" d="m12.58 13.787 7.002 3.211 7.066-6.213a7.854 7.854 0 0 0 .152-1.557 7.944 7.944 0 0 0-1.54-4.704 7.897 7.897 0 0 0-4.02-2.869 7.87 7.87 0 0 0-4.932.086 7.9 7.9 0 0 0-3.92 3.007l-1.174 6.118 1.367 2.92z"/><path fill="#00BFB3" d="M5.333 21.228A7.964 7.964 0 0 0 6.72 27.53a7.918 7.918 0 0 0 4.04 2.874 7.89 7.89 0 0 0 4.95-.097 7.921 7.921 0 0 0 3.926-3.03l1.166-6.102-1.555-2.985-7.03-3.211-6.885 6.248z"/><path fill="#F04E98" d="m5.288 9.067 4.8 1.137L11.14 4.73a3.785 3.785 0 0 0-4.538-.023A3.82 3.82 0 0 0 5.29 9.065"/><path fill="#1BA9F5" d="M4.872 10.214a5.294 5.294 0 0 0-2.595 1.882 5.324 5.324 0 0 0-.142 6.124 5.287 5.287 0 0 0 2.505 2l6.733-6.101-1.235-2.65-5.266-1.255z"/><path fill="#93C90E" d="M20.873 27.277a3.737 3.737 0 0 0 2.285.785 3.783 3.783 0 0 0 3.101-1.63 3.813 3.813 0 0 0 .451-3.484l-4.8-1.125-1.037 5.454z"/><path fill="#07C" d="m21.848 20.563 5.28 1.238a5.34 5.34 0 0 0 2.622-1.938 5.37 5.37 0 0 0 1.013-3.106 5.312 5.312 0 0 0-.936-3.01 5.283 5.283 0 0 0-2.475-1.944l-6.904 6.07 1.4 2.69z"/></svg>
|
||||
|
After Width: | Height: | Size: 1.7 KiB |
1
auth/assets/custom-icons/icons/Eneba.svg
Normal file
|
After Width: | Height: | Size: 58 KiB |
32
auth/assets/custom-icons/icons/Engine Yard.svg
Normal file
@@ -0,0 +1,32 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
|
||||
<svg width="800px" height="800px" viewBox="0 -1 256 256" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMidYMid">
|
||||
<defs>
|
||||
<linearGradient x1="61.0500426%" y1="82.514%" x2="38.4498197%" y2="28.19%" id="linearGradient-1">
|
||||
<stop stop-color="#477CD8" offset="0%">
|
||||
|
||||
</stop>
|
||||
<stop stop-color="#4573D2" offset="16%">
|
||||
|
||||
</stop>
|
||||
<stop stop-color="#3F5BC2" offset="43%">
|
||||
|
||||
</stop>
|
||||
<stop stop-color="#3633A7" offset="76%">
|
||||
|
||||
</stop>
|
||||
<stop stop-color="#2F1391" offset="100%">
|
||||
|
||||
</stop>
|
||||
</linearGradient>
|
||||
<linearGradient x1="62.8566029%" y1="19.708%" x2="52.4304188%" y2="78.902%" id="linearGradient-2">
|
||||
<stop stop-color="#2055DA" offset="0%">
|
||||
|
||||
</stop>
|
||||
<stop stop-color="#2055DA" offset="11%">
|
||||
|
||||
</stop>
|
||||
<stop stop-color="#00BFF6" offset="100%">
|
||||
|
||||
</stop>
|
||||
</linearGradient>
|
||||
|
After Width: | Height: | Size: 2.3 KiB |
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 2.7 KiB |
43
auth/assets/custom-icons/icons/Equinix Metal.svg
Normal file
|
After Width: | Height: | Size: 9.3 KiB |
1
auth/assets/custom-icons/icons/Erai-raws.svg
Normal file
|
After Width: | Height: | Size: 19 KiB |
1
auth/assets/custom-icons/icons/Eve Online.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg version="1.0" id="katman_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 800 600" style="enable-background:new 0 0 800 600;" xml:space="preserve"><path d="M95.3,265h186.2v-31.7H95.3V265z M95.3,217.1H129c0,0,0-7.9,0-10.9c4.7,0,152.6,0,152.6,0v-31.7H95.3V217.1z M129,280.9H95.3v42.7h186.2V292c0,0-147.8,0-152.6,0C129,289,129,280.9,129,280.9z M551.7,280.9h-33.7v42.7h186.2V292c0,0-147.9,0-152.6,0C551.7,289,551.7,280.9,551.7,280.9z M399.9,288.6c-4-6.9-65.9-114.1-65.9-114.1h-36.6l102.5,178.3l102.4-178.3h-36.6C465.6,174.5,403.8,281.6,399.9,288.6z M518.1,174.5v42.6h33.7c0,0,0-7.9,0-10.9c4.7,0,152.6,0,152.6,0v-31.7H518.1z M518.1,265h186.2v-31.7H518.1V265z"/><path d="M218,403.7c0-2.5,0.5-4.2,1.4-5.1c0.9-0.9,2.7-1.4,5.4-1.4h20.1c2.7,0,4.5,0.4,5.4,1.4c0.9,0.9,1.4,2.6,1.4,5.1v14.5c0,2.5-0.5,4.2-1.4,5.1c-0.9,0.9-2.7,1.4-5.4,1.4h-20.1c-2.7,0-4.5-0.4-5.4-1.4c-0.9-0.9-1.4-2.6-1.4-5.1L218,403.7L218,403.7zM224.4,419.5h21v-17.4h-21V419.5z"/><path d="M292.9,424.7v-27.4h4.4l19.3,16.2c0.7,0.6,1.2,1,1.7,1.5c0.5,0.5,1,1,1.4,1.5c-0.1-1.5-0.2-2.6-0.2-3.3c0-0.7-0.1-1.1-0.1-1.5v-14.4h5.7v27.4h-4.4l-20.1-16.9c-0.5-0.4-0.9-0.8-1.3-1.2c-0.4-0.3-0.7-0.7-1-1.1c0.1,0.9,0.1,1.7,0.2,2.4c0,0.8,0,1.4,0,2v14.8L292.9,424.7L292.9,424.7z"/><path d="M367,424.7v-27.4h6.4v22.3H394v5.2L367,424.7L367,424.7z"/><path d="M431.1,424.7v-27.4h6.4v27.4H431.1z"/><path d="M479.3,424.7v-27.4h4.4l19.3,16.2c0.7,0.6,1.2,1,1.8,1.5c0.5,0.5,1,1,1.4,1.5c-0.1-1.5-0.2-2.6-0.2-3.3c0-0.7-0.1-1.1-0.1-1.5v-14.4h5.7v27.4h-4.4L487,407.7c-0.5-0.4-0.9-0.8-1.3-1.2c-0.3-0.3-0.7-0.7-1-1.1c0.1,0.9,0.2,1.7,0.2,2.4c0.1,0.8,0.1,1.4,0.1,2v14.8L479.3,424.7L479.3,424.7z"/><path d="M553.4,424.7v-27.4h28.1v4.7h-21.7v6.1h12.6v4.7h-12.6v6.8h21.9v5.2L553.4,424.7L553.4,424.7z"/></svg>
|
||||
|
After Width: | Height: | Size: 1.7 KiB |
1
auth/assets/custom-icons/icons/Evernote.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg width="800px" height="800px" viewBox="-4 0 48 48" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><title>Evernote-color</title><desc>Created with Sketch.</desc><defs></defs><g id="Icons" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"><g id="Color-" transform="translate(-805.000000, -1043.000000)" fill="#20C05C"><path d="M834.792989,1065.70423 C834.147558,1065.68173 833.526032,1065.72223 832.946339,1065.81523 C833.109191,1064.49374 833.653026,1062.87076 835.578862,1062.93826 C837.710876,1063.01326 838.009687,1065.03524 838.017157,1066.40622 C837.117737,1066.00273 836.004667,1065.74773 834.792989,1065.70423 M843.909706,1051.35086 C843.552627,1049.43538 842.41864,1048.49189 841.392225,1048.12139 C840.286625,1047.7194 838.042556,1047.3039 835.223277,1046.9694 C832.955303,1046.70241 830.289911,1046.72341 828.679321,1046.7729 C828.486588,1045.44392 827.55878,1044.23043 826.518919,1043.81043 C823.751931,1042.69144 819.474455,1042.96144 818.377819,1043.27044 C817.505292,1043.51493 816.538639,1044.01743 816.00078,1044.78992 C815.640713,1045.30592 815.40764,1045.96891 815.406146,1046.8929 C815.406146,1047.4164 815.421087,1048.64789 815.433039,1049.74288 C815.446486,1050.84087 815.461426,1051.82336 815.461426,1051.83086 C815.461426,1052.80735 814.671072,1053.60384 813.692467,1053.60534 L809.205823,1053.60534 C808.248134,1053.60534 807.516048,1053.76734 806.958766,1054.02084 C806.398496,1054.27734 806.002571,1054.62083 805.700773,1055.02733 C805.101657,1055.83582 804.997073,1056.83181 805.000061,1057.8488 C805.000061,1057.8488 805.009026,1058.6813 805.209229,1060.28928 C805.375069,1061.53427 806.719717,1070.23269 807.997133,1072.87717 C808.491665,1073.90616 808.821851,1074.33515 809.79448,1074.78815 C811.962352,1075.72114 816.915141,1076.75763 819.235406,1077.05463 C821.552684,1077.35162 823.006398,1077.97712 823.87295,1076.15314 C823.875938,1076.14864 824.04626,1075.69864 824.280826,1075.04015 C825.033829,1072.75117 825.138413,1070.72019 825.138413,1069.2517 C825.138413,1069.1017 825.356545,1069.0957 825.356545,1069.2517 C825.356545,1070.28819 825.15933,1073.96016 827.921836,1074.94565 C829.012495,1075.33414 831.274492,1075.67914 833.572347,1075.95064 C835.650576,1076.19064 837.159571,1077.01113 837.159571,1082.36458 C837.159571,1085.62105 836.478282,1086.06805 832.916458,1086.06805 C830.028451,1086.06805 828.927334,1086.14304 828.927334,1083.84057 C828.927334,1081.97908 830.762032,1082.17408 832.120127,1082.17408 C832.728207,1082.17408 832.287461,1081.72108 832.287461,1080.5721 C832.287461,1079.42911 832.998631,1078.76911 832.326306,1078.75261 C827.626013,1078.62211 824.860519,1078.74661 824.860519,1084.64756 C824.860519,1090.00551 826.902891,1091 833.572347,1091 C838.80303,1091 840.646692,1090.8275 842.8056,1084.10156 C843.232899,1082.77258 844.266785,1078.72111 844.891299,1071.91567 C845.287224,1067.61371 844.51928,1054.62833 843.909706,1051.35086 M808.995161,1052.29735 L808.998149,1052.29735 L813.484793,1052.29735 C813.74177,1052.29735 813.949444,1052.08586 813.949444,1051.83086 C813.949444,1051.82936 813.895658,1047.96839 813.895658,1046.8944 L813.895658,1046.8809 C813.895658,1045.99891 814.079427,1045.23092 814.400648,1044.58592 L814.554536,1044.29793 C814.536607,1044.29943 814.520172,1044.30843 814.502244,1044.32493 L805.78444,1053.00535 C805.768005,1053.01885 805.756053,1053.03835 805.75157,1053.05635 C805.932351,1052.96635 806.17887,1052.84485 806.213233,1052.82985 C806.972212,1052.48485 807.89255,1052.29735 808.995161,1052.29735" id="Evernote"></path></g></g></svg>
|
||||
|
After Width: | Height: | Size: 3.5 KiB |
6
auth/assets/custom-icons/icons/Faceit.svg
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="500px" height="500px" style="shape-rendering:geometricPrecision; text-rendering:geometricPrecision; image-rendering:optimizeQuality; fill-rule:evenodd; clip-rule:evenodd" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g><path style="opacity:0.996" fill="#fe6909" d="M 491.5,-0.5 C 494.167,-0.5 496.833,-0.5 499.5,-0.5C 499.5,83.1667 499.5,166.833 499.5,250.5C 455.166,250.011 410.832,249.344 366.5,248.5C 366.137,247.817 365.804,247.15 365.5,246.5C 402.133,172.85 439.633,100.183 478,28.5C 482.977,19.0758 487.477,9.40918 491.5,-0.5 Z"/></g>
|
||||
<g><path style="opacity:0.97" fill="#fd5a00" d="M 365.5,246.5 C 365.804,247.15 366.137,247.817 366.5,248.5C 410.832,249.344 455.166,250.011 499.5,250.5C 499.5,333.167 499.5,415.833 499.5,498.5C 498.833,498.5 498.5,498.833 498.5,499.5C 495.167,499.5 491.833,499.5 488.5,499.5C 383.759,447.247 275.759,394.247 164.5,340.5C 151.982,333.758 138.649,327.591 124.5,322C 124.833,321.667 125.167,321.333 125.5,321C 120.311,319.61 115.645,317.277 111.5,314C 72.6618,295.671 35.3284,278.171 -0.5,261.5C -0.5,257.167 -0.5,252.833 -0.5,248.5C 0.75618,248.539 1.75618,248.039 2.5,247C 123.5,246.5 244.5,246.333 365.5,246.5 Z"/></g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.3 KiB |
1
auth/assets/custom-icons/icons/Fanatical.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg width="800px" height="800px" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg"><circle cx="512" cy="512" r="512" style="fill:#ff9800"/><path d="M259.8 468.5h364.4c1.5 0 2.9-.9 3.5-2.2l33.1-71.7c.9-1.9.1-4.2-1.9-5.1-.5-.2-1.1-.4-1.6-.4H287.5C331 309.8 415.2 256 512 256c141.3 0 255.8 114.6 255.8 256S653.3 768 512 768 256.2 653.4 256.2 512c0-14.8 1.2-29.4 3.6-43.5zm157.5 207.3c0 2.8 2.3 5.1 5.1 5.1h6.6l80.4-101.1h63.3c1.5 0 2.9-.9 3.5-2.2l33.1-71.6c.2-.5.4-1.1.4-1.6 0-2.1-1.7-3.8-3.8-3.8H417.3v175.2z" style="fill:#fff"/></svg>
|
||||
|
After Width: | Height: | Size: 544 B |
1
auth/assets/custom-icons/icons/Fly.io.svg
Normal file
|
After Width: | Height: | Size: 4.9 KiB |
14
auth/assets/custom-icons/icons/Google Cloud Platform.svg
Normal file
@@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
|
||||
<svg width="800px" height="800px" viewBox="0 -25 256 256" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMidYMid">
|
||||
<g>
|
||||
<path d="M170.2517,56.8186 L192.5047,34.5656 L193.9877,25.1956 C153.4367,-11.6774 88.9757,-7.4964 52.4207,33.9196 C42.2667,45.4226 34.7337,59.7636 30.7167,74.5726 L38.6867,73.4496 L83.1917,66.1106 L86.6277,62.5966 C106.4247,40.8546 139.8977,37.9296 162.7557,56.4286 L170.2517,56.8186 Z" fill="#EA4335">
|
||||
|
||||
</path>
|
||||
<path d="M224.2048,73.9182 C219.0898,55.0822 208.5888,38.1492 193.9878,25.1962 L162.7558,56.4282 C175.9438,67.2042 183.4568,83.4382 183.1348,100.4652 L183.1348,106.0092 C198.4858,106.0092 210.9318,118.4542 210.9318,133.8052 C210.9318,149.1572 198.4858,161.2902 183.1348,161.2902 L127.4638,161.2902 L121.9978,167.2242 L121.9978,200.5642 L127.4638,205.7952 L183.1348,205.7952 C223.0648,206.1062 255.6868,174.3012 255.9978,134.3712 C256.1858,110.1682 244.2528,87.4782 224.2048,73.9182" fill="#4285F4">
|
||||
|
||||
</path>
|
||||
<path d="M71.8704,205.7957 L127.4634,205.7957 L127.4634,161.2897 L71.8704,161.2897 C67.9094,161.2887 64.0734,160.4377 60.4714,158.7917 L52.5844,161.2117 L30.1754,183.4647 L28.2234,191.0387 C40.7904,200.5277 56.1234,205.8637 71.8704,205.7957" fill="#34A853">
|
||||
|
||||
</path>
|
||||
<path d="M71.8704,61.4255 C31.9394,61.6635 -0.2366,94.2275 0.0014,134.1575 C0.1344,156.4555 10.5484,177.4455 28.2234,191.0385 L60.4714,158.7915 C46.4804,152.4705 40.2634,136.0055 46.5844,122.0155 C52.9044,108.0255 69.3704,101.8085 83.3594,108.1285 C89.5244,110.9135 94.4614,115.8515 97.2464,122.0155 L129.4944,89.7685 C115.7734,71.8315 94.4534,61.3445 71.8704,61.4255" fill="#FBBC05">
|
||||
|
After Width: | Height: | Size: 1.8 KiB |
39
auth/assets/custom-icons/icons/Google Drive.svg
Normal file
@@ -0,0 +1,39 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg"
|
||||
aria-label="Google Drive" role="img"
|
||||
viewBox="0 0 512 512">
|
||||
|
||||
<rect
|
||||
width="512" height="512"
|
||||
rx="15%"
|
||||
fill="#ffffff"/>
|
||||
|
||||
<g fill="#2684fc">
|
||||
|
||||
<path id="b" d="M337 301l53 96q-3 2-10 2h-247.6 q-6 0-10-2l55-95"/>
|
||||
|
||||
</g>
|
||||
|
||||
<g fill="#ea4335">
|
||||
|
||||
<path id="c" d="M335 301l55 96q6-3 10-10l43-76q2-6 2-10"/>
|
||||
|
||||
</g>
|
||||
|
||||
<g transform="rotate(120 256 256)">
|
||||
|
||||
<use href="#b" fill="#00ac47"/>
|
||||
|
||||
<use href="#c" fill="#0066da"/>
|
||||
|
||||
</g>
|
||||
|
||||
<g transform="rotate(240 256 256)">
|
||||
|
||||
<use href="#b" fill="#ffba00"/>
|
||||
|
||||
<use href="#c" fill="#00832d"/>
|
||||
|
||||
</g>
|
||||
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 604 B |
|
Before Width: | Height: | Size: 3.7 KiB After Width: | Height: | Size: 3.7 KiB |
1
auth/assets/custom-icons/icons/Gree.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 6 7"><path fill="#00a0dc" d="m0 2 3-2 3 2v3L3 7 0 5Z"/></svg>
|
||||
|
After Width: | Height: | Size: 115 B |