Merge branch 'master' into powersync
# Conflicts: # Gemfile.lock # android/settings.gradle # fastlane/report.xml # integration_test/1_dashboard.dart # integration_test/2_workout.dart # integration_test/3_gym_mode.dart # integration_test/5_nutritional_plan.dart # integration_test/6_weight.dart # lib/helpers/i18n.dart # lib/helpers/ui.dart # lib/main.dart # lib/models/nutrition/meal.g.dart # lib/models/nutrition/nutritional_plan.dart # lib/providers/auth.dart # lib/providers/nutrition.dart # lib/screens/add_exercise_screen.dart # lib/screens/auth_screen.dart # lib/screens/dashboard.dart # lib/screens/exercises_screen.dart # lib/screens/home_tabs_screen.dart # lib/screens/log_meal_screen.dart # lib/screens/log_meals_screen.dart # lib/screens/nutritional_plan_screen.dart # lib/screens/routine_list_screen.dart # lib/screens/workout_plan_screen.dart # lib/widgets/add_exercise/steps/step1basics.dart # lib/widgets/add_exercise/steps/step5images.dart # lib/widgets/add_exercise/steps/step_2_variations.dart # lib/widgets/add_exercise/steps/step_3_description.dart # lib/widgets/add_exercise/steps/step_4_translations.dart # lib/widgets/core/about.dart # lib/widgets/core/settings.dart # lib/widgets/dashboard/calendar.dart # lib/widgets/dashboard/widgets.dart # lib/widgets/exercises/exercises.dart # lib/widgets/gallery/overview.dart # lib/widgets/measurements/categories_card.dart # lib/widgets/measurements/charts.dart # lib/widgets/measurements/entries.dart # lib/widgets/measurements/forms.dart # lib/widgets/measurements/helpers.dart # lib/widgets/nutrition/charts.dart # lib/widgets/nutrition/forms.dart # lib/widgets/nutrition/helpers.dart # lib/widgets/nutrition/meal.dart # lib/widgets/nutrition/nutritional_diary_table.dart # lib/widgets/nutrition/nutritional_plan_detail.dart # lib/widgets/nutrition/nutritional_plans_list.dart # lib/widgets/nutrition/widgets.dart # lib/widgets/routines/charts.dart # lib/widgets/routines/workout_logs.dart # lib/widgets/weight/forms.dart # lib/widgets/weight/weight_overview.dart # lib/widgets/workouts/app_bar.dart # lib/widgets/workouts/day.dart # lib/widgets/workouts/forms.dart # lib/widgets/workouts/gym_mode.dart # lib/widgets/workouts/workout_plan_detail.dart # lib/widgets/workouts/workout_plans_list.dart # linux/flutter/generated_plugin_registrant.cc # linux/flutter/generated_plugins.cmake # pubspec.lock # pubspec.yaml # test/auth/auth_screen_test.dart # test/core/settings_test.dart # test/core/settings_test.mocks.dart # test/nutrition/nutritional_meal_form_test.mocks.dart # test/nutrition/nutritional_meal_item_form_test.dart # test/nutrition/nutritional_plan_form_test.mocks.dart # test/nutrition/nutritional_plan_screen_test.dart # test/nutrition/nutritional_plans_screen_test.dart # test/routine/repetition_unit_form_widget_test.dart # test/routine/routine_screen_test.dart # test/routine/routines_screen_test.dart # test/routine/weight_unit_form_widget_test.dart # test/workout/gym_mode_screen_test.dart # test/workout/workout_day_form_test.dart # test/workout/workout_form_test.dart # test/workout/workout_set_form_test.dart
34
.github/ISSUE_TEMPLATE/1_bug.md
vendored
@@ -1,34 +0,0 @@
|
||||
---
|
||||
name: I found a problem with wger
|
||||
about: While using wger the application crashes or throws an exception, a
|
||||
widget is buggy, or something looks wrong.
|
||||
title: ''
|
||||
labels: ''
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
## Steps to Reproduce
|
||||
|
||||
<!-- Please include as many steps to reproduce so that we can replicate the problem. -->
|
||||
|
||||
1. ... <!-- describe how to reproduce the problem -->
|
||||
2. ...
|
||||
3. ...
|
||||
|
||||
**Expected results:** <!-- what did you expect to see? -->
|
||||
|
||||
**Actual results:** <!-- what did you see? -->
|
||||
|
||||
<details>
|
||||
<summary>Logs</summary>
|
||||
|
||||
<!--
|
||||
Any logs you think would be useful (if you have a local instance)
|
||||
-->
|
||||
|
||||
```
|
||||
```
|
||||
|
||||
|
||||
</details>
|
||||
53
.github/ISSUE_TEMPLATE/1_bug.yml
vendored
Normal file
@@ -0,0 +1,53 @@
|
||||
# https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-issue-forms
|
||||
# https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-githubs-form-schema
|
||||
|
||||
name: Bug report
|
||||
description: Report an error or unexpected behavior
|
||||
type: bug
|
||||
body:
|
||||
- type: dropdown
|
||||
id: priority
|
||||
attributes:
|
||||
label: Priority/Impact
|
||||
description: How severe is the issue?
|
||||
options:
|
||||
- Low (minor inconvenience)
|
||||
- Medium (affects some functionality)
|
||||
- High (critical issue, blocks workflow)
|
||||
|
||||
- type: textarea
|
||||
id: description
|
||||
attributes:
|
||||
label: Description
|
||||
description: |
|
||||
A clear and concise description of the bug.
|
||||
placeholder: |
|
||||
Please include any information you think is relevant to the issue you are experiencing.
|
||||
This could include any steps to reproduce it (if it happens consistently), expected vs.
|
||||
actual behavior, logs, screenshots, links to related issues, etc.
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: input
|
||||
id: server-version
|
||||
attributes:
|
||||
label: Server version
|
||||
description: |
|
||||
What version of wger are you using and how did you install it (you use our server,
|
||||
docker compose, manual installation, etc)?
|
||||
placeholder: |
|
||||
Check https://<server>/software/about-us or the git sha1 of the last commit you pulled
|
||||
validations:
|
||||
required: false
|
||||
|
||||
- type: input
|
||||
id: app-version
|
||||
attributes:
|
||||
label: Mobile app version
|
||||
description: |
|
||||
What version of the mobile app are you using and how did you install it
|
||||
(Play Store, App Store, Flathub, self compiled, etc.)?
|
||||
placeholder: |
|
||||
Check the "about wger" dialog
|
||||
validations:
|
||||
required: false
|
||||
26
.github/ISSUE_TEMPLATE/2_feature_request.md
vendored
@@ -1,26 +0,0 @@
|
||||
---
|
||||
name: Feature request
|
||||
about: Suggest a new idea for wger.
|
||||
title: ''
|
||||
labels: ''
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
## Use case
|
||||
|
||||
<!--
|
||||
Please tell us the problem you are running into that led to you wanting
|
||||
a new feature.
|
||||
|
||||
Is your feature request related to a problem? Please give a clear and
|
||||
concise description of what the problem is.
|
||||
-->
|
||||
|
||||
## Proposal
|
||||
|
||||
<!--
|
||||
Briefly but precisely describe what you would like wger to be able to do.
|
||||
|
||||
Consider attaching images showing what you are imagining.
|
||||
-->
|
||||
33
.github/ISSUE_TEMPLATE/2_feature_request.yml
vendored
Normal file
@@ -0,0 +1,33 @@
|
||||
name: Feature request
|
||||
description: Suggest a new idea for wger
|
||||
type: enhancement
|
||||
body:
|
||||
- type: textarea
|
||||
id: description
|
||||
attributes:
|
||||
label: Use case
|
||||
description: |
|
||||
A description of what new feature or behavior you would like to see.
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: proposal
|
||||
attributes:
|
||||
label: Proposal
|
||||
description: |
|
||||
Why is this feature needed? What problems does it solve?
|
||||
validations:
|
||||
required: false
|
||||
|
||||
- type: textarea
|
||||
id: additional-context
|
||||
attributes:
|
||||
label: Additional Context
|
||||
description: |
|
||||
Any extra details, related issues, or mockups
|
||||
placeholder: |
|
||||
Screenshots or mockups, links to similar features in other applications, or other relevant
|
||||
information.
|
||||
validations:
|
||||
required: false
|
||||
23
.github/actions/flutter-common/action.yml
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
name: 'Flutter common setup'
|
||||
description: 'Common steps needed to setup the application'
|
||||
|
||||
runs:
|
||||
using: "composite"
|
||||
steps:
|
||||
|
||||
- name: Setup Flutter
|
||||
uses: subosito/flutter-action@v2
|
||||
with:
|
||||
channel: stable
|
||||
flutter-version: 3.35.5
|
||||
cache: true
|
||||
|
||||
- name: Install Flutter dependencies
|
||||
run: flutter pub get
|
||||
shell: bash
|
||||
|
||||
- name: Install Flutter dependencies
|
||||
run: |
|
||||
dart --version
|
||||
flutter --version
|
||||
shell: bash
|
||||
27
.github/contributing.md
vendored
Normal file
@@ -0,0 +1,27 @@
|
||||
# Contributing to wger
|
||||
|
||||
🎉 Thanks for showing interest in contributing! 🎉
|
||||
|
||||
We have centralized the documentation for contributing to wger in the online
|
||||
docs, especially for non-code contributions such as documentation, translations,
|
||||
etc.:
|
||||
|
||||
<https://wger.readthedocs.io/en/latest/contributing.html>
|
||||
|
||||
## Questions
|
||||
|
||||
Are you just using the software and have a question or improvement? Let us know!
|
||||
|
||||
* Discord: <https://discord.gg/rPWFv6W>
|
||||
* Mastodon: <https://fosstodon.org/@wger>
|
||||
|
||||
## Issues
|
||||
|
||||
If you run into a bug describe the problem as well as you can.
|
||||
|
||||
- Steps and any useful information to reproduce the issue
|
||||
- If you use our server, the time when this happened, we might be able to get some
|
||||
information from the logs
|
||||
- Environment details (app type: web / mobile, installation method, OS, etc.)
|
||||
- Screenshots or logs if applicable
|
||||
- Git SHA1 if installed from source
|
||||
5
.github/dependabot.yml
vendored
@@ -11,6 +11,11 @@ updates:
|
||||
schedule:
|
||||
interval: "weekly"
|
||||
|
||||
- package-ecosystem: "pub"
|
||||
directory: "/flatpak/scripts"
|
||||
schedule:
|
||||
interval: "weekly"
|
||||
|
||||
- package-ecosystem: "github-actions"
|
||||
directory: "/"
|
||||
schedule:
|
||||
|
||||
22
.github/pull_request_template.md
vendored
@@ -1,25 +1,17 @@
|
||||
## Description (Proposed Changes)
|
||||
(Please try to mention in bullet points.)
|
||||
# Proposed Changes
|
||||
|
||||
-
|
||||
-
|
||||
|
||||
## Link to the issue :
|
||||
## Related Issue(s)
|
||||
|
||||
(Add link of the issue you have proposed changes to)
|
||||
If applicable, please link to any related issues (`Closes #123`,
|
||||
`Closes wger-project/other-repo#123`, `See also #123`, etc.)
|
||||
|
||||
- Link :
|
||||
## Please check that the PR fulfills these requirements
|
||||
|
||||
## Tests
|
||||
|
||||
Please make sure to add tests when implementing new features.
|
||||
|
||||
## Checklist
|
||||
|
||||
Please check that the PR fulfills all requirements listed below by checking the relevant checkboxes (`[x]`). This will ensure a smooth and quick review process.
|
||||
|
||||
- [ ] Set a 100 character limit in your editor/IDE to avoid white space diffs in the PR
|
||||
- [ ] Tests for the changes have been added (for bug fixes / features)
|
||||
- [ ] Added yourself to AUTHORS.md
|
||||
- [ ] Set a 100 character limit in your editor/IDE to avoid white space diffs in the PR
|
||||
(run `dart format .`)
|
||||
- [ ] Updated/added relevant documentation (doc comments with `///`).
|
||||
- [ ] Added relevant reviewers.
|
||||
|
||||
73
.github/workflows/build-android.yml
vendored
Normal file
@@ -0,0 +1,73 @@
|
||||
name: Build Android
|
||||
on:
|
||||
workflow_call:
|
||||
inputs:
|
||||
ref:
|
||||
required: true
|
||||
type: string
|
||||
secrets:
|
||||
DECRYPTKEY_PLAYSTORE_SIGNING_KEY:
|
||||
required: true
|
||||
DECRYPTKEY_PROPERTIES:
|
||||
required: true
|
||||
jobs:
|
||||
build_android_apk:
|
||||
name: APK file
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout application
|
||||
uses: actions/checkout@v5
|
||||
with:
|
||||
ref: ${{ inputs.ref }}
|
||||
|
||||
- name: Common flutter setup
|
||||
uses: ./.github/actions/flutter-common
|
||||
|
||||
- name: Decrypt config files
|
||||
run: |
|
||||
cd ./fastlane/metadata/envfiles
|
||||
chmod +x ./decrypt_secrets.sh
|
||||
./decrypt_secrets.sh
|
||||
shell: bash
|
||||
env:
|
||||
DECRYPTKEY_PLAYSTORE_SIGNING_KEY: ${{ secrets.DECRYPTKEY_PLAYSTORE_SIGNING_KEY }}
|
||||
DECRYPTKEY_PROPERTIES: ${{ secrets.DECRYPTKEY_PROPERTIES }}
|
||||
|
||||
- name: Build APK
|
||||
run: flutter build apk --release
|
||||
|
||||
- uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: builds-apk
|
||||
path: build/app/outputs/flutter-apk/app-release.apk
|
||||
|
||||
build_android_aab:
|
||||
name: AAB file
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout application
|
||||
uses: actions/checkout@v5
|
||||
with:
|
||||
ref: ${{ inputs.ref }}
|
||||
|
||||
- name: Common setup
|
||||
uses: ./.github/actions/flutter-common
|
||||
|
||||
- name: Decrypt config files
|
||||
run: |
|
||||
cd ./fastlane/metadata/envfiles
|
||||
chmod +x ./decrypt_secrets.sh
|
||||
./decrypt_secrets.sh
|
||||
shell: bash
|
||||
env:
|
||||
DECRYPTKEY_PLAYSTORE: ${{ secrets.DECRYPTKEY_PLAYSTORE }}
|
||||
DECRYPTKEY_PLAYSTORE_SIGNING_KEY: ${{ secrets.DECRYPTKEY_PLAYSTORE_SIGNING_KEY }}
|
||||
DECRYPTKEY_PROPERTIES: ${{ secrets.DECRYPTKEY_PROPERTIES }}
|
||||
|
||||
- name: Build AAB
|
||||
run: flutter build appbundle --release
|
||||
|
||||
- uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: builds-aab
|
||||
path: build/app/outputs/bundle/release/app-release.aab
|
||||
90
.github/workflows/build-apple.yml
vendored
Normal file
@@ -0,0 +1,90 @@
|
||||
name: Build Apple
|
||||
on:
|
||||
workflow_call:
|
||||
inputs:
|
||||
ref:
|
||||
required: true
|
||||
type: string
|
||||
jobs:
|
||||
build_ios:
|
||||
name: iOS
|
||||
runs-on: macos-latest
|
||||
steps:
|
||||
- name: Checkout application
|
||||
uses: actions/checkout@v5
|
||||
with:
|
||||
ref: ${{ inputs.ref }}
|
||||
|
||||
# This seems to be related to https://github.com/actions/runner-images/issues/12758
|
||||
# Select appropriate Xcode version from
|
||||
# https://github.com/actions/runner-images/blob/main/images/macos/macos-15-arm64-Readme.md#xcode
|
||||
- name: Xcode setup
|
||||
run: |
|
||||
sudo xcode-select --switch /Applications/Xcode_16.4.app
|
||||
|
||||
- name: Common flutter setup
|
||||
uses: ./.github/actions/flutter-common
|
||||
|
||||
- name: Build .app
|
||||
run: |
|
||||
flutter build ios --release --no-codesign
|
||||
cd build/ios/iphoneos
|
||||
zip -r Runner.app.zip Runner.app
|
||||
|
||||
- uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: builds-ios
|
||||
path: build/ios/iphoneos/Runner.app.zip
|
||||
|
||||
build_ipa:
|
||||
name: IPA
|
||||
runs-on: macos-latest
|
||||
steps:
|
||||
- name: Checkout application
|
||||
uses: actions/checkout@v5
|
||||
with:
|
||||
ref: ${{ inputs.ref }}
|
||||
|
||||
- name: Common flutter setup
|
||||
uses: ./.github/actions/flutter-common
|
||||
|
||||
# This seems to be related to https://github.com/actions/runner-images/issues/12758
|
||||
# Select appropriate Xcode version from
|
||||
# https://github.com/actions/runner-images/blob/main/images/macos/macos-15-arm64-Readme.md#xcode
|
||||
- name: Xcode setup
|
||||
run: |
|
||||
sudo xcode-select --switch /Applications/Xcode_16.4.app
|
||||
|
||||
- name: Build .xcarchive
|
||||
run: |
|
||||
flutter build ipa --release --no-codesign
|
||||
cd build/ios/archive
|
||||
zip -r Runner.xcarchive.zip Runner.xcarchive
|
||||
|
||||
- uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: builds-ipa
|
||||
path: build/ios/archive/Runner.xcarchive.zip
|
||||
|
||||
build_macos:
|
||||
name: macOS
|
||||
runs-on: macos-latest
|
||||
steps:
|
||||
- name: Checkout application
|
||||
uses: actions/checkout@v5
|
||||
with:
|
||||
ref: ${{ inputs.ref }}
|
||||
|
||||
- name: Common flutter setup
|
||||
uses: ./.github/actions/flutter-common
|
||||
|
||||
- name: Build .app
|
||||
run: |
|
||||
flutter build macos --release
|
||||
cd build/macos/Build/Products/Release
|
||||
zip -r wger.app.zip wger.app
|
||||
|
||||
- uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: builds-macos
|
||||
path: build/macos/Build/Products/Release/wger.app.zip
|
||||
80
.github/workflows/build-linux.yml
vendored
Normal file
@@ -0,0 +1,80 @@
|
||||
name: Build Linux
|
||||
on:
|
||||
workflow_call:
|
||||
inputs:
|
||||
ref:
|
||||
required: true
|
||||
type: string
|
||||
secrets:
|
||||
SSH_DEPLOY_KEY:
|
||||
required: true
|
||||
jobs:
|
||||
|
||||
# TODO: note that we currently only build for x64, as arm64 is not supported by
|
||||
# subosito/flutter-action@v2 yet and we don't want to install flutter manually
|
||||
# just for this workflow: https://github.com/subosito/flutter-action/issues/345
|
||||
build_linux:
|
||||
name: Build application - ${{ matrix.platform }}
|
||||
runs-on: ${{ matrix.runner }}
|
||||
strategy:
|
||||
matrix:
|
||||
include:
|
||||
- platform: x64
|
||||
runner: ubuntu-latest
|
||||
# - platform: arm64
|
||||
# runner: ubuntu-24.04-arm
|
||||
steps:
|
||||
- name: Checkout application
|
||||
uses: actions/checkout@v5
|
||||
with:
|
||||
ref: ${{ inputs.ref }}
|
||||
|
||||
- name: Common setup
|
||||
uses: ./.github/actions/flutter-common
|
||||
|
||||
# https://github.com/actions/runner-images/blob/main/images/ubuntu/Ubuntu2404-Readme.md
|
||||
- name: Build application for linux
|
||||
run: |
|
||||
sudo apt update
|
||||
sudo apt install -y pkg-config libgtk-3-dev liblzma-dev libstdc++-12-dev --no-install-recommends
|
||||
flutter build linux --release
|
||||
tar -zcvf linux-${{ matrix.platform }}.tar.gz build/linux/${{ matrix.platform }}/release/bundle
|
||||
- uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: builds-linux
|
||||
path: |
|
||||
linux-${{ matrix.platform }}.tar.gz
|
||||
|
||||
generate_flathub_manifest:
|
||||
runs-on: ubuntu-latest
|
||||
name: Update flathub manifest
|
||||
|
||||
# If the job fails just continue, this can be done manually later
|
||||
continue-on-error: true
|
||||
needs:
|
||||
- build_linux
|
||||
steps:
|
||||
|
||||
- name: Checkout flatpak-flathub repo
|
||||
uses: actions/checkout@v5
|
||||
with:
|
||||
repository: wger-project/de.wger.flutter
|
||||
|
||||
- name: Bump version and update manifest
|
||||
run: |
|
||||
pip install pyyaml toml packaging
|
||||
git clone https://github.com/TheAppgineer/flatpak-flutter.git --branch 0.7.3 ../flatpak-flutter
|
||||
python bump-wger-version.py ${{ inputs.ref }}
|
||||
../flatpak-flutter/flatpak-flutter.py --app-module wger flatpak-flutter.json
|
||||
|
||||
- name: Push updated config to flathub repository
|
||||
uses: cpina/github-action-push-to-another-repository@main
|
||||
env:
|
||||
SSH_DEPLOY_KEY: ${{ secrets.SSH_DEPLOY_KEY }}
|
||||
with:
|
||||
destination-github-username: wger-project
|
||||
destination-repository-name: de.wger.flutter
|
||||
user-email: github-actions@github.com
|
||||
target-branch: release-${{ inputs.ref }}
|
||||
create-target-branch-if-needed: true
|
||||
commit-message: Update to ${{ inputs.ref }}
|
||||
131
.github/workflows/build-release.yml
vendored
@@ -1,131 +0,0 @@
|
||||
name: Build release artefacts
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- 'v[0-9]+.[0-9]+.[0-9]+'
|
||||
|
||||
jobs:
|
||||
deploy_android:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout application code
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Setup Java
|
||||
uses: actions/setup-java@v4
|
||||
with:
|
||||
java-version: '17'
|
||||
distribution: 'oracle'
|
||||
|
||||
- name: Setup Ruby
|
||||
uses: ruby/setup-ruby@v1
|
||||
with:
|
||||
ruby-version: '3.2'
|
||||
|
||||
- name: Setup Flutter
|
||||
uses: subosito/flutter-action@v2
|
||||
with:
|
||||
channel: stable
|
||||
flutter-version: 3.24.x
|
||||
|
||||
- name: Flutter info
|
||||
run: |
|
||||
dart --version
|
||||
flutter --version
|
||||
|
||||
- name: Install Flutter dependencies
|
||||
run: flutter pub get
|
||||
|
||||
- name: Decrypt config files
|
||||
run: |
|
||||
cd ./fastlane/metadata/envfiles
|
||||
chmod +x ./decrypt_secrets.sh
|
||||
./decrypt_secrets.sh
|
||||
env:
|
||||
DECRYPTKEY_PLAYSTORE: ${{ secrets.DECRYPTKEY_PLAYSTORE }}
|
||||
DECRYPTKEY_PLAYSTORE_SIGNING_KEY: ${{ secrets.DECRYPTKEY_PLAYSTORE_SIGNING_KEY }}
|
||||
DECRYPTKEY_PROPERTIES: ${{ secrets.DECRYPTKEY_PROPERTIES }}
|
||||
|
||||
- name: Extract version information
|
||||
run: |
|
||||
echo "VERSION_V=$(echo $GITHUB_REF | cut -d / -f 3)" >> $GITHUB_ENV
|
||||
echo "VERSION=$(echo $GITHUB_REF | cut -d / -f 3 | cut -c 2-)" >> $GITHUB_ENV
|
||||
echo "BUILD=$(flutter pub run cider version | cut -d '+' -f 2)" >> $GITHUB_ENV
|
||||
|
||||
- name: Bump pubspec version
|
||||
run: |
|
||||
flutter pub run cider version ${{ env.VERSION }}+${{ env.BUILD }}
|
||||
flutter pub run cider bump build
|
||||
|
||||
- name: Build application for linux
|
||||
run: |
|
||||
sudo apt update
|
||||
sudo apt install -y clang cmake ninja-build pkg-config libgtk-3-dev liblzma-dev libstdc++-12-dev
|
||||
flutter build linux --release
|
||||
cd flatpak/scripts
|
||||
dart pub get
|
||||
dart flatpak_packager.dart --meta ../flatpak_meta.json --github --addTodaysVersion ${{ env.VERSION }}
|
||||
|
||||
- name: Build AAB
|
||||
run: flutter build appbundle --release
|
||||
env:
|
||||
WGER_API_KEY: ${{ secrets.WGER_API_KEY }}
|
||||
|
||||
- name: Build APK
|
||||
run: flutter build apk --release
|
||||
env:
|
||||
WGER_API_KEY: ${{ secrets.WGER_API_KEY }}
|
||||
|
||||
- name: Upload build to Play Store
|
||||
run: |
|
||||
bundle install
|
||||
bundle exec fastlane android production
|
||||
|
||||
- name: Make Github release
|
||||
uses: softprops/action-gh-release@v2
|
||||
with:
|
||||
tag_name: ${{ env.VERSION }}
|
||||
files: |
|
||||
build/app/outputs/bundle/release/app-release.aab
|
||||
build/app/outputs/flutter-apk/app-release.apk
|
||||
flatpak/scripts/flatpak_generator_exports/wger-linux-x86_64.tar.gz
|
||||
flatpak/scripts/flatpak_generator_exports/wger-linux-x86_64.sha256
|
||||
|
||||
- name: Generate flathub manifest
|
||||
run: |
|
||||
cd flatpak/scripts
|
||||
dart pub get
|
||||
dart manifest_generator.dart --meta ../flatpak_meta.json --github
|
||||
mkdir ../../flathub
|
||||
cp flatpak_generator_exports/de.wger.flutter.json ../../flathub
|
||||
cp flatpak_generator_exports/flathub.json ../../flathub
|
||||
|
||||
- name: Push updated config to flathub repository
|
||||
uses: cpina/github-action-push-to-another-repository@main
|
||||
env:
|
||||
SSH_DEPLOY_KEY: ${{ secrets.SSH_DEPLOY_KEY }}
|
||||
with:
|
||||
source-directory: flathub
|
||||
destination-github-username: wger-project
|
||||
destination-repository-name: de.wger.flutter
|
||||
user-email: github-actions@github.com
|
||||
target-branch: release-${{ env.VERSION }}
|
||||
create-target-branch-if-needed: true
|
||||
commit-message: Update to ${{ env.VERSION }}
|
||||
|
||||
# Note: the original tag that triggered the workflow is in the form vX.Y.Z
|
||||
# but the pubspec.yaml is committed in the commit after that one.
|
||||
# Since we need the tag to point to the correct commit for other workflows
|
||||
# such as f-droid we need a way to correct it. Only moving the tag
|
||||
# would not work, as it would trigger this workflow again. So as
|
||||
# a workaround, we use the v-tag to trigger this workflow, add a new
|
||||
# one without the v and push it.
|
||||
- name: Commit pubspec version and delete tag
|
||||
run: |
|
||||
git config user.name Github-Actions
|
||||
git config user.email github-actions@github.com
|
||||
git checkout -b release-${{ env.VERSION }}
|
||||
git add pubspec.yaml
|
||||
git commit -m "Bump version to $( flutter pub run cider version )"
|
||||
git push origin --delete ${{ env.VERSION_V }}
|
||||
git push --set-upstream origin release-${{ env.VERSION }}
|
||||
31
.github/workflows/build-windows.yml
vendored
Normal file
@@ -0,0 +1,31 @@
|
||||
name: Build Windows
|
||||
on:
|
||||
workflow_call:
|
||||
inputs:
|
||||
ref:
|
||||
required: true
|
||||
type: string
|
||||
jobs:
|
||||
# TODO: note that we currently only upload the .exe file, which is not
|
||||
# sufficient for a proper Windows release. See the documentation
|
||||
# for what would be necessary (low priority, but nice to have):
|
||||
# https://docs.flutter.dev/platform-integration/windows/building
|
||||
build_windows:
|
||||
name: Windows
|
||||
runs-on: windows-latest
|
||||
steps:
|
||||
- name: Checkout application
|
||||
uses: actions/checkout@v5
|
||||
with:
|
||||
ref: ${{ inputs.ref }}
|
||||
|
||||
- name: Common flutter setup
|
||||
uses: ./.github/actions/flutter-common
|
||||
|
||||
- name: Build .exe
|
||||
run: flutter build windows --release
|
||||
|
||||
- uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: builds-windows
|
||||
path: build\windows\x64\runner\Release\wger.exe
|
||||
57
.github/workflows/bump-version.yml
vendored
Normal file
@@ -0,0 +1,57 @@
|
||||
name: Bump version
|
||||
on:
|
||||
workflow_call:
|
||||
inputs:
|
||||
app_version:
|
||||
required: true
|
||||
type: string
|
||||
|
||||
jobs:
|
||||
determine_version:
|
||||
name: Create tag
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
|
||||
- name: Checkout application
|
||||
uses: actions/checkout@v5
|
||||
with:
|
||||
fetch-depth: 0 # needed to push changes
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Common flutter setup
|
||||
uses: ./.github/actions/flutter-common
|
||||
|
||||
- name: Setup uv
|
||||
uses: astral-sh/setup-uv@v7
|
||||
|
||||
- name: Validate version
|
||||
run: |
|
||||
RELEASE_VERSION="${{ inputs.app_version }}"
|
||||
if [[ ! "${{ inputs.app_version }}" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
|
||||
echo "Error: Input version '${{ inputs.app_version }}' is not in X.Y.Z format."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# In order to make sure the build number is the same across all platforms,
|
||||
# increase to the next multiple of 10. This is needed because the iOS process
|
||||
# is a bit more brittle and might need to be repeated if the App needs
|
||||
# to be re-submitted.
|
||||
- name: Bump pubspec version
|
||||
run: |
|
||||
CURRENT_BUILD=$(flutter pub run cider version | cut -d '+' -f 2)
|
||||
NEXT_BUILD=$(( (CURRENT_BUILD / 10 + 1) * 10 ))
|
||||
flutter pub run cider version ${{ inputs.app_version }}+${NEXT_BUILD}
|
||||
|
||||
- name: Bump flatpak version
|
||||
run: |
|
||||
cd flatpak
|
||||
uv run bump-flatpak-version.py ${{ inputs.app_version }}
|
||||
|
||||
- name: Tag release and commit pubspec
|
||||
run: |
|
||||
git config user.name Github-Actions
|
||||
git config user.email github-actions@github.com
|
||||
git add pubspec.yaml flatpak/de.wger.flutter.metainfo.xml
|
||||
git commit -m "Bump version to ${{ inputs.app_version }}"
|
||||
git tag ${{ inputs.app_version }}
|
||||
git push origin HEAD:master --tags
|
||||
31
.github/workflows/ci.yml
vendored
@@ -9,29 +9,32 @@ on:
|
||||
paths:
|
||||
- '**.dart'
|
||||
- 'pubspec.yaml'
|
||||
workflow_call:
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
test:
|
||||
name: Run tests
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/checkout@v5
|
||||
|
||||
- name: Install Flutter
|
||||
uses: subosito/flutter-action@v2
|
||||
with:
|
||||
cache: true
|
||||
channel: 'stable'
|
||||
flutter-version: '3.24.x'
|
||||
- name: Common flutter setup
|
||||
uses: ./.github/actions/flutter-common
|
||||
|
||||
- run: dart --version
|
||||
- run: flutter --version
|
||||
|
||||
- name: Install app dependencies
|
||||
run: flutter pub get
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
sudo apt install libsqlite3-dev lcov --no-install-recommends
|
||||
flutter pub get
|
||||
|
||||
# Removing some folders from the coverage since these files are not really
|
||||
# part of the app code and just get in the way of the report
|
||||
- name: Test app
|
||||
run: flutter test --coverage
|
||||
run: |
|
||||
flutter test --coverage
|
||||
lcov --remove coverage/lcov.info 'lib/l10n/generated/*' 'lib/theme/*' -o coverage/lcov.info
|
||||
|
||||
- name: Coveralls
|
||||
uses: coverallsapp/github-action@master
|
||||
uses: coverallsapp/github-action@v2
|
||||
with:
|
||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
2
.github/workflows/linter.yml.bak
vendored
@@ -26,7 +26,7 @@ jobs:
|
||||
run: flutter pub get
|
||||
|
||||
- name: Check for formatting issues (run "dart format . ")
|
||||
run: dart format --line-length=100 .
|
||||
run: dart format .
|
||||
|
||||
- name: Push a commit with the changed files
|
||||
continue-on-error: true
|
||||
|
||||
152
.github/workflows/make-release.yml
vendored
Normal file
@@ -0,0 +1,152 @@
|
||||
name: Build release artefacts
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
version:
|
||||
description: Version to tag and release (X.Y.Z)
|
||||
required: true
|
||||
type: string
|
||||
|
||||
jobs:
|
||||
|
||||
ci:
|
||||
name: CI
|
||||
uses: ./.github/workflows/ci.yml
|
||||
|
||||
determine_version:
|
||||
needs: ci
|
||||
name: Prepare
|
||||
uses: ./.github/workflows/bump-version.yml
|
||||
with:
|
||||
app_version: ${{ github.event.inputs.version }}
|
||||
|
||||
build_linux:
|
||||
name: Linux
|
||||
needs: determine_version
|
||||
uses: ./.github/workflows/build-linux.yml
|
||||
with:
|
||||
ref: ${{ github.event.inputs.version }}
|
||||
secrets:
|
||||
SSH_DEPLOY_KEY: ${{ secrets.SSH_DEPLOY_KEY }}
|
||||
|
||||
build_android:
|
||||
name: Android
|
||||
needs: determine_version
|
||||
uses: ./.github/workflows/build-android.yml
|
||||
with:
|
||||
ref: ${{ github.event.inputs.version }}
|
||||
secrets:
|
||||
DECRYPTKEY_PLAYSTORE_SIGNING_KEY: ${{ secrets.DECRYPTKEY_PLAYSTORE_SIGNING_KEY }}
|
||||
DECRYPTKEY_PROPERTIES: ${{ secrets.DECRYPTKEY_PROPERTIES }}
|
||||
|
||||
build_apple:
|
||||
name: Apple
|
||||
needs: determine_version
|
||||
uses: ./.github/workflows/build-apple.yml
|
||||
with:
|
||||
ref: ${{ github.event.inputs.version }}
|
||||
|
||||
build_windows:
|
||||
name: Microsoft
|
||||
needs: determine_version
|
||||
uses: ./.github/workflows/build-windows.yml
|
||||
with:
|
||||
ref: ${{ github.event.inputs.version }}
|
||||
|
||||
upload_play_store:
|
||||
name: Upload to Play Store
|
||||
runs-on: ubuntu-latest
|
||||
needs:
|
||||
- build_android
|
||||
- build_linux
|
||||
steps:
|
||||
- name: Checkout application
|
||||
uses: actions/checkout@v5
|
||||
with:
|
||||
ref: ${{ github.event.inputs.version }}
|
||||
|
||||
- name: Download builds
|
||||
uses: actions/download-artifact@v5
|
||||
with:
|
||||
path: /tmp/
|
||||
|
||||
- name: Setup Ruby
|
||||
uses: ruby/setup-ruby@v1
|
||||
with:
|
||||
ruby-version: 3.4
|
||||
|
||||
- name: Decrypt config files
|
||||
run: |
|
||||
cd ./fastlane/metadata/envfiles
|
||||
chmod +x ./decrypt_secrets.sh
|
||||
./decrypt_secrets.sh
|
||||
shell: bash
|
||||
env:
|
||||
DECRYPTKEY_PLAYSTORE: ${{ secrets.DECRYPTKEY_PLAYSTORE }}
|
||||
|
||||
- name: Upload build to Play Store
|
||||
run: |
|
||||
mkdir -p ./build/app/outputs/bundle/release/
|
||||
cp /tmp/builds-aab/app-release.aab ./build/app/outputs/bundle/release/app-release.aab
|
||||
bundle install
|
||||
bundle exec fastlane android production
|
||||
|
||||
#
|
||||
# This is currently commented out since the iOS upload are currently being handled
|
||||
# by the fastlane script in the ios folder. We use the account of pthaler for this
|
||||
# and he runs the script manually.
|
||||
#
|
||||
|
||||
# upload_app_store:
|
||||
# name: Upload to App Store (placeholder)
|
||||
# runs-on: ubuntu-latest
|
||||
# needs:
|
||||
# - build_android
|
||||
# - build_apple
|
||||
# steps:
|
||||
# - name: Checkout application
|
||||
# uses: actions/checkout@v5
|
||||
# with:
|
||||
# ref: feature/build-process
|
||||
# # ref: ${{ github.event.inputs.version }}
|
||||
#
|
||||
# - name: Common flutter setup
|
||||
# uses: ./.github/actions/flutter-common
|
||||
#
|
||||
# - name: Download builds
|
||||
# uses: actions/download-artifact@v5
|
||||
# with:
|
||||
# path: /tmp/
|
||||
#
|
||||
# - name: Upload build to App Store
|
||||
# run: |
|
||||
# # bundle exec fastlane todo
|
||||
|
||||
make_gh_release:
|
||||
name: Make Github Release
|
||||
runs-on: ubuntu-latest
|
||||
needs:
|
||||
- upload_play_store
|
||||
- build_linux
|
||||
- build_windows
|
||||
- build_apple
|
||||
|
||||
steps:
|
||||
- name: Download builds
|
||||
uses: actions/download-artifact@v5
|
||||
|
||||
- name: Make Github release
|
||||
uses: softprops/action-gh-release@v2
|
||||
with:
|
||||
generate_release_notes: true
|
||||
tag_name: ${{ inputs.version }}
|
||||
files: |
|
||||
builds-aab/app-release.aab
|
||||
builds-apk/app-release.apk
|
||||
builds-linux/linux-x64.tar.gz
|
||||
builds-ios/Runner.app.zip
|
||||
builds-ipa/Runner.xcarchive.zip
|
||||
builds-macos/wger.app.zip
|
||||
builds-windows/wger.exe
|
||||
|
||||
|
||||
18
.gitignore
vendored
@@ -30,12 +30,11 @@
|
||||
.pub-cache/
|
||||
.pub/
|
||||
/build/
|
||||
/**/build/
|
||||
/android/app/.cxx
|
||||
**/failures/*.png
|
||||
|
||||
|
||||
# Web related
|
||||
lib/generated_plugin_registrant.dart
|
||||
|
||||
# Symbolication related
|
||||
app.*.symbols
|
||||
|
||||
@@ -53,3 +52,16 @@ app.*.map.json
|
||||
# Others
|
||||
/vendor/bundle/ruby/
|
||||
/coverage/
|
||||
/lib/l10n/generated/
|
||||
|
||||
# ios build and fastlane
|
||||
ios/fastlane/.env
|
||||
ios/fastlane/*.p8
|
||||
ios/fastlane/test_output
|
||||
ios/fastlane/screenshots
|
||||
ios/fastlane/report.xml
|
||||
ios/fastlane/Preview.html
|
||||
ios/fastlane/output
|
||||
ios/Runner.ipa
|
||||
ios/Runner.app.dSYM.zip
|
||||
|
||||
|
||||
39
.metadata
@@ -4,7 +4,42 @@
|
||||
# This file should be version controlled and should not be manually edited.
|
||||
|
||||
version:
|
||||
revision: bbfbf1770cca2da7c82e887e4e4af910034800b6
|
||||
channel: stable
|
||||
revision: "8495dee1fd4aacbe9de707e7581203232f591b2f"
|
||||
channel: "stable"
|
||||
|
||||
project_type: app
|
||||
|
||||
# Tracks metadata for the flutter migrate command
|
||||
migration:
|
||||
platforms:
|
||||
- platform: root
|
||||
create_revision: 8495dee1fd4aacbe9de707e7581203232f591b2f
|
||||
base_revision: 8495dee1fd4aacbe9de707e7581203232f591b2f
|
||||
- platform: android
|
||||
create_revision: 8495dee1fd4aacbe9de707e7581203232f591b2f
|
||||
base_revision: 8495dee1fd4aacbe9de707e7581203232f591b2f
|
||||
- platform: ios
|
||||
create_revision: 8495dee1fd4aacbe9de707e7581203232f591b2f
|
||||
base_revision: 8495dee1fd4aacbe9de707e7581203232f591b2f
|
||||
- platform: linux
|
||||
create_revision: 8495dee1fd4aacbe9de707e7581203232f591b2f
|
||||
base_revision: 8495dee1fd4aacbe9de707e7581203232f591b2f
|
||||
- platform: macos
|
||||
create_revision: 8495dee1fd4aacbe9de707e7581203232f591b2f
|
||||
base_revision: 8495dee1fd4aacbe9de707e7581203232f591b2f
|
||||
- platform: web
|
||||
create_revision: 8495dee1fd4aacbe9de707e7581203232f591b2f
|
||||
base_revision: 8495dee1fd4aacbe9de707e7581203232f591b2f
|
||||
- platform: windows
|
||||
create_revision: 8495dee1fd4aacbe9de707e7581203232f591b2f
|
||||
base_revision: 8495dee1fd4aacbe9de707e7581203232f591b2f
|
||||
|
||||
# User provided section
|
||||
|
||||
# List of Local paths (relative to this file) that should be
|
||||
# ignored by the migrate tool.
|
||||
#
|
||||
# Files that are not part of the templates will be ignored by default.
|
||||
unmanaged_files:
|
||||
- 'lib/main.dart'
|
||||
- 'ios/Runner.xcodeproj/project.pbxproj'
|
||||
|
||||
2
.vscode/settings.json
vendored
@@ -1,4 +1,4 @@
|
||||
{
|
||||
"dart.lineLength": 100,
|
||||
"diffEditor.ignoreTrimWhitespace": true,
|
||||
"diffEditor.ignoreTrimWhitespace": true
|
||||
}
|
||||
|
||||
384
AUTHORS.md
@@ -1,81 +1,349 @@
|
||||
# Authors
|
||||
# Contributors and translators to this repository
|
||||
|
||||
## Developers
|
||||
Thank you all for contributing to the project, you are true heroes! 🫶
|
||||
|
||||
- Jigar Prajapati - <https://github.com/Jiggy9>
|
||||
- Roland Geider – <https://github.com/rolandgeider>
|
||||
- Dylan Aird - <https://github.com/Dolaned>
|
||||
- Jannik Norden - <https://github.com/Jannik-dev>
|
||||
- Arun Muralidharan - <https://github.com/arun-muralidharan>
|
||||
- Khushbu Bora - <https://github.com/KhushbuBora>
|
||||
- Patrick Witter - <https://github.com/patrickwitter>
|
||||
- Tomer Ben-Rachel - <https://github.com/tomerpacific>
|
||||
- Thilina Herath - <https://github.com/ThilinaTCH>
|
||||
- Marko Milosevic - <https://github.com/TaarnStar>
|
||||
- Karthik Reddy (Axel) - <https://github.com/AxelBlaz3>
|
||||
- Ogundoyin Toluwani - <https://github.com/Tolu007>
|
||||
- Nenza Nurfirmansyah - <https://github.com/nenzan>
|
||||
- Florian Schmitz - <https://github.com/floodoo>
|
||||
- Adam Bujdoš - <https://github.com/bujdy>
|
||||
- Aman Negi - <https://github.com/AmanNegi>
|
||||
- Sandi Milohanic - <https://github.com/sandimilohanic>
|
||||
- Miroslav Mazel - <https://gitlab.com/12people>
|
||||
- artchiee - <https://github.com/artchiee>
|
||||
- Tejas Bir Singh - <https://github.com/tejasbirsingh>
|
||||
- Abhishek Saini - <https://github.com/Abhisheksainii>
|
||||
- Hanaa Allohibi - <https://github.com/hn-n>
|
||||
- Shey Alnasrawi - <https://github.com/Milksheyke>
|
||||
- Costas Korai - <https://github.com/watcher6280>
|
||||
- Bassam Mutairi - <https://github.com/mutairibassam>
|
||||
- Dieter Plaetinck - <https://github.com/Dieterbe>
|
||||
- Dennis van Peer - <https://github.com/Denpeer>
|
||||
- sizzlesloth - <https://github.com/sizzlesloth>
|
||||
## Contributors
|
||||
|
||||
- thisisyoussef - [https://github.com/thisisyoussef](https://github.com/thisisyoussef)
|
||||
- Roland Geider - [https://github.com/rolandgeider](https://github.com/rolandgeider)
|
||||
- Yashas H Majmudar - [https://github.com/yashas-hm](https://github.com/yashas-hm)
|
||||
- Github-actions - [https://github.com/invalid-email-address](https://github.com/invalid-email-address)
|
||||
- Christijan - [https://github.com/ChrispyM](https://github.com/ChrispyM)
|
||||
- Jackpkn - [https://github.com/Jackpkn](https://github.com/Jackpkn)
|
||||
- sangharshdeveloper - [https://github.com/Sangharshdeveloper](https://github.com/Sangharshdeveloper)
|
||||
- ImgBotApp - [https://github.com/ImgBotApp](https://github.com/ImgBotApp)
|
||||
- தமிழ்நேரம் - [https://github.com/TamilNeram](https://github.com/TamilNeram)
|
||||
- Xianglin Zeng - [https://github.com/FutureYL3](https://github.com/FutureYL3)
|
||||
- Arya Pratap Singh - [https://github.com/ARYPROGRAMMER](https://github.com/ARYPROGRAMMER)
|
||||
- ARYPROGRAMMER - [https://github.com/ARYPROGRAMMER](https://github.com/ARYPROGRAMMER)
|
||||
- Dieter Plaetinck - [https://github.com/Dieterbe](https://github.com/Dieterbe)
|
||||
- szalas - [https://github.com/szalas](https://github.com/szalas)
|
||||
- dan - [https://github.com/sizzlesloth](https://github.com/sizzlesloth)
|
||||
- DVPeer - [https://github.com/Denpeer](https://github.com/Denpeer)
|
||||
- Marco Rimoldi - [https://github.com/marcor](https://github.com/marcor)
|
||||
- Licaon_Kter - [https://github.com/licaon-kter](https://github.com/licaon-kter)
|
||||
- Bassam A - [https://github.com/mutairibassam](https://github.com/mutairibassam)
|
||||
- Costas Korai
|
||||
- null - [https://github.com/hn-n](https://github.com/hn-n)
|
||||
- Miroslav Mazel
|
||||
- Milksheyke - [https://github.com/sheyaln](https://github.com/sheyaln)
|
||||
- Abhishek Saini - [https://github.com/Abhisheksainii](https://github.com/Abhisheksainii)
|
||||
- dimii27 - [https://github.com/dimii27](https://github.com/dimii27)
|
||||
- Antonis-geo - [https://github.com/Antonis-geo](https://github.com/Antonis-geo)
|
||||
- artchiee - [https://github.com/artchiee](https://github.com/artchiee)
|
||||
- artchiee - [https://github.com/artchiee](https://github.com/artchiee)
|
||||
- Jigar Prajapati - [https://github.com/Jiggy9](https://github.com/Jiggy9)
|
||||
- Dalton Scavassa
|
||||
- Jigar - [https://github.com/Jiggy9](https://github.com/Jiggy9)
|
||||
- Deepanshu - [https://github.com/Deepanshu-Sharma-18](https://github.com/Deepanshu-Sharma-18)
|
||||
- tejasbirsingh - [https://github.com/tejasbirsingh](https://github.com/tejasbirsingh)
|
||||
- Freddy Cunningham - [https://github.com/freddy-c](https://github.com/freddy-c)
|
||||
- Freddy Cunningham - [https://github.com/freddy-c](https://github.com/freddy-c)
|
||||
- Malay Pandit - [https://github.com/DeveloperMalay](https://github.com/DeveloperMalay)
|
||||
- Mirek Mazel - [https://github.com/12people](https://github.com/12people)
|
||||
- Miroslav Mazel
|
||||
- Roman Kalivoda - [https://github.com/RKCZ](https://github.com/RKCZ)
|
||||
- Tiisetso Dinoko - [https://github.com/Dinokojt7](https://github.com/Dinokojt7)
|
||||
- Harshit - [https://github.com/Harshit933](https://github.com/Harshit933)
|
||||
- Harshit - [https://github.com/Harshit933](https://github.com/Harshit933)
|
||||
- Raman Tank - [https://github.com/raman04-byte](https://github.com/raman04-byte)
|
||||
- Mohammad Rafigh - [https://github.com/mohammadrafigh](https://github.com/mohammadrafigh)
|
||||
- Edmundo Meyer - [https://github.com/e-meyer](https://github.com/e-meyer)
|
||||
- Bujdy - [https://github.com/bujdy](https://github.com/bujdy)
|
||||
- amannegi - [https://github.com/AmanNegi](https://github.com/AmanNegi)
|
||||
- Aman Negi - [https://github.com/AmanNegi](https://github.com/AmanNegi)
|
||||
- Aaliya Ali - [https://github.com/Aaliya-Ali](https://github.com/Aaliya-Ali)
|
||||
- Aaliya Ali - [https://github.com/Aaliya-Ali](https://github.com/Aaliya-Ali)
|
||||
- Sandi Milohanic
|
||||
- Hissabat Manager - [https://github.com/Chinguetti-Quizz](https://github.com/Chinguetti-Quizz)
|
||||
- Nenza Nurfirmansyah - [https://github.com/nenzan](https://github.com/nenzan)
|
||||
- Vinod - [https://github.com/skdotv](https://github.com/skdotv)
|
||||
- Aditya - [https://github.com/adeeteya](https://github.com/adeeteya)
|
||||
- JustinBenito - [https://github.com/JustinBenito](https://github.com/JustinBenito)
|
||||
- Florian Schmitz - [https://github.com/floodoo](https://github.com/floodoo)
|
||||
- avinash - [https://github.com/HeyAvi](https://github.com/HeyAvi)
|
||||
- Tolu ogundoyin - [https://github.com/Tolu007](https://github.com/Tolu007)
|
||||
- Daniil Kovalev - [https://github.com/kovdan01](https://github.com/kovdan01)
|
||||
- Saint Gabriel - [https://github.com/saintgabriel0](https://github.com/saintgabriel0)
|
||||
- Artem - [https://github.com/defaultpage](https://github.com/defaultpage)
|
||||
- WMs784 - [https://github.com/WMs784](https://github.com/WMs784)
|
||||
- KenXRan - [https://github.com/kenxran](https://github.com/kenxran)
|
||||
- João Goulart - [https://github.com/usehalter](https://github.com/usehalter)
|
||||
- yaseenagwan - [https://github.com/agwanyaseen](https://github.com/agwanyaseen)
|
||||
- G. Buendía - [https://github.com/gbuendia](https://github.com/gbuendia)
|
||||
- Sylvia van Os - [https://github.com/TheLastProject](https://github.com/TheLastProject)
|
||||
- Debayan Sutradhar - [https://github.com/rnayabed](https://github.com/rnayabed)
|
||||
- Poussinou - [https://github.com/Poussinou](https://github.com/Poussinou)
|
||||
- Nikita Epifanov
|
||||
- Ady - [https://github.com/adyhnat](https://github.com/adyhnat)
|
||||
- Adrian Halko
|
||||
- Tomáš Konkoľ - [https://github.com/TomasKonkol](https://github.com/TomasKonkol)
|
||||
- Marko Milosevic - [https://github.com/TaarnStar](https://github.com/TaarnStar)
|
||||
- Sandi Milohanić - [https://github.com/sandimilohanic](https://github.com/sandimilohanic)
|
||||
- AxelBlaz3 - [https://github.com/AxelBlaz3](https://github.com/AxelBlaz3)
|
||||
- Marvin M - [https://github.com/M123-dev](https://github.com/M123-dev)
|
||||
- himikat89 - [https://github.com/himikat89](https://github.com/himikat89)
|
||||
- infiniteoverflow - [https://github.com/infiniteoverflow](https://github.com/infiniteoverflow)
|
||||
- Tomer Ben Rachel - [https://github.com/TomerPacific](https://github.com/TomerPacific)
|
||||
- Thilina TCH - [https://github.com/ThilinaTCH](https://github.com/ThilinaTCH)
|
||||
- Thilina Herath - [https://github.com/thilinatnt](https://github.com/thilinatnt)
|
||||
- ToldYouThat
|
||||
- Yair Chen - [https://github.com/chenyair](https://github.com/chenyair)
|
||||
- henok3878 - [https://github.com/henok3878](https://github.com/henok3878)
|
||||
- Patrick Witter - [https://github.com/patrickwitter](https://github.com/patrickwitter)
|
||||
- ton-An - [https://github.com/ton-An](https://github.com/ton-An)
|
||||
- Prakash Shekhar - [https://github.com/prakash-shekhar](https://github.com/prakash-shekhar)
|
||||
- Khushbu Bora - [https://github.com/KhushbuBora](https://github.com/KhushbuBora)
|
||||
- Arun Muralidharan - [https://github.com/arun-muralidharan](https://github.com/arun-muralidharan)
|
||||
- yiter
|
||||
- Henio Szewczyk - [https://github.com/hszewczyk](https://github.com/hszewczyk)
|
||||
- Jannik Norden
|
||||
- Allan Nordhøy - [https://github.com/comradekingu](https://github.com/comradekingu)
|
||||
- Stefano Rossi - [https://github.com/stefanorossiti](https://github.com/stefanorossiti)
|
||||
- Dylan Aird - [https://github.com/Dolaned](https://github.com/Dolaned)
|
||||
|
||||
## Translators
|
||||
|
||||
- Saudi Arabian
|
||||
- Hanaa Allohibi <Gmail: programmerHanaa>
|
||||
### Chinese (Traditional Han script)
|
||||
|
||||
- German
|
||||
- Peter Dave Hello - [https://github.com/PeterDaveHello](https://github.com/PeterDaveHello)
|
||||
|
||||
- mondstern <mondstern@snopyta.org> (2)
|
||||
- J. Lavoie <j.lavoie@net-c.ca> (19)
|
||||
- Roland Geider <roland@geider.net> (142)
|
||||
### Polish
|
||||
|
||||
- English
|
||||
- Karol Solecki - [https://github.com/karolsol](https://github.com/karolsol)
|
||||
- Piotr Strebski - [https://github.com/strebski](https://github.com/strebski)
|
||||
- Dawid Panyło
|
||||
- Anonymous - [https://github.com/weblate](https://github.com/weblate)
|
||||
- Marcin Schoenknecht
|
||||
- Patryk - [https://github.com/byakurau](https://github.com/byakurau)
|
||||
- Michał Homza - [https://github.com/HagiaHaya](https://github.com/HagiaHaya)
|
||||
- Jacob - [https://github.com/devzom](https://github.com/devzom)
|
||||
|
||||
- Roland Geider <roland@geider.net> (3)
|
||||
- Allan Nordhøy <epost@anotheragency.no> (8)
|
||||
### Serbian
|
||||
|
||||
- Italian
|
||||
- Mladen Trišić - [https://github.com/mtrisic](https://github.com/mtrisic)
|
||||
|
||||
- mondstern <mondstern@snopyta.org> (2)
|
||||
- DT <semperpeppe@tracciabi.li> (4)
|
||||
- J. Lavoie <j.lavoie@net-c.ca> (24)
|
||||
- Stefano Rossi <stefanorossi.ti@gmail.com> (120)
|
||||
### Dutch
|
||||
|
||||
- Spanish
|
||||
- Joey Haalboom - [https://github.com/JoeyHaalboom](https://github.com/JoeyHaalboom)
|
||||
|
||||
- Roland Geider <roland@geider.net> (1)
|
||||
- martingetzel <martingetzel@gmail.com> (119)
|
||||
### Russian
|
||||
|
||||
- French
|
||||
- Алексей Курышко - [https://github.com/alexkuryshko](https://github.com/alexkuryshko)
|
||||
- lightningcpu - [https://github.com/lightningcpu](https://github.com/lightningcpu)
|
||||
- Кирилл Александрович Злобин - [https://github.com/gungstarbeiter](https://github.com/gungstarbeiter)
|
||||
- Ivan Katkov - [https://github.com/Porphyrion](https://github.com/Porphyrion)
|
||||
- Nikita Epifanov
|
||||
|
||||
- J. Lavoie <j.lavoie@net-c.ca> (92)
|
||||
- Stefano Rossi <stefanorossi.ti@gmail.com> (94)
|
||||
### Croatian
|
||||
|
||||
- Norwegian Bokmål
|
||||
- Milo Ivir - [https://github.com/milotype](https://github.com/milotype)
|
||||
- Roland Geider - [https://github.com/rolandgeider](https://github.com/rolandgeider)
|
||||
- SMilohanic - [https://github.com/sandimilohanic](https://github.com/sandimilohanic)
|
||||
|
||||
- Allan Nordhøy <epost@anotheragency.no> (98)
|
||||
### Portuguese
|
||||
|
||||
- Japanese
|
||||
- Edson Wolf - [https://github.com/edsonblwolf](https://github.com/edsonblwolf)
|
||||
- Anonymous - [https://github.com/weblate](https://github.com/weblate)
|
||||
- Wilton Rodrigues
|
||||
- Guilherme Salomão - [https://github.com/salomaoparkour](https://github.com/salomaoparkour)
|
||||
- Bruno de Moura - [https://github.com/bruunomooura](https://github.com/bruunomooura)
|
||||
- Dalton Scavassa
|
||||
- Stefan Taiguara - [https://github.com/Teitei011](https://github.com/Teitei011)
|
||||
- Eduardo Menges Mattje - [https://github.com/EduMenges](https://github.com/EduMenges)
|
||||
- Edu Cavalheiro - [https://github.com/EduCavalheiro](https://github.com/EduCavalheiro)
|
||||
- João Goulart - [https://github.com/usehalter](https://github.com/usehalter)
|
||||
|
||||
- Kosei TANAKA <wms784.app@gmail.com> (97)
|
||||
### Italian
|
||||
|
||||
- Bahasa Indonesia
|
||||
- Antenore Gatta - [https://github.com/antenore](https://github.com/antenore)
|
||||
- Gab Gat
|
||||
- Anonymous - [https://github.com/weblate](https://github.com/weblate)
|
||||
- Federico Pierantoni - [https://github.com/F3FFO](https://github.com/F3FFO)
|
||||
- oarion - [https://github.com/oarion](https://github.com/oarion)
|
||||
- Alessandro Faucci - [https://github.com/Dhy19971](https://github.com/Dhy19971)
|
||||
- Sfizio Purea
|
||||
- Mirko Ferrati - [https://github.com/MirkoFerrati](https://github.com/MirkoFerrati)
|
||||
- Stefano Camillo - [https://github.com/djste](https://github.com/djste)
|
||||
- MARCO ACORTE - [https://github.com/marco-acorte](https://github.com/marco-acorte)
|
||||
- J. Lavoie
|
||||
- DT
|
||||
- mondstern
|
||||
- Stefano Rossi - [https://github.com/stefanorossiti](https://github.com/stefanorossiti)
|
||||
|
||||
- Nenza Nurfirmansyah <nnurfirmansyah@gmail.com> (73)
|
||||
### French
|
||||
|
||||
- Croatian
|
||||
- William - [https://github.com/WilliamR312](https://github.com/WilliamR312)
|
||||
- florent4014 - [https://github.com/florent4014](https://github.com/florent4014)
|
||||
- Anonymous - [https://github.com/weblate](https://github.com/weblate)
|
||||
- Xav Basco
|
||||
- David Olewski - [https://github.com/Arigowin](https://github.com/Arigowin)
|
||||
- yoyomax80400 - [https://github.com/yoyomax80400](https://github.com/yoyomax80400)
|
||||
- loued - [https://github.com/Loued](https://github.com/Loued)
|
||||
- Célian
|
||||
- MrSniikyz - [https://github.com/BabyGeek](https://github.com/BabyGeek)
|
||||
- Roland Geider - [https://github.com/rolandgeider](https://github.com/rolandgeider)
|
||||
- J. Lavoie
|
||||
- Antoine Vibien - [https://github.com/r1llettes](https://github.com/r1llettes)
|
||||
- Stefano Rossi - [https://github.com/stefanorossiti](https://github.com/stefanorossiti)
|
||||
|
||||
- Sandi Milohaic <sandi.milohanic@gmail.com>
|
||||
### Ukrainian
|
||||
|
||||
- Максим Горпиніч - [https://github.com/Maksim2005UA](https://github.com/Maksim2005UA)
|
||||
- Roland Geider - [https://github.com/rolandgeider](https://github.com/rolandgeider)
|
||||
- Максим Горпиніч
|
||||
- Anonymous - [https://github.com/weblate](https://github.com/weblate)
|
||||
- Dan - [https://github.com/Kefir2105](https://github.com/Kefir2105)
|
||||
- Dan
|
||||
- Tymofii Lytvynenko
|
||||
- Artem - [https://github.com/defaultpage](https://github.com/defaultpage)
|
||||
|
||||
### Portuguese (Brazil)
|
||||
|
||||
- Ricardo Lima - [https://github.com/rhrlima](https://github.com/rhrlima)
|
||||
- Clerton Araujo - [https://github.com/clertonraf](https://github.com/clertonraf)
|
||||
- Anonymous - [https://github.com/weblate](https://github.com/weblate)
|
||||
- Wilton Rodrigues
|
||||
- Nao interessa
|
||||
- Lucas Mezêncio - [https://github.com/lucasmezencio](https://github.com/lucasmezencio)
|
||||
- Felipe Antônio Rodrigues Cardoso
|
||||
- Luigi Henrick Feitoza Silva - [https://github.com/luigihenrick](https://github.com/luigihenrick)
|
||||
- João Hortêncio Moraes - [https://github.com/joaohortencio](https://github.com/joaohortencio)
|
||||
|
||||
### Tamil
|
||||
|
||||
- தமிழ்நேரம் - [https://github.com/TamilNeram](https://github.com/TamilNeram)
|
||||
|
||||
### Chinese (Simplified Han script)
|
||||
|
||||
- Herb Huang
|
||||
|
||||
### Hindi
|
||||
|
||||
- pavan arun bagwe - [https://github.com/pavanb0](https://github.com/pavanb0)
|
||||
- Anonymous - [https://github.com/weblate](https://github.com/weblate)
|
||||
- Debayan Sutradhar - [https://github.com/rnayabed](https://github.com/rnayabed)
|
||||
|
||||
### Turkish
|
||||
|
||||
- Oğuz Ersen - [https://github.com/oersen](https://github.com/oersen)
|
||||
- Roland Geider - [https://github.com/rolandgeider](https://github.com/rolandgeider)
|
||||
- Cem Avcı - [https://github.com/cem256](https://github.com/cem256)
|
||||
- Oğuz Ersen
|
||||
- Cenk Cidecio - [https://github.com/ccidecio](https://github.com/ccidecio)
|
||||
- ToldYouThat
|
||||
|
||||
### German
|
||||
|
||||
- kvnrmnn - [https://github.com/rmnn92](https://github.com/rmnn92)
|
||||
- Anonymous - [https://github.com/weblate](https://github.com/weblate)
|
||||
- Roland Geider - [https://github.com/rolandgeider](https://github.com/rolandgeider)
|
||||
- Victor Jouhoff - [https://github.com/jouhoffv](https://github.com/jouhoffv)
|
||||
- m4skedbyte
|
||||
- Axel Steinbrecher
|
||||
- Christoph Suesser - [https://github.com/TheFitzZZ](https://github.com/TheFitzZZ)
|
||||
- Luis Lüscher - [https://github.com/lslschr](https://github.com/lslschr)
|
||||
- mondstern
|
||||
- J. Lavoie
|
||||
- Marvin M - [https://github.com/M123-dev](https://github.com/M123-dev)
|
||||
- Lydia
|
||||
- Allan Nordhøy - [https://github.com/comradekingu](https://github.com/comradekingu)
|
||||
|
||||
### Indonesian
|
||||
|
||||
- aryakdaniswara - [https://github.com/aryakdaniswara](https://github.com/aryakdaniswara)
|
||||
- Anonymous - [https://github.com/weblate](https://github.com/weblate)
|
||||
- Debi Maulana Ahsan Halla
|
||||
- Roland Geider - [https://github.com/rolandgeider](https://github.com/rolandgeider)
|
||||
|
||||
### Catalan
|
||||
|
||||
- Zixu Sun - [https://github.com/ziixu](https://github.com/ziixu)
|
||||
- Anonymous - [https://github.com/weblate](https://github.com/weblate)
|
||||
- guillem - [https://github.com/gbuendia](https://github.com/gbuendia)
|
||||
|
||||
### Chinese (Simplified)
|
||||
|
||||
- 纪颖志 - [https://github.com/jiyingzhi](https://github.com/jiyingzhi)
|
||||
- Yi-Han Hsiung - [https://github.com/AaronHsiung](https://github.com/AaronHsiung)
|
||||
- Tsz Hong CHAN - [https://github.com/tomyan112](https://github.com/tomyan112)
|
||||
- Eddie Tang - [https://github.com/EDED2314](https://github.com/EDED2314)
|
||||
- Jing - [https://github.com/jingcheng16](https://github.com/jingcheng16)
|
||||
- sr-c - [https://github.com/sr-c](https://github.com/sr-c)
|
||||
- tony - [https://github.com/tonyxxliu](https://github.com/tonyxxliu)
|
||||
- yiter
|
||||
|
||||
### Greek
|
||||
|
||||
- Dimitrys Meliates
|
||||
- Antonis-geo - [https://github.com/Antonis-geo](https://github.com/Antonis-geo)
|
||||
|
||||
### Czech
|
||||
|
||||
- Fjuro - [https://github.com/Fjuro](https://github.com/Fjuro)
|
||||
- Fjuro
|
||||
- CaptainDolphy - [https://github.com/CaptainDolphy](https://github.com/CaptainDolphy)
|
||||
- Roman Kalivoda - [https://github.com/RKCZ](https://github.com/RKCZ)
|
||||
|
||||
### Arabic
|
||||
|
||||
- Anonymous - [https://github.com/weblate](https://github.com/weblate)
|
||||
- Hanaa - [https://github.com/hn-n](https://github.com/hn-n)
|
||||
- Ahmed zein - [https://github.com/Ahmed-Zein](https://github.com/Ahmed-Zein)
|
||||
|
||||
### Hebrew
|
||||
|
||||
- Anonymous - [https://github.com/weblate](https://github.com/weblate)
|
||||
- n,rdo
|
||||
- Tomer Ben Rachel - [https://github.com/TomerPacific](https://github.com/TomerPacific)
|
||||
|
||||
### Japanese
|
||||
|
||||
- Anonymous - [https://github.com/weblate](https://github.com/weblate)
|
||||
- Tsz Hong CHAN - [https://github.com/tomyan112](https://github.com/tomyan112)
|
||||
- sasukeiscool - [https://github.com/sasukeiscool](https://github.com/sasukeiscool)
|
||||
- yiter
|
||||
|
||||
### Spanish
|
||||
|
||||
- Anonymous - [https://github.com/weblate](https://github.com/weblate)
|
||||
- Roberto Iglesias - [https://github.com/iglesiasroberto14](https://github.com/iglesiasroberto14)
|
||||
- c06c3abb8f
|
||||
- Javier - [https://github.com/dysk0zero](https://github.com/dysk0zero)
|
||||
- facu-d - [https://github.com/facu-d](https://github.com/facu-d)
|
||||
- Biologia Libros - [https://github.com/bio201922](https://github.com/bio201922)
|
||||
- guillem - [https://github.com/gbuendia](https://github.com/gbuendia)
|
||||
- Chris Klempau - [https://github.com/yoinkers1337](https://github.com/yoinkers1337)
|
||||
- Roland Geider - [https://github.com/rolandgeider](https://github.com/rolandgeider)
|
||||
- martingetzel - [https://github.com/martingetzel](https://github.com/martingetzel)
|
||||
|
||||
### Chinese (Traditional)
|
||||
|
||||
- hugoalh
|
||||
- Tsz Hong CHAN - [https://github.com/tomyan112](https://github.com/tomyan112)
|
||||
- Chung-Wei Chung - [https://github.com/webb790709](https://github.com/webb790709)
|
||||
- HY Cheng
|
||||
|
||||
### Portuguese (Portugal)
|
||||
|
||||
- Anonymous - [https://github.com/weblate](https://github.com/weblate)
|
||||
|
||||
### Romanian
|
||||
|
||||
- Bogdan Bujor - [https://github.com/qSharpy](https://github.com/qSharpy)
|
||||
- dimii27 - [https://github.com/dimii27](https://github.com/dimii27)
|
||||
|
||||
### English
|
||||
|
||||
- guillem - [https://github.com/gbuendia](https://github.com/gbuendia)
|
||||
- Allan Nordhøy - [https://github.com/comradekingu](https://github.com/comradekingu)
|
||||
- Roland Geider - [https://github.com/rolandgeider](https://github.com/rolandgeider)
|
||||
|
||||
### Norwegian Bokmål
|
||||
|
||||
- Roland Geider - [https://github.com/rolandgeider](https://github.com/rolandgeider)
|
||||
- Allan Nordhøy - [https://github.com/comradekingu](https://github.com/comradekingu)
|
||||
|
||||
### Amharic
|
||||
|
||||
- henok3878 - [https://github.com/henok3878](https://github.com/henok3878)
|
||||
|
||||
4
Gemfile
@@ -1,5 +1,9 @@
|
||||
source "https://rubygems.org"
|
||||
|
||||
gem "fastlane"
|
||||
gem 'logger'
|
||||
gem 'mutex_m'
|
||||
gem 'abbrev'
|
||||
|
||||
plugins_path = File.join(File.dirname(__FILE__), 'fastlane', 'Pluginfile')
|
||||
eval_gemfile(plugins_path) if File.exist?(plugins_path)
|
||||
|
||||
112
Gemfile.lock
@@ -5,41 +5,46 @@ GEM
|
||||
base64
|
||||
nkf
|
||||
rexml
|
||||
abbrev (0.1.2)
|
||||
addressable (2.8.7)
|
||||
public_suffix (>= 2.0.2, < 7.0)
|
||||
artifactory (3.0.17)
|
||||
atomos (0.1.3)
|
||||
aws-eventstream (1.3.0)
|
||||
aws-partitions (1.960.0)
|
||||
aws-sdk-core (3.201.3)
|
||||
aws-eventstream (1.4.0)
|
||||
aws-partitions (1.1163.0)
|
||||
aws-sdk-core (3.232.0)
|
||||
aws-eventstream (~> 1, >= 1.3.0)
|
||||
aws-partitions (~> 1, >= 1.651.0)
|
||||
aws-sigv4 (~> 1.8)
|
||||
aws-partitions (~> 1, >= 1.992.0)
|
||||
aws-sigv4 (~> 1.9)
|
||||
base64
|
||||
bigdecimal
|
||||
jmespath (~> 1, >= 1.6.1)
|
||||
aws-sdk-kms (1.88.0)
|
||||
aws-sdk-core (~> 3, >= 3.201.0)
|
||||
logger
|
||||
aws-sdk-kms (1.112.0)
|
||||
aws-sdk-core (~> 3, >= 3.231.0)
|
||||
aws-sigv4 (~> 1.5)
|
||||
aws-sdk-s3 (1.156.0)
|
||||
aws-sdk-core (~> 3, >= 3.201.0)
|
||||
aws-sdk-s3 (1.199.0)
|
||||
aws-sdk-core (~> 3, >= 3.231.0)
|
||||
aws-sdk-kms (~> 1)
|
||||
aws-sigv4 (~> 1.5)
|
||||
aws-sigv4 (1.9.1)
|
||||
aws-sigv4 (1.12.1)
|
||||
aws-eventstream (~> 1, >= 1.0.2)
|
||||
babosa (1.0.4)
|
||||
base64 (0.2.0)
|
||||
base64 (0.3.0)
|
||||
bigdecimal (3.2.3)
|
||||
claide (1.1.0)
|
||||
colored (1.2)
|
||||
colored2 (3.1.2)
|
||||
commander (4.6.0)
|
||||
highline (~> 2.0.0)
|
||||
declarative (0.0.20)
|
||||
digest-crc (0.6.5)
|
||||
digest-crc (0.7.0)
|
||||
rake (>= 12.0.0, < 14.0.0)
|
||||
domain_name (0.6.20240107)
|
||||
dotenv (2.8.1)
|
||||
emoji_regex (3.2.3)
|
||||
excon (0.111.0)
|
||||
faraday (1.10.3)
|
||||
excon (0.112.0)
|
||||
faraday (1.10.4)
|
||||
faraday-em_http (~> 1.0)
|
||||
faraday-em_synchrony (~> 1.0)
|
||||
faraday-excon (~> 1.1)
|
||||
@@ -55,20 +60,20 @@ GEM
|
||||
faraday (>= 0.8.0)
|
||||
http-cookie (~> 1.0.0)
|
||||
faraday-em_http (1.0.0)
|
||||
faraday-em_synchrony (1.0.0)
|
||||
faraday-em_synchrony (1.0.1)
|
||||
faraday-excon (1.1.0)
|
||||
faraday-httpclient (1.0.1)
|
||||
faraday-multipart (1.0.4)
|
||||
multipart-post (~> 2)
|
||||
faraday-multipart (1.1.1)
|
||||
multipart-post (~> 2.0)
|
||||
faraday-net_http (1.0.2)
|
||||
faraday-net_http_persistent (1.2.0)
|
||||
faraday-patron (1.0.0)
|
||||
faraday-rack (1.0.0)
|
||||
faraday-retry (1.0.3)
|
||||
faraday_middleware (1.2.0)
|
||||
faraday_middleware (1.2.1)
|
||||
faraday (~> 1.0)
|
||||
fastimage (2.3.1)
|
||||
fastlane (2.222.0)
|
||||
fastimage (2.4.0)
|
||||
fastlane (2.228.0)
|
||||
CFPropertyList (>= 2.3, < 4.0.0)
|
||||
addressable (>= 2.8, < 3.0.0)
|
||||
artifactory (~> 3.0)
|
||||
@@ -84,6 +89,7 @@ GEM
|
||||
faraday-cookie_jar (~> 0.0.6)
|
||||
faraday_middleware (~> 1.0)
|
||||
fastimage (>= 2.1.0, < 3.0.0)
|
||||
fastlane-sirp (>= 1.0.0)
|
||||
gh_inspector (>= 1.1.2, < 2.0.0)
|
||||
google-apis-androidpublisher_v3 (~> 0.3)
|
||||
google-apis-playcustomapp_v1 (~> 0.1)
|
||||
@@ -107,9 +113,11 @@ GEM
|
||||
tty-spinner (>= 0.8.0, < 1.0.0)
|
||||
word_wrap (~> 1.0.0)
|
||||
xcodeproj (>= 1.13.0, < 2.0.0)
|
||||
xcpretty (~> 0.3.0)
|
||||
xcpretty (~> 0.4.1)
|
||||
xcpretty-travis-formatter (>= 0.0.3, < 2.0.0)
|
||||
fastlane-plugin-versioning (0.5.2)
|
||||
fastlane-plugin-versioning (0.7.1)
|
||||
fastlane-sirp (1.0.0)
|
||||
sysrandom (~> 1.0)
|
||||
gh_inspector (1.1.3)
|
||||
google-apis-androidpublisher_v3 (0.54.0)
|
||||
google-apis-core (>= 0.11.0, < 2.a)
|
||||
@@ -127,12 +135,12 @@ GEM
|
||||
google-apis-core (>= 0.11.0, < 2.a)
|
||||
google-apis-storage_v1 (0.31.0)
|
||||
google-apis-core (>= 0.11.0, < 2.a)
|
||||
google-cloud-core (1.7.0)
|
||||
google-cloud-core (1.8.0)
|
||||
google-cloud-env (>= 1.0, < 3.a)
|
||||
google-cloud-errors (~> 1.0)
|
||||
google-cloud-env (1.6.0)
|
||||
faraday (>= 0.17.3, < 3.0)
|
||||
google-cloud-errors (1.4.0)
|
||||
google-cloud-errors (1.5.0)
|
||||
google-cloud-storage (1.47.0)
|
||||
addressable (~> 2.8)
|
||||
digest-crc (~> 0.4)
|
||||
@@ -148,45 +156,47 @@ GEM
|
||||
os (>= 0.9, < 2.0)
|
||||
signet (>= 0.16, < 2.a)
|
||||
highline (2.0.3)
|
||||
http-cookie (1.0.6)
|
||||
http-cookie (1.0.8)
|
||||
domain_name (~> 0.5)
|
||||
httpclient (2.8.3)
|
||||
httpclient (2.9.0)
|
||||
mutex_m
|
||||
jmespath (1.6.2)
|
||||
json (2.7.2)
|
||||
jwt (2.8.2)
|
||||
json (2.15.0)
|
||||
jwt (2.10.2)
|
||||
base64
|
||||
logger (1.7.0)
|
||||
mini_magick (4.13.2)
|
||||
mini_mime (1.1.5)
|
||||
multi_json (1.15.0)
|
||||
multi_json (1.17.0)
|
||||
multipart-post (2.4.1)
|
||||
nanaimo (0.3.0)
|
||||
naturally (2.2.1)
|
||||
mutex_m (0.3.0)
|
||||
nanaimo (0.4.0)
|
||||
naturally (2.3.0)
|
||||
nkf (0.2.0)
|
||||
optparse (0.5.0)
|
||||
optparse (0.6.0)
|
||||
os (1.1.4)
|
||||
plist (3.7.1)
|
||||
public_suffix (6.0.1)
|
||||
rake (13.2.1)
|
||||
plist (3.7.2)
|
||||
public_suffix (6.0.2)
|
||||
rake (13.3.0)
|
||||
representable (3.2.0)
|
||||
declarative (< 0.1.0)
|
||||
trailblazer-option (>= 0.1.1, < 0.2.0)
|
||||
uber (< 0.2.0)
|
||||
retriable (3.1.2)
|
||||
rexml (3.2.9)
|
||||
strscan
|
||||
rouge (2.0.7)
|
||||
rexml (3.4.4)
|
||||
rouge (3.28.0)
|
||||
ruby2_keywords (0.0.5)
|
||||
rubyzip (2.3.2)
|
||||
rubyzip (2.4.1)
|
||||
security (0.1.5)
|
||||
signet (0.19.0)
|
||||
signet (0.21.0)
|
||||
addressable (~> 2.8)
|
||||
faraday (>= 0.17.5, < 3.a)
|
||||
jwt (>= 1.5, < 3.0)
|
||||
jwt (>= 1.5, < 4.0)
|
||||
multi_json (~> 1.10)
|
||||
simctl (1.6.10)
|
||||
CFPropertyList
|
||||
naturally
|
||||
strscan (3.1.0)
|
||||
sysrandom (1.0.5)
|
||||
terminal-notifier (2.0.0)
|
||||
terminal-table (3.0.2)
|
||||
unicode-display_width (>= 1.1.1, < 3)
|
||||
@@ -196,17 +206,17 @@ GEM
|
||||
tty-spinner (0.9.3)
|
||||
tty-cursor (~> 0.7)
|
||||
uber (0.1.0)
|
||||
unicode-display_width (2.5.0)
|
||||
unicode-display_width (2.6.0)
|
||||
word_wrap (1.0.0)
|
||||
xcodeproj (1.24.0)
|
||||
xcodeproj (1.27.0)
|
||||
CFPropertyList (>= 2.3.3, < 4.0)
|
||||
atomos (~> 0.1.3)
|
||||
claide (>= 1.0.2, < 2.0)
|
||||
colored2 (~> 3.1)
|
||||
nanaimo (~> 0.3.0)
|
||||
rexml (~> 3.2.4)
|
||||
xcpretty (0.3.0)
|
||||
rouge (~> 2.0.7)
|
||||
nanaimo (~> 0.4.0)
|
||||
rexml (>= 3.3.6, < 4.0)
|
||||
xcpretty (0.4.1)
|
||||
rouge (~> 3.28.0)
|
||||
xcpretty-travis-formatter (1.0.1)
|
||||
xcpretty (~> 0.2, >= 0.0.7)
|
||||
|
||||
@@ -214,11 +224,15 @@ PLATFORMS
|
||||
arm64-darwin-21
|
||||
arm64-darwin-22
|
||||
arm64-darwin-23
|
||||
arm64-darwin-24
|
||||
x86_64-linux
|
||||
|
||||
DEPENDENCIES
|
||||
abbrev
|
||||
fastlane
|
||||
fastlane-plugin-versioning
|
||||
logger
|
||||
mutex_m
|
||||
|
||||
BUNDLED WITH
|
||||
2.2.32
|
||||
2.6.9
|
||||
|
||||
78
README.md
@@ -1,4 +1,4 @@
|
||||
# Mobile app for wger Workout Manager
|
||||
# Mobile app for wger
|
||||
|
||||
wger is a free, open-source flutter application that manages and tracks/logs
|
||||
your exercises and personal workouts, weight, and diet plans. This is the mobile
|
||||
@@ -7,7 +7,7 @@ app written with Flutter, it talks via REST with the main server.
|
||||
If you want to contribute, hop on the Discord server and say hi!
|
||||
|
||||
|
||||
<p>
|
||||
<p align="center">
|
||||
<img src="https://raw.githubusercontent.com/wger-project/flutter/master/fastlane/metadata/android/en-US/images/phoneScreenshots/01%20-%20dashboard.png" width="200" alt="" />
|
||||
|
||||
<img src="https://raw.githubusercontent.com/wger-project/flutter/master/fastlane/metadata/android/en-US/images/phoneScreenshots/04%20-%20measurements.png" width="200" alt="" />
|
||||
@@ -17,61 +17,45 @@ If you want to contribute, hop on the Discord server and say hi!
|
||||
|
||||
## Installation
|
||||
|
||||
[<img src="https://play.google.com/intl/en_us/badges/images/generic/en-play-badge.png"
|
||||
[<img src="https://raw.githubusercontent.com/wger-project/wger/refs/heads/master/wger/core/static/images/logos/play-store/badge.svg"
|
||||
alt="Get it on Google Play"
|
||||
height="80">](https://play.google.com/store/apps/details?id=de.wger.flutter)
|
||||
[<img src="https://fdroid.gitlab.io/artwork/badge/get-it-on.png"
|
||||
height="55">](https://play.google.com/store/apps/details?id=de.wger.flutter)
|
||||
[<img src="https://raw.githubusercontent.com/wger-project/wger/refs/heads/master/wger/core/static/images/logos/fdroid/get-it-on.svg"
|
||||
alt="Get it on F-Droid"
|
||||
height="80">](https://f-droid.org/packages/de.wger.flutter/)
|
||||
height="55">](https://f-droid.org/packages/de.wger.flutter/)
|
||||
[<img src="https://raw.githubusercontent.com/wger-project/wger/refs/heads/master/wger/core/static/images/logos/app-store/black.svg"
|
||||
alt="Download on the App Store"
|
||||
height="55">](https://apps.apple.com/us/app/wger-workout-manager/id6502226792)
|
||||
[<img src="https://raw.githubusercontent.com/wger-project/wger/refs/heads/master/wger/core/static/images/logos/flathub/black.svg"
|
||||
alt="Get it on Flathub"
|
||||
height="55">](https://flathub.org/apps/de.wger.flutter)
|
||||
|
||||
## Development
|
||||
## Developing and contributing
|
||||
|
||||
### 1
|
||||
Our goal is to build an awesome and flexible fitness and nutrition manager,
|
||||
along with a comprehensive list of exercises and ingredients, all released
|
||||
under a free license.
|
||||
|
||||
Install the [wger server](https://github.com/wger-project/wger), the easiest way
|
||||
is to start the development docker-compose: <https://github.com/wger-project/docker>
|
||||
For this, we’d love your help! Whether it’s code, translations, exercises or
|
||||
reporting issues and ideas, check out our
|
||||
[contribution guide](https://wger.readthedocs.io/en/latest/contributing.html)
|
||||
to get started.
|
||||
|
||||
Alternatively, you can use the test server (the db is reset every day):
|
||||
A huge thank you to everyone who has contributed so far! ❤️ See the full list
|
||||
in [AUTHORS.md](AUTHORS.md).
|
||||
|
||||
**TLDR**
|
||||
|
||||
```bash
|
||||
flutter run
|
||||
```
|
||||
|
||||
This is a regular flutter application, so there's no magic. You will need a backend
|
||||
for this, so feel free to use the test server for this (the db is reset daily):
|
||||
|
||||
* URL: `https://wger-master.rge.uber.space`
|
||||
* username: `user`
|
||||
* password: `flutteruser`
|
||||
* API key: `31e2ea0322c07b9df583a9b6d1e794f7139e78d4`
|
||||
|
||||
### 2
|
||||
|
||||
Install Flutter and all its dependencies, and create a new virtual device:
|
||||
<https://flutter.dev/docs/get-started/install>.
|
||||
|
||||
The app currently uses flutter 3.22
|
||||
|
||||
### 3
|
||||
The application will complain about an API key not being set. You can just
|
||||
ignore this during development, this is only important if you want to register
|
||||
directly over the app. If you just want to login, you can skip this section.
|
||||
|
||||
If you want to register directly over the app, you need to set a user on the backend
|
||||
that is allowed to do this. For this, create/register a new user, generate an api key
|
||||
and run ``python3 manage.py add-user-rest theusername`` (you can later list all the
|
||||
registered users with ``python3 manage.py list-users-api``).
|
||||
|
||||
Then create a new file ``wger.properties`` in ``fastlane/metadata/envfiles/`` and
|
||||
add the key:
|
||||
|
||||
```properties
|
||||
WGER_API_KEY=123456
|
||||
```
|
||||
|
||||
Alternatively, add the key as an environment variables, e.g. by running the `source`
|
||||
command on the file.
|
||||
|
||||
### 4
|
||||
|
||||
Start the application with ``flutter run`` or use your IDE
|
||||
(please note that depending on how you run your emulator you will need to change the IP address of
|
||||
the server)
|
||||
|
||||
You can run the tests with the ``flutter test``
|
||||
|
||||
## Translation
|
||||
|
||||
|
||||
@@ -19,6 +19,10 @@ analyzer:
|
||||
# Please see https://github.com/flutter/flutter/pull/24528 for details.
|
||||
sdk_version_async_exported_from_core: ignore
|
||||
|
||||
formatter:
|
||||
page_width: 100
|
||||
trailing_commas: preserve
|
||||
|
||||
linter:
|
||||
rules:
|
||||
# These rules are documented on and in the same order as
|
||||
@@ -165,8 +169,6 @@ dart_code_metrics:
|
||||
- avoid-passing-self-as-argument: false # fairly harmless. and e.g. drift calls are like this
|
||||
- avoid-passing-async-when-sync-expected: false # we really like to do this in onTap() etc, and it seems harmless
|
||||
- prefer-match-file-name: false # dieter wants to enable this. but requires a lot of renames. what does roland think?
|
||||
|
||||
formatter:
|
||||
indent: 0
|
||||
line-length: 100
|
||||
cascading-widget-extensions: false
|
||||
|
||||
@@ -12,16 +12,6 @@ if (localPropertiesFile.exists()) {
|
||||
}
|
||||
}
|
||||
|
||||
def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
|
||||
if (flutterVersionCode == null) {
|
||||
flutterVersionCode = '1'
|
||||
}
|
||||
|
||||
def flutterVersionName = localProperties.getProperty('flutter.versionName')
|
||||
if (flutterVersionName == null) {
|
||||
flutterVersionName = '1.0'
|
||||
}
|
||||
|
||||
|
||||
// Keys for the android play store
|
||||
def keystoreProperties = new Properties()
|
||||
@@ -30,57 +20,29 @@ if (keystorePropertiesFile.exists()) {
|
||||
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
|
||||
}
|
||||
|
||||
// Key for wger.de REST API
|
||||
def wgerProperties = new Properties()
|
||||
def localMapsPropertiesFile = rootProject.file('../fastlane/metadata/envfiles/wger.properties')
|
||||
if (localMapsPropertiesFile.exists()) {
|
||||
project.logger.info('Load maps properties from local file')
|
||||
localMapsPropertiesFile.withReader('UTF-8') { reader ->
|
||||
wgerProperties.load(reader)
|
||||
}
|
||||
} else {
|
||||
project.logger.info('Load maps properties from environment')
|
||||
try {
|
||||
wgerProperties['WGER_API_KEY'] = System.getenv('WGER_API_KEY')
|
||||
} catch (NullPointerException e) {
|
||||
project.logger.warn('Failed to load WGER_API_KEY from environment.', e)
|
||||
}
|
||||
}
|
||||
def wgerApiKey = wgerProperties.getProperty('WGER_API_KEY')
|
||||
if (wgerApiKey == null) {
|
||||
wgerApiKey = ""
|
||||
project.logger.error('Wger Api Key not configured. Set it in `/fastlane/metadata/android/envfiles/wger.properties` or in the environment variable `WGER_API_KEY`')
|
||||
}
|
||||
|
||||
android {
|
||||
compileSdkVersion 34
|
||||
ndkVersion "25.1.8937393"
|
||||
namespace = "de.wger.flutter"
|
||||
compileSdkVersion 36
|
||||
ndkVersion "28.2.13676358"
|
||||
|
||||
compileOptions {
|
||||
sourceCompatibility JavaVersion.VERSION_1_8
|
||||
targetCompatibility JavaVersion.VERSION_1_8
|
||||
sourceCompatibility JavaVersion.VERSION_11
|
||||
targetCompatibility JavaVersion.VERSION_11
|
||||
}
|
||||
|
||||
kotlinOptions {
|
||||
jvmTarget = '1.8'
|
||||
jvmTarget = '11'
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
main.java.srcDirs += 'src/main/kotlin'
|
||||
}
|
||||
|
||||
lintOptions {
|
||||
disable 'InvalidPackage'
|
||||
}
|
||||
|
||||
defaultConfig {
|
||||
// Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
|
||||
applicationId "de.wger.flutter"
|
||||
minSdkVersion 21
|
||||
targetSdkVersion 34
|
||||
versionCode flutterVersionCode.toInteger()
|
||||
versionName flutterVersionName
|
||||
manifestPlaceholders += [WGER_API_KEY: wgerApiKey]
|
||||
minSdkVersion = flutter.minSdkVersion
|
||||
targetSdk = flutter.targetSdkVersion
|
||||
versionCode = flutter.versionCode
|
||||
versionName = flutter.versionName
|
||||
}
|
||||
|
||||
signingConfigs {
|
||||
@@ -93,8 +55,6 @@ android {
|
||||
}
|
||||
buildTypes {
|
||||
release {
|
||||
// TODO: Add your own signing config for the release build.
|
||||
// Signing with the debug keys for now, so `flutter run --release` works.
|
||||
signingConfig signingConfigs.release
|
||||
}
|
||||
debug {
|
||||
|
||||
@@ -26,15 +26,9 @@
|
||||
android:name="${applicationName}"
|
||||
android:label="wger"
|
||||
android:icon="@mipmap/ic_launcher"
|
||||
android:enableOnBackInvokedCallback="true"
|
||||
android:networkSecurityConfig="@xml/network_security_config">
|
||||
|
||||
<meta-data
|
||||
android:name="wger.api_key"
|
||||
android:value="${WGER_API_KEY}" />
|
||||
<meta-data
|
||||
android:name="wger.check_min_app_version"
|
||||
android:value="true" />
|
||||
|
||||
<activity
|
||||
android:name=".MainActivity"
|
||||
android:exported="true"
|
||||
|
||||
@@ -6,13 +6,66 @@ allprojects {
|
||||
}
|
||||
|
||||
rootProject.buildDir = '../build'
|
||||
|
||||
|
||||
subprojects {
|
||||
project.buildDir = "${rootProject.buildDir}/${project.name}"
|
||||
}
|
||||
|
||||
// Workaround for APK builds - https://github.com/flutter/flutter/issues/153281
|
||||
subprojects {
|
||||
afterEvaluate { project ->
|
||||
if (project.extensions.findByName("android") != null) {
|
||||
Integer pluginCompileSdk = project.android.compileSdk
|
||||
if (pluginCompileSdk != null && pluginCompileSdk < 31) {
|
||||
project.logger.error(
|
||||
"Warning: Overriding compileSdk version in Flutter plugin: "
|
||||
+ project.name
|
||||
+ " from "
|
||||
+ pluginCompileSdk
|
||||
+ " to 31 (to work around https://issuetracker.google.com/issues/199180389)."
|
||||
+ "\nIf there is not a new version of " + project.name + ", consider filing an issue against "
|
||||
+ project.name
|
||||
+ " to increase their compileSdk to the latest (otherwise try updating to the latest version)."
|
||||
)
|
||||
project.android {
|
||||
compileSdk 34
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Workaround for " Could not create an instance of type com.android.build.api.variant.impl.LibraryVariantBuilderImpl." error
|
||||
// Note that this instance seems to be caused by flutter_barcode_scanner, which hasn't been
|
||||
// updated in three years, might be time to look for a different package
|
||||
subprojects {
|
||||
afterEvaluate { project ->
|
||||
if (project.hasProperty('android')) {
|
||||
project.android {
|
||||
if (namespace == null) {
|
||||
project.logger.error(
|
||||
"Warning: project "
|
||||
+ project.name
|
||||
+ " has no namespace set, this will prevent compilation, "
|
||||
+ " setting one now to "
|
||||
+ project.group
|
||||
+ "\nIf there is not a new version of " + project.name + ", consider filing an issue against "
|
||||
+ project.name
|
||||
)
|
||||
|
||||
namespace project.group
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
subprojects {
|
||||
project.evaluationDependsOn(':app')
|
||||
}
|
||||
|
||||
|
||||
tasks.register("clean", Delete) {
|
||||
delete rootProject.buildDir
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
org.gradle.jvmargs=-Xmx1536M
|
||||
org.gradle.jvmargs=-Xmx2048M
|
||||
android.enableR8=true
|
||||
android.useAndroidX=true
|
||||
android.enableJetifier=true
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
#Fri Jun 23 08:50:38 CEST 2017
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
zipStorePath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-all.zip
|
||||
@@ -18,8 +18,8 @@ pluginManagement {
|
||||
|
||||
plugins {
|
||||
id "dev.flutter.flutter-plugin-loader" version "1.0.0"
|
||||
id "com.android.application" version "7.3.1" apply false
|
||||
id "org.jetbrains.kotlin.android" version "2.0.21" apply false
|
||||
id "com.android.application" version "8.6.0" apply false
|
||||
id "org.jetbrains.kotlin.android" version "2.1.20" apply false
|
||||
}
|
||||
|
||||
include ":app"
|
||||
|
||||
@@ -1,72 +1 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
|
||||
<!-- License: CC0. Made by SVG Repo: https://www.svgrepo.com/svg/150226/meal -->
|
||||
|
||||
<svg
|
||||
version="1.1"
|
||||
id="Layer_1"
|
||||
x="0px"
|
||||
y="0px"
|
||||
viewBox="0 0 512.002 512.002"
|
||||
style="enable-background:new 0 0 512.002 512.002;"
|
||||
xml:space="preserve"
|
||||
sodipodi:docname="ingredient-add.svg"
|
||||
inkscape:version="1.3.2 (091e20ef0f, 2023-11-25, custom)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"><defs
|
||||
id="defs8">
|
||||
|
||||
</defs><sodipodi:namedview
|
||||
id="namedview8"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#000000"
|
||||
borderopacity="0.25"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#d1d1d1"
|
||||
inkscape:zoom="1.7363213"
|
||||
inkscape:cx="256.00101"
|
||||
inkscape:cy="257.15287"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1155"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="45"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="Layer_1" />
|
||||
|
||||
<g
|
||||
id="g2"
|
||||
transform="matrix(0.76051742,-0.76051742,0.76051742,0.76051742,-160.62472,302.94989)">
|
||||
<path
|
||||
class="st0"
|
||||
d="m 345.114,155.163 c -13.113,-21.232 -35.755,-26.934 -50.43,-26.934 h -77.44 c -14.599,0 -37.318,5.702 -50.354,26.934 -12.022,19.752 -19.44,38.094 -23.656,54.958 -2.18,8.821 -3.507,17.252 -4.132,25.371 -3.361,40.596 10.46,71.586 15.378,93.054 1.25,5.542 3.202,12.412 5.695,20.142 2.424,7.73 5.313,16.314 8.516,25.371 12.8,36.38 29.976,79.24 37.858,97.582 15.612,36.456 35.052,40.359 49.415,40.359 14.439,0 33.879,-3.903 49.492,-40.359 11.633,-27.323 44.187,-109.292 51.993,-143.095 1.403,-6.167 3.59,-13.113 5.855,-20.843 2.264,-7.73 4.604,-16.162 6.48,-25.371 6.633,-32.553 7.181,-74.864 -24.67,-127.169 z m -57.535,127.169 c -7.021,0 -12.724,5.702 -12.724,12.724 0,6.944 5.702,12.647 12.724,12.647 h 43.18 c -1.395,4.742 -2.721,9.347 -3.735,13.814 -7.106,30.754 -38.43,110.016 -50.27,137.835 -9.179,21.422 -15.888,21.422 -20.79,21.422 -4.872,0 -11.535,0 -20.729,-21.46 -7.136,-16.62 -21.484,-52.352 -33.384,-85.255 h 18.358 c 7.029,0 12.724,-5.702 12.724,-12.647 0,-7.021 -5.695,-12.724 -12.724,-12.724 h -27.201 c -1.09,-3.294 -2.165,-6.541 -3.118,-9.582 -2.218,-6.9 -3.934,-12.922 -4.97,-17.527 -1.364,-5.954 -3.156,-12.03 -5.055,-18.456 -5.504,-18.632 -11.74,-39.75 -9.628,-65.236 0.061,-0.792 0.214,-1.6 0.29,-2.394 h 67.248 c 7.029,0 12.647,-5.702 12.647,-12.724 0,-6.945 -5.618,-12.648 -12.647,-12.648 H 175.78 c 3.957,-12.686 9.827,-25.653 17.725,-38.621 7.037,-11.466 21.011,-12.045 23.74,-12.045 h 77.44 c 3.842,0 16.917,0.877 23.763,11.946 27.94,45.887 25.76,80.055 20.736,104.702 -0.442,2.158 -0.968,4.155 -1.456,6.229 z"
|
||||
id="path1"
|
||||
style="fill:#000000" />
|
||||
<polygon
|
||||
class="st0"
|
||||
points="259.501,20.515 260.545,71.822 248.836,71.822 248.836,0 210.062,3.423 213.965,36.478 224.371,75.245 216.565,78.668 197.049,31.927 169.718,42.189 194.7,110.588 315.451,110.588 336.263,50.163 305.036,47.876 298.534,87.786 288.127,85.506 292.031,25.082 "
|
||||
id="polygon1"
|
||||
style="fill:#000000" />
|
||||
</g><circle
|
||||
id="path2"
|
||||
style="fill:#000000;stroke:#000000;stroke-width:0.2"
|
||||
cx="521.88666"
|
||||
cy="45.191727"
|
||||
r="0.0043425169" /><g
|
||||
id="Page-1"
|
||||
stroke="none"
|
||||
stroke-width="1"
|
||||
fill="none"
|
||||
fill-rule="evenodd"
|
||||
transform="matrix(29.995699,0,0,29.995699,241.90437,1.6845255)"><g
|
||||
id="Dribbble-Light-Preview"
|
||||
transform="translate(-345,-206)"
|
||||
fill="#000000"><g
|
||||
id="icons"
|
||||
transform="translate(56,160)"><polygon
|
||||
id="plus_mini-[#1523]"
|
||||
points="298,49 298,51 294.625,51 294.625,54 292.375,54 292.375,51 289,51 289,49 292.375,49 292.375,46 294.625,46 294.625,49 " /></g></g></g></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" id="Layer_1" x="0" y="0" version="1.1" viewBox="0 0 512.002 512.002" xml:space="preserve" style="enable-background:new 0 0 512.002 512.002"><g id="g2" transform="matrix(0.76051742,-0.76051742,0.76051742,0.76051742,-160.62472,302.94989)"><path id="path1" d="m 345.114,155.163 c -13.113,-21.232 -35.755,-26.934 -50.43,-26.934 h -77.44 c -14.599,0 -37.318,5.702 -50.354,26.934 -12.022,19.752 -19.44,38.094 -23.656,54.958 -2.18,8.821 -3.507,17.252 -4.132,25.371 -3.361,40.596 10.46,71.586 15.378,93.054 1.25,5.542 3.202,12.412 5.695,20.142 2.424,7.73 5.313,16.314 8.516,25.371 12.8,36.38 29.976,79.24 37.858,97.582 15.612,36.456 35.052,40.359 49.415,40.359 14.439,0 33.879,-3.903 49.492,-40.359 11.633,-27.323 44.187,-109.292 51.993,-143.095 1.403,-6.167 3.59,-13.113 5.855,-20.843 2.264,-7.73 4.604,-16.162 6.48,-25.371 6.633,-32.553 7.181,-74.864 -24.67,-127.169 z m -57.535,127.169 c -7.021,0 -12.724,5.702 -12.724,12.724 0,6.944 5.702,12.647 12.724,12.647 h 43.18 c -1.395,4.742 -2.721,9.347 -3.735,13.814 -7.106,30.754 -38.43,110.016 -50.27,137.835 -9.179,21.422 -15.888,21.422 -20.79,21.422 -4.872,0 -11.535,0 -20.729,-21.46 -7.136,-16.62 -21.484,-52.352 -33.384,-85.255 h 18.358 c 7.029,0 12.724,-5.702 12.724,-12.647 0,-7.021 -5.695,-12.724 -12.724,-12.724 h -27.201 c -1.09,-3.294 -2.165,-6.541 -3.118,-9.582 -2.218,-6.9 -3.934,-12.922 -4.97,-17.527 -1.364,-5.954 -3.156,-12.03 -5.055,-18.456 -5.504,-18.632 -11.74,-39.75 -9.628,-65.236 0.061,-0.792 0.214,-1.6 0.29,-2.394 h 67.248 c 7.029,0 12.647,-5.702 12.647,-12.724 0,-6.945 -5.618,-12.648 -12.647,-12.648 H 175.78 c 3.957,-12.686 9.827,-25.653 17.725,-38.621 7.037,-11.466 21.011,-12.045 23.74,-12.045 h 77.44 c 3.842,0 16.917,0.877 23.763,11.946 27.94,45.887 25.76,80.055 20.736,104.702 -0.442,2.158 -0.968,4.155 -1.456,6.229 z" class="st0" style="fill:#000"/><polygon id="polygon1" points="259.501 20.515 260.545 71.822 248.836 71.822 248.836 0 210.062 3.423 213.965 36.478 224.371 75.245 216.565 78.668 197.049 31.927 169.718 42.189 194.7 110.588 315.451 110.588 336.263 50.163 305.036 47.876 298.534 87.786 288.127 85.506 292.031 25.082" class="st0" style="fill:#000"/></g><circle id="path2" cx="521.887" cy="45.192" r=".004" style="fill:#000;stroke:#000;stroke-width:.2"/><g id="Page-1" fill="none" fill-rule="evenodd" stroke="none" stroke-width="1" transform="matrix(29.995699,0,0,29.995699,241.90437,1.6845255)"><g id="Dribbble-Light-Preview" fill="#000" transform="translate(-345,-206)"><g id="icons" transform="translate(56,160)"><polygon id="plus_mini-[#1523]" points="298 49 298 51 294.625 51 294.625 54 292.375 54 292.375 51 289 51 289 49 292.375 49 292.375 46 294.625 46 294.625 49"/></g></g></g></svg>
|
||||
|
Before Width: | Height: | Size: 3.9 KiB After Width: | Height: | Size: 2.7 KiB |
@@ -1,65 +1 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
|
||||
<!-- License: CC0. Made by SVG Repo: https://www.svgrepo.com/svg/150226/meal -->
|
||||
|
||||
<svg
|
||||
version="1.1"
|
||||
id="Layer_1"
|
||||
x="0px"
|
||||
y="0px"
|
||||
viewBox="0 0 512.002 512.002"
|
||||
style="enable-background:new 0 0 512.002 512.002;"
|
||||
xml:space="preserve"
|
||||
sodipodi:docname="ingredient-check.svg"
|
||||
inkscape:version="1.3.2 (091e20ef0f, 2023-11-25, custom)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"><defs
|
||||
id="defs8">
|
||||
|
||||
</defs><sodipodi:namedview
|
||||
id="namedview8"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#000000"
|
||||
borderopacity="0.25"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#d1d1d1"
|
||||
inkscape:zoom="1.7363213"
|
||||
inkscape:cx="274.43077"
|
||||
inkscape:cy="257.15287"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1155"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="45"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="Layer_1" />
|
||||
|
||||
<g
|
||||
id="g2"
|
||||
transform="matrix(0.76051742,-0.76051742,0.76051742,0.76051742,-160.62472,302.94989)">
|
||||
<path
|
||||
class="st0"
|
||||
d="m 345.114,155.163 c -13.113,-21.232 -35.755,-26.934 -50.43,-26.934 h -77.44 c -14.599,0 -37.318,5.702 -50.354,26.934 -12.022,19.752 -19.44,38.094 -23.656,54.958 -2.18,8.821 -3.507,17.252 -4.132,25.371 -3.361,40.596 10.46,71.586 15.378,93.054 1.25,5.542 3.202,12.412 5.695,20.142 2.424,7.73 5.313,16.314 8.516,25.371 12.8,36.38 29.976,79.24 37.858,97.582 15.612,36.456 35.052,40.359 49.415,40.359 14.439,0 33.879,-3.903 49.492,-40.359 11.633,-27.323 44.187,-109.292 51.993,-143.095 1.403,-6.167 3.59,-13.113 5.855,-20.843 2.264,-7.73 4.604,-16.162 6.48,-25.371 6.633,-32.553 7.181,-74.864 -24.67,-127.169 z m -57.535,127.169 c -7.021,0 -12.724,5.702 -12.724,12.724 0,6.944 5.702,12.647 12.724,12.647 h 43.18 c -1.395,4.742 -2.721,9.347 -3.735,13.814 -7.106,30.754 -38.43,110.016 -50.27,137.835 -9.179,21.422 -15.888,21.422 -20.79,21.422 -4.872,0 -11.535,0 -20.729,-21.46 -7.136,-16.62 -21.484,-52.352 -33.384,-85.255 h 18.358 c 7.029,0 12.724,-5.702 12.724,-12.647 0,-7.021 -5.695,-12.724 -12.724,-12.724 h -27.201 c -1.09,-3.294 -2.165,-6.541 -3.118,-9.582 -2.218,-6.9 -3.934,-12.922 -4.97,-17.527 -1.364,-5.954 -3.156,-12.03 -5.055,-18.456 -5.504,-18.632 -11.74,-39.75 -9.628,-65.236 0.061,-0.792 0.214,-1.6 0.29,-2.394 h 67.248 c 7.029,0 12.647,-5.702 12.647,-12.724 0,-6.945 -5.618,-12.648 -12.647,-12.648 H 175.78 c 3.957,-12.686 9.827,-25.653 17.725,-38.621 7.037,-11.466 21.011,-12.045 23.74,-12.045 h 77.44 c 3.842,0 16.917,0.877 23.763,11.946 27.94,45.887 25.76,80.055 20.736,104.702 -0.442,2.158 -0.968,4.155 -1.456,6.229 z"
|
||||
id="path1"
|
||||
style="fill:#000000" />
|
||||
<polygon
|
||||
class="st0"
|
||||
points="259.501,20.515 260.545,71.822 248.836,71.822 248.836,0 210.062,3.423 213.965,36.478 224.371,75.245 216.565,78.668 197.049,31.927 169.718,42.189 194.7,110.588 315.451,110.588 336.263,50.163 305.036,47.876 298.534,87.786 288.127,85.506 292.031,25.082 "
|
||||
id="polygon1"
|
||||
style="fill:#000000" />
|
||||
</g><circle
|
||||
id="path2"
|
||||
style="fill:#000000;stroke:#000000;stroke-width:0.2"
|
||||
cx="521.88666"
|
||||
cy="45.191727"
|
||||
r="0.0043425169" /><path
|
||||
clip-rule="evenodd"
|
||||
d="M 515.875,51.622857 349.49393,218.00373 253.80627,122.31651 303.7942,72.328499 349.49393,118.02824 465.88752,1.6348403 Z"
|
||||
fill="#030708"
|
||||
fill-rule="evenodd"
|
||||
id="path1-3"
|
||||
style="stroke-width:17.6734" /></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" id="Layer_1" x="0" y="0" version="1.1" viewBox="0 0 512.002 512.002" xml:space="preserve" style="enable-background:new 0 0 512.002 512.002"><g id="g2" transform="matrix(0.76051742,-0.76051742,0.76051742,0.76051742,-160.62472,302.94989)"><path id="path1" d="m 345.114,155.163 c -13.113,-21.232 -35.755,-26.934 -50.43,-26.934 h -77.44 c -14.599,0 -37.318,5.702 -50.354,26.934 -12.022,19.752 -19.44,38.094 -23.656,54.958 -2.18,8.821 -3.507,17.252 -4.132,25.371 -3.361,40.596 10.46,71.586 15.378,93.054 1.25,5.542 3.202,12.412 5.695,20.142 2.424,7.73 5.313,16.314 8.516,25.371 12.8,36.38 29.976,79.24 37.858,97.582 15.612,36.456 35.052,40.359 49.415,40.359 14.439,0 33.879,-3.903 49.492,-40.359 11.633,-27.323 44.187,-109.292 51.993,-143.095 1.403,-6.167 3.59,-13.113 5.855,-20.843 2.264,-7.73 4.604,-16.162 6.48,-25.371 6.633,-32.553 7.181,-74.864 -24.67,-127.169 z m -57.535,127.169 c -7.021,0 -12.724,5.702 -12.724,12.724 0,6.944 5.702,12.647 12.724,12.647 h 43.18 c -1.395,4.742 -2.721,9.347 -3.735,13.814 -7.106,30.754 -38.43,110.016 -50.27,137.835 -9.179,21.422 -15.888,21.422 -20.79,21.422 -4.872,0 -11.535,0 -20.729,-21.46 -7.136,-16.62 -21.484,-52.352 -33.384,-85.255 h 18.358 c 7.029,0 12.724,-5.702 12.724,-12.647 0,-7.021 -5.695,-12.724 -12.724,-12.724 h -27.201 c -1.09,-3.294 -2.165,-6.541 -3.118,-9.582 -2.218,-6.9 -3.934,-12.922 -4.97,-17.527 -1.364,-5.954 -3.156,-12.03 -5.055,-18.456 -5.504,-18.632 -11.74,-39.75 -9.628,-65.236 0.061,-0.792 0.214,-1.6 0.29,-2.394 h 67.248 c 7.029,0 12.647,-5.702 12.647,-12.724 0,-6.945 -5.618,-12.648 -12.647,-12.648 H 175.78 c 3.957,-12.686 9.827,-25.653 17.725,-38.621 7.037,-11.466 21.011,-12.045 23.74,-12.045 h 77.44 c 3.842,0 16.917,0.877 23.763,11.946 27.94,45.887 25.76,80.055 20.736,104.702 -0.442,2.158 -0.968,4.155 -1.456,6.229 z" class="st0" style="fill:#000"/><polygon id="polygon1" points="259.501 20.515 260.545 71.822 248.836 71.822 248.836 0 210.062 3.423 213.965 36.478 224.371 75.245 216.565 78.668 197.049 31.927 169.718 42.189 194.7 110.588 315.451 110.588 336.263 50.163 305.036 47.876 298.534 87.786 288.127 85.506 292.031 25.082" class="st0" style="fill:#000"/></g><circle id="path2" cx="521.887" cy="45.192" r=".004" style="fill:#000;stroke:#000;stroke-width:.2"/><path id="path1-3" fill="#030708" fill-rule="evenodd" d="M 515.875,51.622857 349.49393,218.00373 253.80627,122.31651 303.7942,72.328499 349.49393,118.02824 465.88752,1.6348403 Z" clip-rule="evenodd" style="stroke-width:17.6734"/></svg>
|
||||
|
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 2.5 KiB |
@@ -1,86 +1 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
|
||||
<!-- License: CC0. Made by SVG Repo: https://www.svgrepo.com/svg/150226/meal -->
|
||||
|
||||
<svg
|
||||
version="1.1"
|
||||
id="Layer_1"
|
||||
x="0px"
|
||||
y="0px"
|
||||
viewBox="0 0 512.002 512.002"
|
||||
style="enable-background:new 0 0 512.002 512.002;"
|
||||
xml:space="preserve"
|
||||
sodipodi:docname="ingredient-diary.svg"
|
||||
inkscape:version="1.3.2 (091e20ef0f, 2023-11-25, custom)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"><defs
|
||||
id="defs8">
|
||||
|
||||
</defs><sodipodi:namedview
|
||||
id="namedview8"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#000000"
|
||||
borderopacity="0.25"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#d1d1d1"
|
||||
inkscape:zoom="1.7363213"
|
||||
inkscape:cx="256.57694"
|
||||
inkscape:cy="257.15287"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1155"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="45"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="Layer_1" />
|
||||
|
||||
<g
|
||||
id="g2"
|
||||
transform="matrix(0.76051742,-0.76051742,0.76051742,0.76051742,-160.62472,302.94989)">
|
||||
<path
|
||||
class="st0"
|
||||
d="m 345.114,155.163 c -13.113,-21.232 -35.755,-26.934 -50.43,-26.934 h -77.44 c -14.599,0 -37.318,5.702 -50.354,26.934 -12.022,19.752 -19.44,38.094 -23.656,54.958 -2.18,8.821 -3.507,17.252 -4.132,25.371 -3.361,40.596 10.46,71.586 15.378,93.054 1.25,5.542 3.202,12.412 5.695,20.142 2.424,7.73 5.313,16.314 8.516,25.371 12.8,36.38 29.976,79.24 37.858,97.582 15.612,36.456 35.052,40.359 49.415,40.359 14.439,0 33.879,-3.903 49.492,-40.359 11.633,-27.323 44.187,-109.292 51.993,-143.095 1.403,-6.167 3.59,-13.113 5.855,-20.843 2.264,-7.73 4.604,-16.162 6.48,-25.371 6.633,-32.553 7.181,-74.864 -24.67,-127.169 z m -57.535,127.169 c -7.021,0 -12.724,5.702 -12.724,12.724 0,6.944 5.702,12.647 12.724,12.647 h 43.18 c -1.395,4.742 -2.721,9.347 -3.735,13.814 -7.106,30.754 -38.43,110.016 -50.27,137.835 -9.179,21.422 -15.888,21.422 -20.79,21.422 -4.872,0 -11.535,0 -20.729,-21.46 -7.136,-16.62 -21.484,-52.352 -33.384,-85.255 h 18.358 c 7.029,0 12.724,-5.702 12.724,-12.647 0,-7.021 -5.695,-12.724 -12.724,-12.724 h -27.201 c -1.09,-3.294 -2.165,-6.541 -3.118,-9.582 -2.218,-6.9 -3.934,-12.922 -4.97,-17.527 -1.364,-5.954 -3.156,-12.03 -5.055,-18.456 -5.504,-18.632 -11.74,-39.75 -9.628,-65.236 0.061,-0.792 0.214,-1.6 0.29,-2.394 h 67.248 c 7.029,0 12.647,-5.702 12.647,-12.724 0,-6.945 -5.618,-12.648 -12.647,-12.648 H 175.78 c 3.957,-12.686 9.827,-25.653 17.725,-38.621 7.037,-11.466 21.011,-12.045 23.74,-12.045 h 77.44 c 3.842,0 16.917,0.877 23.763,11.946 27.94,45.887 25.76,80.055 20.736,104.702 -0.442,2.158 -0.968,4.155 -1.456,6.229 z"
|
||||
id="path1"
|
||||
style="fill:#000000" />
|
||||
<polygon
|
||||
class="st0"
|
||||
points="259.501,20.515 260.545,71.822 248.836,71.822 248.836,0 210.062,3.423 213.965,36.478 224.371,75.245 216.565,78.668 197.049,31.927 169.718,42.189 194.7,110.588 315.451,110.588 336.263,50.163 305.036,47.876 298.534,87.786 288.127,85.506 292.031,25.082 "
|
||||
id="polygon1"
|
||||
style="fill:#000000" />
|
||||
</g><circle
|
||||
id="path2"
|
||||
style="fill:#000000;stroke:#000000;stroke-width:0.2"
|
||||
cx="521.88666"
|
||||
cy="45.191727"
|
||||
r="0.0043425169" /><g
|
||||
id="g8-6"
|
||||
transform="matrix(0.4527684,0,0,0.4527684,296.76275,1.8149751)">
|
||||
<g
|
||||
id="g7-7">
|
||||
<g
|
||||
id="g6-5">
|
||||
<path
|
||||
d="m 380.68,372.453 c -13.938,0 -25.284,11.342 -25.284,25.301 v 54.441 l 80.034,-79.742 z"
|
||||
id="path1-3" />
|
||||
<path
|
||||
d="m 433.745,492.197 c 23.156,0 41.912,-18.76 41.912,-41.898 V 379.285 L 362.338,492.197 Z"
|
||||
id="path2-5" />
|
||||
<path
|
||||
d="M 433.745,0 H 100.255 C 77.537,0 59.15,18.11 58.486,40.653 h 39.691 c 9.479,-7.013 21.051,-10.876 33.139,-10.876 30.785,0 55.84,25.055 55.84,55.84 0,30.784 -25.055,55.826 -55.84,55.826 -11.992,0 -23.527,-3.863 -33.059,-10.84 H 58.355 v 70.543 h 39.822 c 9.479,-7.008 21.051,-10.871 33.139,-10.871 30.785,0 55.84,25.055 55.84,55.84 0,30.783 -25.055,55.84 -55.84,55.84 -11.992,0 -23.547,-3.859 -33.072,-10.854 H 58.355 v 70.543 h 39.822 c 9.492,-6.995 21.064,-10.857 33.139,-10.857 30.785,0 55.84,25.042 55.84,55.825 0,30.784 -25.055,55.84 -55.84,55.84 -11.992,0 -23.527,-3.861 -33.059,-10.84 h -39.77 c 0.715,22.524 19.082,40.586 41.77,40.586 h 221.904 v -94.445 c 0,-32.281 26.258,-58.537 58.52,-58.537 H 475.66 V 41.901 C 475.659,18.761 456.903,0 433.745,0 Z"
|
||||
id="path3-6" />
|
||||
<path
|
||||
d="m 36.577,105.68 h 71.213 c 5.68,6.588 14.115,10.84 23.527,10.84 17.07,0 30.916,-13.827 30.916,-30.902 0,-17.071 -13.846,-30.912 -30.916,-30.912 -9.412,0 -17.848,4.14 -23.527,10.872 H 36.577 c -11.066,0 -20.039,8.974 -20.039,20.04 -0.001,11.101 8.972,20.062 20.039,20.062 z"
|
||||
id="path4-2" />
|
||||
<path
|
||||
d="m 36.577,266.172 h 71.213 c 5.68,6.606 14.115,10.858 23.527,10.858 17.07,0 30.916,-13.846 30.916,-30.915 0,-17.072 -13.846,-30.916 -30.916,-30.916 -9.412,0 -17.848,4.139 -23.527,10.875 H 36.577 c -11.066,0 -20.039,8.975 -20.039,20.059 0,11.084 8.972,20.039 20.039,20.039 z"
|
||||
id="path5-9" />
|
||||
<path
|
||||
d="m 131.316,437.523 c 17.07,0 30.916,-13.839 30.916,-30.91 0,-17.074 -13.846,-30.902 -30.916,-30.902 -9.412,0 -17.848,4.141 -23.527,10.857 H 36.577 c -11.066,0 -20.039,8.975 -20.039,20.059 0,11.084 8.973,20.06 20.039,20.06 h 71.213 c 5.679,6.584 14.115,10.836 23.526,10.836 z"
|
||||
id="path6-1" />
|
||||
</g>
|
||||
</g>
|
||||
</g></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" id="Layer_1" x="0" y="0" version="1.1" viewBox="0 0 512.002 512.002" xml:space="preserve" style="enable-background:new 0 0 512.002 512.002"><g id="g2" transform="matrix(0.76051742,-0.76051742,0.76051742,0.76051742,-160.62472,302.94989)"><path id="path1" d="m 345.114,155.163 c -13.113,-21.232 -35.755,-26.934 -50.43,-26.934 h -77.44 c -14.599,0 -37.318,5.702 -50.354,26.934 -12.022,19.752 -19.44,38.094 -23.656,54.958 -2.18,8.821 -3.507,17.252 -4.132,25.371 -3.361,40.596 10.46,71.586 15.378,93.054 1.25,5.542 3.202,12.412 5.695,20.142 2.424,7.73 5.313,16.314 8.516,25.371 12.8,36.38 29.976,79.24 37.858,97.582 15.612,36.456 35.052,40.359 49.415,40.359 14.439,0 33.879,-3.903 49.492,-40.359 11.633,-27.323 44.187,-109.292 51.993,-143.095 1.403,-6.167 3.59,-13.113 5.855,-20.843 2.264,-7.73 4.604,-16.162 6.48,-25.371 6.633,-32.553 7.181,-74.864 -24.67,-127.169 z m -57.535,127.169 c -7.021,0 -12.724,5.702 -12.724,12.724 0,6.944 5.702,12.647 12.724,12.647 h 43.18 c -1.395,4.742 -2.721,9.347 -3.735,13.814 -7.106,30.754 -38.43,110.016 -50.27,137.835 -9.179,21.422 -15.888,21.422 -20.79,21.422 -4.872,0 -11.535,0 -20.729,-21.46 -7.136,-16.62 -21.484,-52.352 -33.384,-85.255 h 18.358 c 7.029,0 12.724,-5.702 12.724,-12.647 0,-7.021 -5.695,-12.724 -12.724,-12.724 h -27.201 c -1.09,-3.294 -2.165,-6.541 -3.118,-9.582 -2.218,-6.9 -3.934,-12.922 -4.97,-17.527 -1.364,-5.954 -3.156,-12.03 -5.055,-18.456 -5.504,-18.632 -11.74,-39.75 -9.628,-65.236 0.061,-0.792 0.214,-1.6 0.29,-2.394 h 67.248 c 7.029,0 12.647,-5.702 12.647,-12.724 0,-6.945 -5.618,-12.648 -12.647,-12.648 H 175.78 c 3.957,-12.686 9.827,-25.653 17.725,-38.621 7.037,-11.466 21.011,-12.045 23.74,-12.045 h 77.44 c 3.842,0 16.917,0.877 23.763,11.946 27.94,45.887 25.76,80.055 20.736,104.702 -0.442,2.158 -0.968,4.155 -1.456,6.229 z" class="st0" style="fill:#000"/><polygon id="polygon1" points="259.501 20.515 260.545 71.822 248.836 71.822 248.836 0 210.062 3.423 213.965 36.478 224.371 75.245 216.565 78.668 197.049 31.927 169.718 42.189 194.7 110.588 315.451 110.588 336.263 50.163 305.036 47.876 298.534 87.786 288.127 85.506 292.031 25.082" class="st0" style="fill:#000"/></g><circle id="path2" cx="521.887" cy="45.192" r=".004" style="fill:#000;stroke:#000;stroke-width:.2"/><g id="g8-6" transform="matrix(0.4527684,0,0,0.4527684,296.76275,1.8149751)"><g id="g7-7"><g id="g6-5"><path id="path1-3" d="m 380.68,372.453 c -13.938,0 -25.284,11.342 -25.284,25.301 v 54.441 l 80.034,-79.742 z"/><path id="path2-5" d="m 433.745,492.197 c 23.156,0 41.912,-18.76 41.912,-41.898 V 379.285 L 362.338,492.197 Z"/><path id="path3-6" d="M 433.745,0 H 100.255 C 77.537,0 59.15,18.11 58.486,40.653 h 39.691 c 9.479,-7.013 21.051,-10.876 33.139,-10.876 30.785,0 55.84,25.055 55.84,55.84 0,30.784 -25.055,55.826 -55.84,55.826 -11.992,0 -23.527,-3.863 -33.059,-10.84 H 58.355 v 70.543 h 39.822 c 9.479,-7.008 21.051,-10.871 33.139,-10.871 30.785,0 55.84,25.055 55.84,55.84 0,30.783 -25.055,55.84 -55.84,55.84 -11.992,0 -23.547,-3.859 -33.072,-10.854 H 58.355 v 70.543 h 39.822 c 9.492,-6.995 21.064,-10.857 33.139,-10.857 30.785,0 55.84,25.042 55.84,55.825 0,30.784 -25.055,55.84 -55.84,55.84 -11.992,0 -23.527,-3.861 -33.059,-10.84 h -39.77 c 0.715,22.524 19.082,40.586 41.77,40.586 h 221.904 v -94.445 c 0,-32.281 26.258,-58.537 58.52,-58.537 H 475.66 V 41.901 C 475.659,18.761 456.903,0 433.745,0 Z"/><path id="path4-2" d="m 36.577,105.68 h 71.213 c 5.68,6.588 14.115,10.84 23.527,10.84 17.07,0 30.916,-13.827 30.916,-30.902 0,-17.071 -13.846,-30.912 -30.916,-30.912 -9.412,0 -17.848,4.14 -23.527,10.872 H 36.577 c -11.066,0 -20.039,8.974 -20.039,20.04 -0.001,11.101 8.972,20.062 20.039,20.062 z"/><path id="path5-9" d="m 36.577,266.172 h 71.213 c 5.68,6.606 14.115,10.858 23.527,10.858 17.07,0 30.916,-13.846 30.916,-30.915 0,-17.072 -13.846,-30.916 -30.916,-30.916 -9.412,0 -17.848,4.139 -23.527,10.875 H 36.577 c -11.066,0 -20.039,8.975 -20.039,20.059 0,11.084 8.972,20.039 20.039,20.039 z"/><path id="path6-1" d="m 131.316,437.523 c 17.07,0 30.916,-13.839 30.916,-30.91 0,-17.074 -13.846,-30.902 -30.916,-30.902 -9.412,0 -17.848,4.141 -23.527,10.857 H 36.577 c -11.066,0 -20.039,8.975 -20.039,20.059 0,11.084 8.973,20.06 20.039,20.06 h 71.213 c 5.679,6.584 14.115,10.836 23.526,10.836 z"/></g></g></g></svg>
|
||||
|
Before Width: | Height: | Size: 5.4 KiB After Width: | Height: | Size: 4.2 KiB |
@@ -1,68 +1 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
|
||||
<!-- License: CC0. Made by SVG Repo: https://www.svgrepo.com/svg/150226/meal -->
|
||||
|
||||
<svg
|
||||
version="1.1"
|
||||
id="Layer_1"
|
||||
x="0px"
|
||||
y="0px"
|
||||
viewBox="0 0 512.002 512.002"
|
||||
style="enable-background:new 0 0 512.002 512.002;"
|
||||
xml:space="preserve"
|
||||
sodipodi:docname="ingredient-write.svg"
|
||||
inkscape:version="1.3.2 (091e20ef0f, 2023-11-25, custom)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"><defs
|
||||
id="defs8">
|
||||
|
||||
</defs><sodipodi:namedview
|
||||
id="namedview8"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#000000"
|
||||
borderopacity="0.25"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#d1d1d1"
|
||||
inkscape:zoom="1.7363213"
|
||||
inkscape:cx="256.57694"
|
||||
inkscape:cy="256.57694"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1155"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="45"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="Layer_1" />
|
||||
|
||||
<g
|
||||
id="g2"
|
||||
transform="matrix(0.76051742,-0.76051742,0.76051742,0.76051742,-160.62472,302.94989)">
|
||||
<path
|
||||
class="st0"
|
||||
d="m 345.114,155.163 c -13.113,-21.232 -35.755,-26.934 -50.43,-26.934 h -77.44 c -14.599,0 -37.318,5.702 -50.354,26.934 -12.022,19.752 -19.44,38.094 -23.656,54.958 -2.18,8.821 -3.507,17.252 -4.132,25.371 -3.361,40.596 10.46,71.586 15.378,93.054 1.25,5.542 3.202,12.412 5.695,20.142 2.424,7.73 5.313,16.314 8.516,25.371 12.8,36.38 29.976,79.24 37.858,97.582 15.612,36.456 35.052,40.359 49.415,40.359 14.439,0 33.879,-3.903 49.492,-40.359 11.633,-27.323 44.187,-109.292 51.993,-143.095 1.403,-6.167 3.59,-13.113 5.855,-20.843 2.264,-7.73 4.604,-16.162 6.48,-25.371 6.633,-32.553 7.181,-74.864 -24.67,-127.169 z m -57.535,127.169 c -7.021,0 -12.724,5.702 -12.724,12.724 0,6.944 5.702,12.647 12.724,12.647 h 43.18 c -1.395,4.742 -2.721,9.347 -3.735,13.814 -7.106,30.754 -38.43,110.016 -50.27,137.835 -9.179,21.422 -15.888,21.422 -20.79,21.422 -4.872,0 -11.535,0 -20.729,-21.46 -7.136,-16.62 -21.484,-52.352 -33.384,-85.255 h 18.358 c 7.029,0 12.724,-5.702 12.724,-12.647 0,-7.021 -5.695,-12.724 -12.724,-12.724 h -27.201 c -1.09,-3.294 -2.165,-6.541 -3.118,-9.582 -2.218,-6.9 -3.934,-12.922 -4.97,-17.527 -1.364,-5.954 -3.156,-12.03 -5.055,-18.456 -5.504,-18.632 -11.74,-39.75 -9.628,-65.236 0.061,-0.792 0.214,-1.6 0.29,-2.394 h 67.248 c 7.029,0 12.647,-5.702 12.647,-12.724 0,-6.945 -5.618,-12.648 -12.647,-12.648 H 175.78 c 3.957,-12.686 9.827,-25.653 17.725,-38.621 7.037,-11.466 21.011,-12.045 23.74,-12.045 h 77.44 c 3.842,0 16.917,0.877 23.763,11.946 27.94,45.887 25.76,80.055 20.736,104.702 -0.442,2.158 -0.968,4.155 -1.456,6.229 z"
|
||||
id="path1"
|
||||
style="fill:#000000" />
|
||||
<polygon
|
||||
class="st0"
|
||||
points="259.501,20.515 260.545,71.822 248.836,71.822 248.836,0 210.062,3.423 213.965,36.478 224.371,75.245 216.565,78.668 197.049,31.927 169.718,42.189 194.7,110.588 315.451,110.588 336.263,50.163 305.036,47.876 298.534,87.786 288.127,85.506 292.031,25.082 "
|
||||
id="polygon1"
|
||||
style="fill:#000000" />
|
||||
</g><circle
|
||||
id="path2"
|
||||
style="fill:#000000;stroke:#000000;stroke-width:0.2"
|
||||
cx="521.88666"
|
||||
cy="45.191727"
|
||||
r="0.0043425169" /><path
|
||||
d="M 576,657 H -64 c -24,0 -40,-16 -40,-40 0,-24 16,-40 40,-40 h 640 c 24,0 40,16 40,40 0,24 -16,40 -40,40 z"
|
||||
id="path1-3"
|
||||
style="stroke-width:40" /><g
|
||||
id="g2-7"
|
||||
transform="matrix(0,-3.2840933,3.2840933,0,211.59523,296.53997)">
|
||||
<path
|
||||
d="M 88.79,29.297 70.702,11.209 c -1.052,-1.052 -2.756,-1.052 -3.808,0 l -49.505,49.504 0.109,0.109 -0.171,-0.046 -6.772,25.272 0.004,0.001 c -0.309,0.935 -0.103,2.004 0.642,2.748 0.822,0.822 2.038,0.993 3.033,0.531 l 0.002,0.009 25.027,-6.706 -0.016,-0.059 0.038,0.038 49.505,-49.505 c 1.052,-1.052 1.052,-2.756 0,-3.808 z m -69.998,51.85 4.022,-15.009 10.988,10.988 z"
|
||||
id="path1-5" />
|
||||
</g></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" id="Layer_1" x="0" y="0" version="1.1" viewBox="0 0 512.002 512.002" xml:space="preserve" style="enable-background:new 0 0 512.002 512.002"><g id="g2" transform="matrix(0.76051742,-0.76051742,0.76051742,0.76051742,-160.62472,302.94989)"><path id="path1" d="m 345.114,155.163 c -13.113,-21.232 -35.755,-26.934 -50.43,-26.934 h -77.44 c -14.599,0 -37.318,5.702 -50.354,26.934 -12.022,19.752 -19.44,38.094 -23.656,54.958 -2.18,8.821 -3.507,17.252 -4.132,25.371 -3.361,40.596 10.46,71.586 15.378,93.054 1.25,5.542 3.202,12.412 5.695,20.142 2.424,7.73 5.313,16.314 8.516,25.371 12.8,36.38 29.976,79.24 37.858,97.582 15.612,36.456 35.052,40.359 49.415,40.359 14.439,0 33.879,-3.903 49.492,-40.359 11.633,-27.323 44.187,-109.292 51.993,-143.095 1.403,-6.167 3.59,-13.113 5.855,-20.843 2.264,-7.73 4.604,-16.162 6.48,-25.371 6.633,-32.553 7.181,-74.864 -24.67,-127.169 z m -57.535,127.169 c -7.021,0 -12.724,5.702 -12.724,12.724 0,6.944 5.702,12.647 12.724,12.647 h 43.18 c -1.395,4.742 -2.721,9.347 -3.735,13.814 -7.106,30.754 -38.43,110.016 -50.27,137.835 -9.179,21.422 -15.888,21.422 -20.79,21.422 -4.872,0 -11.535,0 -20.729,-21.46 -7.136,-16.62 -21.484,-52.352 -33.384,-85.255 h 18.358 c 7.029,0 12.724,-5.702 12.724,-12.647 0,-7.021 -5.695,-12.724 -12.724,-12.724 h -27.201 c -1.09,-3.294 -2.165,-6.541 -3.118,-9.582 -2.218,-6.9 -3.934,-12.922 -4.97,-17.527 -1.364,-5.954 -3.156,-12.03 -5.055,-18.456 -5.504,-18.632 -11.74,-39.75 -9.628,-65.236 0.061,-0.792 0.214,-1.6 0.29,-2.394 h 67.248 c 7.029,0 12.647,-5.702 12.647,-12.724 0,-6.945 -5.618,-12.648 -12.647,-12.648 H 175.78 c 3.957,-12.686 9.827,-25.653 17.725,-38.621 7.037,-11.466 21.011,-12.045 23.74,-12.045 h 77.44 c 3.842,0 16.917,0.877 23.763,11.946 27.94,45.887 25.76,80.055 20.736,104.702 -0.442,2.158 -0.968,4.155 -1.456,6.229 z" class="st0" style="fill:#000"/><polygon id="polygon1" points="259.501 20.515 260.545 71.822 248.836 71.822 248.836 0 210.062 3.423 213.965 36.478 224.371 75.245 216.565 78.668 197.049 31.927 169.718 42.189 194.7 110.588 315.451 110.588 336.263 50.163 305.036 47.876 298.534 87.786 288.127 85.506 292.031 25.082" class="st0" style="fill:#000"/></g><circle id="path2" cx="521.887" cy="45.192" r=".004" style="fill:#000;stroke:#000;stroke-width:.2"/><path id="path1-3" d="M 576,657 H -64 c -24,0 -40,-16 -40,-40 0,-24 16,-40 40,-40 h 640 c 24,0 40,16 40,40 0,24 -16,40 -40,40 z" style="stroke-width:40"/><g id="g2-7" transform="matrix(0,-3.2840933,3.2840933,0,211.59523,296.53997)"><path id="path1-5" d="M 88.79,29.297 70.702,11.209 c -1.052,-1.052 -2.756,-1.052 -3.808,0 l -49.505,49.504 0.109,0.109 -0.171,-0.046 -6.772,25.272 0.004,0.001 c -0.309,0.935 -0.103,2.004 0.642,2.748 0.822,0.822 2.038,0.993 3.033,0.531 l 0.002,0.009 25.027,-6.706 -0.016,-0.059 0.038,0.038 49.505,-49.505 c 1.052,-1.052 1.052,-2.756 0,-3.808 z m -69.998,51.85 4.022,-15.009 10.988,10.988 z"/></g></svg>
|
||||
|
Before Width: | Height: | Size: 4.0 KiB After Width: | Height: | Size: 2.9 KiB |
@@ -1,68 +1 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
|
||||
<!-- License: CC0. Made by SVG Repo: https://www.svgrepo.com/svg/150226/meal -->
|
||||
|
||||
<svg
|
||||
version="1.1"
|
||||
id="Layer_1"
|
||||
x="0px"
|
||||
y="0px"
|
||||
viewBox="0 0 512.002 512.002"
|
||||
style="enable-background:new 0 0 512.002 512.002;"
|
||||
xml:space="preserve"
|
||||
sodipodi:docname="meal-add.svg"
|
||||
inkscape:version="1.3.2 (091e20ef0f, 2023-11-25, custom)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"><defs
|
||||
id="defs8">
|
||||
|
||||
</defs><sodipodi:namedview
|
||||
id="namedview8"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#000000"
|
||||
borderopacity="0.25"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#d1d1d1"
|
||||
inkscape:zoom="1.7363213"
|
||||
inkscape:cx="256.00101"
|
||||
inkscape:cy="257.15287"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1155"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="45"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="Layer_1" />
|
||||
|
||||
<circle
|
||||
id="path2"
|
||||
style="fill:#000000;stroke:#000000;stroke-width:0.2"
|
||||
cx="521.88666"
|
||||
cy="45.191727"
|
||||
r="0.0043425169" /><g
|
||||
id="Page-1"
|
||||
stroke="none"
|
||||
stroke-width="1"
|
||||
fill="none"
|
||||
fill-rule="evenodd"
|
||||
transform="matrix(29.995699,0,0,29.995699,241.90437,1.6845255)"><g
|
||||
id="Dribbble-Light-Preview"
|
||||
transform="translate(-345,-206)"
|
||||
fill="#000000"><g
|
||||
id="icons"
|
||||
transform="translate(56,160)"><polygon
|
||||
id="plus_mini-[#1523]"
|
||||
points="298,49 298,51 294.625,51 294.625,54 292.375,54 292.375,51 289,51 289,49 292.375,49 292.375,46 294.625,46 294.625,49 " /></g></g></g><g
|
||||
id="g3"
|
||||
transform="matrix(0.95088529,0,0,0.95088529,6.6189799,110.996)">
|
||||
<g
|
||||
id="g2">
|
||||
<path
|
||||
d="M 494.434,315.678 H 463.697 C 455.367,216.327 377.063,136.575 278.357,126.001 283.158,110.85 271.813,95.459 256,95.459 c -15.83,0 -27.153,15.407 -22.357,30.542 -98.707,10.574 -177.01,90.327 -185.34,189.677 H 17.566 C 7.865,315.678 0,323.543 0,333.244 c 0,9.701 7.865,17.565 17.566,17.565 h 29.99 v 13.612 c 0,28.738 23.381,52.119 52.12,52.119 h 312.648 c 28.74,0 52.12,-23.381 52.12,-52.119 v -13.612 h 29.99 c 9.701,0 17.565,-7.865 17.565,-17.565 10e-4,-9.701 -7.864,-17.566 -17.565,-17.566 z M 112.028,273.83 c 15.615,-37.716 46.155,-68.42 83.79,-84.238 8.943,-3.761 19.24,0.444 22.999,9.387 3.759,8.944 -0.444,19.241 -9.387,23 -29.17,12.261 -52.841,36.057 -64.942,65.29 -3.706,8.953 -13.973,13.224 -22.949,9.51 -8.963,-3.712 -13.221,-13.987 -9.511,-22.949 z m 317.285,90.591 c 0,9.367 -7.621,16.988 -16.989,16.988 H 99.676 c -9.368,0 -16.989,-7.621 -16.989,-16.988 v -13.612 h 346.626 z"
|
||||
id="path1" />
|
||||
</g>
|
||||
</g></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" id="Layer_1" x="0" y="0" version="1.1" viewBox="0 0 512.002 512.002" xml:space="preserve" style="enable-background:new 0 0 512.002 512.002"><circle id="path2" cx="521.887" cy="45.192" r=".004" style="fill:#000;stroke:#000;stroke-width:.2"/><g id="Page-1" fill="none" fill-rule="evenodd" stroke="none" stroke-width="1" transform="matrix(29.995699,0,0,29.995699,241.90437,1.6845255)"><g id="Dribbble-Light-Preview" fill="#000" transform="translate(-345,-206)"><g id="icons" transform="translate(56,160)"><polygon id="plus_mini-[#1523]" points="298 49 298 51 294.625 51 294.625 54 292.375 54 292.375 51 289 51 289 49 292.375 49 292.375 46 294.625 46 294.625 49"/></g></g></g><g id="g3" transform="matrix(0.95088529,0,0,0.95088529,6.6189799,110.996)"><g id="g2"><path id="path1" d="M 494.434,315.678 H 463.697 C 455.367,216.327 377.063,136.575 278.357,126.001 283.158,110.85 271.813,95.459 256,95.459 c -15.83,0 -27.153,15.407 -22.357,30.542 -98.707,10.574 -177.01,90.327 -185.34,189.677 H 17.566 C 7.865,315.678 0,323.543 0,333.244 c 0,9.701 7.865,17.565 17.566,17.565 h 29.99 v 13.612 c 0,28.738 23.381,52.119 52.12,52.119 h 312.648 c 28.74,0 52.12,-23.381 52.12,-52.119 v -13.612 h 29.99 c 9.701,0 17.565,-7.865 17.565,-17.565 10e-4,-9.701 -7.864,-17.566 -17.565,-17.566 z M 112.028,273.83 c 15.615,-37.716 46.155,-68.42 83.79,-84.238 8.943,-3.761 19.24,0.444 22.999,9.387 3.759,8.944 -0.444,19.241 -9.387,23 -29.17,12.261 -52.841,36.057 -64.942,65.29 -3.706,8.953 -13.973,13.224 -22.949,9.51 -8.963,-3.712 -13.221,-13.987 -9.511,-22.949 z m 317.285,90.591 c 0,9.367 -7.621,16.988 -16.989,16.988 H 99.676 c -9.368,0 -16.989,-7.621 -16.989,-16.988 v -13.612 h 346.626 z"/></g></g></svg>
|
||||
|
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 1.7 KiB |
@@ -1,61 +1 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
|
||||
<!-- License: CC0. Made by SVG Repo: https://www.svgrepo.com/svg/150226/meal -->
|
||||
|
||||
<svg
|
||||
version="1.1"
|
||||
id="Layer_1"
|
||||
x="0px"
|
||||
y="0px"
|
||||
viewBox="0 0 512.002 512.002"
|
||||
style="enable-background:new 0 0 512.002 512.002;"
|
||||
xml:space="preserve"
|
||||
sodipodi:docname="meal-check.svg"
|
||||
inkscape:version="1.3.2 (091e20ef0f, 2023-11-25, custom)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"><defs
|
||||
id="defs8">
|
||||
|
||||
</defs><sodipodi:namedview
|
||||
id="namedview8"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#000000"
|
||||
borderopacity="0.25"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#d1d1d1"
|
||||
inkscape:zoom="1.7363213"
|
||||
inkscape:cx="274.43077"
|
||||
inkscape:cy="257.7288"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1155"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="45"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="Layer_1" />
|
||||
|
||||
<circle
|
||||
id="path2"
|
||||
style="fill:#000000;stroke:#000000;stroke-width:0.2"
|
||||
cx="521.88666"
|
||||
cy="45.191727"
|
||||
r="0.0043425169" /><path
|
||||
clip-rule="evenodd"
|
||||
d="M 515.875,51.622857 349.49393,218.00373 253.80627,122.31651 303.7942,72.328499 349.49393,118.02824 465.88752,1.6348403 Z"
|
||||
fill="#030708"
|
||||
fill-rule="evenodd"
|
||||
id="path1-3"
|
||||
style="stroke-width:17.6734" /><g
|
||||
id="g3"
|
||||
transform="matrix(0.96951671,0,0,0.95088529,8.306314,109.89053)">
|
||||
<g
|
||||
id="g2">
|
||||
<path
|
||||
d="M 494.434,315.678 H 463.697 C 455.367,216.327 377.063,136.575 278.357,126.001 283.158,110.85 271.813,95.459 256,95.459 c -15.83,0 -27.153,15.407 -22.357,30.542 -98.707,10.574 -177.01,90.327 -185.34,189.677 H 17.566 C 7.865,315.678 0,323.543 0,333.244 c 0,9.701 7.865,17.565 17.566,17.565 h 29.99 v 13.612 c 0,28.738 23.381,52.119 52.12,52.119 h 312.648 c 28.74,0 52.12,-23.381 52.12,-52.119 v -13.612 h 29.99 c 9.701,0 17.565,-7.865 17.565,-17.565 10e-4,-9.701 -7.864,-17.566 -17.565,-17.566 z M 112.028,273.83 c 15.615,-37.716 46.155,-68.42 83.79,-84.238 8.943,-3.761 19.24,0.444 22.999,9.387 3.759,8.944 -0.444,19.241 -9.387,23 -29.17,12.261 -52.841,36.057 -64.942,65.29 -3.706,8.953 -13.973,13.224 -22.949,9.51 -8.963,-3.712 -13.221,-13.987 -9.511,-22.949 z m 317.285,90.591 c 0,9.367 -7.621,16.988 -16.989,16.988 H 99.676 c -9.368,0 -16.989,-7.621 -16.989,-16.988 v -13.612 h 346.626 z"
|
||||
id="path1" />
|
||||
</g>
|
||||
</g></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" id="Layer_1" x="0" y="0" version="1.1" viewBox="0 0 512.002 512.002" xml:space="preserve" style="enable-background:new 0 0 512.002 512.002"><circle id="path2" cx="521.887" cy="45.192" r=".004" style="fill:#000;stroke:#000;stroke-width:.2"/><path id="path1-3" fill="#030708" fill-rule="evenodd" d="M 515.875,51.622857 349.49393,218.00373 253.80627,122.31651 303.7942,72.328499 349.49393,118.02824 465.88752,1.6348403 Z" clip-rule="evenodd" style="stroke-width:17.6734"/><g id="g3" transform="matrix(0.96951671,0,0,0.95088529,8.306314,109.89053)"><g id="g2"><path id="path1" d="M 494.434,315.678 H 463.697 C 455.367,216.327 377.063,136.575 278.357,126.001 283.158,110.85 271.813,95.459 256,95.459 c -15.83,0 -27.153,15.407 -22.357,30.542 -98.707,10.574 -177.01,90.327 -185.34,189.677 H 17.566 C 7.865,315.678 0,323.543 0,333.244 c 0,9.701 7.865,17.565 17.566,17.565 h 29.99 v 13.612 c 0,28.738 23.381,52.119 52.12,52.119 h 312.648 c 28.74,0 52.12,-23.381 52.12,-52.119 v -13.612 h 29.99 c 9.701,0 17.565,-7.865 17.565,-17.565 10e-4,-9.701 -7.864,-17.566 -17.565,-17.566 z M 112.028,273.83 c 15.615,-37.716 46.155,-68.42 83.79,-84.238 8.943,-3.761 19.24,0.444 22.999,9.387 3.759,8.944 -0.444,19.241 -9.387,23 -29.17,12.261 -52.841,36.057 -64.942,65.29 -3.706,8.953 -13.973,13.224 -22.949,9.51 -8.963,-3.712 -13.221,-13.987 -9.511,-22.949 z m 317.285,90.591 c 0,9.367 -7.621,16.988 -16.989,16.988 H 99.676 c -9.368,0 -16.989,-7.621 -16.989,-16.988 v -13.612 h 346.626 z"/></g></g></svg>
|
||||
|
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 1.5 KiB |
@@ -1,82 +1 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
|
||||
<!-- License: CC0. Made by SVG Repo: https://www.svgrepo.com/svg/150226/meal -->
|
||||
|
||||
<svg
|
||||
version="1.1"
|
||||
id="Layer_1"
|
||||
x="0px"
|
||||
y="0px"
|
||||
viewBox="0 0 512.002 512.002"
|
||||
style="enable-background:new 0 0 512.002 512.002;"
|
||||
xml:space="preserve"
|
||||
sodipodi:docname="meal-diary.svg"
|
||||
inkscape:version="1.3.2 (091e20ef0f, 2023-11-25, custom)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"><defs
|
||||
id="defs8">
|
||||
|
||||
</defs><sodipodi:namedview
|
||||
id="namedview8"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#000000"
|
||||
borderopacity="0.25"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#d1d1d1"
|
||||
inkscape:zoom="1.7363213"
|
||||
inkscape:cx="257.15287"
|
||||
inkscape:cy="257.7288"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1155"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="45"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="Layer_1" />
|
||||
|
||||
<circle
|
||||
id="path2"
|
||||
style="fill:#000000;stroke:#000000;stroke-width:0.2"
|
||||
cx="521.88666"
|
||||
cy="45.191727"
|
||||
r="0.0043425169" /><g
|
||||
id="g8-6"
|
||||
transform="matrix(0.4527684,0,0,0.4527684,296.76275,1.8149751)">
|
||||
<g
|
||||
id="g7-7">
|
||||
<g
|
||||
id="g6-5">
|
||||
<path
|
||||
d="m 380.68,372.453 c -13.938,0 -25.284,11.342 -25.284,25.301 v 54.441 l 80.034,-79.742 z"
|
||||
id="path1-3" />
|
||||
<path
|
||||
d="m 433.745,492.197 c 23.156,0 41.912,-18.76 41.912,-41.898 V 379.285 L 362.338,492.197 Z"
|
||||
id="path2-5" />
|
||||
<path
|
||||
d="M 433.745,0 H 100.255 C 77.537,0 59.15,18.11 58.486,40.653 h 39.691 c 9.479,-7.013 21.051,-10.876 33.139,-10.876 30.785,0 55.84,25.055 55.84,55.84 0,30.784 -25.055,55.826 -55.84,55.826 -11.992,0 -23.527,-3.863 -33.059,-10.84 H 58.355 v 70.543 h 39.822 c 9.479,-7.008 21.051,-10.871 33.139,-10.871 30.785,0 55.84,25.055 55.84,55.84 0,30.783 -25.055,55.84 -55.84,55.84 -11.992,0 -23.547,-3.859 -33.072,-10.854 H 58.355 v 70.543 h 39.822 c 9.492,-6.995 21.064,-10.857 33.139,-10.857 30.785,0 55.84,25.042 55.84,55.825 0,30.784 -25.055,55.84 -55.84,55.84 -11.992,0 -23.527,-3.861 -33.059,-10.84 h -39.77 c 0.715,22.524 19.082,40.586 41.77,40.586 h 221.904 v -94.445 c 0,-32.281 26.258,-58.537 58.52,-58.537 H 475.66 V 41.901 C 475.659,18.761 456.903,0 433.745,0 Z"
|
||||
id="path3-6" />
|
||||
<path
|
||||
d="m 36.577,105.68 h 71.213 c 5.68,6.588 14.115,10.84 23.527,10.84 17.07,0 30.916,-13.827 30.916,-30.902 0,-17.071 -13.846,-30.912 -30.916,-30.912 -9.412,0 -17.848,4.14 -23.527,10.872 H 36.577 c -11.066,0 -20.039,8.974 -20.039,20.04 -0.001,11.101 8.972,20.062 20.039,20.062 z"
|
||||
id="path4-2" />
|
||||
<path
|
||||
d="m 36.577,266.172 h 71.213 c 5.68,6.606 14.115,10.858 23.527,10.858 17.07,0 30.916,-13.846 30.916,-30.915 0,-17.072 -13.846,-30.916 -30.916,-30.916 -9.412,0 -17.848,4.139 -23.527,10.875 H 36.577 c -11.066,0 -20.039,8.975 -20.039,20.059 0,11.084 8.972,20.039 20.039,20.039 z"
|
||||
id="path5-9" />
|
||||
<path
|
||||
d="m 131.316,437.523 c 17.07,0 30.916,-13.839 30.916,-30.91 0,-17.074 -13.846,-30.902 -30.916,-30.902 -9.412,0 -17.848,4.141 -23.527,10.857 H 36.577 c -11.066,0 -20.039,8.975 -20.039,20.059 0,11.084 8.973,20.06 20.039,20.06 h 71.213 c 5.679,6.584 14.115,10.836 23.526,10.836 z"
|
||||
id="path6-1" />
|
||||
</g>
|
||||
</g>
|
||||
</g><g
|
||||
id="g3"
|
||||
transform="matrix(0.96722928,0,0,0.95088529,9.377261,111.69164)">
|
||||
<g
|
||||
id="g2">
|
||||
<path
|
||||
d="M 494.434,315.678 H 463.697 C 455.367,216.327 377.063,136.575 278.357,126.001 283.158,110.85 271.813,95.459 256,95.459 c -15.83,0 -27.153,15.407 -22.357,30.542 -98.707,10.574 -177.01,90.327 -185.34,189.677 H 17.566 C 7.865,315.678 0,323.543 0,333.244 c 0,9.701 7.865,17.565 17.566,17.565 h 29.99 v 13.612 c 0,28.738 23.381,52.119 52.12,52.119 h 312.648 c 28.74,0 52.12,-23.381 52.12,-52.119 v -13.612 h 29.99 c 9.701,0 17.565,-7.865 17.565,-17.565 10e-4,-9.701 -7.864,-17.566 -17.565,-17.566 z M 112.028,273.83 c 15.615,-37.716 46.155,-68.42 83.79,-84.238 8.943,-3.761 19.24,0.444 22.999,9.387 3.759,8.944 -0.444,19.241 -9.387,23 -29.17,12.261 -52.841,36.057 -64.942,65.29 -3.706,8.953 -13.973,13.224 -22.949,9.51 -8.963,-3.712 -13.221,-13.987 -9.511,-22.949 z m 317.285,90.591 c 0,9.367 -7.621,16.988 -16.989,16.988 H 99.676 c -9.368,0 -16.989,-7.621 -16.989,-16.988 v -13.612 h 346.626 z"
|
||||
id="path1" />
|
||||
</g>
|
||||
</g></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" id="Layer_1" x="0" y="0" version="1.1" viewBox="0 0 512.002 512.002" xml:space="preserve" style="enable-background:new 0 0 512.002 512.002"><circle id="path2" cx="521.887" cy="45.192" r=".004" style="fill:#000;stroke:#000;stroke-width:.2"/><g id="g8-6" transform="matrix(0.4527684,0,0,0.4527684,296.76275,1.8149751)"><g id="g7-7"><g id="g6-5"><path id="path1-3" d="m 380.68,372.453 c -13.938,0 -25.284,11.342 -25.284,25.301 v 54.441 l 80.034,-79.742 z"/><path id="path2-5" d="m 433.745,492.197 c 23.156,0 41.912,-18.76 41.912,-41.898 V 379.285 L 362.338,492.197 Z"/><path id="path3-6" d="M 433.745,0 H 100.255 C 77.537,0 59.15,18.11 58.486,40.653 h 39.691 c 9.479,-7.013 21.051,-10.876 33.139,-10.876 30.785,0 55.84,25.055 55.84,55.84 0,30.784 -25.055,55.826 -55.84,55.826 -11.992,0 -23.527,-3.863 -33.059,-10.84 H 58.355 v 70.543 h 39.822 c 9.479,-7.008 21.051,-10.871 33.139,-10.871 30.785,0 55.84,25.055 55.84,55.84 0,30.783 -25.055,55.84 -55.84,55.84 -11.992,0 -23.547,-3.859 -33.072,-10.854 H 58.355 v 70.543 h 39.822 c 9.492,-6.995 21.064,-10.857 33.139,-10.857 30.785,0 55.84,25.042 55.84,55.825 0,30.784 -25.055,55.84 -55.84,55.84 -11.992,0 -23.527,-3.861 -33.059,-10.84 h -39.77 c 0.715,22.524 19.082,40.586 41.77,40.586 h 221.904 v -94.445 c 0,-32.281 26.258,-58.537 58.52,-58.537 H 475.66 V 41.901 C 475.659,18.761 456.903,0 433.745,0 Z"/><path id="path4-2" d="m 36.577,105.68 h 71.213 c 5.68,6.588 14.115,10.84 23.527,10.84 17.07,0 30.916,-13.827 30.916,-30.902 0,-17.071 -13.846,-30.912 -30.916,-30.912 -9.412,0 -17.848,4.14 -23.527,10.872 H 36.577 c -11.066,0 -20.039,8.974 -20.039,20.04 -0.001,11.101 8.972,20.062 20.039,20.062 z"/><path id="path5-9" d="m 36.577,266.172 h 71.213 c 5.68,6.606 14.115,10.858 23.527,10.858 17.07,0 30.916,-13.846 30.916,-30.915 0,-17.072 -13.846,-30.916 -30.916,-30.916 -9.412,0 -17.848,4.139 -23.527,10.875 H 36.577 c -11.066,0 -20.039,8.975 -20.039,20.059 0,11.084 8.972,20.039 20.039,20.039 z"/><path id="path6-1" d="m 131.316,437.523 c 17.07,0 30.916,-13.839 30.916,-30.91 0,-17.074 -13.846,-30.902 -30.916,-30.902 -9.412,0 -17.848,4.141 -23.527,10.857 H 36.577 c -11.066,0 -20.039,8.975 -20.039,20.059 0,11.084 8.973,20.06 20.039,20.06 h 71.213 c 5.679,6.584 14.115,10.836 23.526,10.836 z"/></g></g></g><g id="g3" transform="matrix(0.96722928,0,0,0.95088529,9.377261,111.69164)"><g id="g2"><path id="path1" d="M 494.434,315.678 H 463.697 C 455.367,216.327 377.063,136.575 278.357,126.001 283.158,110.85 271.813,95.459 256,95.459 c -15.83,0 -27.153,15.407 -22.357,30.542 -98.707,10.574 -177.01,90.327 -185.34,189.677 H 17.566 C 7.865,315.678 0,323.543 0,333.244 c 0,9.701 7.865,17.565 17.566,17.565 h 29.99 v 13.612 c 0,28.738 23.381,52.119 52.12,52.119 h 312.648 c 28.74,0 52.12,-23.381 52.12,-52.119 v -13.612 h 29.99 c 9.701,0 17.565,-7.865 17.565,-17.565 10e-4,-9.701 -7.864,-17.566 -17.565,-17.566 z M 112.028,273.83 c 15.615,-37.716 46.155,-68.42 83.79,-84.238 8.943,-3.761 19.24,0.444 22.999,9.387 3.759,8.944 -0.444,19.241 -9.387,23 -29.17,12.261 -52.841,36.057 -64.942,65.29 -3.706,8.953 -13.973,13.224 -22.949,9.51 -8.963,-3.712 -13.221,-13.987 -9.511,-22.949 z m 317.285,90.591 c 0,9.367 -7.621,16.988 -16.989,16.988 H 99.676 c -9.368,0 -16.989,-7.621 -16.989,-16.988 v -13.612 h 346.626 z"/></g></g></svg>
|
||||
|
Before Width: | Height: | Size: 4.4 KiB After Width: | Height: | Size: 3.3 KiB |
@@ -1,64 +1 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
|
||||
<!-- License: CC0. Made by SVG Repo: https://www.svgrepo.com/svg/150226/meal -->
|
||||
|
||||
<svg
|
||||
version="1.1"
|
||||
id="Layer_1"
|
||||
x="0px"
|
||||
y="0px"
|
||||
viewBox="0 0 512.002 512.002"
|
||||
style="enable-background:new 0 0 512.002 512.002;"
|
||||
xml:space="preserve"
|
||||
sodipodi:docname="meal-edit.svg"
|
||||
inkscape:version="1.3.2 (091e20ef0f, 2023-11-25, custom)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"><defs
|
||||
id="defs8">
|
||||
|
||||
</defs><sodipodi:namedview
|
||||
id="namedview8"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#000000"
|
||||
borderopacity="0.25"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#d1d1d1"
|
||||
inkscape:zoom="1.7363213"
|
||||
inkscape:cx="257.15287"
|
||||
inkscape:cy="257.15287"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1155"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="45"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="Layer_1" />
|
||||
|
||||
<circle
|
||||
id="path2"
|
||||
style="fill:#000000;stroke:#000000;stroke-width:0.2"
|
||||
cx="521.88666"
|
||||
cy="45.191727"
|
||||
r="0.0043425169" /><path
|
||||
d="M 576,657 H -64 c -24,0 -40,-16 -40,-40 0,-24 16,-40 40,-40 h 640 c 24,0 40,16 40,40 0,24 -16,40 -40,40 z"
|
||||
id="path1-3"
|
||||
style="stroke-width:40" /><g
|
||||
id="g2-7"
|
||||
transform="matrix(0,-3.2840933,3.2840933,0,211.59523,296.53997)">
|
||||
<path
|
||||
d="M 88.79,29.297 70.702,11.209 c -1.052,-1.052 -2.756,-1.052 -3.808,0 l -49.505,49.504 0.109,0.109 -0.171,-0.046 -6.772,25.272 0.004,0.001 c -0.309,0.935 -0.103,2.004 0.642,2.748 0.822,0.822 2.038,0.993 3.033,0.531 l 0.002,0.009 25.027,-6.706 -0.016,-0.059 0.038,0.038 49.505,-49.505 c 1.052,-1.052 1.052,-2.756 0,-3.808 z m -69.998,51.85 4.022,-15.009 10.988,10.988 z"
|
||||
id="path1-5" />
|
||||
</g><g
|
||||
id="g3"
|
||||
transform="matrix(0.96951671,0,0,0.95088529,6.988638,111.33001)">
|
||||
<g
|
||||
id="g2">
|
||||
<path
|
||||
d="M 494.434,315.678 H 463.697 C 455.367,216.327 377.063,136.575 278.357,126.001 283.158,110.85 271.813,95.459 256,95.459 c -15.83,0 -27.153,15.407 -22.357,30.542 -98.707,10.574 -177.01,90.327 -185.34,189.677 H 17.566 C 7.865,315.678 0,323.543 0,333.244 c 0,9.701 7.865,17.565 17.566,17.565 h 29.99 v 13.612 c 0,28.738 23.381,52.119 52.12,52.119 h 312.648 c 28.74,0 52.12,-23.381 52.12,-52.119 v -13.612 h 29.99 c 9.701,0 17.565,-7.865 17.565,-17.565 10e-4,-9.701 -7.864,-17.566 -17.565,-17.566 z M 112.028,273.83 c 15.615,-37.716 46.155,-68.42 83.79,-84.238 8.943,-3.761 19.24,0.444 22.999,9.387 3.759,8.944 -0.444,19.241 -9.387,23 -29.17,12.261 -52.841,36.057 -64.942,65.29 -3.706,8.953 -13.973,13.224 -22.949,9.51 -8.963,-3.712 -13.221,-13.987 -9.511,-22.949 z m 317.285,90.591 c 0,9.367 -7.621,16.988 -16.989,16.988 H 99.676 c -9.368,0 -16.989,-7.621 -16.989,-16.988 v -13.612 h 346.626 z"
|
||||
id="path1" />
|
||||
</g>
|
||||
</g></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" id="Layer_1" x="0" y="0" version="1.1" viewBox="0 0 512.002 512.002" xml:space="preserve" style="enable-background:new 0 0 512.002 512.002"><circle id="path2" cx="521.887" cy="45.192" r=".004" style="fill:#000;stroke:#000;stroke-width:.2"/><path id="path1-3" d="M 576,657 H -64 c -24,0 -40,-16 -40,-40 0,-24 16,-40 40,-40 h 640 c 24,0 40,16 40,40 0,24 -16,40 -40,40 z" style="stroke-width:40"/><g id="g2-7" transform="matrix(0,-3.2840933,3.2840933,0,211.59523,296.53997)"><path id="path1-5" d="M 88.79,29.297 70.702,11.209 c -1.052,-1.052 -2.756,-1.052 -3.808,0 l -49.505,49.504 0.109,0.109 -0.171,-0.046 -6.772,25.272 0.004,0.001 c -0.309,0.935 -0.103,2.004 0.642,2.748 0.822,0.822 2.038,0.993 3.033,0.531 l 0.002,0.009 25.027,-6.706 -0.016,-0.059 0.038,0.038 49.505,-49.505 c 1.052,-1.052 1.052,-2.756 0,-3.808 z m -69.998,51.85 4.022,-15.009 10.988,10.988 z"/></g><g id="g3" transform="matrix(0.96951671,0,0,0.95088529,6.988638,111.33001)"><g id="g2"><path id="path1" d="M 494.434,315.678 H 463.697 C 455.367,216.327 377.063,136.575 278.357,126.001 283.158,110.85 271.813,95.459 256,95.459 c -15.83,0 -27.153,15.407 -22.357,30.542 -98.707,10.574 -177.01,90.327 -185.34,189.677 H 17.566 C 7.865,315.678 0,323.543 0,333.244 c 0,9.701 7.865,17.565 17.566,17.565 h 29.99 v 13.612 c 0,28.738 23.381,52.119 52.12,52.119 h 312.648 c 28.74,0 52.12,-23.381 52.12,-52.119 v -13.612 h 29.99 c 9.701,0 17.565,-7.865 17.565,-17.565 10e-4,-9.701 -7.864,-17.566 -17.565,-17.566 z M 112.028,273.83 c 15.615,-37.716 46.155,-68.42 83.79,-84.238 8.943,-3.761 19.24,0.444 22.999,9.387 3.759,8.944 -0.444,19.241 -9.387,23 -29.17,12.261 -52.841,36.057 -64.942,65.29 -3.706,8.953 -13.973,13.224 -22.949,9.51 -8.963,-3.712 -13.221,-13.987 -9.511,-22.949 z m 317.285,90.591 c 0,9.367 -7.621,16.988 -16.989,16.988 H 99.676 c -9.368,0 -16.989,-7.621 -16.989,-16.988 v -13.612 h 346.626 z"/></g></g></svg>
|
||||
|
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 1.9 KiB |
2
dart_test.yaml
Normal file
@@ -0,0 +1,2 @@
|
||||
tags:
|
||||
golden: { }
|
||||
3
devtools_options.yaml
Normal file
@@ -0,0 +1,3 @@
|
||||
extensions:
|
||||
- drift: true
|
||||
- provider: true
|
||||
@@ -1,2 +1,2 @@
|
||||
json_key_file("fastlane/metadata/android/envfiles/playstore.json")
|
||||
package_name("de.wger.flutter")
|
||||
package_name("de.wger.flutter")
|
||||
@@ -1,45 +1,3 @@
|
||||
# Release process
|
||||
|
||||
## 1. Update flutter version
|
||||
|
||||
If we use a new version, update the version used by
|
||||
|
||||
* Github Actions in `android-release.yaml` in this repository
|
||||
* Fdroid build recipe
|
||||
in [their repo](https://gitlab.com/fdroid/fdroiddata/-/blob/master/metadata/de.wger.flutter.yml).
|
||||
Since this can potentially take some time, it should happen well in advance
|
||||
|
||||
## 2. Dry-run release before uploading
|
||||
|
||||
* Increase build nr in pubspec.yaml (revert after the dry-run was successful)
|
||||
* `flutter build appbundle --release`
|
||||
* `bundle install`
|
||||
* `bundle update fastlane`
|
||||
* `bundle exec fastlane android test_configuration` (needs the different keys available)
|
||||
|
||||
It might be necessary to repeat these steps if upload_to_play_store returns any errors
|
||||
such as a missing title or similar.
|
||||
|
||||
Also note that if a language was added over the weblate UI, it might be necessary
|
||||
to set the correct language code:
|
||||
<https://support.google.com/googleplay/android-developer/answer/9844778?hl=en#zippy=%2Cview-list-of-available-languages>
|
||||
|
||||
## 3. Push tags to trigger release
|
||||
|
||||
Make sure that the commit that will be tagged was already pushed or didn't change
|
||||
any dart code, otherwise the automatic linter might push a "correction" commit
|
||||
and the build step will fail.
|
||||
|
||||
Set the vX.Y.Z tag locally, push it and delete it. It will get recreated to X.Y.Z.
|
||||
by github actions.
|
||||
|
||||
`TAG=vX.Y.Z && git tag $TAG && git push origin $TAG && git tag -d $TAG`
|
||||
|
||||
## 4. Edit release
|
||||
|
||||
If necessary, edit the created release on github
|
||||
|
||||
## 5. Merge pull requests
|
||||
|
||||
* in the flathub repo: https://github.com/flathub/de.wger.flutter
|
||||
* in the flutter repo: https://github.com/wger-project/flutter/branches
|
||||
Moved to <https://wger.readthedocs.io/en/latest/development/mobile_app.html>
|
||||
39
fastlane/metadata/android/ar/full_description.txt
Normal file
@@ -0,0 +1,39 @@
|
||||
من عُشاق اللياقة إلى عُشاق اللياقة – حان الوقت لتنظيم صحتك مع WGER، رفيقك المثالي لإدارة تمارينك!
|
||||
|
||||
هل وجدت تطبيقك الرياضي المفضل، وتستمتع بابتكار برامجك التدريبية الخاصة؟ مهما كان شغفك بالرياضة – يجمعنا قاسم مشترك: وهو شغفنا بمتابعة بياناتنا الصحية <3
|
||||
|
||||
لا تقلق إن كنت لا تزال تدير رحلتك الرياضية بدفتر ملاحظاتك التقليدي، ولكن ندعوك للانضمام إلى مستقبل اللياقة في 2025!
|
||||
|
||||
طورنا لك تطبيقًا رقميًا مجانيًا 100% لمتابعة صحتك ولياقتك، يركز على أهم الميزات الأساسية لتسهيل حياتك. ابدأ الآن، واصل تدريبك، واحتفل بكل إنجاز تحققه!
|
||||
|
||||
wger مشروع مفتوح المصدر، يتمحور حول:
|
||||
|
||||
صحة جسمك
|
||||
برامجك التدريبية
|
||||
تطورك وإنجازاتك
|
||||
بياناتك الخاصة
|
||||
صحة جسمك:
|
||||
لا داعي للبحث عن مكونات أطعمتك المفضلة، اختر وجباتك اليومية من قاعدة بيانات تضم أكثر من 78000 منتج، واطّلع على قيمها الغذائية. أضف وجباتك إلى خطتك الغذائية وتابع نظامك الغذائي بسهولة عبر التقويم.
|
||||
|
||||
برامجك التدريبية:
|
||||
أنت أدرى بما يناسب جسمك. صمّم برامجك التدريبية الخاصة بالاختيار من بين أكثر من 200 تمرين متنوع ومتجدد. ثم، استخدم "وضع النادي الرياضي" ليرشدك خلال التمرين، وسجّل أوزانك بضغطة زر واحدة.
|
||||
|
||||
تطورك وإنجازاتك:
|
||||
اجعل أهدافك نصب عينيك دائمًا. تابع وزنك وسجل إحصاءاتك بانتظام.
|
||||
|
||||
بياناتك الخاصة:
|
||||
wger بمثابة سجلك الرياضي الشخصي – ولكن بياناتك ملكك وحدك. استخدم واجهة برمجة التطبيقات (REST API) للوصول إليها واستثمارها كما تشاء.
|
||||
|
||||
ملاحظة هامة: هذا التطبيق مجاني تمامًا ولا يعتمد على أي تمويل إضافي، كما أننا لا نطلب أي تبرعات. الأهم من ذلك، أنه مشروع مجتمعي يتطور باستمرار. لذا، ترقبوا ميزات جديدة ومثيرة في أي وقت!
|
||||
|
||||
#مفتوح_المصدر – ما المقصود بذلك؟
|
||||
|
||||
مفتوح المصدر يعني أن الشفرة المصدرية الكاملة للتطبيق والخادم الخاص به متاحة ومجانية للجميع:
|
||||
|
||||
هل ترغب في تشغيل wger على خادمك الخاص أو لصالح ناديك الرياضي المحلي؟ لا تتردد!
|
||||
هل هناك ميزة تفتقدها وتريد إضافتها؟ يمكنك البدء فورًا!
|
||||
هل تريد التأكد من أن بياناتك لا تُرسل إلى أي جهة خارجية؟ لك ذلك!
|
||||
انضم إلى مجتمعنا وكن واحدًا من عشاق الرياضة وخبراء التقنية من كل أنحاء العالم. نعمل باستمرار على تطوير وتحسين التطبيق ليلائم احتياجاتنا. نرحب دائمًا بمساهماتك، فلا تتردد في مشاركتنا مقترحاتك وأفكارك في أي وقت!
|
||||
|
||||
-> تجدون الشفرة المصدرية على: https://github.com/wger-project
|
||||
-> لطرح استفساراتكم أو حتى لإلقاء التحية، انضموا إلينا على خادم ديسكورد: https://discord.gg/rPWFv6W
|
||||
|
After Width: | Height: | Size: 201 KiB |
|
After Width: | Height: | Size: 200 KiB |
|
After Width: | Height: | Size: 98 KiB |
|
After Width: | Height: | Size: 87 KiB |
|
After Width: | Height: | Size: 195 KiB |
|
After Width: | Height: | Size: 165 KiB |
|
After Width: | Height: | Size: 48 KiB |
|
After Width: | Height: | Size: 46 KiB |
|
After Width: | Height: | Size: 21 KiB |
|
After Width: | Height: | Size: 20 KiB |
|
After Width: | Height: | Size: 53 KiB |
|
After Width: | Height: | Size: 43 KiB |
|
After Width: | Height: | Size: 156 KiB |
|
After Width: | Height: | Size: 118 KiB |
|
After Width: | Height: | Size: 62 KiB |
|
After Width: | Height: | Size: 56 KiB |
|
After Width: | Height: | Size: 181 KiB |
|
After Width: | Height: | Size: 118 KiB |
1
fastlane/metadata/android/ar/short_description.txt
Normal file
@@ -0,0 +1 @@
|
||||
متتبع التمارين الرياضية، التغذية، ومراقبة الوزن
|
||||
1
fastlane/metadata/android/ar/title.txt
Normal file
@@ -0,0 +1 @@
|
||||
wger Workout Manager
|
||||
@@ -2,7 +2,7 @@ From fitness lovers to fitness lovers – get your health organized with WGER, y
|
||||
|
||||
Have you already found your #1 fitness app and do you love to create your own sports routines? No matter what type of sporty beast you are – we all have something in common: We love to keep track of our health data <3
|
||||
|
||||
So we don’t judge you for still managing your fitness journey with your handy little workout log book but welcome to 2024!
|
||||
So we don’t judge you for still managing your fitness journey with your handy little workout log book but welcome to 2025!
|
||||
|
||||
We have developed a 100% free digital health and fitness tracker app for you, sized down to the most relevant features to make your life easier. Get started, keep training and celebrate your progress!
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 219 KiB After Width: | Height: | Size: 195 KiB |
|
Before Width: | Height: | Size: 178 KiB After Width: | Height: | Size: 200 KiB |
|
Before Width: | Height: | Size: 82 KiB After Width: | Height: | Size: 106 KiB |
|
Before Width: | Height: | Size: 113 KiB After Width: | Height: | Size: 92 KiB |
|
Before Width: | Height: | Size: 214 KiB After Width: | Height: | Size: 186 KiB |
|
Before Width: | Height: | Size: 187 KiB After Width: | Height: | Size: 161 KiB |
|
Before Width: | Height: | Size: 60 KiB After Width: | Height: | Size: 49 KiB |
|
Before Width: | Height: | Size: 41 KiB After Width: | Height: | Size: 46 KiB |
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 24 KiB |
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 61 KiB After Width: | Height: | Size: 53 KiB |
|
Before Width: | Height: | Size: 47 KiB After Width: | Height: | Size: 44 KiB |
|
Before Width: | Height: | Size: 182 KiB After Width: | Height: | Size: 156 KiB |
|
Before Width: | Height: | Size: 105 KiB After Width: | Height: | Size: 116 KiB |
|
Before Width: | Height: | Size: 53 KiB After Width: | Height: | Size: 64 KiB |
|
Before Width: | Height: | Size: 70 KiB After Width: | Height: | Size: 60 KiB |
|
Before Width: | Height: | Size: 188 KiB After Width: | Height: | Size: 173 KiB |
|
Before Width: | Height: | Size: 155 KiB After Width: | Height: | Size: 117 KiB |
|
Before Width: | Height: | Size: 223 KiB After Width: | Height: | Size: 190 KiB |
|
Before Width: | Height: | Size: 180 KiB After Width: | Height: | Size: 200 KiB |
|
Before Width: | Height: | Size: 82 KiB After Width: | Height: | Size: 106 KiB |
|
Before Width: | Height: | Size: 108 KiB After Width: | Height: | Size: 89 KiB |
|
Before Width: | Height: | Size: 212 KiB After Width: | Height: | Size: 184 KiB |
|
Before Width: | Height: | Size: 177 KiB After Width: | Height: | Size: 158 KiB |
|
Before Width: | Height: | Size: 61 KiB After Width: | Height: | Size: 50 KiB |
|
Before Width: | Height: | Size: 42 KiB After Width: | Height: | Size: 46 KiB |
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 24 KiB |
|
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 60 KiB After Width: | Height: | Size: 52 KiB |
|
Before Width: | Height: | Size: 45 KiB After Width: | Height: | Size: 43 KiB |
|
Before Width: | Height: | Size: 182 KiB After Width: | Height: | Size: 154 KiB |
|
Before Width: | Height: | Size: 106 KiB After Width: | Height: | Size: 116 KiB |
|
Before Width: | Height: | Size: 52 KiB After Width: | Height: | Size: 64 KiB |
|
Before Width: | Height: | Size: 68 KiB After Width: | Height: | Size: 57 KiB |
|
Before Width: | Height: | Size: 188 KiB After Width: | Height: | Size: 176 KiB |